summaryrefslogtreecommitdiff
path: root/node_modules/autoprefixer/lib/hacks/grid-area.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/autoprefixer/lib/hacks/grid-area.js')
-rw-r--r--node_modules/autoprefixer/lib/hacks/grid-area.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/autoprefixer/lib/hacks/grid-area.js b/node_modules/autoprefixer/lib/hacks/grid-area.js
new file mode 100644
index 0000000..0a2d86c
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-area.js
@@ -0,0 +1,34 @@
+let Declaration = require('../declaration')
+let utils = require('./grid-utils')
+
+class GridArea extends Declaration {
+ /**
+ * Translate grid-area to separate -ms- prefixed properties
+ */
+ insert(decl, prefix, prefixes, result) {
+ if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)
+
+ let values = utils.parse(decl)
+
+ let [rowStart, rowSpan] = utils.translate(values, 0, 2)
+ let [columnStart, columnSpan] = utils.translate(values, 1, 3)
+
+ ;[
+ ['grid-row', rowStart],
+ ['grid-row-span', rowSpan],
+ ['grid-column', columnStart],
+ ['grid-column-span', columnSpan]
+ ].forEach(([prop, value]) => {
+ utils.insertDecl(decl, prop, value)
+ })
+
+ utils.warnTemplateSelectorNotFound(decl, result)
+ utils.warnIfGridRowColumnExists(decl, result)
+
+ return undefined
+ }
+}
+
+GridArea.names = ['grid-area']
+
+module.exports = GridArea