@50arms/ui 0.0.0-stage → 35.2.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 (1256) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +193 -2
  3. package/dist/components/Accordion.js +68 -0
  4. package/dist/components/Accordion.js.map +1 -0
  5. package/dist/components/AgentWorkingSpinner.js +46 -0
  6. package/dist/components/AgentWorkingSpinner.js.map +1 -0
  7. package/dist/components/AppShell.js +228 -0
  8. package/dist/components/AppShell.js.map +1 -0
  9. package/dist/components/Attention.js +130 -0
  10. package/dist/components/Attention.js.map +1 -0
  11. package/dist/components/Avatar.js +99 -0
  12. package/dist/components/Avatar.js.map +1 -0
  13. package/dist/components/Badge.js +143 -0
  14. package/dist/components/Badge.js.map +1 -0
  15. package/dist/components/Board.js +292 -0
  16. package/dist/components/Board.js.map +1 -0
  17. package/dist/components/Button.js +327 -0
  18. package/dist/components/Button.js.map +1 -0
  19. package/dist/components/Callout.js +106 -0
  20. package/dist/components/Callout.js.map +1 -0
  21. package/dist/components/Card.js +140 -0
  22. package/dist/components/Card.js.map +1 -0
  23. package/dist/components/Choice.js +361 -0
  24. package/dist/components/Choice.js.map +1 -0
  25. package/dist/components/CodeEditor.js +384 -0
  26. package/dist/components/CodeEditor.js.map +1 -0
  27. package/dist/components/ColorPicker.js +174 -0
  28. package/dist/components/ColorPicker.js.map +1 -0
  29. package/dist/components/Combobox.js +212 -0
  30. package/dist/components/Combobox.js.map +1 -0
  31. package/dist/components/CommandPalette.js +163 -0
  32. package/dist/components/CommandPalette.js.map +1 -0
  33. package/dist/components/ConcentricRing.js +60 -0
  34. package/dist/components/ConcentricRing.js.map +1 -0
  35. package/dist/components/ConnectionCard.js +98 -0
  36. package/dist/components/ConnectionCard.js.map +1 -0
  37. package/dist/components/ContextItemRow.js +49 -0
  38. package/dist/components/ContextItemRow.js.map +1 -0
  39. package/dist/components/CopyValue.js +57 -0
  40. package/dist/components/CopyValue.js.map +1 -0
  41. package/dist/components/CountBadge.js +26 -0
  42. package/dist/components/CountBadge.js.map +1 -0
  43. package/dist/components/DateCalendar.js +156 -0
  44. package/dist/components/DateCalendar.js.map +1 -0
  45. package/dist/components/DateField.js +166 -0
  46. package/dist/components/DateField.js.map +1 -0
  47. package/dist/components/DatePicker.js +56 -0
  48. package/dist/components/DatePicker.js.map +1 -0
  49. package/dist/components/DateTimeText.js +19 -0
  50. package/dist/components/DateTimeText.js.map +1 -0
  51. package/dist/components/DescriptionList.js +25 -0
  52. package/dist/components/DescriptionList.js.map +1 -0
  53. package/dist/components/Dialog.js +332 -0
  54. package/dist/components/Dialog.js.map +1 -0
  55. package/dist/components/DragDrop.js +395 -0
  56. package/dist/components/DragDrop.js.map +1 -0
  57. package/dist/components/Drawer.js +100 -0
  58. package/dist/components/Drawer.js.map +1 -0
  59. package/dist/components/EditGutter.js +110 -0
  60. package/dist/components/EditGutter.js.map +1 -0
  61. package/dist/components/EmojiPicker.js +174 -0
  62. package/dist/components/EmojiPicker.js.map +1 -0
  63. package/dist/components/ErrorBoundary.js +47 -0
  64. package/dist/components/ErrorBoundary.js.map +1 -0
  65. package/dist/components/Field.js +115 -0
  66. package/dist/components/Field.js.map +1 -0
  67. package/dist/components/FileUpload.js +128 -0
  68. package/dist/components/FileUpload.js.map +1 -0
  69. package/dist/components/FilterMenu.js +256 -0
  70. package/dist/components/FilterMenu.js.map +1 -0
  71. package/dist/components/GatesSection.js +79 -0
  72. package/dist/components/GatesSection.js.map +1 -0
  73. package/dist/components/Icon.js +50 -0
  74. package/dist/components/Icon.js.map +1 -0
  75. package/dist/components/IconButton.js +59 -0
  76. package/dist/components/IconButton.js.map +1 -0
  77. package/dist/components/IconStack.js +69 -0
  78. package/dist/components/IconStack.js.map +1 -0
  79. package/dist/components/ImageUploadField.js +146 -0
  80. package/dist/components/ImageUploadField.js.map +1 -0
  81. package/dist/components/InlineEdit.js +432 -0
  82. package/dist/components/InlineEdit.js.map +1 -0
  83. package/dist/components/InlineMarkdownEdit.js +184 -0
  84. package/dist/components/InlineMarkdownEdit.js.map +1 -0
  85. package/dist/components/Input.js +156 -0
  86. package/dist/components/Input.js.map +1 -0
  87. package/dist/components/LegalDocument.js +155 -0
  88. package/dist/components/LegalDocument.js.map +1 -0
  89. package/dist/components/LineDiff.js +95 -0
  90. package/dist/components/LineDiff.js.map +1 -0
  91. package/dist/components/ListHeader.js +72 -0
  92. package/dist/components/ListHeader.js.map +1 -0
  93. package/dist/components/Loading.js +111 -0
  94. package/dist/components/Loading.js.map +1 -0
  95. package/dist/components/Markdown.js +28 -0
  96. package/dist/components/Markdown.js.map +1 -0
  97. package/dist/components/MarkdownEditor.js +467 -0
  98. package/dist/components/MarkdownEditor.js.map +1 -0
  99. package/dist/components/Menu.js +185 -0
  100. package/dist/components/Menu.js.map +1 -0
  101. package/dist/components/Navigation.js +87 -0
  102. package/dist/components/Navigation.js.map +1 -0
  103. package/dist/components/NumberInput.js +119 -0
  104. package/dist/components/NumberInput.js.map +1 -0
  105. package/dist/components/OTPInput.js +71 -0
  106. package/dist/components/OTPInput.js.map +1 -0
  107. package/dist/components/OrderedEntityManager.js +170 -0
  108. package/dist/components/OrderedEntityManager.js.map +1 -0
  109. package/dist/components/PagedWindowList.js +74 -0
  110. package/dist/components/PagedWindowList.js.map +1 -0
  111. package/dist/components/PaginationBar.js +95 -0
  112. package/dist/components/PaginationBar.js.map +1 -0
  113. package/dist/components/Panel.js +396 -0
  114. package/dist/components/Panel.js.map +1 -0
  115. package/dist/components/PasswordInput.js +32 -0
  116. package/dist/components/PasswordInput.js.map +1 -0
  117. package/dist/components/PasswordRequirements.js +25 -0
  118. package/dist/components/PasswordRequirements.js.map +1 -0
  119. package/dist/components/PatchDiff.js +96 -0
  120. package/dist/components/PatchDiff.js.map +1 -0
  121. package/dist/components/PendingVeil.js +18 -0
  122. package/dist/components/PendingVeil.js.map +1 -0
  123. package/dist/components/Popover.js +214 -0
  124. package/dist/components/Popover.js.map +1 -0
  125. package/dist/components/Progress.js +419 -0
  126. package/dist/components/Progress.js.map +1 -0
  127. package/dist/components/RatingScale.js +89 -0
  128. package/dist/components/RatingScale.js.map +1 -0
  129. package/dist/components/ReadMore.js +232 -0
  130. package/dist/components/ReadMore.js.map +1 -0
  131. package/dist/components/RecordCard.js +202 -0
  132. package/dist/components/RecordCard.js.map +1 -0
  133. package/dist/components/RelativeTime.js +29 -0
  134. package/dist/components/RelativeTime.js.map +1 -0
  135. package/dist/components/SandboxedFrame.js +135 -0
  136. package/dist/components/SandboxedFrame.js.map +1 -0
  137. package/dist/components/SearchInput.js +38 -0
  138. package/dist/components/SearchInput.js.map +1 -0
  139. package/dist/components/SecretField.js +228 -0
  140. package/dist/components/SecretField.js.map +1 -0
  141. package/dist/components/SectionNav.js +42 -0
  142. package/dist/components/SectionNav.js.map +1 -0
  143. package/dist/components/Select.js +172 -0
  144. package/dist/components/Select.js.map +1 -0
  145. package/dist/components/SequenceDiagram.js +109 -0
  146. package/dist/components/SequenceDiagram.js.map +1 -0
  147. package/dist/components/SettingRow.js +124 -0
  148. package/dist/components/SettingRow.js.map +1 -0
  149. package/dist/components/SignOffRings.js +36 -0
  150. package/dist/components/SignOffRings.js.map +1 -0
  151. package/dist/components/Slider.js +353 -0
  152. package/dist/components/Slider.js.map +1 -0
  153. package/dist/components/SolutionChoice.js +89 -0
  154. package/dist/components/SolutionChoice.js.map +1 -0
  155. package/dist/components/SortMenu.js +75 -0
  156. package/dist/components/SortMenu.js.map +1 -0
  157. package/dist/components/Spinner.js +42 -0
  158. package/dist/components/Spinner.js.map +1 -0
  159. package/dist/components/Stat.js +148 -0
  160. package/dist/components/Stat.js.map +1 -0
  161. package/dist/components/StatusSelect.js +119 -0
  162. package/dist/components/StatusSelect.js.map +1 -0
  163. package/dist/components/Surface.js +210 -0
  164. package/dist/components/Surface.js.map +1 -0
  165. package/dist/components/Table.js +300 -0
  166. package/dist/components/Table.js.map +1 -0
  167. package/dist/components/Tabs.js +288 -0
  168. package/dist/components/Tabs.js.map +1 -0
  169. package/dist/components/ThemeMenu.js +198 -0
  170. package/dist/components/ThemeMenu.js.map +1 -0
  171. package/dist/components/Toast.js +217 -0
  172. package/dist/components/Toast.js.map +1 -0
  173. package/dist/components/Toggle.js +147 -0
  174. package/dist/components/Toggle.js.map +1 -0
  175. package/dist/components/ToggleMatrix.js +157 -0
  176. package/dist/components/ToggleMatrix.js.map +1 -0
  177. package/dist/components/Tree.js +125 -0
  178. package/dist/components/Tree.js.map +1 -0
  179. package/dist/components/TriStateSwitch.js +111 -0
  180. package/dist/components/TriStateSwitch.js.map +1 -0
  181. package/dist/components/VideoPlayer.js +64 -0
  182. package/dist/components/VideoPlayer.js.map +1 -0
  183. package/dist/components/auth/AcceptInvitationCard.js +110 -0
  184. package/dist/components/auth/AcceptInvitationCard.js.map +1 -0
  185. package/dist/components/auth/AuthLayout.js +18 -0
  186. package/dist/components/auth/AuthLayout.js.map +1 -0
  187. package/dist/components/auth/ForgotPasswordForm.js +44 -0
  188. package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
  189. package/dist/components/auth/LoginForm.js +76 -0
  190. package/dist/components/auth/LoginForm.js.map +1 -0
  191. package/dist/components/auth/ResetPasswordForm.js +69 -0
  192. package/dist/components/auth/ResetPasswordForm.js.map +1 -0
  193. package/dist/components/auth/SignInProviders.js +45 -0
  194. package/dist/components/auth/SignInProviders.js.map +1 -0
  195. package/dist/components/auth/SignupCard.js +204 -0
  196. package/dist/components/auth/SignupCard.js.map +1 -0
  197. package/dist/components/auth/TermsAcceptance.js +43 -0
  198. package/dist/components/auth/TermsAcceptance.js.map +1 -0
  199. package/dist/components/board/context.js +32 -0
  200. package/dist/components/board/context.js.map +1 -0
  201. package/dist/components/board/recipe.js +94 -0
  202. package/dist/components/board/recipe.js.map +1 -0
  203. package/dist/components/calendar/CalendarMonth.js +299 -0
  204. package/dist/components/calendar/CalendarMonth.js.map +1 -0
  205. package/dist/components/calendar/CalendarTimeGrid.js +430 -0
  206. package/dist/components/calendar/CalendarTimeGrid.js.map +1 -0
  207. package/dist/components/calendar/EventActions.js +101 -0
  208. package/dist/components/calendar/EventActions.js.map +1 -0
  209. package/dist/components/calendar/format.js +73 -0
  210. package/dist/components/calendar/format.js.map +1 -0
  211. package/dist/components/calendar/palette.js +31 -0
  212. package/dist/components/calendar/palette.js.map +1 -0
  213. package/dist/components/calendar/use-calendar-drag.js +149 -0
  214. package/dist/components/calendar/use-calendar-drag.js.map +1 -0
  215. package/dist/components/calendar/use-event-keyboard.js +87 -0
  216. package/dist/components/calendar/use-event-keyboard.js.map +1 -0
  217. package/dist/components/calendar/use-grid-navigation.js +79 -0
  218. package/dist/components/calendar/use-grid-navigation.js.map +1 -0
  219. package/dist/components/calendar/use-now.js +27 -0
  220. package/dist/components/calendar/use-now.js.map +1 -0
  221. package/dist/components/card-face/AcRingGlyph.js +39 -0
  222. package/dist/components/card-face/AcRingGlyph.js.map +1 -0
  223. package/dist/components/card-face/BoardCardAgentSlot.js +17 -0
  224. package/dist/components/card-face/BoardCardAgentSlot.js.map +1 -0
  225. package/dist/components/card-face/CardFace.js +109 -0
  226. package/dist/components/card-face/CardFace.js.map +1 -0
  227. package/dist/components/card-face/CardTypeBadge.js +17 -0
  228. package/dist/components/card-face/CardTypeBadge.js.map +1 -0
  229. package/dist/components/card-face/EffortBadge.js +11 -0
  230. package/dist/components/card-face/EffortBadge.js.map +1 -0
  231. package/dist/components/card-face/GateRingGlyph.js +31 -0
  232. package/dist/components/card-face/GateRingGlyph.js.map +1 -0
  233. package/dist/components/card-face/OverflowRow.js +70 -0
  234. package/dist/components/card-face/OverflowRow.js.map +1 -0
  235. package/dist/components/card-face/TapTip.js +32 -0
  236. package/dist/components/card-face/TapTip.js.map +1 -0
  237. package/dist/components/card-face/hit-area.js +6 -0
  238. package/dist/components/card-face/hit-area.js.map +1 -0
  239. package/dist/components/card-face/vocabulary.js +102 -0
  240. package/dist/components/card-face/vocabulary.js.map +1 -0
  241. package/dist/components/chart/BarList.js +78 -0
  242. package/dist/components/chart/BarList.js.map +1 -0
  243. package/dist/components/chart/LineChart.js +310 -0
  244. package/dist/components/chart/LineChart.js.map +1 -0
  245. package/dist/components/chart/ShareBar.js +141 -0
  246. package/dist/components/chart/ShareBar.js.map +1 -0
  247. package/dist/components/chart/TimeSeriesChart.js +305 -0
  248. package/dist/components/chart/TimeSeriesChart.js.map +1 -0
  249. package/dist/components/chart/label-metrics.js +17 -0
  250. package/dist/components/chart/label-metrics.js.map +1 -0
  251. package/dist/components/chart/line-chart-axis.js +38 -0
  252. package/dist/components/chart/line-chart-axis.js.map +1 -0
  253. package/dist/components/chart/line-chart-scale.js +132 -0
  254. package/dist/components/chart/line-chart-scale.js.map +1 -0
  255. package/dist/components/chart/line-series-style.js +22 -0
  256. package/dist/components/chart/line-series-style.js.map +1 -0
  257. package/dist/components/chart/share-bar-labels.js +14 -0
  258. package/dist/components/chart/share-bar-labels.js.map +1 -0
  259. package/dist/components/chart/shared.js +157 -0
  260. package/dist/components/chart/shared.js.map +1 -0
  261. package/dist/components/chart/time-series-scale.js +51 -0
  262. package/dist/components/chart/time-series-scale.js.map +1 -0
  263. package/dist/components/chat/Attachment.js +316 -0
  264. package/dist/components/chat/Attachment.js.map +1 -0
  265. package/dist/components/chat/Chat.js +171 -0
  266. package/dist/components/chat/Chat.js.map +1 -0
  267. package/dist/components/chat/Composer.js +274 -0
  268. package/dist/components/chat/Composer.js.map +1 -0
  269. package/dist/components/chat/ContextMeter.js +202 -0
  270. package/dist/components/chat/ContextMeter.js.map +1 -0
  271. package/dist/components/chat/EffortControl.js +116 -0
  272. package/dist/components/chat/EffortControl.js.map +1 -0
  273. package/dist/components/chat/FileCover.js +78 -0
  274. package/dist/components/chat/FileCover.js.map +1 -0
  275. package/dist/components/chat/Message.js +356 -0
  276. package/dist/components/chat/Message.js.map +1 -0
  277. package/dist/components/chat/MessageScroller.js +104 -0
  278. package/dist/components/chat/MessageScroller.js.map +1 -0
  279. package/dist/components/chat/ModelSelector.js +156 -0
  280. package/dist/components/chat/ModelSelector.js.map +1 -0
  281. package/dist/components/chat/StreamingMarkdown.js +42 -0
  282. package/dist/components/chat/StreamingMarkdown.js.map +1 -0
  283. package/dist/components/chat/download-file.js +9 -0
  284. package/dist/components/chat/download-file.js.map +1 -0
  285. package/dist/components/chat/file-icon.js +39 -0
  286. package/dist/components/chat/file-icon.js.map +1 -0
  287. package/dist/components/checklist/StatusChecklist.js +103 -0
  288. package/dist/components/checklist/StatusChecklist.js.map +1 -0
  289. package/dist/components/checklist/tally.js +29 -0
  290. package/dist/components/checklist/tally.js.map +1 -0
  291. package/dist/components/code-editor/context.js +13 -0
  292. package/dist/components/code-editor/context.js.map +1 -0
  293. package/dist/components/code-editor/editing.js +93 -0
  294. package/dist/components/code-editor/editing.js.map +1 -0
  295. package/dist/components/code-editor/highlight.js +27 -0
  296. package/dist/components/code-editor/highlight.js.map +1 -0
  297. package/dist/components/code-editor/recipe.js +75 -0
  298. package/dist/components/code-editor/recipe.js.map +1 -0
  299. package/dist/components/date-timeline/DateTimeline.js +358 -0
  300. package/dist/components/date-timeline/DateTimeline.js.map +1 -0
  301. package/dist/components/date-timeline/TimelineRow.js +100 -0
  302. package/dist/components/date-timeline/TimelineRow.js.map +1 -0
  303. package/dist/components/date-timeline/useBarDrag.js +44 -0
  304. package/dist/components/date-timeline/useBarDrag.js.map +1 -0
  305. package/dist/components/date-timeline/useMarkerDrag.js +40 -0
  306. package/dist/components/date-timeline/useMarkerDrag.js.map +1 -0
  307. package/dist/components/date-timeline/useTimelineZoom.js +44 -0
  308. package/dist/components/date-timeline/useTimelineZoom.js.map +1 -0
  309. package/dist/components/drag-drop/context.js +37 -0
  310. package/dist/components/drag-drop/context.js.map +1 -0
  311. package/dist/components/drag-drop/recipe.js +270 -0
  312. package/dist/components/drag-drop/recipe.js.map +1 -0
  313. package/dist/components/drag-drop/shift.js +157 -0
  314. package/dist/components/drag-drop/shift.js.map +1 -0
  315. package/dist/components/edit/activation.js +10 -0
  316. package/dist/components/edit/activation.js.map +1 -0
  317. package/dist/components/edit/outcome.js +47 -0
  318. package/dist/components/edit/outcome.js.map +1 -0
  319. package/dist/components/edit/use-edit-session.js +146 -0
  320. package/dist/components/edit/use-edit-session.js.map +1 -0
  321. package/dist/components/file-viewer/FileViewer.js +97 -0
  322. package/dist/components/file-viewer/FileViewer.js.map +1 -0
  323. package/dist/components/file-viewer/PageNumberJumpField.js +47 -0
  324. package/dist/components/file-viewer/PageNumberJumpField.js.map +1 -0
  325. package/dist/components/file-viewer/ViewerControls.js +122 -0
  326. package/dist/components/file-viewer/ViewerControls.js.map +1 -0
  327. package/dist/components/file-viewer/ViewerRail.js +57 -0
  328. package/dist/components/file-viewer/ViewerRail.js.map +1 -0
  329. package/dist/components/file-viewer/ViewerStage.js +112 -0
  330. package/dist/components/file-viewer/ViewerStage.js.map +1 -0
  331. package/dist/components/file-viewer/frames.js +37 -0
  332. package/dist/components/file-viewer/frames.js.map +1 -0
  333. package/dist/components/file-viewer/use-frame-cursor.js +32 -0
  334. package/dist/components/file-viewer/use-frame-cursor.js.map +1 -0
  335. package/dist/components/file-viewer/use-viewer-keys.js +50 -0
  336. package/dist/components/file-viewer/use-viewer-keys.js.map +1 -0
  337. package/dist/components/file-viewer/use-viewer-zoom.js +68 -0
  338. package/dist/components/file-viewer/use-viewer-zoom.js.map +1 -0
  339. package/dist/components/focus-web/FocusWeb.js +322 -0
  340. package/dist/components/focus-web/FocusWeb.js.map +1 -0
  341. package/dist/components/focus-web/layout.js +34 -0
  342. package/dist/components/focus-web/layout.js.map +1 -0
  343. package/dist/components/graph-explorer/GraphExplorer.js +441 -0
  344. package/dist/components/graph-explorer/GraphExplorer.js.map +1 -0
  345. package/dist/components/graph-explorer/camera-math.js +102 -0
  346. package/dist/components/graph-explorer/camera-math.js.map +1 -0
  347. package/dist/components/graph-explorer/tree-layout.js +103 -0
  348. package/dist/components/graph-explorer/tree-layout.js.map +1 -0
  349. package/dist/components/graph-explorer/use-camera.js +82 -0
  350. package/dist/components/graph-explorer/use-camera.js.map +1 -0
  351. package/dist/components/graph-explorer/viewport-gesture.js +107 -0
  352. package/dist/components/graph-explorer/viewport-gesture.js.map +1 -0
  353. package/dist/components/kanban/KanbanBoard.js +219 -0
  354. package/dist/components/kanban/KanbanBoard.js.map +1 -0
  355. package/dist/components/kanban/recipe.js +144 -0
  356. package/dist/components/kanban/recipe.js.map +1 -0
  357. package/dist/components/markdown/Affordances.js +398 -0
  358. package/dist/components/markdown/Affordances.js.map +1 -0
  359. package/dist/components/markdown/AttachmentStrip.js +128 -0
  360. package/dist/components/markdown/AttachmentStrip.js.map +1 -0
  361. package/dist/components/markdown/ImageUpload.js +45 -0
  362. package/dist/components/markdown/ImageUpload.js.map +1 -0
  363. package/dist/components/media-error.js +7 -0
  364. package/dist/components/media-error.js.map +1 -0
  365. package/dist/components/nav-sections.js +61 -0
  366. package/dist/components/nav-sections.js.map +1 -0
  367. package/dist/components/node-canvas/NodeCanvas.js +384 -0
  368. package/dist/components/node-canvas/NodeCanvas.js.map +1 -0
  369. package/dist/components/node-canvas/layout.js +237 -0
  370. package/dist/components/node-canvas/layout.js.map +1 -0
  371. package/dist/components/node-canvas/use-canvas-gestures.js +143 -0
  372. package/dist/components/node-canvas/use-canvas-gestures.js.map +1 -0
  373. package/dist/components/openapi/OpenApiViewer.js +137 -0
  374. package/dist/components/openapi/OpenApiViewer.js.map +1 -0
  375. package/dist/components/openapi/OperationCard.js +145 -0
  376. package/dist/components/openapi/OperationCard.js.map +1 -0
  377. package/dist/components/openapi/SchemaView.js +68 -0
  378. package/dist/components/openapi/SchemaView.js.map +1 -0
  379. package/dist/components/openapi/resolve.js +102 -0
  380. package/dist/components/openapi/resolve.js.map +1 -0
  381. package/dist/components/openapi/types.js +5 -0
  382. package/dist/components/openapi/types.js.map +1 -0
  383. package/dist/components/overlay-shell.js +29 -0
  384. package/dist/components/overlay-shell.js.map +1 -0
  385. package/dist/components/overlay-stack.js +27 -0
  386. package/dist/components/overlay-stack.js.map +1 -0
  387. package/dist/components/paged-window/PageBlock.js +50 -0
  388. package/dist/components/paged-window/PageBlock.js.map +1 -0
  389. package/dist/components/provenance/ConfidenceBar.js +60 -0
  390. package/dist/components/provenance/ConfidenceBar.js.map +1 -0
  391. package/dist/components/provenance/ConfidenceMeter.js +36 -0
  392. package/dist/components/provenance/ConfidenceMeter.js.map +1 -0
  393. package/dist/components/provenance/ConfidenceReadout.js +31 -0
  394. package/dist/components/provenance/ConfidenceReadout.js.map +1 -0
  395. package/dist/components/provenance/ProvenanceBadge.js +44 -0
  396. package/dist/components/provenance/ProvenanceBadge.js.map +1 -0
  397. package/dist/components/provenance/ProvenanceDetail.js +114 -0
  398. package/dist/components/provenance/ProvenanceDetail.js.map +1 -0
  399. package/dist/components/provenance/ProvenanceDisclosure.js +111 -0
  400. package/dist/components/provenance/ProvenanceDisclosure.js.map +1 -0
  401. package/dist/components/provenance/absence.js +31 -0
  402. package/dist/components/provenance/absence.js.map +1 -0
  403. package/dist/components/provenance/types.js +30 -0
  404. package/dist/components/provenance/types.js.map +1 -0
  405. package/dist/components/rbac/AccessRequestPanel.js +153 -0
  406. package/dist/components/rbac/AccessRequestPanel.js.map +1 -0
  407. package/dist/components/rbac/AccountMenu.js +118 -0
  408. package/dist/components/rbac/AccountMenu.js.map +1 -0
  409. package/dist/components/rbac/AgentKeysList.js +20 -0
  410. package/dist/components/rbac/AgentKeysList.js.map +1 -0
  411. package/dist/components/rbac/ApiKeysPanel.js +172 -0
  412. package/dist/components/rbac/ApiKeysPanel.js.map +1 -0
  413. package/dist/components/rbac/ApiKeysTable.js +169 -0
  414. package/dist/components/rbac/ApiKeysTable.js.map +1 -0
  415. package/dist/components/rbac/Brand.js +13 -0
  416. package/dist/components/rbac/Brand.js.map +1 -0
  417. package/dist/components/rbac/Can.js +18 -0
  418. package/dist/components/rbac/Can.js.map +1 -0
  419. package/dist/components/rbac/ChangePasswordForm.js +73 -0
  420. package/dist/components/rbac/ChangePasswordForm.js.map +1 -0
  421. package/dist/components/rbac/DangerZone.js +27 -0
  422. package/dist/components/rbac/DangerZone.js.map +1 -0
  423. package/dist/components/rbac/DevToolsPopover.js +140 -0
  424. package/dist/components/rbac/DevToolsPopover.js.map +1 -0
  425. package/dist/components/rbac/EndedLine.js +24 -0
  426. package/dist/components/rbac/EndedLine.js.map +1 -0
  427. package/dist/components/rbac/InvitationsList.js +148 -0
  428. package/dist/components/rbac/InvitationsList.js.map +1 -0
  429. package/dist/components/rbac/InviteMembersDialog.js +97 -0
  430. package/dist/components/rbac/InviteMembersDialog.js.map +1 -0
  431. package/dist/components/rbac/MembersPanel.js +138 -0
  432. package/dist/components/rbac/MembersPanel.js.map +1 -0
  433. package/dist/components/rbac/PermissionRequestPanel.js +141 -0
  434. package/dist/components/rbac/PermissionRequestPanel.js.map +1 -0
  435. package/dist/components/rbac/ProfileForm.js +86 -0
  436. package/dist/components/rbac/ProfileForm.js.map +1 -0
  437. package/dist/components/rbac/ProfilePage.js +58 -0
  438. package/dist/components/rbac/ProfilePage.js.map +1 -0
  439. package/dist/components/rbac/RBACProvider.js +82 -0
  440. package/dist/components/rbac/RBACProvider.js.map +1 -0
  441. package/dist/components/rbac/RoleEditorDialog.js +90 -0
  442. package/dist/components/rbac/RoleEditorDialog.js.map +1 -0
  443. package/dist/components/rbac/RoleKeyPicker.js +77 -0
  444. package/dist/components/rbac/RoleKeyPicker.js.map +1 -0
  445. package/dist/components/rbac/RolePermissionMatrix.js +37 -0
  446. package/dist/components/rbac/RolePermissionMatrix.js.map +1 -0
  447. package/dist/components/rbac/RolesPermissionsPage.js +142 -0
  448. package/dist/components/rbac/RolesPermissionsPage.js.map +1 -0
  449. package/dist/components/rbac/SessionsList.js +146 -0
  450. package/dist/components/rbac/SessionsList.js.map +1 -0
  451. package/dist/components/rbac/TeamSettingsForm.js +69 -0
  452. package/dist/components/rbac/TeamSettingsForm.js.map +1 -0
  453. package/dist/components/rbac/TeamSwitcher.js +66 -0
  454. package/dist/components/rbac/TeamSwitcher.js.map +1 -0
  455. package/dist/components/rbac/approvalPanelParts.js +130 -0
  456. package/dist/components/rbac/approvalPanelParts.js.map +1 -0
  457. package/dist/components/rbac/permissionSections.js +8 -0
  458. package/dist/components/rbac/permissionSections.js.map +1 -0
  459. package/dist/components/rbac/stagedForm.js +42 -0
  460. package/dist/components/rbac/stagedForm.js.map +1 -0
  461. package/dist/components/rbac/useStagedImage.js +21 -0
  462. package/dist/components/rbac/useStagedImage.js.map +1 -0
  463. package/dist/components/roadmap/PhaseManager.js +48 -0
  464. package/dist/components/roadmap/PhaseManager.js.map +1 -0
  465. package/dist/components/roadmap/RoadmapItemCard.js +96 -0
  466. package/dist/components/roadmap/RoadmapItemCard.js.map +1 -0
  467. package/dist/components/roadmap/RoadmapPage.js +34 -0
  468. package/dist/components/roadmap/RoadmapPage.js.map +1 -0
  469. package/dist/components/roadmap/RoadmapSwimlaneBoard.js +91 -0
  470. package/dist/components/roadmap/RoadmapSwimlaneBoard.js.map +1 -0
  471. package/dist/components/roadmap/TrackManager.js +58 -0
  472. package/dist/components/roadmap/TrackManager.js.map +1 -0
  473. package/dist/components/roadmap/UseCaseCard.js +93 -0
  474. package/dist/components/roadmap/UseCaseCard.js.map +1 -0
  475. package/dist/components/roadmap/UseCaseLedgerPage.js +98 -0
  476. package/dist/components/roadmap/UseCaseLedgerPage.js.map +1 -0
  477. package/dist/components/roadmap/chip-tones.js +9 -0
  478. package/dist/components/roadmap/chip-tones.js.map +1 -0
  479. package/dist/components/roadmap/derive.js +28 -0
  480. package/dist/components/roadmap/derive.js.map +1 -0
  481. package/dist/components/stepper/Stepper.js +276 -0
  482. package/dist/components/stepper/Stepper.js.map +1 -0
  483. package/dist/components/stepper/derive.js +53 -0
  484. package/dist/components/stepper/derive.js.map +1 -0
  485. package/dist/confidence.css +222 -0
  486. package/dist/fonts/bricolage-grotesque-0.woff2 +0 -0
  487. package/dist/fonts/bricolage-grotesque-1.woff2 +0 -0
  488. package/dist/fonts/bricolage-grotesque-2.woff2 +0 -0
  489. package/dist/fonts/figtree-0.woff2 +0 -0
  490. package/dist/fonts/figtree-1.woff2 +0 -0
  491. package/dist/fonts/figtree-2.woff2 +0 -0
  492. package/dist/fonts/figtree-3.woff2 +0 -0
  493. package/dist/fonts/jetbrains-mono-0.woff2 +0 -0
  494. package/dist/fonts/jetbrains-mono-1.woff2 +0 -0
  495. package/dist/fonts/jetbrains-mono-10.woff2 +0 -0
  496. package/dist/fonts/jetbrains-mono-11.woff2 +0 -0
  497. package/dist/fonts/jetbrains-mono-2.woff2 +0 -0
  498. package/dist/fonts/jetbrains-mono-3.woff2 +0 -0
  499. package/dist/fonts/jetbrains-mono-4.woff2 +0 -0
  500. package/dist/fonts/jetbrains-mono-5.woff2 +0 -0
  501. package/dist/fonts/jetbrains-mono-6.woff2 +0 -0
  502. package/dist/fonts/jetbrains-mono-7.woff2 +0 -0
  503. package/dist/fonts/jetbrains-mono-8.woff2 +0 -0
  504. package/dist/fonts/jetbrains-mono-9.woff2 +0 -0
  505. package/dist/fonts.css +187 -0
  506. package/dist/icons/data.js +233 -0
  507. package/dist/icons/data.js.map +1 -0
  508. package/dist/index.js +942 -0
  509. package/dist/index.js.map +1 -0
  510. package/dist/lib/attention.js +75 -0
  511. package/dist/lib/attention.js.map +1 -0
  512. package/dist/lib/board/anchor.js +14 -0
  513. package/dist/lib/board/anchor.js.map +1 -0
  514. package/dist/lib/board/model.js +41 -0
  515. package/dist/lib/board/model.js.map +1 -0
  516. package/dist/lib/board/move.js +161 -0
  517. package/dist/lib/board/move.js.map +1 -0
  518. package/dist/lib/board/position.js +11 -0
  519. package/dist/lib/board/position.js.map +1 -0
  520. package/dist/lib/board/rejection.js +22 -0
  521. package/dist/lib/board/rejection.js.map +1 -0
  522. package/dist/lib/board/use-board.js +43 -0
  523. package/dist/lib/board/use-board.js.map +1 -0
  524. package/dist/lib/calendar/band-packer.js +44 -0
  525. package/dist/lib/calendar/band-packer.js.map +1 -0
  526. package/dist/lib/calendar/drag.js +74 -0
  527. package/dist/lib/calendar/drag.js.map +1 -0
  528. package/dist/lib/calendar/lane-packer.js +67 -0
  529. package/dist/lib/calendar/lane-packer.js.map +1 -0
  530. package/dist/lib/calendar/segments.js +82 -0
  531. package/dist/lib/calendar/segments.js.map +1 -0
  532. package/dist/lib/calendar/types.js +7 -0
  533. package/dist/lib/calendar/types.js.map +1 -0
  534. package/dist/lib/chart-palette.js +27 -0
  535. package/dist/lib/chart-palette.js.map +1 -0
  536. package/dist/lib/clipboard.js +30 -0
  537. package/dist/lib/clipboard.js.map +1 -0
  538. package/dist/lib/cn.js +9 -0
  539. package/dist/lib/cn.js.map +1 -0
  540. package/dist/lib/color.js +24 -0
  541. package/dist/lib/color.js.map +1 -0
  542. package/dist/lib/component-guidance.js +297 -0
  543. package/dist/lib/component-guidance.js.map +1 -0
  544. package/dist/lib/confidence.js +22 -0
  545. package/dist/lib/confidence.js.map +1 -0
  546. package/dist/lib/date-timeline/scale.js +197 -0
  547. package/dist/lib/date-timeline/scale.js.map +1 -0
  548. package/dist/lib/design-frame/document.js +44 -0
  549. package/dist/lib/design-frame/document.js.map +1 -0
  550. package/dist/lib/design-frame/mini-app-script.js +107 -0
  551. package/dist/lib/design-frame/mini-app-script.js.map +1 -0
  552. package/dist/lib/design-frame/mini-app.js +12 -0
  553. package/dist/lib/design-frame/mini-app.js.map +1 -0
  554. package/dist/lib/design-frame/protocol.js +46 -0
  555. package/dist/lib/design-frame/protocol.js.map +1 -0
  556. package/dist/lib/dev-warn.js +17 -0
  557. package/dist/lib/dev-warn.js.map +1 -0
  558. package/dist/lib/dnd/announce.js +120 -0
  559. package/dist/lib/dnd/announce.js.map +1 -0
  560. package/dist/lib/dnd/autoscroll.js +123 -0
  561. package/dist/lib/dnd/autoscroll.js.map +1 -0
  562. package/dist/lib/dnd/cross-drop.js +11 -0
  563. package/dist/lib/dnd/cross-drop.js.map +1 -0
  564. package/dist/lib/dnd/geometry.js +99 -0
  565. package/dist/lib/dnd/geometry.js.map +1 -0
  566. package/dist/lib/dnd/sensors/gesture.js +86 -0
  567. package/dist/lib/dnd/sensors/gesture.js.map +1 -0
  568. package/dist/lib/dnd/sensors/keyboard.js +47 -0
  569. package/dist/lib/dnd/sensors/keyboard.js.map +1 -0
  570. package/dist/lib/dnd/sensors/pointer.js +32 -0
  571. package/dist/lib/dnd/sensors/pointer.js.map +1 -0
  572. package/dist/lib/dnd/session.js +256 -0
  573. package/dist/lib/dnd/session.js.map +1 -0
  574. package/dist/lib/dnd/use-drag.js +90 -0
  575. package/dist/lib/dnd/use-drag.js.map +1 -0
  576. package/dist/lib/dom/scroll-ancestor.js +18 -0
  577. package/dist/lib/dom/scroll-ancestor.js.map +1 -0
  578. package/dist/lib/format.js +23 -0
  579. package/dist/lib/format.js.map +1 -0
  580. package/dist/lib/group-in-order.js +13 -0
  581. package/dist/lib/group-in-order.js.map +1 -0
  582. package/dist/lib/header-fold.js +11 -0
  583. package/dist/lib/header-fold.js.map +1 -0
  584. package/dist/lib/i18n/areas/auth-provenance-flows.js +156 -0
  585. package/dist/lib/i18n/areas/auth-provenance-flows.js.map +1 -0
  586. package/dist/lib/i18n/areas/board.js +35 -0
  587. package/dist/lib/i18n/areas/board.js.map +1 -0
  588. package/dist/lib/i18n/areas/card-face.js +10 -0
  589. package/dist/lib/i18n/areas/card-face.js.map +1 -0
  590. package/dist/lib/i18n/areas/chat-chart.js +118 -0
  591. package/dist/lib/i18n/areas/chat-chart.js.map +1 -0
  592. package/dist/lib/i18n/areas/code-editor.js +24 -0
  593. package/dist/lib/i18n/areas/code-editor.js.map +1 -0
  594. package/dist/lib/i18n/areas/date-timeline.js +21 -0
  595. package/dist/lib/i18n/areas/date-timeline.js.map +1 -0
  596. package/dist/lib/i18n/areas/dates.js +71 -0
  597. package/dist/lib/i18n/areas/dates.js.map +1 -0
  598. package/dist/lib/i18n/areas/docs-views.js +183 -0
  599. package/dist/lib/i18n/areas/docs-views.js.map +1 -0
  600. package/dist/lib/i18n/areas/feedback.js +75 -0
  601. package/dist/lib/i18n/areas/feedback.js.map +1 -0
  602. package/dist/lib/i18n/areas/formats.js +24 -0
  603. package/dist/lib/i18n/areas/formats.js.map +1 -0
  604. package/dist/lib/i18n/areas/forms.js +110 -0
  605. package/dist/lib/i18n/areas/forms.js.map +1 -0
  606. package/dist/lib/i18n/areas/keys.js +25 -0
  607. package/dist/lib/i18n/areas/keys.js.map +1 -0
  608. package/dist/lib/i18n/areas/markdown.js +136 -0
  609. package/dist/lib/i18n/areas/markdown.js.map +1 -0
  610. package/dist/lib/i18n/areas/move-rejected.js +14 -0
  611. package/dist/lib/i18n/areas/move-rejected.js.map +1 -0
  612. package/dist/lib/i18n/areas/navigation.js +104 -0
  613. package/dist/lib/i18n/areas/navigation.js.map +1 -0
  614. package/dist/lib/i18n/areas/rbac.js +332 -0
  615. package/dist/lib/i18n/areas/rbac.js.map +1 -0
  616. package/dist/lib/i18n/emphasis.js +6 -0
  617. package/dist/lib/i18n/emphasis.js.map +1 -0
  618. package/dist/lib/i18n/number-format.js +9 -0
  619. package/dist/lib/i18n/number-format.js.map +1 -0
  620. package/dist/lib/i18n/plural.js +9 -0
  621. package/dist/lib/i18n/plural.js.map +1 -0
  622. package/dist/lib/i18n/provider.js +27 -0
  623. package/dist/lib/i18n/provider.js.map +1 -0
  624. package/dist/lib/i18n/strings.js +38 -0
  625. package/dist/lib/i18n/strings.js.map +1 -0
  626. package/dist/lib/icons.js +17 -0
  627. package/dist/lib/icons.js.map +1 -0
  628. package/dist/lib/interactive-target.js +9 -0
  629. package/dist/lib/interactive-target.js.map +1 -0
  630. package/dist/lib/intl-cache.js +69 -0
  631. package/dist/lib/intl-cache.js.map +1 -0
  632. package/dist/lib/legal-document.js +37 -0
  633. package/dist/lib/legal-document.js.map +1 -0
  634. package/dist/lib/line-diff-model.js +51 -0
  635. package/dist/lib/line-diff-model.js.map +1 -0
  636. package/dist/lib/markdown/attachments.js +71 -0
  637. package/dist/lib/markdown/attachments.js.map +1 -0
  638. package/dist/lib/markdown/caret-map.js +153 -0
  639. package/dist/lib/markdown/caret-map.js.map +1 -0
  640. package/dist/lib/markdown/caret.js +35 -0
  641. package/dist/lib/markdown/caret.js.map +1 -0
  642. package/dist/lib/markdown/commands.js +443 -0
  643. package/dist/lib/markdown/commands.js.map +1 -0
  644. package/dist/lib/markdown/convert.js +153 -0
  645. package/dist/lib/markdown/convert.js.map +1 -0
  646. package/dist/lib/markdown/dom.js +89 -0
  647. package/dist/lib/markdown/dom.js.map +1 -0
  648. package/dist/lib/markdown/edit.js +92 -0
  649. package/dist/lib/markdown/edit.js.map +1 -0
  650. package/dist/lib/markdown/history.js +79 -0
  651. package/dist/lib/markdown/history.js.map +1 -0
  652. package/dist/lib/markdown/hotkeys.js +63 -0
  653. package/dist/lib/markdown/hotkeys.js.map +1 -0
  654. package/dist/lib/markdown/image-pipeline.js +236 -0
  655. package/dist/lib/markdown/image-pipeline.js.map +1 -0
  656. package/dist/lib/markdown/images.js +85 -0
  657. package/dist/lib/markdown/images.js.map +1 -0
  658. package/dist/lib/markdown/input.js +210 -0
  659. package/dist/lib/markdown/input.js.map +1 -0
  660. package/dist/lib/markdown/keys.js +37 -0
  661. package/dist/lib/markdown/keys.js.map +1 -0
  662. package/dist/lib/markdown/paste.js +180 -0
  663. package/dist/lib/markdown/paste.js.map +1 -0
  664. package/dist/lib/markdown/position.js +111 -0
  665. package/dist/lib/markdown/position.js.map +1 -0
  666. package/dist/lib/markdown/project.js +108 -0
  667. package/dist/lib/markdown/project.js.map +1 -0
  668. package/dist/lib/markdown/reconcile.js +127 -0
  669. package/dist/lib/markdown/reconcile.js.map +1 -0
  670. package/dist/lib/markdown/surface.js +373 -0
  671. package/dist/lib/markdown/surface.js.map +1 -0
  672. package/dist/lib/motion.js +22 -0
  673. package/dist/lib/motion.js.map +1 -0
  674. package/dist/lib/pad.js +7 -0
  675. package/dist/lib/pad.js.map +1 -0
  676. package/dist/lib/paged-window/layout.js +15 -0
  677. package/dist/lib/paged-window/layout.js.map +1 -0
  678. package/dist/lib/paged-window/list-owner.js +21 -0
  679. package/dist/lib/paged-window/list-owner.js.map +1 -0
  680. package/dist/lib/paged-window/records-binding.js +239 -0
  681. package/dist/lib/paged-window/records-binding.js.map +1 -0
  682. package/dist/lib/paged-window/store.js +562 -0
  683. package/dist/lib/paged-window/store.js.map +1 -0
  684. package/dist/lib/paged-window/use-measured-pitch.js +38 -0
  685. package/dist/lib/paged-window/use-measured-pitch.js.map +1 -0
  686. package/dist/lib/paged-window/use-page-visibility.js +36 -0
  687. package/dist/lib/paged-window/use-page-visibility.js.map +1 -0
  688. package/dist/lib/paged-window/use-paged-window.js +43 -0
  689. package/dist/lib/paged-window/use-paged-window.js.map +1 -0
  690. package/dist/lib/paged-window/use-scroll-root.js +12 -0
  691. package/dist/lib/paged-window/use-scroll-root.js.map +1 -0
  692. package/dist/lib/persist.js +84 -0
  693. package/dist/lib/persist.js.map +1 -0
  694. package/dist/lib/preference-values.js +13 -0
  695. package/dist/lib/preference-values.js.map +1 -0
  696. package/dist/lib/preferences.js +86 -0
  697. package/dist/lib/preferences.js.map +1 -0
  698. package/dist/lib/reads/hooks.js +156 -0
  699. package/dist/lib/reads/hooks.js.map +1 -0
  700. package/dist/lib/reads/optimistic.js +169 -0
  701. package/dist/lib/reads/optimistic.js.map +1 -0
  702. package/dist/lib/reads/refetch.js +108 -0
  703. package/dist/lib/reads/refetch.js.map +1 -0
  704. package/dist/lib/reads/slots.js +215 -0
  705. package/dist/lib/reads/slots.js.map +1 -0
  706. package/dist/lib/realtime/hooks.js +40 -0
  707. package/dist/lib/realtime/hooks.js.map +1 -0
  708. package/dist/lib/realtime/provider.js +25 -0
  709. package/dist/lib/realtime/provider.js.map +1 -0
  710. package/dist/lib/realtime/registry.js +472 -0
  711. package/dist/lib/realtime/registry.js.map +1 -0
  712. package/dist/lib/records/define-record-type.js +33 -0
  713. package/dist/lib/records/define-record-type.js.map +1 -0
  714. package/dist/lib/records/hooks.js +39 -0
  715. package/dist/lib/records/hooks.js.map +1 -0
  716. package/dist/lib/records/store.js +572 -0
  717. package/dist/lib/records/store.js.map +1 -0
  718. package/dist/lib/records/wire.js +58 -0
  719. package/dist/lib/records/wire.js.map +1 -0
  720. package/dist/lib/reduced-motion-help.js +19 -0
  721. package/dist/lib/reduced-motion-help.js.map +1 -0
  722. package/dist/lib/scroll-caret.js +18 -0
  723. package/dist/lib/scroll-caret.js.map +1 -0
  724. package/dist/lib/sim/createSimStore.js +54 -0
  725. package/dist/lib/sim/createSimStore.js.map +1 -0
  726. package/dist/lib/sim/latency.js +28 -0
  727. package/dist/lib/sim/latency.js.map +1 -0
  728. package/dist/lib/sim/registry.js +13 -0
  729. package/dist/lib/sim/registry.js.map +1 -0
  730. package/dist/lib/sim/settings.js +41 -0
  731. package/dist/lib/sim/settings.js.map +1 -0
  732. package/dist/lib/submit-shortcut.js +25 -0
  733. package/dist/lib/submit-shortcut.js.map +1 -0
  734. package/dist/lib/syntax/index.js +33 -0
  735. package/dist/lib/syntax/index.js.map +1 -0
  736. package/dist/lib/syntax/languages/bash.js +77 -0
  737. package/dist/lib/syntax/languages/bash.js.map +1 -0
  738. package/dist/lib/syntax/languages/css.js +81 -0
  739. package/dist/lib/syntax/languages/css.js.map +1 -0
  740. package/dist/lib/syntax/languages/html.js +91 -0
  741. package/dist/lib/syntax/languages/html.js.map +1 -0
  742. package/dist/lib/syntax/languages/index.js +49 -0
  743. package/dist/lib/syntax/languages/index.js.map +1 -0
  744. package/dist/lib/syntax/languages/javascript.js +133 -0
  745. package/dist/lib/syntax/languages/javascript.js.map +1 -0
  746. package/dist/lib/syntax/languages/json.js +45 -0
  747. package/dist/lib/syntax/languages/json.js.map +1 -0
  748. package/dist/lib/syntax/languages/mongodb.js +24 -0
  749. package/dist/lib/syntax/languages/mongodb.js.map +1 -0
  750. package/dist/lib/syntax/languages/plain.js +10 -0
  751. package/dist/lib/syntax/languages/plain.js.map +1 -0
  752. package/dist/lib/syntax/languages/sql.js +113 -0
  753. package/dist/lib/syntax/languages/sql.js.map +1 -0
  754. package/dist/lib/syntax/languages/vue.js +31 -0
  755. package/dist/lib/syntax/languages/vue.js.map +1 -0
  756. package/dist/lib/syntax/languages/yaml.js +55 -0
  757. package/dist/lib/syntax/languages/yaml.js.map +1 -0
  758. package/dist/lib/syntax/markdown/grammar.js +52 -0
  759. package/dist/lib/syntax/markdown/grammar.js.map +1 -0
  760. package/dist/lib/syntax/markdown/inline.js +477 -0
  761. package/dist/lib/syntax/markdown/inline.js.map +1 -0
  762. package/dist/lib/syntax/markdown/parse.js +464 -0
  763. package/dist/lib/syntax/markdown/parse.js.map +1 -0
  764. package/dist/lib/syntax/markdown/refs.js +94 -0
  765. package/dist/lib/syntax/markdown/refs.js.map +1 -0
  766. package/dist/lib/syntax/markdown/render.js +230 -0
  767. package/dist/lib/syntax/markdown/render.js.map +1 -0
  768. package/dist/lib/syntax/markdown/spans.js +40 -0
  769. package/dist/lib/syntax/markdown/spans.js.map +1 -0
  770. package/dist/lib/syntax/registry.js +55 -0
  771. package/dist/lib/syntax/registry.js.map +1 -0
  772. package/dist/lib/syntax/tokenize.js +96 -0
  773. package/dist/lib/syntax/tokenize.js.map +1 -0
  774. package/dist/lib/time/instant.js +7 -0
  775. package/dist/lib/time/instant.js.map +1 -0
  776. package/dist/lib/time/plain.js +83 -0
  777. package/dist/lib/time/plain.js.map +1 -0
  778. package/dist/lib/time/relativeAge.js +20 -0
  779. package/dist/lib/time/relativeAge.js.map +1 -0
  780. package/dist/lib/time/relativeClock.js +59 -0
  781. package/dist/lib/time/relativeClock.js.map +1 -0
  782. package/dist/lib/time/types.js +23 -0
  783. package/dist/lib/time/types.js.map +1 -0
  784. package/dist/lib/time/zone.js +148 -0
  785. package/dist/lib/time/zone.js.map +1 -0
  786. package/dist/lib/use-controllable.js +16 -0
  787. package/dist/lib/use-controllable.js.map +1 -0
  788. package/dist/lib/use-fill-height.js +49 -0
  789. package/dist/lib/use-fill-height.js.map +1 -0
  790. package/dist/lib/use-hydrated.js +14 -0
  791. package/dist/lib/use-hydrated.js.map +1 -0
  792. package/dist/lib/use-media-query.js +30 -0
  793. package/dist/lib/use-media-query.js.map +1 -0
  794. package/dist/lib/use-relabel-base-ui-dismiss.js +26 -0
  795. package/dist/lib/use-relabel-base-ui-dismiss.js.map +1 -0
  796. package/dist/lib/use-release-snap-drag.js +29 -0
  797. package/dist/lib/use-release-snap-drag.js.map +1 -0
  798. package/dist/lib/use-roving-options.js +18 -0
  799. package/dist/lib/use-roving-options.js.map +1 -0
  800. package/dist/lib/values/absent.js +5 -0
  801. package/dist/lib/values/absent.js.map +1 -0
  802. package/dist/lib/values/boolean.js +13 -0
  803. package/dist/lib/values/boolean.js.map +1 -0
  804. package/dist/lib/values/currency.js +23 -0
  805. package/dist/lib/values/currency.js.map +1 -0
  806. package/dist/lib/values/date.js +35 -0
  807. package/dist/lib/values/date.js.map +1 -0
  808. package/dist/lib/values/datetime.js +54 -0
  809. package/dist/lib/values/datetime.js.map +1 -0
  810. package/dist/lib/values/locale-date.js +60 -0
  811. package/dist/lib/values/locale-date.js.map +1 -0
  812. package/dist/lib/values/number.js +16 -0
  813. package/dist/lib/values/number.js.map +1 -0
  814. package/dist/pure.js +379 -0
  815. package/dist/pure.js.map +1 -0
  816. package/dist/styles.css +190 -0
  817. package/dist/theme.css +360 -0
  818. package/dist/types/components/Accordion.d.ts +15 -0
  819. package/dist/types/components/AgentWorkingSpinner.d.ts +23 -0
  820. package/dist/types/components/AppShell.d.ts +164 -0
  821. package/dist/types/components/Attention.d.ts +87 -0
  822. package/dist/types/components/Avatar.d.ts +154 -0
  823. package/dist/types/components/Badge.d.ts +131 -0
  824. package/dist/types/components/Board.d.ts +239 -0
  825. package/dist/types/components/Button.d.ts +208 -0
  826. package/dist/types/components/Callout.d.ts +163 -0
  827. package/dist/types/components/Card.d.ts +219 -0
  828. package/dist/types/components/Choice.d.ts +127 -0
  829. package/dist/types/components/CodeEditor.d.ts +86 -0
  830. package/dist/types/components/ColorPicker.d.ts +14 -0
  831. package/dist/types/components/Combobox.d.ts +43 -0
  832. package/dist/types/components/CommandPalette.d.ts +35 -0
  833. package/dist/types/components/ConcentricRing.d.ts +61 -0
  834. package/dist/types/components/ConnectionCard.d.ts +64 -0
  835. package/dist/types/components/ContextItemRow.d.ts +35 -0
  836. package/dist/types/components/CopyValue.d.ts +14 -0
  837. package/dist/types/components/CountBadge.d.ts +14 -0
  838. package/dist/types/components/DateCalendar.d.ts +30 -0
  839. package/dist/types/components/DateField.d.ts +29 -0
  840. package/dist/types/components/DatePicker.d.ts +20 -0
  841. package/dist/types/components/DateTimeText.d.ts +9 -0
  842. package/dist/types/components/DescriptionList.d.ts +40 -0
  843. package/dist/types/components/Dialog.d.ts +269 -0
  844. package/dist/types/components/DragDrop.d.ts +196 -0
  845. package/dist/types/components/Drawer.d.ts +163 -0
  846. package/dist/types/components/EditGutter.d.ts +44 -0
  847. package/dist/types/components/EmojiPicker.d.ts +30 -0
  848. package/dist/types/components/ErrorBoundary.d.ts +43 -0
  849. package/dist/types/components/Field.d.ts +37 -0
  850. package/dist/types/components/FileUpload.d.ts +22 -0
  851. package/dist/types/components/FilterMenu.d.ts +120 -0
  852. package/dist/types/components/GatesSection.d.ts +79 -0
  853. package/dist/types/components/Icon.d.ts +40 -0
  854. package/dist/types/components/IconButton.d.ts +69 -0
  855. package/dist/types/components/IconStack.d.ts +28 -0
  856. package/dist/types/components/ImageUploadField.d.ts +38 -0
  857. package/dist/types/components/InlineEdit.d.ts +183 -0
  858. package/dist/types/components/InlineMarkdownEdit.d.ts +100 -0
  859. package/dist/types/components/Input.d.ts +128 -0
  860. package/dist/types/components/LegalDocument.d.ts +23 -0
  861. package/dist/types/components/LineDiff.d.ts +53 -0
  862. package/dist/types/components/ListHeader.d.ts +45 -0
  863. package/dist/types/components/Loading.d.ts +131 -0
  864. package/dist/types/components/Markdown.d.ts +35 -0
  865. package/dist/types/components/MarkdownEditor.d.ts +129 -0
  866. package/dist/types/components/Menu.d.ts +157 -0
  867. package/dist/types/components/Navigation.d.ts +67 -0
  868. package/dist/types/components/NumberInput.d.ts +177 -0
  869. package/dist/types/components/OTPInput.d.ts +13 -0
  870. package/dist/types/components/OrderedEntityManager.d.ts +64 -0
  871. package/dist/types/components/PagedWindowList.d.ts +23 -0
  872. package/dist/types/components/PaginationBar.d.ts +31 -0
  873. package/dist/types/components/Panel.d.ts +94 -0
  874. package/dist/types/components/PasswordInput.d.ts +7 -0
  875. package/dist/types/components/PasswordRequirements.d.ts +11 -0
  876. package/dist/types/components/PatchDiff.d.ts +38 -0
  877. package/dist/types/components/PendingVeil.d.ts +8 -0
  878. package/dist/types/components/Popover.d.ts +231 -0
  879. package/dist/types/components/Progress.d.ts +580 -0
  880. package/dist/types/components/RatingScale.d.ts +30 -0
  881. package/dist/types/components/ReadMore.d.ts +26 -0
  882. package/dist/types/components/RecordCard.d.ts +413 -0
  883. package/dist/types/components/RelativeTime.d.ts +17 -0
  884. package/dist/types/components/SandboxedFrame.d.ts +37 -0
  885. package/dist/types/components/SearchInput.d.ts +6 -0
  886. package/dist/types/components/SecretField.d.ts +90 -0
  887. package/dist/types/components/SectionNav.d.ts +15 -0
  888. package/dist/types/components/Select.d.ts +53 -0
  889. package/dist/types/components/SequenceDiagram.d.ts +15 -0
  890. package/dist/types/components/SettingRow.d.ts +144 -0
  891. package/dist/types/components/SignOffRings.d.ts +29 -0
  892. package/dist/types/components/Slider.d.ts +255 -0
  893. package/dist/types/components/SolutionChoice.d.ts +49 -0
  894. package/dist/types/components/SortMenu.d.ts +45 -0
  895. package/dist/types/components/Spinner.d.ts +29 -0
  896. package/dist/types/components/Stat.d.ts +136 -0
  897. package/dist/types/components/StatusSelect.d.ts +93 -0
  898. package/dist/types/components/Surface.d.ts +145 -0
  899. package/dist/types/components/Table.d.ts +164 -0
  900. package/dist/types/components/Tabs.d.ts +142 -0
  901. package/dist/types/components/ThemeMenu.d.ts +56 -0
  902. package/dist/types/components/Toast.d.ts +63 -0
  903. package/dist/types/components/Toggle.d.ts +168 -0
  904. package/dist/types/components/ToggleMatrix.d.ts +51 -0
  905. package/dist/types/components/Tree.d.ts +20 -0
  906. package/dist/types/components/TriStateSwitch.d.ts +63 -0
  907. package/dist/types/components/VideoPlayer.d.ts +26 -0
  908. package/dist/types/components/auth/AcceptInvitationCard.d.ts +54 -0
  909. package/dist/types/components/auth/AuthLayout.d.ts +12 -0
  910. package/dist/types/components/auth/ForgotPasswordForm.d.ts +6 -0
  911. package/dist/types/components/auth/LoginForm.d.ts +13 -0
  912. package/dist/types/components/auth/ResetPasswordForm.d.ts +9 -0
  913. package/dist/types/components/auth/SignInProviders.d.ts +56 -0
  914. package/dist/types/components/auth/SignupCard.d.ts +62 -0
  915. package/dist/types/components/auth/TermsAcceptance.d.ts +14 -0
  916. package/dist/types/components/auth/index.d.ts +8 -0
  917. package/dist/types/components/board/context.d.ts +65 -0
  918. package/dist/types/components/board/recipe.d.ts +97 -0
  919. package/dist/types/components/calendar/CalendarMonth.d.ts +32 -0
  920. package/dist/types/components/calendar/CalendarTimeGrid.d.ts +74 -0
  921. package/dist/types/components/calendar/EventActions.d.ts +16 -0
  922. package/dist/types/components/calendar/format.d.ts +42 -0
  923. package/dist/types/components/calendar/palette.d.ts +17 -0
  924. package/dist/types/components/calendar/use-calendar-drag.d.ts +53 -0
  925. package/dist/types/components/calendar/use-event-keyboard.d.ts +23 -0
  926. package/dist/types/components/calendar/use-grid-navigation.d.ts +47 -0
  927. package/dist/types/components/calendar/use-now.d.ts +20 -0
  928. package/dist/types/components/card-face/AcRingGlyph.d.ts +20 -0
  929. package/dist/types/components/card-face/BoardCardAgentSlot.d.ts +19 -0
  930. package/dist/types/components/card-face/CardFace.d.ts +106 -0
  931. package/dist/types/components/card-face/CardTypeBadge.d.ts +21 -0
  932. package/dist/types/components/card-face/EffortBadge.d.ts +9 -0
  933. package/dist/types/components/card-face/GateRingGlyph.d.ts +22 -0
  934. package/dist/types/components/card-face/OverflowRow.d.ts +40 -0
  935. package/dist/types/components/card-face/TapTip.d.ts +15 -0
  936. package/dist/types/components/card-face/hit-area.d.ts +20 -0
  937. package/dist/types/components/card-face/vocabulary.d.ts +83 -0
  938. package/dist/types/components/chart/BarList.d.ts +27 -0
  939. package/dist/types/components/chart/LineChart.d.ts +64 -0
  940. package/dist/types/components/chart/ShareBar.d.ts +26 -0
  941. package/dist/types/components/chart/TimeSeriesChart.d.ts +60 -0
  942. package/dist/types/components/chart/label-metrics.d.ts +9 -0
  943. package/dist/types/components/chart/line-chart-axis.d.ts +14 -0
  944. package/dist/types/components/chart/line-chart-scale.d.ts +55 -0
  945. package/dist/types/components/chart/line-series-style.d.ts +14 -0
  946. package/dist/types/components/chart/share-bar-labels.d.ts +17 -0
  947. package/dist/types/components/chart/shared.d.ts +122 -0
  948. package/dist/types/components/chart/time-series-scale.d.ts +29 -0
  949. package/dist/types/components/chat/Attachment.d.ts +125 -0
  950. package/dist/types/components/chat/Chat.d.ts +60 -0
  951. package/dist/types/components/chat/Composer.d.ts +62 -0
  952. package/dist/types/components/chat/ContextMeter.d.ts +45 -0
  953. package/dist/types/components/chat/EffortControl.d.ts +23 -0
  954. package/dist/types/components/chat/FileCover.d.ts +14 -0
  955. package/dist/types/components/chat/Message.d.ts +66 -0
  956. package/dist/types/components/chat/MessageScroller.d.ts +18 -0
  957. package/dist/types/components/chat/ModelSelector.d.ts +44 -0
  958. package/dist/types/components/chat/StreamingMarkdown.d.ts +11 -0
  959. package/dist/types/components/chat/download-file.d.ts +7 -0
  960. package/dist/types/components/chat/file-icon.d.ts +29 -0
  961. package/dist/types/components/chat/types.d.ts +165 -0
  962. package/dist/types/components/checklist/StatusChecklist.d.ts +37 -0
  963. package/dist/types/components/checklist/index.d.ts +3 -0
  964. package/dist/types/components/checklist/tally.d.ts +19 -0
  965. package/dist/types/components/checklist/types.d.ts +28 -0
  966. package/dist/types/components/code-editor/context.d.ts +32 -0
  967. package/dist/types/components/code-editor/editing.d.ts +39 -0
  968. package/dist/types/components/code-editor/highlight.d.ts +20 -0
  969. package/dist/types/components/code-editor/recipe.d.ts +109 -0
  970. package/dist/types/components/date-timeline/DateTimeline.d.ts +99 -0
  971. package/dist/types/components/date-timeline/TimelineRow.d.ts +22 -0
  972. package/dist/types/components/date-timeline/useBarDrag.d.ts +15 -0
  973. package/dist/types/components/date-timeline/useMarkerDrag.d.ts +14 -0
  974. package/dist/types/components/date-timeline/useTimelineZoom.d.ts +23 -0
  975. package/dist/types/components/drag-drop/context.d.ts +85 -0
  976. package/dist/types/components/drag-drop/recipe.d.ts +163 -0
  977. package/dist/types/components/drag-drop/shift.d.ts +153 -0
  978. package/dist/types/components/edit/activation.d.ts +21 -0
  979. package/dist/types/components/edit/outcome.d.ts +29 -0
  980. package/dist/types/components/edit/use-edit-session.d.ts +77 -0
  981. package/dist/types/components/file-viewer/FileViewer.d.ts +2 -0
  982. package/dist/types/components/file-viewer/PageNumberJumpField.d.ts +9 -0
  983. package/dist/types/components/file-viewer/ViewerControls.d.ts +20 -0
  984. package/dist/types/components/file-viewer/ViewerRail.d.ts +10 -0
  985. package/dist/types/components/file-viewer/ViewerStage.d.ts +22 -0
  986. package/dist/types/components/file-viewer/frames.d.ts +28 -0
  987. package/dist/types/components/file-viewer/index.d.ts +3 -0
  988. package/dist/types/components/file-viewer/types.d.ts +70 -0
  989. package/dist/types/components/file-viewer/use-frame-cursor.d.ts +13 -0
  990. package/dist/types/components/file-viewer/use-viewer-keys.d.ts +24 -0
  991. package/dist/types/components/file-viewer/use-viewer-zoom.d.ts +29 -0
  992. package/dist/types/components/focus-web/FocusWeb.d.ts +3 -0
  993. package/dist/types/components/focus-web/index.d.ts +4 -0
  994. package/dist/types/components/focus-web/layout.d.ts +55 -0
  995. package/dist/types/components/focus-web/types.d.ts +131 -0
  996. package/dist/types/components/graph-explorer/GraphExplorer.d.ts +42 -0
  997. package/dist/types/components/graph-explorer/camera-math.d.ts +119 -0
  998. package/dist/types/components/graph-explorer/index.d.ts +5 -0
  999. package/dist/types/components/graph-explorer/tree-layout.d.ts +67 -0
  1000. package/dist/types/components/graph-explorer/types.d.ts +62 -0
  1001. package/dist/types/components/graph-explorer/use-camera.d.ts +81 -0
  1002. package/dist/types/components/graph-explorer/viewport-gesture.d.ts +32 -0
  1003. package/dist/types/components/kanban/KanbanBoard.d.ts +72 -0
  1004. package/dist/types/components/kanban/recipe.d.ts +73 -0
  1005. package/dist/types/components/kanban/types.d.ts +55 -0
  1006. package/dist/types/components/markdown/Affordances.d.ts +105 -0
  1007. package/dist/types/components/markdown/AttachmentStrip.d.ts +25 -0
  1008. package/dist/types/components/markdown/ImageUpload.d.ts +56 -0
  1009. package/dist/types/components/media-error.d.ts +11 -0
  1010. package/dist/types/components/nav-sections.d.ts +10 -0
  1011. package/dist/types/components/node-canvas/NodeCanvas.d.ts +66 -0
  1012. package/dist/types/components/node-canvas/index.d.ts +3 -0
  1013. package/dist/types/components/node-canvas/layout.d.ts +29 -0
  1014. package/dist/types/components/node-canvas/types.d.ts +207 -0
  1015. package/dist/types/components/node-canvas/use-canvas-gestures.d.ts +39 -0
  1016. package/dist/types/components/openapi/OpenApiViewer.d.ts +14 -0
  1017. package/dist/types/components/openapi/OperationCard.d.ts +33 -0
  1018. package/dist/types/components/openapi/SchemaView.d.ts +14 -0
  1019. package/dist/types/components/openapi/index.d.ts +6 -0
  1020. package/dist/types/components/openapi/resolve.d.ts +72 -0
  1021. package/dist/types/components/openapi/types.d.ts +128 -0
  1022. package/dist/types/components/overlay-shell.d.ts +48 -0
  1023. package/dist/types/components/overlay-stack.d.ts +18 -0
  1024. package/dist/types/components/paged-window/PageBlock.d.ts +31 -0
  1025. package/dist/types/components/provenance/ConfidenceBar.d.ts +118 -0
  1026. package/dist/types/components/provenance/ConfidenceMeter.d.ts +21 -0
  1027. package/dist/types/components/provenance/ConfidenceReadout.d.ts +17 -0
  1028. package/dist/types/components/provenance/ProvenanceBadge.d.ts +23 -0
  1029. package/dist/types/components/provenance/ProvenanceDetail.d.ts +109 -0
  1030. package/dist/types/components/provenance/ProvenanceDisclosure.d.ts +107 -0
  1031. package/dist/types/components/provenance/absence.d.ts +37 -0
  1032. package/dist/types/components/provenance/index.d.ts +7 -0
  1033. package/dist/types/components/provenance/types.d.ts +137 -0
  1034. package/dist/types/components/rbac/AccessRequestPanel.d.ts +92 -0
  1035. package/dist/types/components/rbac/AccountMenu.d.ts +46 -0
  1036. package/dist/types/components/rbac/AgentKeysList.d.ts +22 -0
  1037. package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
  1038. package/dist/types/components/rbac/ApiKeysTable.d.ts +65 -0
  1039. package/dist/types/components/rbac/Brand.d.ts +8 -0
  1040. package/dist/types/components/rbac/Can.d.ts +19 -0
  1041. package/dist/types/components/rbac/ChangePasswordForm.d.ts +18 -0
  1042. package/dist/types/components/rbac/DangerZone.d.ts +8 -0
  1043. package/dist/types/components/rbac/DevToolsPopover.d.ts +36 -0
  1044. package/dist/types/components/rbac/EndedLine.d.ts +21 -0
  1045. package/dist/types/components/rbac/InvitationsList.d.ts +39 -0
  1046. package/dist/types/components/rbac/InviteMembersDialog.d.ts +21 -0
  1047. package/dist/types/components/rbac/MembersPanel.d.ts +31 -0
  1048. package/dist/types/components/rbac/PermissionRequestPanel.d.ts +36 -0
  1049. package/dist/types/components/rbac/ProfileForm.d.ts +27 -0
  1050. package/dist/types/components/rbac/ProfilePage.d.ts +16 -0
  1051. package/dist/types/components/rbac/RBACProvider.d.ts +69 -0
  1052. package/dist/types/components/rbac/RoleEditorDialog.d.ts +28 -0
  1053. package/dist/types/components/rbac/RoleKeyPicker.d.ts +24 -0
  1054. package/dist/types/components/rbac/RolePermissionMatrix.d.ts +21 -0
  1055. package/dist/types/components/rbac/RolesPermissionsPage.d.ts +24 -0
  1056. package/dist/types/components/rbac/SessionsList.d.ts +35 -0
  1057. package/dist/types/components/rbac/TeamSettingsForm.d.ts +22 -0
  1058. package/dist/types/components/rbac/TeamSwitcher.d.ts +5 -0
  1059. package/dist/types/components/rbac/approvalPanelParts.d.ts +69 -0
  1060. package/dist/types/components/rbac/index.d.ts +25 -0
  1061. package/dist/types/components/rbac/permissionSections.d.ts +8 -0
  1062. package/dist/types/components/rbac/stagedForm.d.ts +25 -0
  1063. package/dist/types/components/rbac/types.d.ts +65 -0
  1064. package/dist/types/components/rbac/useStagedImage.d.ts +15 -0
  1065. package/dist/types/components/roadmap/PhaseManager.d.ts +19 -0
  1066. package/dist/types/components/roadmap/RoadmapItemCard.d.ts +51 -0
  1067. package/dist/types/components/roadmap/RoadmapPage.d.ts +12 -0
  1068. package/dist/types/components/roadmap/RoadmapSwimlaneBoard.d.ts +15 -0
  1069. package/dist/types/components/roadmap/TrackManager.d.ts +19 -0
  1070. package/dist/types/components/roadmap/UseCaseCard.d.ts +30 -0
  1071. package/dist/types/components/roadmap/UseCaseLedgerPage.d.ts +29 -0
  1072. package/dist/types/components/roadmap/chip-tones.d.ts +2 -0
  1073. package/dist/types/components/roadmap/derive.d.ts +39 -0
  1074. package/dist/types/components/roadmap/index.d.ts +10 -0
  1075. package/dist/types/components/roadmap/types.d.ts +86 -0
  1076. package/dist/types/components/stepper/Stepper.d.ts +79 -0
  1077. package/dist/types/components/stepper/derive.d.ts +49 -0
  1078. package/dist/types/components/stepper/index.d.ts +3 -0
  1079. package/dist/types/components/stepper/types.d.ts +118 -0
  1080. package/dist/types/icons/data.d.ts +2054 -0
  1081. package/dist/types/index.d.ts +209 -0
  1082. package/dist/types/lib/attention.d.ts +62 -0
  1083. package/dist/types/lib/board/anchor.d.ts +69 -0
  1084. package/dist/types/lib/board/index.d.ts +17 -0
  1085. package/dist/types/lib/board/model.d.ts +43 -0
  1086. package/dist/types/lib/board/move.d.ts +181 -0
  1087. package/dist/types/lib/board/position.d.ts +22 -0
  1088. package/dist/types/lib/board/rejection.d.ts +8 -0
  1089. package/dist/types/lib/board/types.d.ts +294 -0
  1090. package/dist/types/lib/board/use-board.d.ts +47 -0
  1091. package/dist/types/lib/calendar/band-packer.d.ts +53 -0
  1092. package/dist/types/lib/calendar/drag.d.ts +125 -0
  1093. package/dist/types/lib/calendar/index.d.ts +4 -0
  1094. package/dist/types/lib/calendar/lane-packer.d.ts +88 -0
  1095. package/dist/types/lib/calendar/segments.d.ts +91 -0
  1096. package/dist/types/lib/calendar/types.d.ts +166 -0
  1097. package/dist/types/lib/chart-palette.d.ts +14 -0
  1098. package/dist/types/lib/clipboard.d.ts +12 -0
  1099. package/dist/types/lib/cn.d.ts +7 -0
  1100. package/dist/types/lib/color.d.ts +14 -0
  1101. package/dist/types/lib/component-guidance.d.ts +15 -0
  1102. package/dist/types/lib/confidence.d.ts +28 -0
  1103. package/dist/types/lib/date-timeline/scale.d.ts +143 -0
  1104. package/dist/types/lib/design-frame/document.d.ts +39 -0
  1105. package/dist/types/lib/design-frame/mini-app-script.d.ts +29 -0
  1106. package/dist/types/lib/design-frame/mini-app.d.ts +17 -0
  1107. package/dist/types/lib/design-frame/protocol.d.ts +78 -0
  1108. package/dist/types/lib/dev-warn.d.ts +10 -0
  1109. package/dist/types/lib/dnd/announce.d.ts +124 -0
  1110. package/dist/types/lib/dnd/autoscroll.d.ts +88 -0
  1111. package/dist/types/lib/dnd/cross-drop.d.ts +18 -0
  1112. package/dist/types/lib/dnd/geometry.d.ts +126 -0
  1113. package/dist/types/lib/dnd/index.d.ts +17 -0
  1114. package/dist/types/lib/dnd/sensors/gesture.d.ts +37 -0
  1115. package/dist/types/lib/dnd/sensors/keyboard.d.ts +54 -0
  1116. package/dist/types/lib/dnd/sensors/pointer.d.ts +59 -0
  1117. package/dist/types/lib/dnd/session.d.ts +124 -0
  1118. package/dist/types/lib/dnd/types.d.ts +226 -0
  1119. package/dist/types/lib/dnd/use-drag.d.ts +82 -0
  1120. package/dist/types/lib/dom/scroll-ancestor.d.ts +15 -0
  1121. package/dist/types/lib/format.d.ts +33 -0
  1122. package/dist/types/lib/group-in-order.d.ts +13 -0
  1123. package/dist/types/lib/header-fold.d.ts +10 -0
  1124. package/dist/types/lib/i18n/areas/auth-provenance-flows.d.ts +287 -0
  1125. package/dist/types/lib/i18n/areas/board.d.ts +51 -0
  1126. package/dist/types/lib/i18n/areas/card-face.d.ts +8 -0
  1127. package/dist/types/lib/i18n/areas/chat-chart.d.ts +202 -0
  1128. package/dist/types/lib/i18n/areas/code-editor.d.ts +40 -0
  1129. package/dist/types/lib/i18n/areas/date-timeline.d.ts +36 -0
  1130. package/dist/types/lib/i18n/areas/dates.d.ts +103 -0
  1131. package/dist/types/lib/i18n/areas/docs-views.d.ts +297 -0
  1132. package/dist/types/lib/i18n/areas/feedback.d.ts +132 -0
  1133. package/dist/types/lib/i18n/areas/formats.d.ts +30 -0
  1134. package/dist/types/lib/i18n/areas/forms.d.ts +182 -0
  1135. package/dist/types/lib/i18n/areas/keys.d.ts +15 -0
  1136. package/dist/types/lib/i18n/areas/markdown.d.ts +150 -0
  1137. package/dist/types/lib/i18n/areas/move-rejected.d.ts +16 -0
  1138. package/dist/types/lib/i18n/areas/navigation.d.ts +185 -0
  1139. package/dist/types/lib/i18n/areas/rbac.d.ts +635 -0
  1140. package/dist/types/lib/i18n/emphasis.d.ts +3 -0
  1141. package/dist/types/lib/i18n/index.d.ts +10 -0
  1142. package/dist/types/lib/i18n/number-format.d.ts +5 -0
  1143. package/dist/types/lib/i18n/plural.d.ts +7 -0
  1144. package/dist/types/lib/i18n/provider.d.ts +16 -0
  1145. package/dist/types/lib/i18n/strings.d.ts +18 -0
  1146. package/dist/types/lib/icons.d.ts +22 -0
  1147. package/dist/types/lib/interactive-target.d.ts +3 -0
  1148. package/dist/types/lib/intl-cache.d.ts +31 -0
  1149. package/dist/types/lib/legal-document.d.ts +82 -0
  1150. package/dist/types/lib/line-diff-model.d.ts +39 -0
  1151. package/dist/types/lib/markdown/attachments.d.ts +50 -0
  1152. package/dist/types/lib/markdown/caret-map.d.ts +69 -0
  1153. package/dist/types/lib/markdown/caret.d.ts +6 -0
  1154. package/dist/types/lib/markdown/commands.d.ts +186 -0
  1155. package/dist/types/lib/markdown/convert.d.ts +99 -0
  1156. package/dist/types/lib/markdown/dom.d.ts +30 -0
  1157. package/dist/types/lib/markdown/edit.d.ts +16 -0
  1158. package/dist/types/lib/markdown/history.d.ts +59 -0
  1159. package/dist/types/lib/markdown/hotkeys.d.ts +63 -0
  1160. package/dist/types/lib/markdown/image-pipeline.d.ts +173 -0
  1161. package/dist/types/lib/markdown/images.d.ts +138 -0
  1162. package/dist/types/lib/markdown/input.d.ts +38 -0
  1163. package/dist/types/lib/markdown/keys.d.ts +34 -0
  1164. package/dist/types/lib/markdown/paste.d.ts +9 -0
  1165. package/dist/types/lib/markdown/position.d.ts +43 -0
  1166. package/dist/types/lib/markdown/project.d.ts +88 -0
  1167. package/dist/types/lib/markdown/reconcile.d.ts +63 -0
  1168. package/dist/types/lib/markdown/surface.d.ts +236 -0
  1169. package/dist/types/lib/motion.d.ts +30 -0
  1170. package/dist/types/lib/pad.d.ts +6 -0
  1171. package/dist/types/lib/paged-window/index.d.ts +2 -0
  1172. package/dist/types/lib/paged-window/layout.d.ts +21 -0
  1173. package/dist/types/lib/paged-window/list-owner.d.ts +12 -0
  1174. package/dist/types/lib/paged-window/records-binding.d.ts +102 -0
  1175. package/dist/types/lib/paged-window/store.d.ts +307 -0
  1176. package/dist/types/lib/paged-window/use-measured-pitch.d.ts +34 -0
  1177. package/dist/types/lib/paged-window/use-page-visibility.d.ts +20 -0
  1178. package/dist/types/lib/paged-window/use-paged-window.d.ts +61 -0
  1179. package/dist/types/lib/paged-window/use-scroll-root.d.ts +18 -0
  1180. package/dist/types/lib/persist.d.ts +57 -0
  1181. package/dist/types/lib/preference-values.d.ts +72 -0
  1182. package/dist/types/lib/preferences.d.ts +26 -0
  1183. package/dist/types/lib/reads/hooks.d.ts +49 -0
  1184. package/dist/types/lib/reads/index.d.ts +5 -0
  1185. package/dist/types/lib/reads/optimistic.d.ts +119 -0
  1186. package/dist/types/lib/reads/refetch.d.ts +83 -0
  1187. package/dist/types/lib/reads/slots.d.ts +137 -0
  1188. package/dist/types/lib/reads/types.d.ts +155 -0
  1189. package/dist/types/lib/realtime/hooks.d.ts +38 -0
  1190. package/dist/types/lib/realtime/index.d.ts +4 -0
  1191. package/dist/types/lib/realtime/provider.d.ts +38 -0
  1192. package/dist/types/lib/realtime/registry.d.ts +225 -0
  1193. package/dist/types/lib/realtime/types.d.ts +242 -0
  1194. package/dist/types/lib/records/define-record-type.d.ts +29 -0
  1195. package/dist/types/lib/records/hooks.d.ts +46 -0
  1196. package/dist/types/lib/records/index.d.ts +5 -0
  1197. package/dist/types/lib/records/store.d.ts +289 -0
  1198. package/dist/types/lib/records/types.d.ts +195 -0
  1199. package/dist/types/lib/records/wire.d.ts +96 -0
  1200. package/dist/types/lib/reduced-motion-help.d.ts +23 -0
  1201. package/dist/types/lib/scroll-caret.d.ts +6 -0
  1202. package/dist/types/lib/sim/createSimStore.d.ts +18 -0
  1203. package/dist/types/lib/sim/index.d.ts +5 -0
  1204. package/dist/types/lib/sim/latency.d.ts +10 -0
  1205. package/dist/types/lib/sim/registry.d.ts +14 -0
  1206. package/dist/types/lib/sim/settings.d.ts +11 -0
  1207. package/dist/types/lib/sim/types.d.ts +3 -0
  1208. package/dist/types/lib/submit-shortcut.d.ts +24 -0
  1209. package/dist/types/lib/syntax/index.d.ts +16 -0
  1210. package/dist/types/lib/syntax/languages/bash.d.ts +1 -0
  1211. package/dist/types/lib/syntax/languages/css.d.ts +1 -0
  1212. package/dist/types/lib/syntax/languages/html.d.ts +17 -0
  1213. package/dist/types/lib/syntax/languages/index.d.ts +33 -0
  1214. package/dist/types/lib/syntax/languages/javascript.d.ts +22 -0
  1215. package/dist/types/lib/syntax/languages/json.d.ts +1 -0
  1216. package/dist/types/lib/syntax/languages/mongodb.d.ts +1 -0
  1217. package/dist/types/lib/syntax/languages/plain.d.ts +9 -0
  1218. package/dist/types/lib/syntax/languages/sql.d.ts +4 -0
  1219. package/dist/types/lib/syntax/languages/vue.d.ts +1 -0
  1220. package/dist/types/lib/syntax/languages/yaml.d.ts +1 -0
  1221. package/dist/types/lib/syntax/markdown/frames.d.ts +145 -0
  1222. package/dist/types/lib/syntax/markdown/grammar.d.ts +1 -0
  1223. package/dist/types/lib/syntax/markdown/index.d.ts +5 -0
  1224. package/dist/types/lib/syntax/markdown/inline.d.ts +21 -0
  1225. package/dist/types/lib/syntax/markdown/parse.d.ts +15 -0
  1226. package/dist/types/lib/syntax/markdown/refs.d.ts +47 -0
  1227. package/dist/types/lib/syntax/markdown/render.d.ts +25 -0
  1228. package/dist/types/lib/syntax/markdown/spans.d.ts +84 -0
  1229. package/dist/types/lib/syntax/markdown/types.d.ts +108 -0
  1230. package/dist/types/lib/syntax/registry.d.ts +37 -0
  1231. package/dist/types/lib/syntax/tokenize.d.ts +17 -0
  1232. package/dist/types/lib/syntax/types.d.ts +119 -0
  1233. package/dist/types/lib/time/index.d.ts +4 -0
  1234. package/dist/types/lib/time/instant.d.ts +2 -0
  1235. package/dist/types/lib/time/plain.d.ts +61 -0
  1236. package/dist/types/lib/time/relativeAge.d.ts +18 -0
  1237. package/dist/types/lib/time/relativeClock.d.ts +8 -0
  1238. package/dist/types/lib/time/types.d.ts +87 -0
  1239. package/dist/types/lib/time/zone.d.ts +106 -0
  1240. package/dist/types/lib/use-controllable.d.ts +14 -0
  1241. package/dist/types/lib/use-fill-height.d.ts +26 -0
  1242. package/dist/types/lib/use-hydrated.d.ts +8 -0
  1243. package/dist/types/lib/use-media-query.d.ts +29 -0
  1244. package/dist/types/lib/use-relabel-base-ui-dismiss.d.ts +6 -0
  1245. package/dist/types/lib/use-release-snap-drag.d.ts +25 -0
  1246. package/dist/types/lib/use-roving-options.d.ts +10 -0
  1247. package/dist/types/lib/values/absent.d.ts +7 -0
  1248. package/dist/types/lib/values/boolean.d.ts +29 -0
  1249. package/dist/types/lib/values/currency.d.ts +22 -0
  1250. package/dist/types/lib/values/date.d.ts +30 -0
  1251. package/dist/types/lib/values/datetime.d.ts +48 -0
  1252. package/dist/types/lib/values/index.d.ts +5 -0
  1253. package/dist/types/lib/values/locale-date.d.ts +34 -0
  1254. package/dist/types/lib/values/number.d.ts +27 -0
  1255. package/dist/types/pure.d.ts +48 -0
  1256. package/package.json +136 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/syntax/index.ts"],"sourcesContent":["/* ============================================================================\n SYNTAX — one tokenizer, many languages, nesting as a first-class mechanism.\n\n THE WHOLE DESIGN RESTS ON ONE INVARIANT: a language produces a flat list of\n offsets into the source, never a string of markup. That is what makes the\n editor possible (the highlight layer is character-identical to the textarea\n under it) and what makes nesting possible (an inner language's tokens splice\n into the outer stream). See `types.ts` for the argument in full.\n\n Public surface:\n tokenize(source, language) -> Token[]\n listLanguages() -> every registered name\n resolveLanguage(alias) -> canonical name, or null\n\n ---------------------------------------------------------------------------\n WHY SEEDING IS LAZY AND NOT A TOP-LEVEL LOOP.\n\n This file used to register the built-in grammars with a bare top-level\n statement:\n\n for (const grammar of LANGUAGES) registerGrammar(grammar);\n\n It works in dev and in every test, and it is DELETED FROM EVERY BUILD.\n `package.json` declares `sideEffects: [\"*.css\"]`, which tells the bundler\n that every JS module in this package is side-effect-free — so Rollup keeps\n the module (its `tokenize` export is used) and drops the top-level statements\n that contribute to no used export. The loop is exactly that.\n\n The symptom is silence. `tokenize` still returns a complete, gap-free token\n list covering the whole source — every token typed `text`, because no grammar\n is registered — so the coverage invariant holds, nothing throws, and code\n renders as plain unstyled text. Measured on the published build:\n `listLanguages()` returned `[]` and a TypeScript sample produced one token\n type. It shipped that way in `dist/` AND in the demo build; only the dev\n server, which does not tree-shake, looked correct.\n\n THIS IS CAV-11'S CLASS, NOT ITS INSTANCE. That one was a bare\n `import \"./x\"` for its side effect, and the fix — import a VALUE — is\n already followed here: `LANGUAGES` is a real import. It does not help,\n because the deletion is of the CALL, not of the import.\n\n So seeding is reachable from the used exports instead: no bundler can drop a\n call that the function a consumer invokes makes on its own path. The `seeded`\n flag makes it once-only, and the cost after the first call is one boolean\n test.\n ========================================================================= */\n\nimport { LANGUAGES } from \"./languages\";\nimport {\n getGrammar as getGrammarRaw,\n listLanguages as listLanguagesRaw,\n registerGrammar as registerGrammarRaw,\n resolveLanguage as resolveLanguageRaw,\n} from \"./registry\";\nimport { tokenize as tokenizeRaw } from \"./tokenize\";\nimport type { Grammar, Token } from \"./types\";\n\nlet seeded = false;\n\n/** Register the built-in grammars, once. Called by every entry point below. */\nfunction ensureSeeded(): void {\n if (seeded) return;\n seeded = true;\n for (const grammar of LANGUAGES) registerGrammarRaw(grammar);\n}\n\nexport function tokenize(source: string, language: string | null | undefined): Token[] {\n ensureSeeded();\n return tokenizeRaw(source, language);\n}\n\nexport function listLanguages(): string[] {\n ensureSeeded();\n return listLanguagesRaw();\n}\n\nexport function resolveLanguage(alias: string | null | undefined): string | null {\n ensureSeeded();\n return resolveLanguageRaw(alias);\n}\n\nexport function getGrammar(name: string | null | undefined): Grammar | undefined {\n ensureSeeded();\n return getGrammarRaw(name);\n}\n\n/**\n * Register a custom grammar.\n *\n * Seeds first, so a consumer registering `json` deliberately overrides the\n * built-in rather than being silently overwritten by it on the next call that\n * happens to seed.\n */\nexport function registerGrammar(grammar: Grammar): void {\n ensureSeeded();\n registerGrammarRaw(grammar);\n}\n\nexport { checkCoverage } from \"./tokenize\";\nexport { defineGrammar } from \"./registry\";\nexport type { Token, TokenType, Grammar, Rule, TokenizeContext } from \"./types\";\n"],"names":["seeded","ensureSeeded","grammar","LANGUAGES","registerGrammarRaw","tokenize","source","language","tokenizeRaw","listLanguages","listLanguagesRaw","resolveLanguage","alias","resolveLanguageRaw","registerGrammar"],"mappings":";;;;;AAyDA,IAAIA,IAAS;AAGb,SAASC,IAAqB;AAC5B,MAAI,CAAAD,GACJ;AAAA,IAAAA,IAAS;AACT,eAAWE,KAAWC,EAAWC,CAAAA,EAAmBF,CAAO;AAAA;AAC7D;AAEO,SAASG,EAASC,GAAgBC,GAA8C;AACrF,SAAAN,EAAA,GACOO,EAAYF,GAAQC,CAAQ;AACrC;AAEO,SAASE,IAA0B;AACxC,SAAAR,EAAA,GACOS,EAAA;AACT;AAEO,SAASC,EAAgBC,GAAiD;AAC/E,SAAAX,EAAA,GACOY,EAAmBD,CAAK;AACjC;AAcO,SAASE,EAAgBZ,GAAwB;AACtD,EAAAD,EAAA,GACAG,EAAmBF,CAAO;AAC5B;"}
