@esportsplus/ui 0.56.4 → 0.57.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 (1613) hide show
  1. package/NOTICE +232 -0
  2. package/README.md +129 -138
  3. package/build/components/accordion/index.d.ts +23 -9
  4. package/build/components/accordion/index.js +95 -11
  5. package/build/components/accordion/scss/index.scss +1 -1
  6. package/build/components/announcement/index.d.ts +2167 -0
  7. package/build/components/announcement/index.js +35 -0
  8. package/build/components/announcement/scss/index.scss +2 -0
  9. package/build/components/banner/scss/index.scss +1 -1
  10. package/build/components/breadcrumb/index.d.ts +25 -25
  11. package/build/components/breadcrumb/index.js +189 -17
  12. package/build/components/breadcrumb/scss/index.scss +1 -1
  13. package/build/components/button/copy.js +6 -6
  14. package/build/components/button/faces.js +4 -4
  15. package/build/components/button/fan.js +85 -84
  16. package/build/components/button/hold.js +8 -10
  17. package/build/components/button/icons.js +33 -10
  18. package/build/components/button/index.d.ts +6 -0
  19. package/build/components/button/index.js +4 -1
  20. package/build/components/button/kbd.js +25 -25
  21. package/build/components/button/loading.js +7 -7
  22. package/build/components/button/morph.d.ts +22 -0
  23. package/build/components/button/morph.js +115 -0
  24. package/build/components/button/scss/index.scss +1 -1
  25. package/build/components/button/sidebar.d.ts +18 -0
  26. package/build/components/button/sidebar.js +19 -0
  27. package/build/components/button/split.d.ts +23 -0
  28. package/build/components/button/split.js +41 -0
  29. package/build/components/capslock/index.d.ts +19 -0
  30. package/build/components/capslock/index.js +39 -0
  31. package/build/components/capslock/scss/index.scss +2 -0
  32. package/build/components/card/expand.d.ts +22 -0
  33. package/build/components/card/expand.js +118 -0
  34. package/build/components/card/index.d.ts +6 -0
  35. package/build/components/card/index.js +4 -0
  36. package/build/components/card/scss/index.scss +1 -1
  37. package/build/components/cc/index.d.ts +30 -0
  38. package/build/components/cc/index.js +569 -0
  39. package/build/components/cc/scss/index.scss +2 -0
  40. package/build/components/chat-minimap/index.d.ts +28 -0
  41. package/build/components/chat-minimap/index.js +223 -0
  42. package/build/components/chat-minimap/range.d.ts +9 -0
  43. package/build/components/chat-minimap/range.js +30 -0
  44. package/build/components/chat-minimap/scss/index.scss +2 -0
  45. package/build/components/chat-minimap/spy.d.ts +14 -0
  46. package/build/components/chat-minimap/spy.js +107 -0
  47. package/build/components/checkbox/group.d.ts +33 -0
  48. package/build/components/checkbox/group.js +156 -0
  49. package/build/components/checkbox/index.d.ts +3 -1456
  50. package/build/components/checkbox/index.js +3 -69
  51. package/build/components/checkbox/options.d.ts +6513 -0
  52. package/build/components/checkbox/options.js +79 -0
  53. package/build/components/checkbox/scss/index.scss +1 -1
  54. package/build/components/clipboard/copy.js +5 -5
  55. package/build/components/clipboard/index.d.ts +15 -3
  56. package/build/components/color-picker/index.d.ts +5 -7
  57. package/build/components/color-picker/index.js +175 -222
  58. package/build/components/color-picker/scss/index.scss +1 -1
  59. package/build/components/command/index.d.ts +83 -17
  60. package/build/components/command/index.js +556 -143
  61. package/build/components/command/scss/index.scss +1 -1
  62. package/build/components/container/scss/index.scss +1 -1
  63. package/build/components/copy/index.d.ts +23 -0
  64. package/build/components/copy/index.js +61 -0
  65. package/build/components/copy/scss/index.scss +2 -0
  66. package/build/components/counter/index.d.ts +3 -2
  67. package/build/components/counter/index.js +41 -73
  68. package/build/components/counter/scss/index.scss +1 -1
  69. package/build/components/datalist/index.d.ts +5 -0
  70. package/build/components/datalist/index.js +76 -49
  71. package/build/components/datalist/scss/index.scss +1 -1
  72. package/build/components/dock/index.d.ts +5 -4
  73. package/build/components/dock/index.js +62 -171
  74. package/build/components/dock/scss/index.scss +1 -1
  75. package/build/components/editor/code/changes.d.ts +15 -0
  76. package/build/components/editor/code/changes.js +60 -0
  77. package/build/components/editor/code/clipboard.d.ts +6 -0
  78. package/build/components/editor/code/clipboard.js +50 -0
  79. package/build/components/editor/code/colors.d.ts +11 -0
  80. package/build/components/editor/code/colors.js +172 -0
  81. package/build/components/editor/code/commands.d.ts +22 -0
  82. package/build/components/editor/code/commands.js +556 -0
  83. package/build/components/editor/code/composition.d.ts +23 -0
  84. package/build/components/editor/code/composition.js +67 -0
  85. package/build/components/editor/code/conflicts.d.ts +21 -0
  86. package/build/components/editor/code/conflicts.js +91 -0
  87. package/build/components/editor/code/document.d.ts +127 -0
  88. package/build/components/editor/code/document.js +477 -0
  89. package/build/components/editor/code/editor.d.ts +21 -0
  90. package/build/components/editor/code/editor.js +30 -0
  91. package/build/components/editor/code/features.d.ts +77 -0
  92. package/build/components/editor/code/features.js +833 -0
  93. package/build/components/editor/code/field.d.ts +14 -0
  94. package/build/components/editor/code/field.js +57 -0
  95. package/build/components/editor/code/find.d.ts +83 -0
  96. package/build/components/editor/code/find.js +312 -0
  97. package/build/components/editor/code/folding.d.ts +34 -0
  98. package/build/components/editor/code/folding.js +433 -0
  99. package/build/components/editor/code/goto.d.ts +22 -0
  100. package/build/components/editor/code/goto.js +91 -0
  101. package/build/components/editor/code/gutter.d.ts +5 -0
  102. package/build/components/editor/code/gutter.js +22 -0
  103. package/build/components/editor/code/index.d.ts +17 -0
  104. package/build/components/editor/code/index.js +7 -0
  105. package/build/components/editor/code/keymap.d.ts +30 -0
  106. package/build/components/editor/code/keymap.js +356 -0
  107. package/build/components/editor/code/layout.d.ts +67 -0
  108. package/build/components/editor/code/layout.js +350 -0
  109. package/build/components/editor/code/links.d.ts +8 -0
  110. package/build/components/editor/code/links.js +32 -0
  111. package/build/components/editor/code/minimap.d.ts +46 -0
  112. package/build/components/editor/code/minimap.js +172 -0
  113. package/build/components/editor/code/navigation.d.ts +17 -0
  114. package/build/components/editor/code/navigation.js +49 -0
  115. package/build/components/editor/code/pointer.d.ts +40 -0
  116. package/build/components/editor/code/pointer.js +134 -0
  117. package/build/components/editor/code/projection.d.ts +43 -0
  118. package/build/components/editor/code/projection.js +200 -0
  119. package/build/components/editor/code/rows.d.ts +50 -0
  120. package/build/components/editor/code/rows.js +296 -0
  121. package/build/components/editor/code/search.d.ts +24 -0
  122. package/build/components/editor/code/search.js +231 -0
  123. package/build/components/editor/code/selection.d.ts +2 -0
  124. package/build/components/editor/code/selection.js +53 -0
  125. package/build/components/editor/code/services/completion.d.ts +27 -0
  126. package/build/components/editor/code/services/completion.js +90 -0
  127. package/build/components/editor/code/services/diagnostics.d.ts +28 -0
  128. package/build/components/editor/code/services/diagnostics.js +98 -0
  129. package/build/components/editor/code/services/hover.d.ts +14 -0
  130. package/build/components/editor/code/services/hover.js +66 -0
  131. package/build/components/editor/code/services/index.d.ts +27 -0
  132. package/build/components/editor/code/services/index.js +64 -0
  133. package/build/components/editor/code/services/model.d.ts +35 -0
  134. package/build/components/editor/code/services/model.js +167 -0
  135. package/build/components/editor/code/services/protocol.d.ts +68 -0
  136. package/build/components/editor/code/services/protocol.js +1 -0
  137. package/build/components/editor/code/services/session.d.ts +54 -0
  138. package/build/components/editor/code/services/session.js +496 -0
  139. package/build/components/editor/code/services/transport.d.ts +12 -0
  140. package/build/components/editor/code/services/transport.js +18 -0
  141. package/build/components/editor/code/syntax.d.ts +83 -0
  142. package/build/components/editor/code/syntax.js +1106 -0
  143. package/build/components/editor/code/unicode.d.ts +10 -0
  144. package/build/components/editor/code/unicode.js +117 -0
  145. package/build/components/editor/code/view.d.ts +122 -0
  146. package/build/components/editor/code/view.js +1560 -0
  147. package/build/components/editor/diffs/diff3.d.ts +25 -0
  148. package/build/components/editor/diffs/diff3.js +152 -0
  149. package/build/components/editor/diffs/engine.d.ts +18 -0
  150. package/build/components/editor/diffs/engine.js +110 -0
  151. package/build/components/editor/diffs/hunks.d.ts +41 -0
  152. package/build/components/editor/diffs/hunks.js +96 -0
  153. package/build/components/editor/diffs/index.d.ts +18 -0
  154. package/build/components/editor/diffs/index.js +10 -0
  155. package/build/components/editor/diffs/merge.d.ts +23 -0
  156. package/build/components/editor/diffs/merge.js +324 -0
  157. package/build/components/editor/diffs/render.d.ts +6 -0
  158. package/build/components/editor/diffs/render.js +56 -0
  159. package/build/components/editor/diffs/view.d.ts +44 -0
  160. package/build/components/editor/diffs/view.js +363 -0
  161. package/build/components/editor/diffs/words.d.ts +8 -0
  162. package/build/components/editor/diffs/words.js +47 -0
  163. package/build/components/editor/index.d.ts +21 -0
  164. package/build/components/editor/index.js +11 -0
  165. package/build/components/editor/markdown/editing.d.ts +7 -0
  166. package/build/components/editor/markdown/editing.js +55 -0
  167. package/build/components/editor/markdown/html.d.ts +24 -0
  168. package/build/components/editor/markdown/html.js +108 -0
  169. package/build/components/editor/markdown/index.d.ts +25 -0
  170. package/build/components/editor/markdown/index.js +33 -0
  171. package/build/components/editor/markdown/inline.d.ts +16 -0
  172. package/build/components/editor/markdown/inline.js +259 -0
  173. package/build/components/editor/markdown/layout.d.ts +63 -0
  174. package/build/components/editor/markdown/layout.js +252 -0
  175. package/build/components/editor/markdown/model.d.ts +53 -0
  176. package/build/components/editor/markdown/model.js +463 -0
  177. package/build/components/editor/markdown/render.d.ts +29 -0
  178. package/build/components/editor/markdown/render.js +561 -0
  179. package/build/components/editor/markdown/structure.d.ts +7 -0
  180. package/build/components/editor/markdown/structure.js +87 -0
  181. package/build/components/editor/markdown/view.d.ts +18 -0
  182. package/build/components/editor/markdown/view.js +1841 -0
  183. package/build/components/editor/tree/clipboard.d.ts +12 -0
  184. package/build/components/editor/tree/clipboard.js +48 -0
  185. package/build/components/editor/tree/compact.d.ts +23 -0
  186. package/build/components/editor/tree/compact.js +57 -0
  187. package/build/components/editor/tree/decorations.d.ts +39 -0
  188. package/build/components/editor/tree/decorations.js +126 -0
  189. package/build/components/editor/tree/drag.d.ts +45 -0
  190. package/build/components/editor/tree/drag.js +462 -0
  191. package/build/components/editor/tree/edit.d.ts +43 -0
  192. package/build/components/editor/tree/edit.js +134 -0
  193. package/build/components/editor/tree/filter.d.ts +7 -0
  194. package/build/components/editor/tree/filter.js +47 -0
  195. package/build/components/editor/tree/find.d.ts +55 -0
  196. package/build/components/editor/tree/find.js +291 -0
  197. package/build/components/editor/tree/glob.d.ts +2 -0
  198. package/build/components/editor/tree/glob.js +57 -0
  199. package/build/components/editor/tree/glyph.d.ts +6 -0
  200. package/build/components/editor/tree/glyph.js +31 -0
  201. package/build/components/editor/tree/history.d.ts +61 -0
  202. package/build/components/editor/tree/history.js +172 -0
  203. package/build/components/editor/tree/icons.d.ts +29 -0
  204. package/build/components/editor/tree/icons.js +417 -0
  205. package/build/components/editor/tree/index.d.ts +118 -0
  206. package/build/components/editor/tree/index.js +2227 -0
  207. package/build/components/editor/tree/jump.d.ts +8 -0
  208. package/build/components/editor/tree/jump.js +45 -0
  209. package/build/components/editor/tree/lazy.d.ts +24 -0
  210. package/build/components/editor/tree/lazy.js +71 -0
  211. package/build/components/editor/tree/model.d.ts +33 -0
  212. package/build/components/editor/tree/model.js +128 -0
  213. package/build/components/editor/tree/selection.d.ts +13 -0
  214. package/build/components/editor/tree/selection.js +55 -0
  215. package/build/components/editor/tree/shortcuts.d.ts +6 -0
  216. package/build/components/editor/tree/shortcuts.js +44 -0
  217. package/build/components/editor/tree/sort.d.ts +13 -0
  218. package/build/components/editor/tree/sort.js +53 -0
  219. package/build/components/editor/tree/spoken.d.ts +9 -0
  220. package/build/components/editor/tree/spoken.js +38 -0
  221. package/build/components/editor/tree/sprites.d.ts +4 -0
  222. package/build/components/editor/tree/sprites.js +152 -0
  223. package/build/components/editor/tree/sticky.d.ts +11 -0
  224. package/build/components/editor/tree/sticky.js +102 -0
  225. package/build/components/editor/tree/transfer.d.ts +15 -0
  226. package/build/components/editor/tree/transfer.js +75 -0
  227. package/build/components/editor/workspace/index.d.ts +64 -0
  228. package/build/components/editor/workspace/index.js +1125 -0
  229. package/build/components/editor/workspace/model.d.ts +161 -0
  230. package/build/components/editor/workspace/model.js +690 -0
  231. package/build/components/error/index.d.ts +31 -0
  232. package/build/components/error/index.js +150 -0
  233. package/build/components/error/scss/index.scss +2 -0
  234. package/build/components/filter/index.d.ts +38 -0
  235. package/build/components/filter/index.js +307 -0
  236. package/build/components/filter/scss/index.scss +2 -0
  237. package/build/components/form/action.js +1 -2
  238. package/build/components/form/index.d.ts +10 -1
  239. package/build/components/form/input.d.ts +12 -2
  240. package/build/components/form/input.js +12 -7
  241. package/build/components/form/scss/index.scss +1 -1
  242. package/build/components/frame/scss/index.scss +2 -0
  243. package/build/components/grid/scss/index.scss +1 -1
  244. package/build/components/heatmap/index.d.ts +32 -0
  245. package/build/components/heatmap/index.js +209 -0
  246. package/build/components/heatmap/scss/index.scss +2 -0
  247. package/build/components/highlight/easing.d.ts +2 -0
  248. package/build/components/highlight/easing.js +19 -0
  249. package/build/components/highlight/index.d.ts +6 -0
  250. package/build/components/highlight/index.js +334 -112
  251. package/build/components/highlight/scss/index.scss +1 -1
  252. package/build/components/icon/index.js +1 -1
  253. package/build/components/icon/scss/index.scss +1 -1
  254. package/build/components/image/index.d.ts +17 -12
  255. package/build/components/image/index.js +3 -61
  256. package/build/components/image/lazyload.d.ts +15 -0
  257. package/build/components/image/lazyload.js +72 -0
  258. package/build/components/image/scss/index.scss +1 -1
  259. package/build/components/index.d.ts +15 -79
  260. package/build/components/index.js +15 -79
  261. package/build/components/inline-edit/format.d.ts +29 -0
  262. package/build/components/inline-edit/format.js +112 -0
  263. package/build/components/inline-edit/history.d.ts +14 -0
  264. package/build/components/inline-edit/history.js +40 -0
  265. package/build/components/inline-edit/index.d.ts +13 -7
  266. package/build/components/inline-edit/index.js +44 -38
  267. package/build/components/inline-edit/markdown.d.ts +7 -0
  268. package/build/components/inline-edit/markdown.js +314 -0
  269. package/build/components/inline-edit/model.d.ts +61 -0
  270. package/build/components/inline-edit/model.js +192 -0
  271. package/build/components/inline-edit/rich.d.ts +39 -0
  272. package/build/components/inline-edit/rich.js +1236 -0
  273. package/build/components/inline-edit/scss/index.scss +1 -1
  274. package/build/components/inline-edit/selection.d.ts +7 -0
  275. package/build/components/inline-edit/selection.js +114 -0
  276. package/build/components/inline-edit/status.d.ts +24 -0
  277. package/build/components/inline-edit/status.js +196 -0
  278. package/build/components/inline-edit/utilities.d.ts +4 -0
  279. package/build/components/inline-edit/utilities.js +12 -0
  280. package/build/components/input/field.d.ts +14 -0
  281. package/build/components/input/field.js +34 -0
  282. package/build/components/input/index.d.ts +7 -14
  283. package/build/components/input/index.js +5 -41
  284. package/build/components/input/scrub.d.ts +30 -0
  285. package/build/components/input/scrub.js +221 -0
  286. package/build/components/input/scss/index.scss +1 -1
  287. package/build/components/input/tag.d.ts +24 -0
  288. package/build/components/input/tag.js +288 -0
  289. package/build/components/json/download.js +4 -3
  290. package/build/components/link/scss/index.scss +1 -1
  291. package/build/components/loading/index.d.ts +1 -1
  292. package/build/components/loading/scss/index.scss +1 -1
  293. package/build/components/marquee/index.d.ts +10 -1
  294. package/build/components/marquee/index.js +240 -174
  295. package/build/components/marquee/scss/index.scss +1 -1
  296. package/build/components/marquee/velocity.d.ts +17 -0
  297. package/build/components/marquee/velocity.js +78 -0
  298. package/build/components/metric/flash.d.ts +11 -0
  299. package/build/components/metric/flash.js +116 -0
  300. package/build/components/metric/index.d.ts +33 -0
  301. package/build/components/metric/index.js +271 -0
  302. package/build/components/metric/scss/index.scss +2 -0
  303. package/build/components/nav/index.d.ts +13 -0
  304. package/build/components/nav/index.js +6 -0
  305. package/build/components/nav/scss/index.scss +2 -0
  306. package/build/components/nav/spy.d.ts +9 -0
  307. package/build/components/nav/spy.js +157 -0
  308. package/build/components/nav/toc.d.ts +26 -0
  309. package/build/components/nav/toc.js +22 -0
  310. package/build/components/nav/tree.d.ts +39 -0
  311. package/build/components/nav/tree.js +123 -0
  312. package/build/components/notification/index.d.ts +15 -0
  313. package/build/components/notification/index.js +98 -0
  314. package/build/components/notification/scss/index.scss +2 -0
  315. package/build/components/overlay/index.d.ts +28 -9
  316. package/build/components/overlay/index.js +346 -8
  317. package/build/components/overlay/popup.d.ts +31 -0
  318. package/build/components/overlay/popup.js +150 -0
  319. package/build/components/overlay/scss/index.scss +1 -1
  320. package/build/components/page/scss/index.scss +1 -1
  321. package/build/components/pagination/dots.d.ts +21 -0
  322. package/build/components/pagination/dots.js +110 -0
  323. package/build/components/pagination/index.d.ts +8 -3
  324. package/build/components/pagination/index.js +36 -59
  325. package/build/components/pagination/scss/index.scss +1 -1
  326. package/build/components/progress/index.d.ts +7 -2
  327. package/build/components/progress/index.js +14 -10
  328. package/build/components/progress/scss/index.scss +1 -1
  329. package/build/components/progress/text.d.ts +12 -0
  330. package/build/components/progress/text.js +124 -0
  331. package/build/components/pull-to-refresh/index.d.ts +3 -11
  332. package/build/components/pull-to-refresh/index.js +127 -165
  333. package/build/components/pull-to-refresh/scss/index.scss +1 -1
  334. package/build/components/radio/index.d.ts +2 -2
  335. package/build/components/radio/index.js +2 -2
  336. package/build/components/range/filter.d.ts +22 -0
  337. package/build/components/range/filter.js +322 -0
  338. package/build/components/range/index.d.ts +9 -2
  339. package/build/components/range/index.js +13 -9
  340. package/build/components/range/scss/index.scss +1 -1
  341. package/build/components/relative-time/index.d.ts +15 -8
  342. package/build/components/relative-time/index.js +206 -193
  343. package/build/components/relative-time/scss/index.scss +1 -1
  344. package/build/components/root/scss/index.scss +1 -1
  345. package/build/components/select/index.d.ts +35 -16
  346. package/build/components/select/index.js +358 -92
  347. package/build/components/select/placement.d.ts +15 -0
  348. package/build/components/select/placement.js +31 -0
  349. package/build/components/select/scss/index.scss +1 -1
  350. package/build/components/shortcut-recorder/index.d.ts +7 -2
  351. package/build/components/shortcut-recorder/index.js +107 -99
  352. package/build/components/shortcut-recorder/scss/index.scss +1 -1
  353. package/build/components/sortable/index.d.ts +722 -4
  354. package/build/components/sortable/index.js +329 -213
  355. package/build/components/sortable/scss/index.scss +1 -1
  356. package/build/components/sticky-header/index.d.ts +22 -15
  357. package/build/components/sticky-header/index.js +41 -81
  358. package/build/components/sticky-header/scss/index.scss +1 -1
  359. package/build/components/story/index.d.ts +21 -0
  360. package/build/components/story/index.js +253 -0
  361. package/build/components/story/scss/index.scss +2 -0
  362. package/build/components/surface-field/engine.d.ts +65 -0
  363. package/build/components/surface-field/engine.js +970 -0
  364. package/build/components/surface-field/index.d.ts +2247 -1470
  365. package/build/components/surface-field/index.js +394 -371
  366. package/build/components/surface-field/scss/index.scss +1 -1
  367. package/build/components/surface-field/surface.d.ts +39 -0
  368. package/build/components/surface-field/surface.js +159 -0
  369. package/build/components/surface-field/worker/index.d.ts +9 -0
  370. package/build/components/surface-field/worker/index.js +19 -0
  371. package/build/components/switch/index.d.ts +2 -2
  372. package/build/components/switch/index.js +2 -2
  373. package/build/components/tasklist/index.d.ts +25 -717
  374. package/build/components/tasklist/index.js +151 -97
  375. package/build/components/tasklist/scss/index.scss +1 -1
  376. package/build/components/text/scss/index.scss +1 -1
  377. package/build/components/textarea/index.d.ts +15 -3
  378. package/build/components/textarea/index.js +124 -32
  379. package/build/components/textarea/scss/index.scss +1 -1
  380. package/build/components/toast/index.d.ts +40 -7
  381. package/build/components/toast/index.js +192 -145
  382. package/build/components/toast/scss/index.scss +1 -1
  383. package/build/components/tooltip/index.d.ts +3 -4
  384. package/build/components/tooltip/index.js +3 -4
  385. package/build/components/tooltip/menu.d.ts +47 -21
  386. package/build/components/tooltip/menu.js +525 -18
  387. package/build/components/tooltip/onclick.d.ts +1 -0
  388. package/build/components/tooltip/onclick.js +50 -33
  389. package/build/components/tooltip/onhover.d.ts +721 -10
  390. package/build/components/tooltip/onhover.js +129 -43
  391. package/build/components/tooltip/scss/index.scss +1 -1
  392. package/build/components/tooltip/shared.d.ts +34 -0
  393. package/build/components/tooltip/shared.js +569 -0
  394. package/build/components/tooltip/utilities.d.ts +23 -3
  395. package/build/components/tooltip/utilities.js +46 -21
  396. package/build/components/typewriter/index.d.ts +1439 -10
  397. package/build/components/typewriter/index.js +7 -2
  398. package/build/components/typewriter/retype.d.ts +7 -0
  399. package/build/components/typewriter/retype.js +83 -0
  400. package/build/components/typewriter/rotate.d.ts +13 -0
  401. package/build/components/typewriter/rotate.js +186 -0
  402. package/build/components/typewriter/scss/index.scss +1 -1
  403. package/build/components/uptime/index.js +61 -61
  404. package/build/components/uptime/scss/index.scss +1 -1
  405. package/build/components/usage-meter/index.d.ts +15 -3
  406. package/build/components/usage-meter/index.js +19 -19
  407. package/build/components/usage-meter/scss/index.scss +1 -1
  408. package/build/css-utilities/background/scss/index.scss +1 -1
  409. package/build/css-utilities/border/scss/index.scss +1 -1
  410. package/build/css-utilities/color/scss/index.scss +1 -1
  411. package/build/css-utilities/flex/scss/index.scss +1 -1
  412. package/build/css-utilities/font/geist/scss/index.scss +1 -1
  413. package/build/css-utilities/font/montserrat/scss/index.scss +1 -1
  414. package/build/css-utilities/glass/index.d.ts +10 -0
  415. package/build/css-utilities/glass/index.js +26 -0
  416. package/build/css-utilities/glass/scss/index.scss +1 -1
  417. package/build/css-utilities/index.d.ts +3 -0
  418. package/build/css-utilities/index.js +3 -0
  419. package/build/css-utilities/index.scss +1 -1
  420. package/build/css-utilities/inline/scss/index.scss +1 -1
  421. package/build/css-utilities/scrollbar/index.d.ts +42 -0
  422. package/build/css-utilities/scrollbar/index.js +155 -0
  423. package/build/css-utilities/scrollbar/scss/index.scss +1 -1
  424. package/build/css-utilities/skeleton/scss/index.scss +1 -1
  425. package/build/css-utilities/text/scss/index.scss +1 -1
  426. package/build/css-utilities/theme/index.d.ts +16 -0
  427. package/build/css-utilities/theme/index.js +60 -0
  428. package/build/normalize/scss/index.scss +3 -0
  429. package/build/shared/anchor.d.ts +7 -0
  430. package/build/shared/anchor.js +18 -0
  431. package/build/shared/animation.d.ts +6 -0
  432. package/build/shared/animation.js +57 -0
  433. package/build/shared/clamp.d.ts +2 -0
  434. package/build/shared/clamp.js +4 -0
  435. package/build/shared/deadline.d.ts +2 -0
  436. package/build/shared/deadline.js +94 -0
  437. package/build/shared/dismiss.d.ts +2 -0
  438. package/build/shared/dismiss.js +5 -0
  439. package/build/shared/drag.d.ts +47 -0
  440. package/build/shared/drag.js +189 -0
  441. package/build/shared/fuzzy.d.ts +6 -0
  442. package/build/shared/fuzzy.js +153 -0
  443. package/build/shared/keystep.d.ts +2 -0
  444. package/build/shared/keystep.js +21 -0
  445. package/build/shared/platform.d.ts +2 -0
  446. package/build/shared/platform.js +3 -0
  447. package/build/shared/press.d.ts +15 -0
  448. package/build/shared/press.js +83 -0
  449. package/build/shared/resize.d.ts +18 -0
  450. package/build/shared/resize.js +137 -0
  451. package/build/shared/subscribe.d.ts +3 -0
  452. package/build/shared/subscribe.js +12 -0
  453. package/build/shared/ticker.d.ts +3 -0
  454. package/build/shared/ticker.js +34 -0
  455. package/build/shared/transition.d.ts +11 -0
  456. package/build/shared/transition.js +49 -0
  457. package/build/shared/viewport.d.ts +7 -0
  458. package/build/shared/viewport.js +11 -0
  459. package/build/shared/visible.d.ts +8 -0
  460. package/build/shared/visible.js +79 -0
  461. package/build/themes/dark/input.d.ts +3 -721
  462. package/build/themes/dark/input.js +4 -2
  463. package/build/themes/dark/select.js +2 -1
  464. package/build/themes/dark/textarea.d.ts +15 -3
  465. package/build/themes/dark/textarea.js +1 -0
  466. package/package.json +11 -4
  467. package/pnpm-workspace.yaml +3 -18
  468. package/scripts/animation.test.mjs +45 -0
  469. package/scripts/chat-minimap.test.mjs +53 -0
  470. package/scripts/code-editor-features.test.mjs +287 -0
  471. package/scripts/code-editor-markdown.test.mjs +527 -0
  472. package/scripts/code-editor-services.test.mjs +361 -0
  473. package/scripts/code-editor-workspace.test.mjs +398 -0
  474. package/scripts/code-editor.test.mjs +1615 -0
  475. package/scripts/css-variables.test.mjs +1 -1
  476. package/scripts/deadline.test.mjs +191 -0
  477. package/scripts/diffs.test.mjs +189 -0
  478. package/scripts/file-tree-features.test.mjs +137 -0
  479. package/scripts/file-tree-icons.test.mjs +234 -0
  480. package/scripts/highlight.test.mjs +52 -0
  481. package/scripts/resize.test.mjs +247 -0
  482. package/scripts/resolve.mjs +52 -0
  483. package/scripts/slides.test.mjs +126 -0
  484. package/scripts/subscribe.test.mjs +49 -0
  485. package/scripts/ticker.test.mjs +126 -0
  486. package/scripts/transition.test.mjs +83 -0
  487. package/scripts/viewport.test.mjs +82 -0
  488. package/scripts/visible.test.mjs +186 -0
  489. package/shared.scss +2 -0
  490. package/src/components/accordion/index.ts +71 -12
  491. package/src/components/accordion/scss/index.scss +32 -129
  492. package/src/components/accordion/scss/variables.scss +7 -0
  493. package/src/components/announcement/index.ts +26 -0
  494. package/src/components/announcement/scss/index.scss +47 -0
  495. package/src/components/announcement/scss/variables.scss +23 -0
  496. package/src/components/banner/scss/index.scss +4 -8
  497. package/src/components/banner/scss/variables.scss +6 -0
  498. package/src/components/breadcrumb/index.ts +222 -25
  499. package/src/components/breadcrumb/scss/index.scss +217 -34
  500. package/src/components/breadcrumb/scss/variables.scss +73 -8
  501. package/src/components/button/copy.ts +1 -1
  502. package/src/components/button/faces.ts +1 -2
  503. package/src/components/button/fan.ts +111 -114
  504. package/src/components/button/hold.ts +9 -9
  505. package/src/components/button/icons.ts +15 -32
  506. package/src/components/button/index.ts +13 -1
  507. package/src/components/button/kbd.ts +6 -6
  508. package/src/components/button/loading.ts +1 -1
  509. package/src/components/button/morph.ts +153 -0
  510. package/src/components/button/scss/_kbd.scss +2 -1
  511. package/src/components/button/scss/_morph.scss +119 -0
  512. package/src/components/button/scss/_sidebar.scss +50 -0
  513. package/src/components/button/scss/_split.scss +53 -0
  514. package/src/components/button/scss/index.scss +45 -31
  515. package/src/components/button/scss/variables.scss +85 -34
  516. package/src/components/button/sidebar.ts +60 -0
  517. package/src/components/button/split.ts +60 -0
  518. package/src/components/capslock/index.ts +54 -0
  519. package/src/components/capslock/scss/index.scss +55 -0
  520. package/src/components/capslock/scss/variables.scss +26 -0
  521. package/src/components/card/expand.ts +141 -0
  522. package/src/components/card/index.ts +8 -0
  523. package/src/components/card/scss/_expand.scss +240 -0
  524. package/src/components/card/scss/index.scss +52 -9
  525. package/src/components/card/scss/variables.scss +85 -19
  526. package/src/components/cc/index.ts +558 -0
  527. package/src/components/cc/scss/index.scss +429 -0
  528. package/src/components/cc/scss/variables.scss +68 -0
  529. package/src/components/chat-minimap/index.ts +265 -0
  530. package/src/components/chat-minimap/range.ts +59 -0
  531. package/src/components/chat-minimap/scss/index.scss +140 -0
  532. package/src/components/chat-minimap/scss/variables.scss +97 -0
  533. package/src/components/chat-minimap/spy.ts +151 -0
  534. package/src/components/checkbox/group.ts +216 -0
  535. package/src/components/checkbox/index.ts +3 -41
  536. package/src/components/checkbox/options.ts +55 -0
  537. package/src/components/checkbox/scss/index.scss +69 -17
  538. package/src/components/checkbox/scss/variables.scss +28 -7
  539. package/src/components/clipboard/copy.ts +5 -5
  540. package/src/components/color-picker/index.ts +160 -233
  541. package/src/components/color-picker/scss/index.scss +51 -93
  542. package/src/components/color-picker/scss/variables.scss +68 -10
  543. package/src/components/command/index.ts +788 -206
  544. package/src/components/command/scss/index.scss +168 -158
  545. package/src/components/command/scss/variables.scss +118 -25
  546. package/src/components/copy/index.ts +69 -0
  547. package/src/components/copy/scss/index.scss +52 -0
  548. package/src/components/copy/scss/variables.scss +22 -0
  549. package/src/components/counter/index.ts +69 -94
  550. package/src/components/counter/scss/index.scss +20 -48
  551. package/src/components/counter/scss/variables.scss +24 -35
  552. package/src/components/datalist/index.ts +49 -29
  553. package/src/components/datalist/scss/index.scss +43 -24
  554. package/src/components/datalist/scss/variables.scss +7 -4
  555. package/src/components/dock/index.ts +61 -231
  556. package/src/components/dock/scss/index.scss +73 -39
  557. package/src/components/dock/scss/variables.scss +77 -16
  558. package/src/components/editor/code/changes.ts +111 -0
  559. package/src/components/editor/code/clipboard.ts +81 -0
  560. package/src/components/editor/code/colors.ts +278 -0
  561. package/src/components/editor/code/commands.ts +879 -0
  562. package/src/components/editor/code/composition.ts +85 -0
  563. package/src/components/editor/code/conflicts.ts +160 -0
  564. package/src/components/editor/code/document.ts +789 -0
  565. package/src/components/editor/code/editor.ts +68 -0
  566. package/src/components/editor/code/features.ts +1144 -0
  567. package/src/components/editor/code/field.ts +96 -0
  568. package/src/components/editor/code/find.ts +340 -0
  569. package/src/components/editor/code/folding.ts +689 -0
  570. package/src/components/editor/code/goto.ts +89 -0
  571. package/src/components/editor/code/gutter.ts +47 -0
  572. package/src/components/editor/code/index.ts +29 -0
  573. package/src/components/editor/code/keymap.ts +518 -0
  574. package/src/components/editor/code/layout.ts +565 -0
  575. package/src/components/editor/code/links.ts +55 -0
  576. package/src/components/editor/code/minimap.ts +260 -0
  577. package/src/components/editor/code/navigation.ts +95 -0
  578. package/src/components/editor/code/pointer.ts +199 -0
  579. package/src/components/editor/code/projection.ts +342 -0
  580. package/src/components/editor/code/rows.ts +412 -0
  581. package/src/components/editor/code/scss/_editor.scss +432 -0
  582. package/src/components/editor/code/scss/_features.scss +311 -0
  583. package/src/components/editor/code/scss/_services.scss +154 -0
  584. package/src/components/editor/code/scss/index.scss +6 -0
  585. package/src/components/editor/code/scss/variables.scss +194 -0
  586. package/src/components/editor/code/search.ts +391 -0
  587. package/src/components/editor/code/selection.ts +83 -0
  588. package/src/components/editor/code/services/completion.ts +114 -0
  589. package/src/components/editor/code/services/diagnostics.ts +168 -0
  590. package/src/components/editor/code/services/hover.ts +74 -0
  591. package/src/components/editor/code/services/index.ts +118 -0
  592. package/src/components/editor/code/services/model.ts +270 -0
  593. package/src/components/editor/code/services/protocol.ts +55 -0
  594. package/src/components/editor/code/services/session.ts +721 -0
  595. package/src/components/editor/code/services/transport.ts +36 -0
  596. package/src/components/editor/code/syntax.ts +1673 -0
  597. package/src/components/editor/code/unicode.ts +156 -0
  598. package/src/components/editor/code/view.ts +2139 -0
  599. package/src/components/editor/diffs/diff3.ts +280 -0
  600. package/src/components/editor/diffs/engine.ts +192 -0
  601. package/src/components/editor/diffs/hunks.ts +196 -0
  602. package/src/components/editor/diffs/index.ts +20 -0
  603. package/src/components/editor/diffs/merge.ts +377 -0
  604. package/src/components/editor/diffs/render.ts +95 -0
  605. package/src/components/editor/diffs/scss/_diffs.scss +352 -0
  606. package/src/components/editor/diffs/scss/_merge.scss +121 -0
  607. package/src/components/editor/diffs/scss/index.scss +5 -0
  608. package/src/components/editor/diffs/scss/variables.scss +70 -0
  609. package/src/components/editor/diffs/view.ts +464 -0
  610. package/src/components/editor/diffs/words.ts +85 -0
  611. package/src/components/editor/index.ts +59 -0
  612. package/src/components/editor/markdown/editing.ts +92 -0
  613. package/src/components/editor/markdown/html.ts +192 -0
  614. package/src/components/editor/markdown/index.ts +72 -0
  615. package/src/components/editor/markdown/inline.ts +399 -0
  616. package/src/components/editor/markdown/layout.ts +446 -0
  617. package/src/components/editor/markdown/model.ts +737 -0
  618. package/src/components/editor/markdown/render.ts +461 -0
  619. package/src/components/editor/markdown/scss/index.scss +456 -0
  620. package/src/components/editor/markdown/scss/variables.scss +109 -0
  621. package/src/components/editor/markdown/structure.ts +136 -0
  622. package/src/components/editor/markdown/view.ts +2417 -0
  623. package/src/components/editor/tree/clipboard.ts +80 -0
  624. package/src/components/editor/tree/compact.ts +93 -0
  625. package/src/components/editor/tree/decorations.ts +210 -0
  626. package/src/components/editor/tree/drag.ts +652 -0
  627. package/src/components/editor/tree/edit.ts +234 -0
  628. package/src/components/editor/tree/filter.ts +81 -0
  629. package/src/components/editor/tree/find.ts +500 -0
  630. package/src/components/editor/tree/glob.ts +76 -0
  631. package/src/components/editor/tree/glyph.ts +49 -0
  632. package/src/components/editor/tree/history.ts +282 -0
  633. package/src/components/editor/tree/icons.ts +507 -0
  634. package/src/components/editor/tree/index.ts +3438 -0
  635. package/src/components/editor/tree/jump.ts +78 -0
  636. package/src/components/editor/tree/lazy.ts +111 -0
  637. package/src/components/editor/tree/model.ts +235 -0
  638. package/src/components/editor/tree/scss/index.scss +732 -0
  639. package/src/components/editor/tree/scss/variables.scss +260 -0
  640. package/src/components/editor/tree/selection.ts +85 -0
  641. package/src/components/editor/tree/shortcuts.ts +64 -0
  642. package/src/components/editor/tree/sort.ts +104 -0
  643. package/src/components/editor/tree/spoken.ts +67 -0
  644. package/src/components/editor/tree/sprites.ts +159 -0
  645. package/src/components/editor/tree/sticky.ts +154 -0
  646. package/src/components/editor/tree/transfer.ts +134 -0
  647. package/src/components/editor/workspace/index.ts +1357 -0
  648. package/src/components/editor/workspace/model.ts +1023 -0
  649. package/src/components/editor/workspace/scss/index.scss +547 -0
  650. package/src/components/error/index.ts +189 -0
  651. package/src/components/error/scss/index.scss +89 -0
  652. package/src/components/error/scss/variables.scss +13 -0
  653. package/src/components/filter/index.ts +420 -0
  654. package/src/components/filter/scss/index.scss +6 -0
  655. package/src/components/filter/scss/variables.scss +17 -0
  656. package/src/components/form/action.ts +4 -4
  657. package/src/components/form/input.ts +13 -7
  658. package/src/components/frame/scss/index.scss +107 -0
  659. package/src/components/frame/scss/variables.scss +27 -0
  660. package/src/components/heatmap/index.ts +281 -0
  661. package/src/components/heatmap/scss/index.scss +131 -0
  662. package/src/components/heatmap/scss/variables.scss +58 -0
  663. package/src/components/highlight/easing.ts +33 -0
  664. package/src/components/highlight/index.ts +580 -77
  665. package/src/components/highlight/scss/index.scss +49 -9
  666. package/src/components/highlight/scss/variables.scss +62 -3
  667. package/src/components/icon/scss/index.scss +0 -1
  668. package/src/components/image/index.ts +3 -76
  669. package/src/components/image/lazyload.ts +95 -0
  670. package/src/components/image/scss/index.scss +71 -57
  671. package/src/components/image/scss/variables.scss +39 -14
  672. package/src/components/index.ts +27 -79
  673. package/src/components/inline-edit/format.ts +183 -0
  674. package/src/components/inline-edit/history.ts +71 -0
  675. package/src/components/inline-edit/index.ts +44 -38
  676. package/src/components/inline-edit/markdown.ts +485 -0
  677. package/src/components/inline-edit/model.ts +366 -0
  678. package/src/components/inline-edit/rich.ts +1518 -0
  679. package/src/components/inline-edit/scss/index.scss +431 -41
  680. package/src/components/inline-edit/scss/variables.scss +105 -0
  681. package/src/components/inline-edit/selection.ts +188 -0
  682. package/src/components/inline-edit/status.ts +194 -0
  683. package/src/components/inline-edit/utilities.ts +18 -0
  684. package/src/components/input/field.ts +32 -0
  685. package/src/components/input/index.ts +5 -38
  686. package/src/components/input/scrub.ts +338 -0
  687. package/src/components/input/scss/_field.scss +53 -0
  688. package/src/components/input/scss/_scrub.scss +91 -0
  689. package/src/components/input/scss/_tag.scss +162 -0
  690. package/src/components/input/scss/index.scss +5 -18
  691. package/src/components/input/scss/variables.scss +108 -38
  692. package/src/components/input/tag.ts +403 -0
  693. package/src/components/json/download.ts +9 -6
  694. package/src/components/link/scss/index.scss +9 -4
  695. package/src/components/link/scss/variables.scss +1 -31
  696. package/src/components/loading/index.ts +1 -1
  697. package/src/components/loading/scss/index.scss +3 -6
  698. package/src/components/marquee/index.ts +246 -169
  699. package/src/components/marquee/scss/index.scss +21 -28
  700. package/src/components/marquee/scss/variables.scss +16 -0
  701. package/src/components/marquee/velocity.ts +144 -0
  702. package/src/components/metric/flash.ts +128 -0
  703. package/src/components/metric/index.ts +315 -0
  704. package/src/components/metric/scss/_flash.scss +163 -0
  705. package/src/components/metric/scss/index.scss +163 -0
  706. package/src/components/metric/scss/variables.scss +133 -0
  707. package/src/components/nav/index.ts +13 -0
  708. package/src/components/nav/scss/index.scss +123 -0
  709. package/src/components/nav/scss/variables.scss +60 -0
  710. package/src/components/nav/spy.ts +203 -0
  711. package/src/components/nav/toc.ts +48 -0
  712. package/src/components/nav/tree.ts +181 -0
  713. package/src/components/notification/index.ts +111 -0
  714. package/src/components/notification/scss/index.scss +123 -0
  715. package/src/components/notification/scss/variables.scss +54 -0
  716. package/src/components/overlay/index.ts +487 -5
  717. package/src/components/overlay/popup.ts +214 -0
  718. package/src/components/overlay/scss/index.scss +379 -7
  719. package/src/components/overlay/scss/variables.scss +117 -0
  720. package/src/components/pagination/dots.ts +132 -0
  721. package/src/components/pagination/index.ts +34 -45
  722. package/src/components/pagination/scss/_dots.scss +67 -0
  723. package/src/components/pagination/scss/index.scss +15 -8
  724. package/src/components/pagination/scss/variables.scss +59 -0
  725. package/src/components/progress/index.ts +18 -8
  726. package/src/components/progress/scss/_text.scss +132 -0
  727. package/src/components/progress/scss/index.scss +1 -0
  728. package/src/components/progress/scss/variables.scss +42 -0
  729. package/src/components/progress/text.ts +158 -0
  730. package/src/components/pull-to-refresh/index.ts +126 -248
  731. package/src/components/pull-to-refresh/scss/index.scss +65 -29
  732. package/src/components/pull-to-refresh/scss/variables.scss +24 -1
  733. package/src/components/radio/index.ts +3 -3
  734. package/src/components/range/filter.ts +398 -0
  735. package/src/components/range/index.ts +27 -16
  736. package/src/components/range/scss/_filter.scss +374 -0
  737. package/src/components/range/scss/_slider.scss +140 -0
  738. package/src/components/range/scss/_vertical.scss +22 -0
  739. package/src/components/range/scss/index.scss +26 -14
  740. package/src/components/range/scss/variables.scss +78 -13
  741. package/src/components/relative-time/index.ts +218 -233
  742. package/src/components/relative-time/scss/index.scss +42 -18
  743. package/src/components/relative-time/scss/variables.scss +25 -0
  744. package/src/components/root/scss/index.scss +7 -3
  745. package/src/components/root/scss/variables.scss +21 -12
  746. package/src/components/select/index.ts +506 -153
  747. package/src/components/select/placement.ts +75 -0
  748. package/src/components/select/scss/index.scss +182 -45
  749. package/src/components/select/scss/variables.scss +58 -44
  750. package/src/components/shortcut-recorder/index.ts +145 -106
  751. package/src/components/shortcut-recorder/scss/index.scss +34 -121
  752. package/src/components/shortcut-recorder/scss/variables.scss +27 -39
  753. package/src/components/sortable/index.ts +380 -272
  754. package/src/components/sortable/scss/index.scss +107 -38
  755. package/src/components/sortable/scss/variables.scss +12 -1
  756. package/src/components/sticky-header/index.ts +43 -92
  757. package/src/components/sticky-header/scss/index.scss +76 -86
  758. package/src/components/sticky-header/scss/variables.scss +36 -12
  759. package/src/components/story/index.ts +305 -0
  760. package/src/components/story/scss/index.scss +189 -0
  761. package/src/components/story/scss/variables.scss +28 -0
  762. package/src/components/surface-field/engine.ts +1631 -0
  763. package/src/components/surface-field/index.ts +574 -608
  764. package/src/components/surface-field/scss/index.scss +74 -17
  765. package/src/components/surface-field/scss/variables.scss +23 -0
  766. package/src/components/surface-field/surface.ts +260 -0
  767. package/src/components/surface-field/worker/index.ts +41 -0
  768. package/src/components/switch/index.ts +3 -3
  769. package/src/components/tasklist/index.ts +197 -119
  770. package/src/components/tasklist/scss/index.scss +45 -128
  771. package/src/components/tasklist/scss/variables.scss +97 -70
  772. package/src/components/text/scss/index.scss +2 -15
  773. package/src/components/textarea/index.ts +142 -39
  774. package/src/components/textarea/scss/index.scss +41 -18
  775. package/src/components/textarea/scss/variables.scss +5 -46
  776. package/src/components/toast/index.ts +270 -157
  777. package/src/components/toast/scss/index.scss +244 -225
  778. package/src/components/toast/scss/variables.scss +68 -9
  779. package/src/components/tooltip/index.ts +9 -4
  780. package/src/components/tooltip/menu.ts +599 -37
  781. package/src/components/tooltip/onclick.ts +28 -22
  782. package/src/components/tooltip/onhover.ts +155 -73
  783. package/src/components/tooltip/scss/_menu.scss +352 -0
  784. package/src/components/tooltip/scss/_shared.scss +109 -0
  785. package/src/components/tooltip/scss/_south.scss +0 -1
  786. package/src/components/tooltip/scss/index.scss +16 -97
  787. package/src/components/tooltip/scss/variables.scss +103 -59
  788. package/src/components/tooltip/shared.ts +819 -0
  789. package/src/components/tooltip/utilities.ts +78 -23
  790. package/src/components/typewriter/index.ts +8 -1
  791. package/src/components/typewriter/retype.ts +99 -0
  792. package/src/components/typewriter/rotate.ts +279 -0
  793. package/src/components/typewriter/scss/_caret.scss +34 -0
  794. package/src/components/typewriter/scss/_retype.scss +67 -0
  795. package/src/components/typewriter/scss/_rotate.scss +28 -0
  796. package/src/components/typewriter/scss/index.scss +3 -33
  797. package/src/components/typewriter/scss/variables.scss +60 -10
  798. package/src/components/uptime/index.ts +50 -49
  799. package/src/components/uptime/scss/index.scss +67 -47
  800. package/src/components/uptime/scss/variables.scss +32 -4
  801. package/src/components/usage-meter/index.ts +17 -17
  802. package/src/components/usage-meter/scss/index.scss +19 -31
  803. package/src/components/usage-meter/scss/variables.scss +15 -7
  804. package/src/css-utilities/background/scss/index.scss +1 -1
  805. package/src/css-utilities/background/scss/variables.scss +2 -17
  806. package/src/css-utilities/border/scss/index.scss +1 -1
  807. package/src/css-utilities/border/scss/variables.scss +7 -23
  808. package/src/css-utilities/color/scss/index.scss +1 -1
  809. package/src/css-utilities/color/scss/variables.scss +2 -17
  810. package/src/css-utilities/flex/scss/variables.scss +0 -1
  811. package/src/css-utilities/font/geist/scss/index.scss +2 -2
  812. package/src/css-utilities/font/montserrat/scss/index.scss +2 -2
  813. package/src/css-utilities/glass/index.ts +42 -0
  814. package/src/css-utilities/glass/scss/index.scss +65 -1
  815. package/src/css-utilities/glass/scss/variables.scss +6 -1
  816. package/src/css-utilities/index.scss +0 -5
  817. package/src/css-utilities/index.ts +3 -0
  818. package/src/css-utilities/scrollbar/index.ts +200 -0
  819. package/src/css-utilities/scrollbar/scss/index.scss +300 -36
  820. package/src/css-utilities/scrollbar/scss/variables.scss +38 -3
  821. package/src/css-utilities/text/scss/index.scss +97 -6
  822. package/src/css-utilities/text/scss/variables.scss +22 -0
  823. package/src/css-utilities/theme/index.ts +71 -0
  824. package/src/normalize/scss/index.scss +42 -0
  825. package/src/shared/anchor.ts +34 -0
  826. package/src/shared/animation.ts +106 -0
  827. package/src/shared/clamp.ts +6 -0
  828. package/src/shared/deadline.ts +153 -0
  829. package/src/shared/dismiss.ts +6 -0
  830. package/src/shared/drag.ts +348 -0
  831. package/src/shared/fuzzy.ts +263 -0
  832. package/src/shared/keystep.ts +28 -0
  833. package/src/shared/platform.ts +10 -0
  834. package/src/shared/press.ts +144 -0
  835. package/src/shared/resize.ts +232 -0
  836. package/src/shared/scss/absolute.scss +28 -0
  837. package/src/shared/scss/anchor.scss +63 -0
  838. package/src/shared/scss/background.scss +21 -0
  839. package/src/shared/scss/border.scss +21 -0
  840. package/src/shared/scss/color.scss +21 -0
  841. package/src/shared/scss/drag.scss +7 -0
  842. package/src/shared/scss/hidden.scss +22 -0
  843. package/src/shared/scss/icon.scss +36 -0
  844. package/src/shared/scss/index.scss +16 -0
  845. package/src/shared/scss/layer.scss +20 -0
  846. package/src/shared/scss/list.scss +64 -0
  847. package/src/shared/scss/reset.scss +21 -0
  848. package/src/shared/scss/string.scss +18 -0
  849. package/src/shared/scss/text.scss +31 -0
  850. package/src/shared/subscribe.ts +20 -0
  851. package/src/shared/ticker.ts +56 -0
  852. package/src/shared/transition.ts +61 -0
  853. package/src/shared/viewport.ts +23 -0
  854. package/src/shared/visible.ts +127 -0
  855. package/src/themes/dark/input.ts +6 -2
  856. package/src/themes/dark/select.ts +3 -2
  857. package/src/themes/dark/textarea.ts +1 -0
  858. package/src/tokens/scss/box-shadow.scss +12 -16
  859. package/src/tokens/scss/color.scss +3 -2
  860. package/src/tokens/scss/font-family.scss +5 -0
  861. package/src/tokens/scss/index.scss +10 -0
  862. package/src/tokens/scss/state.scss +10 -8
  863. package/storage/code.md +180 -0
  864. package/storage/editor-features.md +227 -0
  865. package/storage/svg/amex.svg +1 -0
  866. package/storage/svg/arrow-down.svg +1 -0
  867. package/storage/svg/arrow-up.svg +1 -0
  868. package/storage/svg/bold.svg +1 -0
  869. package/storage/svg/caps-lock.svg +1 -0
  870. package/storage/svg/card.svg +1 -0
  871. package/storage/svg/chevron-down.svg +1 -0
  872. package/storage/svg/chevron-left.svg +1 -0
  873. package/storage/svg/chevron-right.svg +1 -0
  874. package/storage/svg/chevron-up.svg +1 -0
  875. package/storage/svg/chevrons-up-down.svg +1 -0
  876. package/storage/svg/chip.svg +1 -0
  877. package/storage/svg/circle.svg +1 -0
  878. package/storage/svg/clear-format.svg +1 -0
  879. package/storage/svg/close.svg +1 -0
  880. package/storage/svg/code.svg +1 -0
  881. package/storage/svg/command.svg +1 -0
  882. package/storage/svg/contrast.svg +1 -0
  883. package/storage/svg/copy.svg +1 -0
  884. package/storage/svg/corner-down-right.svg +1 -0
  885. package/storage/svg/credit-card.svg +1 -0
  886. package/storage/svg/dash.svg +1 -0
  887. package/storage/svg/discover.svg +1 -0
  888. package/storage/svg/document.svg +1 -0
  889. package/storage/svg/dots.svg +1 -0
  890. package/storage/svg/download.svg +1 -0
  891. package/storage/svg/enter.svg +1 -0
  892. package/storage/svg/expand.svg +1 -0
  893. package/storage/svg/external-link.svg +1 -0
  894. package/storage/svg/eye-off.svg +1 -0
  895. package/storage/svg/eye.svg +1 -0
  896. package/storage/svg/file-agents.svg +1 -0
  897. package/storage/svg/file-astro.svg +1 -0
  898. package/storage/svg/file-babel.svg +1 -0
  899. package/storage/svg/file-bash.svg +1 -0
  900. package/storage/svg/file-biome.svg +1 -0
  901. package/storage/svg/file-bootstrap.svg +1 -0
  902. package/storage/svg/file-browserslist.svg +1 -0
  903. package/storage/svg/file-bun.svg +1 -0
  904. package/storage/svg/file-c.svg +1 -0
  905. package/storage/svg/file-claude.svg +1 -0
  906. package/storage/svg/file-css.svg +1 -0
  907. package/storage/svg/file-database.svg +1 -0
  908. package/storage/svg/file-docker.svg +1 -0
  909. package/storage/svg/file-eslint.svg +1 -0
  910. package/storage/svg/file-font.svg +1 -0
  911. package/storage/svg/file-git.svg +1 -0
  912. package/storage/svg/file-go.svg +1 -0
  913. package/storage/svg/file-graphql.svg +1 -0
  914. package/storage/svg/file-html.svg +1 -0
  915. package/storage/svg/file-image.svg +1 -0
  916. package/storage/svg/file-javascript.svg +1 -0
  917. package/storage/svg/file-json.svg +1 -0
  918. package/storage/svg/file-markdown.svg +1 -0
  919. package/storage/svg/file-mcp.svg +1 -0
  920. package/storage/svg/file-nextjs.svg +1 -0
  921. package/storage/svg/file-npm.svg +1 -0
  922. package/storage/svg/file-oxc.svg +1 -0
  923. package/storage/svg/file-package.svg +1 -0
  924. package/storage/svg/file-pnpm.svg +1 -0
  925. package/storage/svg/file-postcss.svg +1 -0
  926. package/storage/svg/file-prettier.svg +1 -0
  927. package/storage/svg/file-python.svg +1 -0
  928. package/storage/svg/file-react.svg +1 -0
  929. package/storage/svg/file-readme.svg +1 -0
  930. package/storage/svg/file-ruby.svg +1 -0
  931. package/storage/svg/file-rust.svg +1 -0
  932. package/storage/svg/file-sass.svg +1 -0
  933. package/storage/svg/file-stylelint.svg +1 -0
  934. package/storage/svg/file-svelte.svg +1 -0
  935. package/storage/svg/file-svg.svg +1 -0
  936. package/storage/svg/file-svgo.svg +1 -0
  937. package/storage/svg/file-swift.svg +1 -0
  938. package/storage/svg/file-table.svg +1 -0
  939. package/storage/svg/file-tailwind.svg +1 -0
  940. package/storage/svg/file-terraform.svg +1 -0
  941. package/storage/svg/file-text.svg +1 -0
  942. package/storage/svg/file-tsconfig.svg +1 -0
  943. package/storage/svg/file-typescript.svg +1 -0
  944. package/storage/svg/file-vite.svg +1 -0
  945. package/storage/svg/file-vscode.svg +1 -0
  946. package/storage/svg/file-vue.svg +1 -0
  947. package/storage/svg/file-wasm.svg +1 -0
  948. package/storage/svg/file-webpack.svg +1 -0
  949. package/storage/svg/file-yml.svg +1 -0
  950. package/storage/svg/file-zig.svg +1 -0
  951. package/storage/svg/file-zip.svg +1 -0
  952. package/storage/svg/file.svg +1 -0
  953. package/storage/svg/folder-assets-open.svg +1 -0
  954. package/storage/svg/folder-assets.svg +1 -0
  955. package/storage/svg/folder-components-open.svg +1 -0
  956. package/storage/svg/folder-components.svg +1 -0
  957. package/storage/svg/folder-docs-open.svg +1 -0
  958. package/storage/svg/folder-docs.svg +1 -0
  959. package/storage/svg/folder-git-open.svg +1 -0
  960. package/storage/svg/folder-git.svg +1 -0
  961. package/storage/svg/folder-open.svg +1 -0
  962. package/storage/svg/folder-output-open.svg +1 -0
  963. package/storage/svg/folder-output.svg +1 -0
  964. package/storage/svg/folder-packages-open.svg +1 -0
  965. package/storage/svg/folder-packages.svg +1 -0
  966. package/storage/svg/folder-public-open.svg +1 -0
  967. package/storage/svg/folder-public.svg +1 -0
  968. package/storage/svg/folder-scripts-open.svg +1 -0
  969. package/storage/svg/folder-scripts.svg +1 -0
  970. package/storage/svg/folder-src-open.svg +1 -0
  971. package/storage/svg/folder-src.svg +1 -0
  972. package/storage/svg/folder-test-open.svg +1 -0
  973. package/storage/svg/folder-test.svg +1 -0
  974. package/storage/svg/folder.svg +1 -0
  975. package/storage/svg/gear.svg +1 -0
  976. package/storage/svg/help.svg +1 -0
  977. package/storage/svg/highlight.svg +1 -0
  978. package/storage/svg/home.svg +1 -0
  979. package/storage/svg/inbox.svg +1 -0
  980. package/storage/svg/italic.svg +1 -0
  981. package/storage/svg/keyboard.svg +1 -0
  982. package/storage/svg/link.svg +1 -0
  983. package/storage/svg/list-checks.svg +1 -0
  984. package/storage/svg/lock.svg +1 -0
  985. package/storage/svg/log-out.svg +1 -0
  986. package/storage/svg/map.svg +1 -0
  987. package/storage/svg/mastercard.svg +1 -0
  988. package/storage/svg/pause.svg +1 -0
  989. package/storage/svg/pencil.svg +1 -0
  990. package/storage/svg/play.svg +1 -0
  991. package/storage/svg/plus.svg +1 -0
  992. package/storage/svg/redo.svg +1 -0
  993. package/storage/svg/save.svg +1 -0
  994. package/storage/svg/sidebar-filled.svg +1 -0
  995. package/storage/svg/sidebar.svg +1 -0
  996. package/storage/svg/slash.svg +1 -0
  997. package/storage/svg/sliders.svg +1 -0
  998. package/storage/svg/strikethrough.svg +1 -0
  999. package/storage/svg/trash.svg +1 -0
  1000. package/storage/svg/triangle.svg +1 -0
  1001. package/storage/svg/undo.svg +1 -0
  1002. package/storage/svg/unlink.svg +1 -0
  1003. package/storage/svg/user.svg +1 -0
  1004. package/storage/svg/visa.svg +1 -0
  1005. package/storage/svg/zoom-in.svg +1 -0
  1006. package/storage/svg/zoom-out.svg +1 -0
  1007. package/tokens.scss +1 -1
  1008. package/vite.config.ts +47 -46
  1009. package/build/components/accordion/more.d.ts +0 -20
  1010. package/build/components/accordion/more.js +0 -76
  1011. package/build/components/anchor/scss/index.scss +0 -2
  1012. package/build/components/announcement-banner/index.d.ts +0 -33
  1013. package/build/components/announcement-banner/index.js +0 -61
  1014. package/build/components/announcement-banner/scss/index.scss +0 -2
  1015. package/build/components/autosave/index.d.ts +0 -12
  1016. package/build/components/autosave/index.js +0 -140
  1017. package/build/components/autosave/scss/index.scss +0 -2
  1018. package/build/components/back-to-top/index.d.ts +0 -16
  1019. package/build/components/back-to-top/index.js +0 -182
  1020. package/build/components/back-to-top/scss/index.scss +0 -2
  1021. package/build/components/bento-grid/index.d.ts +0 -25
  1022. package/build/components/bento-grid/index.js +0 -38
  1023. package/build/components/bento-grid/scss/index.scss +0 -2
  1024. package/build/components/bento-grid-spotlight/index.d.ts +0 -35
  1025. package/build/components/bento-grid-spotlight/index.js +0 -108
  1026. package/build/components/bento-grid-spotlight/scss/index.scss +0 -2
  1027. package/build/components/bookmark-button/index.d.ts +0 -23
  1028. package/build/components/bookmark-button/index.js +0 -120
  1029. package/build/components/bookmark-button/scss/index.scss +0 -2
  1030. package/build/components/breadcrumb/ellipsis.d.ts +0 -12
  1031. package/build/components/breadcrumb/ellipsis.js +0 -11
  1032. package/build/components/breadcrumb/item.d.ts +0 -12
  1033. package/build/components/breadcrumb/item.js +0 -9
  1034. package/build/components/breadcrumb/link.d.ts +0 -15
  1035. package/build/components/breadcrumb/link.js +0 -14
  1036. package/build/components/breadcrumb/list.d.ts +0 -12
  1037. package/build/components/breadcrumb/list.js +0 -9
  1038. package/build/components/breadcrumb/menu.d.ts +0 -13
  1039. package/build/components/breadcrumb/menu.js +0 -16
  1040. package/build/components/breadcrumb/page.d.ts +0 -12
  1041. package/build/components/breadcrumb/page.js +0 -9
  1042. package/build/components/breadcrumb/separator.d.ts +0 -12
  1043. package/build/components/breadcrumb/separator.js +0 -11
  1044. package/build/components/breadcrumb/svg/caret.svg +0 -1
  1045. package/build/components/breadcrumb/svg/chevron.svg +0 -1
  1046. package/build/components/breadcrumb/svg/more.svg +0 -1
  1047. package/build/components/breadcrumbs/index.d.ts +0 -27
  1048. package/build/components/breadcrumbs/index.js +0 -324
  1049. package/build/components/breadcrumbs/scss/index.scss +0 -2
  1050. package/build/components/button/svg/plus.svg +0 -1
  1051. package/build/components/card-input/index.d.ts +0 -31
  1052. package/build/components/card-input/index.js +0 -562
  1053. package/build/components/card-input/scss/index.scss +0 -2
  1054. package/build/components/carousel-3d/index.d.ts +0 -27
  1055. package/build/components/carousel-3d/index.js +0 -248
  1056. package/build/components/carousel-3d/scss/index.scss +0 -2
  1057. package/build/components/checkbox-group/index.d.ts +0 -30
  1058. package/build/components/checkbox-group/index.js +0 -101
  1059. package/build/components/checkbox-group/scss/index.scss +0 -2
  1060. package/build/components/code-morph/index.d.ts +0 -25
  1061. package/build/components/code-morph/index.js +0 -401
  1062. package/build/components/code-morph/scss/index.scss +0 -2
  1063. package/build/components/collapsible-sidebar/index.d.ts +0 -41
  1064. package/build/components/collapsible-sidebar/index.js +0 -105
  1065. package/build/components/collapsible-sidebar/scss/index.scss +0 -2
  1066. package/build/components/command/constants.d.ts +0 -3
  1067. package/build/components/command/constants.js +0 -3
  1068. package/build/components/command-palette/index.d.ts +0 -51
  1069. package/build/components/command-palette/index.js +0 -319
  1070. package/build/components/command-palette/scss/index.scss +0 -2
  1071. package/build/components/composer/index.d.ts +0 -29
  1072. package/build/components/composer/index.js +0 -79
  1073. package/build/components/composer/scss/index.scss +0 -2
  1074. package/build/components/composer/svg/arrow-up.svg +0 -1
  1075. package/build/components/contribution-heatmap/index.d.ts +0 -30
  1076. package/build/components/contribution-heatmap/index.js +0 -236
  1077. package/build/components/contribution-heatmap/scss/index.scss +0 -2
  1078. package/build/components/date-range-picker/index.d.ts +0 -28
  1079. package/build/components/date-range-picker/index.js +0 -443
  1080. package/build/components/date-range-picker/scss/index.scss +0 -2
  1081. package/build/components/dynamic-island/index.d.ts +0 -23
  1082. package/build/components/dynamic-island/index.js +0 -179
  1083. package/build/components/dynamic-island/scss/index.scss +0 -2
  1084. package/build/components/email-typo-fix/index.d.ts +0 -28
  1085. package/build/components/email-typo-fix/index.js +0 -416
  1086. package/build/components/email-typo-fix/scss/index.scss +0 -2
  1087. package/build/components/expanding-card/index.d.ts +0 -26
  1088. package/build/components/expanding-card/index.js +0 -265
  1089. package/build/components/expanding-card/scss/index.scss +0 -2
  1090. package/build/components/feature-spotlight/index.d.ts +0 -37
  1091. package/build/components/feature-spotlight/index.js +0 -248
  1092. package/build/components/feature-spotlight/scss/index.scss +0 -2
  1093. package/build/components/file-tree/index.d.ts +0 -31
  1094. package/build/components/file-tree/index.js +0 -208
  1095. package/build/components/file-tree/scss/index.scss +0 -2
  1096. package/build/components/filter-grid/index.d.ts +0 -23
  1097. package/build/components/filter-grid/index.js +0 -240
  1098. package/build/components/filter-grid/scss/index.scss +0 -2
  1099. package/build/components/gradient-text/index.d.ts +0 -19
  1100. package/build/components/gradient-text/index.js +0 -14
  1101. package/build/components/gradient-text/scss/index.scss +0 -2
  1102. package/build/components/header/index.d.ts +0 -41
  1103. package/build/components/header/index.js +0 -281
  1104. package/build/components/header/scss/index.scss +0 -2
  1105. package/build/components/hover-card/index.d.ts +0 -47
  1106. package/build/components/hover-card/index.js +0 -197
  1107. package/build/components/hover-card/scss/index.scss +0 -2
  1108. package/build/components/kanban-board/index.d.ts +0 -23
  1109. package/build/components/kanban-board/index.js +0 -235
  1110. package/build/components/kanban-board/scss/index.scss +0 -2
  1111. package/build/components/lightbox/index.d.ts +0 -32
  1112. package/build/components/lightbox/index.js +0 -396
  1113. package/build/components/lightbox/scss/index.scss +0 -2
  1114. package/build/components/lightbox/spring.d.ts +0 -16
  1115. package/build/components/lightbox/spring.js +0 -71
  1116. package/build/components/line-shadow-text/index.d.ts +0 -17
  1117. package/build/components/line-shadow-text/index.js +0 -15
  1118. package/build/components/line-shadow-text/scss/index.scss +0 -2
  1119. package/build/components/log/index.d.ts +0 -20
  1120. package/build/components/log/index.js +0 -125
  1121. package/build/components/log/scss/index.scss +0 -2
  1122. package/build/components/long-press/bind.d.ts +0 -21
  1123. package/build/components/long-press/bind.js +0 -136
  1124. package/build/components/long-press/button.d.ts +0 -21
  1125. package/build/components/long-press/button.js +0 -25
  1126. package/build/components/long-press/index.d.ts +0 -2181
  1127. package/build/components/long-press/index.js +0 -4
  1128. package/build/components/long-press/scss/index.scss +0 -2
  1129. package/build/components/modal/index.d.ts +0 -24
  1130. package/build/components/modal/index.js +0 -75
  1131. package/build/components/modal/scss/index.scss +0 -2
  1132. package/build/components/morphing-button/index.d.ts +0 -24
  1133. package/build/components/morphing-button/index.js +0 -127
  1134. package/build/components/morphing-button/scss/index.scss +0 -2
  1135. package/build/components/morphing-nav/index.d.ts +0 -38
  1136. package/build/components/morphing-nav/index.js +0 -342
  1137. package/build/components/morphing-nav/scss/index.scss +0 -2
  1138. package/build/components/multi-step-form/index.d.ts +0 -32
  1139. package/build/components/multi-step-form/index.js +0 -305
  1140. package/build/components/multi-step-form/scss/index.scss +0 -2
  1141. package/build/components/navigation-menu/index.d.ts +0 -28
  1142. package/build/components/navigation-menu/index.js +0 -419
  1143. package/build/components/navigation-menu/scss/index.scss +0 -2
  1144. package/build/components/nested-menu/index.d.ts +0 -27
  1145. package/build/components/nested-menu/index.js +0 -374
  1146. package/build/components/nested-menu/scss/index.scss +0 -2
  1147. package/build/components/normalize/scss/index.scss +0 -3
  1148. package/build/components/notification-bell/index.d.ts +0 -13
  1149. package/build/components/notification-bell/index.js +0 -87
  1150. package/build/components/notification-bell/scss/index.scss +0 -2
  1151. package/build/components/onboarding-checklist/index.d.ts +0 -29
  1152. package/build/components/onboarding-checklist/index.js +0 -196
  1153. package/build/components/onboarding-checklist/scss/index.scss +0 -2
  1154. package/build/components/page-dots/index.d.ts +0 -24
  1155. package/build/components/page-dots/index.js +0 -116
  1156. package/build/components/page-dots/scss/index.scss +0 -2
  1157. package/build/components/pagination/svg/arrow-left.svg +0 -1
  1158. package/build/components/pagination/svg/arrow-right.svg +0 -1
  1159. package/build/components/password/constants.d.ts +0 -2
  1160. package/build/components/password/constants.js +0 -2
  1161. package/build/components/password/index.d.ts +0 -22
  1162. package/build/components/password/index.js +0 -74
  1163. package/build/components/password/scss/index.scss +0 -2
  1164. package/build/components/plan-card/index.d.ts +0 -36
  1165. package/build/components/plan-card/index.js +0 -257
  1166. package/build/components/plan-card/scss/index.scss +0 -2
  1167. package/build/components/radio-cards/index.d.ts +0 -36
  1168. package/build/components/radio-cards/index.js +0 -106
  1169. package/build/components/radio-cards/scss/index.scss +0 -2
  1170. package/build/components/range-filter/index.d.ts +0 -20
  1171. package/build/components/range-filter/index.js +0 -216
  1172. package/build/components/range-filter/scss/index.scss +0 -2
  1173. package/build/components/range-slider/index.d.ts +0 -30
  1174. package/build/components/range-slider/index.js +0 -287
  1175. package/build/components/range-slider/scss/index.scss +0 -2
  1176. package/build/components/reading-progress/index.d.ts +0 -13
  1177. package/build/components/reading-progress/index.js +0 -106
  1178. package/build/components/reading-progress/scss/index.scss +0 -2
  1179. package/build/components/scroll-fade/index.d.ts +0 -39
  1180. package/build/components/scroll-fade/index.js +0 -104
  1181. package/build/components/scroll-fade/scss/index.scss +0 -2
  1182. package/build/components/scroll-spine/index.d.ts +0 -26
  1183. package/build/components/scroll-spine/index.js +0 -204
  1184. package/build/components/scroll-spine/scss/index.scss +0 -2
  1185. package/build/components/scroll-velocity/index.d.ts +0 -22
  1186. package/build/components/scroll-velocity/index.js +0 -160
  1187. package/build/components/scroll-velocity/scss/index.scss +0 -2
  1188. package/build/components/scrub-input/index.d.ts +0 -39
  1189. package/build/components/scrub-input/index.js +0 -221
  1190. package/build/components/scrub-input/scss/index.scss +0 -2
  1191. package/build/components/select-menu/index.d.ts +0 -34
  1192. package/build/components/select-menu/index.js +0 -329
  1193. package/build/components/select-menu/scss/index.scss +0 -2
  1194. package/build/components/selection-toolbar/index.d.ts +0 -36
  1195. package/build/components/selection-toolbar/index.js +0 -442
  1196. package/build/components/selection-toolbar/scss/index.scss +0 -2
  1197. package/build/components/settings/index.d.ts +0 -43
  1198. package/build/components/settings/index.js +0 -147
  1199. package/build/components/settings/scss/index.scss +0 -2
  1200. package/build/components/settings/svg/close.svg +0 -1
  1201. package/build/components/settings/svg/saved.svg +0 -1
  1202. package/build/components/share-button/index.d.ts +0 -29
  1203. package/build/components/share-button/index.js +0 -191
  1204. package/build/components/share-button/scss/index.scss +0 -2
  1205. package/build/components/sheet/index.d.ts +0 -33
  1206. package/build/components/sheet/index.js +0 -110
  1207. package/build/components/sheet/scss/index.scss +0 -2
  1208. package/build/components/shiny-text/index.d.ts +0 -17
  1209. package/build/components/shiny-text/index.js +0 -14
  1210. package/build/components/shiny-text/scss/index.scss +0 -2
  1211. package/build/components/shortcut-sheet/index.d.ts +0 -48
  1212. package/build/components/shortcut-sheet/index.js +0 -304
  1213. package/build/components/shortcut-sheet/scss/index.scss +0 -2
  1214. package/build/components/sidebar/index.d.ts +0 -13
  1215. package/build/components/sidebar/index.js +0 -13
  1216. package/build/components/sidebar/scss/index.scss +0 -2
  1217. package/build/components/slider/index.d.ts +0 -25
  1218. package/build/components/slider/index.js +0 -188
  1219. package/build/components/slider/scss/index.scss +0 -2
  1220. package/build/components/sliding-tabs/index.d.ts +0 -28
  1221. package/build/components/sliding-tabs/index.js +0 -188
  1222. package/build/components/sliding-tabs/scss/index.scss +0 -2
  1223. package/build/components/snap-carousel/index.d.ts +0 -30
  1224. package/build/components/snap-carousel/index.js +0 -233
  1225. package/build/components/snap-carousel/scss/index.scss +0 -2
  1226. package/build/components/sparkline/index.d.ts +0 -26
  1227. package/build/components/sparkline/index.js +0 -173
  1228. package/build/components/sparkline/scss/index.scss +0 -2
  1229. package/build/components/stacked-drawer/index.d.ts +0 -24
  1230. package/build/components/stacked-drawer/index.js +0 -211
  1231. package/build/components/stacked-drawer/scss/index.scss +0 -2
  1232. package/build/components/stat-counter/index.d.ts +0 -32
  1233. package/build/components/stat-counter/index.js +0 -216
  1234. package/build/components/stat-counter/scss/index.scss +0 -2
  1235. package/build/components/status-picker/index.d.ts +0 -32
  1236. package/build/components/status-picker/index.js +0 -198
  1237. package/build/components/status-picker/scss/index.scss +0 -2
  1238. package/build/components/sticky-stack/index.d.ts +0 -33
  1239. package/build/components/sticky-stack/index.js +0 -184
  1240. package/build/components/sticky-stack/scss/index.scss +0 -2
  1241. package/build/components/story-progress/index.d.ts +0 -26
  1242. package/build/components/story-progress/index.js +0 -196
  1243. package/build/components/story-progress/scss/index.scss +0 -2
  1244. package/build/components/swipe-deck/index.d.ts +0 -19
  1245. package/build/components/swipe-deck/index.js +0 -300
  1246. package/build/components/swipe-deck/scss/index.scss +0 -2
  1247. package/build/components/tabs/scss/index.scss +0 -2
  1248. package/build/components/tag-input/index.d.ts +0 -27
  1249. package/build/components/tag-input/index.js +0 -309
  1250. package/build/components/tag-input/scss/index.scss +0 -2
  1251. package/build/components/task-list/index.d.ts +0 -28
  1252. package/build/components/task-list/index.js +0 -107
  1253. package/build/components/task-list/scss/index.scss +0 -2
  1254. package/build/components/tasklist/constants.d.ts +0 -2
  1255. package/build/components/tasklist/constants.js +0 -2
  1256. package/build/components/text-animate/index.d.ts +0 -30
  1257. package/build/components/text-animate/index.js +0 -97
  1258. package/build/components/text-animate/scss/index.scss +0 -2
  1259. package/build/components/text-progress/index.d.ts +0 -13
  1260. package/build/components/text-progress/index.js +0 -114
  1261. package/build/components/text-progress/scss/index.scss +0 -2
  1262. package/build/components/thumbnail/scss/index.scss +0 -2
  1263. package/build/components/toast/manager.d.ts +0 -64
  1264. package/build/components/toast/manager.js +0 -221
  1265. package/build/components/toast/svg/check.svg +0 -1
  1266. package/build/components/toast/svg/chevron.svg +0 -1
  1267. package/build/components/toast/svg/close.svg +0 -1
  1268. package/build/components/toast/svg/copy.svg +0 -1
  1269. package/build/components/toast/svg/info.svg +0 -1
  1270. package/build/components/tooltip/context.d.ts +0 -22
  1271. package/build/components/tooltip/context.js +0 -66
  1272. package/build/components/tooltip/group.d.ts +0 -29
  1273. package/build/components/tooltip/group.js +0 -128
  1274. package/build/components/tooltip/options.d.ts +0 -7
  1275. package/build/components/tooltip/options.js +0 -21
  1276. package/build/components/tree/index.d.ts +0 -28
  1277. package/build/components/tree/index.js +0 -182
  1278. package/build/components/tree/scss/index.scss +0 -2
  1279. package/build/components/tree-view/index.d.ts +0 -25
  1280. package/build/components/tree-view/index.js +0 -205
  1281. package/build/components/tree-view/scss/index.scss +0 -2
  1282. package/build/components/typewriter-retype/index.d.ts +0 -8
  1283. package/build/components/typewriter-retype/index.js +0 -122
  1284. package/build/components/typewriter-retype/scss/index.scss +0 -2
  1285. package/build/components/undo-toast/index.d.ts +0 -30
  1286. package/build/components/undo-toast/index.js +0 -262
  1287. package/build/components/undo-toast/scss/index.scss +0 -2
  1288. package/build/components/value-flash/index.d.ts +0 -12
  1289. package/build/components/value-flash/index.js +0 -106
  1290. package/build/components/value-flash/scss/index.scss +0 -2
  1291. package/build/components/waitlist-join/index.d.ts +0 -34
  1292. package/build/components/waitlist-join/index.js +0 -402
  1293. package/build/components/waitlist-join/scss/index.scss +0 -2
  1294. package/build/components/web-search/brands.d.ts +0 -121
  1295. package/build/components/web-search/brands.js +0 -138
  1296. package/build/components/web-search/index.d.ts +0 -31
  1297. package/build/components/web-search/index.js +0 -245
  1298. package/build/components/web-search/scss/index.scss +0 -2
  1299. package/build/components/word-rotator/index.d.ts +0 -14
  1300. package/build/components/word-rotator/index.js +0 -196
  1301. package/build/components/word-rotator/scss/index.scss +0 -2
  1302. package/build/css-utilities/absolute/scss/index.scss +0 -2
  1303. package/build/css-utilities/disabled/scss/index.scss +0 -2
  1304. package/build/css-utilities/hidden/scss/index.scss +0 -2
  1305. package/build/css-utilities/not-allowed/scss/index.scss +0 -2
  1306. package/build/css-utilities/tabular/scss/index.scss +0 -2
  1307. package/lib.scss +0 -2
  1308. package/src/components/accordion/more.ts +0 -97
  1309. package/src/components/anchor/scss/index.scss +0 -56
  1310. package/src/components/anchor/scss/variables.scss +0 -4
  1311. package/src/components/announcement-banner/index.ts +0 -81
  1312. package/src/components/announcement-banner/scss/index.scss +0 -183
  1313. package/src/components/announcement-banner/scss/variables.scss +0 -18
  1314. package/src/components/autosave/index.ts +0 -113
  1315. package/src/components/autosave/scss/index.scss +0 -155
  1316. package/src/components/autosave/scss/variables.scss +0 -22
  1317. package/src/components/back-to-top/index.ts +0 -293
  1318. package/src/components/back-to-top/scss/index.scss +0 -111
  1319. package/src/components/back-to-top/scss/variables.scss +0 -30
  1320. package/src/components/bento-grid/index.ts +0 -63
  1321. package/src/components/bento-grid/scss/index.scss +0 -175
  1322. package/src/components/bento-grid/scss/variables.scss +0 -19
  1323. package/src/components/bento-grid-spotlight/index.ts +0 -133
  1324. package/src/components/bento-grid-spotlight/scss/index.scss +0 -226
  1325. package/src/components/bento-grid-spotlight/scss/variables.scss +0 -36
  1326. package/src/components/bookmark-button/index.ts +0 -174
  1327. package/src/components/bookmark-button/scss/index.scss +0 -162
  1328. package/src/components/bookmark-button/scss/variables.scss +0 -28
  1329. package/src/components/breadcrumb/ellipsis.ts +0 -17
  1330. package/src/components/breadcrumb/item.ts +0 -10
  1331. package/src/components/breadcrumb/link.ts +0 -21
  1332. package/src/components/breadcrumb/list.ts +0 -10
  1333. package/src/components/breadcrumb/menu.ts +0 -20
  1334. package/src/components/breadcrumb/page.ts +0 -16
  1335. package/src/components/breadcrumb/separator.ts +0 -17
  1336. package/src/components/breadcrumb/svg/caret.svg +0 -1
  1337. package/src/components/breadcrumb/svg/chevron.svg +0 -1
  1338. package/src/components/breadcrumb/svg/more.svg +0 -1
  1339. package/src/components/breadcrumbs/index.ts +0 -479
  1340. package/src/components/breadcrumbs/scss/index.scss +0 -235
  1341. package/src/components/breadcrumbs/scss/variables.scss +0 -30
  1342. package/src/components/button/svg/plus.svg +0 -1
  1343. package/src/components/card-input/index.ts +0 -594
  1344. package/src/components/card-input/scss/index.scss +0 -512
  1345. package/src/components/card-input/scss/variables.scss +0 -29
  1346. package/src/components/carousel-3d/index.ts +0 -405
  1347. package/src/components/carousel-3d/scss/index.scss +0 -155
  1348. package/src/components/carousel-3d/scss/variables.scss +0 -25
  1349. package/src/components/checkbox/svg/check.svg +0 -1
  1350. package/src/components/checkbox-group/index.ts +0 -171
  1351. package/src/components/checkbox-group/scss/index.scss +0 -229
  1352. package/src/components/checkbox-group/scss/variables.scss +0 -28
  1353. package/src/components/code-morph/index.ts +0 -459
  1354. package/src/components/code-morph/scss/index.scss +0 -384
  1355. package/src/components/code-morph/scss/variables.scss +0 -33
  1356. package/src/components/collapsible-sidebar/index.ts +0 -193
  1357. package/src/components/collapsible-sidebar/scss/index.scss +0 -220
  1358. package/src/components/collapsible-sidebar/scss/variables.scss +0 -42
  1359. package/src/components/command/constants.ts +0 -6
  1360. package/src/components/command-palette/index.ts +0 -456
  1361. package/src/components/command-palette/scss/index.scss +0 -235
  1362. package/src/components/command-palette/scss/variables.scss +0 -42
  1363. package/src/components/composer/index.ts +0 -117
  1364. package/src/components/composer/scss/index.scss +0 -105
  1365. package/src/components/composer/scss/variables.scss +0 -82
  1366. package/src/components/composer/svg/arrow-up.svg +0 -1
  1367. package/src/components/contribution-heatmap/index.ts +0 -348
  1368. package/src/components/contribution-heatmap/scss/index.scss +0 -151
  1369. package/src/components/contribution-heatmap/scss/variables.scss +0 -39
  1370. package/src/components/date-range-picker/index.ts +0 -641
  1371. package/src/components/date-range-picker/scss/index.scss +0 -380
  1372. package/src/components/date-range-picker/scss/variables.scss +0 -22
  1373. package/src/components/dynamic-island/index.ts +0 -161
  1374. package/src/components/dynamic-island/scss/index.scss +0 -278
  1375. package/src/components/dynamic-island/scss/variables.scss +0 -39
  1376. package/src/components/email-typo-fix/index.ts +0 -615
  1377. package/src/components/email-typo-fix/scss/index.scss +0 -213
  1378. package/src/components/email-typo-fix/scss/variables.scss +0 -18
  1379. package/src/components/expanding-card/index.ts +0 -377
  1380. package/src/components/expanding-card/scss/index.scss +0 -232
  1381. package/src/components/expanding-card/scss/variables.scss +0 -22
  1382. package/src/components/feature-spotlight/index.ts +0 -437
  1383. package/src/components/feature-spotlight/scss/index.scss +0 -254
  1384. package/src/components/feature-spotlight/scss/variables.scss +0 -36
  1385. package/src/components/file-tree/index.ts +0 -319
  1386. package/src/components/file-tree/scss/index.scss +0 -138
  1387. package/src/components/file-tree/scss/variables.scss +0 -18
  1388. package/src/components/filter-grid/index.ts +0 -344
  1389. package/src/components/filter-grid/scss/index.scss +0 -142
  1390. package/src/components/filter-grid/scss/variables.scss +0 -41
  1391. package/src/components/gradient-text/index.ts +0 -26
  1392. package/src/components/gradient-text/scss/index.scss +0 -20
  1393. package/src/components/gradient-text/scss/variables.scss +0 -6
  1394. package/src/components/header/index.ts +0 -318
  1395. package/src/components/header/scss/index.scss +0 -508
  1396. package/src/components/header/scss/variables.scss +0 -21
  1397. package/src/components/hover-card/index.ts +0 -319
  1398. package/src/components/hover-card/scss/index.scss +0 -117
  1399. package/src/components/hover-card/scss/variables.scss +0 -25
  1400. package/src/components/kanban-board/index.ts +0 -326
  1401. package/src/components/kanban-board/scss/index.scss +0 -126
  1402. package/src/components/kanban-board/scss/variables.scss +0 -39
  1403. package/src/components/lightbox/index.ts +0 -594
  1404. package/src/components/lightbox/scss/index.scss +0 -194
  1405. package/src/components/lightbox/scss/variables.scss +0 -24
  1406. package/src/components/lightbox/spring.ts +0 -118
  1407. package/src/components/line-shadow-text/index.ts +0 -24
  1408. package/src/components/line-shadow-text/scss/index.scss +0 -45
  1409. package/src/components/line-shadow-text/scss/variables.scss +0 -6
  1410. package/src/components/log/index.ts +0 -156
  1411. package/src/components/log/scss/index.scss +0 -269
  1412. package/src/components/log/scss/variables.scss +0 -19
  1413. package/src/components/long-press/bind.ts +0 -159
  1414. package/src/components/long-press/button.ts +0 -46
  1415. package/src/components/long-press/index.ts +0 -6
  1416. package/src/components/long-press/scss/index.scss +0 -60
  1417. package/src/components/long-press/scss/variables.scss +0 -9
  1418. package/src/components/modal/index.ts +0 -91
  1419. package/src/components/modal/scss/index.scss +0 -81
  1420. package/src/components/modal/scss/variables.scss +0 -42
  1421. package/src/components/morphing-button/index.ts +0 -188
  1422. package/src/components/morphing-button/scss/index.scss +0 -154
  1423. package/src/components/morphing-button/scss/variables.scss +0 -21
  1424. package/src/components/morphing-nav/index.ts +0 -496
  1425. package/src/components/morphing-nav/scss/index.scss +0 -284
  1426. package/src/components/morphing-nav/scss/variables.scss +0 -36
  1427. package/src/components/multi-step-form/index.ts +0 -368
  1428. package/src/components/multi-step-form/scss/index.scss +0 -397
  1429. package/src/components/multi-step-form/scss/variables.scss +0 -22
  1430. package/src/components/navigation-menu/index.ts +0 -608
  1431. package/src/components/navigation-menu/scss/index.scss +0 -213
  1432. package/src/components/navigation-menu/scss/variables.scss +0 -24
  1433. package/src/components/nested-menu/index.ts +0 -446
  1434. package/src/components/nested-menu/scss/index.scss +0 -219
  1435. package/src/components/nested-menu/scss/variables.scss +0 -26
  1436. package/src/components/normalize/scss/index.scss +0 -35
  1437. package/src/components/notification-bell/index.ts +0 -102
  1438. package/src/components/notification-bell/scss/index.scss +0 -132
  1439. package/src/components/notification-bell/scss/variables.scss +0 -41
  1440. package/src/components/notification-bell/svg/bell.svg +0 -1
  1441. package/src/components/onboarding-checklist/index.ts +0 -252
  1442. package/src/components/onboarding-checklist/scss/index.scss +0 -414
  1443. package/src/components/onboarding-checklist/scss/variables.scss +0 -17
  1444. package/src/components/page-dots/index.ts +0 -137
  1445. package/src/components/page-dots/scss/index.scss +0 -95
  1446. package/src/components/page-dots/scss/variables.scss +0 -26
  1447. package/src/components/pagination/svg/arrow-left.svg +0 -1
  1448. package/src/components/pagination/svg/arrow-right.svg +0 -1
  1449. package/src/components/password/constants.ts +0 -4
  1450. package/src/components/password/index.ts +0 -97
  1451. package/src/components/password/scss/index.scss +0 -188
  1452. package/src/components/password/scss/variables.scss +0 -50
  1453. package/src/components/plan-card/index.ts +0 -404
  1454. package/src/components/plan-card/scss/index.scss +0 -513
  1455. package/src/components/plan-card/scss/variables.scss +0 -33
  1456. package/src/components/radio-cards/index.ts +0 -145
  1457. package/src/components/radio-cards/scss/index.scss +0 -232
  1458. package/src/components/radio-cards/scss/variables.scss +0 -32
  1459. package/src/components/range-filter/index.ts +0 -295
  1460. package/src/components/range-filter/scss/index.scss +0 -257
  1461. package/src/components/range-filter/scss/variables.scss +0 -20
  1462. package/src/components/range-slider/index.ts +0 -277
  1463. package/src/components/range-slider/scss/index.scss +0 -234
  1464. package/src/components/range-slider/scss/variables.scss +0 -26
  1465. package/src/components/reading-progress/index.ts +0 -160
  1466. package/src/components/reading-progress/scss/index.scss +0 -115
  1467. package/src/components/reading-progress/scss/variables.scss +0 -31
  1468. package/src/components/scroll-fade/index.ts +0 -131
  1469. package/src/components/scroll-fade/scss/index.scss +0 -104
  1470. package/src/components/scroll-fade/scss/variables.scss +0 -10
  1471. package/src/components/scroll-spine/index.ts +0 -355
  1472. package/src/components/scroll-spine/scss/index.scss +0 -209
  1473. package/src/components/scroll-spine/scss/variables.scss +0 -22
  1474. package/src/components/scroll-velocity/index.ts +0 -269
  1475. package/src/components/scroll-velocity/scss/index.scss +0 -29
  1476. package/src/components/scroll-velocity/scss/variables.scss +0 -3
  1477. package/src/components/scrub-input/index.ts +0 -339
  1478. package/src/components/scrub-input/scss/index.scss +0 -105
  1479. package/src/components/scrub-input/scss/variables.scss +0 -23
  1480. package/src/components/select-menu/index.ts +0 -499
  1481. package/src/components/select-menu/scss/index.scss +0 -192
  1482. package/src/components/select-menu/scss/variables.scss +0 -41
  1483. package/src/components/selection-toolbar/index.ts +0 -510
  1484. package/src/components/selection-toolbar/scss/index.scss +0 -221
  1485. package/src/components/selection-toolbar/scss/variables.scss +0 -24
  1486. package/src/components/settings/index.ts +0 -184
  1487. package/src/components/settings/scss/index.scss +0 -327
  1488. package/src/components/settings/scss/variables.scss +0 -50
  1489. package/src/components/settings/svg/close.svg +0 -1
  1490. package/src/components/settings/svg/saved.svg +0 -1
  1491. package/src/components/share-button/index.ts +0 -328
  1492. package/src/components/share-button/scss/index.scss +0 -191
  1493. package/src/components/share-button/scss/variables.scss +0 -24
  1494. package/src/components/sheet/index.ts +0 -170
  1495. package/src/components/sheet/scss/index.scss +0 -65
  1496. package/src/components/sheet/scss/variables.scss +0 -27
  1497. package/src/components/shiny-text/index.ts +0 -19
  1498. package/src/components/shiny-text/scss/index.scss +0 -32
  1499. package/src/components/shiny-text/scss/variables.scss +0 -7
  1500. package/src/components/shortcut-sheet/index.ts +0 -454
  1501. package/src/components/shortcut-sheet/scss/index.scss +0 -306
  1502. package/src/components/shortcut-sheet/scss/variables.scss +0 -36
  1503. package/src/components/sidebar/index.ts +0 -13
  1504. package/src/components/sidebar/scss/index.scss +0 -49
  1505. package/src/components/sidebar/scss/variables.scss +0 -20
  1506. package/src/components/slider/index.ts +0 -232
  1507. package/src/components/slider/scss/index.scss +0 -182
  1508. package/src/components/slider/scss/variables.scss +0 -15
  1509. package/src/components/sliding-tabs/index.ts +0 -291
  1510. package/src/components/sliding-tabs/scss/index.scss +0 -174
  1511. package/src/components/sliding-tabs/scss/variables.scss +0 -34
  1512. package/src/components/snap-carousel/index.ts +0 -324
  1513. package/src/components/snap-carousel/scss/index.scss +0 -174
  1514. package/src/components/snap-carousel/scss/variables.scss +0 -31
  1515. package/src/components/sparkline/index.ts +0 -234
  1516. package/src/components/sparkline/scss/index.scss +0 -169
  1517. package/src/components/sparkline/scss/variables.scss +0 -30
  1518. package/src/components/stacked-drawer/index.ts +0 -272
  1519. package/src/components/stacked-drawer/scss/index.scss +0 -122
  1520. package/src/components/stacked-drawer/scss/variables.scss +0 -20
  1521. package/src/components/stat-counter/index.ts +0 -337
  1522. package/src/components/stat-counter/scss/index.scss +0 -246
  1523. package/src/components/stat-counter/scss/variables.scss +0 -24
  1524. package/src/components/status-picker/index.ts +0 -323
  1525. package/src/components/status-picker/scss/index.scss +0 -290
  1526. package/src/components/status-picker/scss/variables.scss +0 -29
  1527. package/src/components/sticky-stack/index.ts +0 -313
  1528. package/src/components/sticky-stack/scss/index.scss +0 -167
  1529. package/src/components/sticky-stack/scss/variables.scss +0 -50
  1530. package/src/components/story-progress/index.ts +0 -247
  1531. package/src/components/story-progress/scss/index.scss +0 -205
  1532. package/src/components/story-progress/scss/variables.scss +0 -21
  1533. package/src/components/swipe-deck/index.ts +0 -438
  1534. package/src/components/swipe-deck/scss/index.scss +0 -275
  1535. package/src/components/swipe-deck/scss/variables.scss +0 -24
  1536. package/src/components/tabs/scss/index.scss +0 -62
  1537. package/src/components/tabs/scss/variables.scss +0 -4
  1538. package/src/components/tag-input/index.ts +0 -415
  1539. package/src/components/tag-input/scss/index.scss +0 -186
  1540. package/src/components/tag-input/scss/variables.scss +0 -30
  1541. package/src/components/task-list/index.ts +0 -137
  1542. package/src/components/task-list/scss/index.scss +0 -171
  1543. package/src/components/task-list/scss/variables.scss +0 -8
  1544. package/src/components/tasklist/constants.ts +0 -4
  1545. package/src/components/text/scss/variables.scss +0 -9
  1546. package/src/components/text-animate/index.ts +0 -142
  1547. package/src/components/text-animate/scss/index.scss +0 -106
  1548. package/src/components/text-animate/scss/variables.scss +0 -17
  1549. package/src/components/text-progress/index.ts +0 -170
  1550. package/src/components/text-progress/scss/index.scss +0 -148
  1551. package/src/components/text-progress/scss/variables.scss +0 -26
  1552. package/src/components/thumbnail/scss/index.scss +0 -62
  1553. package/src/components/thumbnail/scss/variables.scss +0 -19
  1554. package/src/components/toast/manager.ts +0 -342
  1555. package/src/components/toast/svg/check.svg +0 -1
  1556. package/src/components/toast/svg/chevron.svg +0 -1
  1557. package/src/components/toast/svg/close.svg +0 -1
  1558. package/src/components/toast/svg/copy.svg +0 -1
  1559. package/src/components/toast/svg/error.svg +0 -1
  1560. package/src/components/toast/svg/info.svg +0 -1
  1561. package/src/components/toast/svg/loading.svg +0 -1
  1562. package/src/components/toast/svg/success.svg +0 -1
  1563. package/src/components/toast/svg/warning.svg +0 -1
  1564. package/src/components/tooltip/context.ts +0 -96
  1565. package/src/components/tooltip/group.ts +0 -162
  1566. package/src/components/tooltip/options.ts +0 -33
  1567. package/src/components/tooltip/scss/_group.scss +0 -164
  1568. package/src/components/tree/index.ts +0 -259
  1569. package/src/components/tree/scss/index.scss +0 -105
  1570. package/src/components/tree/scss/variables.scss +0 -48
  1571. package/src/components/tree-view/index.ts +0 -285
  1572. package/src/components/tree-view/scss/index.scss +0 -169
  1573. package/src/components/tree-view/scss/variables.scss +0 -18
  1574. package/src/components/typewriter-retype/index.ts +0 -164
  1575. package/src/components/typewriter-retype/scss/index.scss +0 -142
  1576. package/src/components/typewriter-retype/scss/variables.scss +0 -46
  1577. package/src/components/undo-toast/index.ts +0 -359
  1578. package/src/components/undo-toast/scss/index.scss +0 -216
  1579. package/src/components/undo-toast/scss/variables.scss +0 -20
  1580. package/src/components/value-flash/index.ts +0 -121
  1581. package/src/components/value-flash/scss/index.scss +0 -193
  1582. package/src/components/value-flash/scss/variables.scss +0 -47
  1583. package/src/components/waitlist-join/index.ts +0 -545
  1584. package/src/components/waitlist-join/scss/index.scss +0 -401
  1585. package/src/components/waitlist-join/scss/variables.scss +0 -23
  1586. package/src/components/web-search/brands.ts +0 -155
  1587. package/src/components/web-search/index.ts +0 -316
  1588. package/src/components/web-search/scss/index.scss +0 -270
  1589. package/src/components/web-search/scss/variables.scss +0 -8
  1590. package/src/components/word-rotator/index.ts +0 -296
  1591. package/src/components/word-rotator/scss/index.scss +0 -33
  1592. package/src/components/word-rotator/scss/variables.scss +0 -7
  1593. package/src/css-utilities/absolute/scss/index.scss +0 -36
  1594. package/src/css-utilities/disabled/scss/index.scss +0 -4
  1595. package/src/css-utilities/hidden/scss/index.scss +0 -28
  1596. package/src/css-utilities/not-allowed/scss/index.scss +0 -7
  1597. package/src/css-utilities/tabular/scss/index.scss +0 -3
  1598. package/src/lib/index.scss +0 -7
  1599. package/src/lib/scss/breakpoint.scss +0 -41
  1600. package/src/lib/scss/color.scss +0 -1
  1601. package/src/lib/scss/list.scss +0 -77
  1602. package/src/lib/scss/string.scss +0 -34
  1603. package/src/tokens/index.scss +0 -9
  1604. package/storage/psd/Color Palette.psd +0 -0
  1605. /package/src/{lib → shared}/scss/css-variables.scss +0 -0
  1606. /package/src/{lib → shared}/scss/map.scss +0 -0
  1607. /package/src/{lib → shared}/scss/position.scss +0 -0
  1608. /package/{build/components/notification-bell → storage}/svg/bell.svg +0 -0
  1609. /package/{build/components/checkbox → storage}/svg/check.svg +0 -0
  1610. /package/{build/components/toast/svg/error.svg → storage/svg/circle-alert.svg} +0 -0
  1611. /package/{build/components/toast/svg/success.svg → storage/svg/circle-check.svg} +0 -0
  1612. /package/{build/components/toast/svg/loading.svg → storage/svg/spinner.svg} +0 -0
  1613. /package/{build/components/toast → storage}/svg/warning.svg +0 -0
