@pyreon/code 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/lib/analysis/index.js.html +5406 -0
  3. package/lib/dist-B5vB-rif.js +3904 -0
  4. package/lib/dist-B5vB-rif.js.map +1 -0
  5. package/lib/dist-BAfzu5eu.js +1428 -0
  6. package/lib/dist-BAfzu5eu.js.map +1 -0
  7. package/lib/dist-BLlV_D16.js +1166 -0
  8. package/lib/dist-BLlV_D16.js.map +1 -0
  9. package/lib/dist-BNmKLTu8.js +373 -0
  10. package/lib/dist-BNmKLTu8.js.map +1 -0
  11. package/lib/dist-BZtTlC1J.js +692 -0
  12. package/lib/dist-BZtTlC1J.js.map +1 -0
  13. package/lib/dist-CTDqGIAf.js +856 -0
  14. package/lib/dist-CTDqGIAf.js.map +1 -0
  15. package/lib/dist-CTPisNZp.js +83 -0
  16. package/lib/dist-CTPisNZp.js.map +1 -0
  17. package/lib/dist-Ce2tvOxv.js +379 -0
  18. package/lib/dist-Ce2tvOxv.js.map +1 -0
  19. package/lib/dist-CttF0OTv.js +465 -0
  20. package/lib/dist-CttF0OTv.js.map +1 -0
  21. package/lib/dist-DS2tluW9.js +818 -0
  22. package/lib/dist-DS2tluW9.js.map +1 -0
  23. package/lib/dist-DUNx9ldu.js +460 -0
  24. package/lib/dist-DUNx9ldu.js.map +1 -0
  25. package/lib/dist-Dej_yf3k.js +473 -0
  26. package/lib/dist-Dej_yf3k.js.map +1 -0
  27. package/lib/dist-DshStUxU.js +283 -0
  28. package/lib/dist-DshStUxU.js.map +1 -0
  29. package/lib/dist-qTrOe7xY.js +461 -0
  30. package/lib/dist-qTrOe7xY.js.map +1 -0
  31. package/lib/dist-v09vikKr.js +2421 -0
  32. package/lib/dist-v09vikKr.js.map +1 -0
  33. package/lib/index.js +915 -0
  34. package/lib/index.js.map +1 -0
  35. package/lib/types/dist.d.ts +798 -0
  36. package/lib/types/dist.d.ts.map +1 -0
  37. package/lib/types/dist10.d.ts +67 -0
  38. package/lib/types/dist10.d.ts.map +1 -0
  39. package/lib/types/dist11.d.ts +126 -0
  40. package/lib/types/dist11.d.ts.map +1 -0
  41. package/lib/types/dist12.d.ts +21 -0
  42. package/lib/types/dist12.d.ts.map +1 -0
  43. package/lib/types/dist13.d.ts +404 -0
  44. package/lib/types/dist13.d.ts.map +1 -0
  45. package/lib/types/dist14.d.ts +292 -0
  46. package/lib/types/dist14.d.ts.map +1 -0
  47. package/lib/types/dist15.d.ts +132 -0
  48. package/lib/types/dist15.d.ts.map +1 -0
  49. package/lib/types/dist2.d.ts +15 -0
  50. package/lib/types/dist2.d.ts.map +1 -0
  51. package/lib/types/dist3.d.ts +106 -0
  52. package/lib/types/dist3.d.ts.map +1 -0
  53. package/lib/types/dist4.d.ts +67 -0
  54. package/lib/types/dist4.d.ts.map +1 -0
  55. package/lib/types/dist5.d.ts +95 -0
  56. package/lib/types/dist5.d.ts.map +1 -0
  57. package/lib/types/dist6.d.ts +330 -0
  58. package/lib/types/dist6.d.ts.map +1 -0
  59. package/lib/types/dist7.d.ts +15 -0
  60. package/lib/types/dist7.d.ts.map +1 -0
  61. package/lib/types/dist8.d.ts +15 -0
  62. package/lib/types/dist8.d.ts.map +1 -0
  63. package/lib/types/dist9.d.ts +635 -0
  64. package/lib/types/dist9.d.ts.map +1 -0
  65. package/lib/types/index.d.ts +852 -0
  66. package/lib/types/index.d.ts.map +1 -0
  67. package/lib/types/index2.d.ts +347 -0
  68. package/lib/types/index2.d.ts.map +1 -0
  69. package/package.json +79 -0
  70. package/src/components/code-editor.tsx +42 -0
  71. package/src/components/diff-editor.tsx +97 -0
  72. package/src/components/tabbed-editor.tsx +86 -0
  73. package/src/editor.ts +652 -0
  74. package/src/index.ts +52 -0
  75. package/src/languages.ts +77 -0
  76. package/src/minimap.ts +160 -0
  77. package/src/tabbed-editor.ts +231 -0
  78. package/src/tests/code.test.ts +505 -0
  79. package/src/themes.ts +87 -0
  80. package/src/types.ts +253 -0
