{"version":3,"file":"cssTools.js","mappings":"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","sources":["webpack://@adobe/css-tools/./src/CssParseError.ts","webpack://@adobe/css-tools/./src/CssPosition.ts","webpack://@adobe/css-tools/./src/index.ts","webpack://@adobe/css-tools/./src/parse/index.ts","webpack://@adobe/css-tools/./src/stringify/compiler.ts","webpack://@adobe/css-tools/./src/stringify/index.ts","webpack://@adobe/css-tools/./src/type.ts","webpack://@adobe/css-tools/webpack/bootstrap","webpack://@adobe/css-tools/webpack/startup"],"sourcesContent":["export default class CssParseError extends Error {\n readonly reason: string;\n readonly filename?: string;\n readonly line: number;\n readonly column: number;\n readonly source: string;\n\n constructor(\n filename: string,\n msg: string,\n lineno: number,\n column: number,\n css: string\n ) {\n super(filename + ':' + lineno + ':' + column + ': ' + msg);\n this.reason = msg;\n this.filename = filename;\n this.line = lineno;\n this.column = column;\n this.source = css;\n }\n}\n","/**\n * Store position information for a node\n */\nexport default class Position {\n start: {line: number; column: number};\n end: {line: number; column: number};\n source?: string;\n\n constructor(\n start: {line: number; column: number},\n end: {line: number; column: number},\n source: string\n ) {\n this.start = start;\n this.end = end;\n this.source = source;\n }\n}\n","export {default as parse} from './parse';\nexport {default as stringify} from './stringify';\nexport * from './type';\nexport * from './CssParseError';\nexport * from './CssPosition';\n","import CssParseError from '../CssParseError';\nimport Position from '../CssPosition';\nimport {\n CssAtRuleAST,\n CssCharsetAST,\n CssCommentAST,\n CssCommonPositionAST,\n CssCustomMediaAST,\n CssDeclarationAST,\n CssDocumentAST,\n CssFontFaceAST,\n CssHostAST,\n CssImportAST,\n CssKeyframeAST,\n CssKeyframesAST,\n CssMediaAST,\n CssNamespaceAST,\n CssPageAST,\n CssRuleAST,\n CssStylesheetAST,\n CssSupportsAST,\n CssTypes,\n} from '../type';\n\n// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nconst commentre = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nexport const parse = (\n css: string,\n options?: {source?: string; silent?: boolean}\n): CssStylesheetAST => {\n options = options || {};\n\n /**\n * Positional.\n */\n let lineno = 1;\n let column = 1;\n\n /**\n * Update lineno and column based on `str`.\n */\n function updatePosition(str: string) {\n const lines = str.match(/\\n/g);\n if (lines) lineno += lines.length;\n const i = str.lastIndexOf('\\n');\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n */\n function position() {\n const start = {line: lineno, column: column};\n return function (\n node: Omit\n ): T1 {\n (node as T1).position = new Position(\n start,\n {line: lineno, column: column},\n options?.source || ''\n );\n whitespace();\n return node as T1;\n };\n }\n\n /**\n * Error `msg`.\n */\n const errorsList: Array = [];\n\n function error(msg: string) {\n const err = new CssParseError(\n options?.source || '',\n msg,\n lineno,\n column,\n css\n );\n\n if (options?.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Parse stylesheet.\n */\n function stylesheet(): CssStylesheetAST {\n const rulesList = rules();\n\n const result: CssStylesheetAST = {\n type: CssTypes.stylesheet,\n stylesheet: {\n source: options?.source,\n rules: rulesList,\n parsingErrors: errorsList,\n },\n };\n\n return result;\n }\n\n /**\n * Opening brace.\n */\n function open() {\n return match(/^{\\s*/);\n }\n\n /**\n * Closing brace.\n */\n function close() {\n return match(/^}/);\n }\n\n /**\n * Parse ruleset.\n */\n function rules() {\n let node: CssRuleAST | CssAtRuleAST | void;\n const rules: Array = [];\n whitespace();\n comments(rules);\n while (css.length && css.charAt(0) !== '}' && (node = atrule() || rule())) {\n if (node) {\n rules.push(node);\n comments(rules);\n }\n }\n return rules;\n }\n\n /**\n * Match `re` and return captures.\n */\n function match(re: RegExp) {\n const m = re.exec(css);\n if (!m) {\n return;\n }\n const str = m[0];\n updatePosition(str);\n css = css.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(/^\\s*/);\n }\n\n /**\n * Parse comments;\n */\n function comments(\n rules?: Array\n ) {\n let c;\n rules = rules || [];\n while ((c = comment())) {\n if (c) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n */\n function comment(): CssCommentAST | void {\n const pos = position();\n if ('/' !== css.charAt(0) || '*' !== css.charAt(1)) {\n return;\n }\n\n const m = match(/^\\/\\*[^]*?\\*\\//);\n if (!m) {\n return error('End of comment missing');\n }\n\n return pos({\n type: CssTypes.comment,\n comment: m[0].slice(2, -2),\n });\n }\n\n /**\n * Parse selector.\n */\n function selector() {\n const m = match(/^([^{]+)/);\n if (!m) {\n return;\n }\n\n // remove comment in selector; [^] is equivalent to [.\\n\\r]\n const res = trim(m[0]).replace(/\\/\\*[^]*?\\*\\//gm, '');\n\n // Optimisation: If there is no ',' no need to split or post-process (this is less costly)\n if (res.indexOf(',') === -1) {\n return [res];\n }\n\n return (\n res\n /**\n * replace ',' by \\u200C for data selector (div[data-lang=\"fr,de,us\"])\n * replace ',' by \\u200C for nthChild and other selector (div:nth-child(2,3,4))\n *\n * Examples:\n * div[data-lang=\"fr,\\\"de,us\"]\n * div[data-lang='fr,\\'de,us']\n * div:matches(.toto, .titi:matches(.toto, .titi))\n *\n * Regex logic:\n * (\"|')(?:\\\\\\1|.)*?,(?:\\\\\\1|.)*?\\1 => Handle the \" and '\n * \\(.*?,.*?\\) => Handle the ()\n *\n * Optimization 0:\n * No greedy capture (see docs about the difference between .* and .*?)\n *\n * Optimization 1:\n * \\(.*?,.*?\\) instead of \\(.*?\\) to limit the number of replace (don't need to replace if , is not in the string)\n *\n * Optimization 2:\n * (\"|')(?:\\\\\\1|.)*?,(?:\\\\\\1|.)*?\\1 this use reference to capture group, it work faster.\n */\n .replace(/(\"|')(?:\\\\\\1|.)*?,(?:\\\\\\1|.)*?\\1|\\(.*?,.*?\\)/g, m =>\n m.replace(/,/g, '\\u200C')\n )\n // Split the selector by ','\n .split(',')\n // Replace back \\u200C by ','\n .map(s => {\n return trim(s.replace(/\\u200C/g, ','));\n })\n );\n }\n\n /**\n * Parse declaration.\n */\n function declaration(): CssDeclarationAST | void {\n const pos = position();\n\n // prop\n const propMatch = match(/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/);\n if (!propMatch) {\n return;\n }\n const propValue = trim(propMatch[0]);\n\n // :\n if (!match(/^:\\s*/)) {\n return error(\"property missing ':'\");\n }\n\n // val\n const val = match(/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/);\n\n const ret = pos({\n type: CssTypes.declaration,\n property: propValue.replace(commentre, ''),\n value: val ? trim(val[0]).replace(commentre, '') : '',\n });\n\n // ;\n match(/^[;\\s]*/);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n */\n function declarations() {\n const decls: Array = [];\n\n if (!open()) {\n return error(\"missing '{'\");\n }\n comments(decls);\n\n // declarations\n let decl;\n while ((decl = declaration())) {\n if (decl) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n if (!close()) {\n return error(\"missing '}'\");\n }\n return decls;\n }\n\n /**\n * Parse keyframe.\n */\n function keyframe() {\n let m;\n const vals = [];\n const pos = position();\n\n while ((m = match(/^((\\d+\\.\\d+|\\.\\d+|\\d+)%?|[a-z]+)\\s*/))) {\n vals.push(m[1]);\n match(/^,\\s*/);\n }\n\n if (!vals.length) {\n return;\n }\n\n return pos({\n type: CssTypes.keyframe,\n values: vals,\n declarations: declarations() || [],\n });\n }\n\n /**\n * Parse keyframes.\n */\n function atkeyframes(): CssKeyframesAST | void {\n const pos = position();\n const m1 = match(/^@([-\\w]+)?keyframes\\s*/);\n\n if (!m1) {\n return;\n }\n const vendor = m1[1];\n\n // identifier\n const m2 = match(/^([-\\w]+)\\s*/);\n if (!m2) {\n return error('@keyframes missing name');\n }\n const name = m2[1];\n\n if (!open()) {\n return error(\"@keyframes missing '{'\");\n }\n\n let frame;\n let frames: Array = comments();\n while ((frame = keyframe())) {\n frames.push(frame);\n frames = frames.concat(comments());\n }\n\n if (!close()) {\n return error(\"@keyframes missing '}'\");\n }\n\n return pos({\n type: CssTypes.keyframes,\n name: name,\n vendor: vendor,\n keyframes: frames,\n });\n }\n\n /**\n * Parse supports.\n */\n function atsupports(): CssSupportsAST | void {\n const pos = position();\n const m = match(/^@supports *([^{]+)/);\n\n if (!m) {\n return;\n }\n const supports = trim(m[1]);\n\n if (!open()) {\n return error(\"@supports missing '{'\");\n }\n\n const style = comments().concat(rules());\n\n if (!close()) {\n return error(\"@supports missing '}'\");\n }\n\n return pos({\n type: CssTypes.supports,\n supports: supports,\n rules: style,\n });\n }\n\n /**\n * Parse host.\n */\n function athost() {\n const pos = position();\n const m = match(/^@host\\s*/);\n\n if (!m) {\n return;\n }\n\n if (!open()) {\n return error(\"@host missing '{'\");\n }\n\n const style = comments().concat(rules());\n\n if (!close()) {\n return error(\"@host missing '}'\");\n }\n\n return pos({\n type: CssTypes.host,\n rules: style,\n });\n }\n\n /**\n * Parse media.\n */\n function atmedia(): CssMediaAST | void {\n const pos = position();\n const m = match(/^@media *([^{]+)/);\n\n if (!m) {\n return;\n }\n const media = trim(m[1]);\n\n if (!open()) {\n return error(\"@media missing '{'\");\n }\n\n const style = comments().concat(rules());\n\n if (!close()) {\n return error(\"@media missing '}'\");\n }\n\n return pos({\n type: CssTypes.media,\n media: media,\n rules: style,\n });\n }\n\n /**\n * Parse custom-media.\n */\n function atcustommedia(): CssCustomMediaAST | void {\n const pos = position();\n const m = match(/^@custom-media\\s+(--[^\\s]+)\\s*([^{;]+);/);\n if (!m) {\n return;\n }\n\n return pos({\n type: CssTypes.customMedia,\n name: trim(m[1]),\n media: trim(m[2]),\n });\n }\n\n /**\n * Parse paged media.\n */\n function atpage(): CssPageAST | void {\n const pos = position();\n const m = match(/^@page */);\n if (!m) {\n return;\n }\n\n const sel = selector() || [];\n\n if (!open()) {\n return error(\"@page missing '{'\");\n }\n let decls = comments();\n\n // declarations\n let decl;\n while ((decl = declaration())) {\n decls.push(decl);\n decls = decls.concat(comments());\n }\n\n if (!close()) {\n return error(\"@page missing '}'\");\n }\n\n return pos({\n type: CssTypes.page,\n selectors: sel,\n declarations: decls,\n });\n }\n\n /**\n * Parse document.\n */\n function atdocument(): CssDocumentAST | void {\n const pos = position();\n const m = match(/^@([-\\w]+)?document *([^{]+)/);\n if (!m) {\n return;\n }\n\n const vendor = trim(m[1]);\n const doc = trim(m[2]);\n\n if (!open()) {\n return error(\"@document missing '{'\");\n }\n\n const style = comments().concat(rules());\n\n if (!close()) {\n return error(\"@document missing '}'\");\n }\n\n return pos({\n type: CssTypes.document,\n document: doc,\n vendor: vendor,\n rules: style,\n });\n }\n\n /**\n * Parse font-face.\n */\n function atfontface(): CssFontFaceAST | void {\n const pos = position();\n const m = match(/^@font-face\\s*/);\n if (!m) {\n return;\n }\n\n if (!open()) {\n return error(\"@font-face missing '{'\");\n }\n let decls = comments();\n\n // declarations\n let decl;\n while ((decl = declaration())) {\n decls.push(decl);\n decls = decls.concat(comments());\n }\n\n if (!close()) {\n return error(\"@font-face missing '}'\");\n }\n\n return pos({\n type: CssTypes.fontFace,\n declarations: decls,\n });\n }\n\n /**\n * Parse import\n */\n const atimport = _compileAtrule('import');\n\n /**\n * Parse charset\n */\n const atcharset = _compileAtrule('charset');\n\n /**\n * Parse namespace\n */\n const atnamespace = _compileAtrule('namespace');\n\n /**\n * Parse non-block at-rules\n */\n function _compileAtrule(\n name: string\n ): () => T1 | void {\n const re = new RegExp('^@' + name + '\\\\s*([^;]+);');\n return function (): T1 | void {\n const pos = position();\n const m = match(re);\n if (!m) {\n return;\n }\n const ret: Record = {type: name};\n ret[name] = m[1].trim();\n return pos(ret as unknown as T1) as T1;\n };\n }\n\n /**\n * Parse at rule.\n */\n function atrule(): CssAtRuleAST | void {\n if (css[0] !== '@') {\n return;\n }\n\n return (\n atkeyframes() ||\n atmedia() ||\n atcustommedia() ||\n atsupports() ||\n atimport() ||\n atcharset() ||\n atnamespace() ||\n atdocument() ||\n atpage() ||\n athost() ||\n atfontface()\n );\n }\n\n /**\n * Parse rule.\n */\n function rule() {\n const pos = position();\n const sel = selector();\n\n if (!sel) {\n return error('selector missing');\n }\n comments();\n\n return pos({\n type: CssTypes.rule,\n selectors: sel,\n declarations: declarations() || [],\n });\n }\n\n return addParent(stylesheet());\n};\n\n/**\n * Trim `str`.\n */\nfunction trim(str: string) {\n return str ? str.trim() : '';\n}\n\n/**\n * Adds non-enumerable parent node reference to each node.\n */\nfunction addParent(obj: T1, parent?: unknown): T1 {\n const isNode = obj && typeof obj.type === 'string';\n const childParent = isNode ? obj : parent;\n\n for (const k in obj) {\n const value = obj[k];\n if (Array.isArray(value)) {\n value.forEach(v => {\n addParent(v, childParent);\n });\n } else if (value && typeof value === 'object') {\n addParent(value, childParent);\n }\n }\n\n if (isNode) {\n Object.defineProperty(obj, 'parent', {\n configurable: true,\n writable: true,\n enumerable: false,\n value: parent || null,\n });\n }\n\n return obj;\n}\n\nexport default parse;\n","import {\n CssAllNodesAST,\n CssCharsetAST,\n CssCommentAST,\n CssCommonPositionAST,\n CssCustomMediaAST,\n CssDeclarationAST,\n CssDocumentAST,\n CssFontFaceAST,\n CssHostAST,\n CssImportAST,\n CssKeyframeAST,\n CssKeyframesAST,\n CssMediaAST,\n CssNamespaceAST,\n CssPageAST,\n CssRuleAST,\n CssStylesheetAST,\n CssSupportsAST,\n CssTypes,\n} from '../type';\n\nclass Compiler {\n level = 0;\n indentation = ' ';\n compress = false;\n\n constructor(options?: {indent?: string; compress?: boolean}) {\n if (typeof options?.indent === 'string') {\n this.indentation = options?.indent;\n }\n if (options?.compress) {\n this.compress = true;\n }\n }\n\n // We disable no-unused-vars for _position. We keep position for potential reintroduction of source-map\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n emit(str: string, _position?: CssCommonPositionAST['position']) {\n return str;\n }\n\n /**\n * Increase, decrease or return current indentation.\n */\n indent(level?: number) {\n this.level = this.level || 1;\n\n if (level) {\n this.level += level;\n return '';\n }\n\n return Array(this.level).join(this.indentation);\n }\n\n visit(node: CssAllNodesAST): string {\n switch (node.type) {\n case CssTypes.stylesheet:\n return this.stylesheet(node);\n case CssTypes.rule:\n return this.rule(node);\n case CssTypes.declaration:\n return this.declaration(node);\n case CssTypes.comment:\n return this.comment(node);\n case CssTypes.charset:\n return this.charset(node);\n case CssTypes.document:\n return this.document(node);\n case CssTypes.customMedia:\n return this.customMedia(node);\n case CssTypes.fontFace:\n return this.fontFace(node);\n case CssTypes.host:\n return this.host(node);\n case CssTypes.import:\n return this.import(node);\n case CssTypes.keyframes:\n return this.keyframes(node);\n case CssTypes.keyframe:\n return this.keyframe(node);\n case CssTypes.media:\n return this.media(node);\n case CssTypes.namespace:\n return this.namespace(node);\n case CssTypes.page:\n return this.page(node);\n case CssTypes.supports:\n return this.supports(node);\n }\n }\n\n mapVisit(nodes: Array, delim?: string) {\n let buf = '';\n delim = delim || '';\n\n for (let i = 0, length = nodes.length; i < length; i++) {\n buf += this.visit(nodes[i]);\n if (delim && i < length - 1) {\n buf += this.emit(delim);\n }\n }\n\n return buf;\n }\n\n compile(node: CssStylesheetAST) {\n if (this.compress) {\n return node.stylesheet.rules.map(this.visit, this).join('');\n }\n\n return this.stylesheet(node);\n }\n\n /**\n * Visit stylesheet node.\n */\n stylesheet(node: CssStylesheetAST) {\n return this.mapVisit(node.stylesheet.rules, '\\n\\n');\n }\n\n /**\n * Visit comment node.\n */\n comment(node: CssCommentAST) {\n if (this.compress) {\n return this.emit('', node.position);\n }\n return this.emit(this.indent() + '/*' + node.comment + '*/', node.position);\n }\n\n /**\n * Visit import node.\n */\n import(node: CssImportAST) {\n return this.emit('@import ' + node.import + ';', node.position);\n }\n\n /**\n * Visit media node.\n */\n media(node: CssMediaAST) {\n if (this.compress) {\n return (\n this.emit('@media ' + node.media, node.position) +\n this.emit('{') +\n this.mapVisit(node.rules) +\n this.emit('}')\n );\n }\n return (\n this.emit('@media ' + node.media, node.position) +\n this.emit(' {\\n' + this.indent(1)) +\n this.mapVisit(node.rules, '\\n\\n') +\n this.emit(this.indent(-1) + '\\n}')\n );\n }\n\n /**\n * Visit document node.\n */\n document(node: CssDocumentAST) {\n const doc = '@' + (node.vendor || '') + 'document ' + node.document;\n if (this.compress) {\n return (\n this.emit(doc, node.position) +\n this.emit('{') +\n this.mapVisit(node.rules) +\n this.emit('}')\n );\n }\n return (\n this.emit(doc, node.position) +\n this.emit(' ' + ' {\\n' + this.indent(1)) +\n this.mapVisit(node.rules, '\\n\\n') +\n this.emit(this.indent(-1) + '\\n}')\n );\n }\n\n /**\n * Visit charset node.\n */\n charset(node: CssCharsetAST) {\n return this.emit('@charset ' + node.charset + ';', node.position);\n }\n\n /**\n * Visit namespace node.\n */\n namespace(node: CssNamespaceAST) {\n return this.emit('@namespace ' + node.namespace + ';', node.position);\n }\n\n /**\n * Visit supports node.\n */\n supports(node: CssSupportsAST) {\n if (this.compress) {\n return (\n this.emit('@supports ' + node.supports, node.position) +\n this.emit('{') +\n this.mapVisit(node.rules) +\n this.emit('}')\n );\n }\n return (\n this.emit('@supports ' + node.supports, node.position) +\n this.emit(' {\\n' + this.indent(1)) +\n this.mapVisit(node.rules, '\\n\\n') +\n this.emit(this.indent(-1) + '\\n}')\n );\n }\n\n /**\n * Visit keyframes node.\n */\n keyframes(node: CssKeyframesAST) {\n if (this.compress) {\n return (\n this.emit(\n '@' + (node.vendor || '') + 'keyframes ' + node.name,\n node.position\n ) +\n this.emit('{') +\n this.mapVisit(node.keyframes) +\n this.emit('}')\n );\n }\n return (\n this.emit(\n '@' + (node.vendor || '') + 'keyframes ' + node.name,\n node.position\n ) +\n this.emit(' {\\n' + this.indent(1)) +\n this.mapVisit(node.keyframes, '\\n') +\n this.emit(this.indent(-1) + '}')\n );\n }\n\n /**\n * Visit keyframe node.\n */\n keyframe(node: CssKeyframeAST) {\n const decls = node.declarations;\n if (this.compress) {\n return (\n this.emit(node.values.join(','), node.position) +\n this.emit('{') +\n this.mapVisit(decls) +\n this.emit('}')\n );\n }\n\n return (\n this.emit(this.indent()) +\n this.emit(node.values.join(', '), node.position) +\n this.emit(' {\\n' + this.indent(1)) +\n this.mapVisit(decls, '\\n') +\n this.emit(this.indent(-1) + '\\n' + this.indent() + '}\\n')\n );\n }\n\n /**\n * Visit page node.\n */\n page(node: CssPageAST) {\n if (this.compress) {\n const sel = node.selectors.length ? node.selectors.join(', ') : '';\n\n return (\n this.emit('@page ' + sel, node.position) +\n this.emit('{') +\n this.mapVisit(node.declarations) +\n this.emit('}')\n );\n }\n const sel = node.selectors.length ? node.selectors.join(', ') + ' ' : '';\n\n return (\n this.emit('@page ' + sel, node.position) +\n this.emit('{\\n') +\n this.emit(this.indent(1)) +\n this.mapVisit(node.declarations, '\\n') +\n this.emit(this.indent(-1)) +\n this.emit('\\n}')\n );\n }\n\n /**\n * Visit font-face node.\n */\n fontFace(node: CssFontFaceAST) {\n if (this.compress) {\n return (\n this.emit('@font-face', node.position) +\n this.emit('{') +\n this.mapVisit(node.declarations) +\n this.emit('}')\n );\n }\n return (\n this.emit('@font-face ', node.position) +\n this.emit('{\\n') +\n this.emit(this.indent(1)) +\n this.mapVisit(node.declarations, '\\n') +\n this.emit(this.indent(-1)) +\n this.emit('\\n}')\n );\n }\n\n /**\n * Visit host node.\n */\n host(node: CssHostAST) {\n if (this.compress) {\n return (\n this.emit('@host', node.position) +\n this.emit('{') +\n this.mapVisit(node.rules) +\n this.emit('}')\n );\n }\n return (\n this.emit('@host', node.position) +\n this.emit(' {\\n' + this.indent(1)) +\n this.mapVisit(node.rules, '\\n\\n') +\n this.emit(this.indent(-1) + '\\n}')\n );\n }\n\n /**\n * Visit custom-media node.\n */\n customMedia(node: CssCustomMediaAST) {\n return this.emit(\n '@custom-media ' + node.name + ' ' + node.media + ';',\n node.position\n );\n }\n\n /**\n * Visit rule node.\n */\n rule(node: CssRuleAST) {\n const decls = node.declarations;\n if (!decls.length) {\n return '';\n }\n\n if (this.compress) {\n return (\n this.emit(node.selectors.join(','), node.position) +\n this.emit('{') +\n this.mapVisit(decls) +\n this.emit('}')\n );\n }\n const indent = this.indent();\n\n return (\n this.emit(\n node.selectors\n .map(s => {\n return indent + s;\n })\n .join(',\\n'),\n node.position\n ) +\n this.emit(' {\\n') +\n this.emit(this.indent(1)) +\n this.mapVisit(decls, '\\n') +\n this.emit(this.indent(-1)) +\n this.emit('\\n' + this.indent() + '}')\n );\n }\n\n /**\n * Visit declaration node.\n */\n declaration(node: CssDeclarationAST) {\n if (this.compress) {\n return (\n this.emit(node.property + ':' + node.value, node.position) +\n this.emit(';')\n );\n }\n return (\n this.emit(this.indent()) +\n this.emit(node.property + ': ' + node.value, node.position) +\n this.emit(';')\n );\n }\n}\n\nexport default Compiler;\n","import {CssStylesheetAST} from '../type';\nimport Compiler from './compiler';\n\nexport default (\n node: CssStylesheetAST,\n options?: ConstructorParameters[0]\n) => {\n const compiler = new Compiler(options || {});\n return compiler.compile(node);\n};\n","import CssParseError from './CssParseError';\nimport Position from './CssPosition';\n\nexport enum CssTypes {\n stylesheet = 'stylesheet',\n rule = 'rule',\n declaration = 'declaration',\n comment = 'comment',\n charset = 'charset',\n document = 'document',\n customMedia = 'custom-media',\n fontFace = 'font-face',\n host = 'host',\n import = 'import',\n keyframes = 'keyframes',\n keyframe = 'keyframe',\n media = 'media',\n namespace = 'namespace',\n page = 'page',\n supports = 'supports',\n}\n\nexport type CssCommonAST = {\n type: CssTypes;\n};\n\nexport type CssCommonPositionAST = CssCommonAST & {\n position?: Position;\n parent?: unknown;\n};\n\nexport type CssStylesheetAST = CssCommonAST & {\n type: CssTypes.stylesheet;\n stylesheet: {\n source?: string;\n rules: Array;\n parsingErrors?: Array;\n };\n};\n\nexport type CssRuleAST = CssCommonPositionAST & {\n type: CssTypes.rule;\n selectors: Array;\n declarations: Array;\n};\n\nexport type CssDeclarationAST = CssCommonPositionAST & {\n type: CssTypes.declaration;\n property: string;\n value: string;\n};\n\nexport type CssCommentAST = CssCommonPositionAST & {\n type: CssTypes.comment;\n comment: string;\n};\n\nexport type CssCharsetAST = CssCommonPositionAST & {\n type: CssTypes.charset;\n charset: string;\n};\nexport type CssCustomMediaAST = CssCommonPositionAST & {\n type: CssTypes.customMedia;\n name: string;\n media: string;\n};\nexport type CssDocumentAST = CssCommonPositionAST & {\n type: CssTypes.document;\n document: string;\n vendor?: string;\n rules: Array;\n};\nexport type CssFontFaceAST = CssCommonPositionAST & {\n type: CssTypes.fontFace;\n declarations: Array;\n};\nexport type CssHostAST = CssCommonPositionAST & {\n type: CssTypes.host;\n rules: Array;\n};\nexport type CssImportAST = CssCommonPositionAST & {\n type: CssTypes.import;\n import: string;\n};\nexport type CssKeyframesAST = CssCommonPositionAST & {\n type: CssTypes.keyframes;\n name: string;\n vendor?: string;\n keyframes: Array;\n};\nexport type CssKeyframeAST = CssCommonPositionAST & {\n type: CssTypes.keyframe;\n values: Array;\n declarations: Array;\n};\nexport type CssMediaAST = CssCommonPositionAST & {\n type: CssTypes.media;\n media: string;\n rules: Array;\n};\nexport type CssNamespaceAST = CssCommonPositionAST & {\n type: CssTypes.namespace;\n namespace: string;\n};\nexport type CssPageAST = CssCommonPositionAST & {\n type: CssTypes.page;\n selectors: Array;\n declarations: Array;\n};\nexport type CssSupportsAST = CssCommonPositionAST & {\n type: CssTypes.supports;\n supports: string;\n rules: Array;\n};\n\nexport type CssAtRuleAST =\n | CssRuleAST\n | CssCommentAST\n | CssCharsetAST\n | CssCustomMediaAST\n | CssDocumentAST\n | CssFontFaceAST\n | CssHostAST\n | CssImportAST\n | CssKeyframesAST\n | CssMediaAST\n | CssNamespaceAST\n | CssPageAST\n | CssSupportsAST;\n\nexport type CssAllNodesAST =\n | CssAtRuleAST\n | CssStylesheetAST\n | CssDeclarationAST\n | CssKeyframeAST;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(607);\n"],"names":["CssParseError","Error","constructor","filename","msg","lineno","column","css","super","this","reason","line","source","start","end","default","commentre","trim","str","addParent","obj","parent","isNode","type","childParent","k","value","Array","isArray","forEach","v","Object","defineProperty","configurable","writable","enumerable","parse","options","position","node","whitespace","errorsList","error","err","silent","push","open","match","close","rules","comments","length","charAt","atrule","rule","re","m","exec","lines","i","lastIndexOf","updatePosition","slice","c","comment","pos","CssTypes","selector","res","replace","indexOf","split","map","s","declaration","propMatch","propValue","val","ret","property","declarations","decls","decl","keyframe","vals","values","atimport","_compileAtrule","atcharset","atnamespace","name","RegExp","m1","vendor","m2","frame","frames","concat","keyframes","atkeyframes","media","style","atmedia","customMedia","atcustommedia","supports","atsupports","doc","document","atdocument","sel","page","selectors","atpage","host","athost","fontFace","atfontface","rulesList","stylesheet","parsingErrors","level","indentation","compress","indent","emit","_position","join","visit","charset","import","namespace","mapVisit","nodes","delim","buf","compile","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call"],"sourceRoot":""}