123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813 |
- function $parcel$defineInteropFlag(a) {
- Object.defineProperty(a, '__esModule', {value: true, configurable: true});
- }
- function $parcel$exportWildcard(dest, source) {
- Object.keys(source).forEach(function(key) {
- if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {
- return;
- }
- Object.defineProperty(dest, key, {
- enumerable: true,
- get: function get() {
- return source[key];
- }
- });
- });
- return dest;
- }
- function $parcel$export(e, n, v, s) {
- Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
- }
- $parcel$defineInteropFlag(module.exports);
- $parcel$export(module.exports, "parse", () => $882b6d93070905b3$export$98e6a39c04603d36);
- $parcel$export(module.exports, "stringify", () => $882b6d93070905b3$export$fac44ee5b035f737);
- $parcel$export(module.exports, "default", () => $882b6d93070905b3$export$2e2bcd8739ae039);
- var $cb508b9219b02820$exports = {};
- $parcel$defineInteropFlag($cb508b9219b02820$exports);
- $parcel$export($cb508b9219b02820$exports, "default", () => $cb508b9219b02820$export$2e2bcd8739ae039);
- class $cb508b9219b02820$export$2e2bcd8739ae039 extends Error {
- constructor(filename, msg, lineno, column, css){
- super(filename + ':' + lineno + ':' + column + ': ' + msg);
- this.reason = msg;
- this.filename = filename;
- this.line = lineno;
- this.column = column;
- this.source = css;
- }
- }
- var $4bafb28828007b46$exports = {};
- $parcel$defineInteropFlag($4bafb28828007b46$exports);
- $parcel$export($4bafb28828007b46$exports, "default", () => $4bafb28828007b46$export$2e2bcd8739ae039);
- /**
- * Store position information for a node
- */ class $4bafb28828007b46$export$2e2bcd8739ae039 {
- constructor(start, end, source){
- this.start = start;
- this.end = end;
- this.source = source;
- }
- }
- var $d103407e81c97042$exports = {};
- $parcel$export($d103407e81c97042$exports, "CssTypes", () => $d103407e81c97042$export$9be5dd6e61d5d73a);
- var $d103407e81c97042$export$9be5dd6e61d5d73a = /*#__PURE__*/ function(CssTypes) {
- CssTypes["stylesheet"] = "stylesheet";
- CssTypes["rule"] = "rule";
- CssTypes["declaration"] = "declaration";
- CssTypes["comment"] = "comment";
- CssTypes["container"] = "container";
- CssTypes["charset"] = "charset";
- CssTypes["document"] = "document";
- CssTypes["customMedia"] = "custom-media";
- CssTypes["fontFace"] = "font-face";
- CssTypes["host"] = "host";
- CssTypes["import"] = "import";
- CssTypes["keyframes"] = "keyframes";
- CssTypes["keyframe"] = "keyframe";
- CssTypes["layer"] = "layer";
- CssTypes["media"] = "media";
- CssTypes["namespace"] = "namespace";
- CssTypes["page"] = "page";
- CssTypes["startingStyle"] = "starting-style";
- CssTypes["supports"] = "supports";
- return CssTypes;
- }({});
- // http://www.w3.org/TR/CSS21/grammar.html
- // https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
- // New rule => https://www.w3.org/TR/CSS22/syndata.html#comments
- // [^] is equivalent to [.\n\r]
- const $b499486c7f02abe7$var$commentre = /\/\*[^]*?(?:\*\/|$)/g;
- const $b499486c7f02abe7$export$98e6a39c04603d36 = (css, options)=>{
- options = options || {};
- /**
- * Positional.
- */ let lineno = 1;
- let column = 1;
- /**
- * Update lineno and column based on `str`.
- */ function updatePosition(str) {
- const lines = str.match(/\n/g);
- if (lines) lineno += lines.length;
- const i = str.lastIndexOf('\n');
- column = ~i ? str.length - i : column + str.length;
- }
- /**
- * Mark position and patch `node.position`.
- */ function position() {
- const start = {
- line: lineno,
- column: column
- };
- return function(node) {
- node.position = new (0, $4bafb28828007b46$export$2e2bcd8739ae039)(start, {
- line: lineno,
- column: column
- }, options?.source || '');
- whitespace();
- return node;
- };
- }
- /**
- * Error `msg`.
- */ const errorsList = [];
- function error(msg) {
- const err = new (0, $cb508b9219b02820$export$2e2bcd8739ae039)(options?.source || '', msg, lineno, column, css);
- if (options?.silent) errorsList.push(err);
- else throw err;
- }
- /**
- * Parse stylesheet.
- */ function stylesheet() {
- const rulesList = rules();
- const result = {
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).stylesheet,
- stylesheet: {
- source: options?.source,
- rules: rulesList,
- parsingErrors: errorsList
- }
- };
- return result;
- }
- /**
- * Opening brace.
- */ function open() {
- return match(/^{\s*/);
- }
- /**
- * Closing brace.
- */ function close() {
- return match(/^}/);
- }
- /**
- * Parse ruleset.
- */ function rules() {
- let node;
- const rules = [];
- whitespace();
- comments(rules);
- while(css.length && css.charAt(0) !== '}' && (node = atrule() || rule()))if (node) {
- rules.push(node);
- comments(rules);
- }
- return rules;
- }
- /**
- * Match `re` and return captures.
- */ function match(re) {
- const m = re.exec(css);
- if (!m) return;
- const str = m[0];
- updatePosition(str);
- css = css.slice(str.length);
- return m;
- }
- /**
- * Parse whitespace.
- */ function whitespace() {
- match(/^\s*/);
- }
- /**
- * Parse comments;
- */ function comments(rules) {
- let c;
- rules = rules || [];
- while(c = comment())if (c) rules.push(c);
- return rules;
- }
- /**
- * Parse comment.
- */ function comment() {
- const pos = position();
- if ('/' !== css.charAt(0) || '*' !== css.charAt(1)) return;
- const m = match(/^\/\*[^]*?\*\//);
- if (!m) return error('End of comment missing');
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).comment,
- comment: m[0].slice(2, -2)
- });
- }
- function findClosingParenthese(str, start, depth) {
- let ptr = start + 1;
- let found = false;
- let closeParentheses = str.indexOf(')', ptr);
- while(!found && closeParentheses !== -1){
- const nextParentheses = str.indexOf('(', ptr);
- if (nextParentheses !== -1 && nextParentheses < closeParentheses) {
- const nextSearch = findClosingParenthese(str, nextParentheses + 1, depth + 1);
- ptr = nextSearch + 1;
- closeParentheses = str.indexOf(')', ptr);
- } else found = true;
- }
- if (found && closeParentheses !== -1) return closeParentheses;
- else return -1;
- }
- /**
- * Parse selector.
- */ function selector() {
- const m = match(/^([^{]+)/);
- if (!m) return;
- // remove comment in selector;
- let res = $b499486c7f02abe7$var$trim(m[0]).replace($b499486c7f02abe7$var$commentre, '');
- // Optimisation: If there is no ',' no need to split or post-process (this is less costly)
- if (res.indexOf(',') === -1) return [
- res
- ];
- // Replace all the , in the parentheses by \u200C
- let ptr = 0;
- let startParentheses = res.indexOf('(', ptr);
- while(startParentheses !== -1){
- const closeParentheses = findClosingParenthese(res, startParentheses, 0);
- if (closeParentheses === -1) break;
- ptr = closeParentheses + 1;
- res = res.substring(0, startParentheses) + res.substring(startParentheses, closeParentheses).replace(/,/g, '\u200C') + res.substring(closeParentheses);
- startParentheses = res.indexOf('(', ptr);
- }
- // Replace all the , in ' and " by \u200C
- res = res/**
- * replace ',' by \u200C for data selector (div[data-lang="fr,de,us"])
- *
- * Examples:
- * div[data-lang="fr,\"de,us"]
- * div[data-lang='fr,\'de,us']
- *
- * Regex logic:
- * ("|')(?:\\\1|.)*?\1 => Handle the " and '
- *
- * Optimization 1:
- * No greedy capture (see docs about the difference between .* and .*?)
- *
- * Optimization 2:
- * ("|')(?:\\\1|.)*?\1 this use reference to capture group, it work faster.
- */ .replace(/("|')(?:\\\1|.)*?\1/g, (m)=>m.replace(/,/g, '\u200C'));
- // Split all the left , and replace all the \u200C by ,
- return res// Split the selector by ','
- .split(',')// Replace back \u200C by ','
- .map((s)=>{
- return $b499486c7f02abe7$var$trim(s.replace(/\u200C/g, ','));
- });
- }
- /**
- * Parse declaration.
- */ function declaration() {
- const pos = position();
- // prop
- const propMatch = match(/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);
- if (!propMatch) return;
- const propValue = $b499486c7f02abe7$var$trim(propMatch[0]);
- // :
- if (!match(/^:\s*/)) return error("property missing ':'");
- // val
- const val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|[^)])*?\)|[^};])+)/);
- const ret = pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).declaration,
- property: propValue.replace($b499486c7f02abe7$var$commentre, ''),
- value: val ? $b499486c7f02abe7$var$trim(val[0]).replace($b499486c7f02abe7$var$commentre, '') : ''
- });
- // ;
- match(/^[;\s]*/);
- return ret;
- }
- /**
- * Parse declarations.
- */ function declarations() {
- const decls = [];
- if (!open()) return error("missing '{'");
- comments(decls);
- // declarations
- let decl;
- while(decl = declaration())if (decl) {
- decls.push(decl);
- comments(decls);
- }
- if (!close()) return error("missing '}'");
- return decls;
- }
- /**
- * Parse keyframe.
- */ function keyframe() {
- let m;
- const vals = [];
- const pos = position();
- while(m = match(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/)){
- vals.push(m[1]);
- match(/^,\s*/);
- }
- if (!vals.length) return;
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).keyframe,
- values: vals,
- declarations: declarations() || []
- });
- }
- /**
- * Parse keyframes.
- */ function atkeyframes() {
- const pos = position();
- const m1 = match(/^@([-\w]+)?keyframes\s*/);
- if (!m1) return;
- const vendor = m1[1];
- // identifier
- const m2 = match(/^([-\w]+)\s*/);
- if (!m2) return error('@keyframes missing name');
- const name = m2[1];
- if (!open()) return error("@keyframes missing '{'");
- let frame;
- let frames = comments();
- while(frame = keyframe()){
- frames.push(frame);
- frames = frames.concat(comments());
- }
- if (!close()) return error("@keyframes missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).keyframes,
- name: name,
- vendor: vendor,
- keyframes: frames
- });
- }
- /**
- * Parse supports.
- */ function atsupports() {
- const pos = position();
- const m = match(/^@supports *([^{]+)/);
- if (!m) return;
- const supports = $b499486c7f02abe7$var$trim(m[1]);
- if (!open()) return error("@supports missing '{'");
- const style = comments().concat(rules());
- if (!close()) return error("@supports missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).supports,
- supports: supports,
- rules: style
- });
- }
- /**
- * Parse host.
- */ function athost() {
- const pos = position();
- const m = match(/^@host\s*/);
- if (!m) return;
- if (!open()) return error("@host missing '{'");
- const style = comments().concat(rules());
- if (!close()) return error("@host missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).host,
- rules: style
- });
- }
- /**
- * Parse container.
- */ function atcontainer() {
- const pos = position();
- const m = match(/^@container *([^{]+)/);
- if (!m) return;
- const container = $b499486c7f02abe7$var$trim(m[1]);
- if (!open()) return error("@container missing '{'");
- const style = comments().concat(rules());
- if (!close()) return error("@container missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).container,
- container: container,
- rules: style
- });
- }
- /**
- * Parse container.
- */ function atlayer() {
- const pos = position();
- const m = match(/^@layer *([^{;@]+)/);
- if (!m) return;
- const layer = $b499486c7f02abe7$var$trim(m[1]);
- if (!open()) {
- match(/^[;\s]*/);
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).layer,
- layer: layer
- });
- }
- const style = comments().concat(rules());
- if (!close()) return error("@layer missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).layer,
- layer: layer,
- rules: style
- });
- }
- /**
- * Parse media.
- */ function atmedia() {
- const pos = position();
- const m = match(/^@media *([^{]+)/);
- if (!m) return;
- const media = $b499486c7f02abe7$var$trim(m[1]);
- if (!open()) return error("@media missing '{'");
- const style = comments().concat(rules());
- if (!close()) return error("@media missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).media,
- media: media,
- rules: style
- });
- }
- /**
- * Parse custom-media.
- */ function atcustommedia() {
- const pos = position();
- const m = match(/^@custom-media\s+(--\S+)\s*([^{;\s][^{;]*);/);
- if (!m) return;
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).customMedia,
- name: $b499486c7f02abe7$var$trim(m[1]),
- media: $b499486c7f02abe7$var$trim(m[2])
- });
- }
- /**
- * Parse paged media.
- */ function atpage() {
- const pos = position();
- const m = match(/^@page */);
- if (!m) return;
- const sel = selector() || [];
- if (!open()) return error("@page missing '{'");
- let decls = comments();
- // declarations
- let decl;
- while(decl = declaration()){
- decls.push(decl);
- decls = decls.concat(comments());
- }
- if (!close()) return error("@page missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).page,
- selectors: sel,
- declarations: decls
- });
- }
- /**
- * Parse document.
- */ function atdocument() {
- const pos = position();
- const m = match(/^@([-\w]+)?document *([^{]+)/);
- if (!m) return;
- const vendor = $b499486c7f02abe7$var$trim(m[1]);
- const doc = $b499486c7f02abe7$var$trim(m[2]);
- if (!open()) return error("@document missing '{'");
- const style = comments().concat(rules());
- if (!close()) return error("@document missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).document,
- document: doc,
- vendor: vendor,
- rules: style
- });
- }
- /**
- * Parse font-face.
- */ function atfontface() {
- const pos = position();
- const m = match(/^@font-face\s*/);
- if (!m) return;
- if (!open()) return error("@font-face missing '{'");
- let decls = comments();
- // declarations
- let decl;
- while(decl = declaration()){
- decls.push(decl);
- decls = decls.concat(comments());
- }
- if (!close()) return error("@font-face missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).fontFace,
- declarations: decls
- });
- }
- /**
- * Parse starting style.
- */ function atstartingstyle() {
- const pos = position();
- const m = match(/^@starting-style\s*/);
- if (!m) return;
- if (!open()) return error("@starting-style missing '{'");
- const style = comments().concat(rules());
- if (!close()) return error("@starting-style missing '}'");
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).startingStyle,
- rules: style
- });
- }
- /**
- * Parse import
- */ const atimport = _compileAtrule('import');
- /**
- * Parse charset
- */ const atcharset = _compileAtrule('charset');
- /**
- * Parse namespace
- */ const atnamespace = _compileAtrule('namespace');
- /**
- * Parse non-block at-rules
- */ function _compileAtrule(name) {
- const re = new RegExp('^@' + name + '\\s*((?::?[^;\'"]|"(?:\\\\"|[^"])*?"|\'(?:\\\\\'|[^\'])*?\')+)(?:;|$)');
- // ^@import\s*([^;"']|("|')(?:\\\2|.)*?\2)+(;|$)
- return function() {
- const pos = position();
- const m = match(re);
- if (!m) return;
- const ret = {
- type: name
- };
- ret[name] = m[1].trim();
- return pos(ret);
- };
- }
- /**
- * Parse at rule.
- */ function atrule() {
- if (css[0] !== '@') return;
- return atkeyframes() || atmedia() || atcustommedia() || atsupports() || atimport() || atcharset() || atnamespace() || atdocument() || atpage() || athost() || atfontface() || atcontainer() || atstartingstyle() || atlayer();
- }
- /**
- * Parse rule.
- */ function rule() {
- const pos = position();
- const sel = selector();
- if (!sel) return error('selector missing');
- comments();
- return pos({
- type: (0, $d103407e81c97042$export$9be5dd6e61d5d73a).rule,
- selectors: sel,
- declarations: declarations() || []
- });
- }
- return $b499486c7f02abe7$var$addParent(stylesheet());
- };
- /**
- * Trim `str`.
- */ function $b499486c7f02abe7$var$trim(str) {
- return str ? str.trim() : '';
- }
- /**
- * Adds non-enumerable parent node reference to each node.
- */ function $b499486c7f02abe7$var$addParent(obj, parent) {
- const isNode = obj && typeof obj.type === 'string';
- const childParent = isNode ? obj : parent;
- for(const k in obj){
- const value = obj[k];
- if (Array.isArray(value)) value.forEach((v)=>{
- $b499486c7f02abe7$var$addParent(v, childParent);
- });
- else if (value && typeof value === 'object') $b499486c7f02abe7$var$addParent(value, childParent);
- }
- if (isNode) Object.defineProperty(obj, 'parent', {
- configurable: true,
- writable: true,
- enumerable: false,
- value: parent || null
- });
- return obj;
- }
- var $b499486c7f02abe7$export$2e2bcd8739ae039 = $b499486c7f02abe7$export$98e6a39c04603d36;
- class $24dc7e49cb76910e$var$Compiler {
- constructor(options){
- this.level = 0;
- this.indentation = ' ';
- this.compress = false;
- if (typeof options?.indent === 'string') this.indentation = options?.indent;
- if (options?.compress) this.compress = true;
- }
- // We disable no-unused-vars for _position. We keep position for potential reintroduction of source-map
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- emit(str, _position) {
- return str;
- }
- /**
- * Increase, decrease or return current indentation.
- */ indent(level) {
- this.level = this.level || 1;
- if (level) {
- this.level += level;
- return '';
- }
- return Array(this.level).join(this.indentation);
- }
- visit(node) {
- switch(node.type){
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).stylesheet:
- return this.stylesheet(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).rule:
- return this.rule(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).declaration:
- return this.declaration(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).comment:
- return this.comment(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).container:
- return this.container(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).charset:
- return this.charset(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).document:
- return this.document(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).customMedia:
- return this.customMedia(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).fontFace:
- return this.fontFace(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).host:
- return this.host(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).import:
- return this.import(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).keyframes:
- return this.keyframes(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).keyframe:
- return this.keyframe(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).layer:
- return this.layer(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).media:
- return this.media(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).namespace:
- return this.namespace(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).page:
- return this.page(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).startingStyle:
- return this.startingStyle(node);
- case (0, $d103407e81c97042$export$9be5dd6e61d5d73a).supports:
- return this.supports(node);
- }
- }
- mapVisit(nodes, delim) {
- let buf = '';
- delim = delim || '';
- for(let i = 0, length = nodes.length; i < length; i++){
- buf += this.visit(nodes[i]);
- if (delim && i < length - 1) buf += this.emit(delim);
- }
- return buf;
- }
- compile(node) {
- if (this.compress) return node.stylesheet.rules.map(this.visit, this).join('');
- return this.stylesheet(node);
- }
- /**
- * Visit stylesheet node.
- */ stylesheet(node) {
- return this.mapVisit(node.stylesheet.rules, '\n\n');
- }
- /**
- * Visit comment node.
- */ comment(node) {
- if (this.compress) return this.emit('', node.position);
- return this.emit(this.indent() + '/*' + node.comment + '*/', node.position);
- }
- /**
- * Visit container node.
- */ container(node) {
- if (this.compress) return this.emit('@container ' + node.container, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}');
- return this.emit(this.indent() + '@container ' + node.container, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit('\n' + this.indent(-1) + this.indent() + '}');
- }
- /**
- * Visit container node.
- */ layer(node) {
- if (this.compress) return this.emit('@layer ' + node.layer, node.position) + (node.rules ? this.emit('{') + this.mapVisit(node.rules) + this.emit('}') : ';');
- return this.emit(this.indent() + '@layer ' + node.layer, node.position) + (node.rules ? this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit('\n' + this.indent(-1) + this.indent() + '}') : ';');
- }
- /**
- * Visit import node.
- */ import(node) {
- return this.emit('@import ' + node.import + ';', node.position);
- }
- /**
- * Visit media node.
- */ media(node) {
- if (this.compress) return this.emit('@media ' + node.media, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}');
- return this.emit(this.indent() + '@media ' + node.media, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit('\n' + this.indent(-1) + this.indent() + '}');
- }
- /**
- * Visit document node.
- */ document(node) {
- const doc = '@' + (node.vendor || '') + 'document ' + node.document;
- if (this.compress) return this.emit(doc, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}');
- return this.emit(doc, node.position) + this.emit(" {\n" + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}');
- }
- /**
- * Visit charset node.
- */ charset(node) {
- return this.emit('@charset ' + node.charset + ';', node.position);
- }
- /**
- * Visit namespace node.
- */ namespace(node) {
- return this.emit('@namespace ' + node.namespace + ';', node.position);
- }
- /**
- * Visit container node.
- */ startingStyle(node) {
- if (this.compress) return this.emit('@starting-style', node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}');
- return this.emit(this.indent() + '@starting-style', node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit('\n' + this.indent(-1) + this.indent() + '}');
- }
- /**
- * Visit supports node.
- */ supports(node) {
- if (this.compress) return this.emit('@supports ' + node.supports, node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}');
- return this.emit(this.indent() + '@supports ' + node.supports, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit('\n' + this.indent(-1) + this.indent() + '}');
- }
- /**
- * Visit keyframes node.
- */ keyframes(node) {
- if (this.compress) return this.emit('@' + (node.vendor || '') + 'keyframes ' + node.name, node.position) + this.emit('{') + this.mapVisit(node.keyframes) + this.emit('}');
- return this.emit('@' + (node.vendor || '') + 'keyframes ' + node.name, node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.keyframes, '\n') + this.emit(this.indent(-1) + '}');
- }
- /**
- * Visit keyframe node.
- */ keyframe(node) {
- const decls = node.declarations;
- if (this.compress) return this.emit(node.values.join(','), node.position) + this.emit('{') + this.mapVisit(decls) + this.emit('}');
- return this.emit(this.indent()) + this.emit(node.values.join(', '), node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(decls, '\n') + this.emit(this.indent(-1) + '\n' + this.indent() + '}\n');
- }
- /**
- * Visit page node.
- */ page(node) {
- if (this.compress) {
- const sel = node.selectors.length ? node.selectors.join(', ') : '';
- return this.emit('@page ' + sel, node.position) + this.emit('{') + this.mapVisit(node.declarations) + this.emit('}');
- }
- const sel = node.selectors.length ? node.selectors.join(', ') + ' ' : '';
- return this.emit('@page ' + sel, node.position) + this.emit('{\n') + this.emit(this.indent(1)) + this.mapVisit(node.declarations, '\n') + this.emit(this.indent(-1)) + this.emit('\n}');
- }
- /**
- * Visit font-face node.
- */ fontFace(node) {
- if (this.compress) return this.emit('@font-face', node.position) + this.emit('{') + this.mapVisit(node.declarations) + this.emit('}');
- return this.emit('@font-face ', node.position) + this.emit('{\n') + this.emit(this.indent(1)) + this.mapVisit(node.declarations, '\n') + this.emit(this.indent(-1)) + this.emit('\n}');
- }
- /**
- * Visit host node.
- */ host(node) {
- if (this.compress) return this.emit('@host', node.position) + this.emit('{') + this.mapVisit(node.rules) + this.emit('}');
- return this.emit('@host', node.position) + this.emit(' {\n' + this.indent(1)) + this.mapVisit(node.rules, '\n\n') + this.emit(this.indent(-1) + '\n}');
- }
- /**
- * Visit custom-media node.
- */ customMedia(node) {
- return this.emit('@custom-media ' + node.name + ' ' + node.media + ';', node.position);
- }
- /**
- * Visit rule node.
- */ rule(node) {
- const decls = node.declarations;
- if (!decls.length) return '';
- if (this.compress) return this.emit(node.selectors.join(','), node.position) + this.emit('{') + this.mapVisit(decls) + this.emit('}');
- const indent = this.indent();
- return this.emit(node.selectors.map((s)=>{
- return indent + s;
- }).join(',\n'), node.position) + this.emit(' {\n') + this.emit(this.indent(1)) + this.mapVisit(decls, '\n') + this.emit(this.indent(-1)) + this.emit('\n' + this.indent() + '}');
- }
- /**
- * Visit declaration node.
- */ declaration(node) {
- if (this.compress) return this.emit(node.property + ':' + node.value, node.position) + this.emit(';');
- return this.emit(this.indent()) + this.emit(node.property + ': ' + node.value, node.position) + this.emit(';');
- }
- }
- var $24dc7e49cb76910e$export$2e2bcd8739ae039 = $24dc7e49cb76910e$var$Compiler;
- var $fd680ce0c35731f5$export$2e2bcd8739ae039 = (node, options)=>{
- const compiler = new (0, $24dc7e49cb76910e$export$2e2bcd8739ae039)(options || {});
- return compiler.compile(node);
- };
- const $882b6d93070905b3$export$98e6a39c04603d36 = (0, $b499486c7f02abe7$export$2e2bcd8739ae039);
- const $882b6d93070905b3$export$fac44ee5b035f737 = (0, $fd680ce0c35731f5$export$2e2bcd8739ae039);
- var $882b6d93070905b3$export$2e2bcd8739ae039 = {
- parse: $882b6d93070905b3$export$98e6a39c04603d36,
- stringify: $882b6d93070905b3$export$fac44ee5b035f737
- };
- $parcel$exportWildcard(module.exports, $d103407e81c97042$exports);
- $parcel$exportWildcard(module.exports, $cb508b9219b02820$exports);
- $parcel$exportWildcard(module.exports, $4bafb28828007b46$exports);
- //# sourceMappingURL=index.cjs.map
|