{"version":3,"file":"dist-index.cjs","sources":["../../../../../../../node_modules/@codemirror/lang-css/dist/index.js"],"sourcesContent":["import { parser } from '@lezer/css';\nimport { syntaxTree, LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { NodeWeakMap, IterMode } from '@lezer/common';\n\nlet _properties = null;\nfunction properties() {\n    if (!_properties && typeof document == \"object\" && document.body) {\n        let { style } = document.body, names = [], seen = new Set;\n        for (let prop in style)\n            if (prop != \"cssText\" && prop != \"cssFloat\") {\n                if (typeof style[prop] == \"string\") {\n                    if (/[A-Z]/.test(prop))\n                        prop = prop.replace(/[A-Z]/g, ch => \"-\" + ch.toLowerCase());\n                    if (!seen.has(prop)) {\n                        names.push(prop);\n                        seen.add(prop);\n                    }\n                }\n            }\n        _properties = names.sort().map(name => ({ type: \"property\", label: name, apply: name + \": \" }));\n    }\n    return _properties || [];\n}\nconst pseudoClasses = /*@__PURE__*/[\n    \"active\", \"after\", \"any-link\", \"autofill\", \"backdrop\", \"before\",\n    \"checked\", \"cue\", \"default\", \"defined\", \"disabled\", \"empty\",\n    \"enabled\", \"file-selector-button\", \"first\", \"first-child\",\n    \"first-letter\", \"first-line\", \"first-of-type\", \"focus\",\n    \"focus-visible\", \"focus-within\", \"fullscreen\", \"has\", \"host\",\n    \"host-context\", \"hover\", \"in-range\", \"indeterminate\", \"invalid\",\n    \"is\", \"lang\", \"last-child\", \"last-of-type\", \"left\", \"link\", \"marker\",\n    \"modal\", \"not\", \"nth-child\", \"nth-last-child\", \"nth-last-of-type\",\n    \"nth-of-type\", \"only-child\", \"only-of-type\", \"optional\", \"out-of-range\",\n    \"part\", \"placeholder\", \"placeholder-shown\", \"read-only\", \"read-write\",\n    \"required\", \"right\", \"root\", \"scope\", \"selection\", \"slotted\", \"target\",\n    \"target-text\", \"valid\", \"visited\", \"where\"\n].map(name => ({ type: \"class\", label: name }));\nconst values = /*@__PURE__*/[\n    \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"after-white-space\",\n    \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\", \"always\",\n    \"antialiased\", \"appworkspace\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\",\n    \"avoid-page\", \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\",\n    \"bidi-override\", \"blink\", \"block\", \"block-axis\", \"bold\", \"bolder\", \"border\", \"border-box\",\n    \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"bullets\", \"button\", \"button-bevel\",\n    \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"capitalize\",\n    \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\", \"cell\", \"center\", \"checkbox\", \"circle\",\n    \"cjk-decimal\", \"clear\", \"clip\", \"close-quote\", \"col-resize\", \"collapse\", \"color\", \"color-burn\",\n    \"color-dodge\", \"column\", \"column-reverse\", \"compact\", \"condensed\", \"contain\", \"content\",\n    \"contents\", \"content-box\", \"context-menu\", \"continuous\", \"copy\", \"counter\", \"counters\", \"cover\",\n    \"crop\", \"cross\", \"crosshair\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n    \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\", \"destination-in\",\n    \"destination-out\", \"destination-over\", \"difference\", \"disc\", \"discard\", \"disclosure-closed\",\n    \"disclosure-open\", \"document\", \"dot-dash\", \"dot-dot-dash\", \"dotted\", \"double\", \"down\", \"e-resize\",\n    \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\", \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\",\n    \"ethiopic-abegede-gez\", \"ethiopic-halehame-aa-er\", \"ethiopic-halehame-gez\", \"ew-resize\", \"exclusion\",\n    \"expanded\", \"extends\", \"extra-condensed\", \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\",\n    \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\", \"forwards\", \"from\",\n    \"geometricPrecision\", \"graytext\", \"grid\", \"groove\", \"hand\", \"hard-light\", \"help\", \"hidden\", \"hide\",\n    \"higher\", \"highlight\", \"highlighttext\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"icon\", \"ignore\",\n    \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\", \"infobackground\", \"infotext\",\n    \"inherit\", \"initial\", \"inline\", \"inline-axis\", \"inline-block\", \"inline-flex\", \"inline-grid\",\n    \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\", \"italic\", \"justify\", \"keep-all\",\n    \"landscape\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\", \"line-through\", \"linear\",\n    \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\", \"local\", \"logical\", \"loud\", \"lower\",\n    \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\", \"lowercase\", \"ltr\", \"luminosity\", \"manipulation\",\n    \"match\", \"matrix\", \"matrix3d\", \"medium\", \"menu\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n    \"mix\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"n-resize\", \"narrower\",\n    \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\", \"no-open-quote\", \"no-repeat\", \"none\",\n    \"normal\", \"not-allowed\", \"nowrap\", \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\",\n    \"oblique\", \"opacity\", \"open-quote\", \"optimizeLegibility\", \"optimizeSpeed\", \"outset\", \"outside\",\n    \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\", \"painted\", \"page\", \"paused\",\n    \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\", \"pointer\", \"polygon\", \"portrait\",\n    \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\", \"progress\", \"push-button\", \"radial-gradient\", \"radio\",\n    \"read-only\", \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\", \"relative\", \"repeat\",\n    \"repeating-linear-gradient\", \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n    \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\", \"rotateZ\", \"round\",\n    \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\", \"s-resize\", \"sans-serif\", \"saturation\",\n    \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\", \"scroll\", \"scrollbar\", \"scroll-position\",\n    \"se-resize\", \"self-start\", \"self-end\", \"semi-condensed\", \"semi-expanded\", \"separate\", \"serif\", \"show\",\n    \"single\", \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n    \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\", \"small\", \"small-caps\",\n    \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"source-atop\", \"source-in\", \"source-out\",\n    \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\", \"start\",\n    \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\", \"subpixel-antialiased\", \"svg_masks\",\n    \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\", \"table-caption\", \"table-cell\",\n    \"table-column\", \"table-column-group\", \"table-footer-group\", \"table-header-group\", \"table-row\",\n    \"table-row-group\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thick\", \"thin\",\n    \"threeddarkshadow\", \"threedface\", \"threedhighlight\", \"threedlightshadow\", \"threedshadow\", \"to\", \"top\",\n    \"transform\", \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\", \"transparent\",\n    \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\", \"upper-latin\",\n    \"uppercase\", \"url\", \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\",\n    \"visiblePainted\", \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\", \"window\", \"windowframe\",\n    \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\", \"xx-large\", \"xx-small\"\n].map(name => ({ type: \"keyword\", label: name })).concat(/*@__PURE__*/[\n    \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n    \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n    \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n    \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n    \"darkgray\", \"darkgreen\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n    \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n    \"darkslateblue\", \"darkslategray\", \"darkturquoise\", \"darkviolet\",\n    \"deeppink\", \"deepskyblue\", \"dimgray\", \"dodgerblue\", \"firebrick\",\n    \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n    \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n    \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n    \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n    \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightpink\",\n    \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\",\n    \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n    \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n    \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n    \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n    \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n    \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n    \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n    \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n    \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n    \"slateblue\", \"slategray\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n    \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n    \"whitesmoke\", \"yellow\", \"yellowgreen\"\n].map(name => ({ type: \"constant\", label: name })));\nconst tags = /*@__PURE__*/[\n    \"a\", \"abbr\", \"address\", \"article\", \"aside\", \"b\", \"bdi\", \"bdo\", \"blockquote\", \"body\",\n    \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"dd\", \"del\",\n    \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"figcaption\", \"figure\", \"footer\",\n    \"form\", \"header\", \"hgroup\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"hr\", \"html\", \"i\", \"iframe\",\n    \"img\", \"input\", \"ins\", \"kbd\", \"label\", \"legend\", \"li\", \"main\", \"meter\", \"nav\", \"ol\", \"output\",\n    \"p\", \"pre\", \"ruby\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"sub\", \"summary\",\n    \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"tr\", \"u\", \"ul\"\n].map(name => ({ type: \"type\", label: name }));\nconst atRules = /*@__PURE__*/[\n    \"@charset\", \"@color-profile\", \"@container\", \"@counter-style\", \"@font-face\", \"@font-feature-values\",\n    \"@font-palette-values\", \"@import\", \"@keyframes\", \"@layer\", \"@media\", \"@namespace\", \"@page\",\n    \"@position-try\", \"@property\", \"@scope\", \"@starting-style\", \"@supports\", \"@view-transition\"\n].map(label => ({ type: \"keyword\", label }));\nconst identifier = /^(\\w[\\w-]*|-\\w[\\w-]*|)$/, variable = /^-(-[\\w-]*)?$/;\nfunction isVarArg(node, doc) {\n    var _a;\n    if (node.name == \"(\" || node.type.isError)\n        node = node.parent || node;\n    if (node.name != \"ArgList\")\n        return false;\n    let callee = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.firstChild;\n    if ((callee === null || callee === void 0 ? void 0 : callee.name) != \"Callee\")\n        return false;\n    return doc.sliceString(callee.from, callee.to) == \"var\";\n}\nconst VariablesByNode = /*@__PURE__*/new NodeWeakMap();\nconst declSelector = [\"Declaration\"];\nfunction astTop(node) {\n    for (let cur = node;;) {\n        if (cur.type.isTop)\n            return cur;\n        if (!(cur = cur.parent))\n            return node;\n    }\n}\nfunction variableNames(doc, node, isVariable) {\n    if (node.to - node.from > 4096) {\n        let known = VariablesByNode.get(node);\n        if (known)\n            return known;\n        let result = [], seen = new Set, cursor = node.cursor(IterMode.IncludeAnonymous);\n        if (cursor.firstChild())\n            do {\n                for (let option of variableNames(doc, cursor.node, isVariable))\n                    if (!seen.has(option.label)) {\n                        seen.add(option.label);\n                        result.push(option);\n                    }\n            } while (cursor.nextSibling());\n        VariablesByNode.set(node, result);\n        return result;\n    }\n    else {\n        let result = [], seen = new Set;\n        node.cursor().iterate(node => {\n            var _a;\n            if (isVariable(node) && node.matchContext(declSelector) && ((_a = node.node.nextSibling) === null || _a === void 0 ? void 0 : _a.name) == \":\") {\n                let name = doc.sliceString(node.from, node.to);\n                if (!seen.has(name)) {\n                    seen.add(name);\n                    result.push({ label: name, type: \"variable\" });\n                }\n            }\n        });\n        return result;\n    }\n}\n/**\nCreate a completion source for a CSS dialect, providing a\npredicate for determining what kind of syntax node can act as a\ncompletable variable. This is used by language modes like Sass and\nLess to reuse this package's completion logic.\n*/\nconst defineCSSCompletionSource = (isVariable) => context => {\n    let { state, pos } = context, node = syntaxTree(state).resolveInner(pos, -1);\n    let isDash = node.type.isError && node.from == node.to - 1 && state.doc.sliceString(node.from, node.to) == \"-\";\n    if (node.name == \"PropertyName\" ||\n        (isDash || node.name == \"TagName\") && /^(Block|Styles)$/.test(node.resolve(node.to).name))\n        return { from: node.from, options: properties(), validFor: identifier };\n    if (node.name == \"ValueName\")\n        return { from: node.from, options: values, validFor: identifier };\n    if (node.name == \"PseudoClassName\")\n        return { from: node.from, options: pseudoClasses, validFor: identifier };\n    if (isVariable(node) || (context.explicit || isDash) && isVarArg(node, state.doc))\n        return { from: isVariable(node) || isDash ? node.from : pos,\n            options: variableNames(state.doc, astTop(node), isVariable),\n            validFor: variable };\n    if (node.name == \"TagName\") {\n        for (let { parent } = node; parent; parent = parent.parent)\n            if (parent.name == \"Block\")\n                return { from: node.from, options: properties(), validFor: identifier };\n        return { from: node.from, options: tags, validFor: identifier };\n    }\n    if (node.name == \"AtKeyword\")\n        return { from: node.from, options: atRules, validFor: identifier };\n    if (!context.explicit)\n        return null;\n    let above = node.resolve(pos), before = above.childBefore(pos);\n    if (before && before.name == \":\" && above.name == \"PseudoClassSelector\")\n        return { from: pos, options: pseudoClasses, validFor: identifier };\n    if (before && before.name == \":\" && above.name == \"Declaration\" || above.name == \"ArgList\")\n        return { from: pos, options: values, validFor: identifier };\n    if (above.name == \"Block\" || above.name == \"Styles\")\n        return { from: pos, options: properties(), validFor: identifier };\n    return null;\n};\n/**\nCSS property, variable, and value keyword completion source.\n*/\nconst cssCompletionSource = /*@__PURE__*/defineCSSCompletionSource(n => n.name == \"VariableName\");\n\n/**\nA language provider based on the [Lezer CSS\nparser](https://github.com/lezer-parser/css), extended with\nhighlighting and indentation information.\n*/\nconst cssLanguage = /*@__PURE__*/LRLanguage.define({\n    name: \"css\",\n    parser: /*@__PURE__*/parser.configure({\n        props: [\n            /*@__PURE__*/indentNodeProp.add({\n                Declaration: /*@__PURE__*/continuedIndent()\n            }),\n            /*@__PURE__*/foldNodeProp.add({\n                \"Block KeyframeList\": foldInside\n            })\n        ]\n    }),\n    languageData: {\n        commentTokens: { block: { open: \"/*\", close: \"*/\" } },\n        indentOnInput: /^\\s*\\}$/,\n        wordChars: \"-\"\n    }\n});\n/**\nLanguage support for CSS.\n*/\nfunction css() {\n    return new LanguageSupport(cssLanguage, cssLanguage.data.of({ autocomplete: cssCompletionSource }));\n}\n\nexport { css, cssCompletionSource, cssLanguage, defineCSSCompletionSource };\n"],"names":["NodeWeakMap","IterMode","node","syntaxTree","LRLanguage","parser","indentNodeProp","continuedIndent","foldNodeProp","foldInside","LanguageSupport"],"mappings":"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","x_google_ignoreList":[0]}