@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,219 @@
1
+ import { jsxs as d, jsx as n } from "react/jsx-runtime";
2
+ import { useState as L, useMemo as u, useCallback as C } from "react";
3
+ import { cn as O } from "../../lib/cn.js";
4
+ import { useFillHeight as V } from "../../lib/use-fill-height.js";
5
+ import { numberFormat as b } from "../../lib/intl-cache.js";
6
+ import { Badge as W } from "../Badge.js";
7
+ import { Icon as G } from "../Icon.js";
8
+ import { Tooltip as J } from "../Popover.js";
9
+ import { DragDrop as P, DragDropContainer as Q, DragDropItem as X, DragDropSurface as Y } from "../DragDrop.js";
10
+ import { kanban as E } from "./recipe.js";
11
+ import { useUiStrings as Z, useUiLocale as _ } from "../../lib/i18n/provider.js";
12
+ import { useBoard as oo } from "../../lib/board/use-board.js";
13
+ import { describeMoveRejection as ro } from "../../lib/board/rejection.js";
14
+ function xo({
15
+ label: B,
16
+ lanes: i,
17
+ getItemId: e,
18
+ itemLabel: p,
19
+ renderItem: x,
20
+ renderDragging: R,
21
+ onMove: v,
22
+ onRefuse: j,
23
+ emptyLane: H,
24
+ fill: S = !0,
25
+ className: I,
26
+ ...K
27
+ }) {
28
+ const s = E({ fill: S }), h = Z(), g = h.kanban, w = h.board, m = _(), q = V(S), [z, N] = L(null), D = u(() => i.flatMap((o) => o.items), [i]), A = u(
29
+ () => i.map((o) => ({
30
+ id: o.id,
31
+ label: o.label,
32
+ /* `limit` and `wipLimit` are the same idea under two names, and both
33
+ are deliberately SOFT — exceeding one is a visual event, never a
34
+ blocked drop. A board that refuses the drop teaches people to work
35
+ around the board. */
36
+ wipLimit: o.limit
37
+ })),
38
+ [i]
39
+ ), y = u(() => {
40
+ const o = /* @__PURE__ */ new Map();
41
+ for (const r of i)
42
+ for (const c of r.items) o.set(String(e(c)), r.id);
43
+ return o;
44
+ }, [i, e]), F = u(
45
+ () => ({
46
+ getId: (o) => e(o),
47
+ /* An id with no lane cannot happen from `lanes` by construction. If it
48
+ ever does, returning the empty string lands the item in the model's
49
+ `unassigned` bucket, which warns once with the ids — louder than a
50
+ silent drop and quieter than a throw on every render. */
51
+ getColumnId: (o) => y.get(String(e(o))) ?? ""
52
+ }),
53
+ [e, y]
54
+ ), T = C(
55
+ (o) => {
56
+ for (const r of o.moves) {
57
+ if (r.to.columnId === r.from.columnId && !r.to.lane && r.to.index === r.from.index) continue;
58
+ const t = i.find((a) => a.id === r.to.columnId);
59
+ if (t?.refusal !== void 0)
60
+ return { ok: !1, reason: t.refusal };
61
+ }
62
+ return { ok: !0 };
63
+ },
64
+ [i]
65
+ ), U = C(
66
+ (o) => {
67
+ for (const r of o.moves) {
68
+ if (r.to.lane)
69
+ throw new Error(`KanbanBoard: got a lane move for "${String(r.itemId)}", which it never requests.`);
70
+ v({
71
+ id: String(r.itemId),
72
+ from: { lane: String(r.from.columnId), index: r.from.index },
73
+ to: { lane: String(r.to.columnId), index: r.to.index }
74
+ });
75
+ }
76
+ },
77
+ [v]
78
+ ), k = oo({
79
+ items: D,
80
+ columns: A,
81
+ accessors: F,
82
+ validateMove: T,
83
+ onMove: U
84
+ }), M = (o) => D.find((r) => String(e(r)) === o);
85
+ return (
86
+ /* THE HEIGHT CHAIN STARTS HERE, ONE ELEMENT ABOVE THE BOARD.
87
+
88
+ `DragDrop` renders a root of its own — it has to, because the live region
89
+ and the instructions need a home that cannot be forgotten — so the board
90
+ `div` below is a GRANDCHILD of whatever the consumer put this in. A
91
+ `flex-1` on the board alone would resolve against that intermediate root,
92
+ which has no height of its own, and the board would size to content
93
+ however bounded the parent was. So the root is made a flex column that
94
+ fills, and the board fills it in turn.
95
+
96
+ Inert outside a bounded flex parent, exactly like the rest of the chain:
97
+ `flex-1` on a child of a block container does nothing, and the root takes
98
+ the height of the board inside it.
99
+
100
+ WHICH IS NOW THE COMMON CASE, AND IT IS WHY THIS ROOT KEEPS ITS `flex-1`
101
+ WHILE THE BOARD BELOW GIVES ITS UP. Under `fill` the board carries a
102
+ measured inline height, so the root's own `flex-1` has nothing to
103
+ distribute in an unbounded tree and simply wraps it — while in a bounded
104
+ one it still fills, which is what lets the board's `max-h-full` resolve
105
+ against a definite parent height and clamp. The two elements share a top
106
+ edge, so which of them is measured does not change the number. */
107
+ /* @__PURE__ */ d(
108
+ P,
109
+ {
110
+ ...K,
111
+ onDragEnd: (o) => {
112
+ if (!i.find((t) => t.id === o.to.container))
113
+ throw new Error(
114
+ `KanbanBoard: a card was dropped in "${String(o.to.container)}", which is not one of its lanes.`
115
+ );
116
+ const c = k.requestMove({
117
+ moves: [
118
+ {
119
+ itemId: o.id,
120
+ from: { columnId: o.from.container, index: o.from.index },
121
+ to: { columnId: o.to.container, index: o.to.index }
122
+ }
123
+ ],
124
+ source: o.mode
125
+ });
126
+ if (c.ok)
127
+ N(null);
128
+ else {
129
+ const t = M(String(o.id)), a = t === void 0 ? String(o.id) : p(t), f = ro(h.moveRejected, m, c.reason);
130
+ N(g.notMoved(a, f)), j?.({
131
+ id: String(o.id),
132
+ lane: String(o.to.container),
133
+ reason: f
134
+ });
135
+ }
136
+ },
137
+ renderCarried: (o) => {
138
+ const r = M(String(o));
139
+ return r === void 0 ? null : (R ?? x)(r);
140
+ },
141
+ className: "flex min-h-0 min-w-0 flex-1 flex-col",
142
+ children: [
143
+ /* @__PURE__ */ n(
144
+ "div",
145
+ {
146
+ ref: q,
147
+ className: O(s.root(), I),
148
+ tabIndex: 0,
149
+ role: "group",
150
+ "aria-label": B,
151
+ children: i.map((o) => {
152
+ const r = o.refusal !== void 0, c = E({ refusing: r }), t = k.columns.find((l) => l.id === o.id), a = t?.count ?? 0, f = t?.overWip ?? !1;
153
+ return /* @__PURE__ */ d("section", { className: c.lane(), "aria-label": o.label, children: [
154
+ /* @__PURE__ */ d("div", { className: s.laneHeader(), children: [
155
+ /* @__PURE__ */ d("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
156
+ /* @__PURE__ */ n("span", { className: s.laneLabel(), children: o.label }),
157
+ o.hint && /* @__PURE__ */ n("span", { className: s.laneHint(), children: o.hint })
158
+ ] }),
159
+ o.refusal !== void 0 && /* @__PURE__ */ n(J, { content: o.refusal, children: /* @__PURE__ */ n(
160
+ "button",
161
+ {
162
+ type: "button",
163
+ "aria-label": g.whyRefused(o.label),
164
+ className: "dx-tap shrink-0 cursor-pointer rounded-full text-tertiary outline-none transition-colors duration-(--dur-fast) hover:text-secondary focus-visible:ring-2 focus-visible:ring-focus-ring",
165
+ children: /* @__PURE__ */ n(G, { name: "lock", size: "xs" })
166
+ }
167
+ ) }),
168
+ /* @__PURE__ */ n(
169
+ W,
170
+ {
171
+ size: "sm",
172
+ tone: f ? "danger" : a === 0 ? "neutral" : "accent",
173
+ children: o.limit === void 0 ? b(m, {}).format(a) : w.wipCount(b(m, {}).format(a), b(m, {}).format(o.limit))
174
+ }
175
+ )
176
+ ] }),
177
+ /* @__PURE__ */ d(
178
+ Q,
179
+ {
180
+ id: o.id,
181
+ label: o.label,
182
+ axis: "y",
183
+ className: s.laneItems(),
184
+ children: [
185
+ o.items.map((l, $) => /* @__PURE__ */ n(
186
+ X,
187
+ {
188
+ id: e(l),
189
+ index: $,
190
+ label: p(l),
191
+ children: /* @__PURE__ */ n(
192
+ Y,
193
+ {
194
+ label: w.moveCard(p(l)),
195
+ className: s.card(),
196
+ children: x(l)
197
+ }
198
+ )
199
+ },
200
+ e(l)
201
+ )),
202
+ a === 0 && /* @__PURE__ */ n("p", { className: s.laneEmpty(), children: o.empty ?? H ?? g.empty })
203
+ ]
204
+ }
205
+ )
206
+ ] }, o.id);
207
+ })
208
+ }
209
+ ),
210
+ /* @__PURE__ */ n("div", { role: "status", "aria-live": "polite", className: "sr-only", children: z })
211
+ ]
212
+ }
213
+ )
214
+ );
215
+ }
216
+ export {
217
+ xo as KanbanBoard
218
+ };
219
+ //# sourceMappingURL=KanbanBoard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanBoard.js","sources":["../../../src/components/kanban/KanbanBoard.tsx"],"sourcesContent":["import { useCallback, useMemo, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { useFillHeight } from \"../../lib/use-fill-height\";\nimport type { DragEndEvent, DragId, DragSessionCallbacks } from \"../../lib/dnd\";\nimport { describeMoveRejection, useBoard } from \"../../lib/board\";\nimport { useUiLocale, useUiStrings } from \"../../lib/i18n\";\nimport { numberFormat } from \"../../lib/intl-cache\";\nimport type {\n BoardAccessors,\n BoardColumnDef,\n BoardMoveRequest,\n BoardMoveVerdict,\n} from \"../../lib/board\";\nimport { Badge } from \"../Badge\";\nimport { Icon } from \"../Icon\";\nimport { Tooltip } from \"../Popover\";\nimport {\n DragDrop,\n DragDropContainer,\n DragDropItem,\n DragDropSurface,\n} from \"../DragDrop\";\nimport { kanban } from \"./recipe\";\nimport type { KanbanLane, KanbanMove, KanbanRefusal } from \"./types\";\n\nexport type { KanbanLane, KanbanMove, KanbanRefusal };\n\n/* ============================================================================\n KANBAN BOARD — records in lanes, with a ceiling and a refusal.\n\n WHAT THIS ADDS OVER `DragDrop`. The engine and its component layer already\n handle carrying a card, opening a gap, the keyboard, the announcements and\n the auto-scroll. What every board then rebuilds on top is the same four\n things: lanes with a heading, a count read against a work-in-progress\n ceiling, a message in an empty lane, and — the one that is always got wrong\n last — what happens when a card is dropped somewhere it is not allowed to go.\n\n ONE MODEL UNDERNEATH, AND THIS COMPONENT NO LONGER OWNS ONE. Grouping, move\n resolution, index bounds, the no-op filter and the veto all live in\n `lib/board` — the same core `Board` uses. This file is the OPINIONATED\n half: lanes with a heading, a ceiling read against a count, a refusal shown\n before anyone drags, an empty-lane message, and the whole card as the drag\n source. That split is the point. Two board engines in one library meant every\n drag, a11y or validation fix had to be made twice, and the second one is the\n one that gets forgotten.\n\n `lanes` STAYS THE API even though the core takes a flat list plus accessors.\n Pre-grouped lanes are the right shape for a kanban — the consumer already has\n them grouped, and asking them to flatten and then supply a `getColumnId` that\n re-derives the grouping they just destroyed is work for nobody's benefit. The\n conversion happens here, once, at the edge.\n\n THE REFUSAL IS THE REASON THIS EXISTS. `DragSessionCallbacks.onDragEnd`\n returns `void` and the session has already committed by the time it fires, so\n there is no veto in the engine and adding one there would mean an async gate\n inside a pointer event. The honest place for the decision is here, where the\n lanes are known: a lane that will not accept a drop says so BEFORE the drag,\n and a drop into it calls `onRefuse` instead of `onMove` — so the consumer,\n which has not moved anything, has nothing to undo.\n\n It is expressed as the core's own `validateMove`, not as a second mechanism\n beside it — so a lane's refusal and a consumer's per-item veto are the same\n decision arriving through the same funnel, and a consumer that outgrows\n `refusal` has somewhere to go rather than a wall.\n\n ORDER MATTERS HERE AND IT IS EASY TO GET BACKWARDS: the core runs\n `validateMove` BEFORE it filters no-ops. A card picked up in a refusing lane\n and put straight back has changed nothing, and reporting a refusal for it\n would announce a rule to somebody who did not break it — so the veto below\n ignores no-ops explicitly. Reordering WITHIN a refusing lane is still refused,\n because that lane refused to be written to at all.\n\n That shape is what keeps a permission-gated board from lying. The pattern it\n replaces is optimistic-move-then-revert, where the card visibly lands, the\n server refuses, and the card jumps back — which is indistinguishable from a\n bug, and which quietly asserts for a moment that the move happened.\n\n `onRefuse` IS NOT ENFORCEMENT. It is the first of two gates and the weaker\n one: it decides what this surface offers. Whatever `onMove` writes to must\n check the same rule again, because a lane's `refusal` is a prop and a prop is\n a suggestion. A board is not an access-control model.\n\n THE ITEMS ARE ALREADY GROUPED AND ALREADY ORDERED. This component does no\n filtering and no sorting — `lane.items` is rendered in the order given, and\n its index IS the index reported back on a move. Handing it a filtered list\n and expecting the indices to mean something about the unfiltered one is the\n way this goes wrong; the engine's own note on `DragDropItem.index` says the\n same thing for the same reason.\n ========================================================================= */\n\nexport interface KanbanBoardProps<T> extends Omit<\n DragSessionCallbacks,\n \"onDragEnd\"\n> {\n /**\n * What this board is a board OF — \"Case pipeline\", \"Release queue\".\n *\n * It names the horizontal scroller, which is a tab stop because a board wider\n * than the screen is otherwise unreachable by keyboard. An unlabelled stop\n * announces as \"group\" and gives nobody a reason to be there, which is why\n * this is required rather than optional.\n */\n label: string;\n lanes: readonly KanbanLane<T>[];\n getItemId: (item: T) => string;\n /**\n * A speakable name for one record — \"SS-2026-0412, M.R.\".\n *\n * Required rather than optional. It is what every announcement says, and the\n * fallback for a missing one is the id, which is speakable and never right.\n */\n itemLabel: (item: T) => string;\n renderItem: (item: T) => ReactNode;\n /**\n * The card while it is being carried. Defaults to `renderItem`.\n *\n * Worth overriding when the resting card is dense: the clone is moving, often\n * under a cursor, and the two or three fields that identify the record are\n * the only ones anybody reads off it.\n *\n * It changes what the carried card SHOWS and nothing else. Whether a card is\n * carried, and how, is not a board's decision — `DragDrop` lifts every card\n * into a portalled clone, and a board that omitted the piece that did the\n * carrying used to get cards that could not leave their own lane.\n */\n renderDragging?: (item: T) => ReactNode;\n onMove: (move: KanbanMove) => void;\n /** Called INSTEAD of `onMove` when the destination lane carries a `refusal`. */\n onRefuse?: (refusal: KanbanRefusal) => void;\n /** Shown in a lane with no cards. Omitted, the provider's `kanban.empty`. */\n emptyLane?: ReactNode;\n /**\n * Fill the space between the board's own top and the bottom of whatever\n * scrolls it, so the lanes are the only thing that scrolls down.\n *\n * `true` — the default, and what a board IS. It was not the default until\n * 3.7.0, and the reason is worth keeping: the height was expressed purely as\n * a `flex-1 min-h-0` chain, which is correct and is correct only while every\n * ancestor cooperates. One ordinary page wrapper above the board — a bare\n * `<div className=\"flex flex-col gap-10\">`, which is this package's own demo\n * layout — makes `flex-1` inert, the board sizes to its tallest lane, and the\n * PAGE takes the scrollbar that was supposed to belong to a column. Reported\n * from a running board: \"the columns should fill to the full remaining height\n * of the page. No scroll bar vertically. Only scroll vertically per column.\"\n *\n * The height is MEASURED (`lib/use-fill-height`), not computed from a token,\n * and re-measured whenever anything above the board changes size. It is\n * paired with `max-h-full`, so an ancestor that genuinely does bound the board\n * still wins and a board in a short box does not overflow it.\n *\n * `false` — the board is as tall as the box it is given, or as its tallest\n * lane if nothing gives it one. For a board deliberately sized by its\n * container (`h-[60dvh]`, a fixed-height card) or embedded in a page that is\n * meant to scroll as a document.\n *\n * @default true\n */\n fill?: boolean;\n className?: string;\n}\n\nexport function KanbanBoard<T>({\n label,\n lanes,\n getItemId,\n itemLabel,\n renderItem,\n renderDragging,\n onMove,\n onRefuse,\n emptyLane,\n fill = true,\n className,\n ...callbacks\n}: KanbanBoardProps<T>) {\n const s = kanban({ fill });\n const uiStrings = useUiStrings();\n const strings = uiStrings.kanban;\n const boardStrings = uiStrings.board;\n const locale = useUiLocale();\n const fillRef = useFillHeight(fill);\n const [refusalAnnouncement, setRefusalAnnouncement] = useState<string | null>(null);\n\n /* THE EDGE CONVERSION, and all of it is here so nothing downstream has to\n know `lanes` was ever a different shape from the core's flat list. */\n const items = useMemo(() => lanes.flatMap((lane) => lane.items), [lanes]);\n\n const columns = useMemo<BoardColumnDef[]>(\n () =>\n lanes.map((lane) => ({\n id: lane.id,\n label: lane.label,\n /* `limit` and `wipLimit` are the same idea under two names, and both\n are deliberately SOFT — exceeding one is a visual event, never a\n blocked drop. A board that refuses the drop teaches people to work\n around the board. */\n wipLimit: lane.limit,\n })),\n [lanes],\n );\n\n /* An item's lane is a fact about where the consumer put it, not a field on\n the item — `lanes` IS the grouping. So the accessor reads a map built from\n the same array, rather than demanding the consumer add a lane id to their\n own objects to satisfy a shape they never chose. */\n const laneOfItem = useMemo(() => {\n const map = new Map<string, string>();\n for (const lane of lanes) {\n for (const item of lane.items) map.set(String(getItemId(item)), lane.id);\n }\n return map;\n }, [lanes, getItemId]);\n\n const accessors = useMemo<BoardAccessors<T>>(\n () => ({\n getId: (item) => getItemId(item),\n /* An id with no lane cannot happen from `lanes` by construction. If it\n ever does, returning the empty string lands the item in the model's\n `unassigned` bucket, which warns once with the ids — louder than a\n silent drop and quieter than a throw on every render. */\n getColumnId: (item) => laneOfItem.get(String(getItemId(item))) ?? \"\",\n }),\n [getItemId, laneOfItem],\n );\n\n const validateMove = useCallback(\n (request: BoardMoveRequest): BoardMoveVerdict => {\n for (const move of request.moves) {\n const sameSlot =\n move.to.columnId === move.from.columnId && !move.to.lane && move.to.index === move.from.index;\n if (sameSlot) continue;\n const destination = lanes.find((lane) => lane.id === move.to.columnId);\n if (destination?.refusal !== undefined) {\n return { ok: false, reason: destination.refusal };\n }\n }\n return { ok: true };\n },\n [lanes],\n );\n\n /* THE CONSUMER'S `onMove` TAKES ONE MOVE, and that is honest rather than a\n narrowing: this component renders no selection, so nothing can produce a\n multi-move request through it. The core supports bulk and will hand it over\n the day a lane grows checkboxes — until then, mapping over `moves` here\n would be code no input can reach, written to look complete. */\n const handleValidatedMove = useCallback(\n (request: BoardMoveRequest) => {\n for (const move of request.moves) {\n /* DX-4583: this board never turns on `crossLaneDrop`, so a lane move here\n means the board and its core disagree — ours to fix, not to guess at. */\n if (move.to.lane) {\n throw new Error(`KanbanBoard: got a lane move for \"${String(move.itemId)}\", which it never requests.`);\n }\n onMove({\n id: String(move.itemId),\n from: { lane: String(move.from.columnId), index: move.from.index },\n to: { lane: String(move.to.columnId), index: move.to.index },\n });\n }\n },\n [onMove],\n );\n\n const board = useBoard({\n items,\n columns,\n accessors,\n validateMove,\n onMove: handleValidatedMove,\n });\n\n const findItem = (id: string): T | undefined =>\n items.find((item) => String(getItemId(item)) === id);\n\n /* EXACTLY ONE OF THE TWO CALLBACKS FIRES, OR NEITHER — never both. That was\n the load-bearing claim of the resolver this replaces, and it is now\n structural rather than something this file has to remember: the core calls\n `onMove` itself, and only for a request that both passed `validateMove`\n and had something real left after the no-op filter. The refusal below can\n only run on the branch where it did not.\n\n A verdict carries a reason and not a lane, because the core has no idea a\n lane is a thing. The lane and the card are recovered from the event, which\n is where they came from — reconstructing them from the reason string would\n be parsing our own prose. */\n const handleDragEnd = (event: DragEndEvent) => {\n /* LOUD, AND DELIBERATELY NOT LEFT TO THE CORE. The core would refuse this\n too — it bounds-checks against its declared columns — but it would refuse\n it the way it refuses anything, with a reason meant for a person, and\n that reason would be handed to `onRefuse` and shown to somebody who did\n nothing wrong. A container the board never rendered means the board and\n the engine disagree about what exists, which is ours to fix and nobody\n else's to read about. */\n const destination = lanes.find((lane) => lane.id === event.to.container);\n if (!destination) {\n throw new Error(\n `KanbanBoard: a card was dropped in \"${String(event.to.container)}\", which is not one of its lanes.`,\n );\n }\n\n const verdict = board.requestMove({\n moves: [\n {\n itemId: event.id,\n from: { columnId: event.from.container, index: event.from.index },\n to: { columnId: event.to.container, index: event.to.index },\n },\n ],\n source: event.mode,\n });\n if (!verdict.ok) {\n /* THE ENGINE HAS ALREADY SAID THE CARD LANDED, AND IT IS WRONG. Its live\n region is `aria-live=\"assertive\"` and fires on commit — \"Dropped X.\n Position 1 of 3 in Released\" — which happens BEFORE the board gets to\n refuse the write. So a screen-reader user is told the move happened\n when nothing moved, and nothing else on the page contradicts it: a\n consumer's `onRefuse` banner is ordinary markup and announces nothing.\n This corrects the record. */\n /* The id is the fallback name, not a cast. `findItem` genuinely can\n return undefined — an id the engine still holds for a card the\n consumer removed mid-gesture — and casting that away would turn a\n missing card into a crash inside an announcement nobody can see. An id\n is a poor thing to hear and a better one than nothing. */\n const moved = findItem(String(event.id));\n const name = moved === undefined ? String(event.id) : itemLabel(moved);\n const reasonText = describeMoveRejection(uiStrings.moveRejected, locale, verdict.reason);\n setRefusalAnnouncement(strings.notMoved(name, reasonText));\n onRefuse?.({\n id: String(event.id),\n lane: String(event.to.container),\n reason: reasonText,\n });\n } else {\n /* Cleared on the next successful move so a stale refusal cannot be\n re-read out of the live region by a screen reader reviewing the page. */\n setRefusalAnnouncement(null);\n }\n };\n\n /* The carried card is a RECORD, looked up by id, which is why this is stated\n here rather than left to the default. `DragDrop`'s default clone is the\n row's own children, which is the version that cannot drift from the row it\n stands for — but a card in the air is being read at a glance while it\n moves, and `renderDragging` is the board's own affordance for showing less\n of it than the resting card does. */\n const carried = (id: DragId) => {\n const item = findItem(String(id));\n if (item === undefined) return null;\n return (renderDragging ?? renderItem)(item);\n };\n\n return (\n /* THE HEIGHT CHAIN STARTS HERE, ONE ELEMENT ABOVE THE BOARD.\n\n `DragDrop` renders a root of its own — it has to, because the live region\n and the instructions need a home that cannot be forgotten — so the board\n `div` below is a GRANDCHILD of whatever the consumer put this in. A\n `flex-1` on the board alone would resolve against that intermediate root,\n which has no height of its own, and the board would size to content\n however bounded the parent was. So the root is made a flex column that\n fills, and the board fills it in turn.\n\n Inert outside a bounded flex parent, exactly like the rest of the chain:\n `flex-1` on a child of a block container does nothing, and the root takes\n the height of the board inside it.\n\n WHICH IS NOW THE COMMON CASE, AND IT IS WHY THIS ROOT KEEPS ITS `flex-1`\n WHILE THE BOARD BELOW GIVES ITS UP. Under `fill` the board carries a\n measured inline height, so the root's own `flex-1` has nothing to\n distribute in an unbounded tree and simply wraps it — while in a bounded\n one it still fills, which is what lets the board's `max-h-full` resolve\n against a definite parent height and clamp. The two elements share a top\n edge, so which of them is measured does not change the number. */\n <DragDrop\n {...callbacks}\n onDragEnd={handleDragEnd}\n renderCarried={carried}\n className=\"flex min-h-0 min-w-0 flex-1 flex-col\"\n >\n {/* THE BOARD SCROLLS SIDEWAYS, SO IT HAS TO BE REACHABLE BY KEYBOARD.\n Six lanes do not fit a laptop, and without a tab stop on the scroller\n itself there is no key that moves it — a keyboard user simply cannot\n see the last lane. The cards inside are focusable, but focusing one\n only scrolls far enough to reveal that card, which is not the same as\n being able to look at the board.\n\n It needs a name to go with the tab stop: an unlabelled stop announces\n as \"group\" and gives no reason to be there. Caught by `a11y-scan`\n (`scrollable-region-focusable`) — the class of defect with no symptom\n at all for anyone using a mouse.\n\n It is a child of `DragDrop` rather than its root because `DragDrop`\n spreads everything it does not recognise into the drag session: an\n attribute passed there would be read as a callback and never reach the\n DOM. */}\n <div\n /* THE MEASURED ELEMENT IS THIS ONE, not `DragDrop`'s root above it, and\n the reason is the flex algorithm rather than convenience. An item with\n `flex: 1 1 0%` takes its main size from `flex-basis`, so an inline\n `height` on it is simply ignored — the fill variant drops `flex-1`\n from this element for exactly that reason, and the root above keeps\n its own `flex-1` so a bounded consumer still bounds the pair. The two\n elements share a top edge either way, so measuring from here measures\n the same distance. */\n ref={fillRef}\n className={cn(s.root(), className)}\n tabIndex={0}\n role=\"group\"\n aria-label={label}\n >\n {lanes.map((lane) => {\n const refusing = lane.refusal !== undefined;\n const l = kanban({ refusing });\n /* COUNT AND CEILING COME FROM THE MODEL, not from `lane.items.length`\n recomputed here. They are the same number today and the point is\n that they cannot stop being: the badge, the announcements and any\n future veto that reads a count all read one derivation. */\n const column = board.columns.find((candidate) => candidate.id === lane.id);\n const count = column?.count ?? 0;\n const over = column?.overWip ?? false;\n\n return (\n <section key={lane.id} className={l.lane()} aria-label={lane.label}>\n <div className={s.laneHeader()}>\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <span className={s.laneLabel()}>{lane.label}</span>\n {lane.hint && (\n <span className={s.laneHint()}>{lane.hint}</span>\n )}\n </div>\n {lane.refusal !== undefined && (\n <Tooltip content={lane.refusal}>\n <button\n type=\"button\"\n aria-label={strings.whyRefused(lane.label)}\n className=\"dx-tap shrink-0 cursor-pointer rounded-full text-tertiary outline-none transition-colors duration-(--dur-fast) hover:text-secondary focus-visible:ring-2 focus-visible:ring-focus-ring\"\n >\n <Icon name=\"lock\" size=\"xs\" />\n </button>\n </Tooltip>\n )}\n <Badge\n size=\"sm\"\n tone={over ? \"danger\" : count === 0 ? \"neutral\" : \"accent\"}\n >\n {lane.limit === undefined ? numberFormat(locale, {}).format(count) : boardStrings.wipCount(numberFormat(locale, {}).format(count), numberFormat(locale, {}).format(lane.limit))}\n </Badge>\n </div>\n\n <DragDropContainer\n id={lane.id}\n label={lane.label}\n axis=\"y\"\n className={s.laneItems()}\n >\n {lane.items.map((item, index) => (\n <DragDropItem\n key={getItemId(item)}\n id={getItemId(item)}\n index={index}\n label={itemLabel(item)}\n >\n {/* THE WHOLE CARD IS THE DRAG SOURCE, AND THE BOARD SAYS SO\n — the consumer does not.\n\n `DragDrop`'s rule is that rendering a drag source is what\n makes a row draggable — the configuration is the switch.\n That is right for a generic list, where some rows are\n meant to be fixed. It is wrong here: a card on a kanban\n board is draggable by definition, so leaving it to the\n consumer means the one who forgets gets a board that\n renders perfectly, announces itself correctly, passes\n every test — and cannot be dragged at all. No error,\n nothing to see. Not hypothetical: that is exactly what\n the first consumer of this component shipped, and it was\n caught by opening the page.\n\n A `DragDropSurface` RATHER THAN A GRIP, and this\n reverses what stood here. The grip was chosen because \"a\n record card usually opens something when it is clicked\n and a card that is entirely a drag handle swallows that\n click\" — true of a drag source that starts on\n `pointerdown`, and false of this one. The engine holds a\n press in `pending` until it passes an activation\n constraint (5px of travel for a mouse, a 250ms dwell for\n a finger), so a press that does not move IS still a\n click, and one that does becomes a drag with its\n trailing click swallowed. The card can be both.\n\n Reported, and the reason the grip is gone rather than\n merely optional: \"I should be able to drag anywhere on\n the card and it should drag the card. Get rid of the drag\n handle entirely. Cards are just draggable. Click opens\n them, drag drags them.\"\n\n THE CARD'S OWN CORNER IS ITS OWN AGAIN. The grip was\n absolutely positioned over the top-left and the wrapper\n reserved that corner with a left inset on whatever\n `renderItem` returned — which existed only so the grip\n would not sit on the identifier. Both are gone with it;\n what stays is the `w-full` assertion, which was never\n about the grip (see `recipe.ts`). */}\n <DragDropSurface\n label={boardStrings.moveCard(itemLabel(item))}\n className={s.card()}\n >\n {renderItem(item)}\n </DragDropSurface>\n </DragDropItem>\n ))}\n\n {/* INSIDE THE SCROLLER, not below it — see `recipe.ts`. It is\n an ordinary child of the drop container and carries no\n `data-dnd-item`, so the engine's snapshot does not see it\n and no insertion index counts it. */}\n {count === 0 && (\n <p className={s.laneEmpty()}>{lane.empty ?? emptyLane ?? strings.empty}</p>\n )}\n </DragDropContainer>\n </section>\n );\n })}\n </div>\n\n {/* SR-ONLY, and that is the difference from `Board`'s own rejection line.\n `Board` renders its refusal visibly, because `validateMove` is opaque\n to the consumer's UI and nothing else would ever show the reason. Here\n the reason is already on the page twice over — the lane states it\n before anyone drags, and `onRefuse` hands it to the consumer to\n present however they choose. A second visible copy would compete with\n the consumer's own. What is missing is only the ANNOUNCEMENT, so that\n is all this adds. */}\n <div role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n {refusalAnnouncement}\n </div>\n </DragDrop>\n );\n}\n"],"names":["KanbanBoard","label","lanes","getItemId","itemLabel","renderItem","renderDragging","onMove","onRefuse","emptyLane","fill","className","callbacks","kanban","uiStrings","useUiStrings","strings","boardStrings","locale","useUiLocale","fillRef","useFillHeight","refusalAnnouncement","setRefusalAnnouncement","useState","items","useMemo","lane","columns","laneOfItem","map","item","accessors","validateMove","useCallback","request","move","destination","handleValidatedMove","board","useBoard","findItem","id","jsxs","DragDrop","event","verdict","moved","name","reasonText","describeMoveRejection","jsx","cn","refusing","l","column","candidate","count","over","Tooltip","Icon","Badge","numberFormat","DragDropContainer","index","DragDropItem","DragDropSurface"],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ const r = e({
3
+ slots: {
4
+ /* `min-h-0`: be allowed to be SHORTER than the lanes inside, so the
5
+ overflow has somewhere to go. Whether this box also GROWS is the `fill`
6
+ variant's job — the two ways it can be given a height are mutually
7
+ exclusive, and stating both here is what made the wrong one silently
8
+ win. */
9
+ root: "flex min-h-0 min-w-0 gap-3 overflow-x-auto pb-2",
10
+ /* NO `h-full`, AND IT USED TO BE HERE ON A REASON THAT WAS BACKWARDS.
11
+
12
+ The note it replaces said `h-full` "states what stretch already implies,
13
+ and it is not redundant: stretch is defeated by anything that gives the
14
+ lane a definite cross size, and a consumer's `className` reaches this
15
+ element". Both halves are wrong. `className` reaches the board ROOT
16
+ (`cn(s.root(), className)`) — there is no prop that reaches a lane. And
17
+ the rule it invokes runs the other way: `align-self: stretch` applies
18
+ only while the cross-size property is `auto`, so writing `height: 100%`
19
+ is not a restatement of stretch, it is what DEFEATS it.
20
+
21
+ Measured in Chromium, two flex rows with identical content, differing
22
+ only in this declaration: against an INDEFINITE container, `auto` lanes
23
+ came out 242 / 242 and `height: 100%` lanes came out 242 / 2 — the empty
24
+ lane collapsed to its own borders, and the row's remaining space belonged
25
+ to no lane at all. Against a bounded container both came out 398 / 398,
26
+ which is why this survived so long: it is invisible in exactly the
27
+ arrangement the demo shipped.
28
+
29
+ That collapse is not only a layout blemish. The lane the person sees is
30
+ what they aim at, and a lane that stops short of the board leaves a band
31
+ of the board belonging to nothing — reported from a real board as lane
32
+ sections of 173.55px beside 1071.59px, with the space between them
33
+ swallowing drops. `resolveTarget` no longer resolves such a point to the
34
+ last lane crossed (see `lib/dnd/geometry.ts`), and the region should not
35
+ be there in the first place.
36
+
37
+ `min-h-0` is the half that always did the work — without it a flex item's
38
+ automatic minimum is its content, so a lane full of cards refuses to be
39
+ shorter than the cards and pushes the board taller instead of
40
+ scrolling. */
41
+ lane: "flex min-h-0 w-72 shrink-0 flex-col rounded-xl border border-border-subtle bg-surface-sunken",
42
+ laneHeader: "flex shrink-0 items-start gap-2 border-b border-border-subtle px-3 py-2.5",
43
+ laneLabel: "text-2xs font-semibold uppercase tracking-widest text-tertiary",
44
+ laneHint: "truncate text-2xs text-secondary",
45
+ /* The scroller AND the drop container: one element, per the banner. It is
46
+ also the ONLY element in the board that scrolls vertically.
47
+
48
+ THE FLOOR IS 6rem AND IT USED TO BE 10rem. A minimum height is a refusal
49
+ to shrink, so on a short viewport a 10rem floor was enough to push a lane
50
+ past a bounded board and hand the board back the vertical scrollbar this
51
+ change exists to remove. 6rem still leaves an empty lane an obvious
52
+ target in an unbounded board, which is the only case the floor is for. */
53
+ laneItems: "min-h-24 min-w-0 flex-1 flex-col gap-2 overflow-y-auto p-2",
54
+ /* THE CARD IS THE FULL WIDTH OF ITS LANE.
55
+
56
+ THE ELEMENT IS NOW A `DragDropSurface` — the whole card is the drag
57
+ source, so this class list is applied to it rather than to a wrapper that
58
+ holds a grip beside it. What that removed and what it did NOT remove are
59
+ worth stating separately, because the two were tangled here for a while.
60
+
61
+ REMOVED WITH THE GRIP: `relative`, which existed so the absolutely
62
+ positioned grip resolved against the card rather than against whatever
63
+ ancestor up the consumer's tree happened to be positioned; and the left
64
+ inset (`pl-8`, and `pl-(--tap-target)` under a coarse pointer) that
65
+ reserved the top-left corner so the grip did not land on the identifier
66
+ every `RecordCard` puts there. Neither has anything left to do, and the
67
+ corner is the card's own again.
68
+
69
+ KEPT, AND IT WAS NEVER ABOUT THE GRIP: `w-full` on the card. A `<button>`
70
+ in a block container is sized SHRINK-TO-FIT, and `display: flex` does not
71
+ change that — so an `interactive` `RecordCard`, which renders a real
72
+ `<button>` precisely so Enter and Space work, sizes itself from its own
73
+ content. Measured in a lane: a button card carrying two words was 61.73px
74
+ next to a 270px div card in the same column, and one carrying a long
75
+ title was 270px. Every card a different width, from nothing but how much
76
+ text it holds, on a board where a card being interactive is the normal
77
+ case.
78
+
79
+ So the board asserts the geometry it owns. Not on `RecordCard`, which is
80
+ also used in flex rows and pickers where filling the container is not the
81
+ right default — the column is this component's to guarantee, so it
82
+ guarantees it here rather than depending on what `renderItem` returned.
83
+
84
+ The selector no longer has to exclude the grip, because there is no grip
85
+ left to exclude: the surface has exactly one child, and it is the card.
86
+ `probe-kanban.mjs` measures the result in a browser, because
87
+ `getBoundingClientRect` is zero in happy-dom and a suite with no layout
88
+ engine cannot tell equal widths from no widths at all. */
89
+ card: "min-w-0 [&>*]:w-full",
90
+ /* Not `hidden` when a lane fills up — an empty lane still has to be a
91
+ visible target, and a message is what tells somebody the lane is empty
92
+ rather than still loading.
93
+
94
+ IT IS RENDERED INSIDE THE LANE BODY, not under it. It used to be a
95
+ sibling below the scroller, which was invisible while the scroller was
96
+ sized by its own content and became absurd the moment the body started
97
+ filling the lane: the message ended up pinned to the bottom of a
98
+ full-height column with the empty drop area above it. Inside the
99
+ scroller it sits where the first card would be, which is where a reader
100
+ looking for cards is already looking. It is not a `[data-dnd-item]`, so
101
+ the engine does not see it and no index counts it. */
102
+ laneEmpty: "shrink-0 px-3 py-8 text-center text-2xs text-tertiary"
103
+ },
104
+ variants: {
105
+ /* Whether this lane will accept a drop. The whole lane dims rather than
106
+ just the note: the cards inside are still draggable OUT, and the surface
107
+ has to read as "nothing lands here" without reading as "nothing here
108
+ works". */
109
+ refusing: {
110
+ true: { lane: "border-dashed bg-transparent" },
111
+ false: {}
112
+ },
113
+ /* WHERE THE HEIGHT COMES FROM, and there are exactly two answers.
114
+
115
+ `true` — MEASURED. `KanbanBoard` writes an inline `height` from
116
+ `useFillHeight`: the distance from this element's top to the bottom of
117
+ whatever scrolls it. No `flex-1` here, deliberately — an item with
118
+ `flex: 1 1 0%` takes its main size from `flex-basis`, so the inline height
119
+ would be ignored and the board would go back to sizing from its content
120
+ while carrying a height that reads as intent and does nothing.
121
+
122
+ `max-h-full` IS THE HALF THAT KEEPS THE MEASUREMENT HONEST. The measured
123
+ distance answers "how far to the bottom of the screen", which is the wrong
124
+ number for a board inside a box shorter than that — a 200px card, a
125
+ dialog. A percentage max-height resolves against a parent with a definite
126
+ height and computes to `none` against one without, so the bounded case
127
+ clamps and the unbounded case is untouched, with nothing to detect and no
128
+ second mode.
129
+
130
+ `false` — INHERITED, which is what the whole slot used to be: `flex-1`
131
+ against a bounded flex parent, and content sizing when there is not one.
132
+ Correct while every ancestor cooperates, which is why it is no longer the
133
+ default — see `KanbanBoardProps.fill`. */
134
+ fill: {
135
+ true: { root: "max-h-full" },
136
+ false: { root: "flex-1" }
137
+ }
138
+ },
139
+ defaultVariants: { refusing: !1, fill: !0 }
140
+ });
141
+ export {
142
+ r as kanban
143
+ };
144
+ //# sourceMappingURL=recipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipe.js","sources":["../../../src/components/kanban/recipe.ts"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\n/* ----------------------------------------------------------------------------\n The slots for `KanbanBoard`.\n\n THE BOARD SCROLLS SIDEWAYS, THE LANE SCROLLS DOWN, AND THEY ARE DIFFERENT\n ELEMENTS. Six lanes do not fit a laptop, and a lane of forty cards does not\n fit a screen — but the drop container has to BE the scroller for auto-scroll\n to find its edges (see `drag-drop/recipe.ts`), so the vertical scroller is\n the container the engine registers and the horizontal one is the board around\n it. Putting both on one element gives auto-scroll two axes to fight over on\n the same box, and the lane drifts sideways while you are carrying a card down\n it.\n\n THE LANE HEADER DOES NOT SCROLL WITH THE CARDS. It carries the count against\n the ceiling, which is the one thing a person is checking while they drag —\n so it sits outside the scroller rather than at the top of it.\n\n THE LANE HAS A FIXED WIDTH. A board of `1fr` lanes re-lays-out every time a\n card moves between them, which moves the card you are aiming at while you\n aim. A fixed width means the only thing that moves during a drag is the gap\n that opens.\n\n THE BOARD FILLS THE HEIGHT IT IS GIVEN, AND THE LANE BODY IS THE ONLY THING\n THAT SCROLLS DOWN. Reported from a running board: dragging a card into a\n lane opened the drop placeholder, pushed the resident card out of sight, and\n put a vertical scrollbar inside a column whose own box had not grown — \"the\n entire board should fill the remaining screen height. I do not want to be\n able to scroll the whole page down. I should only be able to scroll\n individual columns.\"\n\n Every lane used to be as tall as the tallest one — flex `align-items:\n stretch` on a row whose height came from its content — so the board grew and\n shrank as cards moved between lanes, and a lane's `overflow-y-auto` only ever\n engaged on a lane that had been stretched past its own content by a taller\n neighbour. That is why the scrollbar appeared exactly when a placeholder\n opened and never at rest.\n\n The first fix made the height DERIVED rather than intrinsic: `flex-1` and\n `min-h-0` chaining from whatever bounded box the consumer put the board in,\n down through the lane to the lane body, so the body was the one element with\n a definite height and somewhere to put the extra row.\n\n THAT WAS RIGHT AND IT WAS NOT ENOUGH, and the shortfall is the reason the\n report above came back a second time. The chain is only as strong as the\n ancestor that breaks it: `flex-1` against a block parent is inert, `h-full`\n against an auto-height parent is `auto`, and ONE ordinary page wrapper above\n the board — a bare `<div className=\"flex flex-col gap-10\">`, which is this\n package's own demo layout — collapses the whole thing back to content sizing\n with nothing reporting a fault. Measured in that state: a 473px board whose\n lanes scrolled nothing at all (404 against 404), inside a shell column that\n took the scrollbar instead.\n\n So the height is now MEASURED by default and derived only on request. The\n `fill` variant below is where the two live; `KanbanBoardProps.fill` is where\n the choice is documented. The chain above it is unchanged and still does all\n the work once this element has a definite height — lane, lane body, floor and\n all.\n -------------------------------------------------------------------------- */\n\nexport const kanban = tv({\n slots: {\n /* `min-h-0`: be allowed to be SHORTER than the lanes inside, so the\n overflow has somewhere to go. Whether this box also GROWS is the `fill`\n variant's job — the two ways it can be given a height are mutually\n exclusive, and stating both here is what made the wrong one silently\n win. */\n root: \"flex min-h-0 min-w-0 gap-3 overflow-x-auto pb-2\",\n\n /* NO `h-full`, AND IT USED TO BE HERE ON A REASON THAT WAS BACKWARDS.\n\n The note it replaces said `h-full` \"states what stretch already implies,\n and it is not redundant: stretch is defeated by anything that gives the\n lane a definite cross size, and a consumer's `className` reaches this\n element\". Both halves are wrong. `className` reaches the board ROOT\n (`cn(s.root(), className)`) — there is no prop that reaches a lane. And\n the rule it invokes runs the other way: `align-self: stretch` applies\n only while the cross-size property is `auto`, so writing `height: 100%`\n is not a restatement of stretch, it is what DEFEATS it.\n\n Measured in Chromium, two flex rows with identical content, differing\n only in this declaration: against an INDEFINITE container, `auto` lanes\n came out 242 / 242 and `height: 100%` lanes came out 242 / 2 — the empty\n lane collapsed to its own borders, and the row's remaining space belonged\n to no lane at all. Against a bounded container both came out 398 / 398,\n which is why this survived so long: it is invisible in exactly the\n arrangement the demo shipped.\n\n That collapse is not only a layout blemish. The lane the person sees is\n what they aim at, and a lane that stops short of the board leaves a band\n of the board belonging to nothing — reported from a real board as lane\n sections of 173.55px beside 1071.59px, with the space between them\n swallowing drops. `resolveTarget` no longer resolves such a point to the\n last lane crossed (see `lib/dnd/geometry.ts`), and the region should not\n be there in the first place.\n\n `min-h-0` is the half that always did the work — without it a flex item's\n automatic minimum is its content, so a lane full of cards refuses to be\n shorter than the cards and pushes the board taller instead of\n scrolling. */\n lane: \"flex min-h-0 w-72 shrink-0 flex-col rounded-xl border border-border-subtle bg-surface-sunken\",\n\n laneHeader: \"flex shrink-0 items-start gap-2 border-b border-border-subtle px-3 py-2.5\",\n laneLabel: \"text-2xs font-semibold uppercase tracking-widest text-tertiary\",\n laneHint: \"truncate text-2xs text-secondary\",\n\n /* The scroller AND the drop container: one element, per the banner. It is\n also the ONLY element in the board that scrolls vertically.\n\n THE FLOOR IS 6rem AND IT USED TO BE 10rem. A minimum height is a refusal\n to shrink, so on a short viewport a 10rem floor was enough to push a lane\n past a bounded board and hand the board back the vertical scrollbar this\n change exists to remove. 6rem still leaves an empty lane an obvious\n target in an unbounded board, which is the only case the floor is for. */\n laneItems: \"min-h-24 min-w-0 flex-1 flex-col gap-2 overflow-y-auto p-2\",\n\n /* THE CARD IS THE FULL WIDTH OF ITS LANE.\n\n THE ELEMENT IS NOW A `DragDropSurface` — the whole card is the drag\n source, so this class list is applied to it rather than to a wrapper that\n holds a grip beside it. What that removed and what it did NOT remove are\n worth stating separately, because the two were tangled here for a while.\n\n REMOVED WITH THE GRIP: `relative`, which existed so the absolutely\n positioned grip resolved against the card rather than against whatever\n ancestor up the consumer's tree happened to be positioned; and the left\n inset (`pl-8`, and `pl-(--tap-target)` under a coarse pointer) that\n reserved the top-left corner so the grip did not land on the identifier\n every `RecordCard` puts there. Neither has anything left to do, and the\n corner is the card's own again.\n\n KEPT, AND IT WAS NEVER ABOUT THE GRIP: `w-full` on the card. A `<button>`\n in a block container is sized SHRINK-TO-FIT, and `display: flex` does not\n change that — so an `interactive` `RecordCard`, which renders a real\n `<button>` precisely so Enter and Space work, sizes itself from its own\n content. Measured in a lane: a button card carrying two words was 61.73px\n next to a 270px div card in the same column, and one carrying a long\n title was 270px. Every card a different width, from nothing but how much\n text it holds, on a board where a card being interactive is the normal\n case.\n\n So the board asserts the geometry it owns. Not on `RecordCard`, which is\n also used in flex rows and pickers where filling the container is not the\n right default — the column is this component's to guarantee, so it\n guarantees it here rather than depending on what `renderItem` returned.\n\n The selector no longer has to exclude the grip, because there is no grip\n left to exclude: the surface has exactly one child, and it is the card.\n `probe-kanban.mjs` measures the result in a browser, because\n `getBoundingClientRect` is zero in happy-dom and a suite with no layout\n engine cannot tell equal widths from no widths at all. */\n card: \"min-w-0 [&>*]:w-full\",\n\n /* Not `hidden` when a lane fills up — an empty lane still has to be a\n visible target, and a message is what tells somebody the lane is empty\n rather than still loading.\n\n IT IS RENDERED INSIDE THE LANE BODY, not under it. It used to be a\n sibling below the scroller, which was invisible while the scroller was\n sized by its own content and became absurd the moment the body started\n filling the lane: the message ended up pinned to the bottom of a\n full-height column with the empty drop area above it. Inside the\n scroller it sits where the first card would be, which is where a reader\n looking for cards is already looking. It is not a `[data-dnd-item]`, so\n the engine does not see it and no index counts it. */\n laneEmpty: \"shrink-0 px-3 py-8 text-center text-2xs text-tertiary\",\n },\n variants: {\n /* Whether this lane will accept a drop. The whole lane dims rather than\n just the note: the cards inside are still draggable OUT, and the surface\n has to read as \"nothing lands here\" without reading as \"nothing here\n works\". */\n refusing: {\n true: { lane: \"border-dashed bg-transparent\" },\n false: {},\n },\n\n /* WHERE THE HEIGHT COMES FROM, and there are exactly two answers.\n\n `true` — MEASURED. `KanbanBoard` writes an inline `height` from\n `useFillHeight`: the distance from this element's top to the bottom of\n whatever scrolls it. No `flex-1` here, deliberately — an item with\n `flex: 1 1 0%` takes its main size from `flex-basis`, so the inline height\n would be ignored and the board would go back to sizing from its content\n while carrying a height that reads as intent and does nothing.\n\n `max-h-full` IS THE HALF THAT KEEPS THE MEASUREMENT HONEST. The measured\n distance answers \"how far to the bottom of the screen\", which is the wrong\n number for a board inside a box shorter than that — a 200px card, a\n dialog. A percentage max-height resolves against a parent with a definite\n height and computes to `none` against one without, so the bounded case\n clamps and the unbounded case is untouched, with nothing to detect and no\n second mode.\n\n `false` — INHERITED, which is what the whole slot used to be: `flex-1`\n against a bounded flex parent, and content sizing when there is not one.\n Correct while every ancestor cooperates, which is why it is no longer the\n default — see `KanbanBoardProps.fill`. */\n fill: {\n true: { root: \"max-h-full\" },\n false: { root: \"flex-1\" },\n },\n },\n defaultVariants: { refusing: false, fill: true },\n});\n"],"names":["kanban","tv"],"mappings":";AA4DO,MAAMA,IAASC,EAAG;AAAA,EACvB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiCN,MAAM;AAAA,IAEN,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUV,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqCX,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcN,WAAW;AAAA,EAAA;AAAA,EAEb,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,UAAU;AAAA,MACR,MAAM,EAAE,MAAM,+BAAA;AAAA,MACd,OAAO,CAAA;AAAA,IAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwBV,MAAM;AAAA,MACJ,MAAM,EAAE,MAAM,aAAA;AAAA,MACd,OAAO,EAAE,MAAM,SAAA;AAAA,IAAS;AAAA,EAC1B;AAAA,EAEF,iBAAiB,EAAE,UAAU,IAAO,MAAM,GAAA;AAC5C,CAAC;"}