Spaces:
Build error
Build error
| let Declaration = require('../declaration') | |
| let { | |
| getGridGap, | |
| inheritGridGap, | |
| parseTemplate, | |
| warnGridGap, | |
| warnMissedAreas | |
| } = require('./grid-utils') | |
| class GridTemplate extends Declaration { | |
| /** | |
| * Translate grid-template to separate -ms- prefixed properties | |
| */ | |
| insert(decl, prefix, prefixes, result) { | |
| if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) | |
| if (decl.parent.some(i => i.prop === '-ms-grid-rows')) { | |
| return undefined | |
| } | |
| let gap = getGridGap(decl) | |
| /** | |
| * we must insert inherited gap values in some cases: | |
| * if we are inside media query && if we have no grid-gap value | |
| */ | |
| let inheritedGap = inheritGridGap(decl, gap) | |
| let { areas, columns, rows } = parseTemplate({ | |
| decl, | |
| gap: inheritedGap || gap | |
| }) | |
| let hasAreas = Object.keys(areas).length > 0 | |
| let hasRows = Boolean(rows) | |
| let hasColumns = Boolean(columns) | |
| warnGridGap({ | |
| decl, | |
| gap, | |
| hasColumns, | |
| result | |
| }) | |
| warnMissedAreas(areas, decl, result) | |
| if ((hasRows && hasColumns) || hasAreas) { | |
| decl.cloneBefore({ | |
| prop: '-ms-grid-rows', | |
| raws: {}, | |
| value: rows | |
| }) | |
| } | |
| if (hasColumns) { | |
| decl.cloneBefore({ | |
| prop: '-ms-grid-columns', | |
| raws: {}, | |
| value: columns | |
| }) | |
| } | |
| return decl | |
| } | |
| } | |
| GridTemplate.names = ['grid-template'] | |
| module.exports = GridTemplate | |