@@ -0,0 +1,1673 @@
1
+ import type { Delta, EditorDocument } from './document';
2
+
3
+
4
+ type Closed = Readonly<{ at: number; frame: Frame }>;
5
+
6
+ type CssMode = 'declaration' | 'rule' | 'selector' | 'value';
7
+
8
+ type Entry = {
9
+ end: LexState;
10
+ marks: Mark[] | null;
11
+ start: LexState;
12
+ tokens: Token[];
13
+ };
14
+
15
+ // An opener still waiting for its closer; persistent, so a stack is shared by every line it reaches unchanged.
16
+ type Frame = Readonly<{
17
+ at: number;
18
+ depth: number;
19
+ entry: LineSyntax;
20
+ name: string;
21
+ parent: Frame | null;
22
+ }>;
23
+
24
+ type HighlightedLine = { state: LexState; tokens: Token[] };
25
+
26
+ type Language =
27
+ | 'css'
28
+ | 'html'
29
+ | 'javascript'
30
+ | 'json'
31
+ | 'jsonc'
32
+ | 'jsx'
33
+ | 'markdown'
34
+ | 'plain'
35
+ | 'python'
36
+ | 'scss'
37
+ | 'tsx'
38
+ | 'typescript';
39
+
40
+ type LexState = string;
41
+
42
+ type LineSyntax = Readonly<{
43
+ end: LexState;
44
+ start: LexState;
45
+ tokens: readonly Token[];
46
+ }>;
47
+
48
+ // A structural bracket or tag outside strings, comments and regular expressions; 'at' is its column.
49
+ type Mark = Readonly<{
50
+ at: number;
51
+ close: boolean;
52
+ name: string;
53
+ tag: boolean;
54
+ }>;
55
+
56
+ // Bracket and tag stacks across one line: what it starts with, what it ends with, every frame it closes, and the
57
+ // shallowest depth it reaches, so a scan for an opener's closer skips lines that never get that deep.
58
+ type Nesting = Readonly<{
59
+ brackets: Frame | null;
60
+ closed: readonly Closed[];
61
+ entry: LineSyntax;
62
+ from: Frame | null;
63
+ low: number;
64
+ tagFrom: Frame | null;
65
+ tagLow: number;
66
+ tags: Frame | null;
67
+ }>;
68
+
69
+ type ScriptFrame = {
70
+ closing?: boolean;
71
+ depth: number;
72
+ mode: 'code' | 'comment' | 'jsx' | 'tag' | 'template';
73
+ void?: boolean;
74
+ };
75
+
76
+ type Token = Readonly<{
77
+ from: number;
78
+ kind:
79
+ | 'color'
80
+ | 'comment'
81
+ | 'function'
82
+ | 'keyword'
83
+ | 'number'
84
+ | 'operator'
85
+ | 'property'
86
+ | 'regexp'
87
+ | 'selector'
88
+ | 'string'
89
+ | 'tag'
90
+ | 'type'
91
+ | 'variable';
92
+ to: number;
93
+ }>;
94
+
95
+
96
+ const ATTRIBUTE = /[\w:-]+/y;
97
+
98
+ const CACHES = new WeakMap<EditorDocument, Map<Language, SyntaxCache>>();
99
+
100
+ const CSS_HEX = /#[\da-f]{3,8}(?![\w-])/iy;
101
+
102
+ const CSS_IDENT = /(?:--|-?[a-z_])[\w-]*/iy;
103
+
104
+ const CSS_NUMBER = /[-+]?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?(?:%|[a-z]+)?/iy;
105
+
106
+ const DECLARATION = /(?:\$|--)?[\w-]+\s*:/y;
107
+
108
+ const EMBED_CLOSE: Record<string, RegExp> = {
109
+ script: /<\/script\s*>/i,
110
+ style: /<\/style\s*>/i
111
+ };
112
+
113
+ const ENTITY = /&(?:#\d+|#x[\da-f]+|\w+);/iy;
114
+
115
+ const EXTENSIONS: Record<string, Language> = {
116
+ cjs: 'javascript',
117
+ css: 'css',
118
+ cts: 'typescript',
119
+ htm: 'html',
120
+ html: 'html',
121
+ js: 'javascript',
122
+ json: 'json',
123
+ jsonc: 'jsonc',
124
+ jsx: 'javascript',
125
+ markdown: 'markdown',
126
+ md: 'markdown',
127
+ mjs: 'javascript',
128
+ mts: 'typescript',
129
+ py: 'python',
130
+ pyi: 'python',
131
+ scss: 'scss',
132
+ svg: 'html',
133
+ ts: 'typescript',
134
+ tsx: 'typescript',
135
+ vue: 'html',
136
+ xml: 'html'
137
+ };
138
+
139
+ const FENCE = /^\s{0,3}(`{3,}|~{3,})\s*([\w+-]*)/;
140
+
141
+ const GENERIC_CALL = /<[^>]*>\s*\(/y;
142
+
143
+ const HTML_DECLARATION = /<[!?][^>]*>?/y;
144
+
145
+ const HTML_TAG = /<(\/?)([\w:-]+)/y;
146
+
147
+ const JSX_KEYWORDS = new Set(['await', 'case', 'default', 'return', 'yield']);
148
+
149
+ const JSX_PRECEDERS = '(=,:?&|{[!;>';
150
+
151
+ const JSX_START =/<\/?(?:[A-Za-z][\w.:-]*|>)/y;
152
+
153
+ const JSX_TAG = /<(\/?)(?:[A-Za-z][\w.:-]*|(?=>))/y;
154
+
155
+ const KEYWORDS = new Set(
156
+ (
157
+ 'and as assert async await break case catch class const continue debugger def default del delete do elif else ' +
158
+ 'enum except export extends false finally for from function global if implements import in instanceof ' +
159
+ 'interface is lambda let new nonlocal not null of or package pass private protected public raise readonly ' +
160
+ 'return self static super switch this throw true try type typeof undefined var void while with yield None True ' +
161
+ 'False'
162
+ ).split(' ')
163
+ );
164
+
165
+ const LINE_LIMIT = 10000;
166
+
167
+ const LITERALS = new Set(['False', 'None', 'True', 'false', 'null', 'true', 'undefined']);
168
+
169
+ const MARKDOWN: [RegExp, Token['kind']][] = [
170
+ [/^\s{0,3}#{1,6}\s.*$/g, 'keyword'],
171
+ [/`+[^`]*`+/g, 'string'],
172
+ [/!?\[[^\]]*\]\([^)]*\)/g, 'property'],
173
+ [/\*\*[^*]+\*\*|__[^_]+__|\*[^*]+\*|_[^_]+_/g, 'type'],
174
+ [/^\s*(?:[-*>]|\d+\.)\s/g, 'operator'],
175
+ [/<!--.*?(?:-->|$)/g, 'comment']
176
+ ];
177
+
178
+ const NUMBER = /0[xob][\da-f_]+|\d[\d_]*(?:\.\d[\d_]*)?(?:e[-+]?\d+)?/iy;
179
+
180
+ const OPENERS: Record<string, string> = { ')': '(', ']': '[', '}': '{' };
181
+
182
+ const OPERATORS = '{}()[];,:=+-*/<>!?&|';
183
+
184
+ const PROTECTED = new Set<Token['kind']>(['comment', 'regexp', 'string']);
185
+
186
+ const REGEX_KEYWORDS = new Set(['case', 'return', 'throw']);
187
+
188
+ const REGEX_PRECEDERS = '=(:,!&|?;{';
189
+
190
+ const SEPARATOR = /[\\/]/;
191
+
192
+ const SPACE = /\s/;
193
+
194
+ const TAG = /<(\/?)([\w:-]+)\b[^>]*>/g;
195
+
196
+ const TAGGED = new Set<Language>(['html', 'javascript', 'jsx', 'tsx', 'typescript']);
197
+
198
+ const TYPE_PRECEDERS = new Set(['class', 'extends', 'interface', 'namespace', 'new', 'type']);
199
+
200
+ const VOID = /^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/i;
201
+
202
+
203
+ function after(text: string, i: number) {
204
+ while (i < text.length && SPACE.test(text[i])) {
205
+ i++;
206
+ }
207
+
208
+ return i;
209
+ }
210
+
211
+ function before(text: string, i: number) {
212
+ i--;
213
+
214
+ while (i >= 0 && SPACE.test(text[i])) {
215
+ i--;
216
+ }
217
+
218
+ return i;
219
+ }
220
+
221
+ function cssStatement(text: string, i: number, scss: boolean): CssMode {
222
+ let j = after(text, i),
223
+ n = text.length,
224
+ paren = 0,
225
+ terminator = '';
226
+
227
+ if (text[j] === '@') {
228
+ return 'rule';
229
+ }
230
+
231
+ for (let k = j; k < n; k++) {
232
+ let ch = text[k];
233
+
234
+ if (ch === '"' || ch === "'") {
235
+ k = skipString(text, k);
236
+ continue;
237
+ }
238
+
239
+ if (text.startsWith('/*', k)) {
240
+ let end = text.indexOf('*/', k + 2);
241
+
242
+ k = end < 0 ? n : end + 1;
243
+ continue;
244
+ }
245
+
246
+ if (scss && text.startsWith('//', k)) {
247
+ break;
248
+ }
249
+
250
+ if (scss && ch === '#' && text[k + 1] === '{') {
251
+ let end = text.indexOf('}', k + 2);
252
+
253
+ k = end < 0 ? n : end;
254
+ continue;
255
+ }
256
+
257
+ if (ch === '(') {
258
+ paren++;
259
+ }
260
+ else if (ch === ')') {
261
+ paren = Math.max(0, paren - 1);
262
+ }
263
+ else if (!paren && ch === '{') {
264
+ return 'selector';
265
+ }
266
+ else if (!paren && (ch === ';' || ch === '}')) {
267
+ terminator = ch;
268
+ break;
269
+ }
270
+ }
271
+
272
+ DECLARATION.lastIndex = j;
273
+
274
+ if (DECLARATION.test(text)) {
275
+ let colon = DECLARATION.lastIndex;
276
+
277
+ // 'a:hover' alone on a line is a selector awaiting its block; 'color: red' is a declaration.
278
+ if (text[colon] !== ':' && (terminator || colon >= n || SPACE.test(text[colon]))) {
279
+ return 'declaration';
280
+ }
281
+
282
+ return 'selector';
283
+ }
284
+
285
+ return terminator ? 'value' : 'selector';
286
+ }
287
+
288
+ function highlightBasic(text: string, language: Language, initial: LexState = ''): HighlightedLine {
289
+ let i = 0,
290
+ n = text.length,
291
+ state = initial,
292
+ tokens: Token[] = [];
293
+
294
+ if (language === 'plain' || n > LINE_LIMIT) {
295
+ return { state: '', tokens };
296
+ }
297
+
298
+ let script = language === 'javascript' || language === 'typescript',
299
+ code = script || language === 'jsonc',
300
+ json = language === 'json' || language === 'jsonc';
301
+
302
+ while (i < n) {
303
+ let ch = text[i],
304
+ from = i;
305
+
306
+ if (state) {
307
+ let end = state === 'comment' ? '*/' : state === 'html-comment' ? '-->' : state,
308
+ at = text.indexOf(end, i);
309
+
310
+ // Escaped template delimiters are skipped; interpolation is intentionally lexical.
311
+ while (state === '`' && at >= 0) {
312
+ let escapes = 0;
313
+
314
+ for (let j = at - 1; j >= 0 && text[j] === '\\'; j--) {
315
+ escapes++;
316
+ }
317
+
318
+ if (escapes % 2 === 0) {
319
+ break;
320
+ }
321
+
322
+ at = text.indexOf(end, at + 1);
323
+ }
324
+
325
+ i = at < 0 ? n : at + end.length;
326
+ tokens.push({ from, kind: state.includes('comment') ? 'comment' : 'string', to: i });
327
+
328
+ if (at >= 0) {
329
+ state = '';
330
+ }
331
+
332
+ continue;
333
+ }
334
+
335
+ if ((code && text.startsWith('//', i)) || (language === 'python' && ch === '#')) {
336
+ tokens.push({ from: i, kind: 'comment', to: n });
337
+ break;
338
+ }
339
+
340
+ if (code && text.startsWith('/*', i)) {
341
+ let at = text.indexOf('*/', i + 2);
342
+
343
+ i = at < 0 ? n : at + 2;
344
+ state = at < 0 ? 'comment' : '';
345
+ tokens.push({ from, kind: 'comment', to: i });
346
+ continue;
347
+ }
348
+
349
+ if (language === 'python' && (text.startsWith("'''", i) || text.startsWith('"""', i))) {
350
+ let quote = text.slice(i, i + 3),
351
+ at = text.indexOf(quote, i + 3);
352
+
353
+ i = at < 0 ? n : at + 3;
354
+ state = at < 0 ? quote : '';
355
+ tokens.push({ from, kind: 'string', to: i });
356
+ continue;
357
+ }
358
+
359
+ if (ch === '"' || (language !== 'json' && ch === "'") || (script && ch === '`')) {
360
+ let closed = false,
361
+ quote = text[i++];
362
+
363
+ while (i < n) {
364
+ if (text[i] === '\\') {
365
+ i = Math.min(i + 2, n);
366
+ continue;
367
+ }
368
+
369
+ if (text[i++] === quote) {
370
+ closed = true;
371
+ break;
372
+ }
373
+ }
374
+
375
+ if (!closed && quote === '`') {
376
+ state = '`';
377
+ }
378
+
379
+ tokens.push({ from, kind: json && text[after(text, i)] === ':' ? 'property' : 'string', to: i });
380
+ continue;
381
+ }
382
+
383
+ if (script && ch === '/' && regexAllowed(text, i)) {
384
+ let end = regexEnd(text, i);
385
+
386
+ if (end > 0) {
387
+ i = end;
388
+ tokens.push({ from, kind: 'regexp', to: i });
389
+ continue;
390
+ }
391
+ }
392
+
393
+ let point = text.charCodeAt(i);
394
+
395
+ if (isDigit(point)) {
396
+ NUMBER.lastIndex = i;
397
+ NUMBER.test(text);
398
+ i = NUMBER.lastIndex;
399
+ tokens.push({ from, kind: 'number', to: i });
400
+ continue;
401
+ }
402
+
403
+ if (isWordStart(point)) {
404
+ i++;
405
+
406
+ while (i < n && isWord(text.charCodeAt(i))) {
407
+ i++;
408
+ }
409
+
410
+ tokens.push({ from, kind: identifier(text, from, i), to: i });
411
+ continue;
412
+ }
413
+
414
+ if (OPERATORS.includes(ch)) {
415
+ tokens.push({ from: i, kind: 'operator', to: i + 1 });
416
+ }
417
+
418
+ i++;
419
+ }
420
+
421
+ return { state, tokens };
422
+ }
423
+
424
+ function highlightCss(text: string, scss: boolean, initial: LexState): HighlightedLine {
425
+ let attribute = false,
426
+ interpolation = 0,
427
+ i = 0,
428
+ n = text.length,
429
+ state = initial,
430
+ tokens: Token[] = [];
431
+
432
+ if (n > LINE_LIMIT) {
433
+ return { state: '', tokens };
434
+ }
435
+
436
+ if (state === 'comment') {
437
+ let at = text.indexOf('*/');
438
+
439
+ i = at < 0 ? n : at + 2;
440
+ tokens.push({ from: 0, kind: 'comment', to: i });
441
+
442
+ if (at < 0) {
443
+ return { state, tokens };
444
+ }
445
+
446
+ state = '';
447
+ }
448
+
449
+ let mode = cssStatement(text, i, scss);
450
+
451
+ while (i < n) {
452
+ let ch = text[i],
453
+ from = i;
454
+
455
+ if (SPACE.test(ch)) {
456
+ i++;
457
+ continue;
458
+ }
459
+
460
+ if (text.startsWith('/*', i)) {
461
+ let at = text.indexOf('*/', i + 2);
462
+
463
+ i = at < 0 ? n : at + 2;
464
+ state = at < 0 ? 'comment' : '';
465
+ tokens.push({ from, kind: 'comment', to: i });
466
+ continue;
467
+ }
468
+
469
+ if (scss && text.startsWith('//', i)) {
470
+ tokens.push({ from, kind: 'comment', to: n });
471
+ break;
472
+ }
473
+
474
+ if (ch === '"' || ch === "'") {
475
+ i = skipString(text, i) + 1;
476
+ tokens.push({ from, kind: 'string', to: i });
477
+ continue;
478
+ }
479
+
480
+ if (scss && text.startsWith('#{', i)) {
481
+ interpolation++;
482
+ i += 2;
483
+ tokens.push({ from, kind: 'operator', to: i });
484
+ continue;
485
+ }
486
+
487
+ if (ch === '}' && interpolation) {
488
+ interpolation--;
489
+ i++;
490
+ tokens.push({ from, kind: 'operator', to: i });
491
+ continue;
492
+ }
493
+
494
+ if (ch === ';' || ch === '{' || ch === '}') {
495
+ attribute = false;
496
+ i++;
497
+ mode = cssStatement(text, i, scss);
498
+ tokens.push({ from, kind: 'operator', to: i });
499
+ continue;
500
+ }
501
+
502
+ if (ch === '$') {
503
+ CSS_IDENT.lastIndex = i + 1;
504
+ i = CSS_IDENT.test(text) ? CSS_IDENT.lastIndex : i + 1;
505
+ tokens.push({ from, kind: 'variable', to: i });
506
+ continue;
507
+ }
508
+
509
+ let current = interpolation ? 'value' : mode;
510
+
511
+ if (current === 'selector') {
512
+ i = selectorToken(text, i, tokens, attribute);
513
+
514
+ if (ch === '[') {
515
+ attribute = true;
516
+ }
517
+ else if (ch === ']') {
518
+ attribute = false;
519
+ }
520
+
521
+ continue;
522
+ }
523
+
524
+ if (current === 'declaration') {
525
+ if (ch === ':') {
526
+ mode = 'value';
527
+ i++;
528
+ tokens.push({ from, kind: 'operator', to: i });
529
+ continue;
530
+ }
531
+
532
+ CSS_IDENT.lastIndex = i;
533
+
534
+ if (CSS_IDENT.test(text)) {
535
+ i = CSS_IDENT.lastIndex;
536
+ tokens.push({ from, kind: text.startsWith('--', from) ? 'variable' : 'property', to: i });
537
+ continue;
538
+ }
539
+
540
+ i++;
541
+ continue;
542
+ }
543
+
544
+ i = valueToken(text, i, tokens);
545
+ }
546
+
547
+ return { state, tokens };
548
+ }
549
+
550
+ function highlightHtml(text: string, initial: LexState): HighlightedLine {
551
+ let i = 0,
552
+ n = text.length,
553
+ state = initial,
554
+ tokens: Token[] = [];
555
+
556
+ while (i < n) {
557
+ if (state.startsWith('embed:')) {
558
+ let [, mode, ...rest] = state.split(':'),
559
+ match = EMBED_CLOSE[mode].exec(text.slice(i)),
560
+ end = match ? i + match.index : n,
561
+ result = highlightLine(text.slice(i, end), mode === 'style' ? 'css' : 'javascript', rest.join(':'));
562
+
563
+ for (let j = 0, m = result.tokens.length; j < m; j++) {
564
+ let token = result.tokens[j];
565
+
566
+ tokens.push({ from: token.from + i, kind: token.kind, to: token.to + i });
567
+ }
568
+
569
+ if (!match) {
570
+ return { state: 'embed:' + mode + ':' + result.state, tokens };
571
+ }
572
+
573
+ i = end;
574
+ state = '';
575
+ }
576
+
577
+ if (state === 'html-comment' || text.startsWith('<!--', i)) {
578
+ let end = text.indexOf('-->', i + (state ? 0 : 4)),
579
+ to = end < 0 ? n : end + 3;
580
+
581
+ tokens.push({ from: i, kind: 'comment', to });
582
+ i = to;
583
+ state = end < 0 ? 'html-comment' : '';
584
+ continue;
585
+ }
586
+
587
+ if (!state && (text.startsWith('<!', i) || text.startsWith('<?', i))) {
588
+ HTML_DECLARATION.lastIndex = i;
589
+ HTML_DECLARATION.test(text);
590
+ tokens.push({ from: i, kind: 'keyword', to: HTML_DECLARATION.lastIndex });
591
+ i = HTML_DECLARATION.lastIndex;
592
+ continue;
593
+ }
594
+
595
+ if (state.startsWith('tag:') || text[i] === '<') {
596
+ let saved = state.startsWith('tag:') ? state.split(':') : null,
597
+ match: RegExpExecArray | null = null;
598
+
599
+ if (!saved) {
600
+ HTML_TAG.lastIndex = i;
601
+ match = HTML_TAG.exec(text);
602
+ }
603
+
604
+ if (!saved && !match) {
605
+ tokens.push({ from: i, kind: 'operator', to: i + 1 });
606
+ i++;
607
+ continue;
608
+ }
609
+
610
+ let closing = saved ? saved[2] === '1' : !!match![1],
611
+ complete = false,
612
+ name = saved ? saved[1] : match![2].toLowerCase(),
613
+ quote = saved?.[3] ?? '',
614
+ selfClosing = false;
615
+
616
+ if (match) {
617
+ tokens.push({ from: i, kind: 'tag', to: i + match[0].length });
618
+ i += match[0].length;
619
+ }
620
+
621
+ while (i < n) {
622
+ let from = i;
623
+
624
+ if (quote || text[i] === '"' || text[i] === "'") {
625
+ if (!quote) {
626
+ quote = text[i++];
627
+ }
628
+
629
+ while (i < n && text[i] !== quote) {
630
+ i++;
631
+ }
632
+
633
+ if (i < n) {
634
+ i++;
635
+ quote = '';
636
+ }
637
+
638
+ tokens.push({ from, kind: 'string', to: i });
639
+ continue;
640
+ }
641
+
642
+ if (text[i] === '>') {
643
+ selfClosing = text[i - 1] === '/';
644
+ tokens.push({ from: i, kind: 'operator', to: i + 1 });
645
+ i++;
646
+ complete = true;
647
+ break;
648
+ }
649
+
650
+ ATTRIBUTE.lastIndex = i;
651
+
652
+ if (ATTRIBUTE.test(text)) {
653
+ i = ATTRIBUTE.lastIndex;
654
+ tokens.push({ from, kind: 'property', to: i });
655
+ }
656
+ else {
657
+ if (text[i] === '=' || text[i] === '/') {
658
+ tokens.push({ from: i, kind: 'operator', to: i + 1 });
659
+ }
660
+
661
+ i++;
662
+ }
663
+ }
664
+
665
+ if (!complete) {
666
+ return { state: 'tag:' + name + ':' + (closing ? '1' : '0') + ':' + quote, tokens };
667
+ }
668
+
669
+ state = !closing && !selfClosing && (name === 'script' || name === 'style') ? 'embed:' + name + ':' : '';
670
+ continue;
671
+ }
672
+
673
+ if (text[i] === '&') {
674
+ ENTITY.lastIndex = i;
675
+
676
+ if (ENTITY.test(text)) {
677
+ tokens.push({ from: i, kind: 'number', to: ENTITY.lastIndex });
678
+ i = ENTITY.lastIndex;
679
+ continue;
680
+ }
681
+ }
682
+
683
+ i++;
684
+ }
685
+
686
+ return { state, tokens };
687
+ }
688
+
689
+ function highlightMarkdown(text: string, initial: LexState): HighlightedLine {
690
+ let fence = FENCE.exec(text);
691
+
692
+ if (initial.startsWith('fence:')) {
693
+ let [, delimiter, mode, ...rest] = initial.split(':');
694
+
695
+ if (fence && fence[1][0] === delimiter[0] && fence[1].length >= delimiter.length) {
696
+ return { state: '', tokens: [{ from: 0, kind: 'operator', to: text.length }] };
697
+ }
698
+
699
+ let result = highlightLine(text, languageFor('file.' + mode), rest.join(':'));
700
+
701
+ return { state: 'fence:' + delimiter + ':' + mode + ':' + result.state, tokens: result.tokens };
702
+ }
703
+
704
+ if (fence) {
705
+ return {
706
+ state: 'fence:' + fence[1] + ':' + fence[2] + ':',
707
+ tokens: [{ from: 0, kind: 'operator', to: text.length }]
708
+ };
709
+ }
710
+
711
+ let tokens: Token[] = [];
712
+
713
+ for (let i = 0, n = MARKDOWN.length; i < n; i++) {
714
+ let [pattern, kind] = MARKDOWN[i];
715
+
716
+ pattern.lastIndex = 0;
717
+
718
+ for (let match; (match = pattern.exec(text));) {
719
+ let from = match.index,
720
+ to = from + match[0].length;
721
+
722
+ if (!tokens.some((token) => from < token.to && to > token.from)) {
723
+ tokens.push({ from, kind, to });
724
+ }
725
+ }
726
+ }
727
+
728
+ return { state: '', tokens: tokens.sort((a, b) => a.from - b.from) };
729
+ }
730
+
731
+ // A small resumable mode stack: literal text stays protected while expression braces remain structural.
732
+ function highlightScript(text: string, language: Language, initial: LexState): HighlightedLine {
733
+ let n = text.length;
734
+
735
+ if (n > LINE_LIMIT) {
736
+ return { state: '', tokens: [] };
737
+ }
738
+
739
+ let frames: ScriptFrame[] = initial.startsWith('script:')
740
+ ? JSON.parse(initial.slice(7))
741
+ : [{ depth: 0, mode: 'code' }],
742
+ i = 0,
743
+ plain = 0,
744
+ tokens: Token[] = [];
745
+
746
+ if (initial === 'comment') {
747
+ frames.push({ depth: 0, mode: 'comment' });
748
+ }
749
+
750
+ if (initial === '`') {
751
+ frames.push({ depth: 0, mode: 'template' });
752
+ }
753
+
754
+ let push = (from: number, to: number, kind: Token['kind']) => {
755
+ if (to > from) {
756
+ tokens.push({ from, kind, to });
757
+ }
758
+ };
759
+
760
+ let flush = (to: number) => {
761
+ if (to > plain) {
762
+ let segment = highlightBasic(text.slice(plain, to), language).tokens;
763
+
764
+ for (let j = 0, m = segment.length; j < m; j++) {
765
+ tokens.push({ from: segment[j].from + plain, kind: segment[j].kind, to: segment[j].to + plain });
766
+ }
767
+ }
768
+
769
+ plain = to;
770
+ };
771
+
772
+ while (i < n) {
773
+ let frame = frames[frames.length - 1];
774
+
775
+ if (frame.mode === 'comment') {
776
+ let end = text.indexOf('*/', i),
777
+ to = end < 0 ? n : end + 2;
778
+
779
+ push(i, to, 'comment');
780
+ i = plain = to;
781
+
782
+ if (end >= 0) {
783
+ frames.pop();
784
+ }
785
+
786
+ continue;
787
+ }
788
+
789
+ if (frame.mode === 'template') {
790
+ let from = i;
791
+
792
+ while (i < n) {
793
+ if (text[i] === '\\') {
794
+ i = Math.min(n, i + 2);
795
+ continue;
796
+ }
797
+
798
+ if (text[i] === '`') {
799
+ i++;
800
+ frames.pop();
801
+ break;
802
+ }
803
+
804
+ if (text.startsWith('${', i)) {
805
+ push(from, i + 1, 'string');
806
+ push(i + 1, i + 2, 'operator');
807
+ i += 2;
808
+ frames.push({ depth: 1, mode: 'code' });
809
+ from = i;
810
+ break;
811
+ }
812
+
813
+ i++;
814
+ }
815
+
816
+ push(from, i, 'string');
817
+ plain = i;
818
+ continue;
819
+ }
820
+
821
+ if (frame.mode === 'jsx' || frame.mode === 'tag') {
822
+ if (text[i] === '{') {
823
+ push(i, i + 1, 'operator');
824
+ i++;
825
+ frames.push({ depth: 1, mode: 'code' });
826
+ plain = i;
827
+ continue;
828
+ }
829
+
830
+ if (frame.mode === 'jsx' && text[i] === '<') {
831
+ JSX_TAG.lastIndex = i;
832
+
833
+ let match = JSX_TAG.exec(text);
834
+
835
+ if (match) {
836
+ let name = match[0].slice(match[1] ? 2 : 1);
837
+
838
+ push(i, i + match[0].length, 'tag');
839
+ i += match[0].length;
840
+ frames.push({ closing: !!match[1], depth: 0, mode: 'tag', void: VOID.test(name) });
841
+ plain = i;
842
+ continue;
843
+ }
844
+ }
845
+
846
+ if (frame.mode === 'tag') {
847
+ if (text[i] === '"' || text[i] === "'") {
848
+ let from = i,
849
+ quote = text[i++];
850
+
851
+ while (i < n && text[i] !== quote) {
852
+ i++;
853
+ }
854
+
855
+ if (i < n) {
856
+ i++;
857
+ }
858
+
859
+ push(from, i, 'string');
860
+ plain = i;
861
+ continue;
862
+ }
863
+
864
+ if (text[i] === '>') {
865
+ let self = text[i - 1] === '/' || frame.void;
866
+
867
+ push(i, i + 1, 'tag');
868
+ i++;
869
+ frames.pop();
870
+
871
+ let jsx = frames[frames.length - 1];
872
+
873
+ jsx.depth += frame.closing ? -1 : self ? 0 : 1;
874
+
875
+ if (jsx.depth === 0) {
876
+ frames.pop();
877
+ }
878
+
879
+ plain = i;
880
+ continue;
881
+ }
882
+
883
+ let from = i;
884
+
885
+ while (i < n && !'{}>"\''.includes(text[i])) {
886
+ i++;
887
+ }
888
+
889
+ push(from, i, 'property');
890
+
891
+ // A stray '}' inside a tag would otherwise stop the scan without consuming anything.
892
+ if (i === from) {
893
+ push(i, i + 1, 'operator');
894
+ i++;
895
+ }
896
+
897
+ plain = i;
898
+ continue;
899
+ }
900
+
901
+ let from = i;
902
+
903
+ while (i < n && text[i] !== '{' && text[i] !== '<') {
904
+ i++;
905
+ }
906
+
907
+ if (i === from) {
908
+ i++;
909
+ }
910
+
911
+ push(from, i, 'string');
912
+ plain = i;
913
+ continue;
914
+ }
915
+
916
+ if (text.startsWith('//', i)) {
917
+ flush(i);
918
+ push(i, n, 'comment');
919
+ i = plain = n;
920
+ break;
921
+ }
922
+
923
+ if (text.startsWith('/*', i)) {
924
+ flush(i);
925
+ frames.push({ depth: 0, mode: 'comment' });
926
+
927
+ let end = text.indexOf('*/', i + 2),
928
+ to = end < 0 ? n : end + 2;
929
+
930
+ push(i, to, 'comment');
931
+ i = plain = to;
932
+
933
+ if (end >= 0) {
934
+ frames.pop();
935
+ }
936
+
937
+ continue;
938
+ }
939
+
940
+ if (text[i] === '"' || text[i] === "'") {
941
+ let from = i;
942
+
943
+ flush(i);
944
+
945
+ let quote = text[i++];
946
+
947
+ while (i < n) {
948
+ if (text[i] === '\\') {
949
+ i = Math.min(n, i + 2);
950
+ continue;
951
+ }
952
+
953
+ if (text[i++] === quote) {
954
+ break;
955
+ }
956
+ }
957
+
958
+ push(from, i, 'string');
959
+ plain = i;
960
+ continue;
961
+ }
962
+
963
+ if (text[i] === '/' && regexAllowed(text, i)) {
964
+ let end = regexEnd(text, i);
965
+
966
+ if (end > 0) {
967
+ flush(i);
968
+ push(i, end, 'regexp');
969
+ i = plain = end;
970
+ continue;
971
+ }
972
+ }
973
+
974
+ if (text[i] === '`') {
975
+ flush(i);
976
+ push(i, i + 1, 'string');
977
+ i++;
978
+ plain = i;
979
+ frames.push({ depth: 0, mode: 'template' });
980
+ continue;
981
+ }
982
+
983
+ if (text[i] === '<' && jsxAllowed(text, i)) {
984
+ JSX_START.lastIndex = GENERIC_CALL.lastIndex = i;
985
+
986
+ if (JSX_START.test(text) && !GENERIC_CALL.test(text)) {
987
+ flush(i);
988
+ frames.push({ depth: 0, mode: 'jsx' });
989
+ continue;
990
+ }
991
+ }
992
+
993
+ if (frame.depth) {
994
+ if (text[i] === '{') {
995
+ frame.depth++;
996
+ }
997
+
998
+ if (text[i] === '}' && --frame.depth === 0) {
999
+ i++;
1000
+ flush(i);
1001
+ frames.pop();
1002
+ continue;
1003
+ }
1004
+ }
1005
+
1006
+ i++;
1007
+ }
1008
+
1009
+ flush(n);
1010
+
1011
+ if (frames.length === 1) {
1012
+ return { state: '', tokens };
1013
+ }
1014
+
1015
+ if (frames.length === 2 && frames[1].mode === 'comment') {
1016
+ return { state: 'comment', tokens };
1017
+ }
1018
+
1019
+ if (frames.length === 2 && frames[1].mode === 'template') {
1020
+ return { state: '`', tokens };
1021
+ }
1022
+
1023
+ return { state: 'script:' + JSON.stringify(frames), tokens };
1024
+ }
1025
+
1026
+ function identifier(text: string, from: number, to: number): Token['kind'] {
1027
+ let word = text.slice(from, to);
1028
+
1029
+ if (LITERALS.has(word)) {
1030
+ return 'number';
1031
+ }
1032
+
1033
+ if (KEYWORDS.has(word)) {
1034
+ return 'keyword';
1035
+ }
1036
+
1037
+ let next = text[after(text, to)];
1038
+
1039
+ if (next === '(') {
1040
+ return 'function';
1041
+ }
1042
+
1043
+ let previous = before(text, from);
1044
+
1045
+ if (word.charCodeAt(0) >= 65 && word.charCodeAt(0) <= 90) {
1046
+ return 'type';
1047
+ }
1048
+
1049
+ if (previous >= 0 && previous < from - 1 && TYPE_PRECEDERS.has(wordEndingAt(text, previous))) {
1050
+ return 'type';
1051
+ }
1052
+
1053
+ if (
1054
+ text[previous] === '.' ||
1055
+ next === ':' ||
1056
+ (next === '=' && text.lastIndexOf('<', from - 1) > text.lastIndexOf('>', from - 1))
1057
+ ) {
1058
+ return 'property';
1059
+ }
1060
+
1061
+ return 'variable';
1062
+ }
1063
+
1064
+ function isDigit(code: number) {
1065
+ return code >= 48 && code <= 57;
1066
+ }
1067
+
1068
+ function isLetter(code: number) {
1069
+ return (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
1070
+ }
1071
+
1072
+ function isWord(code: number) {
1073
+ return isWordStart(code) || isDigit(code);
1074
+ }
1075
+
1076
+ function isWordStart(code: number) {
1077
+ return isLetter(code) || code === 95 || code === 36;
1078
+ }
1079
+
1080
+ function structuralMarks(text: string, tokens: readonly Token[], language: Language) {
1081
+ let k = 0,
1082
+ marks: Mark[] = [];
1083
+
1084
+ for (let i = 0, n = text.length; i < n; i++) {
1085
+ let ch = text[i],
1086
+ close = ch === ')' || ch === ']' || ch === '}';
1087
+
1088
+ if (!close && ch !== '(' && ch !== '[' && ch !== '{') {
1089
+ continue;
1090
+ }
1091
+
1092
+ while (k < tokens.length && tokens[k].to <= i) {
1093
+ k++;
1094
+ }
1095
+
1096
+ if (tokens[k] && tokens[k].from <= i && PROTECTED.has(tokens[k].kind)) {
1097
+ continue;
1098
+ }
1099
+
1100
+ marks.push({ at: i, close, name: ch, tag: false });
1101
+ }
1102
+
1103
+ if (!TAGGED.has(language) || !text.includes('<')) {
1104
+ return marks;
1105
+ }
1106
+
1107
+ let t = 0;
1108
+
1109
+ TAG.lastIndex = 0;
1110
+
1111
+ for (let match; (match = TAG.exec(text));) {
1112
+ let at = match.index,
1113
+ name = match[2].toLowerCase();
1114
+
1115
+ if (match[0].endsWith('/>') || VOID.test(name)) {
1116
+ continue;
1117
+ }
1118
+
1119
+ // Matches and tokens both run left to right, so one cursor walks the tokens for every match.
1120
+ while (t < tokens.length && tokens[t].from < at) {
1121
+ t++;
1122
+ }
1123
+
1124
+ let tagged = false;
1125
+
1126
+ for (let j = t, m = tokens.length; j < m && tokens[j].from === at; j++) {
1127
+ if (tokens[j].kind === 'tag') {
1128
+ tagged = true;
1129
+ break;
1130
+ }
1131
+ }
1132
+
1133
+ // Only what the lexer took for a tag: a generic's '<T>' or a '<' inside a string never folds.
1134
+ if (!tagged) {
1135
+ continue;
1136
+ }
1137
+
1138
+ marks.push(
1139
+ match[1]
1140
+ ? { at, close: true, name, tag: true }
1141
+ : { at: at + match[0].length - 1, close: false, name, tag: true }
1142
+ );
1143
+ }
1144
+
1145
+ return marks.sort((a, b) => a.at - b.at);
1146
+ }
1147
+
1148
+ // JSX only starts where an expression can; after a name it's a comparison or type arguments ('Record<string, T>').
1149
+ function jsxAllowed(text: string, i: number) {
1150
+ let j = before(text, i);
1151
+
1152
+ if (j < 0 || JSX_PRECEDERS.includes(text[j])) {
1153
+ return true;
1154
+ }
1155
+
1156
+ return JSX_KEYWORDS.has(wordEndingAt(text, j));
1157
+ }
1158
+
1159
+ function regexAllowed(text: string, i: number) {
1160
+ let j = before(text, i);
1161
+
1162
+ if (j < 0 || REGEX_PRECEDERS.includes(text[j])) {
1163
+ return true;
1164
+ }
1165
+
1166
+ return j < i - 1 && REGEX_KEYWORDS.has(wordEndingAt(text, j));
1167
+ }
1168
+
1169
+ // End offset of a regular expression literal starting at 'i', past its flags; -1 when it never closes.
1170
+ function regexEnd(text: string, i: number) {
1171
+ let bracket = false,
1172
+ n = text.length;
1173
+
1174
+ for (let at = i + 1; at < n; at++) {
1175
+ let ch = text[at];
1176
+
1177
+ if (ch === '\\') {
1178
+ at++;
1179
+ continue;
1180
+ }
1181
+
1182
+ if (ch === '[') {
1183
+ bracket = true;
1184
+ }
1185
+ else if (ch === ']') {
1186
+ bracket = false;
1187
+ }
1188
+ else if (ch === '/' && !bracket) {
1189
+ at++;
1190
+
1191
+ while (at < n && isLetter(text.charCodeAt(at))) {
1192
+ at++;
1193
+ }
1194
+
1195
+ return at;
1196
+ }
1197
+ }
1198
+
1199
+ return -1;
1200
+ }
1201
+
1202
+ function selectorToken(text: string, i: number, tokens: Token[], attribute: boolean) {
1203
+ let ch = text[i],
1204
+ from = i;
1205
+
1206
+ if (attribute) {
1207
+ CSS_IDENT.lastIndex = i;
1208
+
1209
+ if (CSS_IDENT.test(text)) {
1210
+ tokens.push({ from, kind: 'property', to: CSS_IDENT.lastIndex });
1211
+ return CSS_IDENT.lastIndex;
1212
+ }
1213
+
1214
+ tokens.push({ from, kind: 'operator', to: i + 1 });
1215
+ return i + 1;
1216
+ }
1217
+
1218
+ if (ch === '.' || ch === '#' || ch === '%' || ch === ':' || ch === '&') {
1219
+ let start = ch === ':' && text[i + 1] === ':' ? i + 2 : i + 1;
1220
+
1221
+ CSS_IDENT.lastIndex = start;
1222
+
1223
+ let end = CSS_IDENT.test(text) ? CSS_IDENT.lastIndex : start;
1224
+
1225
+ if (end > i + 1 || ch === '&') {
1226
+ tokens.push({ from, kind: 'selector', to: end });
1227
+ return end;
1228
+ }
1229
+ }
1230
+
1231
+ if (ch === '*') {
1232
+ tokens.push({ from, kind: 'selector', to: i + 1 });
1233
+ return i + 1;
1234
+ }
1235
+
1236
+ let code = text.charCodeAt(i);
1237
+
1238
+ if (isDigit(code) || ((ch === '+' || ch === '-' || ch === '.') && isDigit(text.charCodeAt(i + 1)))) {
1239
+ CSS_NUMBER.lastIndex = i;
1240
+ CSS_NUMBER.test(text);
1241
+ tokens.push({ from, kind: 'number', to: CSS_NUMBER.lastIndex });
1242
+ return CSS_NUMBER.lastIndex;
1243
+ }
1244
+
1245
+ CSS_IDENT.lastIndex = i;
1246
+
1247
+ if (CSS_IDENT.test(text)) {
1248
+ tokens.push({ from, kind: 'tag', to: CSS_IDENT.lastIndex });
1249
+ return CSS_IDENT.lastIndex;
1250
+ }
1251
+
1252
+ if (OPERATORS.includes(ch) || ch === '>' || ch === '~') {
1253
+ tokens.push({ from, kind: 'operator', to: i + 1 });
1254
+ }
1255
+
1256
+ return i + 1;
1257
+ }
1258
+
1259
+ // Index of the closing quote, or the line's last index when the string runs on.
1260
+ function skipString(text: string, i: number) {
1261
+ let n = text.length,
1262
+ quote = text[i];
1263
+
1264
+ for (let k = i + 1; k < n; k++) {
1265
+ if (text[k] === '\\') {
1266
+ k++;
1267
+ continue;
1268
+ }
1269
+
1270
+ if (text[k] === quote) {
1271
+ return k;
1272
+ }
1273
+ }
1274
+
1275
+ return n - 1;
1276
+ }
1277
+
1278
+ function valueToken(text: string, i: number, tokens: Token[]) {
1279
+ let ch = text[i],
1280
+ code = text.charCodeAt(i),
1281
+ from = i;
1282
+
1283
+ if (ch === '@' || ch === '!') {
1284
+ CSS_IDENT.lastIndex = i + 1;
1285
+
1286
+ let end = CSS_IDENT.test(text) ? CSS_IDENT.lastIndex : i + 1;
1287
+
1288
+ tokens.push({ from, kind: end > i + 1 ? 'keyword' : 'operator', to: end });
1289
+ return end;
1290
+ }
1291
+
1292
+ if (ch === '#') {
1293
+ CSS_HEX.lastIndex = i;
1294
+
1295
+ if (CSS_HEX.test(text)) {
1296
+ tokens.push({ from, kind: 'color', to: CSS_HEX.lastIndex });
1297
+ return CSS_HEX.lastIndex;
1298
+ }
1299
+ }
1300
+
1301
+ if (isDigit(code) || ((ch === '+' || ch === '-' || ch === '.') && isDigit(text.charCodeAt(i + 1)))) {
1302
+ CSS_NUMBER.lastIndex = i;
1303
+ CSS_NUMBER.test(text);
1304
+ tokens.push({ from, kind: 'number', to: CSS_NUMBER.lastIndex });
1305
+ return CSS_NUMBER.lastIndex;
1306
+ }
1307
+
1308
+ CSS_IDENT.lastIndex = i;
1309
+
1310
+ if (CSS_IDENT.test(text)) {
1311
+ let end = CSS_IDENT.lastIndex,
1312
+ word = text.slice(from, end);
1313
+
1314
+ if (text[end] !== '(') {
1315
+ tokens.push({ from, kind: word.startsWith('--') ? 'variable' : 'keyword', to: end });
1316
+ return end;
1317
+ }
1318
+
1319
+ tokens.push({ from, kind: 'function', to: end }, { from: end, kind: 'operator', to: end + 1 });
1320
+
1321
+ // An unquoted url is raw text, slashes and all.
1322
+ if (word.toLowerCase() === 'url' && text[after(text, end + 1)] !== '"' && text[after(text, end + 1)] !== "'") {
1323
+ let close = text.indexOf(')', end + 1),
1324
+ to = close < 0 ? text.length : close;
1325
+
1326
+ tokens.push({ from: end + 1, kind: 'string', to });
1327
+ return to;
1328
+ }
1329
+
1330
+ return end + 1;
1331
+ }
1332
+
1333
+ if (OPERATORS.includes(ch) || ch === '%') {
1334
+ tokens.push({ from, kind: 'operator', to: i + 1 });
1335
+ }
1336
+
1337
+ return i + 1;
1338
+ }
1339
+
1340
+ function wordEndingAt(text: string, end: number) {
1341
+ let start = end;
1342
+
1343
+ while (start >= 0 && isWord(text.charCodeAt(start))) {
1344
+ start--;
1345
+ }
1346
+
1347
+ return text.slice(start + 1, end + 1);
1348
+ }
1349
+
1350
+
1351
+ // Follows a document through its line deltas; entries for edited lines become holes, and everything from the first
1352
+ // edited line on is revalidated before it's read.
1353
+ class Lines<T> {
1354
+ dirty = 0;
1355
+ items: (T | undefined)[] = [];
1356
+
1357
+
1358
+ apply({ inserted, line, removed }: Delta) {
1359
+ let items = this.items;
1360
+
1361
+ if (line >= items.length) {
1362
+ return;
1363
+ }
1364
+
1365
+ if (line + removed >= items.length) {
1366
+ items.length = line;
1367
+ }
1368
+ else if (inserted === removed) {
1369
+ for (let i = line, n = line + removed; i < n; i++) {
1370
+ items[i] = undefined;
1371
+ }
1372
+ }
1373
+ else {
1374
+ this.items = items.slice(0, line).concat(new Array(inserted), items.slice(line + removed));
1375
+ }
1376
+
1377
+ if (this.dirty > line) {
1378
+ this.dirty = line;
1379
+ }
1380
+ }
1381
+
1382
+ clear() {
1383
+ this.dirty = 0;
1384
+ this.items = [];
1385
+ }
1386
+ }
1387
+
1388
+
1389
+ const closes = (stack: Frame | null, mark: Mark) => {
1390
+ if (!mark.tag) {
1391
+ return stack && stack.name === OPENERS[mark.name] ? stack : null;
1392
+ }
1393
+
1394
+ while (stack && stack.name !== mark.name) {
1395
+ stack = stack.parent;
1396
+ }
1397
+
1398
+ return stack;
1399
+ };
1400
+
1401
+ const commentSyntax = (language: Language): { block?: readonly [string, string]; line: string | false } => {
1402
+ if (language === 'python') {
1403
+ return { line: '#' };
1404
+ }
1405
+
1406
+ if (language === 'html' || language === 'markdown') {
1407
+ return { block: ['<!--', '-->'], line: false };
1408
+ }
1409
+
1410
+ if (language === 'css' || language === 'scss') {
1411
+ return { block: ['/*', '*/'], line: false };
1412
+ }
1413
+
1414
+ if (language === 'json') {
1415
+ return { line: false };
1416
+ }
1417
+
1418
+ return { line: '//' };
1419
+ };
1420
+
1421
+ // A small lexical highlighter, deliberately not a parser; tokens always slice the original line.
1422
+ const highlightLine = (text: string, language: Language, initial: LexState = ''): HighlightedLine => {
1423
+ switch (language) {
1424
+ case 'css':
1425
+ case 'scss':
1426
+ return highlightCss(text, language === 'scss', initial);
1427
+ case 'html':
1428
+ return highlightHtml(text, initial);
1429
+ case 'javascript':
1430
+ case 'jsx':
1431
+ return highlightScript(text, 'javascript', initial);
1432
+ case 'markdown':
1433
+ return highlightMarkdown(text, initial);
1434
+ case 'tsx':
1435
+ case 'typescript':
1436
+ return highlightScript(text, 'typescript', initial);
1437
+ default:
1438
+ return highlightBasic(text, language, initial);
1439
+ }
1440
+ };
1441
+
1442
+ const languageFor = (path = ''): Language => {
1443
+ let name = path.split(SEPARATOR).pop() ?? '',
1444
+ dot = name.lastIndexOf('.');
1445
+
1446
+ return EXTENSIONS[name.slice(dot + 1).toLowerCase()] ?? 'plain';
1447
+ };
1448
+
1449
+ // Per-line lexer states, tokens and bracket nesting for a document, kept across edits. Lines lex on demand, from the
1450
+ // last valid line up to the one asked for; after an edit, lexing resumes at the first edited line and stops reusing
1451
+ // nothing once a line starts in the state it started in before, so a keystroke re-lexes a line or two.
1452
+ class SyntaxCache {
1453
+ readonly document: EditorDocument;
1454
+ readonly language: Language;
1455
+ private lexed = new Lines<Entry>();
1456
+ private nested = new Lines<Nesting>();
1457
+ private version: number;
1458
+
1459
+
1460
+ constructor(document: EditorDocument, language: Language) {
1461
+ this.document = document;
1462
+ this.language = language;
1463
+ this.version = document.revision;
1464
+ }
1465
+
1466
+
1467
+ private clampLine(index: number) {
1468
+ return Math.max(0, Math.min(this.document.lineCount - 1, Math.trunc(index) || 0));
1469
+ }
1470
+
1471
+ private entry(line: number) {
1472
+ this.sync();
1473
+
1474
+ let items = this.lexed.items;
1475
+
1476
+ for (let j = this.lexed.dirty; j <= line; j++) {
1477
+ let entry = items[j],
1478
+ start = j ? items[j - 1]!.end : '';
1479
+
1480
+ if (!entry || entry.start !== start) {
1481
+ let result = highlightLine(this.document.lineText(j), this.language, start);
1482
+
1483
+ items[j] = { end: result.state, marks: null, start, tokens: result.tokens };
1484
+ }
1485
+ }
1486
+
1487
+ this.lexed.dirty = Math.max(this.lexed.dirty, line + 1);
1488
+
1489
+ return items[line]!;
1490
+ }
1491
+
1492
+ private marksOf(line: number, entry: Entry) {
1493
+ return entry.marks ??= structuralMarks(this.document.lineText(line), entry.tokens, this.language);
1494
+ }
1495
+
1496
+ private sync() {
1497
+ let revision = this.document.revision;
1498
+
1499
+ if (revision === this.version) {
1500
+ return;
1501
+ }
1502
+
1503
+ let deltas = this.document.deltas(this.version);
1504
+
1505
+ this.version = revision;
1506
+
1507
+ if (!deltas) {
1508
+ this.lexed.clear();
1509
+ this.nested.clear();
1510
+ return;
1511
+ }
1512
+
1513
+ for (let i = 0, n = deltas.length; i < n; i++) {
1514
+ this.lexed.apply(deltas[i]);
1515
+ this.nested.apply(deltas[i]);
1516
+ }
1517
+ }
1518
+
1519
+
1520
+ get lineCount() {
1521
+ return this.document.lineCount;
1522
+ }
1523
+
1524
+ line(index: number): LineSyntax {
1525
+ return this.entry(this.clampLine(index));
1526
+ }
1527
+
1528
+ lineTokens(index: number): readonly Token[] {
1529
+ return this.entry(this.clampLine(index)).tokens;
1530
+ }
1531
+
1532
+ marks(index: number): readonly Mark[] {
1533
+ index = this.clampLine(index);
1534
+
1535
+ return this.marksOf(index, this.entry(index));
1536
+ }
1537
+
1538
+ nesting(index: number): Nesting {
1539
+ index = this.clampLine(index);
1540
+ this.entry(index);
1541
+
1542
+ let entries = this.lexed.items,
1543
+ items = this.nested.items;
1544
+
1545
+ for (let j = this.nested.dirty; j <= index; j++) {
1546
+ let current = items[j],
1547
+ entry = entries[j]!,
1548
+ previous = j ? items[j - 1]! : null,
1549
+ brackets = previous?.brackets ?? null,
1550
+ tags = previous?.tags ?? null;
1551
+
1552
+ if (current && current.entry === entry && current.from === brackets && current.tagFrom === tags) {
1553
+ continue;
1554
+ }
1555
+
1556
+ let closed: Closed[] = [],
1557
+ low = brackets?.depth ?? 0,
1558
+ marks = this.marksOf(j, entry),
1559
+ tagLow = tags?.depth ?? 0;
1560
+
1561
+ for (let k = 0, m = marks.length; k < m; k++) {
1562
+ let mark = marks[k],
1563
+ stack = mark.tag ? tags : brackets;
1564
+
1565
+ if (mark.close) {
1566
+ let popped = closes(stack, mark);
1567
+
1568
+ if (!popped) {
1569
+ continue;
1570
+ }
1571
+
1572
+ closed.push({ at: mark.at, frame: popped });
1573
+ stack = popped.parent;
1574
+ }
1575
+ else {
1576
+ stack = { at: mark.at, depth: (stack?.depth ?? 0) + 1, entry, name: mark.name, parent: stack };
1577
+ }
1578
+
1579
+ if (mark.tag) {
1580
+ tagLow = Math.min(tagLow, stack?.depth ?? 0);
1581
+ tags = stack;
1582
+ }
1583
+ else {
1584
+ low = Math.min(low, stack?.depth ?? 0);
1585
+ brackets = stack;
1586
+ }
1587
+ }
1588
+
1589
+ items[j] = {
1590
+ brackets,
1591
+ closed,
1592
+ entry,
1593
+ from: previous?.brackets ?? null,
1594
+ low,
1595
+ tagFrom: previous?.tags ?? null,
1596
+ tagLow,
1597
+ tags
1598
+ };
1599
+ }
1600
+
1601
+ this.nested.dirty = Math.max(this.nested.dirty, index + 1);
1602
+
1603
+ return items[index]!;
1604
+ }
1605
+
1606
+ stateAt(index: number) {
1607
+ return this.entry(this.clampLine(index)).start;
1608
+ }
1609
+
1610
+ // The token a caret at 'offset' sits inside; a caret just past a closed string, comment or regexp is outside it,
1611
+ // and one at the start of a line that continues a comment or string is inside it.
1612
+ tokenAt(offset: number) {
1613
+ let document = this.document,
1614
+ line = document.lineAt(offset),
1615
+ local = offset - document.lineStart(line),
1616
+ entry = this.entry(line),
1617
+ tokens = entry.tokens;
1618
+
1619
+ if (local === 0 && entry.start && tokens[0]?.from === 0 && PROTECTED.has(tokens[0].kind)) {
1620
+ return tokens[0];
1621
+ }
1622
+
1623
+ for (let i = 0, n = tokens.length; i < n; i++) {
1624
+ let token = tokens[i];
1625
+
1626
+ if (token.from >= local) {
1627
+ break;
1628
+ }
1629
+
1630
+ if (token.to < local) {
1631
+ continue;
1632
+ }
1633
+
1634
+ if (token.to === local) {
1635
+ let text = document.lineText(line);
1636
+
1637
+ if (
1638
+ (token.kind === 'string' && token.to - token.from > 1 && text[token.from] === text[token.to - 1]) ||
1639
+ (token.kind === 'comment' && /\*\/|-->/.test(text.slice(token.to - 3, token.to))) ||
1640
+ token.kind === 'regexp'
1641
+ ) {
1642
+ continue;
1643
+ }
1644
+ }
1645
+
1646
+ return token;
1647
+ }
1648
+
1649
+ return null;
1650
+ }
1651
+ }
1652
+
1653
+
1654
+ // The cache shared by every reader of a document in one language, so commands, folding and rendering lex once.
1655
+ const syntaxCache = (document: EditorDocument, language: Language) => {
1656
+ let caches = CACHES.get(document);
1657
+
1658
+ if (!caches) {
1659
+ CACHES.set(document, caches = new Map());
1660
+ }
1661
+
1662
+ let cache = caches.get(language);
1663
+
1664
+ if (!cache) {
1665
+ caches.set(language, cache = new SyntaxCache(document, language));
1666
+ }
1667
+
1668
+ return cache;
1669
+ };
1670
+
1671
+
1672
+ export { closes, commentSyntax, highlightLine, languageFor, SyntaxCache, syntaxCache };
1673
+ export type { Frame, HighlightedLine, Language, LexState, LineSyntax, Mark, Nesting, Token };