diff --git a/lib/hacks/grid-utils.js b/lib/hacks/grid-utils.js index 568f83d..61be0d6 100644 --- a/lib/hacks/grid-utils.js +++ b/lib/hacks/grid-utils.js @@ -604,7 +604,8 @@ function insertAreas(css, isDisabled) { Object.assign(i, { raws: { between: gridArea.raws.between - } + }, + source: gridArea.source }) ) ) @@ -626,7 +627,8 @@ function insertAreas(css, isDisabled) { Object.assign(i, { raws: { between: gridArea.raws.between - } + }, + source: gridArea.source }) ) ) @@ -661,7 +663,8 @@ function insertAreas(css, isDisabled) { Object.assign(i, { raws: { between: gridArea.raws.between - } + }, + source: gridArea.source }) ) ) @@ -683,7 +686,8 @@ function insertAreas(css, isDisabled) { Object.assign(i, { raws: { between: gridArea.raws.between - } + }, + source: gridArea.source }) ) ) @@ -732,7 +736,11 @@ function insertAreas(css, isDisabled) { .filter(p => p !== 'lastRule') .forEach(params => { if (data[params].length > 0 && lastRule) { - lastRule.after({ name: 'media', params }) + lastRule.after({ + name: 'media', + params, + source: data[params][0].source + }) lastRule.next().append(data[params]) } }) @@ -1164,8 +1172,12 @@ function autoplaceGridItems(decl, result, gap, autoflowValue = 'row') { node.selector = nodeSelector // insert prefixed row/column values - node.append({ prop: '-ms-grid-row', value: row.start }) - node.append({ prop: '-ms-grid-column', value: column.start }) + node.append({ prop: '-ms-grid-row', source: decl.source, value: row.start }) + node.append({ + prop: '-ms-grid-column', + source: decl.source, + value: column.start + }) // insert rule parent.after(node) diff --git a/test/autoprefixer.test.js b/test/autoprefixer.test.js index af1da78..e321480 100644 --- a/test/autoprefixer.test.js +++ b/test/autoprefixer.test.js @@ -1337,6 +1337,20 @@ body > .two { equal(result.css, output) }) +test('sets source for grid nodes', () => { + for (let name of [ + 'grid-template-areas', + 'grid-media-rules', + 'grid-autoplacement' + ]) { + let result = postcss([prefixer('grid')]).process(read(name), { + from: name + '.css', + map: { inline: false } + }) + equal(result.map.toJSON().sources, [name + '.css']) + } +}) + test('ignores values for CSS3PIE props', () => { let css = read('pie') equal(postcss([compiler]).process(css).css, css)