@50arms/ui 0.0.0-stage → 35.1.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 +167 -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 +331 -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 +20 -0
  1037. package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
  1038. package/dist/types/components/rbac/ApiKeysTable.d.ts +63 -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 +633 -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,443 @@
1
+ import { lineAt as x } from "./caret.js";
2
+ import { referenceMarkdown as W, enclosingCode as F, reshapeForCodeBoundary as _ } from "./images.js";
3
+ import { project as q } from "./project.js";
4
+ const u = (t) => ({ anchor: t, head: t }), g = (t) => ({
5
+ from: Math.min(t.anchor, t.head),
6
+ to: Math.max(t.anchor, t.head)
7
+ });
8
+ function b(t, n) {
9
+ const { from: e, to: s } = g(n), r = x(t, e), o = x(t, s), l = [];
10
+ let c = r.start;
11
+ for (; ; ) {
12
+ const i = x(t, c);
13
+ if (l.push({ start: i.start, end: i.end, text: t.slice(i.start, i.end) }), i.end >= o.end) break;
14
+ c = i.end + 1;
15
+ }
16
+ return l;
17
+ }
18
+ function w(t, n, e) {
19
+ const s = n[0].start, r = n[n.length - 1].end, o = e.join(`
20
+ `), { from: l, to: c } = g(t);
21
+ let i = 0, a = 0;
22
+ for (let f = 0; f < n.length; f++) {
23
+ const m = e[f].length - n[f].text.length;
24
+ n[f].end < l ? i += m : n[f].start <= c && (a += m);
25
+ }
26
+ const d = n.find((f) => f.start < l && l <= f.end), h = d ? e[n.indexOf(d)].length - d.text.length : 0;
27
+ return {
28
+ splice: { start: s, end: r, text: o },
29
+ select: {
30
+ anchor: Math.max(s, t.anchor + i + (t.anchor === l ? h : 0)),
31
+ head: Math.max(s, t.head + i + a)
32
+ }
33
+ };
34
+ }
35
+ function C(t) {
36
+ return (n, e) => {
37
+ const s = g(e);
38
+ let r = s.from, o = s.to;
39
+ for (; r < o && /\s/.test(n[r]); ) r++;
40
+ for (; o > r && /\s/.test(n[o - 1]); ) o--;
41
+ const l = r === o ? e : { anchor: r, head: o }, { from: c, to: i } = g(l), a = t.length;
42
+ if (n.slice(c - a, c) === t && n.slice(i, i + a) === t)
43
+ return {
44
+ splice: { start: c - a, end: i + a, text: n.slice(c, i) },
45
+ select: { anchor: c - a, head: i - a }
46
+ };
47
+ if (!(n[c + a] === t[0] || n[i - a - 1] === t[0]) && i - c >= a * 2 && n.slice(c, c + a) === t && n.slice(i - a, i) === t)
48
+ return {
49
+ splice: { start: c, end: i, text: n.slice(c + a, i - a) },
50
+ select: { anchor: c, head: i - a * 2 }
51
+ };
52
+ const h = n.slice(c, i);
53
+ return {
54
+ splice: { start: c, end: i, text: `${t}${h}${t}` },
55
+ /* An empty selection puts the caret BETWEEN the markers, ready to type —
56
+ the single most common way this command is used. */
57
+ select: c === i ? u(c + a) : { anchor: c + a, head: i + a }
58
+ };
59
+ };
60
+ }
61
+ const V = C("**"), Y = C("*"), Z = C("`"), tt = C("~~"), v = /^(\s*)(#{1,6})(\s+)/;
62
+ function D(t) {
63
+ const n = v.exec(t);
64
+ return n ? n[2].length : 0;
65
+ }
66
+ function U(t) {
67
+ return (n, e) => {
68
+ const s = b(n, e)[0], r = p(s.text), o = r ? s.text.slice(0, s.text.length - r.body.length) : "", l = r ? r.body : s.text, c = v.exec(l), i = c ? c[1] : /^\s*/.exec(l)[0], a = c ? l.slice(c[0].length) : l.slice(i.length), d = t === 0 ? `${o}${i}${a}` : `${o}${i}${"#".repeat(t)} ${a}`;
69
+ return d === s.text ? null : w(e, [s], [d]);
70
+ };
71
+ }
72
+ function nt(t) {
73
+ return (n, e) => {
74
+ const s = b(n, e)[0], r = D(s.text), o = Math.max(0, Math.min(6, r + t));
75
+ return o === r ? null : U(o)(n, e);
76
+ };
77
+ }
78
+ const H = /^(\s*)([-*+])(\s+)/, P = /^(\s*)(\d{1,9})([.)])(\s+)/;
79
+ function p(t) {
80
+ const n = H.exec(t);
81
+ if (n) return { indent: n[1], marker: n[2], body: t.slice(n[0].length), ordered: !1 };
82
+ const e = P.exec(t);
83
+ return e ? { indent: e[1], marker: e[2] + e[3], body: t.slice(e[0].length), ordered: !0 } : null;
84
+ }
85
+ function et(t) {
86
+ return (n, e) => {
87
+ const s = b(n, e).filter((l) => l.text.trim().length > 0 || b(n, e).length === 1);
88
+ if (!s.length) return null;
89
+ const r = s.every((l) => {
90
+ const c = p(l.text);
91
+ return c && c.ordered === t;
92
+ }), o = s.map((l, c) => {
93
+ const i = p(l.text), a = i ? i.indent : /^\s*/.exec(l.text)[0], d = i ? i.body : l.text.slice(a.length);
94
+ return r ? `${a}${d}` : t ? `${a}${c + 1}. ${d}` : `${a}- ${d}`;
95
+ });
96
+ return w(e, s, o);
97
+ };
98
+ }
99
+ const y = " ", L = /^\[([ xX])\]\s?/;
100
+ function Q(t, n) {
101
+ const e = p(t.slice(n.start, x(t, n.start).end));
102
+ if (!e) return !1;
103
+ const s = e.indent.length;
104
+ let r = n.start;
105
+ for (; r > 0; ) {
106
+ const o = x(t, r - 1), l = t.slice(o.start, o.end);
107
+ if (l.trim().length === 0) return !1;
108
+ const c = p(l);
109
+ if (!c) return !1;
110
+ if (c.indent.length === s) return !0;
111
+ if (c.indent.length < s) return !1;
112
+ r = o.start;
113
+ }
114
+ return !1;
115
+ }
116
+ const G = (t, n) => {
117
+ const e = b(t, n);
118
+ return p(e[0].text) && !Q(t, e[0]) ? null : w(n, e, e.map((s) => y + s.text));
119
+ }, O = (t, n) => {
120
+ const e = b(t, n);
121
+ return e.some((s) => s.text.startsWith(" ") || s.text.startsWith(" ")) ? w(
122
+ n,
123
+ e,
124
+ e.map((s) => s.text.startsWith(y) ? s.text.slice(y.length) : s.text.replace(/^[ \t]/, ""))
125
+ ) : null;
126
+ }, rt = (t, n) => {
127
+ const e = b(t, n)[0], s = p(e.text);
128
+ if (!s) return null;
129
+ const r = e.text.slice(0, e.text.length - s.body.length), o = L.exec(s.body), l = o ? `${r}[${o[1] === " " ? "x" : " "}] ${s.body.slice(o[0].length)}` : `${r}[ ] ${s.body}`;
130
+ return w(n, [e], [l]);
131
+ }, A = /^(\s*)>\s?/, st = (t, n) => {
132
+ const e = b(t, n), s = e.every((r) => A.test(r.text));
133
+ return w(
134
+ n,
135
+ e,
136
+ e.map((r) => s ? r.text.replace(A, "$1") : `> ${r.text}`)
137
+ );
138
+ };
139
+ function ot(t = "") {
140
+ return (n, e) => {
141
+ const s = S(n, g(e).from);
142
+ if (s) {
143
+ const a = n.slice(s.bodyStart, s.bodyEnd);
144
+ return {
145
+ splice: { start: s.start, end: s.end, text: a },
146
+ select: u(s.start + Math.max(0, g(e).from - s.bodyStart))
147
+ };
148
+ }
149
+ const r = b(n, e), o = r[0].start, l = r[r.length - 1].end, c = n.slice(o, l), i = "```" + t;
150
+ return {
151
+ splice: { start: o, end: l, text: `${i}
152
+ ${c}
153
+ \`\`\`` },
154
+ select: u(o + i.length + 1 + (g(e).from - o))
155
+ };
156
+ };
157
+ }
158
+ const I = /^ {0,3}(`{3,}|~{3,})/;
159
+ function S(t, n) {
160
+ const e = [];
161
+ let s = 0;
162
+ for (; ; ) {
163
+ const o = x(t, s);
164
+ if (e.push({ start: o.start, end: o.end, text: t.slice(o.start, o.end) }), o.end >= t.length) break;
165
+ s = o.end + 1;
166
+ }
167
+ let r = null;
168
+ for (const o of e) {
169
+ if (!r) {
170
+ I.test(o.text) && (r = o);
171
+ continue;
172
+ }
173
+ if (I.test(o.text)) {
174
+ if (n >= r.start && n <= o.end)
175
+ return { start: r.start, end: o.end, bodyStart: r.end + 1, bodyEnd: o.start > r.end + 1 ? o.start - 1 : r.end + 1 };
176
+ r = null;
177
+ }
178
+ }
179
+ return r && n >= r.start ? { start: r.start, end: t.length, bodyStart: r.end + 1, bodyEnd: t.length } : null;
180
+ }
181
+ const lt = (t, n) => {
182
+ const e = x(t, g(n).from), s = t.slice(e.start, e.end).trim().length === 0, r = s ? "---" : `
183
+
184
+ ---
185
+ `, o = s ? e.start : e.end;
186
+ return { splice: { start: o, end: e.end, text: r }, select: u(o + r.length) };
187
+ };
188
+ function ct(t = "", n) {
189
+ return (e, s) => {
190
+ const { from: r, to: o } = g(s), l = e.slice(r, o), c = n ? ` "${n}"` : "", i = `[${l}](${t}${c})`;
191
+ return {
192
+ splice: { start: r, end: o, text: i },
193
+ select: u(t ? r + i.length : r + l.length + 3)
194
+ };
195
+ };
196
+ }
197
+ function it(t, n) {
198
+ if (!t.trim()) throw new Error("insertImage: src is required — an image with no source renders as a broken box");
199
+ return (e, s) => {
200
+ const { from: r, to: o } = g(s), l = W("image", t, n ?? e.slice(r, o)), c = F(q(e), r);
201
+ if (c) {
202
+ const i = c.end, a = c.block ? _(e, i, l) : l;
203
+ return { splice: { start: i, end: i, text: a }, select: u(i + a.length) };
204
+ }
205
+ return { splice: { start: r, end: o, text: l }, select: u(r + l.length) };
206
+ };
207
+ }
208
+ const K = /^[ \t]*\|?[ \t]*:?-+:?[ \t]*(?:\|[ \t]*:?-+:?[ \t]*)*\|?[ \t]*$/;
209
+ function j(t, n) {
210
+ const e = x(t, n), s = (l) => {
211
+ const c = x(t, l);
212
+ return { start: c.start, end: c.end, text: t.slice(c.start, c.end) };
213
+ }, r = (l) => l.includes("|");
214
+ if (!r(t.slice(e.start, e.end))) return null;
215
+ const o = [s(e.start)];
216
+ for (let l = e.start; l > 0; ) {
217
+ const c = s(x(t, l - 1).start);
218
+ if (!r(c.text) || (o.unshift(c), l = c.start, l === 0)) break;
219
+ }
220
+ for (let l = e.end; l < t.length; ) {
221
+ const c = s(l + 1);
222
+ if (!r(c.text)) break;
223
+ o.push(c), l = c.end;
224
+ }
225
+ return o.length < 2 || !K.test(o[1].text) ? null : { start: o[0].start, end: o[o.length - 1].end, rows: o };
226
+ }
227
+ function k(t) {
228
+ let n = t.trim();
229
+ return n.startsWith("|") && (n = n.slice(1)), n.endsWith("|") && (n = n.slice(0, -1)), n.split("|").map((e) => e.trim());
230
+ }
231
+ function $(t) {
232
+ return `| ${t.join(" | ")} |`;
233
+ }
234
+ function B(t, n, e) {
235
+ const s = n.rows.findIndex((i) => e >= i.start && e <= i.end);
236
+ if (s < 0) return null;
237
+ const r = n.rows[s], l = (t.slice(r.start, Math.max(r.start, e)).match(/\|/g) ?? []).length, c = /^\s*\|/.test(r.text) ? 1 : 0;
238
+ return { row: s, column: Math.max(0, l - c) };
239
+ }
240
+ function at(t, n = 3, e = 2) {
241
+ return (s, r) => {
242
+ const o = x(s, g(r).from), l = t(1), c = $(Array.from({ length: n }, (T, M) => t(M + 1))), i = $(Array.from({ length: n }, () => "---")), a = Array.from({ length: e }, () => $(Array.from({ length: n }, () => " "))).join(`
243
+ `), d = `${c}
244
+ ${i}
245
+ ${a}`, h = s.slice(o.start, o.end).trim().length === 0, f = h ? d : `
246
+
247
+ ${d}`, m = h ? o.start : o.end;
248
+ return { splice: { start: m, end: o.end, text: f }, select: u(m + f.indexOf(l) + l.length) };
249
+ };
250
+ }
251
+ function E(t) {
252
+ return (n, e) => {
253
+ const s = g(e).from, r = j(n, s);
254
+ if (!r) return null;
255
+ const o = B(n, r, s);
256
+ if (!o) return null;
257
+ const l = t(r, o, n);
258
+ return l ? {
259
+ splice: { start: r.start, end: r.end, text: l.rows.join(`
260
+ `) },
261
+ select: u(l.select ?? Math.min(s, r.start + l.rows.join(`
262
+ `).length))
263
+ } : null;
264
+ };
265
+ }
266
+ function dt(t) {
267
+ return E((n, e) => {
268
+ const s = k(n.rows[0].text).length, r = $(Array.from({ length: s }, () => " ")), o = n.rows.map((c) => c.text), l = Math.max(2, t ? e.row + 1 : e.row);
269
+ return o.splice(l, 0, r), { rows: o, select: n.start + o.slice(0, l).join(`
270
+ `).length + 3 };
271
+ });
272
+ }
273
+ function ft(t, n) {
274
+ return E((e, s) => {
275
+ const r = t ? s.column + 1 : s.column;
276
+ return { rows: e.rows.map((l, c) => {
277
+ const i = k(l.text);
278
+ return i.splice(Math.min(r, i.length), 0, c === 1 ? "---" : c === 0 ? n : " "), $(i);
279
+ }) };
280
+ });
281
+ }
282
+ const ht = E((t, n) => {
283
+ if (n.row < 2) return null;
284
+ const e = t.rows.map((s) => s.text);
285
+ return e.splice(n.row, 1), { rows: e };
286
+ }), ut = E((t, n) => k(t.rows[0].text).length <= 1 ? null : {
287
+ rows: t.rows.map((e) => {
288
+ const s = k(e.text);
289
+ return s.splice(n.column, 1), $(s);
290
+ })
291
+ }), gt = (t, n) => {
292
+ const e = j(t, g(n).from);
293
+ return e ? { splice: { start: e.start, end: e.end, text: "" }, select: u(e.start) } : null;
294
+ };
295
+ function xt(t) {
296
+ return E((n, e) => ({ rows: n.rows.map((r, o) => {
297
+ if (o !== 1) return r.text;
298
+ const l = k(r.text), c = l[e.column]?.replace(/:/g, "") || "---";
299
+ return l[e.column] = t === "left" ? `:${c}` : t === "right" ? `${c}:` : `:${c}:`, $(l);
300
+ }) }));
301
+ }
302
+ function N(t) {
303
+ return (n, e) => {
304
+ const s = g(e).from, r = j(n, s);
305
+ if (!r || !B(n, r, s)) return null;
306
+ const l = [];
307
+ for (let d = 0; d < r.rows.length; d++) {
308
+ if (d === 1) continue;
309
+ const h = r.rows[d];
310
+ let f = h.start;
311
+ for (const m of k(h.text)) {
312
+ const T = n.indexOf(m, f), M = m.length ? T < 0 || T > h.end ? f : T : f;
313
+ l.push({ start: M, end: M + m.length }), f = M + m.length + 1;
314
+ }
315
+ }
316
+ const c = l.findIndex((d) => s >= d.start && s <= d.end), i = c < 0 ? t ? 0 : l.length - 1 : c + (t ? 1 : -1);
317
+ if (i < 0 || i >= l.length) return null;
318
+ const a = l[i];
319
+ return {
320
+ splice: { start: s, end: s, text: "" },
321
+ /* The whole cell, selected — which is what makes Tab-then-type replace a
322
+ cell's contents, the behaviour every spreadsheet has trained for. */
323
+ select: { anchor: a.start, head: a.end }
324
+ };
325
+ };
326
+ }
327
+ const mt = (t, n) => {
328
+ const { from: e, to: s } = g(n);
329
+ if (e !== s) return null;
330
+ const r = x(t, e), o = t.slice(r.start, r.end), l = (h, f) => ({
331
+ splice: { start: r.start, end: r.end, text: h },
332
+ select: u(f)
333
+ }), c = S(t, e);
334
+ if (c && e >= c.bodyStart && c.bodyStart >= c.bodyEnd)
335
+ return c.start > 0 ? { splice: { start: c.start - 1, end: c.end, text: "" }, select: u(c.start - 1) } : { splice: { start: 0, end: Math.min(t.length, c.end + 1), text: "" }, select: u(0) };
336
+ const i = p(o);
337
+ if (i) {
338
+ const h = o.length - i.body.length, f = L.exec(i.body);
339
+ if (e > r.start + h + (f ? f[0].length : 0)) return null;
340
+ if (f) return l(o.slice(0, h) + i.body.slice(f[0].length), r.start + h);
341
+ if (i.indent.length > 0) {
342
+ const m = i.indent.slice(0, Math.max(0, i.indent.length - y.length));
343
+ return l(m + o.slice(i.indent.length), e - (i.indent.length - m.length));
344
+ }
345
+ return l(i.body, r.start);
346
+ }
347
+ const a = /^(#{1,6})([ \t]+)/.exec(o);
348
+ if (a)
349
+ return e > r.start + a[0].length ? null : l(o.slice(a[0].length), r.start);
350
+ const d = A.exec(o);
351
+ if (d)
352
+ return e > r.start + d[0].length ? null : l(d[1] + o.slice(d[0].length), r.start + d[1].length);
353
+ if (/^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/.test(o)) {
354
+ const h = Math.min(t.length, r.end + 1);
355
+ return { splice: { start: r.start, end: h, text: "" }, select: u(r.start) };
356
+ }
357
+ return null;
358
+ }, pt = (t, n) => {
359
+ const { from: e, to: s } = g(n), r = x(t, e), o = t.slice(r.start, r.end), l = p(o);
360
+ if (l) {
361
+ const i = L.exec(l.body);
362
+ if ((i ? l.body.slice(i[0].length) : l.body).trim().length === 0) {
363
+ if (l.indent.length > 0) {
364
+ const f = `${l.indent.slice(0, Math.max(0, l.indent.length - y.length))}${l.marker} ${i ? "[ ] " : ""}`;
365
+ return {
366
+ splice: { start: r.start, end: r.end, text: f },
367
+ select: u(r.start + f.length)
368
+ };
369
+ }
370
+ return { splice: { start: r.start, end: s, text: "" }, select: u(r.start) };
371
+ }
372
+ const d = l.ordered ? `
373
+ ${l.indent}${Number(/\d+/.exec(l.marker)[0]) + 1}${l.marker.slice(-1)} ${i ? "[ ] " : ""}` : `
374
+ ${l.indent}${l.marker} ${i ? "[ ] " : ""}`;
375
+ return { splice: { start: e, end: s, text: d }, select: u(e + d.length) };
376
+ }
377
+ const c = A.exec(o);
378
+ if (c) {
379
+ if (o.slice(c[0].length).trim().length === 0)
380
+ return { splice: { start: r.start, end: s, text: "" }, select: u(r.start) };
381
+ const i = `
382
+ ${c[0]}`;
383
+ return { splice: { start: e, end: s, text: i }, select: u(e + i.length) };
384
+ }
385
+ return { splice: { start: e, end: s, text: `
386
+ ` }, select: u(e + 1) };
387
+ };
388
+ function R(t, n, e) {
389
+ const s = b(t, n), r = s.some((l) => I.test(l.text)), o = S(t, g(n).from) !== null;
390
+ if (!(!r && !o))
391
+ return r ? null : e ? w(n, s, s.map((l) => y + l.text)) : O(t, n);
392
+ }
393
+ const bt = (t, n) => {
394
+ const e = N(!0)(t, n);
395
+ if (e) return e;
396
+ const s = R(t, n, !0);
397
+ if (s !== void 0) return s;
398
+ const r = x(t, g(n).from), o = t.slice(r.start, r.end);
399
+ return p(o) ? G(t, n) : null;
400
+ }, $t = (t, n) => {
401
+ const e = N(!1)(t, n);
402
+ if (e) return e;
403
+ const s = R(t, n, !1);
404
+ if (s !== void 0) return s;
405
+ const r = x(t, g(n).from), o = t.slice(r.start, r.end);
406
+ return p(o) ? O(t, n) : null;
407
+ };
408
+ export {
409
+ nt as adjustHeading,
410
+ xt as alignColumn,
411
+ mt as backspaceBlockPrefix,
412
+ B as cellAt,
413
+ k as cellsOf,
414
+ ut as deleteColumn,
415
+ ht as deleteRow,
416
+ gt as deleteTable,
417
+ S as fenceAround,
418
+ D as headingLevel,
419
+ G as indentLines,
420
+ ft as insertColumn,
421
+ it as insertImage,
422
+ ct as insertLink,
423
+ dt as insertRow,
424
+ lt as insertRule,
425
+ at as insertTable,
426
+ O as outdentLines,
427
+ U as setHeading,
428
+ pt as smartEnter,
429
+ $t as smartShiftTab,
430
+ bt as smartTab,
431
+ j as tableAround,
432
+ N as tableTab,
433
+ V as toggleBold,
434
+ Z as toggleCode,
435
+ ot as toggleCodeBlock,
436
+ C as toggleInline,
437
+ Y as toggleItalic,
438
+ et as toggleList,
439
+ st as toggleQuote,
440
+ tt as toggleStrike,
441
+ rt as toggleTask
442
+ };
443
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sources":["../../../src/lib/markdown/commands.ts"],"sourcesContent":["/* ============================================================================\n AUTHORING — every command is a pure function of (source, selection).\n\n THIS IS WHAT THE SOURCE-DIRECT DESIGN BOUGHT. In an editor whose model is a\n document tree, \"toggle bold\" is a transaction against a schema, and testing\n it needs the schema, the view and usually a browser. Here the model IS the\n markdown string, so every command is `(string, selection) → splice`, and the\n whole authoring surface is unit-testable with no DOM at all.\n\n NOTHING HERE TOUCHES THE DOM, reads a clock, or imports React. Same shape as\n the calendar's layout core, for the same reason.\n\n ── TWO OMISSIONS, BOTH DELIBERATE ──────────────────────────────────────────\n\n danx-ui's table carries 38 hotkeys; two of them are dropped, and this is the\n place to say why rather than leave a silent gap.\n\n HIGHLIGHT (`==text==`) and UNDERLINE are not CommonMark and not GFM. Our\n parser is strict about that on purpose — PLAN-MD's second fixed rule is\n \"strict CommonMark + GFM with a conformance suite from day one; do not\n accrete a dialect\", because if the parse IS the model then every parser\n addition silently changes what existing documents mean. Typora's unanswered\n 2016 issue is exactly that drift.\n\n So a highlight command would write characters this parser reads as literal\n text, and the user would see `==text==` on screen and in every other markdown\n tool. A command that produces visible garbage is worse than a missing one.\n The same argument retires underline, which has no markdown spelling at all;\n danx-ui reached for raw HTML, and raw HTML is literal text here by an\n explicit security decision.\n ========================================================================= */\n\nimport { lineAt } from \"./caret\";\nimport { enclosingCode, referenceMarkdown, reshapeForCodeBoundary } from \"./images\";\nimport type { SourceSelection } from \"./position\";\nimport { project } from \"./project\";\nimport type { Splice } from \"./surface\";\n\nexport interface Edit {\n splice: Splice;\n select: SourceSelection;\n}\n\n/** A command returns null when it does not apply, so the key falls through. */\nexport type Command = (source: string, selection: SourceSelection) => Edit | null;\n\nconst caret = (at: number): SourceSelection => ({ anchor: at, head: at });\nconst ordered = (selection: SourceSelection) => ({\n from: Math.min(selection.anchor, selection.head),\n to: Math.max(selection.anchor, selection.head),\n});\n\n/* --- Lines ---------------------------------------------------------------- */\n\ninterface LineSpan {\n start: number;\n end: number;\n text: string;\n}\n\n/** Every line a selection touches, whole. */\nfunction linesOf(source: string, selection: SourceSelection): LineSpan[] {\n const { from, to } = ordered(selection);\n const first = lineAt(source, from);\n const last = lineAt(source, to);\n const out: LineSpan[] = [];\n let at = first.start;\n for (;;) {\n const line = lineAt(source, at);\n out.push({ start: line.start, end: line.end, text: source.slice(line.start, line.end) });\n if (line.end >= last.end) break;\n at = line.end + 1;\n }\n return out;\n}\n\n/**\n * Replaces a run of whole lines, keeping the selection over the same text.\n *\n * The caret is remapped by how much the text BEFORE it grew or shrank, which is\n * the only mapping a line-prefix edit needs and is exact for all of them. A\n * command that recomputed the caret from scratch would be guessing.\n */\nfunction rewriteLines(selection: SourceSelection, lines: LineSpan[], next: string[]): Edit {\n const start = lines[0].start;\n const end = lines[lines.length - 1].end;\n const text = next.join(\"\\n\");\n\n const { from, to } = ordered(selection);\n let deltaBefore = 0;\n let deltaWithin = 0;\n for (let i = 0; i < lines.length; i++) {\n const change = next[i].length - lines[i].text.length;\n if (lines[i].end < from) deltaBefore += change;\n else if (lines[i].start <= to) deltaWithin += change;\n }\n /* A prefix added to the caret's own line moves the caret with it — but ONLY\n if the caret was inside the line's text. A selection that started at the\n very beginning of a line was selecting whole lines, and it should still\n select whole lines afterwards rather than skipping over the marker it just\n added. */\n const own = lines.find((l) => l.start < from && from <= l.end);\n const ownChange = own ? next[lines.indexOf(own)].length - own.text.length : 0;\n\n return {\n splice: { start, end, text },\n select: {\n anchor: Math.max(start, selection.anchor + deltaBefore + (selection.anchor === from ? ownChange : 0)),\n head: Math.max(start, selection.head + deltaBefore + deltaWithin),\n },\n };\n}\n\n/* --- Inline formatting ---------------------------------------------------- */\n\n/**\n * Toggles a symmetric inline marker around the selection.\n *\n * WRAPPING AND UNWRAPPING ARE THE SAME COMMAND, and which one happens is\n * decided by looking at the source on both sides — not by asking the rendered\n * tree whether the selection \"is bold\". The tree answer is ambiguous the moment\n * a selection spans a boundary; the source answer never is.\n */\nexport function toggleInline(marker: string): Command {\n return (source, selectionIn) => {\n /* WHITESPACE IS TRIMMED OUT OF THE WRAP, and this is correctness rather\n than tidiness. A closing delimiter run must be RIGHT-FLANKING in\n CommonMark — preceded by a non-whitespace character — so `**Release **`\n has no closer at all and renders as four literal asterisks. Double-click\n selects a word AND its trailing space in every browser, so the most\n ordinary way to bold a word produced visible markup.\n Found by the affordances probe, which bolded a double-clicked word and\n read the result back. */\n const raw = ordered(selectionIn);\n let trimFrom = raw.from;\n let trimTo = raw.to;\n while (trimFrom < trimTo && /\\s/.test(source[trimFrom])) trimFrom++;\n while (trimTo > trimFrom && /\\s/.test(source[trimTo - 1])) trimTo--;\n const selection: SourceSelection =\n trimFrom === trimTo ? selectionIn : { anchor: trimFrom, head: trimTo };\n\n const { from, to } = ordered(selection);\n const width = marker.length;\n\n /* Already wrapped, markers OUTSIDE the selection: unwrap. */\n if (source.slice(from - width, from) === marker && source.slice(to, to + width) === marker) {\n return {\n splice: { start: from - width, end: to + width, text: source.slice(from, to) },\n select: { anchor: from - width, head: to - width },\n };\n }\n /* Already wrapped, markers INSIDE the selection: unwrap those instead.\n The extra test is what stops a one-character marker eating one asterisk\n off each side of `**bold**` — which would leave `*bold*` and silently\n change the document from strong to emphasis. A marker is only THIS marker\n when the character beyond it is something else. */\n const longer = source[from + width] === marker[0] || source[to - width - 1] === marker[0];\n if (!longer && to - from >= width * 2 && source.slice(from, from + width) === marker && source.slice(to - width, to) === marker) {\n return {\n splice: { start: from, end: to, text: source.slice(from + width, to - width) },\n select: { anchor: from, head: to - width * 2 },\n };\n }\n\n const inner = source.slice(from, to);\n return {\n splice: { start: from, end: to, text: `${marker}${inner}${marker}` },\n /* An empty selection puts the caret BETWEEN the markers, ready to type —\n the single most common way this command is used. */\n select: from === to ? caret(from + width) : { anchor: from + width, head: to + width },\n };\n };\n}\n\nexport const toggleBold = toggleInline(\"**\");\nexport const toggleItalic = toggleInline(\"*\");\nexport const toggleCode = toggleInline(\"`\");\nexport const toggleStrike = toggleInline(\"~~\");\n\n/* --- Headings ------------------------------------------------------------- */\n\nconst HEADING = /^(\\s*)(#{1,6})(\\s+)/;\n\n/** The heading level of a line, 0 for a paragraph. */\nexport function headingLevel(text: string): number {\n const match = HEADING.exec(text);\n return match ? match[2].length : 0;\n}\n\n/**\n * Sets a line's heading level. Level 0 removes the heading.\n *\n * Applied to the FIRST line of the selection only. A multi-line selection means\n * \"make this a heading\", and a heading is one line — turning six selected lines\n * into six headings is a destructive reading of an ambiguous gesture.\n */\nexport function setHeading(level: number): Command {\n return (source, selection) => {\n const line = linesOf(source, selection)[0];\n /* A LIST MARKER SURVIVES A HEADING CHANGE. `- # Title` is a heading inside\n a list item; putting the hashes in front of the dash would produce\n `## - Title`, which is a heading whose text begins with a dash — the item\n silently left the list, and the user asked for neither. */\n const item = listMarkerOf(line.text);\n const prefix = item ? line.text.slice(0, line.text.length - item.body.length) : \"\";\n const rest = item ? item.body : line.text;\n\n const match = HEADING.exec(rest);\n const indent = match ? match[1] : /^\\s*/.exec(rest)![0];\n const body = match ? rest.slice(match[0].length) : rest.slice(indent.length);\n const next =\n level === 0 ? `${prefix}${indent}${body}` : `${prefix}${indent}${\"#\".repeat(level)} ${body}`;\n if (next === line.text) return null;\n return rewriteLines(selection, [line], [next]);\n };\n}\n\nexport function adjustHeading(delta: number): Command {\n return (source, selection) => {\n const line = linesOf(source, selection)[0];\n const level = headingLevel(line.text);\n const next = Math.max(0, Math.min(6, level + delta));\n if (next === level) return null;\n return setHeading(next)(source, selection);\n };\n}\n\n/* --- Lists ---------------------------------------------------------------- */\n\nconst BULLET = /^(\\s*)([-*+])(\\s+)/;\nconst NUMBER = /^(\\s*)(\\d{1,9})([.)])(\\s+)/;\n\nfunction listMarkerOf(text: string): { indent: string; marker: string; body: string; ordered: boolean } | null {\n const bullet = BULLET.exec(text);\n if (bullet) return { indent: bullet[1], marker: bullet[2], body: text.slice(bullet[0].length), ordered: false };\n const number = NUMBER.exec(text);\n if (number) return { indent: number[1], marker: number[2] + number[3], body: text.slice(number[0].length), ordered: true };\n return null;\n}\n\n/**\n * Toggles a list over every line the selection touches.\n *\n * Removes only when EVERY line already has that kind of marker — the same\n * convention every editor uses, and the one that makes a mixed selection do\n * something predictable rather than alternating line by line.\n */\nexport function toggleList(asOrdered: boolean): Command {\n return (source, selection) => {\n const lines = linesOf(source, selection).filter((l) => l.text.trim().length > 0 || linesOf(source, selection).length === 1);\n if (!lines.length) return null;\n\n const all = lines.every((l) => {\n const marker = listMarkerOf(l.text);\n return marker && marker.ordered === asOrdered;\n });\n\n const next = lines.map((line, i) => {\n const marker = listMarkerOf(line.text);\n const indent = marker ? marker.indent : /^\\s*/.exec(line.text)![0];\n const body = marker ? marker.body : line.text.slice(indent.length);\n if (all) return `${indent}${body}`;\n return asOrdered ? `${indent}${i + 1}. ${body}` : `${indent}- ${body}`;\n });\n return rewriteLines(selection, lines, next);\n };\n}\n\n/** Two spaces per level, which is what the parser's own indent rules expect. */\nconst INDENT = \" \";\n\n/** The checkbox at the head of an item's body, if it has one. */\nconst TASK = /^\\[([ xX])\\]\\s?/;\n\n/**\n * Whether the item on `line` may be nested one level deeper.\n *\n * A LIST ITEM CANNOT BE INDENTED WITHOUT A PRECEDING SIBLING TO NEST UNDER, and\n * this is the rule most editors get wrong. ProseMirror's `sinkListItem` returns\n * false outright when `nodeBefore` is not another item, and CommonMark agrees\n * for a different reason that reaches the same place: indenting the FIRST item\n * of a list does not create a nested list, it makes the line a continuation of\n * whatever came before, so the marker stops being a marker. Allowing the key to\n * \"work\" there produces a document that renders as something the user did not\n * ask for, which is worse than the key doing nothing.\n *\n * The search walks back over anything nested DEEPER — those are descendants of\n * the sibling we are looking for — and stops at the first line that is neither.\n */\nfunction hasPrecedingSibling(source: string, line: { start: number }): boolean {\n const own = listMarkerOf(source.slice(line.start, lineAt(source, line.start).end));\n if (!own) return false;\n const depth = own.indent.length;\n\n let at = line.start;\n while (at > 0) {\n const previous = lineAt(source, at - 1);\n const text = source.slice(previous.start, previous.end);\n if (text.trim().length === 0) return false;\n const marker = listMarkerOf(text);\n if (!marker) return false;\n if (marker.indent.length === depth) return true;\n if (marker.indent.length < depth) return false;\n at = previous.start;\n }\n return false;\n}\n\nexport const indentLines: Command = (source, selection) => {\n const lines = linesOf(source, selection);\n /* Refused rather than clamped: see `hasPrecedingSibling`. A multi-line\n selection is judged on its FIRST line, because that is the one whose\n nesting decides whether the whole run has somewhere to go. */\n if (listMarkerOf(lines[0].text) && !hasPrecedingSibling(source, lines[0])) return null;\n return rewriteLines(selection, lines, lines.map((l) => INDENT + l.text));\n};\n\nexport const outdentLines: Command = (source, selection) => {\n const lines = linesOf(source, selection);\n if (!lines.some((l) => l.text.startsWith(\" \") || l.text.startsWith(\"\\t\"))) return null;\n return rewriteLines(\n selection,\n lines,\n lines.map((l) => (l.text.startsWith(INDENT) ? l.text.slice(INDENT.length) : l.text.replace(/^[ \\t]/, \"\"))),\n );\n};\n\n/** Toggles a task checkbox, adding one if the item has none. */\nexport const toggleTask: Command = (source, selection) => {\n const line = linesOf(source, selection)[0];\n const marker = listMarkerOf(line.text);\n if (!marker) return null;\n const prefix = line.text.slice(0, line.text.length - marker.body.length);\n const task = TASK.exec(marker.body);\n const next = task\n ? `${prefix}[${task[1] === \" \" ? \"x\" : \" \"}] ${marker.body.slice(task[0].length)}`\n : `${prefix}[ ] ${marker.body}`;\n return rewriteLines(selection, [line], [next]);\n};\n\n/* --- Blocks --------------------------------------------------------------- */\n\nconst QUOTE = /^(\\s*)>\\s?/;\n\nexport const toggleQuote: Command = (source, selection) => {\n const lines = linesOf(source, selection);\n const all = lines.every((l) => QUOTE.test(l.text));\n return rewriteLines(\n selection,\n lines,\n lines.map((l) => (all ? l.text.replace(QUOTE, \"$1\") : `> ${l.text}`)),\n );\n};\n\n/**\n * Wraps the selected lines in a fence, or unwraps the fence they are inside.\n *\n * The fence is built from the lines OUTSIDE the selection when unwrapping, so\n * putting the caret anywhere in a code block and pressing the key removes the\n * block — rather than requiring the user to select the fence lines they cannot\n * see.\n */\nexport function toggleCodeBlock(language = \"\"): Command {\n return (source, selection) => {\n const fence = fenceAround(source, ordered(selection).from);\n if (fence) {\n const body = source.slice(fence.bodyStart, fence.bodyEnd);\n return {\n splice: { start: fence.start, end: fence.end, text: body },\n select: caret(fence.start + Math.max(0, ordered(selection).from - fence.bodyStart)),\n };\n }\n const lines = linesOf(source, selection);\n const start = lines[0].start;\n const end = lines[lines.length - 1].end;\n const body = source.slice(start, end);\n const open = \"```\" + language;\n return {\n splice: { start, end, text: `${open}\\n${body}\\n\\`\\`\\`` },\n select: caret(start + open.length + 1 + (ordered(selection).from - start)),\n };\n };\n}\n\n/**\n * A line that opens or closes a fenced code block: CommonMark allows at most\n * three spaces before the fence, so a line indented four or more is code.\n */\nconst FENCE_LINE = /^ {0,3}(`{3,}|~{3,})/;\n\n/** The fenced block containing `offset`, if any. */\nexport function fenceAround(source: string, offset: number): { start: number; end: number; bodyStart: number; bodyEnd: number } | null {\n const lines: LineSpan[] = [];\n let at = 0;\n for (;;) {\n const line = lineAt(source, at);\n lines.push({ start: line.start, end: line.end, text: source.slice(line.start, line.end) });\n if (line.end >= source.length) break;\n at = line.end + 1;\n }\n\n let open: LineSpan | null = null;\n for (const line of lines) {\n if (!open) {\n if (FENCE_LINE.test(line.text)) open = line;\n continue;\n }\n if (!FENCE_LINE.test(line.text)) continue;\n if (offset >= open.start && offset <= line.end) {\n return { start: open.start, end: line.end, bodyStart: open.end + 1, bodyEnd: line.start > open.end + 1 ? line.start - 1 : open.end + 1 };\n }\n open = null;\n }\n /* An unclosed fence still counts — it is what a half-typed block looks like. */\n if (open && offset >= open.start) {\n return { start: open.start, end: source.length, bodyStart: open.end + 1, bodyEnd: source.length };\n }\n return null;\n}\n\nexport const insertRule: Command = (source, selection) => {\n const line = lineAt(source, ordered(selection).from);\n const blank = source.slice(line.start, line.end).trim().length === 0;\n const text = blank ? \"---\" : \"\\n\\n---\\n\";\n const start = blank ? line.start : line.end;\n return { splice: { start, end: blank ? line.end : line.end, text }, select: caret(start + text.length) };\n};\n\n/* --- Links ---------------------------------------------------------------- */\n\n/**\n * Wraps the selection as a link, leaving the caret in the destination.\n *\n * With no href the destination is empty and the caret sits inside the\n * parentheses, which is where a popover would put it too — the command is the\n * same whether a popover drove it or a hotkey did.\n */\nexport function insertLink(href = \"\", title?: string): Command {\n return (source, selection) => {\n const { from, to } = ordered(selection);\n const label = source.slice(from, to);\n const suffix = title ? ` \"${title}\"` : \"\";\n const text = `[${label}](${href}${suffix})`;\n return {\n splice: { start: from, end: to, text },\n select: href ? caret(from + text.length) : caret(from + label.length + 3),\n };\n };\n}\n\n/**\n * Inserts an image of `src`, using the selection as its alt text.\n *\n * ALT TEXT IS NOT OPTIONAL AND NOT AN AFTERTHOUGHT, which is why the selection\n * becomes it rather than the source: an image whose alt is the filename is\n * exactly as useless to a screen reader as one with none, and the person\n * inserting it is the only one who knows what it shows.\n *\n * `src` IS REQUIRED AND MAY NOT BE EMPTY (DX-3134). The old default of `\"\"`\n * inserted `![]()`: an image with nothing to show, which the surface drew as\n * nothing and the caret could not find — the toolbar's Image button appeared\n * to do nothing at all. Choosing a picture is the editor's job (its file\n * picker), so a command is only ever asked to write one that exists. The caret\n * lands after the image, where the next keystroke belongs.\n *\n * NEVER LANDS INSIDE CODE (DX-3140). This is public API (`src/index.ts`), a\n * separate path from `ImagePipeline.insert` that a consumer can call directly\n * against a selection with no idea what it currently contains — so it is\n * exactly as able to write a dead `![](…)` into a fence or a span as a paste\n * ever was. `enclosingCode` + `reshapeForCodeBoundary` (`images.ts`) are the\n * SAME functions the pipeline uses for the same reason there, redirecting\n * the insertion to land just past the code instead of inside it.\n */\nexport function insertImage(src: string, alt?: string): Command {\n if (!src.trim()) throw new Error(\"insertImage: src is required — an image with no source renders as a broken box\");\n return (source, selection) => {\n const { from, to } = ordered(selection);\n const text = referenceMarkdown(\"image\", src, alt ?? source.slice(from, to));\n const enclosing = enclosingCode(project(source), from);\n if (enclosing) {\n /* One offset, used for both the reshape decision and the splice\n itself — there is no caret map to snap through here (a `Command` has\n no DOM), so `enclosing.end` is simply the only candidate there is,\n which rules out the two-offsets-disagreeing class of bug by\n construction rather than by discipline. */\n const at = enclosing.end;\n const shaped = enclosing.block ? reshapeForCodeBoundary(source, at, text) : text;\n return { splice: { start: at, end: at, text: shaped }, select: caret(at + shaped.length) };\n }\n return { splice: { start: from, end: to, text }, select: caret(from + text.length) };\n };\n}\n\n/* --- Tables --------------------------------------------------------------- */\n\nexport interface TableSpan {\n start: number;\n end: number;\n /** Whole lines: header, delimiter, then body rows. */\n rows: LineSpan[];\n}\n\nconst DELIMITER_ROW = /^[ \\t]*\\|?[ \\t]*:?-+:?[ \\t]*(?:\\|[ \\t]*:?-+:?[ \\t]*)*\\|?[ \\t]*$/;\n\n/** The GFM table containing `offset`, if any. */\nexport function tableAround(source: string, offset: number): TableSpan | null {\n const at = lineAt(source, offset);\n const lineOf = (start: number): LineSpan => {\n const l = lineAt(source, start);\n return { start: l.start, end: l.end, text: source.slice(l.start, l.end) };\n };\n const isRow = (text: string) => text.includes(\"|\");\n\n if (!isRow(source.slice(at.start, at.end))) return null;\n\n const rows: LineSpan[] = [lineOf(at.start)];\n for (let start = at.start; start > 0; ) {\n const previous = lineOf(lineAt(source, start - 1).start);\n if (!isRow(previous.text)) break;\n rows.unshift(previous);\n start = previous.start;\n if (start === 0) break;\n }\n for (let end = at.end; end < source.length; ) {\n const next = lineOf(end + 1);\n if (!isRow(next.text)) break;\n rows.push(next);\n end = next.end;\n }\n\n /* A table is a header, a delimiter, and any body — a run of pipe-bearing\n lines with no delimiter row second is just prose containing pipes. */\n if (rows.length < 2 || !DELIMITER_ROW.test(rows[1].text)) return null;\n return { start: rows[0].start, end: rows[rows.length - 1].end, rows };\n}\n\n/** A row's cells, by their text, with the outer pipes removed. */\nexport function cellsOf(text: string): string[] {\n let inner = text.trim();\n if (inner.startsWith(\"|\")) inner = inner.slice(1);\n if (inner.endsWith(\"|\")) inner = inner.slice(0, -1);\n return inner.split(\"|\").map((cell) => cell.trim());\n}\n\nfunction rowText(cells: string[]): string {\n return `| ${cells.join(\" | \")} |`;\n}\n\n/** Which row and column an offset falls in, within a table. */\nexport function cellAt(source: string, table: TableSpan, offset: number): { row: number; column: number } | null {\n const row = table.rows.findIndex((r) => offset >= r.start && offset <= r.end);\n if (row < 0) return null;\n const line = table.rows[row];\n const before = source.slice(line.start, Math.max(line.start, offset));\n /* Column by counting pipes, which is exactly how the row was split. A leading\n pipe means the first cell starts after one pipe, so it does not count. */\n const pipes = (before.match(/\\|/g) ?? []).length;\n const leading = /^\\s*\\|/.test(line.text) ? 1 : 0;\n return { row, column: Math.max(0, pipes - leading) };\n}\n\n/** `columnHeader(n)` names the n-th (1-based) header cell; the editor passes its provider string. */\nexport function insertTable(columnHeader: (position: number) => string, columns = 3, bodyRows = 2): Command {\n return (source, selection) => {\n const line = lineAt(source, ordered(selection).from);\n const first = columnHeader(1);\n const header = rowText(Array.from({ length: columns }, (_, i) => columnHeader(i + 1)));\n const delimiter = rowText(Array.from({ length: columns }, () => \"---\"));\n const body = Array.from({ length: bodyRows }, () => rowText(Array.from({ length: columns }, () => \" \"))).join(\"\\n\");\n const table = `${header}\\n${delimiter}\\n${body}`;\n const blank = source.slice(line.start, line.end).trim().length === 0;\n const text = blank ? table : `\\n\\n${table}`;\n const start = blank ? line.start : line.end;\n return { splice: { start, end: blank ? line.end : line.end, text }, select: caret(start + text.indexOf(first) + first.length) };\n };\n}\n\nfunction tableCommand(fn: (table: TableSpan, here: { row: number; column: number }, source: string) => { rows: string[]; select?: number } | null): Command {\n return (source, selection) => {\n const offset = ordered(selection).from;\n const table = tableAround(source, offset);\n if (!table) return null;\n const here = cellAt(source, table, offset);\n if (!here) return null;\n const result = fn(table, here, source);\n if (!result) return null;\n return {\n splice: { start: table.start, end: table.end, text: result.rows.join(\"\\n\") },\n select: caret(result.select ?? Math.min(offset, table.start + result.rows.join(\"\\n\").length)),\n };\n };\n}\n\nexport function insertRow(below: boolean): Command {\n return tableCommand((table, here) => {\n const width = cellsOf(table.rows[0].text).length;\n const blank = rowText(Array.from({ length: width }, () => \" \"));\n const rows = table.rows.map((r) => r.text);\n /* Never above the header or the delimiter — a row there would break the\n table, and the user meant \"a new row where I am\". */\n const at = Math.max(2, below ? here.row + 1 : here.row);\n rows.splice(at, 0, blank);\n return { rows, select: table.start + rows.slice(0, at).join(\"\\n\").length + 3 };\n });\n}\n\n/** `header` is the new column's header cell text. */\nexport function insertColumn(after: boolean, header: string): Command {\n return tableCommand((table, here) => {\n const at = after ? here.column + 1 : here.column;\n const rows = table.rows.map((row, index) => {\n const cells = cellsOf(row.text);\n cells.splice(Math.min(at, cells.length), 0, index === 1 ? \"---\" : index === 0 ? header : \" \");\n return rowText(cells);\n });\n return { rows };\n });\n}\n\nexport const deleteRow: Command = tableCommand((table, here) => {\n /* The header and the delimiter are the table; deleting either deletes it. */\n if (here.row < 2) return null;\n const rows = table.rows.map((r) => r.text);\n rows.splice(here.row, 1);\n return { rows };\n});\n\nexport const deleteColumn: Command = tableCommand((table, here) => {\n if (cellsOf(table.rows[0].text).length <= 1) return null;\n return {\n rows: table.rows.map((row) => {\n const cells = cellsOf(row.text);\n cells.splice(here.column, 1);\n return rowText(cells);\n }),\n };\n});\n\nexport const deleteTable: Command = (source, selection) => {\n const table = tableAround(source, ordered(selection).from);\n if (!table) return null;\n return { splice: { start: table.start, end: table.end, text: \"\" }, select: caret(table.start) };\n};\n\nexport function alignColumn(align: \"left\" | \"center\" | \"right\"): Command {\n return tableCommand((table, here) => {\n const rows = table.rows.map((row, index) => {\n if (index !== 1) return row.text;\n const cells = cellsOf(row.text);\n const dashes = cells[here.column]?.replace(/:/g, \"\") || \"---\";\n cells[here.column] = align === \"left\" ? `:${dashes}` : align === \"right\" ? `${dashes}:` : `:${dashes}:`;\n return rowText(cells);\n });\n return { rows };\n });\n}\n\n/**\n * Moves the caret to the next or previous CELL of the table it is in.\n *\n * Tab between cells is the one table affordance people notice the absence of\n * immediately, because every spreadsheet and every other table editor has it.\n * It is a MOVEMENT, not an edit, so it returns a zero-width splice — the same\n * shape every other command uses, which keeps one code path in the caller.\n *\n * Wraps to the next ROW at the end of one, and stops at the table's ends rather\n * than escaping into the document: a Tab that leaves the table by surprise is\n * how a user loses their place in it.\n */\nexport function tableTab(forward: boolean): Command {\n return (source, selection) => {\n const offset = ordered(selection).from;\n const table = tableAround(source, offset);\n if (!table) return null;\n const here = cellAt(source, table, offset);\n if (!here) return null;\n\n /* Every cell in the table, in reading order, skipping the delimiter row —\n it holds no prose and landing in it would look like the caret vanished. */\n const stops: Array<{ start: number; end: number }> = [];\n for (let row = 0; row < table.rows.length; row++) {\n if (row === 1) continue;\n const line = table.rows[row];\n let at = line.start;\n for (const cell of cellsOf(line.text)) {\n const found = source.indexOf(cell, at);\n const start = cell.length ? (found < 0 || found > line.end ? at : found) : at;\n stops.push({ start, end: start + cell.length });\n at = start + cell.length + 1;\n }\n }\n\n const index = stops.findIndex((stop) => offset >= stop.start && offset <= stop.end);\n const next = index < 0 ? (forward ? 0 : stops.length - 1) : index + (forward ? 1 : -1);\n if (next < 0 || next >= stops.length) return null;\n const target = stops[next];\n return {\n splice: { start: offset, end: offset, text: \"\" },\n /* The whole cell, selected — which is what makes Tab-then-type replace a\n cell's contents, the behaviour every spreadsheet has trained for. */\n select: { anchor: target.start, head: target.end },\n };\n };\n}\n\n/* --- Smart keys ----------------------------------------------------------- */\n\n/**\n * Enter, with the block structure carried onto the next line.\n *\n * The one place a command looks at what the line IS rather than what the user\n * selected — because pressing Enter in a list and getting a bare line is the\n * single most-noticed omission in a markdown editor.\n *\n * An EMPTY list item exits the list instead of making another one, which is\n * what every editor does and what stops a stray marker being left behind.\n */\n/**\n * Backspace at the start of a block's own text, which removes that block's\n * markup instead of the character before it.\n *\n * THIS IS THE ONLY WAY TO REMOVE MARKUP YOU CANNOT SEE. Under the old contract\n * the marker was reachable text, so deleting a list item's dash was just\n * backspacing over a dash. Now the caret cannot enter a marker at all, and the\n * character before an item's first letter is the newline that ends the line\n * above — so a plain backspace would MERGE THE ITEM INTO THE PREVIOUS LINE and\n * leave `previous- item` behind, printing a marker as prose. Every rich editor\n * uses this rule for the same reason; here it is load-bearing rather than\n * conventional.\n *\n * It is a LADDER, one rung per press, so holding backspace unwinds a nested\n * item cleanly instead of jumping to plain text: checkbox, then one indent\n * level per press, then the marker itself.\n *\n * Returns null unless the caret is collapsed AT OR BEFORE the block's content\n * start — anywhere past it, backspace means what it always meant.\n *\n * AT OR BEFORE, not exactly at, because with the markup collapsed every offset\n * from the line's start to its content start is the SAME PLACE on screen, and\n * which of them the caret map picks depends on what else is on the line. An\n * empty task item holding a table turned out to put it at offset 0 rather than\n * at 6, and an exact test then declined — leaving a document that rendered as a\n * checkbox and an empty table with no key that could remove either.\n */\nexport const backspaceBlockPrefix: Command = (source, selection) => {\n const { from, to } = ordered(selection);\n if (from !== to) return null;\n const line = lineAt(source, from);\n const text = source.slice(line.start, line.end);\n const rewrite = (next: string, at: number): Edit => ({\n splice: { start: line.start, end: line.end, text: next },\n select: caret(at),\n });\n\n /* DX-5619: AN EMPTY CODE BLOCK GOES WHOLE. Its fence lines are markup the view\n collapses, so with no body there is no visible character for a plain\n backspace to delete and the block stayed forever (a draft kept its\n fence across reloads). Checked before the list/heading rungs because a\n body line that looks like `- x` is code, not a list item. The caret has to\n be past the opening fence line: on it, backspace keeps its ordinary meaning.\n Only a body with NO characters counts: blank lines or spaces are code the\n person typed, and backspace deletes one of them. */\n const fence = fenceAround(source, from);\n if (fence && from >= fence.bodyStart && fence.bodyStart >= fence.bodyEnd) {\n if (fence.start > 0) return { splice: { start: fence.start - 1, end: fence.end, text: \"\" }, select: caret(fence.start - 1) };\n const end = Math.min(source.length, fence.end + 1);\n return { splice: { start: 0, end, text: \"\" }, select: caret(0) };\n }\n\n const marker = listMarkerOf(text);\n if (marker) {\n const prefix = text.length - marker.body.length;\n const task = TASK.exec(marker.body);\n if (from > line.start + prefix + (task ? task[0].length : 0)) return null;\n\n if (task) return rewrite(text.slice(0, prefix) + marker.body.slice(task[0].length), line.start + prefix);\n if (marker.indent.length > 0) {\n const shorter = marker.indent.slice(0, Math.max(0, marker.indent.length - INDENT.length));\n return rewrite(shorter + text.slice(marker.indent.length), from - (marker.indent.length - shorter.length));\n }\n /* Top level: the item becomes an ordinary line, keeping its text. */\n return rewrite(marker.body, line.start);\n }\n\n const heading = /^(#{1,6})([ \\t]+)/.exec(text);\n if (heading) {\n if (from > line.start + heading[0].length) return null;\n return rewrite(text.slice(heading[0].length), line.start);\n }\n\n const quote = QUOTE.exec(text);\n if (quote) {\n if (from > line.start + quote[0].length) return null;\n return rewrite(quote[1] + text.slice(quote[0].length), line.start + quote[1].length);\n }\n\n /* A THEMATIC BREAK IS MARKUP ALL THE WAY THROUGH, so it has no content start\n to stand at and no visible character to delete — which made it the one\n construct that could be created and then never removed with the keyboard.\n Found by the browser probe, which pressed Backspace on one and watched\n nothing happen. The whole line goes, terminator included. */\n if (/^ {0,3}([-*_])(?:[ \\t]*\\1){2,}[ \\t]*$/.test(text)) {\n const end = Math.min(source.length, line.end + 1);\n return { splice: { start: line.start, end, text: \"\" }, select: caret(line.start) };\n }\n\n return null;\n};\n\nexport const smartEnter: Command = (source, selection) => {\n const { from, to } = ordered(selection);\n const line = lineAt(source, from);\n const text = source.slice(line.start, line.end);\n\n const marker = listMarkerOf(text);\n if (marker) {\n const task = TASK.exec(marker.body);\n const body = task ? marker.body.slice(task[0].length) : marker.body;\n if (body.trim().length === 0) {\n /* AN EMPTY ITEM OUTDENTS ONE LEVEL, and only LEAVES the list once it is\n already at the top. Clearing the line outright — the first version —\n drops a nested item straight out of a three-deep list, so the way to\n finish an inner list was to press Enter and then re-indent by hand.\n ProseMirror's `splitListItem` lifts by one for the same reason, and\n Gutenberg's \"press Enter twice to end a list\" is the top-level case of\n the same ladder. */\n if (marker.indent.length > 0) {\n const shorter = marker.indent.slice(0, Math.max(0, marker.indent.length - INDENT.length));\n const next = `${shorter}${marker.marker} ${task ? \"[ ] \" : \"\"}`;\n return {\n splice: { start: line.start, end: line.end, text: next },\n select: caret(line.start + next.length),\n };\n }\n return { splice: { start: line.start, end: to, text: \"\" }, select: caret(line.start) };\n }\n const next = marker.ordered\n ? `\\n${marker.indent}${Number(/\\d+/.exec(marker.marker)![0]) + 1}${marker.marker.slice(-1)} ${task ? \"[ ] \" : \"\"}`\n : `\\n${marker.indent}${marker.marker} ${task ? \"[ ] \" : \"\"}`;\n return { splice: { start: from, end: to, text: next }, select: caret(from + next.length) };\n }\n\n const quote = QUOTE.exec(text);\n if (quote) {\n if (text.slice(quote[0].length).trim().length === 0) {\n return { splice: { start: line.start, end: to, text: \"\" }, select: caret(line.start) };\n }\n const next = `\\n${quote[0]}`;\n return { splice: { start: from, end: to, text: next }, select: caret(from + next.length) };\n }\n\n return { splice: { start: from, end: to, text: \"\\n\" }, select: caret(from + 1) };\n};\n\n/**\n * DX-5604: Tab/Shift+Tab inside or across a fence. A fence line must never gain\n * or lose leading space (it stops being a fence and the block renders as plain\n * text), so any selection touching one declines; inside the block the body\n * lines indent literally, because a list-looking line in code has no siblings.\n * Three results: undefined = not in a fence (the caller goes on), null = decline\n * (focus moves on), an Edit = apply it.\n */\nfunction fenceTab(source: string, selection: SourceSelection, indent: boolean): Edit | null | undefined {\n const lines = linesOf(source, selection);\n const touchesFence = lines.some((l) => FENCE_LINE.test(l.text));\n const inFence = fenceAround(source, ordered(selection).from) !== null;\n if (!touchesFence && !inFence) return undefined;\n if (touchesFence) return null;\n if (indent) return rewriteLines(selection, lines, lines.map((l) => INDENT + l.text));\n return outdentLines(source, selection);\n}\n\n/**\n * Tab: indent inside a list, otherwise decline so focus can leave.\n *\n * WCAG 2.1.2 permits an editor to own Tab, but the advisement clause is\n * normative — an undocumented escape is a failure even when the escape exists.\n * Declining outside a list means Tab does the ordinary thing almost everywhere,\n * which is the cheapest possible way to satisfy it.\n */\nexport const smartTab: Command = (source, selection) => {\n /* A TABLE FIRST. Inside one, Tab means \"next cell\" — every spreadsheet and\n every other table editor has trained that, and indenting a table row is\n not a thing anyone wants. */\n const inTable = tableTab(true)(source, selection);\n if (inTable) return inTable;\n const fenceEdit = fenceTab(source, selection, true);\n if (fenceEdit !== undefined) return fenceEdit;\n const line = lineAt(source, ordered(selection).from);\n const text = source.slice(line.start, line.end);\n if (!listMarkerOf(text)) return null;\n return indentLines(source, selection);\n};\n\nexport const smartShiftTab: Command = (source, selection) => {\n const inTable = tableTab(false)(source, selection);\n if (inTable) return inTable;\n const fenceEdit = fenceTab(source, selection, false);\n if (fenceEdit !== undefined) return fenceEdit;\n const line = lineAt(source, ordered(selection).from);\n const text = source.slice(line.start, line.end);\n if (!listMarkerOf(text)) return null;\n return outdentLines(source, selection);\n};\n"],"names":["caret","at","ordered","selection","linesOf","source","from","to","first","lineAt","last","out","line","rewriteLines","lines","next","start","end","text","deltaBefore","deltaWithin","i","change","own","l","ownChange","toggleInline","marker","selectionIn","raw","trimFrom","trimTo","width","inner","toggleBold","toggleItalic","toggleCode","toggleStrike","HEADING","headingLevel","match","setHeading","level","item","listMarkerOf","prefix","rest","indent","body","adjustHeading","delta","BULLET","NUMBER","bullet","number","toggleList","asOrdered","all","INDENT","TASK","hasPrecedingSibling","depth","previous","indentLines","outdentLines","toggleTask","task","QUOTE","toggleQuote","toggleCodeBlock","language","fence","fenceAround","open","FENCE_LINE","offset","insertRule","blank","insertLink","href","title","label","suffix","insertImage","src","alt","referenceMarkdown","enclosing","enclosingCode","project","shaped","reshapeForCodeBoundary","DELIMITER_ROW","tableAround","lineOf","isRow","rows","cellsOf","cell","rowText","cells","cellAt","table","row","r","pipes","leading","insertTable","columnHeader","columns","bodyRows","header","_","delimiter","tableCommand","fn","here","result","insertRow","below","insertColumn","after","index","deleteRow","deleteColumn","deleteTable","alignColumn","align","dashes","tableTab","forward","stops","found","stop","target","backspaceBlockPrefix","rewrite","shorter","heading","quote","smartEnter","fenceTab","touchesFence","inFence","smartTab","inTable","fenceEdit","smartShiftTab"],"mappings":"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"}