@@ -0,0 +1,1166 @@
1
+ import { t as __exportAll } from "./index.js";
2
+ import { a as ExternalTokenizer, c as IterMode, f as NodeWeakMap, n as styleTags, o as LRParser, r as tags$1, s as LocalTokenGroup } from "./dist-B5vB-rif.js";
3
+ import { LRLanguage, LanguageSupport, continuedIndent, foldInside, foldNodeProp, indentNodeProp, syntaxTree } from "@codemirror/language";
4
+
5
+ //#region ../../node_modules/.bun/@lezer+css@1.3.2/node_modules/@lezer/css/dist/index.js
6
+ const descendantOp = 132, Unit = 1, identifier$1 = 133, callee = 134, VariableName = 2, queryIdentifier = 135, queryVariableName = 3, QueryCallee = 4;
7
+ const space = [
8
+ 9,
9
+ 10,
10
+ 11,
11
+ 12,
12
+ 13,
13
+ 32,
14
+ 133,
15
+ 160,
16
+ 5760,
17
+ 8192,
18
+ 8193,
19
+ 8194,
20
+ 8195,
21
+ 8196,
22
+ 8197,
23
+ 8198,
24
+ 8199,
25
+ 8200,
26
+ 8201,
27
+ 8202,
28
+ 8232,
29
+ 8233,
30
+ 8239,
31
+ 8287,
32
+ 12288
33
+ ];
34
+ const colon = 58, parenL = 40, underscore = 95, bracketL = 91, dash = 45, period = 46, hash = 35, percent = 37, ampersand = 38, backslash = 92, newline = 10, asterisk = 42;
35
+ function isAlpha(ch) {
36
+ return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 161;
37
+ }
38
+ function isDigit(ch) {
39
+ return ch >= 48 && ch <= 57;
40
+ }
41
+ function isHex(ch) {
42
+ return isDigit(ch) || ch >= 97 && ch <= 102 || ch >= 65 && ch <= 70;
43
+ }
44
+ const identifierTokens = (id, varName, callee) => (input, stack) => {
45
+ for (let inside = false, dashes = 0, i = 0;; i++) {
46
+ let { next } = input;
47
+ if (isAlpha(next) || next == dash || next == underscore || inside && isDigit(next)) {
48
+ if (!inside && (next != dash || i > 0)) inside = true;
49
+ if (dashes === i && next == dash) dashes++;
50
+ input.advance();
51
+ } else if (next == backslash && input.peek(1) != newline) {
52
+ input.advance();
53
+ if (isHex(input.next)) {
54
+ do
55
+ input.advance();
56
+ while (isHex(input.next));
57
+ if (input.next == 32) input.advance();
58
+ } else if (input.next > -1) input.advance();
59
+ inside = true;
60
+ } else {
61
+ if (inside) input.acceptToken(dashes == 2 && stack.canShift(VariableName) ? varName : next == parenL ? callee : id);
62
+ break;
63
+ }
64
+ }
65
+ };
66
+ const identifiers = new ExternalTokenizer(identifierTokens(identifier$1, VariableName, callee), { contextual: true });
67
+ const queryIdentifiers = new ExternalTokenizer(identifierTokens(queryIdentifier, queryVariableName, QueryCallee), { contextual: true });
68
+ const descendant = new ExternalTokenizer((input) => {
69
+ if (space.includes(input.peek(-1))) {
70
+ let { next } = input;
71
+ if (isAlpha(next) || next == underscore || next == hash || next == period || next == asterisk || next == bracketL || next == colon && isAlpha(input.peek(1)) || next == dash || next == ampersand) input.acceptToken(descendantOp);
72
+ }
73
+ });
74
+ const unitToken = new ExternalTokenizer((input) => {
75
+ if (!space.includes(input.peek(-1))) {
76
+ let { next } = input;
77
+ if (next == percent) {
78
+ input.advance();
79
+ input.acceptToken(Unit);
80
+ }
81
+ if (isAlpha(next)) {
82
+ do
83
+ input.advance();
84
+ while (isAlpha(input.next) || isDigit(input.next));
85
+ input.acceptToken(Unit);
86
+ }
87
+ }
88
+ });
89
+ const cssHighlighting = styleTags({
90
+ "AtKeyword import charset namespace keyframes media supports font-feature-values": tags$1.definitionKeyword,
91
+ "from to selector scope MatchFlag": tags$1.keyword,
92
+ NamespaceName: tags$1.namespace,
93
+ KeyframeName: tags$1.labelName,
94
+ KeyframeRangeName: tags$1.operatorKeyword,
95
+ TagName: tags$1.tagName,
96
+ ClassName: tags$1.className,
97
+ PseudoClassName: tags$1.constant(tags$1.className),
98
+ IdName: tags$1.labelName,
99
+ "FeatureName PropertyName": tags$1.propertyName,
100
+ AttributeName: tags$1.attributeName,
101
+ NumberLiteral: tags$1.number,
102
+ KeywordQuery: tags$1.keyword,
103
+ UnaryQueryOp: tags$1.operatorKeyword,
104
+ "CallTag ValueName FontName": tags$1.atom,
105
+ VariableName: tags$1.variableName,
106
+ Callee: tags$1.operatorKeyword,
107
+ Unit: tags$1.unit,
108
+ "UniversalSelector NestingSelector": tags$1.definitionOperator,
109
+ "MatchOp CompareOp": tags$1.compareOperator,
110
+ "ChildOp SiblingOp, LogicOp": tags$1.logicOperator,
111
+ BinOp: tags$1.arithmeticOperator,
112
+ Important: tags$1.modifier,
113
+ Comment: tags$1.blockComment,
114
+ ColorLiteral: tags$1.color,
115
+ "ParenthesizedContent StringLiteral": tags$1.string,
116
+ ":": tags$1.punctuation,
117
+ "PseudoOp #": tags$1.derefOperator,
118
+ "; , |": tags$1.separator,
119
+ "( )": tags$1.paren,
120
+ "[ ]": tags$1.squareBracket,
121
+ "{ }": tags$1.brace
122
+ });
123
+ const spec_callee = {
124
+ __proto__: null,
125
+ lang: 44,
126
+ "nth-child": 44,
127
+ "nth-last-child": 44,
128
+ "nth-of-type": 44,
129
+ "nth-last-of-type": 44,
130
+ dir: 44,
131
+ "host-context": 44,
132
+ if: 90,
133
+ url: 132,
134
+ "url-prefix": 132,
135
+ domain: 132,
136
+ regexp: 132
137
+ };
138
+ const spec_queryIdentifier = {
139
+ __proto__: null,
140
+ or: 104,
141
+ and: 104,
142
+ not: 112,
143
+ only: 112,
144
+ layer: 180
145
+ };
146
+ const spec_QueryCallee = {
147
+ __proto__: null,
148
+ selector: 118,
149
+ layer: 176
150
+ };
151
+ const spec_AtKeyword = {
152
+ __proto__: null,
153
+ "@import": 172,
154
+ "@media": 184,
155
+ "@charset": 188,
156
+ "@namespace": 192,
157
+ "@keyframes": 198,
158
+ "@supports": 210,
159
+ "@scope": 214,
160
+ "@font-feature-values": 220
161
+ };
162
+ const spec_identifier = {
163
+ __proto__: null,
164
+ to: 217
165
+ };
166
+ const parser = LRParser.deserialize({
167
+ version: 14,
168
+ states: "HhQYQdOOO#wQdOOP$OO`OOO$xQaO'#CfOOQP'#Ce'#CeO%PQ`O'#CgO%UQdO'#CkO%uQaO'#CcO&PQdO'#CnO&[QdO'#DtO&aQdO'#DvO&fQdO'#DzO&fQdO'#D}OOQP'#Fa'#FaO'rQhO'#EpOOQS'#F`'#F`OOQS'#Es'#EsQYQdOOO'yQdO'#ETO)VQhO'#EZO'yQdO'#E]O)^QdO'#E_O)iQdO'#EbO(nQhO'#EhO)qQdO'#EjO)|QdO'#EmO*RQaO'#CfO*YQ`O'#EQO*_Q`O'#FkO*jQdO'#FkQOQ`OOP*tO&jO'#CaPOOO)CAO)CAOO+PQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO%UQdO,59VO+UQdO,59YO&[QdO,5:`O&aQdO,5:bO&fQdO,5:fO&fQdO,5:hO&fQdO,5:iO&fQdO'#EzO+aQ`O,58}O+iQdO'#EPOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO+pQ`O,59YO+uQ`O,59YOOQP'#Du'#DuOOQP,5:`,5:`OOQO'#Dw'#DwO+zQpO,5:bO,eQaO,5:fO,{QaO,5:iOOQW'#D^'#D^O-wQhO'#DgO.[QhO,5;[O(nQhO'#DeO.iQ`O'#DkO.nQhO'#DnOOQW'#Fg'#FgOOQS,5;[,5;[O.sQ`O'#DhOOQS-E8q-E8qOOQ['#Cv'#CvO.xQdO'#CwO/`QdO'#C}O/vQdO'#DQO0^Q!pO'#DSO2gQ!jO,5:oOOQO'#DX'#DXO+uQ`O'#DWO2wQ!nO'#FdO4zQ`O'#DYO5PQ`O'#DoOOQ['#Fd'#FdO5UQhO'#FnO5dQ`O,5:uO5iQ!bO,5:wOOQS'#Ea'#EaO5qQ`O,5:yO5vQdO,5:yOOQO'#Ed'#EdO6OQ`O,5:|O6TQhO,5;SO&fQdO'#DjOOQS,5;U,5;UO.sQ`O,5;UO6]QdO,5;UOOQS'#FR'#FRO6eQdO'#EoO5dQ`O,5;XO6mQdO,5:lO6}QdO'#E|O7[Q`O,5<VO7[Q`O,5<VPOOO'#Er'#ErP7gO&jO,58{POOO,58{,58{OOQP'#Ci'#CiOOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO+pQ`O1G.tO+uQ`O1G.tOOQP1G/z1G/zO7rQpO1G/|O7zQaO1G0QO8bQaO1G0SO8xQaO1G0TO9`QaO,5;fOOQO-E8x-E8xOOQS1G.i1G.iO9jQ`O,5:kO9oQdO'#DsO9vQdO'#CuOOQP1G/|1G/|O'yQdO1G/|O9}Q!jO'#D^O:]Q!bO,59yO:eQhO,5:ROOQO'#Fh'#FhO:`Q!bO,59}O:mQhO'#FSO(nQhO,59{O(nQhO'#FSO;bQhO1G0vOOQS1G0v1G0vO;lQhO,5:PO<dQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO<nQ!fO'#FeOOQS'#Fe'#FeOOQS'#Eu'#EuO>OQdO,59cOOQ[,59c,59cO>fQdO,59iOOQ[,59i,59iO>|QdO,59lOOQ[,59l,59lOOQ[,59n,59nO'yQdO,59pO?dQhO'#EVOOQW'#EV'#EVO@OQ`O1G0ZO2pQhO1G0ZOOQ[,59r,59rO(nQhO'#D[OOQ[,59t,59tO@TQ#tO,5:ZO@`QhO'#FOO@mQ`O,5<YOOQS1G0a1G0aOOQS1G0c1G0cOOQS1G0e1G0eO@xQ`O1G0eO@}QdO'#EeOOQS1G0h1G0hOOQS1G0n1G0nOAYQaO,5:UO5dQ`O1G0pOOQS1G0p1G0pO.sQ`O1G0pOOQS-E9P-E9POOQS1G0s1G0sOAaQ!fO1G0WOAwQ`O'#ESOOQO1G0W1G0WOOQO,5;h,5;hOA|QdO,5;hOOQO-E8z-E8zOBZQ`O1G1qPOOO-E8p-E8pPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO'yQdO7+%hOOQS1G0V1G0VOBfQaO'#FjOBpQ`O,5:_OBuQ!fO'#EtOCsQdO'#FcOC}Q`O,59aODSQ!bO7+%hO'yQdO1G/eOD_QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gODpQhO,5;nOOQW-E9Q-E9QOOQS7+&b7+&bOEeQhO'#D^OEsQhO'#FiOFOQ`O'#FiOFTQ`O,5:WOOQS-E8s-E8sOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OFYQdO,5:qOOQS7+%u7+%uOF_Q`O7+%uOFdQhO'#D]OFlQ`O,59vO(nQhO,59vOOQ[1G/u1G/uOFtQ`O1G/uOFyQhO,5;jOOQO-E8|-E8|OOQS7+&P7+&POGXQbO'#DSOOQO'#Eg'#EgOGgQ`O'#EfOOQO'#Ef'#EfOGrQ`O'#FPOGzQdO,5;POOQS,5;P,5;POOQ[1G/p1G/pOOQS7+&[7+&[O5dQ`O7+&[OHVQ!fO'#E{O'yQdO'#E{OI^QdO7+%rOOQO7+%r7+%rOOQO,5:n,5:nOOQO1G1S1G1SOIqQ!bO<<ISOI|QdO'#EyOJWQ`O,5<UOOQP1G/y1G/yOOQS-E8r-E8rOJ`QdO'#ExOJjQ`O,5;}OOQ]1G.{1G.{OOQP<<IS<<ISOJrQ`O<<ISOJwQdO7+%POOQO'#D`'#D`OKOQ!bO7+%TOKWQhO'#EwOKeQ`O,5<TO'yQdO,5<TOOQW1G/r1G/rOOQO'#EX'#EXOKmQ`O1G0]OOQS<<Ia<<IaO'yQdO,59wOL^QhO1G/bOOQ[1G/b1G/bOLeQ`O1G/bOOQW-E8t-E8tOOQ[7+%a7+%aOOQO,5;Q,5;QOAQQdO'#FQOGrQ`O,5;kOOQS,5;k,5;kOOQS-E8}-E8}OOQS1G0k1G0kOOQS<<Iv<<IvOLmQ!fO,5;gOOQS-E8y-E8yOOQO<<I^<<I^OOQPAN>nAN>nOMtQ`OAN>nOMyQaO,5;eOOQO-E8w-E8wONTQdO,5;dOOQO-E8v-E8vOOQW<<Hk<<HkOOQW<<Ho<<HoON_QhO<<HoONpQhO,5;cON{Q`O,5;cOOQO-E8u-E8uO! QQdO1G1oOFYQdO'#E}O! [Q`O7+%wOOQW7+%w7+%wO! dQ!bO1G/cOOQ[7+$|7+$|O! oQhO7+$|P! vQ`O'#EvOOQO,5;l,5;lOOQO-E9O-E9OOOQS1G1V1G1VOOQPG24YG24YO! {Q`OAN>ZO'yQdO1G0}O!!QQ`O7+'ZOOQO,5;i,5;iOOQO-E8{-E8{OOQW<<Ic<<IcOOQ[<<Hh<<HhPOQW,5;b,5;bOOQWG23uG23uO!!YQdO7+&i",
169
+ stateData: "!!m~O#}OS$OQQ~OW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yRO~OQkOW]O^]O`UOcWOdWOl^OmXOpYO!oZO!r[O!xbO#OcO#QdO#SeO#VfO#]gO#_hO#biO#yjO~O#w$_P~P!gO$OoO~O`YXcYXdYXmYXpYXsYX!aYX!oYX!rYX#xYX$U[X~OgYX~P$TO$UqO~O#yrO~O`tOcuOduOmvOpwO!oxO!rzO#xyO~Os}O!a{O~P%ZOf!TO#y!PO#z!QO~O#y!UO~O#y!WO~OW]O^]O`UOcWOdWOmXOpYO!oZO!r[O#yRO~OS!`Oc!aOd!aOh!]Os}O!Y!_O!]!dO#{![O~On!cO~P'WOQ!nOh!gOp!hOs!iOu!qOw!qO}!oO!d!pO#y!fO#z!lO$Y!jO~OS!`Oc!aOd!aOh!]O!Y!_O!]!dO#{![O~Os$bP~P(nOw!vO!d!pO#y!uO~Ow!xO#y!xO~Oh!{Os}O#`!}O~O#y#PO~Oc!uX~P$TOc#SO~On#TO#w$_Xr$_X~O#w$_Xr$_X~P!gO$P#WO$Q#WO$R#YO~O#y#ZO~Of#`O#y!PO#z!QO~Os}O!a{O~Or$_P~P!gOh#jO~Oh#kO~Oo#lO!l#mO~O`tOcuOduOmvOpwO~Os!na!a!na!o!na!r!na#x!nag!na~P,SOs!qa!a!qa!o!qa!r!qa#x!qag!qa~P,SOS!`Oc!aOd!aOh!]O!Y!_O!]!dO~OR#qOu#qOw#qO#{#nO$Y!jO~P-cOn#wO!U#tO!a#uO~P'WOh#yO~O#{#{O~Oh!{O~O`$OOc$OOg$ROl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo$TO~P'yO`$OOc$OOl$OOm$OOn$OOr$VO~P'yOP$WOSvXcvXdvXhvXnvXyvX!YvX!]vX!zvX!|vX#{vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#yvX#zvX$YvXovXrvX!avX#wvX$avX!mvX~Oy$XO!z$YO!|$ZOn$bP~P(nOh#kOS$WXc$WXd$WXn$WXy$WX!Y$WX!]$WX!z$WX!|$WX#{$WXQ$WX`$WXg$WXl$WXm$WXp$WXs$WXu$WXw$WX}$WX!d$WX#y$WX#z$WX$Y$WXo$WXr$WX!a$WX#w$WX$a$WX!m$WX~Oh$_O~Oh$aO~O!U#tO!a$bOs$bXn$bX~Os}O~On$eOy$XO~On$fO~Ow$gO!d!pO~Os$hO~Os}O!U#tO~Os}O#`$nO~O#y#POs#cX~O$a$rOn!ta#w!tar!ta~P'yOn#pX#w#pXr#pX~P!gOn#TO#w$_ar$_a~O$P#WO$Q#WO$R$yO~Oo${O!l$|O~Os!ni!a!ni!o!ni!r!ni#x!nig!ni~P,SOs!pi!a!pi!o!pi!r!pi#x!pig!pi~P,SOs!qi!a!qi!o!qi!r!qi#x!qig!qi~P,SOs#na!a#na~P%ZOr$}O~Og$^P~P&fOg$VP~P'yOc!SXg!QX!U!QX!W!SX~Oc%UO!W%VO~Og%WO!U#tO~O!U#tOS#vXc#vXd#vXh#vXn#vXs#vX!Y#vX!]#vX!a#vX#{#vX~On%[O!a#uO~P'WO!U#tOS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa#{!Xag!Xa~O#{%]Og$]P~P-cOy$XOQ$XX`$XXc$XXg$XXh$XXl$XXm$XXn$XXp$XXs$XXu$XXw$XX}$XX!d$XX#y$XX#z$XX$Y$XXo$XXr$XX~O`$OOc$OOg%bOl$OOm$OOn$OO~P'yO`$OOc$OOl$OOm$OOn$OOo%cO~P'yO`$OOc$OOl$OOm$OOn$OOr%dO~P'yOh%fOS!yXc!yXd!yXn!yX!Y!yX!]!yX#{!yX~On%gO~Og%lOw%mO!e%mO~Os#rX!a#rXn#rX~P(nO!a$bOs$ban$ba~On%pO~Or%wO#y%rO$Y%qO~Og%xO~P%ZOy$XO!a%|O$a$rOn!ti#w!tir!ti~P'yO$`&PO~On#pa#w#par#pa~P!gOn#TO#w$_ir$_i~O!a&SOg$^X~P%ZOg&UO~Oy$XOQ#hXg#hXh#hXp#hXs#hXu#hXw#hX}#hX!a#hX!d#hX#y#hX#z#hX$Y#hX~O!a&WOg$VX~P'yOg&YO~Oo&ZOy$XO!m&[O~OR#qOu#qOw#qO#{&^O$Y!jO~O!U#tOS#vac#vad#vah#van#vas#va!Y#va!]#va!a#va#{#va~Oc!SXg!QX!U!QX!a!QX~O!U#tO!a&`Og$]X~Oc&bO~Og&cO~O#y&dO~On&fO~Oc&gO!U#tO~Og&iOn&hO~Og&lO~O!U#tOs#ra!a#ran#ra~OP$WOsvX!avXgvX~O$Y%qOs#YX!a#YX~Os}O!a&nO~Or&rO#y%rO$Y%qO~Oy$XOQ#oXh#oXn#oXp#oXs#oXu#oXw#oX}#oX!a#oX!d#oX#w#oX#y#oX#z#oX$Y#oX$a#oXr#oX~O!a%|O$a$rOn!tq#w!tqr!tq~P'yOo&wOy$XO!m&xO~Og#mX!a#mX~P&fO!a&SOg$^a~Og#lX!a#lX~P'yO!a&WOg$Va~Oo&wO~Og&}O~P'yOg'OO!W'PO~O#{%]Og#kX!a#kX~P-cO!a&`Og$]a~O`'UOg'WO~OS#jac#jad#jah#ja!Y#ja!]#ja#{#ja~Og'YO~PKuOg'YOn'ZO~Oy$XOQ#oah#oan#oap#oas#oau#oaw#oa}#oa!a#oa!d#oa#w#oa#y#oa#z#oa$Y#oa$a#oar#oa~Oo'`O~Og#ma!a#ma~P%ZOg#la!a#la~P'yOR#qOu#qOw#qO#{&^O$Y%qO~O!U#tOg#ka!a#ka~Oc'bO~O!a&`Og$]i~P'yO`'UOg'fO~Oy$XOg!Pin!Pi~Og'gO~PKuOn'hO~Og'iO~O!a&`Og$]q~Og#kq!a#kq~P'yO#}!e$O$Y`$Yy!r~",
170
+ goto: "4W$cPPPPP$dP$gP$p%S$p%f%xP$pP%{$pPP&RPPP&X&c&cPPPPP&cPP&cP'PP&cP&c'z&cP(h(k(q(q)T(qP(qP(qP(q(qP)d(q)pP(q)sPP*g*m$p*s$p*yPP$pP$p$pP+P+{,Y,a$gP,jP,mP$gP$gP$gP,s$gP,v,y,|-T$gP$gPP$gP-Y$gP-]-c-r.Y.h.n.x/O/U/[/b/l/r/x0O0U0[PPPPPPPPPPP0b0kP1a1d2fP2n3h3q3t3wPP3}RpQ__OPam}#T$uq]OPZ[amxyz{}!{#T#j$u&SqSOPZ[amxyz{}!{#T#j$u&SqTOPZ[amxyz{}!{#T#j$u&SR#[qQsUR#]tQ!RWR#^uQ#^!TS$^!m!nR$z#`!V!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'j!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jU#q!]%V'PU%t$h%v&nR&m%s!V!mbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jR$`!oQ%j$_R&j%kq!b^cg!]!^!_!k#t#u#v#y$]$_$b%k&`Q#o!]Q%_#yQ&_%VQ'R&`R'a'PQ#OhQ#|!dQ$l!}R%z$nR#z!`!U!qbd!g!h!i#S#k#m$Q$S$U$X$q$|%R%U%|%}&W&]&b&g&{'T'b'jQ!veR$g!wQ!SWR#_uQ#^!SR$z#_Q!VXR#avQ!XYR#bwQ!OVQ!c^Q!|hQ#h|Q#w!^Q$d!sQ$j!zQ$m#OQ$p#RQ%[#vQ%y$lQ&p%uQ&s%zR'_&oSlP}Q#VmQ$t#TR&Q$uZkPm}#T$uQ$s#SQ&O$qR&v%}R$]!kQ&e%fR'd'UR!weR!yfR$i!yS%u$h%vR']&nV%s$h%v&nR#RiQ#XoR$x#XQaOSmP}U!eam$uR$u#TQ%R#kY&V%R&]&{'T'jQ&]%UQ&{&WQ'T&bR'j'bQ$Q!gQ$S!hQ$U!iV%a$Q$S$UQ%k$_R&k%kQ&a%^S'S&a'cR'c'TQ&X%RR&|&XQ&T%OR&z&TQ|VR#g|Q%}$qR&u%}Q#UlS$v#U$wR$w#VQ'V&eR'e'VQ$c!rR%o$cQ%v$hR&q%vQ&o%uR'^&oQ#QiR$o#QQ#v!^R%Z#v_`OPam}#T$u^VOPam}#T$uQ!YZQ!Z[Q#cxQ#dyQ#ezQ#f{Q$k!{Q%O#jR&y&SR%S#kQ!kbQ!td[#}!g!h!i$Q$S$UQ$q#Sd%Q#k%R%U&W&]&b&{'T'b'jQ%T#mQ%e$XS%{$q%}Q&R$|Q&t%|R'X&g]$P!g!h!i$Q$S$UQ!^^U!rc!k$]Q!zgQ#p!]S#s!^#vQ#x!_Q%X#tQ%Y#uQ%^#yS%i$_%kQ%n$bR'Q&`Q#r!]Q&_%VR'a'PR%`#yR%P#jQnPR#i}Q!scQ$[!kR%h$]",
171
+ nodeNames: "⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",
172
+ maxTerm: 156,
173
+ nodeProps: [
174
+ [
175
+ "isolate",
176
+ -2,
177
+ 5,
178
+ 39,
179
+ ""
180
+ ],
181
+ [
182
+ "openedBy",
183
+ 23,
184
+ "(",
185
+ 31,
186
+ "[",
187
+ 34,
188
+ "{"
189
+ ],
190
+ [
191
+ "closedBy",
192
+ 24,
193
+ ")",
194
+ 32,
195
+ "]",
196
+ 35,
197
+ "}"
198
+ ]
199
+ ],
200
+ propSources: [cssHighlighting],
201
+ skippedNodes: [
202
+ 0,
203
+ 5,
204
+ 114
205
+ ],
206
+ repeatNodeCount: 17,
207
+ tokenData: "K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh#}~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh#}~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$aYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!lS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!rQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$YYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$YYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$O~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$YYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!lSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!oQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!oQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!mWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!mWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$`Q!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$UQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!rQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",
208
+ tokenizers: [
209
+ descendant,
210
+ unitToken,
211
+ identifiers,
212
+ queryIdentifiers,
213
+ 1,
214
+ 2,
215
+ 3,
216
+ 4,
217
+ new LocalTokenGroup("m~RRYZ[z{a~~g~aO$Q~~dP!P!Qg~lO$R~~", 28, 139)
218
+ ],
219
+ topRules: {
220
+ "StyleSheet": [0, 6],
221
+ "Styles": [1, 113]
222
+ },
223
+ dynamicPrecedences: { "81": 1 },
224
+ specialized: [
225
+ {
226
+ term: 134,
227
+ get: (value) => spec_callee[value] || -1
228
+ },
229
+ {
230
+ term: 135,
231
+ get: (value) => spec_queryIdentifier[value] || -1
232
+ },
233
+ {
234
+ term: 4,
235
+ get: (value) => spec_QueryCallee[value] || -1
236
+ },
237
+ {
238
+ term: 28,
239
+ get: (value) => spec_AtKeyword[value] || -1
240
+ },
241
+ {
242
+ term: 133,
243
+ get: (value) => spec_identifier[value] || -1
244
+ }
245
+ ],
246
+ tokenPrec: 2182
247
+ });
248
+
249
+ //#endregion
250
+ //#region ../../node_modules/.bun/@codemirror+lang-css@6.3.1/node_modules/@codemirror/lang-css/dist/index.js
251
+ var dist_exports = /* @__PURE__ */ __exportAll({
252
+ css: () => css,
253
+ cssCompletionSource: () => cssCompletionSource,
254
+ cssLanguage: () => cssLanguage,
255
+ defineCSSCompletionSource: () => defineCSSCompletionSource
256
+ });
257
+ let _properties = null;
258
+ function properties() {
259
+ if (!_properties && typeof document == "object" && document.body) {
260
+ let { style } = document.body, names = [], seen = /* @__PURE__ */ new Set();
261
+ for (let prop in style) if (prop != "cssText" && prop != "cssFloat") {
262
+ if (typeof style[prop] == "string") {
263
+ if (/[A-Z]/.test(prop)) prop = prop.replace(/[A-Z]/g, (ch) => "-" + ch.toLowerCase());
264
+ if (!seen.has(prop)) {
265
+ names.push(prop);
266
+ seen.add(prop);
267
+ }
268
+ }
269
+ }
270
+ _properties = names.sort().map((name) => ({
271
+ type: "property",
272
+ label: name,
273
+ apply: name + ": "
274
+ }));
275
+ }
276
+ return _properties || [];
277
+ }
278
+ const pseudoClasses = /* @__PURE__ */ [
279
+ "active",
280
+ "after",
281
+ "any-link",
282
+ "autofill",
283
+ "backdrop",
284
+ "before",
285
+ "checked",
286
+ "cue",
287
+ "default",
288
+ "defined",
289
+ "disabled",
290
+ "empty",
291
+ "enabled",
292
+ "file-selector-button",
293
+ "first",
294
+ "first-child",
295
+ "first-letter",
296
+ "first-line",
297
+ "first-of-type",
298
+ "focus",
299
+ "focus-visible",
300
+ "focus-within",
301
+ "fullscreen",
302
+ "has",
303
+ "host",
304
+ "host-context",
305
+ "hover",
306
+ "in-range",
307
+ "indeterminate",
308
+ "invalid",
309
+ "is",
310
+ "lang",
311
+ "last-child",
312
+ "last-of-type",
313
+ "left",
314
+ "link",
315
+ "marker",
316
+ "modal",
317
+ "not",
318
+ "nth-child",
319
+ "nth-last-child",
320
+ "nth-last-of-type",
321
+ "nth-of-type",
322
+ "only-child",
323
+ "only-of-type",
324
+ "optional",
325
+ "out-of-range",
326
+ "part",
327
+ "placeholder",
328
+ "placeholder-shown",
329
+ "read-only",
330
+ "read-write",
331
+ "required",
332
+ "right",
333
+ "root",
334
+ "scope",
335
+ "selection",
336
+ "slotted",
337
+ "target",
338
+ "target-text",
339
+ "valid",
340
+ "visited",
341
+ "where"
342
+ ].map((name) => ({
343
+ type: "class",
344
+ label: name
345
+ }));
346
+ const values = /* @__PURE__ */ [
347
+ "above",
348
+ "absolute",
349
+ "activeborder",
350
+ "additive",
351
+ "activecaption",
352
+ "after-white-space",
353
+ "ahead",
354
+ "alias",
355
+ "all",
356
+ "all-scroll",
357
+ "alphabetic",
358
+ "alternate",
359
+ "always",
360
+ "antialiased",
361
+ "appworkspace",
362
+ "asterisks",
363
+ "attr",
364
+ "auto",
365
+ "auto-flow",
366
+ "avoid",
367
+ "avoid-column",
368
+ "avoid-page",
369
+ "avoid-region",
370
+ "axis-pan",
371
+ "background",
372
+ "backwards",
373
+ "baseline",
374
+ "below",
375
+ "bidi-override",
376
+ "blink",
377
+ "block",
378
+ "block-axis",
379
+ "bold",
380
+ "bolder",
381
+ "border",
382
+ "border-box",
383
+ "both",
384
+ "bottom",
385
+ "break",
386
+ "break-all",
387
+ "break-word",
388
+ "bullets",
389
+ "button",
390
+ "button-bevel",
391
+ "buttonface",
392
+ "buttonhighlight",
393
+ "buttonshadow",
394
+ "buttontext",
395
+ "calc",
396
+ "capitalize",
397
+ "caps-lock-indicator",
398
+ "caption",
399
+ "captiontext",
400
+ "caret",
401
+ "cell",
402
+ "center",
403
+ "checkbox",
404
+ "circle",
405
+ "cjk-decimal",
406
+ "clear",
407
+ "clip",
408
+ "close-quote",
409
+ "col-resize",
410
+ "collapse",
411
+ "color",
412
+ "color-burn",
413
+ "color-dodge",
414
+ "column",
415
+ "column-reverse",
416
+ "compact",
417
+ "condensed",
418
+ "contain",
419
+ "content",
420
+ "contents",
421
+ "content-box",
422
+ "context-menu",
423
+ "continuous",
424
+ "copy",
425
+ "counter",
426
+ "counters",
427
+ "cover",
428
+ "crop",
429
+ "cross",
430
+ "crosshair",
431
+ "currentcolor",
432
+ "cursive",
433
+ "cyclic",
434
+ "darken",
435
+ "dashed",
436
+ "decimal",
437
+ "decimal-leading-zero",
438
+ "default",
439
+ "default-button",
440
+ "dense",
441
+ "destination-atop",
442
+ "destination-in",
443
+ "destination-out",
444
+ "destination-over",
445
+ "difference",
446
+ "disc",
447
+ "discard",
448
+ "disclosure-closed",
449
+ "disclosure-open",
450
+ "document",
451
+ "dot-dash",
452
+ "dot-dot-dash",
453
+ "dotted",
454
+ "double",
455
+ "down",
456
+ "e-resize",
457
+ "ease",
458
+ "ease-in",
459
+ "ease-in-out",
460
+ "ease-out",
461
+ "element",
462
+ "ellipse",
463
+ "ellipsis",
464
+ "embed",
465
+ "end",
466
+ "ethiopic-abegede-gez",
467
+ "ethiopic-halehame-aa-er",
468
+ "ethiopic-halehame-gez",
469
+ "ew-resize",
470
+ "exclusion",
471
+ "expanded",
472
+ "extends",
473
+ "extra-condensed",
474
+ "extra-expanded",
475
+ "fantasy",
476
+ "fast",
477
+ "fill",
478
+ "fill-box",
479
+ "fixed",
480
+ "flat",
481
+ "flex",
482
+ "flex-end",
483
+ "flex-start",
484
+ "footnotes",
485
+ "forwards",
486
+ "from",
487
+ "geometricPrecision",
488
+ "graytext",
489
+ "grid",
490
+ "groove",
491
+ "hand",
492
+ "hard-light",
493
+ "help",
494
+ "hidden",
495
+ "hide",
496
+ "higher",
497
+ "highlight",
498
+ "highlighttext",
499
+ "horizontal",
500
+ "hsl",
501
+ "hsla",
502
+ "hue",
503
+ "icon",
504
+ "ignore",
505
+ "inactiveborder",
506
+ "inactivecaption",
507
+ "inactivecaptiontext",
508
+ "infinite",
509
+ "infobackground",
510
+ "infotext",
511
+ "inherit",
512
+ "initial",
513
+ "inline",
514
+ "inline-axis",
515
+ "inline-block",
516
+ "inline-flex",
517
+ "inline-grid",
518
+ "inline-table",
519
+ "inset",
520
+ "inside",
521
+ "intrinsic",
522
+ "invert",
523
+ "italic",
524
+ "justify",
525
+ "keep-all",
526
+ "landscape",
527
+ "large",
528
+ "larger",
529
+ "left",
530
+ "level",
531
+ "lighter",
532
+ "lighten",
533
+ "line-through",
534
+ "linear",
535
+ "linear-gradient",
536
+ "lines",
537
+ "list-item",
538
+ "listbox",
539
+ "listitem",
540
+ "local",
541
+ "logical",
542
+ "loud",
543
+ "lower",
544
+ "lower-hexadecimal",
545
+ "lower-latin",
546
+ "lower-norwegian",
547
+ "lowercase",
548
+ "ltr",
549
+ "luminosity",
550
+ "manipulation",
551
+ "match",
552
+ "matrix",
553
+ "matrix3d",
554
+ "medium",
555
+ "menu",
556
+ "menutext",
557
+ "message-box",
558
+ "middle",
559
+ "min-intrinsic",
560
+ "mix",
561
+ "monospace",
562
+ "move",
563
+ "multiple",
564
+ "multiple_mask_images",
565
+ "multiply",
566
+ "n-resize",
567
+ "narrower",
568
+ "ne-resize",
569
+ "nesw-resize",
570
+ "no-close-quote",
571
+ "no-drop",
572
+ "no-open-quote",
573
+ "no-repeat",
574
+ "none",
575
+ "normal",
576
+ "not-allowed",
577
+ "nowrap",
578
+ "ns-resize",
579
+ "numbers",
580
+ "numeric",
581
+ "nw-resize",
582
+ "nwse-resize",
583
+ "oblique",
584
+ "opacity",
585
+ "open-quote",
586
+ "optimizeLegibility",
587
+ "optimizeSpeed",
588
+ "outset",
589
+ "outside",
590
+ "outside-shape",
591
+ "overlay",
592
+ "overline",
593
+ "padding",
594
+ "padding-box",
595
+ "painted",
596
+ "page",
597
+ "paused",
598
+ "perspective",
599
+ "pinch-zoom",
600
+ "plus-darker",
601
+ "plus-lighter",
602
+ "pointer",
603
+ "polygon",
604
+ "portrait",
605
+ "pre",
606
+ "pre-line",
607
+ "pre-wrap",
608
+ "preserve-3d",
609
+ "progress",
610
+ "push-button",
611
+ "radial-gradient",
612
+ "radio",
613
+ "read-only",
614
+ "read-write",
615
+ "read-write-plaintext-only",
616
+ "rectangle",
617
+ "region",
618
+ "relative",
619
+ "repeat",
620
+ "repeating-linear-gradient",
621
+ "repeating-radial-gradient",
622
+ "repeat-x",
623
+ "repeat-y",
624
+ "reset",
625
+ "reverse",
626
+ "rgb",
627
+ "rgba",
628
+ "ridge",
629
+ "right",
630
+ "rotate",
631
+ "rotate3d",
632
+ "rotateX",
633
+ "rotateY",
634
+ "rotateZ",
635
+ "round",
636
+ "row",
637
+ "row-resize",
638
+ "row-reverse",
639
+ "rtl",
640
+ "run-in",
641
+ "running",
642
+ "s-resize",
643
+ "sans-serif",
644
+ "saturation",
645
+ "scale",
646
+ "scale3d",
647
+ "scaleX",
648
+ "scaleY",
649
+ "scaleZ",
650
+ "screen",
651
+ "scroll",
652
+ "scrollbar",
653
+ "scroll-position",
654
+ "se-resize",
655
+ "self-start",
656
+ "self-end",
657
+ "semi-condensed",
658
+ "semi-expanded",
659
+ "separate",
660
+ "serif",
661
+ "show",
662
+ "single",
663
+ "skew",
664
+ "skewX",
665
+ "skewY",
666
+ "skip-white-space",
667
+ "slide",
668
+ "slider-horizontal",
669
+ "slider-vertical",
670
+ "sliderthumb-horizontal",
671
+ "sliderthumb-vertical",
672
+ "slow",
673
+ "small",
674
+ "small-caps",
675
+ "small-caption",
676
+ "smaller",
677
+ "soft-light",
678
+ "solid",
679
+ "source-atop",
680
+ "source-in",
681
+ "source-out",
682
+ "source-over",
683
+ "space",
684
+ "space-around",
685
+ "space-between",
686
+ "space-evenly",
687
+ "spell-out",
688
+ "square",
689
+ "start",
690
+ "static",
691
+ "status-bar",
692
+ "stretch",
693
+ "stroke",
694
+ "stroke-box",
695
+ "sub",
696
+ "subpixel-antialiased",
697
+ "svg_masks",
698
+ "super",
699
+ "sw-resize",
700
+ "symbolic",
701
+ "symbols",
702
+ "system-ui",
703
+ "table",
704
+ "table-caption",
705
+ "table-cell",
706
+ "table-column",
707
+ "table-column-group",
708
+ "table-footer-group",
709
+ "table-header-group",
710
+ "table-row",
711
+ "table-row-group",
712
+ "text",
713
+ "text-bottom",
714
+ "text-top",
715
+ "textarea",
716
+ "textfield",
717
+ "thick",
718
+ "thin",
719
+ "threeddarkshadow",
720
+ "threedface",
721
+ "threedhighlight",
722
+ "threedlightshadow",
723
+ "threedshadow",
724
+ "to",
725
+ "top",
726
+ "transform",
727
+ "translate",
728
+ "translate3d",
729
+ "translateX",
730
+ "translateY",
731
+ "translateZ",
732
+ "transparent",
733
+ "ultra-condensed",
734
+ "ultra-expanded",
735
+ "underline",
736
+ "unidirectional-pan",
737
+ "unset",
738
+ "up",
739
+ "upper-latin",
740
+ "uppercase",
741
+ "url",
742
+ "var",
743
+ "vertical",
744
+ "vertical-text",
745
+ "view-box",
746
+ "visible",
747
+ "visibleFill",
748
+ "visiblePainted",
749
+ "visibleStroke",
750
+ "visual",
751
+ "w-resize",
752
+ "wait",
753
+ "wave",
754
+ "wider",
755
+ "window",
756
+ "windowframe",
757
+ "windowtext",
758
+ "words",
759
+ "wrap",
760
+ "wrap-reverse",
761
+ "x-large",
762
+ "x-small",
763
+ "xor",
764
+ "xx-large",
765
+ "xx-small"
766
+ ].map((name) => ({
767
+ type: "keyword",
768
+ label: name
769
+ })).concat(/* @__PURE__ */ [
770
+ "aliceblue",
771
+ "antiquewhite",
772
+ "aqua",
773
+ "aquamarine",
774
+ "azure",
775
+ "beige",
776
+ "bisque",
777
+ "black",
778
+ "blanchedalmond",
779
+ "blue",
780
+ "blueviolet",
781
+ "brown",
782
+ "burlywood",
783
+ "cadetblue",
784
+ "chartreuse",
785
+ "chocolate",
786
+ "coral",
787
+ "cornflowerblue",
788
+ "cornsilk",
789
+ "crimson",
790
+ "cyan",
791
+ "darkblue",
792
+ "darkcyan",
793
+ "darkgoldenrod",
794
+ "darkgray",
795
+ "darkgreen",
796
+ "darkkhaki",
797
+ "darkmagenta",
798
+ "darkolivegreen",
799
+ "darkorange",
800
+ "darkorchid",
801
+ "darkred",
802
+ "darksalmon",
803
+ "darkseagreen",
804
+ "darkslateblue",
805
+ "darkslategray",
806
+ "darkturquoise",
807
+ "darkviolet",
808
+ "deeppink",
809
+ "deepskyblue",
810
+ "dimgray",
811
+ "dodgerblue",
812
+ "firebrick",
813
+ "floralwhite",
814
+ "forestgreen",
815
+ "fuchsia",
816
+ "gainsboro",
817
+ "ghostwhite",
818
+ "gold",
819
+ "goldenrod",
820
+ "gray",
821
+ "grey",
822
+ "green",
823
+ "greenyellow",
824
+ "honeydew",
825
+ "hotpink",
826
+ "indianred",
827
+ "indigo",
828
+ "ivory",
829
+ "khaki",
830
+ "lavender",
831
+ "lavenderblush",
832
+ "lawngreen",
833
+ "lemonchiffon",
834
+ "lightblue",
835
+ "lightcoral",
836
+ "lightcyan",
837
+ "lightgoldenrodyellow",
838
+ "lightgray",
839
+ "lightgreen",
840
+ "lightpink",
841
+ "lightsalmon",
842
+ "lightseagreen",
843
+ "lightskyblue",
844
+ "lightslategray",
845
+ "lightsteelblue",
846
+ "lightyellow",
847
+ "lime",
848
+ "limegreen",
849
+ "linen",
850
+ "magenta",
851
+ "maroon",
852
+ "mediumaquamarine",
853
+ "mediumblue",
854
+ "mediumorchid",
855
+ "mediumpurple",
856
+ "mediumseagreen",
857
+ "mediumslateblue",
858
+ "mediumspringgreen",
859
+ "mediumturquoise",
860
+ "mediumvioletred",
861
+ "midnightblue",
862
+ "mintcream",
863
+ "mistyrose",
864
+ "moccasin",
865
+ "navajowhite",
866
+ "navy",
867
+ "oldlace",
868
+ "olive",
869
+ "olivedrab",
870
+ "orange",
871
+ "orangered",
872
+ "orchid",
873
+ "palegoldenrod",
874
+ "palegreen",
875
+ "paleturquoise",
876
+ "palevioletred",
877
+ "papayawhip",
878
+ "peachpuff",
879
+ "peru",
880
+ "pink",
881
+ "plum",
882
+ "powderblue",
883
+ "purple",
884
+ "rebeccapurple",
885
+ "red",
886
+ "rosybrown",
887
+ "royalblue",
888
+ "saddlebrown",
889
+ "salmon",
890
+ "sandybrown",
891
+ "seagreen",
892
+ "seashell",
893
+ "sienna",
894
+ "silver",
895
+ "skyblue",
896
+ "slateblue",
897
+ "slategray",
898
+ "snow",
899
+ "springgreen",
900
+ "steelblue",
901
+ "tan",
902
+ "teal",
903
+ "thistle",
904
+ "tomato",
905
+ "turquoise",
906
+ "violet",
907
+ "wheat",
908
+ "white",
909
+ "whitesmoke",
910
+ "yellow",
911
+ "yellowgreen"
912
+ ].map((name) => ({
913
+ type: "constant",
914
+ label: name
915
+ })));
916
+ const tags = /* @__PURE__ */ [
917
+ "a",
918
+ "abbr",
919
+ "address",
920
+ "article",
921
+ "aside",
922
+ "b",
923
+ "bdi",
924
+ "bdo",
925
+ "blockquote",
926
+ "body",
927
+ "br",
928
+ "button",
929
+ "canvas",
930
+ "caption",
931
+ "cite",
932
+ "code",
933
+ "col",
934
+ "colgroup",
935
+ "dd",
936
+ "del",
937
+ "details",
938
+ "dfn",
939
+ "dialog",
940
+ "div",
941
+ "dl",
942
+ "dt",
943
+ "em",
944
+ "figcaption",
945
+ "figure",
946
+ "footer",
947
+ "form",
948
+ "header",
949
+ "hgroup",
950
+ "h1",
951
+ "h2",
952
+ "h3",
953
+ "h4",
954
+ "h5",
955
+ "h6",
956
+ "hr",
957
+ "html",
958
+ "i",
959
+ "iframe",
960
+ "img",
961
+ "input",
962
+ "ins",
963
+ "kbd",
964
+ "label",
965
+ "legend",
966
+ "li",
967
+ "main",
968
+ "meter",
969
+ "nav",
970
+ "ol",
971
+ "output",
972
+ "p",
973
+ "pre",
974
+ "ruby",
975
+ "section",
976
+ "select",
977
+ "small",
978
+ "source",
979
+ "span",
980
+ "strong",
981
+ "sub",
982
+ "summary",
983
+ "sup",
984
+ "table",
985
+ "tbody",
986
+ "td",
987
+ "template",
988
+ "textarea",
989
+ "tfoot",
990
+ "th",
991
+ "thead",
992
+ "tr",
993
+ "u",
994
+ "ul"
995
+ ].map((name) => ({
996
+ type: "type",
997
+ label: name
998
+ }));
999
+ const atRules = /* @__PURE__ */ [
1000
+ "@charset",
1001
+ "@color-profile",
1002
+ "@container",
1003
+ "@counter-style",
1004
+ "@font-face",
1005
+ "@font-feature-values",
1006
+ "@font-palette-values",
1007
+ "@import",
1008
+ "@keyframes",
1009
+ "@layer",
1010
+ "@media",
1011
+ "@namespace",
1012
+ "@page",
1013
+ "@position-try",
1014
+ "@property",
1015
+ "@scope",
1016
+ "@starting-style",
1017
+ "@supports",
1018
+ "@view-transition"
1019
+ ].map((label) => ({
1020
+ type: "keyword",
1021
+ label
1022
+ }));
1023
+ const identifier = /^(\w[\w-]*|-\w[\w-]*|)$/, variable = /^-(-[\w-]*)?$/;
1024
+ function isVarArg(node, doc) {
1025
+ var _a;
1026
+ if (node.name == "(" || node.type.isError) node = node.parent || node;
1027
+ if (node.name != "ArgList") return false;
1028
+ let callee = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.firstChild;
1029
+ if ((callee === null || callee === void 0 ? void 0 : callee.name) != "Callee") return false;
1030
+ return doc.sliceString(callee.from, callee.to) == "var";
1031
+ }
1032
+ const VariablesByNode = /* @__PURE__ */ new NodeWeakMap();
1033
+ const declSelector = ["Declaration"];
1034
+ function astTop(node) {
1035
+ for (let cur = node;;) {
1036
+ if (cur.type.isTop) return cur;
1037
+ if (!(cur = cur.parent)) return node;
1038
+ }
1039
+ }
1040
+ function variableNames(doc, node, isVariable) {
1041
+ if (node.to - node.from > 4096) {
1042
+ let known = VariablesByNode.get(node);
1043
+ if (known) return known;
1044
+ let result = [], seen = /* @__PURE__ */ new Set(), cursor = node.cursor(IterMode.IncludeAnonymous);
1045
+ if (cursor.firstChild()) do
1046
+ for (let option of variableNames(doc, cursor.node, isVariable)) if (!seen.has(option.label)) {
1047
+ seen.add(option.label);
1048
+ result.push(option);
1049
+ }
1050
+ while (cursor.nextSibling());
1051
+ VariablesByNode.set(node, result);
1052
+ return result;
1053
+ } else {
1054
+ let result = [], seen = /* @__PURE__ */ new Set();
1055
+ node.cursor().iterate((node) => {
1056
+ var _a;
1057
+ if (isVariable(node) && node.matchContext(declSelector) && ((_a = node.node.nextSibling) === null || _a === void 0 ? void 0 : _a.name) == ":") {
1058
+ let name = doc.sliceString(node.from, node.to);
1059
+ if (!seen.has(name)) {
1060
+ seen.add(name);
1061
+ result.push({
1062
+ label: name,
1063
+ type: "variable"
1064
+ });
1065
+ }
1066
+ }
1067
+ });
1068
+ return result;
1069
+ }
1070
+ }
1071
+ /**
1072
+ Create a completion source for a CSS dialect, providing a
1073
+ predicate for determining what kind of syntax node can act as a
1074
+ completable variable. This is used by language modes like Sass and
1075
+ Less to reuse this package's completion logic.
1076
+ */
1077
+ const defineCSSCompletionSource = (isVariable) => (context) => {
1078
+ let { state, pos } = context, node = syntaxTree(state).resolveInner(pos, -1);
1079
+ let isDash = node.type.isError && node.from == node.to - 1 && state.doc.sliceString(node.from, node.to) == "-";
1080
+ if (node.name == "PropertyName" || (isDash || node.name == "TagName") && /^(Block|Styles)$/.test(node.resolve(node.to).name)) return {
1081
+ from: node.from,
1082
+ options: properties(),
1083
+ validFor: identifier
1084
+ };
1085
+ if (node.name == "ValueName") return {
1086
+ from: node.from,
1087
+ options: values,
1088
+ validFor: identifier
1089
+ };
1090
+ if (node.name == "PseudoClassName") return {
1091
+ from: node.from,
1092
+ options: pseudoClasses,
1093
+ validFor: identifier
1094
+ };
1095
+ if (isVariable(node) || (context.explicit || isDash) && isVarArg(node, state.doc)) return {
1096
+ from: isVariable(node) || isDash ? node.from : pos,
1097
+ options: variableNames(state.doc, astTop(node), isVariable),
1098
+ validFor: variable
1099
+ };
1100
+ if (node.name == "TagName") {
1101
+ for (let { parent } = node; parent; parent = parent.parent) if (parent.name == "Block") return {
1102
+ from: node.from,
1103
+ options: properties(),
1104
+ validFor: identifier
1105
+ };
1106
+ return {
1107
+ from: node.from,
1108
+ options: tags,
1109
+ validFor: identifier
1110
+ };
1111
+ }
1112
+ if (node.name == "AtKeyword") return {
1113
+ from: node.from,
1114
+ options: atRules,
1115
+ validFor: identifier
1116
+ };
1117
+ if (!context.explicit) return null;
1118
+ let above = node.resolve(pos), before = above.childBefore(pos);
1119
+ if (before && before.name == ":" && above.name == "PseudoClassSelector") return {
1120
+ from: pos,
1121
+ options: pseudoClasses,
1122
+ validFor: identifier
1123
+ };
1124
+ if (before && before.name == ":" && above.name == "Declaration" || above.name == "ArgList") return {
1125
+ from: pos,
1126
+ options: values,
1127
+ validFor: identifier
1128
+ };
1129
+ if (above.name == "Block" || above.name == "Styles") return {
1130
+ from: pos,
1131
+ options: properties(),
1132
+ validFor: identifier
1133
+ };
1134
+ return null;
1135
+ };
1136
+ /**
1137
+ CSS property, variable, and value keyword completion source.
1138
+ */
1139
+ const cssCompletionSource = /* @__PURE__ */ defineCSSCompletionSource((n) => n.name == "VariableName");
1140
+ /**
1141
+ A language provider based on the [Lezer CSS
1142
+ parser](https://github.com/lezer-parser/css), extended with
1143
+ highlighting and indentation information.
1144
+ */
1145
+ const cssLanguage = /* @__PURE__ */ LRLanguage.define({
1146
+ name: "css",
1147
+ parser: /* @__PURE__ */ parser.configure({ props: [/* @__PURE__ */ indentNodeProp.add({ Declaration: /* @__PURE__ */ continuedIndent() }), /* @__PURE__ */ foldNodeProp.add({ "Block KeyframeList": foldInside })] }),
1148
+ languageData: {
1149
+ commentTokens: { block: {
1150
+ open: "/*",
1151
+ close: "*/"
1152
+ } },
1153
+ indentOnInput: /^\s*\}$/,
1154
+ wordChars: "-"
1155
+ }
1156
+ });
1157
+ /**
1158
+ Language support for CSS.
1159
+ */
1160
+ function css() {
1161
+ return new LanguageSupport(cssLanguage, cssLanguage.data.of({ autocomplete: cssCompletionSource }));
1162
+ }
1163
+
1164
+ //#endregion
1165
+ export { cssLanguage as n, dist_exports as r, css as t };
1166
+ //# sourceMappingURL=dist-BLlV_D16.js.map