@@ -0,0 +1,77 @@
1
+ import { defineGrammar as c } from "../registry.js";
2
+ function n(e) {
3
+ return e.trim().split(/\s+/).sort((a, o) => o.length - a.length).join("|");
4
+ }
5
+ const s = n(`
6
+ alias break case continue declare do done elif else esac eval exec exit export
7
+ fi for function if in local readonly return select set shift source then time
8
+ trap typeset unset until while
9
+ `), r = n(`
10
+ awk basename cat cd chmod chown cp curl cut date dirname docker echo env find
11
+ git grep head jq kill ln ls make mkdir mv npm printf ps pwd read rm rmdir sed
12
+ seq sleep sort ssh sudo tail tar tee test touch tr uname uniq wc wget which
13
+ xargs yarn
14
+ `);
15
+ function t() {
16
+ return [
17
+ { match: new RegExp("(?<![^\\s])#[^\\n]*"), token: "comment" },
18
+ /* Heredoc: terminated form first, then the half-typed one. Group 3 is the
19
+ delimiter and group 6 closes on it; group 2 is the optional quote and is
20
+ matched again by `\2` so `<<'EOF'` cannot be closed by `<<EOF`. */
21
+ {
22
+ match: /(<<-?)[ \t]*(['"]?)(\w+)\2([^\n]*\n)((?:[^\n]*\n)*?)([ \t]*\3(?![\w]))/,
23
+ groups: ["operator", null, "constant", null, "string", "constant"]
24
+ },
25
+ {
26
+ match: /(<<-?)[ \t]*(['"]?)(\w+)\2([^\n]*\n)((?:[^\n]+\n?|\n)*)/,
27
+ groups: ["operator", null, "constant", null, "string"]
28
+ },
29
+ { match: /\$'(?:[^'\\]|\\[^])*'?/, token: "string" },
30
+ { match: /\$\{[^}\n]*\}/, token: "variable" },
31
+ { match: /\$\(\(|\$\(/, token: "punctuation", push: "subshell" },
32
+ { match: /\$[A-Za-z_]\w*|\$[0-9@*#?$!_-]/, token: "variable" },
33
+ { match: /"/, token: "string", push: "dqString" },
34
+ { match: /'/, token: "string", push: "sqString" },
35
+ { match: /`/, token: "punctuation", push: "backtick" },
36
+ { match: new RegExp(`\\b(?:${s})\\b`), token: "keyword" },
37
+ { match: new RegExp(`(?<![\\w./-])(?:${r})(?![\\w./-])`), token: "function" },
38
+ /* Flags are named switches on a command — the same role an attribute plays
39
+ on a tag, which is the closest honest category in the closed set. */
40
+ { match: new RegExp("(?<=\\s)--?[A-Za-z][\\w-]*"), token: "attribute" },
41
+ { match: new RegExp("(?<=(?:^|[;|&`(])[ \\t]*)[A-Za-z_][\\w./-]*", "m"), token: "function" },
42
+ { match: new RegExp("(?<![\\w$./-])\\d+(?:\\.\\d+)?(?![\\w./-])"), token: "number" },
43
+ { match: /\[\[|\]\]|[[\]]/, token: "punctuation" },
44
+ { match: /&&|\|\||>>|<<|>&|<&|=~|==|!=|[|&;<>=!]/, token: "operator" },
45
+ { match: /[(){}]/, token: "punctuation" }
46
+ ];
47
+ }
48
+ const h = c({
49
+ name: "bash",
50
+ aliases: ["sh", "shell", "zsh", "ksh", "shellscript"],
51
+ states: {
52
+ root: t(),
53
+ /* `$((…))` pushes once; its second `)` is left to the outer punctuation
54
+ rule. The stack guard in the scanner refuses to pop past root, so the
55
+ asymmetry cannot corrupt anything downstream. */
56
+ subshell: [{ match: /\)/, token: "punctuation", pop: !0 }, ...t()],
57
+ backtick: [{ match: /`/, token: "punctuation", pop: !0 }, ...t()],
58
+ dqString: [
59
+ { match: /\\[^]/, token: "escape" },
60
+ { match: /\$\{[^}\n]*\}|\$[A-Za-z_]\w*|\$[0-9@*#?$!]/, token: "variable" },
61
+ { match: /\$\(/, token: "punctuation", push: "subshell" },
62
+ { match: /"/, token: "string", pop: !0 },
63
+ { match: /[^"\\$]+/, token: "string" },
64
+ { match: /\$/, token: "string" }
65
+ ],
66
+ /* No escape rule and no variable rule, on purpose: inside single quotes a
67
+ backslash is a backslash and `$HOME` is four literal characters. */
68
+ sqString: [
69
+ { match: /'/, token: "string", pop: !0 },
70
+ { match: /[^']+/, token: "string" }
71
+ ]
72
+ }
73
+ });
74
+ export {
75
+ h as bash
76
+ };
77
+ //# sourceMappingURL=bash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash.js","sources":["../../../../src/lib/syntax/languages/bash.ts"],"sourcesContent":["import { defineGrammar } from \"../registry\";\nimport type { Rule } from \"../types\";\n\n/* ============================================================================\n BASH / SH / ZSH.\n\n QUOTING IS THE LANGUAGE. `\"$HOME\"` expands and `'$HOME'` does not, and that\n single character is the difference between a working script and one that\n deletes the wrong directory. So the two quote styles are two STATES with\n different rule sets, not one string rule with a flag: inside double quotes\n `$VAR`, `${…}` and `$(…)` are live and highlighted as such; inside single\n quotes literally nothing is, because literally nothing is.\n\n `#` IS ONLY A COMMENT AFTER WHITESPACE, for the same reason as in YAML —\n `curl http://x#frag` and `${x#prefix}` both contain one that is not.\n\n A HEREDOC IS MATCHED WITH A BACKREFERENCE TO ITS OWN DELIMITER, because that\n is the only thing that ends it. The cost is visible and deliberate: the rest\n of the header LINE (`cat <<EOF > out.txt`) rides inside the same match as\n plain text, since `embed`/`until` cannot start a region part-way through a\n rule's own match. Losing colour on one redirect is a fair price for the body\n of every heredoc in the file being a string instead of misparsed commands.\n\n COMMAND POSITION IS INFERRED FROM THE LINE, NOT FROM A PARSE. A word is a\n command when it opens a line or follows `;`, `|`, `&` or `(` — which is a\n lookbehind, not knowledge. `then echo hi` on one line leaves `echo` unstyled\n by that rule (the builtin list catches it) and a `\\`-continued argument at\n the start of its line is styled as a command. Both are colouring misses in\n the token stream, never coverage breaks.\n\n SHELL STRINGS MAY SPAN LINES, unlike every other language here: multi-line\n quoted arguments are idiomatic (`git commit -m \"…\"`), so popping at `\\n`\n would be wrong far more often than it would be protective.\n ========================================================================= */\n\nfunction words(list: string): string {\n return list\n .trim()\n .split(/\\s+/)\n .sort((a, b) => b.length - a.length)\n .join(\"|\");\n}\n\nconst KEYWORDS = words(`\n alias break case continue declare do done elif else esac eval exec exit export\n fi for function if in local readonly return select set shift source then time\n trap typeset unset until while\n`);\n\nconst BUILTINS = words(`\n awk basename cat cd chmod chown cp curl cut date dirname docker echo env find\n git grep head jq kill ln ls make mkdir mv npm printf ps pwd read rm rmdir sed\n seq sleep sort ssh sudo tail tar tee test touch tr uname uniq wc wget which\n xargs yarn\n`);\n\n/** Everything valid inside a command context — reused by `$(…)` and backticks. */\nfunction commandRules(): Rule[] {\n return [\n { match: /(?<![^\\s])#[^\\n]*/, token: \"comment\" },\n\n /* Heredoc: terminated form first, then the half-typed one. Group 3 is the\n delimiter and group 6 closes on it; group 2 is the optional quote and is\n matched again by `\\2` so `<<'EOF'` cannot be closed by `<<EOF`. */\n {\n match: /(<<-?)[ \\t]*(['\"]?)(\\w+)\\2([^\\n]*\\n)((?:[^\\n]*\\n)*?)([ \\t]*\\3(?![\\w]))/,\n groups: [\"operator\", null, \"constant\", null, \"string\", \"constant\"],\n },\n {\n match: /(<<-?)[ \\t]*(['\"]?)(\\w+)\\2([^\\n]*\\n)((?:[^\\n]+\\n?|\\n)*)/,\n groups: [\"operator\", null, \"constant\", null, \"string\"],\n },\n\n { match: /\\$'(?:[^'\\\\]|\\\\[^])*'?/, token: \"string\" },\n { match: /\\$\\{[^}\\n]*\\}/, token: \"variable\" },\n { match: /\\$\\(\\(|\\$\\(/, token: \"punctuation\", push: \"subshell\" },\n { match: /\\$[A-Za-z_]\\w*|\\$[0-9@*#?$!_-]/, token: \"variable\" },\n\n { match: /\"/, token: \"string\", push: \"dqString\" },\n { match: /'/, token: \"string\", push: \"sqString\" },\n { match: /`/, token: \"punctuation\", push: \"backtick\" },\n\n { match: new RegExp(`\\\\b(?:${KEYWORDS})\\\\b`), token: \"keyword\" },\n { match: new RegExp(`(?<![\\\\w./-])(?:${BUILTINS})(?![\\\\w./-])`), token: \"function\" },\n\n /* Flags are named switches on a command — the same role an attribute plays\n on a tag, which is the closest honest category in the closed set. */\n { match: /(?<=\\s)--?[A-Za-z][\\w-]*/, token: \"attribute\" },\n\n { match: /(?<=(?:^|[;|&`(])[ \\t]*)[A-Za-z_][\\w./-]*/m, token: \"function\" },\n\n { match: /(?<![\\w$./-])\\d+(?:\\.\\d+)?(?![\\w./-])/, token: \"number\" },\n\n { match: /\\[\\[|\\]\\]|[[\\]]/, token: \"punctuation\" },\n { match: /&&|\\|\\||>>|<<|>&|<&|=~|==|!=|[|&;<>=!]/, token: \"operator\" },\n { match: /[(){}]/, token: \"punctuation\" },\n ];\n}\n\nexport const bash = defineGrammar({\n name: \"bash\",\n aliases: [\"sh\", \"shell\", \"zsh\", \"ksh\", \"shellscript\"],\n states: {\n root: commandRules(),\n\n /* `$((…))` pushes once; its second `)` is left to the outer punctuation\n rule. The stack guard in the scanner refuses to pop past root, so the\n asymmetry cannot corrupt anything downstream. */\n subshell: [{ match: /\\)/, token: \"punctuation\", pop: true }, ...commandRules()],\n backtick: [{ match: /`/, token: \"punctuation\", pop: true }, ...commandRules()],\n\n dqString: [\n { match: /\\\\[^]/, token: \"escape\" },\n { match: /\\$\\{[^}\\n]*\\}|\\$[A-Za-z_]\\w*|\\$[0-9@*#?$!]/, token: \"variable\" },\n { match: /\\$\\(/, token: \"punctuation\", push: \"subshell\" },\n { match: /\"/, token: \"string\", pop: true },\n { match: /[^\"\\\\$]+/, token: \"string\" },\n { match: /\\$/, token: \"string\" },\n ],\n\n /* No escape rule and no variable rule, on purpose: inside single quotes a\n backslash is a backslash and `$HOME` is four literal characters. */\n sqString: [\n { match: /'/, token: \"string\", pop: true },\n { match: /[^']+/, token: \"string\" },\n ],\n },\n});\n"],"names":["words","list","b","KEYWORDS","BUILTINS","commandRules","bash","defineGrammar"],"mappings":";AAmCA,SAASA,EAAMC,GAAsB;AACnC,SAAOA,EACJ,KAAA,EACA,MAAM,KAAK,EACX,KAAK,CAAC,GAAGC,MAAMA,EAAE,SAAS,EAAE,MAAM,EAClC,KAAK,GAAG;AACb;AAEA,MAAMC,IAAWH,EAAM;AAAA;AAAA;AAAA;AAAA,CAItB,GAEKI,IAAWJ,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA,CAKtB;AAGD,SAASK,IAAuB;AAC9B,SAAO;AAAA,IACL,EAAE,OAAO,WAAA,qBAAA,GAAqB,OAAO,UAAA;AAAA;AAAA;AAAA;AAAA,IAKrC;AAAA,MACE,OAAO;AAAA,MACP,QAAQ,CAAC,YAAY,MAAM,YAAY,MAAM,UAAU,UAAU;AAAA,IAAA;AAAA,IAEnE;AAAA,MACE,OAAO;AAAA,MACP,QAAQ,CAAC,YAAY,MAAM,YAAY,MAAM,QAAQ;AAAA,IAAA;AAAA,IAGvD,EAAE,OAAO,0BAA0B,OAAO,SAAA;AAAA,IAC1C,EAAE,OAAO,iBAAiB,OAAO,WAAA;AAAA,IACjC,EAAE,OAAO,eAAe,OAAO,eAAe,MAAM,WAAA;AAAA,IACpD,EAAE,OAAO,kCAAkC,OAAO,WAAA;AAAA,IAElD,EAAE,OAAO,KAAK,OAAO,UAAU,MAAM,WAAA;AAAA,IACrC,EAAE,OAAO,KAAK,OAAO,UAAU,MAAM,WAAA;AAAA,IACrC,EAAE,OAAO,KAAK,OAAO,eAAe,MAAM,WAAA;AAAA,IAE1C,EAAE,OAAO,IAAI,OAAO,SAASF,CAAQ,MAAM,GAAG,OAAO,UAAA;AAAA,IACrD,EAAE,OAAO,IAAI,OAAO,mBAAmBC,CAAQ,eAAe,GAAG,OAAO,WAAA;AAAA;AAAA;AAAA,IAIxE,EAAE,OAAO,WAAA,4BAAA,GAA4B,OAAO,YAAA;AAAA,IAE5C,EAAE,OAAO,WAAA,+CAAA,GAAA,GAA8C,OAAO,WAAA;AAAA,IAE9D,EAAE,OAAO,WAAA,4CAAA,GAAyC,OAAO,SAAA;AAAA,IAEzD,EAAE,OAAO,mBAAmB,OAAO,cAAA;AAAA,IACnC,EAAE,OAAO,0CAA0C,OAAO,WAAA;AAAA,IAC1D,EAAE,OAAO,UAAU,OAAO,cAAA;AAAA,EAAc;AAE5C;AAEO,MAAME,IAAOC,EAAc;AAAA,EAChC,MAAM;AAAA,EACN,SAAS,CAAC,MAAM,SAAS,OAAO,OAAO,aAAa;AAAA,EACpD,QAAQ;AAAA,IACN,MAAMF,EAAA;AAAA;AAAA;AAAA;AAAA,IAKN,UAAU,CAAC,EAAE,OAAO,MAAM,OAAO,eAAe,KAAK,GAAA,GAAQ,GAAGA,GAAc;AAAA,IAC9E,UAAU,CAAC,EAAE,OAAO,KAAK,OAAO,eAAe,KAAK,GAAA,GAAQ,GAAGA,GAAc;AAAA,IAE7E,UAAU;AAAA,MACR,EAAE,OAAO,SAAS,OAAO,SAAA;AAAA,MACzB,EAAE,OAAO,8CAA8C,OAAO,WAAA;AAAA,MAC9D,EAAE,OAAO,QAAQ,OAAO,eAAe,MAAM,WAAA;AAAA,MAC7C,EAAE,OAAO,KAAK,OAAO,UAAU,KAAK,GAAA;AAAA,MACpC,EAAE,OAAO,YAAY,OAAO,SAAA;AAAA,MAC5B,EAAE,OAAO,MAAM,OAAO,SAAA;AAAA,IAAS;AAAA;AAAA;AAAA,IAKjC,UAAU;AAAA,MACR,EAAE,OAAO,KAAK,OAAO,UAAU,KAAK,GAAA;AAAA,MACpC,EAAE,OAAO,SAAS,OAAO,SAAA;AAAA,IAAS;AAAA,EACpC;AAEJ,CAAC;"}
@@ -0,0 +1,81 @@
1
+ import { defineGrammar as n } from "../registry.js";
2
+ function e() {
3
+ return [
4
+ { match: /--[\w-]+/, token: "variable" },
5
+ { match: /[$@][\w-]+/, token: "variable" },
6
+ { match: /-?[A-Za-z_][\w-]*(?=\()/, token: "function" },
7
+ { match: /#[0-9a-fA-F]{3,8}(?![\w-])/, token: "constant" },
8
+ { match: /"/, token: "string", push: "dqString" },
9
+ { match: /'/, token: "string", push: "sqString" },
10
+ /* Identifiers before numbers so `a1` stays one token; numbers before
11
+ punctuation so `.5em` is not read as a class selector. */
12
+ { match: /-?[A-Za-z_][\w-]*/, token: "constant" },
13
+ { match: /([+-]?(?:\d*\.\d+|\d+))(%|[A-Za-z]+)?/, groups: ["number", "type"] },
14
+ { match: /[()[\]:;,]/, token: "punctuation" },
15
+ { match: /[*/+\->~^$|=]/, token: "operator" }
16
+ ];
17
+ }
18
+ function t() {
19
+ return [
20
+ { match: /\/\*[^]*?\*\//, token: "comment" },
21
+ /* Unterminated: to EOF. A `/*` someone is halfway through typing must not
22
+ leave the remainder of the file coloured as live declarations. */
23
+ { match: /\/\*[^]*/, token: "comment" },
24
+ { match: /\/\/[^\n]*/, token: "comment" }
25
+ ];
26
+ }
27
+ const a = n({
28
+ name: "css",
29
+ aliases: ["scss", "sass", "less", "postcss", "pcss"],
30
+ states: {
31
+ /* Selector context. */
32
+ root: [
33
+ { match: /url\([^)"'\n]*\)/i, token: "url" },
34
+ ...t(),
35
+ { match: /@[\w-]+/, token: "atrule" },
36
+ { match: /\{/, token: "punctuation", push: "block" },
37
+ { match: /\}/, token: "punctuation" },
38
+ { match: /"/, token: "string", push: "dqString" },
39
+ { match: /'/, token: "string", push: "sqString" },
40
+ { match: /\[[^\]\n]*\]/, token: "selector" },
41
+ { match: /::?[A-Za-z][\w-]*(?:\([^)\n]*\))?/, token: "selector" },
42
+ { match: /[.#][\w-]+/, token: "selector" },
43
+ { match: /[&*]/, token: "selector" },
44
+ { match: /-?[A-Za-z_][\w-]*/, token: "selector" },
45
+ { match: /([+-]?(?:\d*\.\d+|\d+))(%|[A-Za-z]+)?/, groups: ["number", "type"] },
46
+ { match: /[()[\],;:]/, token: "punctuation" },
47
+ { match: /[>+~]/, token: "operator" }
48
+ ],
49
+ /* Declaration context. */
50
+ block: [
51
+ { match: /url\([^)"'\n]*\)/i, token: "url" },
52
+ ...t(),
53
+ { match: /\}/, token: "punctuation", pop: !0 },
54
+ /* Nesting: a preprocessor block inside a block. The inner selector is
55
+ read with declaration rules, which is imperfect and still far better
56
+ than dropping out of block context and mis-reading the closing brace. */
57
+ { match: /\{/, token: "punctuation", push: "block" },
58
+ { match: /!\s*[\w-]+/, token: "keyword" },
59
+ { match: /@[\w-]+(?=[\s({;])/, token: "atrule" },
60
+ { match: /--[\w-]+(?=\s*:)/, token: "property" },
61
+ { match: /-?[A-Za-z_][\w-]*(?=\s*:)/, token: "property" },
62
+ ...e()
63
+ ],
64
+ dqString: [
65
+ { match: /\\[^]/, token: "escape" },
66
+ { match: /"/, token: "string", pop: !0 },
67
+ { match: /[^"\\\n]+/, token: "string" },
68
+ { match: /\n/, token: "text", pop: !0 }
69
+ ],
70
+ sqString: [
71
+ { match: /\\[^]/, token: "escape" },
72
+ { match: /'/, token: "string", pop: !0 },
73
+ { match: /[^'\\\n]+/, token: "string" },
74
+ { match: /\n/, token: "text", pop: !0 }
75
+ ]
76
+ }
77
+ });
78
+ export {
79
+ a as css
80
+ };
81
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":["../../../../src/lib/syntax/languages/css.ts"],"sourcesContent":["import { defineGrammar } from \"../registry\";\nimport type { Rule } from \"../types\";\n\n/* ============================================================================\n CSS, and the preprocessors that are CSS plus punctuation.\n\n TWO CONTEXTS, NOT ONE. Outside a block, a name is a SELECTOR; inside one, the\n name before a colon is a PROPERTY and everything after it is a VALUE. They\n are the same characters and they mean different things, so the grammar has\n two states and `{` / `}` move between them. A single-state CSS grammar has to\n guess, and it guesses wrong on every nested rule.\n\n THE CLOSED TOKEN SET HAS NO `unit`, SO A UNIT IS TYPED AS `type`. `10px` and\n `10%` differ only in their suffix and that suffix is the DIMENSION of the\n number — type information about the value. Colouring it apart from the digits\n is what makes a stylesheet scannable; folding it into `number` loses the one\n distinction anyone actually looks for. Inventing a category was the other\n option and it is the wrong one: the set is closed so a language cannot mint\n its own colour (see `types.ts`).\n\n `url(…)` IS MATCHED BEFORE COMMENTS, and that ordering is load-bearing. SCSS\n and LESS both use `//` line comments, so `url(http://x/y)` would otherwise\n grey out from the `//` to the end of the line and take the closing paren with\n it. The bug looks like \"the rest of my file lost its colours\".\n\n ONE GRAMMAR FOR CSS / SCSS / LESS / POSTCSS. `$var`, `@var`, `&`, `//` and\n nesting are all accepted here. A highlighter is not a validator, and four\n near-identical forks would mean fixing `url()` four times.\n ========================================================================= */\n\n/** Value-position rules, identical inside a block and inside `@media (…)`. */\nfunction valueRules(): Rule[] {\n return [\n { match: /--[\\w-]+/, token: \"variable\" },\n { match: /[$@][\\w-]+/, token: \"variable\" },\n { match: /-?[A-Za-z_][\\w-]*(?=\\()/, token: \"function\" },\n { match: /#[0-9a-fA-F]{3,8}(?![\\w-])/, token: \"constant\" },\n { match: /\"/, token: \"string\", push: \"dqString\" },\n { match: /'/, token: \"string\", push: \"sqString\" },\n /* Identifiers before numbers so `a1` stays one token; numbers before\n punctuation so `.5em` is not read as a class selector. */\n { match: /-?[A-Za-z_][\\w-]*/, token: \"constant\" },\n { match: /([+-]?(?:\\d*\\.\\d+|\\d+))(%|[A-Za-z]+)?/, groups: [\"number\", \"type\"] },\n { match: /[()[\\]:;,]/, token: \"punctuation\" },\n { match: /[*/+\\->~^$|=]/, token: \"operator\" },\n ];\n}\n\nfunction comments(): Rule[] {\n return [\n { match: /\\/\\*[^]*?\\*\\//, token: \"comment\" },\n /* Unterminated: to EOF. A `/*` someone is halfway through typing must not\n leave the remainder of the file coloured as live declarations. */\n { match: /\\/\\*[^]*/, token: \"comment\" },\n { match: /\\/\\/[^\\n]*/, token: \"comment\" },\n ];\n}\n\nexport const css = defineGrammar({\n name: \"css\",\n aliases: [\"scss\", \"sass\", \"less\", \"postcss\", \"pcss\"],\n states: {\n /* Selector context. */\n root: [\n { match: /url\\([^)\"'\\n]*\\)/i, token: \"url\" },\n ...comments(),\n\n { match: /@[\\w-]+/, token: \"atrule\" },\n { match: /\\{/, token: \"punctuation\", push: \"block\" },\n { match: /\\}/, token: \"punctuation\" },\n\n { match: /\"/, token: \"string\", push: \"dqString\" },\n { match: /'/, token: \"string\", push: \"sqString\" },\n\n { match: /\\[[^\\]\\n]*\\]/, token: \"selector\" },\n { match: /::?[A-Za-z][\\w-]*(?:\\([^)\\n]*\\))?/, token: \"selector\" },\n { match: /[.#][\\w-]+/, token: \"selector\" },\n { match: /[&*]/, token: \"selector\" },\n { match: /-?[A-Za-z_][\\w-]*/, token: \"selector\" },\n\n { match: /([+-]?(?:\\d*\\.\\d+|\\d+))(%|[A-Za-z]+)?/, groups: [\"number\", \"type\"] },\n { match: /[()[\\],;:]/, token: \"punctuation\" },\n { match: /[>+~]/, token: \"operator\" },\n ],\n\n /* Declaration context. */\n block: [\n { match: /url\\([^)\"'\\n]*\\)/i, token: \"url\" },\n ...comments(),\n\n { match: /\\}/, token: \"punctuation\", pop: true },\n /* Nesting: a preprocessor block inside a block. The inner selector is\n read with declaration rules, which is imperfect and still far better\n than dropping out of block context and mis-reading the closing brace. */\n { match: /\\{/, token: \"punctuation\", push: \"block\" },\n\n { match: /!\\s*[\\w-]+/, token: \"keyword\" },\n { match: /@[\\w-]+(?=[\\s({;])/, token: \"atrule\" },\n { match: /--[\\w-]+(?=\\s*:)/, token: \"property\" },\n { match: /-?[A-Za-z_][\\w-]*(?=\\s*:)/, token: \"property\" },\n\n ...valueRules(),\n ],\n\n dqString: [\n { match: /\\\\[^]/, token: \"escape\" },\n { match: /\"/, token: \"string\", pop: true },\n { match: /[^\"\\\\\\n]+/, token: \"string\" },\n { match: /\\n/, token: \"text\", pop: true },\n ],\n sqString: [\n { match: /\\\\[^]/, token: \"escape\" },\n { match: /'/, token: \"string\", pop: true },\n { match: /[^'\\\\\\n]+/, token: \"string\" },\n { match: /\\n/, token: \"text\", pop: true },\n ],\n },\n});\n"],"names":["valueRules","comments","css","defineGrammar"],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { defineGrammar as a } from "../registry.js";
2
+ function s(n, t) {
3
+ const e = new RegExp(`\\b${t}\\s*=\\s*("[^"]*"|'[^']*'|[^\\s>]+)`, "i").exec(n);
4
+ return e ? e[1].replace(/^["']|["']$/g, "").trim() : null;
5
+ }
6
+ function r(n) {
7
+ const t = s(n, "lang")?.toLowerCase();
8
+ if (t)
9
+ return t === "ts" || t === "typescript" ? "typescript" : t === "tsx" ? "tsx" : t === "jsx" ? "jsx" : "javascript";
10
+ const e = s(n, "type")?.toLowerCase() ?? "";
11
+ return e.includes("typescript") ? "typescript" : e.includes("json") || e === "importmap" || e === "speculationrules" ? "json" : "javascript";
12
+ }
13
+ function o(n) {
14
+ const t = s(n, "lang")?.toLowerCase();
15
+ return t === "scss" || t === "sass" ? "scss" : t === "less" ? "less" : "css";
16
+ }
17
+ function c() {
18
+ return {
19
+ tag: [
20
+ { match: /\/?>/, token: "tag", pop: !0 },
21
+ { match: /=/, token: "operator" },
22
+ { match: /"/, token: "string", push: "dqAttr" },
23
+ { match: /'/, token: "string", push: "sqAttr" },
24
+ /* An unquoted value, recognised by what precedes it rather than by its
25
+ own shape — otherwise `width=100` colours `100` as another attribute. */
26
+ { match: new RegExp("(?<==\\s*)[^\\s=<>\"'`]+"), token: "string" },
27
+ /* Permissive on purpose: `@click`, `:prop`, `v-bind:x`, `#slot`, `data-*`
28
+ and `xlink:href` are all attribute names in something this parses. */
29
+ { match: /[^\s=<>"'`/]+/, token: "attribute" }
30
+ ],
31
+ /* Attribute values may legally span lines (long class lists do it), so
32
+ unlike a code string these do not pop at `\n`. */
33
+ dqAttr: [
34
+ { match: /"/, token: "string", pop: !0 },
35
+ { match: /&(?:#\d+|#[xX][0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/, token: "escape" },
36
+ { match: /[^"&]+|&/, token: "string" }
37
+ ],
38
+ sqAttr: [
39
+ { match: /'/, token: "string", pop: !0 },
40
+ { match: /&(?:#\d+|#[xX][0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/, token: "escape" },
41
+ { match: /[^'&]+|&/, token: "string" }
42
+ ]
43
+ };
44
+ }
45
+ function i(n, t) {
46
+ return [
47
+ {
48
+ match: /(<script)(?=[\s/>])((?:"[^"]*"|'[^']*'|[^>"'])*)(>)/i,
49
+ groups: ["tag", "attribute", "tag"],
50
+ embed: (e) => r(e[2]),
51
+ until: n,
52
+ untilToken: "tag"
53
+ },
54
+ {
55
+ match: /(<style)(?=[\s/>])((?:"[^"]*"|'[^']*'|[^>"'])*)(>)/i,
56
+ groups: ["tag", "attribute", "tag"],
57
+ embed: (e) => o(e[2]),
58
+ until: t,
59
+ untilToken: "tag"
60
+ }
61
+ ];
62
+ }
63
+ const m = a({
64
+ name: "html",
65
+ aliases: ["htm", "xml", "svg"],
66
+ states: {
67
+ root: [
68
+ { match: /<!--[^]*?-->/, token: "comment" },
69
+ /* Unterminated comment swallows the rest, which is exactly what a browser
70
+ does — the alternative is colouring dead markup as live. */
71
+ { match: /<!--[^]*/, token: "comment" },
72
+ { match: /<!\[CDATA\[[^]*?\]\]>/, token: "string" },
73
+ { match: /<!doctype\b[^>]*>/i, token: "keyword" },
74
+ { match: /<\?[^]*?\?>/, token: "keyword" },
75
+ ...i(/<\/script\s*>/i, /<\/style\s*>/i),
76
+ { match: /<\/?[A-Za-z][\w:.-]*/, token: "tag", push: "tag" },
77
+ { match: /\{\{/, token: "punctuation", embed: "javascript", until: /\}\}/, untilToken: "punctuation" },
78
+ { match: /&(?:#\d+|#[xX][0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/, token: "escape" }
79
+ ],
80
+ ...c()
81
+ }
82
+ });
83
+ export {
84
+ s as attrValue,
85
+ i as embedRules,
86
+ m as html,
87
+ c as markupStates,
88
+ r as scriptLang,
89
+ o as styleLang
90
+ };
91
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sources":["../../../../src/lib/syntax/languages/html.ts"],"sourcesContent":["import { defineGrammar } from \"../registry\";\nimport type { Rule } from \"../types\";\n\n/* ============================================================================\n HTML, XML, SVG — and the two languages that live inside them.\n\n `<style>` AND `<script>` ARE EMBEDS, NOT DECORATION. A page's CSS and its\n JavaScript are the parts a reader actually reads; leaving them as undifferen-\n tiated markup text is the difference between a highlighter and a colouriser.\n The scanner locates `</script>` BEFORE the inner grammar runs, so a `</script>`\n sitting inside a JavaScript string cannot end the block early — that is the\n host's decision to make and only the host can make it correctly.\n\n THE OPENING TAG OF AN EMBED IS ONE RULE, SO ITS ATTRIBUTES ARE ONE TOKEN.\n `embed` is a property of the rule that OPENS the region, and its callback\n only ever sees that rule's own match — which means the match has to include\n the attributes, or `lang=\"ts\"` is invisible at the moment the language is\n chosen. Splitting attributes into names and values would take a state, and a\n state cannot carry a decision back to the rule that opened it. The trade is\n deliberate: `setup lang=\"ts\"` reads as one attribute run, and in exchange the\n block inside it is genuinely TypeScript.\n\n `type=\"module\"` IS STILL JAVASCRIPT. It is a loading mode, not a language, so\n it stays `javascript`; `lang=\"ts\"` and a `type` naming typescript are the only\n things that switch. Being consistent here matters more than being clever —\n a reader must be able to predict which colours a `<script>` will get.\n\n `{{ … }}` IS TREATED AS AN EXPRESSION. Nothing in plain HTML produces double\n braces in text; in practice they are always a template interpolation (Vue,\n Angular, Handlebars), and reading them as JavaScript is right far more often\n than it is wrong. An unknown embed is still safe — it degrades to plain text\n and still terminates.\n ========================================================================= */\n\n/** Reads one attribute out of the raw attribute run of an opening tag. */\nexport function attrValue(attrs: string, name: string): string | null {\n const m = new RegExp(`\\\\b${name}\\\\s*=\\\\s*(\"[^\"]*\"|'[^']*'|[^\\\\s>]+)`, \"i\").exec(attrs);\n if (!m) return null;\n return m[1].replace(/^[\"']|[\"']$/g, \"\").trim();\n}\n\n/** The language a `<script>` block's attributes ask for. */\nexport function scriptLang(attrs: string): string {\n const lang = attrValue(attrs, \"lang\")?.toLowerCase();\n if (lang) {\n if (lang === \"ts\" || lang === \"typescript\") return \"typescript\";\n if (lang === \"tsx\") return \"tsx\";\n if (lang === \"jsx\") return \"jsx\";\n return \"javascript\";\n }\n\n const type = attrValue(attrs, \"type\")?.toLowerCase() ?? \"\";\n if (type.includes(\"typescript\")) return \"typescript\";\n if (type.includes(\"json\") || type === \"importmap\" || type === \"speculationrules\") return \"json\";\n return \"javascript\";\n}\n\n/** The language a `<style>` block's attributes ask for. */\nexport function styleLang(attrs: string): string {\n const lang = attrValue(attrs, \"lang\")?.toLowerCase();\n if (lang === \"scss\" || lang === \"sass\") return \"scss\";\n if (lang === \"less\") return \"less\";\n return \"css\";\n}\n\n/**\n * The tag-interior states, shared with the Vue grammar so a directive like\n * `@click` or `:prop` is understood identically in both. Returned fresh per\n * grammar — `defineGrammar` rewrites every pattern, so sharing rule OBJECTS\n * between two grammars would work only by luck.\n */\nexport function markupStates(): Record<string, Rule[]> {\n return {\n tag: [\n { match: /\\/?>/, token: \"tag\", pop: true },\n { match: /=/, token: \"operator\" },\n { match: /\"/, token: \"string\", push: \"dqAttr\" },\n { match: /'/, token: \"string\", push: \"sqAttr\" },\n /* An unquoted value, recognised by what precedes it rather than by its\n own shape — otherwise `width=100` colours `100` as another attribute. */\n { match: /(?<==\\s*)[^\\s=<>\"'`]+/, token: \"string\" },\n /* Permissive on purpose: `@click`, `:prop`, `v-bind:x`, `#slot`, `data-*`\n and `xlink:href` are all attribute names in something this parses. */\n { match: /[^\\s=<>\"'`/]+/, token: \"attribute\" },\n ],\n\n /* Attribute values may legally span lines (long class lists do it), so\n unlike a code string these do not pop at `\\n`. */\n dqAttr: [\n { match: /\"/, token: \"string\", pop: true },\n { match: /&(?:#\\d+|#[xX][0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/, token: \"escape\" },\n { match: /[^\"&]+|&/, token: \"string\" },\n ],\n sqAttr: [\n { match: /'/, token: \"string\", pop: true },\n { match: /&(?:#\\d+|#[xX][0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/, token: \"escape\" },\n { match: /[^'&]+|&/, token: \"string\" },\n ],\n };\n}\n\n/** The `<script>` / `<style>` embed rules, shared with Vue's own root. */\nexport function embedRules(scriptUntil: RegExp, styleUntil: RegExp): Rule[] {\n return [\n {\n match: /(<script)(?=[\\s/>])((?:\"[^\"]*\"|'[^']*'|[^>\"'])*)(>)/i,\n groups: [\"tag\", \"attribute\", \"tag\"],\n embed: (m) => scriptLang(m[2]),\n until: scriptUntil,\n untilToken: \"tag\",\n },\n {\n match: /(<style)(?=[\\s/>])((?:\"[^\"]*\"|'[^']*'|[^>\"'])*)(>)/i,\n groups: [\"tag\", \"attribute\", \"tag\"],\n embed: (m) => styleLang(m[2]),\n until: styleUntil,\n untilToken: \"tag\",\n },\n ];\n}\n\nexport const html = defineGrammar({\n name: \"html\",\n aliases: [\"htm\", \"xml\", \"svg\"],\n states: {\n root: [\n { match: /<!--[^]*?-->/, token: \"comment\" },\n /* Unterminated comment swallows the rest, which is exactly what a browser\n does — the alternative is colouring dead markup as live. */\n { match: /<!--[^]*/, token: \"comment\" },\n\n { match: /<!\\[CDATA\\[[^]*?\\]\\]>/, token: \"string\" },\n { match: /<!doctype\\b[^>]*>/i, token: \"keyword\" },\n { match: /<\\?[^]*?\\?>/, token: \"keyword\" },\n\n ...embedRules(/<\\/script\\s*>/i, /<\\/style\\s*>/i),\n\n { match: /<\\/?[A-Za-z][\\w:.-]*/, token: \"tag\", push: \"tag\" },\n\n { match: /\\{\\{/, token: \"punctuation\", embed: \"javascript\", until: /\\}\\}/, untilToken: \"punctuation\" },\n\n { match: /&(?:#\\d+|#[xX][0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);/, token: \"escape\" },\n ],\n\n ...markupStates(),\n },\n});\n"],"names":["attrValue","attrs","name","m","scriptLang","lang","type","styleLang","markupStates","embedRules","scriptUntil","styleUntil","html","defineGrammar"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { bash as o } from "./bash.js";
2
+ import { css as m } from "./css.js";
3
+ import { html as r } from "./html.js";
4
+ import { javascript as t, typescript as p, jsx as i, tsx as s } from "./javascript.js";
5
+ import { markdown as f } from "../markdown/grammar.js";
6
+ import { json as a } from "./json.js";
7
+ import { mongodb as l } from "./mongodb.js";
8
+ import { plain as n } from "./plain.js";
9
+ import { sql as c, mysql as e, postgresql as j } from "./sql.js";
10
+ import { vue as q } from "./vue.js";
11
+ import { yaml as x } from "./yaml.js";
12
+ const E = [
13
+ n,
14
+ a,
15
+ x,
16
+ f,
17
+ t,
18
+ p,
19
+ i,
20
+ s,
21
+ r,
22
+ m,
23
+ c,
24
+ e,
25
+ j,
26
+ l,
27
+ o,
28
+ q
29
+ ];
30
+ export {
31
+ E as LANGUAGES,
32
+ o as bash,
33
+ m as css,
34
+ r as html,
35
+ t as javascript,
36
+ a as json,
37
+ i as jsx,
38
+ f as markdown,
39
+ l as mongodb,
40
+ e as mysql,
41
+ n as plain,
42
+ j as postgresql,
43
+ c as sql,
44
+ s as tsx,
45
+ p as typescript,
46
+ q as vue,
47
+ x as yaml
48
+ };
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/lib/syntax/languages/index.ts"],"sourcesContent":["import type { Grammar } from \"../types\";\nimport { bash } from \"./bash\";\nimport { css } from \"./css\";\nimport { html } from \"./html\";\nimport { javascript, jsx, tsx, typescript } from \"./javascript\";\nimport { markdown } from \"../markdown/grammar\";\nimport { json } from \"./json\";\nimport { mongodb } from \"./mongodb\";\nimport { plain } from \"./plain\";\nimport { mysql, postgresql, sql } from \"./sql\";\nimport { vue } from \"./vue\";\nimport { yaml } from \"./yaml\";\n\n/**\n * Every grammar, as a VALUE. `src/lib/syntax/index.ts` iterates this list to\n * seed the registry at module load.\n *\n * It is a list rather than each module registering itself on import, because\n * `package.json` declares `sideEffects: [\"*.css\"]` — which tells every bundler\n * that a bare `import \"./javascript\"` is safe to delete, and esbuild does. That\n * is exactly how this project once shipped an empty icon registry (CAV-11).\n *\n * Order is not significant: an embedded language is resolved through\n * `getGrammar` when the region is scanned, not when the grammar is defined, so\n * `vue` may reference `css` regardless of which was registered first.\n *\n * Markdown is imported from its own module rather than its barrel: the barrel\n * also exports the React renderer, and the tokenizer must stay usable without\n * React in the graph.\n *\n * Adding a language: write the grammar, add it here. Nothing else.\n */\nexport const LANGUAGES: Grammar[] = [\n plain,\n json,\n yaml,\n markdown,\n javascript,\n typescript,\n jsx,\n tsx,\n html,\n css,\n sql,\n mysql,\n postgresql,\n mongodb,\n bash,\n vue,\n];\n\nexport { plain, json, yaml, markdown, javascript, typescript, jsx, tsx, html, css, sql, mysql, postgresql, mongodb, bash, vue };\n"],"names":["LANGUAGES","plain","json","yaml","markdown","javascript","typescript","jsx","tsx","html","css","sql","mysql","postgresql","mongodb","bash","vue"],"mappings":";;;;;;;;;;;AAgCO,MAAMA,IAAuB;AAAA,EAClCC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AACF;"}
@@ -0,0 +1,133 @@
1
+ import { defineGrammar as n } from "../registry.js";
2
+ function o(t) {
3
+ return t.trim().split(/\s+/).sort((s, e) => e.length - s.length).join("|");
4
+ }
5
+ const i = o(`
6
+ as async await break case catch class const continue debugger default delete
7
+ do else export extends finally for from function get if import in instanceof
8
+ let new of return set static super switch this throw try typeof var void
9
+ while with yield
10
+ `), p = o(`
11
+ abstract accessor asserts declare enum global implements infer interface is
12
+ keyof module namespace out override private protected public readonly require
13
+ satisfies type unique
14
+ `), h = o("any bigint boolean never number object string symbol unknown");
15
+ function a(t, s = []) {
16
+ const e = [
17
+ ...s,
18
+ /* Comments first, or `//` reads as an empty regex literal and `/*` as a
19
+ division followed by a multiplication. */
20
+ { match: /\/\/[^\n]*/, token: "comment" },
21
+ { match: /\/\*[^]*?\*\//, token: "comment" },
22
+ /* Unterminated block comment: everything to EOF is comment. Without this
23
+ the `/` falls through to the operator rule and the rest of the file is
24
+ highlighted as code that the compiler will never see. */
25
+ { match: /\/\*[^]*/, token: "comment" },
26
+ { match: /`/, token: "string", push: "template" },
27
+ { match: /"/, token: "string", push: "dqString" },
28
+ { match: /'/, token: "string", push: "sqString" },
29
+ /* The regex heuristic. Two lookbehinds: the first admits the keywords that
30
+ are followed by a value, the second rejects anything that could END a
31
+ value. Neither consumes, so the token is exactly the literal. */
32
+ {
33
+ match: new RegExp("(?:(?<=\\b(?:return|typeof|instanceof|case|delete|void|yield|await|in|of|do|else)\\s*)|(?<![\\w$)\\]]\\s*))\\/(?![*/])(?:\\[(?:\\\\.|[^\\]\\\\\\n])*\\]|\\\\.|[^/\\\\\\n[])+\\/[dgimsuvy]*"),
34
+ token: "regex"
35
+ },
36
+ {
37
+ match: /0[bB][01](?:_?[01])*n?|0[oO][0-7](?:_?[0-7])*n?|0[xX][0-9a-fA-F](?:_?[0-9a-fA-F])*n?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*(?:[eE][+-]?\d(?:_?\d)*)?|\d(?:_?\d)*(?:\.(?:\d(?:_?\d)*)?)?(?:[eE][+-]?\d(?:_?\d)*)?n?/,
38
+ token: "number"
39
+ },
40
+ /* `(?![\w$])` rather than `\b`: `$` is not a word character, so `\b` would
41
+ happily end a keyword at `for$` and colour half an identifier. */
42
+ { match: /\b(?:true|false)(?![\w$])/, token: "boolean" },
43
+ { match: /\b(?:null|undefined)(?![\w$])/, token: "null" },
44
+ ...t.ts ? [{ match: new RegExp(`\\b(?:${h})(?![\\w$])`), token: "type" }] : [],
45
+ {
46
+ match: new RegExp(`\\b(?:${t.ts ? `${i}|${p}` : i})(?![\\w$])`),
47
+ token: "keyword"
48
+ },
49
+ /* Decorators read as annotations, which is what `attribute` is for — the
50
+ same role an attribute plays on a tag. */
51
+ { match: /@[A-Za-z_$][\w$]*/, token: "attribute" },
52
+ { match: /#[A-Za-z_$][\w$]*/, token: "property" },
53
+ /* Callee before member, member before key, key before plain identifier.
54
+ Reordering these silently degrades: `obj.map(` would stop being a call. */
55
+ { match: /[A-Za-z_$][\w$]*(?=\s*\()/, token: "function" },
56
+ { match: new RegExp("(?<=\\.)[A-Za-z_$][\\w$]*"), token: "property" },
57
+ { match: /[A-Za-z_$][\w$]*(?=\s*:)/, token: "property" },
58
+ { match: new RegExp("(?<![\\w$])[A-Z][A-Z0-9_]*[A-Z0-9](?![\\w$])"), token: "constant" },
59
+ { match: new RegExp("(?<![\\w$])[A-Z][A-Za-z0-9_$]*(?![\\w$])"), token: "type" },
60
+ { match: /[A-Za-z_$][\w$]*/, token: "variable" },
61
+ {
62
+ match: /\.\.\.|=>|\?\?=|\?\?|\?\.|\*\*=|\*\*|\+\+|--|<<=|>>>=|>>=|>>>|<<|>>|===|!==|==|!=|<=|>=|&&=|\|\|=|&&|\|\||[+\-*/%&|^]=|=|[+\-*/%&|^~!<>]|\?/,
63
+ token: "operator"
64
+ },
65
+ { match: /[()[\];,.:]/, token: "punctuation" }
66
+ ], m = [
67
+ { match: /<>|<\/>/, token: "tag" },
68
+ /* `(?=[\s/>])` is what keeps `x <a` from becoming a tag: a real element is
69
+ always followed by whitespace, `/` or `>`. */
70
+ { match: /<\/?[A-Za-z][\w.:-]*(?=[\s/>])/, token: "tag", push: "jsxTag" }
71
+ ], c = t.jsx ? [...m, ...e] : e, r = {
72
+ root: [...c, { match: /[{}]/, token: "punctuation" }],
73
+ /* One state serves both `${…}` and any nested object literal inside it, so
74
+ `${ {a: 1} }` closes the right brace. A second state would be identical. */
75
+ interp: [
76
+ { match: /\}/, token: "punctuation", pop: !0 },
77
+ { match: /\{/, token: "punctuation", push: "interp" },
78
+ ...c
79
+ ],
80
+ template: [
81
+ { match: /\\[^]/, token: "escape" },
82
+ { match: /\$\{/, token: "punctuation", push: "interp" },
83
+ { match: /`/, token: "string", pop: !0 },
84
+ { match: /[^`\\$]+/, token: "string" },
85
+ /* A `$` that is not opening an interpolation is ordinary content. */
86
+ { match: /\$/, token: "string" }
87
+ ],
88
+ dqString: [
89
+ { match: /\\(?:u\{[0-9a-fA-F]+\}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[^])/, token: "escape" },
90
+ { match: /"/, token: "string", pop: !0 },
91
+ { match: /[^"\\\n]+/, token: "string" },
92
+ { match: /\n/, token: "text", pop: !0 }
93
+ ],
94
+ sqString: [
95
+ { match: /\\(?:u\{[0-9a-fA-F]+\}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[^])/, token: "escape" },
96
+ { match: /'/, token: "string", pop: !0 },
97
+ { match: /[^'\\\n]+/, token: "string" },
98
+ { match: /\n/, token: "text", pop: !0 }
99
+ ]
100
+ };
101
+ return t.jsx && (r.jsxTag = [
102
+ { match: /\/?>/, token: "tag", pop: !0 },
103
+ { match: /\{/, token: "punctuation", push: "interp" },
104
+ { match: /"/, token: "string", push: "dqString" },
105
+ { match: /'/, token: "string", push: "sqString" },
106
+ { match: /=/, token: "operator" },
107
+ { match: /[@:]?[A-Za-z_$][\w$.:-]*/, token: "attribute" },
108
+ { match: /\s+/, token: "text" }
109
+ ]), r;
110
+ }
111
+ const k = n({
112
+ name: "javascript",
113
+ aliases: ["js", "mjs", "cjs", "node"],
114
+ states: a({ ts: !1, jsx: !1 })
115
+ }), d = n({
116
+ name: "typescript",
117
+ aliases: ["ts", "mts", "cts"],
118
+ states: a({ ts: !0, jsx: !1 })
119
+ }), l = n({
120
+ name: "jsx",
121
+ states: a({ ts: !1, jsx: !0 })
122
+ }), g = n({
123
+ name: "tsx",
124
+ states: a({ ts: !0, jsx: !0 })
125
+ });
126
+ export {
127
+ k as javascript,
128
+ a as jsStates,
129
+ l as jsx,
130
+ g as tsx,
131
+ d as typescript
132
+ };
133
+ //# sourceMappingURL=javascript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.js","sources":["../../../../src/lib/syntax/languages/javascript.ts"],"sourcesContent":["import { defineGrammar } from \"../registry\";\nimport type { Rule } from \"../types\";\n\n/* ============================================================================\n JAVASCRIPT, TYPESCRIPT, JSX, TSX — one rule set, four registrations.\n\n THEY ARE ONE LANGUAGE, AND FORKING THEM WOULD MEAN FIXING EVERY BUG FOUR\n TIMES. `jsStates()` builds the whole state machine from two booleans, so a\n correction to template literals or to the regex heuristic lands in all four\n at once. The differences are genuinely that small: TypeScript adds keywords\n and primitive type names, JSX adds element rules.\n\n JSX IS OPT-IN, AND THAT IS THE POINT. `a < b` and `<Foo>` are the same two\n characters. A grammar that guesses gets one of them wrong in every file, so\n `javascript` and `typescript` never treat `<` as a tag and `jsx`/`tsx` always\n consider it. Picking the right fence label is the author's decision, and it\n is the only decision that can actually be correct.\n\n REGEX-VS-DIVISION IS A HEURISTIC AND IS LABELLED AS ONE. Telling `/` apart\n needs to know whether the previous token ended a VALUE (division) or ended an\n OPERATOR (regex literal), which is parser knowledge this scanner does not\n have. The rule below approximates it with a lookbehind: a `/` is a regex\n unless the nearest preceding non-space character could end a value\n (identifier char, `)`, `]`), with an explicit exception for the keywords that\n can precede a value (`return /x/`). The known wrong answers are `if (x) /re/`\n and `)` closing a control head — both read as division. That is a colouring\n mistake in an uncommon line, not a coverage break: the token stream still\n reproduces the source exactly, which is the invariant that actually matters.\n\n EVERY QUOTED STRING ENDS AT A NEWLINE. Multi-line strings are legal in almost\n none of these languages, and an editor is full of half-typed lines. A string\n state that ran past `\\n` would repaint the entire rest of the file the moment\n someone typed one quote.\n ========================================================================= */\n\n/** Longest-first so `in` cannot shadow `instanceof` under a backtracking engine. */\nfunction words(list: string): string {\n return list\n .trim()\n .split(/\\s+/)\n .sort((a, b) => b.length - a.length)\n .join(\"|\");\n}\n\nconst JS_KEYWORDS = words(`\n as async await break case catch class const continue debugger default delete\n do else export extends finally for from function get if import in instanceof\n let new of return set static super switch this throw try typeof var void\n while with yield\n`);\n\nconst TS_KEYWORDS = words(`\n abstract accessor asserts declare enum global implements infer interface is\n keyof module namespace out override private protected public readonly require\n satisfies type unique\n`);\n\nconst TS_PRIMITIVES = words(`any bigint boolean never number object string symbol unknown`);\n\nexport interface JsFlavour {\n /** TypeScript keywords and primitive type names. */\n ts: boolean;\n /** JSX element rules. See the JSX-IS-OPT-IN note above. */\n jsx: boolean;\n}\n\n/**\n * The complete state machine, rebuilt per grammar.\n *\n * A FUNCTION, NOT A SHARED CONSTANT: `defineGrammar` rewrites every pattern\n * (sticky + hasIndices), and two grammars handing it the same rule objects\n * would work only by accident. Fresh objects make that impossible to get wrong.\n *\n * `prefix` rules are spliced in ahead of everything else in the shared rule\n * body, which is how MongoDB adds `$gte` without re-deriving JavaScript.\n */\nexport function jsStates(flavour: JsFlavour, prefix: Rule[] = []): Record<string, Rule[]> {\n const base: Rule[] = [\n ...prefix,\n\n /* Comments first, or `//` reads as an empty regex literal and `/*` as a\n division followed by a multiplication. */\n { match: /\\/\\/[^\\n]*/, token: \"comment\" },\n { match: /\\/\\*[^]*?\\*\\//, token: \"comment\" },\n /* Unterminated block comment: everything to EOF is comment. Without this\n the `/` falls through to the operator rule and the rest of the file is\n highlighted as code that the compiler will never see. */\n { match: /\\/\\*[^]*/, token: \"comment\" },\n\n { match: /`/, token: \"string\", push: \"template\" },\n { match: /\"/, token: \"string\", push: \"dqString\" },\n { match: /'/, token: \"string\", push: \"sqString\" },\n\n /* The regex heuristic. Two lookbehinds: the first admits the keywords that\n are followed by a value, the second rejects anything that could END a\n value. Neither consumes, so the token is exactly the literal. */\n {\n match:\n /(?:(?<=\\b(?:return|typeof|instanceof|case|delete|void|yield|await|in|of|do|else)\\s*)|(?<![\\w$)\\]]\\s*))\\/(?![*/])(?:\\[(?:\\\\.|[^\\]\\\\\\n])*\\]|\\\\.|[^/\\\\\\n[])+\\/[dgimsuvy]*/,\n token: \"regex\",\n },\n\n {\n match:\n /0[bB][01](?:_?[01])*n?|0[oO][0-7](?:_?[0-7])*n?|0[xX][0-9a-fA-F](?:_?[0-9a-fA-F])*n?|(?:\\d(?:_?\\d)*)?\\.\\d(?:_?\\d)*(?:[eE][+-]?\\d(?:_?\\d)*)?|\\d(?:_?\\d)*(?:\\.(?:\\d(?:_?\\d)*)?)?(?:[eE][+-]?\\d(?:_?\\d)*)?n?/,\n token: \"number\",\n },\n\n /* `(?![\\w$])` rather than `\\b`: `$` is not a word character, so `\\b` would\n happily end a keyword at `for$` and colour half an identifier. */\n { match: /\\b(?:true|false)(?![\\w$])/, token: \"boolean\" },\n { match: /\\b(?:null|undefined)(?![\\w$])/, token: \"null\" },\n ...(flavour.ts ? [{ match: new RegExp(`\\\\b(?:${TS_PRIMITIVES})(?![\\\\w$])`), token: \"type\" } as Rule] : []),\n {\n match: new RegExp(`\\\\b(?:${flavour.ts ? `${JS_KEYWORDS}|${TS_KEYWORDS}` : JS_KEYWORDS})(?![\\\\w$])`),\n token: \"keyword\",\n },\n\n /* Decorators read as annotations, which is what `attribute` is for — the\n same role an attribute plays on a tag. */\n { match: /@[A-Za-z_$][\\w$]*/, token: \"attribute\" },\n { match: /#[A-Za-z_$][\\w$]*/, token: \"property\" },\n\n /* Callee before member, member before key, key before plain identifier.\n Reordering these silently degrades: `obj.map(` would stop being a call. */\n { match: /[A-Za-z_$][\\w$]*(?=\\s*\\()/, token: \"function\" },\n { match: /(?<=\\.)[A-Za-z_$][\\w$]*/, token: \"property\" },\n { match: /[A-Za-z_$][\\w$]*(?=\\s*:)/, token: \"property\" },\n { match: /(?<![\\w$])[A-Z][A-Z0-9_]*[A-Z0-9](?![\\w$])/, token: \"constant\" },\n { match: /(?<![\\w$])[A-Z][A-Za-z0-9_$]*(?![\\w$])/, token: \"type\" },\n { match: /[A-Za-z_$][\\w$]*/, token: \"variable\" },\n\n {\n match:\n /\\.\\.\\.|=>|\\?\\?=|\\?\\?|\\?\\.|\\*\\*=|\\*\\*|\\+\\+|--|<<=|>>>=|>>=|>>>|<<|>>|===|!==|==|!=|<=|>=|&&=|\\|\\|=|&&|\\|\\||[+\\-*/%&|^]=|=|[+\\-*/%&|^~!<>]|\\?/,\n token: \"operator\",\n },\n { match: /[()[\\];,.:]/, token: \"punctuation\" },\n ];\n\n const jsxRules: Rule[] = [\n { match: /<>|<\\/>/, token: \"tag\" },\n /* `(?=[\\s/>])` is what keeps `x <a` from becoming a tag: a real element is\n always followed by whitespace, `/` or `>`. */\n { match: /<\\/?[A-Za-z][\\w.:-]*(?=[\\s/>])/, token: \"tag\", push: \"jsxTag\" },\n ];\n\n const braceless = flavour.jsx ? [...jsxRules, ...base] : base;\n\n const states: Record<string, Rule[]> = {\n root: [...braceless, { match: /[{}]/, token: \"punctuation\" }],\n\n /* One state serves both `${…}` and any nested object literal inside it, so\n `${ {a: 1} }` closes the right brace. A second state would be identical. */\n interp: [\n { match: /\\}/, token: \"punctuation\", pop: true },\n { match: /\\{/, token: \"punctuation\", push: \"interp\" },\n ...braceless,\n ],\n\n template: [\n { match: /\\\\[^]/, token: \"escape\" },\n { match: /\\$\\{/, token: \"punctuation\", push: \"interp\" },\n { match: /`/, token: \"string\", pop: true },\n { match: /[^`\\\\$]+/, token: \"string\" },\n /* A `$` that is not opening an interpolation is ordinary content. */\n { match: /\\$/, token: \"string\" },\n ],\n\n dqString: [\n { match: /\\\\(?:u\\{[0-9a-fA-F]+\\}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[^])/, token: \"escape\" },\n { match: /\"/, token: \"string\", pop: true },\n { match: /[^\"\\\\\\n]+/, token: \"string\" },\n { match: /\\n/, token: \"text\", pop: true },\n ],\n\n sqString: [\n { match: /\\\\(?:u\\{[0-9a-fA-F]+\\}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|[^])/, token: \"escape\" },\n { match: /'/, token: \"string\", pop: true },\n { match: /[^'\\\\\\n]+/, token: \"string\" },\n { match: /\\n/, token: \"text\", pop: true },\n ],\n };\n\n if (flavour.jsx) {\n states.jsxTag = [\n { match: /\\/?>/, token: \"tag\", pop: true },\n { match: /\\{/, token: \"punctuation\", push: \"interp\" },\n { match: /\"/, token: \"string\", push: \"dqString\" },\n { match: /'/, token: \"string\", push: \"sqString\" },\n { match: /=/, token: \"operator\" },\n { match: /[@:]?[A-Za-z_$][\\w$.:-]*/, token: \"attribute\" },\n { match: /\\s+/, token: \"text\" },\n ];\n }\n\n return states;\n}\n\nexport const javascript = defineGrammar({\n name: \"javascript\",\n aliases: [\"js\", \"mjs\", \"cjs\", \"node\"],\n states: jsStates({ ts: false, jsx: false }),\n});\n\nexport const typescript = defineGrammar({\n name: \"typescript\",\n aliases: [\"ts\", \"mts\", \"cts\"],\n states: jsStates({ ts: true, jsx: false }),\n});\n\nexport const jsx = defineGrammar({\n name: \"jsx\",\n states: jsStates({ ts: false, jsx: true }),\n});\n\nexport const tsx = defineGrammar({\n name: \"tsx\",\n states: jsStates({ ts: true, jsx: true }),\n});\n"],"names":["words","list","a","b","JS_KEYWORDS","TS_KEYWORDS","TS_PRIMITIVES","jsStates","flavour","prefix","base","jsxRules","braceless","states","javascript","defineGrammar","typescript","jsx","tsx"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { defineGrammar as t } from "../registry.js";
2
+ const e = t({
3
+ name: "json",
4
+ aliases: ["jsonc", "json5"],
5
+ states: {
6
+ root: [
7
+ { match: /\/\/[^\n]*/, token: "comment" },
8
+ { match: /\/\*[^]*?\*\//, token: "comment" },
9
+ /* Unterminated block comment runs to EOF. The alternative is the `/`
10
+ falling through as plain text and the rest of the file being coloured
11
+ as live config while the parser sees none of it. */
12
+ { match: /\/\*[^]*/, token: "comment" },
13
+ { match: /"(?:[^"\\\n]|\\.)*"(?=\s*:)/, token: "property" },
14
+ { match: /'(?:[^'\\\n]|\\.)*'(?=\s*:)/, token: "property" },
15
+ { match: /[A-Za-z_$][\w$]*(?=\s*:)/, token: "property" },
16
+ { match: /"/, token: "string", push: "dqString" },
17
+ { match: /'/, token: "string", push: "sqString" },
18
+ { match: /\btrue\b|\bfalse\b/, token: "boolean" },
19
+ { match: /\bnull\b/, token: "null" },
20
+ {
21
+ match: /[+-]?(?:0[xX][0-9a-fA-F]+|Infinity|NaN|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?)/,
22
+ token: "number"
23
+ },
24
+ { match: /[{}[\],:]/, token: "punctuation" }
25
+ ],
26
+ /* `\n` pops. An editor sees a lone `"` constantly — half a typed line — and
27
+ a string state that outlived the line would repaint the whole document. */
28
+ dqString: [
29
+ { match: /\\(?:u[0-9a-fA-F]{4}|["\\/bfnrt]|[^])/, token: "escape" },
30
+ { match: /"/, token: "string", pop: !0 },
31
+ { match: /[^"\\\n]+/, token: "string" },
32
+ { match: /\n/, token: "text", pop: !0 }
33
+ ],
34
+ sqString: [
35
+ { match: /\\(?:u[0-9a-fA-F]{4}|['\\/bfnrt]|[^])/, token: "escape" },
36
+ { match: /'/, token: "string", pop: !0 },
37
+ { match: /[^'\\\n]+/, token: "string" },
38
+ { match: /\n/, token: "text", pop: !0 }
39
+ ]
40
+ }
41
+ });
42
+ export {
43
+ e as json
44
+ };
45
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sources":["../../../../src/lib/syntax/languages/json.ts"],"sourcesContent":["import { defineGrammar } from \"../registry\";\n\n/* ============================================================================\n JSON — and, deliberately, its two dialects.\n\n THE KEY IS NOT A STRING. `\"name\": \"value\"` has two quoted runs and they mean\n completely different things: one is a NAME and one is a VALUE. Colouring them\n identically is what makes a large config file unreadable, and separating them\n is most of what JSON highlighting is for. The rule below decides with a\n lookahead for the colon — the only information that tells them apart, and it\n is available at exactly the moment the scanner needs it.\n\n A KEY IS ONE TOKEN, escapes included. Splitting `é` out of a key would\n mean pushing a state, and a state cannot see the colon that is still four\n characters ahead. Values keep their escape highlighting; keys trade it for\n being correctly identified, which is the trade that matters.\n\n ONE GRAMMAR COVERS JSON, JSONC AND JSON5. Comments, single quotes, unquoted\n keys and hex numbers are accepted here even though strict JSON forbids them.\n A highlighter is not a validator: refusing to colour a `//` in a tsconfig\n helps nobody, and a strict-mode fork would double every future fix for a\n payoff that only ever appears as a MISSING colour. The aliases are claimed so\n a `jsonc` fence resolves rather than falling back to plain text.\n ========================================================================= */\n\nexport const json = defineGrammar({\n name: \"json\",\n aliases: [\"jsonc\", \"json5\"],\n states: {\n root: [\n { match: /\\/\\/[^\\n]*/, token: \"comment\" },\n { match: /\\/\\*[^]*?\\*\\//, token: \"comment\" },\n /* Unterminated block comment runs to EOF. The alternative is the `/`\n falling through as plain text and the rest of the file being coloured\n as live config while the parser sees none of it. */\n { match: /\\/\\*[^]*/, token: \"comment\" },\n\n { match: /\"(?:[^\"\\\\\\n]|\\\\.)*\"(?=\\s*:)/, token: \"property\" },\n { match: /'(?:[^'\\\\\\n]|\\\\.)*'(?=\\s*:)/, token: \"property\" },\n { match: /[A-Za-z_$][\\w$]*(?=\\s*:)/, token: \"property\" },\n\n { match: /\"/, token: \"string\", push: \"dqString\" },\n { match: /'/, token: \"string\", push: \"sqString\" },\n\n { match: /\\btrue\\b|\\bfalse\\b/, token: \"boolean\" },\n { match: /\\bnull\\b/, token: \"null\" },\n {\n match:\n /[+-]?(?:0[xX][0-9a-fA-F]+|Infinity|NaN|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?|\\.\\d+(?:[eE][+-]?\\d+)?)/,\n token: \"number\",\n },\n\n { match: /[{}[\\],:]/, token: \"punctuation\" },\n ],\n\n /* `\\n` pops. An editor sees a lone `\"` constantly — half a typed line — and\n a string state that outlived the line would repaint the whole document. */\n dqString: [\n { match: /\\\\(?:u[0-9a-fA-F]{4}|[\"\\\\/bfnrt]|[^])/, token: \"escape\" },\n { match: /\"/, token: \"string\", pop: true },\n { match: /[^\"\\\\\\n]+/, token: \"string\" },\n { match: /\\n/, token: \"text\", pop: true },\n ],\n\n sqString: [\n { match: /\\\\(?:u[0-9a-fA-F]{4}|['\\\\/bfnrt]|[^])/, token: \"escape\" },\n { match: /'/, token: \"string\", pop: true },\n { match: /[^'\\\\\\n]+/, token: \"string\" },\n { match: /\\n/, token: \"text\", pop: true },\n ],\n },\n});\n"],"names":["json","defineGrammar"],"mappings":";AAyBO,MAAMA,IAAOC,EAAc;AAAA,EAChC,MAAM;AAAA,EACN,SAAS,CAAC,SAAS,OAAO;AAAA,EAC1B,QAAQ;AAAA,IACN,MAAM;AAAA,MACJ,EAAE,OAAO,cAAc,OAAO,UAAA;AAAA,MAC9B,EAAE,OAAO,iBAAiB,OAAO,UAAA;AAAA;AAAA;AAAA;AAAA,MAIjC,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,MAE5B,EAAE,OAAO,+BAA+B,OAAO,WAAA;AAAA,MAC/C,EAAE,OAAO,+BAA+B,OAAO,WAAA;AAAA,MAC/C,EAAE,OAAO,4BAA4B,OAAO,WAAA;AAAA,MAE5C,EAAE,OAAO,KAAK,OAAO,UAAU,MAAM,WAAA;AAAA,MACrC,EAAE,OAAO,KAAK,OAAO,UAAU,MAAM,WAAA;AAAA,MAErC,EAAE,OAAO,sBAAsB,OAAO,UAAA;AAAA,MACtC,EAAE,OAAO,YAAY,OAAO,OAAA;AAAA,MAC5B;AAAA,QACE,OACE;AAAA,QACF,OAAO;AAAA,MAAA;AAAA,MAGT,EAAE,OAAO,aAAa,OAAO,cAAA;AAAA,IAAc;AAAA;AAAA;AAAA,IAK7C,UAAU;AAAA,MACR,EAAE,OAAO,yCAAyC,OAAO,SAAA;AAAA,MACzD,EAAE,OAAO,KAAK,OAAO,UAAU,KAAK,GAAA;AAAA,MACpC,EAAE,OAAO,aAAa,OAAO,SAAA;AAAA,MAC7B,EAAE,OAAO,MAAM,OAAO,QAAQ,KAAK,GAAA;AAAA,IAAK;AAAA,IAG1C,UAAU;AAAA,MACR,EAAE,OAAO,yCAAyC,OAAO,SAAA;AAAA,MACzD,EAAE,OAAO,KAAK,OAAO,UAAU,KAAK,GAAA;AAAA,MACpC,EAAE,OAAO,aAAa,OAAO,SAAA;AAAA,MAC7B,EAAE,OAAO,MAAM,OAAO,QAAQ,KAAK,GAAA;AAAA,IAAK;AAAA,EAC1C;AAEJ,CAAC;"}