@50arms/ui 0.0.0-stage → 35.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1256) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +193 -2
  3. package/dist/components/Accordion.js +68 -0
  4. package/dist/components/Accordion.js.map +1 -0
  5. package/dist/components/AgentWorkingSpinner.js +46 -0
  6. package/dist/components/AgentWorkingSpinner.js.map +1 -0
  7. package/dist/components/AppShell.js +228 -0
  8. package/dist/components/AppShell.js.map +1 -0
  9. package/dist/components/Attention.js +130 -0
  10. package/dist/components/Attention.js.map +1 -0
  11. package/dist/components/Avatar.js +99 -0
  12. package/dist/components/Avatar.js.map +1 -0
  13. package/dist/components/Badge.js +143 -0
  14. package/dist/components/Badge.js.map +1 -0
  15. package/dist/components/Board.js +292 -0
  16. package/dist/components/Board.js.map +1 -0
  17. package/dist/components/Button.js +327 -0
  18. package/dist/components/Button.js.map +1 -0
  19. package/dist/components/Callout.js +106 -0
  20. package/dist/components/Callout.js.map +1 -0
  21. package/dist/components/Card.js +140 -0
  22. package/dist/components/Card.js.map +1 -0
  23. package/dist/components/Choice.js +361 -0
  24. package/dist/components/Choice.js.map +1 -0
  25. package/dist/components/CodeEditor.js +384 -0
  26. package/dist/components/CodeEditor.js.map +1 -0
  27. package/dist/components/ColorPicker.js +174 -0
  28. package/dist/components/ColorPicker.js.map +1 -0
  29. package/dist/components/Combobox.js +212 -0
  30. package/dist/components/Combobox.js.map +1 -0
  31. package/dist/components/CommandPalette.js +163 -0
  32. package/dist/components/CommandPalette.js.map +1 -0
  33. package/dist/components/ConcentricRing.js +60 -0
  34. package/dist/components/ConcentricRing.js.map +1 -0
  35. package/dist/components/ConnectionCard.js +98 -0
  36. package/dist/components/ConnectionCard.js.map +1 -0
  37. package/dist/components/ContextItemRow.js +49 -0
  38. package/dist/components/ContextItemRow.js.map +1 -0
  39. package/dist/components/CopyValue.js +57 -0
  40. package/dist/components/CopyValue.js.map +1 -0
  41. package/dist/components/CountBadge.js +26 -0
  42. package/dist/components/CountBadge.js.map +1 -0
  43. package/dist/components/DateCalendar.js +156 -0
  44. package/dist/components/DateCalendar.js.map +1 -0
  45. package/dist/components/DateField.js +166 -0
  46. package/dist/components/DateField.js.map +1 -0
  47. package/dist/components/DatePicker.js +56 -0
  48. package/dist/components/DatePicker.js.map +1 -0
  49. package/dist/components/DateTimeText.js +19 -0
  50. package/dist/components/DateTimeText.js.map +1 -0
  51. package/dist/components/DescriptionList.js +25 -0
  52. package/dist/components/DescriptionList.js.map +1 -0
  53. package/dist/components/Dialog.js +332 -0
  54. package/dist/components/Dialog.js.map +1 -0
  55. package/dist/components/DragDrop.js +395 -0
  56. package/dist/components/DragDrop.js.map +1 -0
  57. package/dist/components/Drawer.js +100 -0
  58. package/dist/components/Drawer.js.map +1 -0
  59. package/dist/components/EditGutter.js +110 -0
  60. package/dist/components/EditGutter.js.map +1 -0
  61. package/dist/components/EmojiPicker.js +174 -0
  62. package/dist/components/EmojiPicker.js.map +1 -0
  63. package/dist/components/ErrorBoundary.js +47 -0
  64. package/dist/components/ErrorBoundary.js.map +1 -0
  65. package/dist/components/Field.js +115 -0
  66. package/dist/components/Field.js.map +1 -0
  67. package/dist/components/FileUpload.js +128 -0
  68. package/dist/components/FileUpload.js.map +1 -0
  69. package/dist/components/FilterMenu.js +256 -0
  70. package/dist/components/FilterMenu.js.map +1 -0
  71. package/dist/components/GatesSection.js +79 -0
  72. package/dist/components/GatesSection.js.map +1 -0
  73. package/dist/components/Icon.js +50 -0
  74. package/dist/components/Icon.js.map +1 -0
  75. package/dist/components/IconButton.js +59 -0
  76. package/dist/components/IconButton.js.map +1 -0
  77. package/dist/components/IconStack.js +69 -0
  78. package/dist/components/IconStack.js.map +1 -0
  79. package/dist/components/ImageUploadField.js +146 -0
  80. package/dist/components/ImageUploadField.js.map +1 -0
  81. package/dist/components/InlineEdit.js +432 -0
  82. package/dist/components/InlineEdit.js.map +1 -0
  83. package/dist/components/InlineMarkdownEdit.js +184 -0
  84. package/dist/components/InlineMarkdownEdit.js.map +1 -0
  85. package/dist/components/Input.js +156 -0
  86. package/dist/components/Input.js.map +1 -0
  87. package/dist/components/LegalDocument.js +155 -0
  88. package/dist/components/LegalDocument.js.map +1 -0
  89. package/dist/components/LineDiff.js +95 -0
  90. package/dist/components/LineDiff.js.map +1 -0
  91. package/dist/components/ListHeader.js +72 -0
  92. package/dist/components/ListHeader.js.map +1 -0
  93. package/dist/components/Loading.js +111 -0
  94. package/dist/components/Loading.js.map +1 -0
  95. package/dist/components/Markdown.js +28 -0
  96. package/dist/components/Markdown.js.map +1 -0
  97. package/dist/components/MarkdownEditor.js +467 -0
  98. package/dist/components/MarkdownEditor.js.map +1 -0
  99. package/dist/components/Menu.js +185 -0
  100. package/dist/components/Menu.js.map +1 -0
  101. package/dist/components/Navigation.js +87 -0
  102. package/dist/components/Navigation.js.map +1 -0
  103. package/dist/components/NumberInput.js +119 -0
  104. package/dist/components/NumberInput.js.map +1 -0
  105. package/dist/components/OTPInput.js +71 -0
  106. package/dist/components/OTPInput.js.map +1 -0
  107. package/dist/components/OrderedEntityManager.js +170 -0
  108. package/dist/components/OrderedEntityManager.js.map +1 -0
  109. package/dist/components/PagedWindowList.js +74 -0
  110. package/dist/components/PagedWindowList.js.map +1 -0
  111. package/dist/components/PaginationBar.js +95 -0
  112. package/dist/components/PaginationBar.js.map +1 -0
  113. package/dist/components/Panel.js +396 -0
  114. package/dist/components/Panel.js.map +1 -0
  115. package/dist/components/PasswordInput.js +32 -0
  116. package/dist/components/PasswordInput.js.map +1 -0
  117. package/dist/components/PasswordRequirements.js +25 -0
  118. package/dist/components/PasswordRequirements.js.map +1 -0
  119. package/dist/components/PatchDiff.js +96 -0
  120. package/dist/components/PatchDiff.js.map +1 -0
  121. package/dist/components/PendingVeil.js +18 -0
  122. package/dist/components/PendingVeil.js.map +1 -0
  123. package/dist/components/Popover.js +214 -0
  124. package/dist/components/Popover.js.map +1 -0
  125. package/dist/components/Progress.js +419 -0
  126. package/dist/components/Progress.js.map +1 -0
  127. package/dist/components/RatingScale.js +89 -0
  128. package/dist/components/RatingScale.js.map +1 -0
  129. package/dist/components/ReadMore.js +232 -0
  130. package/dist/components/ReadMore.js.map +1 -0
  131. package/dist/components/RecordCard.js +202 -0
  132. package/dist/components/RecordCard.js.map +1 -0
  133. package/dist/components/RelativeTime.js +29 -0
  134. package/dist/components/RelativeTime.js.map +1 -0
  135. package/dist/components/SandboxedFrame.js +135 -0
  136. package/dist/components/SandboxedFrame.js.map +1 -0
  137. package/dist/components/SearchInput.js +38 -0
  138. package/dist/components/SearchInput.js.map +1 -0
  139. package/dist/components/SecretField.js +228 -0
  140. package/dist/components/SecretField.js.map +1 -0
  141. package/dist/components/SectionNav.js +42 -0
  142. package/dist/components/SectionNav.js.map +1 -0
  143. package/dist/components/Select.js +172 -0
  144. package/dist/components/Select.js.map +1 -0
  145. package/dist/components/SequenceDiagram.js +109 -0
  146. package/dist/components/SequenceDiagram.js.map +1 -0
  147. package/dist/components/SettingRow.js +124 -0
  148. package/dist/components/SettingRow.js.map +1 -0
  149. package/dist/components/SignOffRings.js +36 -0
  150. package/dist/components/SignOffRings.js.map +1 -0
  151. package/dist/components/Slider.js +353 -0
  152. package/dist/components/Slider.js.map +1 -0
  153. package/dist/components/SolutionChoice.js +89 -0
  154. package/dist/components/SolutionChoice.js.map +1 -0
  155. package/dist/components/SortMenu.js +75 -0
  156. package/dist/components/SortMenu.js.map +1 -0
  157. package/dist/components/Spinner.js +42 -0
  158. package/dist/components/Spinner.js.map +1 -0
  159. package/dist/components/Stat.js +148 -0
  160. package/dist/components/Stat.js.map +1 -0
  161. package/dist/components/StatusSelect.js +119 -0
  162. package/dist/components/StatusSelect.js.map +1 -0
  163. package/dist/components/Surface.js +210 -0
  164. package/dist/components/Surface.js.map +1 -0
  165. package/dist/components/Table.js +300 -0
  166. package/dist/components/Table.js.map +1 -0
  167. package/dist/components/Tabs.js +288 -0
  168. package/dist/components/Tabs.js.map +1 -0
  169. package/dist/components/ThemeMenu.js +198 -0
  170. package/dist/components/ThemeMenu.js.map +1 -0
  171. package/dist/components/Toast.js +217 -0
  172. package/dist/components/Toast.js.map +1 -0
  173. package/dist/components/Toggle.js +147 -0
  174. package/dist/components/Toggle.js.map +1 -0
  175. package/dist/components/ToggleMatrix.js +157 -0
  176. package/dist/components/ToggleMatrix.js.map +1 -0
  177. package/dist/components/Tree.js +125 -0
  178. package/dist/components/Tree.js.map +1 -0
  179. package/dist/components/TriStateSwitch.js +111 -0
  180. package/dist/components/TriStateSwitch.js.map +1 -0
  181. package/dist/components/VideoPlayer.js +64 -0
  182. package/dist/components/VideoPlayer.js.map +1 -0
  183. package/dist/components/auth/AcceptInvitationCard.js +110 -0
  184. package/dist/components/auth/AcceptInvitationCard.js.map +1 -0
  185. package/dist/components/auth/AuthLayout.js +18 -0
  186. package/dist/components/auth/AuthLayout.js.map +1 -0
  187. package/dist/components/auth/ForgotPasswordForm.js +44 -0
  188. package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
  189. package/dist/components/auth/LoginForm.js +76 -0
  190. package/dist/components/auth/LoginForm.js.map +1 -0
  191. package/dist/components/auth/ResetPasswordForm.js +69 -0
  192. package/dist/components/auth/ResetPasswordForm.js.map +1 -0
  193. package/dist/components/auth/SignInProviders.js +45 -0
  194. package/dist/components/auth/SignInProviders.js.map +1 -0
  195. package/dist/components/auth/SignupCard.js +204 -0
  196. package/dist/components/auth/SignupCard.js.map +1 -0
  197. package/dist/components/auth/TermsAcceptance.js +43 -0
  198. package/dist/components/auth/TermsAcceptance.js.map +1 -0
  199. package/dist/components/board/context.js +32 -0
  200. package/dist/components/board/context.js.map +1 -0
  201. package/dist/components/board/recipe.js +94 -0
  202. package/dist/components/board/recipe.js.map +1 -0
  203. package/dist/components/calendar/CalendarMonth.js +299 -0
  204. package/dist/components/calendar/CalendarMonth.js.map +1 -0
  205. package/dist/components/calendar/CalendarTimeGrid.js +430 -0
  206. package/dist/components/calendar/CalendarTimeGrid.js.map +1 -0
  207. package/dist/components/calendar/EventActions.js +101 -0
  208. package/dist/components/calendar/EventActions.js.map +1 -0
  209. package/dist/components/calendar/format.js +73 -0
  210. package/dist/components/calendar/format.js.map +1 -0
  211. package/dist/components/calendar/palette.js +31 -0
  212. package/dist/components/calendar/palette.js.map +1 -0
  213. package/dist/components/calendar/use-calendar-drag.js +149 -0
  214. package/dist/components/calendar/use-calendar-drag.js.map +1 -0
  215. package/dist/components/calendar/use-event-keyboard.js +87 -0
  216. package/dist/components/calendar/use-event-keyboard.js.map +1 -0
  217. package/dist/components/calendar/use-grid-navigation.js +79 -0
  218. package/dist/components/calendar/use-grid-navigation.js.map +1 -0
  219. package/dist/components/calendar/use-now.js +27 -0
  220. package/dist/components/calendar/use-now.js.map +1 -0
  221. package/dist/components/card-face/AcRingGlyph.js +39 -0
  222. package/dist/components/card-face/AcRingGlyph.js.map +1 -0
  223. package/dist/components/card-face/BoardCardAgentSlot.js +17 -0
  224. package/dist/components/card-face/BoardCardAgentSlot.js.map +1 -0
  225. package/dist/components/card-face/CardFace.js +109 -0
  226. package/dist/components/card-face/CardFace.js.map +1 -0
  227. package/dist/components/card-face/CardTypeBadge.js +17 -0
  228. package/dist/components/card-face/CardTypeBadge.js.map +1 -0
  229. package/dist/components/card-face/EffortBadge.js +11 -0
  230. package/dist/components/card-face/EffortBadge.js.map +1 -0
  231. package/dist/components/card-face/GateRingGlyph.js +31 -0
  232. package/dist/components/card-face/GateRingGlyph.js.map +1 -0
  233. package/dist/components/card-face/OverflowRow.js +70 -0
  234. package/dist/components/card-face/OverflowRow.js.map +1 -0
  235. package/dist/components/card-face/TapTip.js +32 -0
  236. package/dist/components/card-face/TapTip.js.map +1 -0
  237. package/dist/components/card-face/hit-area.js +6 -0
  238. package/dist/components/card-face/hit-area.js.map +1 -0
  239. package/dist/components/card-face/vocabulary.js +102 -0
  240. package/dist/components/card-face/vocabulary.js.map +1 -0
  241. package/dist/components/chart/BarList.js +78 -0
  242. package/dist/components/chart/BarList.js.map +1 -0
  243. package/dist/components/chart/LineChart.js +310 -0
  244. package/dist/components/chart/LineChart.js.map +1 -0
  245. package/dist/components/chart/ShareBar.js +141 -0
  246. package/dist/components/chart/ShareBar.js.map +1 -0
  247. package/dist/components/chart/TimeSeriesChart.js +305 -0
  248. package/dist/components/chart/TimeSeriesChart.js.map +1 -0
  249. package/dist/components/chart/label-metrics.js +17 -0
  250. package/dist/components/chart/label-metrics.js.map +1 -0
  251. package/dist/components/chart/line-chart-axis.js +38 -0
  252. package/dist/components/chart/line-chart-axis.js.map +1 -0
  253. package/dist/components/chart/line-chart-scale.js +132 -0
  254. package/dist/components/chart/line-chart-scale.js.map +1 -0
  255. package/dist/components/chart/line-series-style.js +22 -0
  256. package/dist/components/chart/line-series-style.js.map +1 -0
  257. package/dist/components/chart/share-bar-labels.js +14 -0
  258. package/dist/components/chart/share-bar-labels.js.map +1 -0
  259. package/dist/components/chart/shared.js +157 -0
  260. package/dist/components/chart/shared.js.map +1 -0
  261. package/dist/components/chart/time-series-scale.js +51 -0
  262. package/dist/components/chart/time-series-scale.js.map +1 -0
  263. package/dist/components/chat/Attachment.js +316 -0
  264. package/dist/components/chat/Attachment.js.map +1 -0
  265. package/dist/components/chat/Chat.js +171 -0
  266. package/dist/components/chat/Chat.js.map +1 -0
  267. package/dist/components/chat/Composer.js +274 -0
  268. package/dist/components/chat/Composer.js.map +1 -0
  269. package/dist/components/chat/ContextMeter.js +202 -0
  270. package/dist/components/chat/ContextMeter.js.map +1 -0
  271. package/dist/components/chat/EffortControl.js +116 -0
  272. package/dist/components/chat/EffortControl.js.map +1 -0
  273. package/dist/components/chat/FileCover.js +78 -0
  274. package/dist/components/chat/FileCover.js.map +1 -0
  275. package/dist/components/chat/Message.js +356 -0
  276. package/dist/components/chat/Message.js.map +1 -0
  277. package/dist/components/chat/MessageScroller.js +104 -0
  278. package/dist/components/chat/MessageScroller.js.map +1 -0
  279. package/dist/components/chat/ModelSelector.js +156 -0
  280. package/dist/components/chat/ModelSelector.js.map +1 -0
  281. package/dist/components/chat/StreamingMarkdown.js +42 -0
  282. package/dist/components/chat/StreamingMarkdown.js.map +1 -0
  283. package/dist/components/chat/download-file.js +9 -0
  284. package/dist/components/chat/download-file.js.map +1 -0
  285. package/dist/components/chat/file-icon.js +39 -0
  286. package/dist/components/chat/file-icon.js.map +1 -0
  287. package/dist/components/checklist/StatusChecklist.js +103 -0
  288. package/dist/components/checklist/StatusChecklist.js.map +1 -0
  289. package/dist/components/checklist/tally.js +29 -0
  290. package/dist/components/checklist/tally.js.map +1 -0
  291. package/dist/components/code-editor/context.js +13 -0
  292. package/dist/components/code-editor/context.js.map +1 -0
  293. package/dist/components/code-editor/editing.js +93 -0
  294. package/dist/components/code-editor/editing.js.map +1 -0
  295. package/dist/components/code-editor/highlight.js +27 -0
  296. package/dist/components/code-editor/highlight.js.map +1 -0
  297. package/dist/components/code-editor/recipe.js +75 -0
  298. package/dist/components/code-editor/recipe.js.map +1 -0
  299. package/dist/components/date-timeline/DateTimeline.js +358 -0
  300. package/dist/components/date-timeline/DateTimeline.js.map +1 -0
  301. package/dist/components/date-timeline/TimelineRow.js +100 -0
  302. package/dist/components/date-timeline/TimelineRow.js.map +1 -0
  303. package/dist/components/date-timeline/useBarDrag.js +44 -0
  304. package/dist/components/date-timeline/useBarDrag.js.map +1 -0
  305. package/dist/components/date-timeline/useMarkerDrag.js +40 -0
  306. package/dist/components/date-timeline/useMarkerDrag.js.map +1 -0
  307. package/dist/components/date-timeline/useTimelineZoom.js +44 -0
  308. package/dist/components/date-timeline/useTimelineZoom.js.map +1 -0
  309. package/dist/components/drag-drop/context.js +37 -0
  310. package/dist/components/drag-drop/context.js.map +1 -0
  311. package/dist/components/drag-drop/recipe.js +270 -0
  312. package/dist/components/drag-drop/recipe.js.map +1 -0
  313. package/dist/components/drag-drop/shift.js +157 -0
  314. package/dist/components/drag-drop/shift.js.map +1 -0
  315. package/dist/components/edit/activation.js +10 -0
  316. package/dist/components/edit/activation.js.map +1 -0
  317. package/dist/components/edit/outcome.js +47 -0
  318. package/dist/components/edit/outcome.js.map +1 -0
  319. package/dist/components/edit/use-edit-session.js +146 -0
  320. package/dist/components/edit/use-edit-session.js.map +1 -0
  321. package/dist/components/file-viewer/FileViewer.js +97 -0
  322. package/dist/components/file-viewer/FileViewer.js.map +1 -0
  323. package/dist/components/file-viewer/PageNumberJumpField.js +47 -0
  324. package/dist/components/file-viewer/PageNumberJumpField.js.map +1 -0
  325. package/dist/components/file-viewer/ViewerControls.js +122 -0
  326. package/dist/components/file-viewer/ViewerControls.js.map +1 -0
  327. package/dist/components/file-viewer/ViewerRail.js +57 -0
  328. package/dist/components/file-viewer/ViewerRail.js.map +1 -0
  329. package/dist/components/file-viewer/ViewerStage.js +112 -0
  330. package/dist/components/file-viewer/ViewerStage.js.map +1 -0
  331. package/dist/components/file-viewer/frames.js +37 -0
  332. package/dist/components/file-viewer/frames.js.map +1 -0
  333. package/dist/components/file-viewer/use-frame-cursor.js +32 -0
  334. package/dist/components/file-viewer/use-frame-cursor.js.map +1 -0
  335. package/dist/components/file-viewer/use-viewer-keys.js +50 -0
  336. package/dist/components/file-viewer/use-viewer-keys.js.map +1 -0
  337. package/dist/components/file-viewer/use-viewer-zoom.js +68 -0
  338. package/dist/components/file-viewer/use-viewer-zoom.js.map +1 -0
  339. package/dist/components/focus-web/FocusWeb.js +322 -0
  340. package/dist/components/focus-web/FocusWeb.js.map +1 -0
  341. package/dist/components/focus-web/layout.js +34 -0
  342. package/dist/components/focus-web/layout.js.map +1 -0
  343. package/dist/components/graph-explorer/GraphExplorer.js +441 -0
  344. package/dist/components/graph-explorer/GraphExplorer.js.map +1 -0
  345. package/dist/components/graph-explorer/camera-math.js +102 -0
  346. package/dist/components/graph-explorer/camera-math.js.map +1 -0
  347. package/dist/components/graph-explorer/tree-layout.js +103 -0
  348. package/dist/components/graph-explorer/tree-layout.js.map +1 -0
  349. package/dist/components/graph-explorer/use-camera.js +82 -0
  350. package/dist/components/graph-explorer/use-camera.js.map +1 -0
  351. package/dist/components/graph-explorer/viewport-gesture.js +107 -0
  352. package/dist/components/graph-explorer/viewport-gesture.js.map +1 -0
  353. package/dist/components/kanban/KanbanBoard.js +219 -0
  354. package/dist/components/kanban/KanbanBoard.js.map +1 -0
  355. package/dist/components/kanban/recipe.js +144 -0
  356. package/dist/components/kanban/recipe.js.map +1 -0
  357. package/dist/components/markdown/Affordances.js +398 -0
  358. package/dist/components/markdown/Affordances.js.map +1 -0
  359. package/dist/components/markdown/AttachmentStrip.js +128 -0
  360. package/dist/components/markdown/AttachmentStrip.js.map +1 -0
  361. package/dist/components/markdown/ImageUpload.js +45 -0
  362. package/dist/components/markdown/ImageUpload.js.map +1 -0
  363. package/dist/components/media-error.js +7 -0
  364. package/dist/components/media-error.js.map +1 -0
  365. package/dist/components/nav-sections.js +61 -0
  366. package/dist/components/nav-sections.js.map +1 -0
  367. package/dist/components/node-canvas/NodeCanvas.js +384 -0
  368. package/dist/components/node-canvas/NodeCanvas.js.map +1 -0
  369. package/dist/components/node-canvas/layout.js +237 -0
  370. package/dist/components/node-canvas/layout.js.map +1 -0
  371. package/dist/components/node-canvas/use-canvas-gestures.js +143 -0
  372. package/dist/components/node-canvas/use-canvas-gestures.js.map +1 -0
  373. package/dist/components/openapi/OpenApiViewer.js +137 -0
  374. package/dist/components/openapi/OpenApiViewer.js.map +1 -0
  375. package/dist/components/openapi/OperationCard.js +145 -0
  376. package/dist/components/openapi/OperationCard.js.map +1 -0
  377. package/dist/components/openapi/SchemaView.js +68 -0
  378. package/dist/components/openapi/SchemaView.js.map +1 -0
  379. package/dist/components/openapi/resolve.js +102 -0
  380. package/dist/components/openapi/resolve.js.map +1 -0
  381. package/dist/components/openapi/types.js +5 -0
  382. package/dist/components/openapi/types.js.map +1 -0
  383. package/dist/components/overlay-shell.js +29 -0
  384. package/dist/components/overlay-shell.js.map +1 -0
  385. package/dist/components/overlay-stack.js +27 -0
  386. package/dist/components/overlay-stack.js.map +1 -0
  387. package/dist/components/paged-window/PageBlock.js +50 -0
  388. package/dist/components/paged-window/PageBlock.js.map +1 -0
  389. package/dist/components/provenance/ConfidenceBar.js +60 -0
  390. package/dist/components/provenance/ConfidenceBar.js.map +1 -0
  391. package/dist/components/provenance/ConfidenceMeter.js +36 -0
  392. package/dist/components/provenance/ConfidenceMeter.js.map +1 -0
  393. package/dist/components/provenance/ConfidenceReadout.js +31 -0
  394. package/dist/components/provenance/ConfidenceReadout.js.map +1 -0
  395. package/dist/components/provenance/ProvenanceBadge.js +44 -0
  396. package/dist/components/provenance/ProvenanceBadge.js.map +1 -0
  397. package/dist/components/provenance/ProvenanceDetail.js +114 -0
  398. package/dist/components/provenance/ProvenanceDetail.js.map +1 -0
  399. package/dist/components/provenance/ProvenanceDisclosure.js +111 -0
  400. package/dist/components/provenance/ProvenanceDisclosure.js.map +1 -0
  401. package/dist/components/provenance/absence.js +31 -0
  402. package/dist/components/provenance/absence.js.map +1 -0
  403. package/dist/components/provenance/types.js +30 -0
  404. package/dist/components/provenance/types.js.map +1 -0
  405. package/dist/components/rbac/AccessRequestPanel.js +153 -0
  406. package/dist/components/rbac/AccessRequestPanel.js.map +1 -0
  407. package/dist/components/rbac/AccountMenu.js +118 -0
  408. package/dist/components/rbac/AccountMenu.js.map +1 -0
  409. package/dist/components/rbac/AgentKeysList.js +20 -0
  410. package/dist/components/rbac/AgentKeysList.js.map +1 -0
  411. package/dist/components/rbac/ApiKeysPanel.js +172 -0
  412. package/dist/components/rbac/ApiKeysPanel.js.map +1 -0
  413. package/dist/components/rbac/ApiKeysTable.js +169 -0
  414. package/dist/components/rbac/ApiKeysTable.js.map +1 -0
  415. package/dist/components/rbac/Brand.js +13 -0
  416. package/dist/components/rbac/Brand.js.map +1 -0
  417. package/dist/components/rbac/Can.js +18 -0
  418. package/dist/components/rbac/Can.js.map +1 -0
  419. package/dist/components/rbac/ChangePasswordForm.js +73 -0
  420. package/dist/components/rbac/ChangePasswordForm.js.map +1 -0
  421. package/dist/components/rbac/DangerZone.js +27 -0
  422. package/dist/components/rbac/DangerZone.js.map +1 -0
  423. package/dist/components/rbac/DevToolsPopover.js +140 -0
  424. package/dist/components/rbac/DevToolsPopover.js.map +1 -0
  425. package/dist/components/rbac/EndedLine.js +24 -0
  426. package/dist/components/rbac/EndedLine.js.map +1 -0
  427. package/dist/components/rbac/InvitationsList.js +148 -0
  428. package/dist/components/rbac/InvitationsList.js.map +1 -0
  429. package/dist/components/rbac/InviteMembersDialog.js +97 -0
  430. package/dist/components/rbac/InviteMembersDialog.js.map +1 -0
  431. package/dist/components/rbac/MembersPanel.js +138 -0
  432. package/dist/components/rbac/MembersPanel.js.map +1 -0
  433. package/dist/components/rbac/PermissionRequestPanel.js +141 -0
  434. package/dist/components/rbac/PermissionRequestPanel.js.map +1 -0
  435. package/dist/components/rbac/ProfileForm.js +86 -0
  436. package/dist/components/rbac/ProfileForm.js.map +1 -0
  437. package/dist/components/rbac/ProfilePage.js +58 -0
  438. package/dist/components/rbac/ProfilePage.js.map +1 -0
  439. package/dist/components/rbac/RBACProvider.js +82 -0
  440. package/dist/components/rbac/RBACProvider.js.map +1 -0
  441. package/dist/components/rbac/RoleEditorDialog.js +90 -0
  442. package/dist/components/rbac/RoleEditorDialog.js.map +1 -0
  443. package/dist/components/rbac/RoleKeyPicker.js +77 -0
  444. package/dist/components/rbac/RoleKeyPicker.js.map +1 -0
  445. package/dist/components/rbac/RolePermissionMatrix.js +37 -0
  446. package/dist/components/rbac/RolePermissionMatrix.js.map +1 -0
  447. package/dist/components/rbac/RolesPermissionsPage.js +142 -0
  448. package/dist/components/rbac/RolesPermissionsPage.js.map +1 -0
  449. package/dist/components/rbac/SessionsList.js +146 -0
  450. package/dist/components/rbac/SessionsList.js.map +1 -0
  451. package/dist/components/rbac/TeamSettingsForm.js +69 -0
  452. package/dist/components/rbac/TeamSettingsForm.js.map +1 -0
  453. package/dist/components/rbac/TeamSwitcher.js +66 -0
  454. package/dist/components/rbac/TeamSwitcher.js.map +1 -0
  455. package/dist/components/rbac/approvalPanelParts.js +130 -0
  456. package/dist/components/rbac/approvalPanelParts.js.map +1 -0
  457. package/dist/components/rbac/permissionSections.js +8 -0
  458. package/dist/components/rbac/permissionSections.js.map +1 -0
  459. package/dist/components/rbac/stagedForm.js +42 -0
  460. package/dist/components/rbac/stagedForm.js.map +1 -0
  461. package/dist/components/rbac/useStagedImage.js +21 -0
  462. package/dist/components/rbac/useStagedImage.js.map +1 -0
  463. package/dist/components/roadmap/PhaseManager.js +48 -0
  464. package/dist/components/roadmap/PhaseManager.js.map +1 -0
  465. package/dist/components/roadmap/RoadmapItemCard.js +96 -0
  466. package/dist/components/roadmap/RoadmapItemCard.js.map +1 -0
  467. package/dist/components/roadmap/RoadmapPage.js +34 -0
  468. package/dist/components/roadmap/RoadmapPage.js.map +1 -0
  469. package/dist/components/roadmap/RoadmapSwimlaneBoard.js +91 -0
  470. package/dist/components/roadmap/RoadmapSwimlaneBoard.js.map +1 -0
  471. package/dist/components/roadmap/TrackManager.js +58 -0
  472. package/dist/components/roadmap/TrackManager.js.map +1 -0
  473. package/dist/components/roadmap/UseCaseCard.js +93 -0
  474. package/dist/components/roadmap/UseCaseCard.js.map +1 -0
  475. package/dist/components/roadmap/UseCaseLedgerPage.js +98 -0
  476. package/dist/components/roadmap/UseCaseLedgerPage.js.map +1 -0
  477. package/dist/components/roadmap/chip-tones.js +9 -0
  478. package/dist/components/roadmap/chip-tones.js.map +1 -0
  479. package/dist/components/roadmap/derive.js +28 -0
  480. package/dist/components/roadmap/derive.js.map +1 -0
  481. package/dist/components/stepper/Stepper.js +276 -0
  482. package/dist/components/stepper/Stepper.js.map +1 -0
  483. package/dist/components/stepper/derive.js +53 -0
  484. package/dist/components/stepper/derive.js.map +1 -0
  485. package/dist/confidence.css +222 -0
  486. package/dist/fonts/bricolage-grotesque-0.woff2 +0 -0
  487. package/dist/fonts/bricolage-grotesque-1.woff2 +0 -0
  488. package/dist/fonts/bricolage-grotesque-2.woff2 +0 -0
  489. package/dist/fonts/figtree-0.woff2 +0 -0
  490. package/dist/fonts/figtree-1.woff2 +0 -0
  491. package/dist/fonts/figtree-2.woff2 +0 -0
  492. package/dist/fonts/figtree-3.woff2 +0 -0
  493. package/dist/fonts/jetbrains-mono-0.woff2 +0 -0
  494. package/dist/fonts/jetbrains-mono-1.woff2 +0 -0
  495. package/dist/fonts/jetbrains-mono-10.woff2 +0 -0
  496. package/dist/fonts/jetbrains-mono-11.woff2 +0 -0
  497. package/dist/fonts/jetbrains-mono-2.woff2 +0 -0
  498. package/dist/fonts/jetbrains-mono-3.woff2 +0 -0
  499. package/dist/fonts/jetbrains-mono-4.woff2 +0 -0
  500. package/dist/fonts/jetbrains-mono-5.woff2 +0 -0
  501. package/dist/fonts/jetbrains-mono-6.woff2 +0 -0
  502. package/dist/fonts/jetbrains-mono-7.woff2 +0 -0
  503. package/dist/fonts/jetbrains-mono-8.woff2 +0 -0
  504. package/dist/fonts/jetbrains-mono-9.woff2 +0 -0
  505. package/dist/fonts.css +187 -0
  506. package/dist/icons/data.js +233 -0
  507. package/dist/icons/data.js.map +1 -0
  508. package/dist/index.js +942 -0
  509. package/dist/index.js.map +1 -0
  510. package/dist/lib/attention.js +75 -0
  511. package/dist/lib/attention.js.map +1 -0
  512. package/dist/lib/board/anchor.js +14 -0
  513. package/dist/lib/board/anchor.js.map +1 -0
  514. package/dist/lib/board/model.js +41 -0
  515. package/dist/lib/board/model.js.map +1 -0
  516. package/dist/lib/board/move.js +161 -0
  517. package/dist/lib/board/move.js.map +1 -0
  518. package/dist/lib/board/position.js +11 -0
  519. package/dist/lib/board/position.js.map +1 -0
  520. package/dist/lib/board/rejection.js +22 -0
  521. package/dist/lib/board/rejection.js.map +1 -0
  522. package/dist/lib/board/use-board.js +43 -0
  523. package/dist/lib/board/use-board.js.map +1 -0
  524. package/dist/lib/calendar/band-packer.js +44 -0
  525. package/dist/lib/calendar/band-packer.js.map +1 -0
  526. package/dist/lib/calendar/drag.js +74 -0
  527. package/dist/lib/calendar/drag.js.map +1 -0
  528. package/dist/lib/calendar/lane-packer.js +67 -0
  529. package/dist/lib/calendar/lane-packer.js.map +1 -0
  530. package/dist/lib/calendar/segments.js +82 -0
  531. package/dist/lib/calendar/segments.js.map +1 -0
  532. package/dist/lib/calendar/types.js +7 -0
  533. package/dist/lib/calendar/types.js.map +1 -0
  534. package/dist/lib/chart-palette.js +27 -0
  535. package/dist/lib/chart-palette.js.map +1 -0
  536. package/dist/lib/clipboard.js +30 -0
  537. package/dist/lib/clipboard.js.map +1 -0
  538. package/dist/lib/cn.js +9 -0
  539. package/dist/lib/cn.js.map +1 -0
  540. package/dist/lib/color.js +24 -0
  541. package/dist/lib/color.js.map +1 -0
  542. package/dist/lib/component-guidance.js +297 -0
  543. package/dist/lib/component-guidance.js.map +1 -0
  544. package/dist/lib/confidence.js +22 -0
  545. package/dist/lib/confidence.js.map +1 -0
  546. package/dist/lib/date-timeline/scale.js +197 -0
  547. package/dist/lib/date-timeline/scale.js.map +1 -0
  548. package/dist/lib/design-frame/document.js +44 -0
  549. package/dist/lib/design-frame/document.js.map +1 -0
  550. package/dist/lib/design-frame/mini-app-script.js +107 -0
  551. package/dist/lib/design-frame/mini-app-script.js.map +1 -0
  552. package/dist/lib/design-frame/mini-app.js +12 -0
  553. package/dist/lib/design-frame/mini-app.js.map +1 -0
  554. package/dist/lib/design-frame/protocol.js +46 -0
  555. package/dist/lib/design-frame/protocol.js.map +1 -0
  556. package/dist/lib/dev-warn.js +17 -0
  557. package/dist/lib/dev-warn.js.map +1 -0
  558. package/dist/lib/dnd/announce.js +120 -0
  559. package/dist/lib/dnd/announce.js.map +1 -0
  560. package/dist/lib/dnd/autoscroll.js +123 -0
  561. package/dist/lib/dnd/autoscroll.js.map +1 -0
  562. package/dist/lib/dnd/cross-drop.js +11 -0
  563. package/dist/lib/dnd/cross-drop.js.map +1 -0
  564. package/dist/lib/dnd/geometry.js +99 -0
  565. package/dist/lib/dnd/geometry.js.map +1 -0
  566. package/dist/lib/dnd/sensors/gesture.js +86 -0
  567. package/dist/lib/dnd/sensors/gesture.js.map +1 -0
  568. package/dist/lib/dnd/sensors/keyboard.js +47 -0
  569. package/dist/lib/dnd/sensors/keyboard.js.map +1 -0
  570. package/dist/lib/dnd/sensors/pointer.js +32 -0
  571. package/dist/lib/dnd/sensors/pointer.js.map +1 -0
  572. package/dist/lib/dnd/session.js +256 -0
  573. package/dist/lib/dnd/session.js.map +1 -0
  574. package/dist/lib/dnd/use-drag.js +90 -0
  575. package/dist/lib/dnd/use-drag.js.map +1 -0
  576. package/dist/lib/dom/scroll-ancestor.js +18 -0
  577. package/dist/lib/dom/scroll-ancestor.js.map +1 -0
  578. package/dist/lib/format.js +23 -0
  579. package/dist/lib/format.js.map +1 -0
  580. package/dist/lib/group-in-order.js +13 -0
  581. package/dist/lib/group-in-order.js.map +1 -0
  582. package/dist/lib/header-fold.js +11 -0
  583. package/dist/lib/header-fold.js.map +1 -0
  584. package/dist/lib/i18n/areas/auth-provenance-flows.js +156 -0
  585. package/dist/lib/i18n/areas/auth-provenance-flows.js.map +1 -0
  586. package/dist/lib/i18n/areas/board.js +35 -0
  587. package/dist/lib/i18n/areas/board.js.map +1 -0
  588. package/dist/lib/i18n/areas/card-face.js +10 -0
  589. package/dist/lib/i18n/areas/card-face.js.map +1 -0
  590. package/dist/lib/i18n/areas/chat-chart.js +118 -0
  591. package/dist/lib/i18n/areas/chat-chart.js.map +1 -0
  592. package/dist/lib/i18n/areas/code-editor.js +24 -0
  593. package/dist/lib/i18n/areas/code-editor.js.map +1 -0
  594. package/dist/lib/i18n/areas/date-timeline.js +21 -0
  595. package/dist/lib/i18n/areas/date-timeline.js.map +1 -0
  596. package/dist/lib/i18n/areas/dates.js +71 -0
  597. package/dist/lib/i18n/areas/dates.js.map +1 -0
  598. package/dist/lib/i18n/areas/docs-views.js +183 -0
  599. package/dist/lib/i18n/areas/docs-views.js.map +1 -0
  600. package/dist/lib/i18n/areas/feedback.js +75 -0
  601. package/dist/lib/i18n/areas/feedback.js.map +1 -0
  602. package/dist/lib/i18n/areas/formats.js +24 -0
  603. package/dist/lib/i18n/areas/formats.js.map +1 -0
  604. package/dist/lib/i18n/areas/forms.js +110 -0
  605. package/dist/lib/i18n/areas/forms.js.map +1 -0
  606. package/dist/lib/i18n/areas/keys.js +25 -0
  607. package/dist/lib/i18n/areas/keys.js.map +1 -0
  608. package/dist/lib/i18n/areas/markdown.js +136 -0
  609. package/dist/lib/i18n/areas/markdown.js.map +1 -0
  610. package/dist/lib/i18n/areas/move-rejected.js +14 -0
  611. package/dist/lib/i18n/areas/move-rejected.js.map +1 -0
  612. package/dist/lib/i18n/areas/navigation.js +104 -0
  613. package/dist/lib/i18n/areas/navigation.js.map +1 -0
  614. package/dist/lib/i18n/areas/rbac.js +332 -0
  615. package/dist/lib/i18n/areas/rbac.js.map +1 -0
  616. package/dist/lib/i18n/emphasis.js +6 -0
  617. package/dist/lib/i18n/emphasis.js.map +1 -0
  618. package/dist/lib/i18n/number-format.js +9 -0
  619. package/dist/lib/i18n/number-format.js.map +1 -0
  620. package/dist/lib/i18n/plural.js +9 -0
  621. package/dist/lib/i18n/plural.js.map +1 -0
  622. package/dist/lib/i18n/provider.js +27 -0
  623. package/dist/lib/i18n/provider.js.map +1 -0
  624. package/dist/lib/i18n/strings.js +38 -0
  625. package/dist/lib/i18n/strings.js.map +1 -0
  626. package/dist/lib/icons.js +17 -0
  627. package/dist/lib/icons.js.map +1 -0
  628. package/dist/lib/interactive-target.js +9 -0
  629. package/dist/lib/interactive-target.js.map +1 -0
  630. package/dist/lib/intl-cache.js +69 -0
  631. package/dist/lib/intl-cache.js.map +1 -0
  632. package/dist/lib/legal-document.js +37 -0
  633. package/dist/lib/legal-document.js.map +1 -0
  634. package/dist/lib/line-diff-model.js +51 -0
  635. package/dist/lib/line-diff-model.js.map +1 -0
  636. package/dist/lib/markdown/attachments.js +71 -0
  637. package/dist/lib/markdown/attachments.js.map +1 -0
  638. package/dist/lib/markdown/caret-map.js +153 -0
  639. package/dist/lib/markdown/caret-map.js.map +1 -0
  640. package/dist/lib/markdown/caret.js +35 -0
  641. package/dist/lib/markdown/caret.js.map +1 -0
  642. package/dist/lib/markdown/commands.js +443 -0
  643. package/dist/lib/markdown/commands.js.map +1 -0
  644. package/dist/lib/markdown/convert.js +153 -0
  645. package/dist/lib/markdown/convert.js.map +1 -0
  646. package/dist/lib/markdown/dom.js +89 -0
  647. package/dist/lib/markdown/dom.js.map +1 -0
  648. package/dist/lib/markdown/edit.js +92 -0
  649. package/dist/lib/markdown/edit.js.map +1 -0
  650. package/dist/lib/markdown/history.js +79 -0
  651. package/dist/lib/markdown/history.js.map +1 -0
  652. package/dist/lib/markdown/hotkeys.js +63 -0
  653. package/dist/lib/markdown/hotkeys.js.map +1 -0
  654. package/dist/lib/markdown/image-pipeline.js +236 -0
  655. package/dist/lib/markdown/image-pipeline.js.map +1 -0
  656. package/dist/lib/markdown/images.js +85 -0
  657. package/dist/lib/markdown/images.js.map +1 -0
  658. package/dist/lib/markdown/input.js +210 -0
  659. package/dist/lib/markdown/input.js.map +1 -0
  660. package/dist/lib/markdown/keys.js +37 -0
  661. package/dist/lib/markdown/keys.js.map +1 -0
  662. package/dist/lib/markdown/paste.js +180 -0
  663. package/dist/lib/markdown/paste.js.map +1 -0
  664. package/dist/lib/markdown/position.js +111 -0
  665. package/dist/lib/markdown/position.js.map +1 -0
  666. package/dist/lib/markdown/project.js +108 -0
  667. package/dist/lib/markdown/project.js.map +1 -0
  668. package/dist/lib/markdown/reconcile.js +127 -0
  669. package/dist/lib/markdown/reconcile.js.map +1 -0
  670. package/dist/lib/markdown/surface.js +373 -0
  671. package/dist/lib/markdown/surface.js.map +1 -0
  672. package/dist/lib/motion.js +22 -0
  673. package/dist/lib/motion.js.map +1 -0
  674. package/dist/lib/pad.js +7 -0
  675. package/dist/lib/pad.js.map +1 -0
  676. package/dist/lib/paged-window/layout.js +15 -0
  677. package/dist/lib/paged-window/layout.js.map +1 -0
  678. package/dist/lib/paged-window/list-owner.js +21 -0
  679. package/dist/lib/paged-window/list-owner.js.map +1 -0
  680. package/dist/lib/paged-window/records-binding.js +239 -0
  681. package/dist/lib/paged-window/records-binding.js.map +1 -0
  682. package/dist/lib/paged-window/store.js +562 -0
  683. package/dist/lib/paged-window/store.js.map +1 -0
  684. package/dist/lib/paged-window/use-measured-pitch.js +38 -0
  685. package/dist/lib/paged-window/use-measured-pitch.js.map +1 -0
  686. package/dist/lib/paged-window/use-page-visibility.js +36 -0
  687. package/dist/lib/paged-window/use-page-visibility.js.map +1 -0
  688. package/dist/lib/paged-window/use-paged-window.js +43 -0
  689. package/dist/lib/paged-window/use-paged-window.js.map +1 -0
  690. package/dist/lib/paged-window/use-scroll-root.js +12 -0
  691. package/dist/lib/paged-window/use-scroll-root.js.map +1 -0
  692. package/dist/lib/persist.js +84 -0
  693. package/dist/lib/persist.js.map +1 -0
  694. package/dist/lib/preference-values.js +13 -0
  695. package/dist/lib/preference-values.js.map +1 -0
  696. package/dist/lib/preferences.js +86 -0
  697. package/dist/lib/preferences.js.map +1 -0
  698. package/dist/lib/reads/hooks.js +156 -0
  699. package/dist/lib/reads/hooks.js.map +1 -0
  700. package/dist/lib/reads/optimistic.js +169 -0
  701. package/dist/lib/reads/optimistic.js.map +1 -0
  702. package/dist/lib/reads/refetch.js +108 -0
  703. package/dist/lib/reads/refetch.js.map +1 -0
  704. package/dist/lib/reads/slots.js +215 -0
  705. package/dist/lib/reads/slots.js.map +1 -0
  706. package/dist/lib/realtime/hooks.js +40 -0
  707. package/dist/lib/realtime/hooks.js.map +1 -0
  708. package/dist/lib/realtime/provider.js +25 -0
  709. package/dist/lib/realtime/provider.js.map +1 -0
  710. package/dist/lib/realtime/registry.js +472 -0
  711. package/dist/lib/realtime/registry.js.map +1 -0
  712. package/dist/lib/records/define-record-type.js +33 -0
  713. package/dist/lib/records/define-record-type.js.map +1 -0
  714. package/dist/lib/records/hooks.js +39 -0
  715. package/dist/lib/records/hooks.js.map +1 -0
  716. package/dist/lib/records/store.js +572 -0
  717. package/dist/lib/records/store.js.map +1 -0
  718. package/dist/lib/records/wire.js +58 -0
  719. package/dist/lib/records/wire.js.map +1 -0
  720. package/dist/lib/reduced-motion-help.js +19 -0
  721. package/dist/lib/reduced-motion-help.js.map +1 -0
  722. package/dist/lib/scroll-caret.js +18 -0
  723. package/dist/lib/scroll-caret.js.map +1 -0
  724. package/dist/lib/sim/createSimStore.js +54 -0
  725. package/dist/lib/sim/createSimStore.js.map +1 -0
  726. package/dist/lib/sim/latency.js +28 -0
  727. package/dist/lib/sim/latency.js.map +1 -0
  728. package/dist/lib/sim/registry.js +13 -0
  729. package/dist/lib/sim/registry.js.map +1 -0
  730. package/dist/lib/sim/settings.js +41 -0
  731. package/dist/lib/sim/settings.js.map +1 -0
  732. package/dist/lib/submit-shortcut.js +25 -0
  733. package/dist/lib/submit-shortcut.js.map +1 -0
  734. package/dist/lib/syntax/index.js +33 -0
  735. package/dist/lib/syntax/index.js.map +1 -0
  736. package/dist/lib/syntax/languages/bash.js +77 -0
  737. package/dist/lib/syntax/languages/bash.js.map +1 -0
  738. package/dist/lib/syntax/languages/css.js +81 -0
  739. package/dist/lib/syntax/languages/css.js.map +1 -0
  740. package/dist/lib/syntax/languages/html.js +91 -0
  741. package/dist/lib/syntax/languages/html.js.map +1 -0
  742. package/dist/lib/syntax/languages/index.js +49 -0
  743. package/dist/lib/syntax/languages/index.js.map +1 -0
  744. package/dist/lib/syntax/languages/javascript.js +133 -0
  745. package/dist/lib/syntax/languages/javascript.js.map +1 -0
  746. package/dist/lib/syntax/languages/json.js +45 -0
  747. package/dist/lib/syntax/languages/json.js.map +1 -0
  748. package/dist/lib/syntax/languages/mongodb.js +24 -0
  749. package/dist/lib/syntax/languages/mongodb.js.map +1 -0
  750. package/dist/lib/syntax/languages/plain.js +10 -0
  751. package/dist/lib/syntax/languages/plain.js.map +1 -0
  752. package/dist/lib/syntax/languages/sql.js +113 -0
  753. package/dist/lib/syntax/languages/sql.js.map +1 -0
  754. package/dist/lib/syntax/languages/vue.js +31 -0
  755. package/dist/lib/syntax/languages/vue.js.map +1 -0
  756. package/dist/lib/syntax/languages/yaml.js +55 -0
  757. package/dist/lib/syntax/languages/yaml.js.map +1 -0
  758. package/dist/lib/syntax/markdown/grammar.js +52 -0
  759. package/dist/lib/syntax/markdown/grammar.js.map +1 -0
  760. package/dist/lib/syntax/markdown/inline.js +477 -0
  761. package/dist/lib/syntax/markdown/inline.js.map +1 -0
  762. package/dist/lib/syntax/markdown/parse.js +464 -0
  763. package/dist/lib/syntax/markdown/parse.js.map +1 -0
  764. package/dist/lib/syntax/markdown/refs.js +94 -0
  765. package/dist/lib/syntax/markdown/refs.js.map +1 -0
  766. package/dist/lib/syntax/markdown/render.js +230 -0
  767. package/dist/lib/syntax/markdown/render.js.map +1 -0
  768. package/dist/lib/syntax/markdown/spans.js +40 -0
  769. package/dist/lib/syntax/markdown/spans.js.map +1 -0
  770. package/dist/lib/syntax/registry.js +55 -0
  771. package/dist/lib/syntax/registry.js.map +1 -0
  772. package/dist/lib/syntax/tokenize.js +96 -0
  773. package/dist/lib/syntax/tokenize.js.map +1 -0
  774. package/dist/lib/time/instant.js +7 -0
  775. package/dist/lib/time/instant.js.map +1 -0
  776. package/dist/lib/time/plain.js +83 -0
  777. package/dist/lib/time/plain.js.map +1 -0
  778. package/dist/lib/time/relativeAge.js +20 -0
  779. package/dist/lib/time/relativeAge.js.map +1 -0
  780. package/dist/lib/time/relativeClock.js +59 -0
  781. package/dist/lib/time/relativeClock.js.map +1 -0
  782. package/dist/lib/time/types.js +23 -0
  783. package/dist/lib/time/types.js.map +1 -0
  784. package/dist/lib/time/zone.js +148 -0
  785. package/dist/lib/time/zone.js.map +1 -0
  786. package/dist/lib/use-controllable.js +16 -0
  787. package/dist/lib/use-controllable.js.map +1 -0
  788. package/dist/lib/use-fill-height.js +49 -0
  789. package/dist/lib/use-fill-height.js.map +1 -0
  790. package/dist/lib/use-hydrated.js +14 -0
  791. package/dist/lib/use-hydrated.js.map +1 -0
  792. package/dist/lib/use-media-query.js +30 -0
  793. package/dist/lib/use-media-query.js.map +1 -0
  794. package/dist/lib/use-relabel-base-ui-dismiss.js +26 -0
  795. package/dist/lib/use-relabel-base-ui-dismiss.js.map +1 -0
  796. package/dist/lib/use-release-snap-drag.js +29 -0
  797. package/dist/lib/use-release-snap-drag.js.map +1 -0
  798. package/dist/lib/use-roving-options.js +18 -0
  799. package/dist/lib/use-roving-options.js.map +1 -0
  800. package/dist/lib/values/absent.js +5 -0
  801. package/dist/lib/values/absent.js.map +1 -0
  802. package/dist/lib/values/boolean.js +13 -0
  803. package/dist/lib/values/boolean.js.map +1 -0
  804. package/dist/lib/values/currency.js +23 -0
  805. package/dist/lib/values/currency.js.map +1 -0
  806. package/dist/lib/values/date.js +35 -0
  807. package/dist/lib/values/date.js.map +1 -0
  808. package/dist/lib/values/datetime.js +54 -0
  809. package/dist/lib/values/datetime.js.map +1 -0
  810. package/dist/lib/values/locale-date.js +60 -0
  811. package/dist/lib/values/locale-date.js.map +1 -0
  812. package/dist/lib/values/number.js +16 -0
  813. package/dist/lib/values/number.js.map +1 -0
  814. package/dist/pure.js +379 -0
  815. package/dist/pure.js.map +1 -0
  816. package/dist/styles.css +190 -0
  817. package/dist/theme.css +360 -0
  818. package/dist/types/components/Accordion.d.ts +15 -0
  819. package/dist/types/components/AgentWorkingSpinner.d.ts +23 -0
  820. package/dist/types/components/AppShell.d.ts +164 -0
  821. package/dist/types/components/Attention.d.ts +87 -0
  822. package/dist/types/components/Avatar.d.ts +154 -0
  823. package/dist/types/components/Badge.d.ts +131 -0
  824. package/dist/types/components/Board.d.ts +239 -0
  825. package/dist/types/components/Button.d.ts +208 -0
  826. package/dist/types/components/Callout.d.ts +163 -0
  827. package/dist/types/components/Card.d.ts +219 -0
  828. package/dist/types/components/Choice.d.ts +127 -0
  829. package/dist/types/components/CodeEditor.d.ts +86 -0
  830. package/dist/types/components/ColorPicker.d.ts +14 -0
  831. package/dist/types/components/Combobox.d.ts +43 -0
  832. package/dist/types/components/CommandPalette.d.ts +35 -0
  833. package/dist/types/components/ConcentricRing.d.ts +61 -0
  834. package/dist/types/components/ConnectionCard.d.ts +64 -0
  835. package/dist/types/components/ContextItemRow.d.ts +35 -0
  836. package/dist/types/components/CopyValue.d.ts +14 -0
  837. package/dist/types/components/CountBadge.d.ts +14 -0
  838. package/dist/types/components/DateCalendar.d.ts +30 -0
  839. package/dist/types/components/DateField.d.ts +29 -0
  840. package/dist/types/components/DatePicker.d.ts +20 -0
  841. package/dist/types/components/DateTimeText.d.ts +9 -0
  842. package/dist/types/components/DescriptionList.d.ts +40 -0
  843. package/dist/types/components/Dialog.d.ts +269 -0
  844. package/dist/types/components/DragDrop.d.ts +196 -0
  845. package/dist/types/components/Drawer.d.ts +163 -0
  846. package/dist/types/components/EditGutter.d.ts +44 -0
  847. package/dist/types/components/EmojiPicker.d.ts +30 -0
  848. package/dist/types/components/ErrorBoundary.d.ts +43 -0
  849. package/dist/types/components/Field.d.ts +37 -0
  850. package/dist/types/components/FileUpload.d.ts +22 -0
  851. package/dist/types/components/FilterMenu.d.ts +120 -0
  852. package/dist/types/components/GatesSection.d.ts +79 -0
  853. package/dist/types/components/Icon.d.ts +40 -0
  854. package/dist/types/components/IconButton.d.ts +69 -0
  855. package/dist/types/components/IconStack.d.ts +28 -0
  856. package/dist/types/components/ImageUploadField.d.ts +38 -0
  857. package/dist/types/components/InlineEdit.d.ts +183 -0
  858. package/dist/types/components/InlineMarkdownEdit.d.ts +100 -0
  859. package/dist/types/components/Input.d.ts +128 -0
  860. package/dist/types/components/LegalDocument.d.ts +23 -0
  861. package/dist/types/components/LineDiff.d.ts +53 -0
  862. package/dist/types/components/ListHeader.d.ts +45 -0
  863. package/dist/types/components/Loading.d.ts +131 -0
  864. package/dist/types/components/Markdown.d.ts +35 -0
  865. package/dist/types/components/MarkdownEditor.d.ts +129 -0
  866. package/dist/types/components/Menu.d.ts +157 -0
  867. package/dist/types/components/Navigation.d.ts +67 -0
  868. package/dist/types/components/NumberInput.d.ts +177 -0
  869. package/dist/types/components/OTPInput.d.ts +13 -0
  870. package/dist/types/components/OrderedEntityManager.d.ts +64 -0
  871. package/dist/types/components/PagedWindowList.d.ts +23 -0
  872. package/dist/types/components/PaginationBar.d.ts +31 -0
  873. package/dist/types/components/Panel.d.ts +94 -0
  874. package/dist/types/components/PasswordInput.d.ts +7 -0
  875. package/dist/types/components/PasswordRequirements.d.ts +11 -0
  876. package/dist/types/components/PatchDiff.d.ts +38 -0
  877. package/dist/types/components/PendingVeil.d.ts +8 -0
  878. package/dist/types/components/Popover.d.ts +231 -0
  879. package/dist/types/components/Progress.d.ts +580 -0
  880. package/dist/types/components/RatingScale.d.ts +30 -0
  881. package/dist/types/components/ReadMore.d.ts +26 -0
  882. package/dist/types/components/RecordCard.d.ts +413 -0
  883. package/dist/types/components/RelativeTime.d.ts +17 -0
  884. package/dist/types/components/SandboxedFrame.d.ts +37 -0
  885. package/dist/types/components/SearchInput.d.ts +6 -0
  886. package/dist/types/components/SecretField.d.ts +90 -0
  887. package/dist/types/components/SectionNav.d.ts +15 -0
  888. package/dist/types/components/Select.d.ts +53 -0
  889. package/dist/types/components/SequenceDiagram.d.ts +15 -0
  890. package/dist/types/components/SettingRow.d.ts +144 -0
  891. package/dist/types/components/SignOffRings.d.ts +29 -0
  892. package/dist/types/components/Slider.d.ts +255 -0
  893. package/dist/types/components/SolutionChoice.d.ts +49 -0
  894. package/dist/types/components/SortMenu.d.ts +45 -0
  895. package/dist/types/components/Spinner.d.ts +29 -0
  896. package/dist/types/components/Stat.d.ts +136 -0
  897. package/dist/types/components/StatusSelect.d.ts +93 -0
  898. package/dist/types/components/Surface.d.ts +145 -0
  899. package/dist/types/components/Table.d.ts +164 -0
  900. package/dist/types/components/Tabs.d.ts +142 -0
  901. package/dist/types/components/ThemeMenu.d.ts +56 -0
  902. package/dist/types/components/Toast.d.ts +63 -0
  903. package/dist/types/components/Toggle.d.ts +168 -0
  904. package/dist/types/components/ToggleMatrix.d.ts +51 -0
  905. package/dist/types/components/Tree.d.ts +20 -0
  906. package/dist/types/components/TriStateSwitch.d.ts +63 -0
  907. package/dist/types/components/VideoPlayer.d.ts +26 -0
  908. package/dist/types/components/auth/AcceptInvitationCard.d.ts +54 -0
  909. package/dist/types/components/auth/AuthLayout.d.ts +12 -0
  910. package/dist/types/components/auth/ForgotPasswordForm.d.ts +6 -0
  911. package/dist/types/components/auth/LoginForm.d.ts +13 -0
  912. package/dist/types/components/auth/ResetPasswordForm.d.ts +9 -0
  913. package/dist/types/components/auth/SignInProviders.d.ts +56 -0
  914. package/dist/types/components/auth/SignupCard.d.ts +62 -0
  915. package/dist/types/components/auth/TermsAcceptance.d.ts +14 -0
  916. package/dist/types/components/auth/index.d.ts +8 -0
  917. package/dist/types/components/board/context.d.ts +65 -0
  918. package/dist/types/components/board/recipe.d.ts +97 -0
  919. package/dist/types/components/calendar/CalendarMonth.d.ts +32 -0
  920. package/dist/types/components/calendar/CalendarTimeGrid.d.ts +74 -0
  921. package/dist/types/components/calendar/EventActions.d.ts +16 -0
  922. package/dist/types/components/calendar/format.d.ts +42 -0
  923. package/dist/types/components/calendar/palette.d.ts +17 -0
  924. package/dist/types/components/calendar/use-calendar-drag.d.ts +53 -0
  925. package/dist/types/components/calendar/use-event-keyboard.d.ts +23 -0
  926. package/dist/types/components/calendar/use-grid-navigation.d.ts +47 -0
  927. package/dist/types/components/calendar/use-now.d.ts +20 -0
  928. package/dist/types/components/card-face/AcRingGlyph.d.ts +20 -0
  929. package/dist/types/components/card-face/BoardCardAgentSlot.d.ts +19 -0
  930. package/dist/types/components/card-face/CardFace.d.ts +106 -0
  931. package/dist/types/components/card-face/CardTypeBadge.d.ts +21 -0
  932. package/dist/types/components/card-face/EffortBadge.d.ts +9 -0
  933. package/dist/types/components/card-face/GateRingGlyph.d.ts +22 -0
  934. package/dist/types/components/card-face/OverflowRow.d.ts +40 -0
  935. package/dist/types/components/card-face/TapTip.d.ts +15 -0
  936. package/dist/types/components/card-face/hit-area.d.ts +20 -0
  937. package/dist/types/components/card-face/vocabulary.d.ts +83 -0
  938. package/dist/types/components/chart/BarList.d.ts +27 -0
  939. package/dist/types/components/chart/LineChart.d.ts +64 -0
  940. package/dist/types/components/chart/ShareBar.d.ts +26 -0
  941. package/dist/types/components/chart/TimeSeriesChart.d.ts +60 -0
  942. package/dist/types/components/chart/label-metrics.d.ts +9 -0
  943. package/dist/types/components/chart/line-chart-axis.d.ts +14 -0
  944. package/dist/types/components/chart/line-chart-scale.d.ts +55 -0
  945. package/dist/types/components/chart/line-series-style.d.ts +14 -0
  946. package/dist/types/components/chart/share-bar-labels.d.ts +17 -0
  947. package/dist/types/components/chart/shared.d.ts +122 -0
  948. package/dist/types/components/chart/time-series-scale.d.ts +29 -0
  949. package/dist/types/components/chat/Attachment.d.ts +125 -0
  950. package/dist/types/components/chat/Chat.d.ts +60 -0
  951. package/dist/types/components/chat/Composer.d.ts +62 -0
  952. package/dist/types/components/chat/ContextMeter.d.ts +45 -0
  953. package/dist/types/components/chat/EffortControl.d.ts +23 -0
  954. package/dist/types/components/chat/FileCover.d.ts +14 -0
  955. package/dist/types/components/chat/Message.d.ts +66 -0
  956. package/dist/types/components/chat/MessageScroller.d.ts +18 -0
  957. package/dist/types/components/chat/ModelSelector.d.ts +44 -0
  958. package/dist/types/components/chat/StreamingMarkdown.d.ts +11 -0
  959. package/dist/types/components/chat/download-file.d.ts +7 -0
  960. package/dist/types/components/chat/file-icon.d.ts +29 -0
  961. package/dist/types/components/chat/types.d.ts +165 -0
  962. package/dist/types/components/checklist/StatusChecklist.d.ts +37 -0
  963. package/dist/types/components/checklist/index.d.ts +3 -0
  964. package/dist/types/components/checklist/tally.d.ts +19 -0
  965. package/dist/types/components/checklist/types.d.ts +28 -0
  966. package/dist/types/components/code-editor/context.d.ts +32 -0
  967. package/dist/types/components/code-editor/editing.d.ts +39 -0
  968. package/dist/types/components/code-editor/highlight.d.ts +20 -0
  969. package/dist/types/components/code-editor/recipe.d.ts +109 -0
  970. package/dist/types/components/date-timeline/DateTimeline.d.ts +99 -0
  971. package/dist/types/components/date-timeline/TimelineRow.d.ts +22 -0
  972. package/dist/types/components/date-timeline/useBarDrag.d.ts +15 -0
  973. package/dist/types/components/date-timeline/useMarkerDrag.d.ts +14 -0
  974. package/dist/types/components/date-timeline/useTimelineZoom.d.ts +23 -0
  975. package/dist/types/components/drag-drop/context.d.ts +85 -0
  976. package/dist/types/components/drag-drop/recipe.d.ts +163 -0
  977. package/dist/types/components/drag-drop/shift.d.ts +153 -0
  978. package/dist/types/components/edit/activation.d.ts +21 -0
  979. package/dist/types/components/edit/outcome.d.ts +29 -0
  980. package/dist/types/components/edit/use-edit-session.d.ts +77 -0
  981. package/dist/types/components/file-viewer/FileViewer.d.ts +2 -0
  982. package/dist/types/components/file-viewer/PageNumberJumpField.d.ts +9 -0
  983. package/dist/types/components/file-viewer/ViewerControls.d.ts +20 -0
  984. package/dist/types/components/file-viewer/ViewerRail.d.ts +10 -0
  985. package/dist/types/components/file-viewer/ViewerStage.d.ts +22 -0
  986. package/dist/types/components/file-viewer/frames.d.ts +28 -0
  987. package/dist/types/components/file-viewer/index.d.ts +3 -0
  988. package/dist/types/components/file-viewer/types.d.ts +70 -0
  989. package/dist/types/components/file-viewer/use-frame-cursor.d.ts +13 -0
  990. package/dist/types/components/file-viewer/use-viewer-keys.d.ts +24 -0
  991. package/dist/types/components/file-viewer/use-viewer-zoom.d.ts +29 -0
  992. package/dist/types/components/focus-web/FocusWeb.d.ts +3 -0
  993. package/dist/types/components/focus-web/index.d.ts +4 -0
  994. package/dist/types/components/focus-web/layout.d.ts +55 -0
  995. package/dist/types/components/focus-web/types.d.ts +131 -0
  996. package/dist/types/components/graph-explorer/GraphExplorer.d.ts +42 -0
  997. package/dist/types/components/graph-explorer/camera-math.d.ts +119 -0
  998. package/dist/types/components/graph-explorer/index.d.ts +5 -0
  999. package/dist/types/components/graph-explorer/tree-layout.d.ts +67 -0
  1000. package/dist/types/components/graph-explorer/types.d.ts +62 -0
  1001. package/dist/types/components/graph-explorer/use-camera.d.ts +81 -0
  1002. package/dist/types/components/graph-explorer/viewport-gesture.d.ts +32 -0
  1003. package/dist/types/components/kanban/KanbanBoard.d.ts +72 -0
  1004. package/dist/types/components/kanban/recipe.d.ts +73 -0
  1005. package/dist/types/components/kanban/types.d.ts +55 -0
  1006. package/dist/types/components/markdown/Affordances.d.ts +105 -0
  1007. package/dist/types/components/markdown/AttachmentStrip.d.ts +25 -0
  1008. package/dist/types/components/markdown/ImageUpload.d.ts +56 -0
  1009. package/dist/types/components/media-error.d.ts +11 -0
  1010. package/dist/types/components/nav-sections.d.ts +10 -0
  1011. package/dist/types/components/node-canvas/NodeCanvas.d.ts +66 -0
  1012. package/dist/types/components/node-canvas/index.d.ts +3 -0
  1013. package/dist/types/components/node-canvas/layout.d.ts +29 -0
  1014. package/dist/types/components/node-canvas/types.d.ts +207 -0
  1015. package/dist/types/components/node-canvas/use-canvas-gestures.d.ts +39 -0
  1016. package/dist/types/components/openapi/OpenApiViewer.d.ts +14 -0
  1017. package/dist/types/components/openapi/OperationCard.d.ts +33 -0
  1018. package/dist/types/components/openapi/SchemaView.d.ts +14 -0
  1019. package/dist/types/components/openapi/index.d.ts +6 -0
  1020. package/dist/types/components/openapi/resolve.d.ts +72 -0
  1021. package/dist/types/components/openapi/types.d.ts +128 -0
  1022. package/dist/types/components/overlay-shell.d.ts +48 -0
  1023. package/dist/types/components/overlay-stack.d.ts +18 -0
  1024. package/dist/types/components/paged-window/PageBlock.d.ts +31 -0
  1025. package/dist/types/components/provenance/ConfidenceBar.d.ts +118 -0
  1026. package/dist/types/components/provenance/ConfidenceMeter.d.ts +21 -0
  1027. package/dist/types/components/provenance/ConfidenceReadout.d.ts +17 -0
  1028. package/dist/types/components/provenance/ProvenanceBadge.d.ts +23 -0
  1029. package/dist/types/components/provenance/ProvenanceDetail.d.ts +109 -0
  1030. package/dist/types/components/provenance/ProvenanceDisclosure.d.ts +107 -0
  1031. package/dist/types/components/provenance/absence.d.ts +37 -0
  1032. package/dist/types/components/provenance/index.d.ts +7 -0
  1033. package/dist/types/components/provenance/types.d.ts +137 -0
  1034. package/dist/types/components/rbac/AccessRequestPanel.d.ts +92 -0
  1035. package/dist/types/components/rbac/AccountMenu.d.ts +46 -0
  1036. package/dist/types/components/rbac/AgentKeysList.d.ts +22 -0
  1037. package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
  1038. package/dist/types/components/rbac/ApiKeysTable.d.ts +65 -0
  1039. package/dist/types/components/rbac/Brand.d.ts +8 -0
  1040. package/dist/types/components/rbac/Can.d.ts +19 -0
  1041. package/dist/types/components/rbac/ChangePasswordForm.d.ts +18 -0
  1042. package/dist/types/components/rbac/DangerZone.d.ts +8 -0
  1043. package/dist/types/components/rbac/DevToolsPopover.d.ts +36 -0
  1044. package/dist/types/components/rbac/EndedLine.d.ts +21 -0
  1045. package/dist/types/components/rbac/InvitationsList.d.ts +39 -0
  1046. package/dist/types/components/rbac/InviteMembersDialog.d.ts +21 -0
  1047. package/dist/types/components/rbac/MembersPanel.d.ts +31 -0
  1048. package/dist/types/components/rbac/PermissionRequestPanel.d.ts +36 -0
  1049. package/dist/types/components/rbac/ProfileForm.d.ts +27 -0
  1050. package/dist/types/components/rbac/ProfilePage.d.ts +16 -0
  1051. package/dist/types/components/rbac/RBACProvider.d.ts +69 -0
  1052. package/dist/types/components/rbac/RoleEditorDialog.d.ts +28 -0
  1053. package/dist/types/components/rbac/RoleKeyPicker.d.ts +24 -0
  1054. package/dist/types/components/rbac/RolePermissionMatrix.d.ts +21 -0
  1055. package/dist/types/components/rbac/RolesPermissionsPage.d.ts +24 -0
  1056. package/dist/types/components/rbac/SessionsList.d.ts +35 -0
  1057. package/dist/types/components/rbac/TeamSettingsForm.d.ts +22 -0
  1058. package/dist/types/components/rbac/TeamSwitcher.d.ts +5 -0
  1059. package/dist/types/components/rbac/approvalPanelParts.d.ts +69 -0
  1060. package/dist/types/components/rbac/index.d.ts +25 -0
  1061. package/dist/types/components/rbac/permissionSections.d.ts +8 -0
  1062. package/dist/types/components/rbac/stagedForm.d.ts +25 -0
  1063. package/dist/types/components/rbac/types.d.ts +65 -0
  1064. package/dist/types/components/rbac/useStagedImage.d.ts +15 -0
  1065. package/dist/types/components/roadmap/PhaseManager.d.ts +19 -0
  1066. package/dist/types/components/roadmap/RoadmapItemCard.d.ts +51 -0
  1067. package/dist/types/components/roadmap/RoadmapPage.d.ts +12 -0
  1068. package/dist/types/components/roadmap/RoadmapSwimlaneBoard.d.ts +15 -0
  1069. package/dist/types/components/roadmap/TrackManager.d.ts +19 -0
  1070. package/dist/types/components/roadmap/UseCaseCard.d.ts +30 -0
  1071. package/dist/types/components/roadmap/UseCaseLedgerPage.d.ts +29 -0
  1072. package/dist/types/components/roadmap/chip-tones.d.ts +2 -0
  1073. package/dist/types/components/roadmap/derive.d.ts +39 -0
  1074. package/dist/types/components/roadmap/index.d.ts +10 -0
  1075. package/dist/types/components/roadmap/types.d.ts +86 -0
  1076. package/dist/types/components/stepper/Stepper.d.ts +79 -0
  1077. package/dist/types/components/stepper/derive.d.ts +49 -0
  1078. package/dist/types/components/stepper/index.d.ts +3 -0
  1079. package/dist/types/components/stepper/types.d.ts +118 -0
  1080. package/dist/types/icons/data.d.ts +2054 -0
  1081. package/dist/types/index.d.ts +209 -0
  1082. package/dist/types/lib/attention.d.ts +62 -0
  1083. package/dist/types/lib/board/anchor.d.ts +69 -0
  1084. package/dist/types/lib/board/index.d.ts +17 -0
  1085. package/dist/types/lib/board/model.d.ts +43 -0
  1086. package/dist/types/lib/board/move.d.ts +181 -0
  1087. package/dist/types/lib/board/position.d.ts +22 -0
  1088. package/dist/types/lib/board/rejection.d.ts +8 -0
  1089. package/dist/types/lib/board/types.d.ts +294 -0
  1090. package/dist/types/lib/board/use-board.d.ts +47 -0
  1091. package/dist/types/lib/calendar/band-packer.d.ts +53 -0
  1092. package/dist/types/lib/calendar/drag.d.ts +125 -0
  1093. package/dist/types/lib/calendar/index.d.ts +4 -0
  1094. package/dist/types/lib/calendar/lane-packer.d.ts +88 -0
  1095. package/dist/types/lib/calendar/segments.d.ts +91 -0
  1096. package/dist/types/lib/calendar/types.d.ts +166 -0
  1097. package/dist/types/lib/chart-palette.d.ts +14 -0
  1098. package/dist/types/lib/clipboard.d.ts +12 -0
  1099. package/dist/types/lib/cn.d.ts +7 -0
  1100. package/dist/types/lib/color.d.ts +14 -0
  1101. package/dist/types/lib/component-guidance.d.ts +15 -0
  1102. package/dist/types/lib/confidence.d.ts +28 -0
  1103. package/dist/types/lib/date-timeline/scale.d.ts +143 -0
  1104. package/dist/types/lib/design-frame/document.d.ts +39 -0
  1105. package/dist/types/lib/design-frame/mini-app-script.d.ts +29 -0
  1106. package/dist/types/lib/design-frame/mini-app.d.ts +17 -0
  1107. package/dist/types/lib/design-frame/protocol.d.ts +78 -0
  1108. package/dist/types/lib/dev-warn.d.ts +10 -0
  1109. package/dist/types/lib/dnd/announce.d.ts +124 -0
  1110. package/dist/types/lib/dnd/autoscroll.d.ts +88 -0
  1111. package/dist/types/lib/dnd/cross-drop.d.ts +18 -0
  1112. package/dist/types/lib/dnd/geometry.d.ts +126 -0
  1113. package/dist/types/lib/dnd/index.d.ts +17 -0
  1114. package/dist/types/lib/dnd/sensors/gesture.d.ts +37 -0
  1115. package/dist/types/lib/dnd/sensors/keyboard.d.ts +54 -0
  1116. package/dist/types/lib/dnd/sensors/pointer.d.ts +59 -0
  1117. package/dist/types/lib/dnd/session.d.ts +124 -0
  1118. package/dist/types/lib/dnd/types.d.ts +226 -0
  1119. package/dist/types/lib/dnd/use-drag.d.ts +82 -0
  1120. package/dist/types/lib/dom/scroll-ancestor.d.ts +15 -0
  1121. package/dist/types/lib/format.d.ts +33 -0
  1122. package/dist/types/lib/group-in-order.d.ts +13 -0
  1123. package/dist/types/lib/header-fold.d.ts +10 -0
  1124. package/dist/types/lib/i18n/areas/auth-provenance-flows.d.ts +287 -0
  1125. package/dist/types/lib/i18n/areas/board.d.ts +51 -0
  1126. package/dist/types/lib/i18n/areas/card-face.d.ts +8 -0
  1127. package/dist/types/lib/i18n/areas/chat-chart.d.ts +202 -0
  1128. package/dist/types/lib/i18n/areas/code-editor.d.ts +40 -0
  1129. package/dist/types/lib/i18n/areas/date-timeline.d.ts +36 -0
  1130. package/dist/types/lib/i18n/areas/dates.d.ts +103 -0
  1131. package/dist/types/lib/i18n/areas/docs-views.d.ts +297 -0
  1132. package/dist/types/lib/i18n/areas/feedback.d.ts +132 -0
  1133. package/dist/types/lib/i18n/areas/formats.d.ts +30 -0
  1134. package/dist/types/lib/i18n/areas/forms.d.ts +182 -0
  1135. package/dist/types/lib/i18n/areas/keys.d.ts +15 -0
  1136. package/dist/types/lib/i18n/areas/markdown.d.ts +150 -0
  1137. package/dist/types/lib/i18n/areas/move-rejected.d.ts +16 -0
  1138. package/dist/types/lib/i18n/areas/navigation.d.ts +185 -0
  1139. package/dist/types/lib/i18n/areas/rbac.d.ts +635 -0
  1140. package/dist/types/lib/i18n/emphasis.d.ts +3 -0
  1141. package/dist/types/lib/i18n/index.d.ts +10 -0
  1142. package/dist/types/lib/i18n/number-format.d.ts +5 -0
  1143. package/dist/types/lib/i18n/plural.d.ts +7 -0
  1144. package/dist/types/lib/i18n/provider.d.ts +16 -0
  1145. package/dist/types/lib/i18n/strings.d.ts +18 -0
  1146. package/dist/types/lib/icons.d.ts +22 -0
  1147. package/dist/types/lib/interactive-target.d.ts +3 -0
  1148. package/dist/types/lib/intl-cache.d.ts +31 -0
  1149. package/dist/types/lib/legal-document.d.ts +82 -0
  1150. package/dist/types/lib/line-diff-model.d.ts +39 -0
  1151. package/dist/types/lib/markdown/attachments.d.ts +50 -0
  1152. package/dist/types/lib/markdown/caret-map.d.ts +69 -0
  1153. package/dist/types/lib/markdown/caret.d.ts +6 -0
  1154. package/dist/types/lib/markdown/commands.d.ts +186 -0
  1155. package/dist/types/lib/markdown/convert.d.ts +99 -0
  1156. package/dist/types/lib/markdown/dom.d.ts +30 -0
  1157. package/dist/types/lib/markdown/edit.d.ts +16 -0
  1158. package/dist/types/lib/markdown/history.d.ts +59 -0
  1159. package/dist/types/lib/markdown/hotkeys.d.ts +63 -0
  1160. package/dist/types/lib/markdown/image-pipeline.d.ts +173 -0
  1161. package/dist/types/lib/markdown/images.d.ts +138 -0
  1162. package/dist/types/lib/markdown/input.d.ts +38 -0
  1163. package/dist/types/lib/markdown/keys.d.ts +34 -0
  1164. package/dist/types/lib/markdown/paste.d.ts +9 -0
  1165. package/dist/types/lib/markdown/position.d.ts +43 -0
  1166. package/dist/types/lib/markdown/project.d.ts +88 -0
  1167. package/dist/types/lib/markdown/reconcile.d.ts +63 -0
  1168. package/dist/types/lib/markdown/surface.d.ts +236 -0
  1169. package/dist/types/lib/motion.d.ts +30 -0
  1170. package/dist/types/lib/pad.d.ts +6 -0
  1171. package/dist/types/lib/paged-window/index.d.ts +2 -0
  1172. package/dist/types/lib/paged-window/layout.d.ts +21 -0
  1173. package/dist/types/lib/paged-window/list-owner.d.ts +12 -0
  1174. package/dist/types/lib/paged-window/records-binding.d.ts +102 -0
  1175. package/dist/types/lib/paged-window/store.d.ts +307 -0
  1176. package/dist/types/lib/paged-window/use-measured-pitch.d.ts +34 -0
  1177. package/dist/types/lib/paged-window/use-page-visibility.d.ts +20 -0
  1178. package/dist/types/lib/paged-window/use-paged-window.d.ts +61 -0
  1179. package/dist/types/lib/paged-window/use-scroll-root.d.ts +18 -0
  1180. package/dist/types/lib/persist.d.ts +57 -0
  1181. package/dist/types/lib/preference-values.d.ts +72 -0
  1182. package/dist/types/lib/preferences.d.ts +26 -0
  1183. package/dist/types/lib/reads/hooks.d.ts +49 -0
  1184. package/dist/types/lib/reads/index.d.ts +5 -0
  1185. package/dist/types/lib/reads/optimistic.d.ts +119 -0
  1186. package/dist/types/lib/reads/refetch.d.ts +83 -0
  1187. package/dist/types/lib/reads/slots.d.ts +137 -0
  1188. package/dist/types/lib/reads/types.d.ts +155 -0
  1189. package/dist/types/lib/realtime/hooks.d.ts +38 -0
  1190. package/dist/types/lib/realtime/index.d.ts +4 -0
  1191. package/dist/types/lib/realtime/provider.d.ts +38 -0
  1192. package/dist/types/lib/realtime/registry.d.ts +225 -0
  1193. package/dist/types/lib/realtime/types.d.ts +242 -0
  1194. package/dist/types/lib/records/define-record-type.d.ts +29 -0
  1195. package/dist/types/lib/records/hooks.d.ts +46 -0
  1196. package/dist/types/lib/records/index.d.ts +5 -0
  1197. package/dist/types/lib/records/store.d.ts +289 -0
  1198. package/dist/types/lib/records/types.d.ts +195 -0
  1199. package/dist/types/lib/records/wire.d.ts +96 -0
  1200. package/dist/types/lib/reduced-motion-help.d.ts +23 -0
  1201. package/dist/types/lib/scroll-caret.d.ts +6 -0
  1202. package/dist/types/lib/sim/createSimStore.d.ts +18 -0
  1203. package/dist/types/lib/sim/index.d.ts +5 -0
  1204. package/dist/types/lib/sim/latency.d.ts +10 -0
  1205. package/dist/types/lib/sim/registry.d.ts +14 -0
  1206. package/dist/types/lib/sim/settings.d.ts +11 -0
  1207. package/dist/types/lib/sim/types.d.ts +3 -0
  1208. package/dist/types/lib/submit-shortcut.d.ts +24 -0
  1209. package/dist/types/lib/syntax/index.d.ts +16 -0
  1210. package/dist/types/lib/syntax/languages/bash.d.ts +1 -0
  1211. package/dist/types/lib/syntax/languages/css.d.ts +1 -0
  1212. package/dist/types/lib/syntax/languages/html.d.ts +17 -0
  1213. package/dist/types/lib/syntax/languages/index.d.ts +33 -0
  1214. package/dist/types/lib/syntax/languages/javascript.d.ts +22 -0
  1215. package/dist/types/lib/syntax/languages/json.d.ts +1 -0
  1216. package/dist/types/lib/syntax/languages/mongodb.d.ts +1 -0
  1217. package/dist/types/lib/syntax/languages/plain.d.ts +9 -0
  1218. package/dist/types/lib/syntax/languages/sql.d.ts +4 -0
  1219. package/dist/types/lib/syntax/languages/vue.d.ts +1 -0
  1220. package/dist/types/lib/syntax/languages/yaml.d.ts +1 -0
  1221. package/dist/types/lib/syntax/markdown/frames.d.ts +145 -0
  1222. package/dist/types/lib/syntax/markdown/grammar.d.ts +1 -0
  1223. package/dist/types/lib/syntax/markdown/index.d.ts +5 -0
  1224. package/dist/types/lib/syntax/markdown/inline.d.ts +21 -0
  1225. package/dist/types/lib/syntax/markdown/parse.d.ts +15 -0
  1226. package/dist/types/lib/syntax/markdown/refs.d.ts +47 -0
  1227. package/dist/types/lib/syntax/markdown/render.d.ts +25 -0
  1228. package/dist/types/lib/syntax/markdown/spans.d.ts +84 -0
  1229. package/dist/types/lib/syntax/markdown/types.d.ts +108 -0
  1230. package/dist/types/lib/syntax/registry.d.ts +37 -0
  1231. package/dist/types/lib/syntax/tokenize.d.ts +17 -0
  1232. package/dist/types/lib/syntax/types.d.ts +119 -0
  1233. package/dist/types/lib/time/index.d.ts +4 -0
  1234. package/dist/types/lib/time/instant.d.ts +2 -0
  1235. package/dist/types/lib/time/plain.d.ts +61 -0
  1236. package/dist/types/lib/time/relativeAge.d.ts +18 -0
  1237. package/dist/types/lib/time/relativeClock.d.ts +8 -0
  1238. package/dist/types/lib/time/types.d.ts +87 -0
  1239. package/dist/types/lib/time/zone.d.ts +106 -0
  1240. package/dist/types/lib/use-controllable.d.ts +14 -0
  1241. package/dist/types/lib/use-fill-height.d.ts +26 -0
  1242. package/dist/types/lib/use-hydrated.d.ts +8 -0
  1243. package/dist/types/lib/use-media-query.d.ts +29 -0
  1244. package/dist/types/lib/use-relabel-base-ui-dismiss.d.ts +6 -0
  1245. package/dist/types/lib/use-release-snap-drag.d.ts +25 -0
  1246. package/dist/types/lib/use-roving-options.d.ts +10 -0
  1247. package/dist/types/lib/values/absent.d.ts +7 -0
  1248. package/dist/types/lib/values/boolean.d.ts +29 -0
  1249. package/dist/types/lib/values/currency.d.ts +22 -0
  1250. package/dist/types/lib/values/date.d.ts +30 -0
  1251. package/dist/types/lib/values/datetime.d.ts +48 -0
  1252. package/dist/types/lib/values/index.d.ts +5 -0
  1253. package/dist/types/lib/values/locale-date.d.ts +34 -0
  1254. package/dist/types/lib/values/number.d.ts +27 -0
  1255. package/dist/types/pure.d.ts +48 -0
  1256. package/package.json +136 -4
@@ -0,0 +1,50 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { getIcon as x } from "../lib/icons.js";
3
+ import { cn as g } from "../lib/cn.js";
4
+ const k = {
5
+ xs: "var(--icon-xs)",
6
+ sm: "var(--icon-sm)",
7
+ md: "var(--icon-md)",
8
+ lg: "var(--icon-lg)",
9
+ xl: "var(--icon-xl)"
10
+ }, u = {
11
+ xs: "var(--icon-stroke-xs)",
12
+ sm: "var(--icon-stroke-sm)",
13
+ md: "var(--icon-stroke-md)",
14
+ lg: "var(--icon-stroke-lg)",
15
+ xl: "var(--icon-stroke-xl)"
16
+ };
17
+ function R({
18
+ name: o,
19
+ node: r,
20
+ size: n = "md",
21
+ label: i,
22
+ className: c,
23
+ style: e,
24
+ ref: a,
25
+ ...l
26
+ }) {
27
+ const s = r ?? (o ? x(o) : void 0);
28
+ return s ? /* @__PURE__ */ t(
29
+ "svg",
30
+ {
31
+ ref: a,
32
+ viewBox: "0 0 24 24",
33
+ fill: "none",
34
+ stroke: "currentColor",
35
+ strokeWidth: u[n],
36
+ strokeLinecap: "round",
37
+ strokeLinejoin: "round",
38
+ "data-icon": r ? void 0 : o,
39
+ className: g("dx-icon shrink-0", c),
40
+ style: { "--dx-icon-size": k[n], ...e },
41
+ ...i ? { role: "img", "aria-label": i } : { "aria-hidden": !0, focusable: !1 },
42
+ ...l,
43
+ children: s.map(([m, d], v) => /* @__PURE__ */ t(m, { ...d }, v))
44
+ }
45
+ ) : null;
46
+ }
47
+ export {
48
+ R as Icon
49
+ };
50
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sources":["../../src/components/Icon.tsx"],"sourcesContent":["import type { CSSProperties, SVGProps } from \"react\";\nimport { getIcon, type IconNode } from \"../lib/icons\";\nimport type { CoreIconName } from \"../icons/data\";\nimport { cn } from \"../lib/cn\";\n\nexport type IconSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\n/**\n * `(string & {})` keeps the core names as autocomplete suggestions while still\n * accepting anything a consumer registered. Plain `string` would collapse the\n * union and lose the suggestions entirely.\n */\nexport type IconName = CoreIconName | (string & {});\n\nexport interface IconProps extends Omit<SVGProps<SVGSVGElement>, \"name\" | \"ref\"> {\n /** A registered icon name. Ignored when `node` is given. */\n name?: IconName;\n /** Raw geometry, for an icon that is not worth registering. */\n node?: IconNode;\n size?: IconSize;\n /**\n * An accessible name. Supplying it makes the icon `role=\"img\"`; omitting it\n * marks the icon decorative and hides it from assistive tech.\n *\n * The DEFAULT IS DECORATIVE, and that is the right default: an icon almost\n * always sits beside a label that already carries the meaning, and announcing\n * both makes every button read twice. The exception — an icon that IS the\n * only label — is the case worth typing a prop for.\n */\n label?: string;\n ref?: React.Ref<SVGSVGElement>;\n}\n\nconst SIZE_VAR: Record<IconSize, string> = {\n xs: \"var(--icon-xs)\",\n sm: \"var(--icon-sm)\",\n md: \"var(--icon-md)\",\n lg: \"var(--icon-lg)\",\n xl: \"var(--icon-xl)\",\n};\n\nconst STROKE_VAR: Record<IconSize, string> = {\n xs: \"var(--icon-stroke-xs)\",\n sm: \"var(--icon-stroke-sm)\",\n md: \"var(--icon-stroke-md)\",\n lg: \"var(--icon-stroke-lg)\",\n xl: \"var(--icon-stroke-xl)\",\n};\n\n/**\n * Renders registered icon geometry.\n *\n * Everything is `currentColor` and sized from CSS variables, so an icon inherits\n * both the colour and the size scale of whatever it sits in — no per-call\n * colour prop, and no icon left behind when the user changes the size toggle.\n *\n * `shrink-0` is not a detail: an icon inside a flex row with a long label will\n * otherwise be squeezed into an oval, which is the single most common way icons\n * break in a real layout.\n */\nexport function Icon({\n name,\n node,\n size = \"md\",\n label,\n className,\n style,\n ref,\n ...props\n}: IconProps) {\n const geometry = node ?? (name ? getIcon(name) : undefined);\n\n // An unregistered name renders nothing rather than throwing. A missing icon\n // is a cosmetic gap; taking down the surrounding tree over one is a far worse\n // outcome than a button that is briefly wordless — and config-driven icon\n // names are exactly where an unknown value legitimately shows up.\n if (!geometry) return null;\n\n return (\n <svg\n ref={ref}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={STROKE_VAR[size]}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n data-icon={node ? undefined : name}\n className={cn(\"dx-icon shrink-0\", className)}\n style={{ \"--dx-icon-size\": SIZE_VAR[size], ...style } as CSSProperties}\n {...(label ? { role: \"img\", \"aria-label\": label } : { \"aria-hidden\": true, focusable: false })}\n {...props}\n >\n {geometry.map(([tag, attrs], i) => {\n const Tag = tag as keyof React.JSX.IntrinsicElements;\n return <Tag key={i} {...attrs} />;\n })}\n </svg>\n );\n}\n"],"names":["SIZE_VAR","STROKE_VAR","Icon","name","node","size","label","className","style","ref","props","geometry","getIcon","jsx","cn","tag","attrs","i"],"mappings":";;;AAiCA,MAAMA,IAAqC;AAAA,EACzC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IAAuC;AAAA,EAC3C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAaO,SAASC,EAAK;AAAA,EACnB,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,GAAc;AACZ,QAAMC,IAAWP,MAASD,IAAOS,EAAQT,CAAI,IAAI;AAMjD,SAAKQ,IAGH,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAJ;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAaR,EAAWI,CAAI;AAAA,MAC5B,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,aAAWD,IAAO,SAAYD;AAAA,MAC9B,WAAWW,EAAG,oBAAoBP,CAAS;AAAA,MAC3C,OAAO,EAAE,kBAAkBP,EAASK,CAAI,GAAG,GAAGG,EAAA;AAAA,MAC7C,GAAIF,IAAQ,EAAE,MAAM,OAAO,cAAcA,EAAA,IAAU,EAAE,eAAe,IAAM,WAAW,GAAA;AAAA,MACrF,GAAGI;AAAA,MAEH,YAAS,IAAI,CAAC,CAACK,GAAKC,CAAK,GAAGC,MAEpB,gBAAAJ,EADKE,GACJ,EAAa,GAAGC,EAAA,GAAPC,CAAc,CAChC;AAAA,IAAA;AAAA,EAAA,IApBiB;AAuBxB;"}
@@ -0,0 +1,59 @@
1
+ import { jsx as o, jsxs as h } from "react/jsx-runtime";
2
+ import { Button as v } from "./Button.js";
3
+ import { CountBadge as x } from "./CountBadge.js";
4
+ import { Tooltip as B } from "./Popover.js";
5
+ import { cn as I } from "../lib/cn.js";
6
+ const N = {
7
+ ghost: { neutral: "ghost", danger: "ghost-danger" },
8
+ subtle: { neutral: "subtle", danger: "danger-subtle" },
9
+ outline: { neutral: "outline", danger: "outline-danger" },
10
+ solid: { neutral: "solid", danger: "danger" }
11
+ };
12
+ function y({
13
+ icon: u,
14
+ label: r,
15
+ badge: t,
16
+ variant: s = "ghost",
17
+ tone: a = "neutral",
18
+ size: e = "sm",
19
+ disabledReason: n,
20
+ hideTooltip: c = !1,
21
+ tooltipSide: m = "top",
22
+ className: d,
23
+ onClick: f,
24
+ ...p
25
+ }) {
26
+ const g = n !== void 0;
27
+ if (t !== void 0 && (!Number.isInteger(t.count) || t.count < 0))
28
+ throw new Error(`IconButton: badge.count must be a non-negative integer, got ${t.count}`);
29
+ const i = /* @__PURE__ */ o(
30
+ v,
31
+ {
32
+ variant: N[s][g ? "neutral" : a],
33
+ size: e,
34
+ iconOnly: !0,
35
+ "aria-label": r,
36
+ disabledReason: n,
37
+ disabledReasonTooltip: !1,
38
+ onClick: f,
39
+ className: I(
40
+ /* The coarse-pointer floor. `--control-*` already carries it for the
41
+ height; this covers the width on the same terms. */
42
+ /* DX-4031 — except `2xs`, whose whole contract is a 20px layout box: its 44px fingertip target is the
43
+ Button's own `::after` reach, and this class's `min-*` would grow the box instead. */
44
+ e !== "2xs" && "dx-tap",
45
+ d
46
+ ),
47
+ ...p,
48
+ children: u
49
+ }
50
+ ), l = c ? i : /* @__PURE__ */ o(B, { content: n ?? r, side: m, children: i });
51
+ return t === void 0 ? l : /* @__PURE__ */ h("span", { className: "relative inline-flex", children: [
52
+ l,
53
+ /* @__PURE__ */ o(x, { count: t.count, tone: t.tone })
54
+ ] });
55
+ }
56
+ export {
57
+ y as IconButton
58
+ };
59
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","sources":["../../src/components/IconButton.tsx"],"sourcesContent":["import type { ReactNode, Ref } from \"react\";\nimport { Button, type ButtonProps } from \"./Button\";\nimport { CountBadge, type CountBadgeTone } from \"./CountBadge\";\nimport { Tooltip } from \"./Popover\";\nimport { cn } from \"../lib/cn\";\n\n/* ============================================================================\n ICON BUTTON — the single door every icon-only control goes through.\n\n WHY THIS EXISTS AS A COMPONENT AND NOT A CONVENTION.\n\n A control whose whole content is a glyph has three obligations a text button\n gets for free, and all three were being met one control at a time — which\n means they were being MISSED one control at a time:\n\n 1. A POINTER CURSOR. `<button>` computes `cursor: default`, so nothing\n about resting on it says it can be pressed. That one is now fixed for\n every button on `Button`'s base, where it belonged.\n 2. AN ACCESSIBLE NAME. A glyph has no text, so a screen reader announces\n an icon-only button as \"button\" and nothing else. This is the obligation\n that cannot be delegated to discipline, and it is the reason this file\n is a COMPONENT rather than a documented pattern — see below.\n 3. A REASON WHEN IT IS OFF. A control that refuses without saying why is\n indistinguishable from one that is broken, which is precisely how the\n delete affordance in `PhaseManager` was read.\n\n WHY A NEW COMPONENT RATHER THAN A `Button` VARIANT — the deciding argument is\n obligation 2, and it is a TYPE argument, not a styling one.\n\n `Button` already carries the sizing ramp, the press affordance, the ripple,\n the focus ring and the `iconOnly` box, and this component reuses every one of\n them by RENDERING A `Button` — nothing is duplicated here, and a `tone` that\n goes red is expressed as two ordinary `Button` variants (`ghost-danger`,\n `outline-danger`) so a TEXT \"Delete\" button can reach it too. If the name\n could be made mandatory on `Button`, this file would not need to exist.\n\n It cannot. `Button`'s accessible name comes from its CHILDREN, which is\n correct and must stay optional — making `aria-label` required on `Button`\n would break every text button in the library and mean nothing anyway, since\n a name that is required in a type only matters where there is no other\n source for it. `IconButton` is exactly the case where there is no other\n source, so `label` is a required prop of a distinct type: it is not possible\n to construct one of these without a name. That is enforcement rather than a\n lint rule people learn to silence.\n\n `label` FEEDS `aria-label`, AND THE ICON IS `aria-hidden`. Worth stating\n because this library has shipped the inverse defect before: `aria-label`\n REPLACES an element's content in the accessibility tree, it does not extend\n it. On a control that also has text that is a way to silently hide the text;\n here there is no text to lose, and `children` is deliberately omitted from\n the props type so none can be introduced.\n\n `disabledReason` REPLACES `disabled`, AND THAT IS THE POINT.\n\n There is no boolean `disabled` on this component. Turning an icon control off\n requires a sentence saying why, because the failure this component was built\n in response to was not a dead button — it was a LIVE guard refusing in\n silence, which presents identically. A required string makes the mute\n refusal unrepresentable.\n\n THE WIRING FOR THAT LIVES IN `Button` NOW, NOT HERE (SG-839). `Button`\n grew its own `disabledReason` (SG-833 slice 7, the labelled case needed the\n same behaviour) by re-implementing what this file had already built —\n `aria-disabled`, the click guard, the `sr-only` description, the dimmed\n styling. Two copies of an accessibility behaviour is the one duplication\n that is guaranteed to drift silently, on the half screen-reader users\n depend on, so this file no longer computes any of it itself. It passes\n `disabledReason` straight through to the `Button` it already renders and\n lets `Button` own the mechanism end to end — this component's only\n remaining job is the one genuine difference: an icon has no visible label,\n so its tooltip has to carry the NAME while live, not only the reason while\n off (`Button` shows no tooltip at all when it isn't disabled — a labelled\n button doesn't need one). That is why `disabledReasonTooltip={false}` is\n passed to `Button` below: this component supplies its own, wider-scoped\n tooltip and would otherwise nest a second one around the same trigger.\n\n It is applied as `aria-disabled`, NOT the native attribute. Native `disabled`\n removes the element from the tab order and, via\n `disabled:pointer-events-none`, from hit-testing — so it can be neither\n hovered nor focused, and the tooltip carrying the explanation becomes\n unreachable by construction. `aria-disabled` announces the same state to\n assistive tech while leaving the control able to be asked about. The click is\n suppressed by `Button` itself, and `Button` treats `aria-disabled` as inert\n for ripple and press feedback so nothing says the press landed.\n ========================================================================= */\n\n/** Which `Button` variant backs each (variant, tone) pair. */\nconst VARIANT_FOR = {\n ghost: { neutral: \"ghost\", danger: \"ghost-danger\" },\n subtle: { neutral: \"subtle\", danger: \"danger-subtle\" },\n outline: { neutral: \"outline\", danger: \"outline-danger\" },\n solid: { neutral: \"solid\", danger: \"danger\" },\n} as const satisfies Record<string, Record<string, NonNullable<ButtonProps[\"variant\"]>>>;\n\nexport type IconButtonVariant = keyof typeof VARIANT_FOR;\nexport type IconButtonTone = \"neutral\" | \"danger\";\n\n/** A count drawn on the glyph's top-right corner: `neutral` is the quiet gray of a count nothing waits on, `danger` the red of one that does. */\nexport type IconButtonBadgeTone = CountBadgeTone;\n\nexport interface IconButtonBadge {\n /** The number drawn; above 99 it reads `99+`. Zero is drawn too: a count of nothing is still a count. */\n count: number;\n tone: IconButtonBadgeTone;\n}\n\nexport interface IconButtonProps\n extends Omit<\n ButtonProps,\n /* `children` is omitted so text cannot be smuggled in behind the\n `aria-label` and silently lost. `iconOnly` is implied. `variant` and\n `aria-label` are re-declared below with narrower contracts. */\n | \"children\"\n | \"iconOnly\"\n | \"leadingIcon\"\n | \"trailingIcon\"\n | \"variant\"\n | \"aria-label\"\n | \"disabled\"\n | \"aria-disabled\"\n /* Internal to the delegation below — see `Button.disabledReasonTooltip`'s\n own doc. Not part of `IconButton`'s public surface: this component\n always supplies its own tooltip, so callers have no reason to touch\n `Button`'s self-wrapping toggle directly. */\n | \"disabledReasonTooltip\"\n > {\n /** The glyph. Rendered `aria-hidden` — the name comes from `label`. */\n icon: ReactNode;\n /**\n * The accessible name, and the tooltip text. REQUIRED — an icon carries no\n * text, so there is no other source for it.\n *\n * Name the ACTION and its object (\"Delete Phase 2\"), not the picture\n * (\"Trash\"). It is read aloud in a list of controls where nothing else\n * distinguishes one row's delete from another's.\n */\n label: string;\n /**\n * A count drawn as a small round badge over the glyph's top-right corner (a comment button's number of comments). The accessible name stays\n * `label`: put the count in the label, since the badge itself is `aria-hidden`. A count below 0 or not an integer throws.\n */\n badge?: IconButtonBadge;\n /** Visual weight. Defaults to `ghost` — the right resting state in a row. */\n variant?: IconButtonVariant;\n /** `danger` makes the hover destructive. Resting state is unchanged. */\n tone?: IconButtonTone;\n /**\n * Unavailable, AND WHY — there is no boolean form. The string is shown in\n * the tooltip and announced as the control's description, so the refusal is\n * never silent.\n */\n disabledReason?: string;\n /**\n * Suppress the tooltip. For the rare control already named in adjacent\n * visible text, where a tooltip would only repeat it. The `aria-label` is\n * unaffected — the name is never optional.\n */\n hideTooltip?: boolean;\n tooltipSide?: \"top\" | \"bottom\" | \"left\" | \"right\";\n ref?: Ref<HTMLButtonElement>;\n}\n\nexport function IconButton({\n icon,\n label,\n badge,\n variant = \"ghost\",\n tone = \"neutral\",\n size = \"sm\",\n disabledReason,\n hideTooltip = false,\n tooltipSide = \"top\",\n className,\n onClick,\n ...props\n}: IconButtonProps) {\n const off = disabledReason !== undefined;\n if (badge !== undefined && (!Number.isInteger(badge.count) || badge.count < 0)) {\n throw new Error(`IconButton: badge.count must be a non-negative integer, got ${badge.count}`);\n }\n\n const control = (\n <Button\n /* A REFUSING CONTROL MUST NOT LOOK ARMED. The destructive tone is the\n signal that pressing this will destroy something; showing it on a\n control that will not fire promises an action it then refuses, which\n is worse than no signal at all. So an unavailable control drops back\n to the neutral tone and keeps only the neutral hover — enough to\n confirm the pointer is on it, which is what makes the tooltip\n discoverable in the first place. */\n /* I18N-ALLOW: tone token used as a lookup key into the button variant table */\n variant={VARIANT_FOR[variant][off ? \"neutral\" : tone]}\n size={size}\n iconOnly\n aria-label={label}\n /* Everything the OFF state needs — aria-disabled, aria-describedby +\n its sr-only span, the click guard, the dimmed/not-allowed styling —\n is `Button`'s own `disabledReason` mechanism now. Passing the string\n straight through IS the delegation; see this file's own header for\n why the tooltip alone is still handled here. */\n disabledReason={disabledReason}\n disabledReasonTooltip={false}\n onClick={onClick}\n className={cn(\n /* The coarse-pointer floor. `--control-*` already carries it for the\n height; this covers the width on the same terms. */\n /* DX-4031 — except `2xs`, whose whole contract is a 20px layout box: its 44px fingertip target is the\n Button's own `::after` reach, and this class's `min-*` would grow the box instead. */\n size !== \"2xs\" && \"dx-tap\",\n className,\n )}\n {...props}\n >\n {icon}\n </Button>\n );\n\n const tooltipped = hideTooltip ? (\n control\n ) : (\n <Tooltip content={disabledReason ?? label} side={tooltipSide}>\n {control}\n </Tooltip>\n );\n if (badge === undefined) return tooltipped;\n\n /* DX-6446: the badge is a SIBLING of the button, not its child. `Button` clips its content (`overflow-hidden`, for the click ripple), so a\n badge drawn inside it was cut at the button's edge, and moving it inward to avoid the cut put it over the glyph. Outside the clip it sits\n on the button's own top-right corner, where it overlaps the glyph (centred in the button) only at the badge's inner corner. */\n return (\n <span className=\"relative inline-flex\">\n {tooltipped}\n <CountBadge count={badge.count} tone={badge.tone} />\n </span>\n );\n}\n"],"names":["VARIANT_FOR","IconButton","icon","label","badge","variant","tone","size","disabledReason","hideTooltip","tooltipSide","className","onClick","props","off","control","jsx","Button","cn","tooltipped","Tooltip","jsxs","CountBadge"],"mappings":";;;;;AAuFA,MAAMA,IAAc;AAAA,EAClB,OAAO,EAAE,SAAS,SAAS,QAAQ,eAAA;AAAA,EACnC,QAAQ,EAAE,SAAS,UAAU,QAAQ,gBAAA;AAAA,EACrC,SAAS,EAAE,SAAS,WAAW,QAAQ,iBAAA;AAAA,EACvC,OAAO,EAAE,SAAS,SAAS,QAAQ,SAAA;AACrC;AAsEO,SAASC,EAAW;AAAA,EACzB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,gBAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAAA,EACd,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAMC,IAAMN,MAAmB;AAC/B,MAAIJ,MAAU,WAAc,CAAC,OAAO,UAAUA,EAAM,KAAK,KAAKA,EAAM,QAAQ;AAC1E,UAAM,IAAI,MAAM,+DAA+DA,EAAM,KAAK,EAAE;AAG9F,QAAMW,IACJ,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MASC,SAASjB,EAAYK,CAAO,EAAES,IAAM,YAAYR,CAAI;AAAA,MACpD,MAAAC;AAAA,MACA,UAAQ;AAAA,MACR,cAAYJ;AAAA,MAMZ,gBAAAK;AAAA,MACA,uBAAuB;AAAA,MACvB,SAAAI;AAAA,MACA,WAAWM;AAAA;AAAA;AAAA;AAAA;AAAA,QAKTX,MAAS,SAAS;AAAA,QAClBI;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MAEH,UAAAX;AAAA,IAAA;AAAA,EAAA,GAICiB,IAAaV,IACjBM,IAEA,gBAAAC,EAACI,GAAA,EAAQ,SAASZ,KAAkBL,GAAO,MAAMO,GAC9C,UAAAK,EAAA,CACH;AAEF,SAAIX,MAAU,SAAkBe,IAM9B,gBAAAE,EAAC,QAAA,EAAK,WAAU,wBACb,UAAA;AAAA,IAAAF;AAAA,sBACAG,GAAA,EAAW,OAAOlB,EAAM,OAAO,MAAMA,EAAM,KAAA,CAAM;AAAA,EAAA,GACpD;AAEJ;"}
@@ -0,0 +1,69 @@
1
+ import { jsx as r, jsxs as g } from "react/jsx-runtime";
2
+ import { cn as n } from "../lib/cn.js";
3
+ import { Icon as a } from "./Icon.js";
4
+ const u = {
5
+ neutral: "border-border bg-surface-raised text-secondary",
6
+ accent: "border-accent-border bg-accent-subtle text-accent-text",
7
+ success: "border-success-border bg-success-subtle text-success-text",
8
+ warning: "border-warning-border bg-warning-subtle text-warning-text",
9
+ danger: "border-danger-border bg-danger-subtle text-danger-text",
10
+ info: "border-info-border bg-info-subtle text-info-text",
11
+ muted: "border-muted-border bg-muted-subtle text-muted-text"
12
+ }, x = "border-dashed border-muted-border bg-surface text-muted-text", m = {
13
+ neutral: "text-secondary",
14
+ accent: "text-accent-text",
15
+ success: "text-success-text",
16
+ warning: "text-warning-text",
17
+ danger: "text-danger-text",
18
+ info: "text-info-text",
19
+ muted: "text-muted-text"
20
+ }, p = {
21
+ sm: { chip: "size-5", overlap: "-ml-1.5", badge: "size-2.5", glyph: "xs" },
22
+ md: { chip: "size-6", overlap: "-ml-2", badge: "size-3", glyph: "sm" },
23
+ lg: { chip: "size-7", overlap: "-ml-2.5", badge: "size-3.5", glyph: "sm" }
24
+ };
25
+ function z({ items: c, label: o, size: d = "md", className: i, ref: l, ...b }) {
26
+ const t = p[d];
27
+ return /* @__PURE__ */ r(
28
+ "span",
29
+ {
30
+ ref: l,
31
+ role: "img",
32
+ "aria-label": o,
33
+ className: n("inline-flex items-center", i),
34
+ ...b,
35
+ children: c.map((e, s) => /* @__PURE__ */ g(
36
+ "span",
37
+ {
38
+ "data-empty": e.empty || void 0,
39
+ className: n(
40
+ "relative grid shrink-0 place-items-center rounded-full border ring-2 ring-surface",
41
+ "transition-[var(--tx-colors)] duration-(--dur-fast)",
42
+ t.chip,
43
+ s > 0 && t.overlap,
44
+ e.empty ? x : u[e.tone ?? "neutral"]
45
+ ),
46
+ children: [
47
+ /* @__PURE__ */ r(a, { name: e.icon, size: t.glyph }),
48
+ e.badge && /* @__PURE__ */ r(
49
+ "span",
50
+ {
51
+ className: n(
52
+ "absolute -right-1 -bottom-1 grid place-items-center rounded-full bg-surface ring-1 ring-surface",
53
+ t.badge,
54
+ m[e.badge.tone ?? "neutral"]
55
+ ),
56
+ children: /* @__PURE__ */ r(a, { name: e.badge.icon, className: "size-full" })
57
+ }
58
+ )
59
+ ]
60
+ },
61
+ s
62
+ ))
63
+ }
64
+ );
65
+ }
66
+ export {
67
+ z as IconStack
68
+ };
69
+ //# sourceMappingURL=IconStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconStack.js","sources":["../../src/components/IconStack.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from \"react\";\nimport { cn } from \"../lib/cn\";\nimport { Icon, type IconName } from \"./Icon\";\n\n/* ============================================================================\n ICON STACK — several small marks overlapped into ONE compact glyph.\n\n WHAT IT IS FOR. A control whose state is the COMBINATION of several\n independent facts (\"approved\", \"docs on\", \"docs auto-approved\") needs one\n glyph that shows all of them at once. Three separate icons side by side read\n as three controls; overlapped into a single mark they read as one thing with\n parts, which is what the combination is.\n\n EACH MARK IS A CHIP, not a bare glyph. A bare glyph overlapped onto another\n is a tangle of strokes; a chip with a ring in the page colour CUTS the glyph\n beneath it, so the one on top stays readable at 20px and the overlap reads\n as \"in front of\", never as noise. The later mark sits on top of the earlier.\n\n AN ABSENT FACT IS DRAWN, NOT OMITTED. `empty` renders a dashed, quiet chip.\n \"Not approved yet\" is information; a missing glyph is indistinguishable from\n a glyph that failed to load, and a stack whose first mark vanishes when the\n fact is false changes width — shifting everything beside it.\n\n A `badge` PINS A SECOND MARK TO A CHIP'S CORNER, for a fact that qualifies\n another rather than standing beside it (\"docs, and auto-approved\").\n\n NAME IT. The whole stack is one `role=\"img\"` carrying the label, and every\n mark inside is hidden from assistive tech: a screen reader must hear the\n combination in words once, not three icon names. `label` is required for\n exactly that reason.\n ========================================================================= */\n\nexport type IconStackTone = \"neutral\" | \"accent\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"muted\";\n\nexport interface IconStackBadge {\n icon: IconName;\n tone?: IconStackTone;\n}\n\nexport interface IconStackItem {\n icon: IconName;\n tone?: IconStackTone;\n /**\n * The fact is ABSENT: a dashed, quiet outline in place of the filled chip.\n * `tone` is ignored — an absent mark is always the muted one.\n */\n empty?: boolean;\n /** A smaller mark pinned to this chip's bottom-right corner. */\n badge?: IconStackBadge;\n}\n\nexport type IconStackSize = \"sm\" | \"md\" | \"lg\";\n\nconst CHIP_TONE: Record<IconStackTone, string> = {\n neutral: \"border-border bg-surface-raised text-secondary\",\n accent: \"border-accent-border bg-accent-subtle text-accent-text\",\n success: \"border-success-border bg-success-subtle text-success-text\",\n warning: \"border-warning-border bg-warning-subtle text-warning-text\",\n danger: \"border-danger-border bg-danger-subtle text-danger-text\",\n info: \"border-info-border bg-info-subtle text-info-text\",\n muted: \"border-muted-border bg-muted-subtle text-muted-text\",\n};\n\nconst EMPTY_CHIP = \"border-dashed border-muted-border bg-surface text-muted-text\";\n\nconst BADGE_TONE: Record<IconStackTone, string> = {\n neutral: \"text-secondary\",\n accent: \"text-accent-text\",\n success: \"text-success-text\",\n warning: \"text-warning-text\",\n danger: \"text-danger-text\",\n info: \"text-info-text\",\n muted: \"text-muted-text\",\n};\n\n/* Chip box, glyph size, and how far each later chip tucks under its\n predecessor. The overlap is a fraction of the chip so it scales with it. */\nconst SIZE: Record<IconStackSize, { chip: string; overlap: string; badge: string; glyph: \"xs\" | \"sm\" }> = {\n sm: { chip: \"size-5\", overlap: \"-ml-1.5\", badge: \"size-2.5\", glyph: \"xs\" },\n md: { chip: \"size-6\", overlap: \"-ml-2\", badge: \"size-3\", glyph: \"sm\" },\n lg: { chip: \"size-7\", overlap: \"-ml-2.5\", badge: \"size-3.5\", glyph: \"sm\" },\n};\n\nexport interface IconStackProps extends Omit<HTMLAttributes<HTMLSpanElement>, \"children\" | \"aria-label\"> {\n /** Marks in paint order: the LAST one is on top. At least one. */\n items: readonly IconStackItem[];\n /** The whole combination, in words. REQUIRED — the marks carry no text. */\n label: string;\n size?: IconStackSize;\n ref?: Ref<HTMLSpanElement>;\n}\n\nexport function IconStack({ items, label, size = \"md\", className, ref, ...props }: IconStackProps) {\n const dims = SIZE[size];\n return (\n <span\n ref={ref}\n role=\"img\"\n aria-label={label}\n className={cn(\"inline-flex items-center\", className)}\n {...props}\n >\n {items.map((item, index) => (\n <span\n // The list is positional by construction (paint order IS identity),\n // and a mark never reorders without the whole stack re-rendering.\n key={index}\n data-empty={item.empty || undefined}\n className={cn(\n \"relative grid shrink-0 place-items-center rounded-full border ring-2 ring-surface\",\n \"transition-[var(--tx-colors)] duration-(--dur-fast)\",\n dims.chip,\n index > 0 && dims.overlap,\n item.empty ? EMPTY_CHIP : CHIP_TONE[item.tone ?? \"neutral\"],\n )}\n >\n <Icon name={item.icon} size={dims.glyph} />\n {item.badge && (\n <span\n className={cn(\n \"absolute -right-1 -bottom-1 grid place-items-center rounded-full bg-surface ring-1 ring-surface\",\n dims.badge,\n BADGE_TONE[item.badge.tone ?? \"neutral\"],\n )}\n >\n <Icon name={item.badge.icon} className=\"size-full\" />\n </span>\n )}\n </span>\n ))}\n </span>\n );\n}\n"],"names":["CHIP_TONE","EMPTY_CHIP","BADGE_TONE","SIZE","IconStack","items","label","size","className","ref","props","dims","jsx","cn","item","index","jsxs","Icon"],"mappings":";;;AAqDA,MAAMA,IAA2C;AAAA,EAC/C,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT,GAEMC,IAAa,gEAEbC,IAA4C;AAAA,EAChD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT,GAIMC,IAAoG;AAAA,EACxG,IAAI,EAAE,MAAM,UAAU,SAAS,WAAW,OAAO,YAAY,OAAO,KAAA;AAAA,EACpE,IAAI,EAAE,MAAM,UAAU,SAAS,SAAS,OAAO,UAAU,OAAO,KAAA;AAAA,EAChE,IAAI,EAAE,MAAM,UAAU,SAAS,WAAW,OAAO,YAAY,OAAO,KAAA;AACtE;AAWO,SAASC,EAAU,EAAE,OAAAC,GAAO,OAAAC,GAAO,MAAAC,IAAO,MAAM,WAAAC,GAAW,KAAAC,GAAK,GAAGC,KAAyB;AACjG,QAAMC,IAAOR,EAAKI,CAAI;AACtB,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,MAAK;AAAA,MACL,cAAYH;AAAA,MACZ,WAAWO,EAAG,4BAA4BL,CAAS;AAAA,MAClD,GAAGE;AAAA,MAEH,UAAAL,EAAM,IAAI,CAACS,GAAMC,MAChB,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UAIC,cAAYF,EAAK,SAAS;AAAA,UAC1B,WAAWD;AAAA,YACT;AAAA,YACA;AAAA,YACAF,EAAK;AAAA,YACLI,IAAQ,KAAKJ,EAAK;AAAA,YAClBG,EAAK,QAAQb,IAAaD,EAAUc,EAAK,QAAQ,SAAS;AAAA,UAAA;AAAA,UAG5D,UAAA;AAAA,YAAA,gBAAAF,EAACK,KAAK,MAAMH,EAAK,MAAM,MAAMH,EAAK,OAAO;AAAA,YACxCG,EAAK,SACJ,gBAAAF;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWC;AAAA,kBACT;AAAA,kBACAF,EAAK;AAAA,kBACLT,EAAWY,EAAK,MAAM,QAAQ,SAAS;AAAA,gBAAA;AAAA,gBAGzC,4BAACG,GAAA,EAAK,MAAMH,EAAK,MAAM,MAAM,WAAU,YAAA,CAAY;AAAA,cAAA;AAAA,YAAA;AAAA,UACrD;AAAA,QAAA;AAAA,QApBGC;AAAA,MAAA,CAuBR;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,146 @@
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import { useState as d, useRef as S } from "react";
3
+ import { cn as m } from "../lib/cn.js";
4
+ import { FileUpload as q } from "./FileUpload.js";
5
+ import { Icon as u } from "./Icon.js";
6
+ import { IconButton as I } from "./IconButton.js";
7
+ import { Spinner as D } from "./Spinner.js";
8
+ import { useUiStrings as G } from "../lib/i18n/provider.js";
9
+ const J = {
10
+ sm: "size-14",
11
+ md: "size-20",
12
+ lg: "size-28",
13
+ xl: "size-36"
14
+ };
15
+ function $({
16
+ value: P,
17
+ onChange: f,
18
+ onUpload: C,
19
+ shape: p = "circle",
20
+ size: F = "md",
21
+ removable: L = !0,
22
+ accept: g = "image/*",
23
+ maxSize: A,
24
+ disabled: t = !1,
25
+ label: x,
26
+ description: v,
27
+ uploadLabel: h,
28
+ removeLabel: E,
29
+ className: B,
30
+ ref: O
31
+ }) {
32
+ const l = G().imageUploadField, [H, b] = d(null), [i, N] = d(!1), [z, c] = d(null), a = S(null), U = S(null);
33
+ function R() {
34
+ a.current && (URL.revokeObjectURL(a.current), a.current = null);
35
+ }
36
+ async function k(s) {
37
+ const n = s[0];
38
+ if (!n) return;
39
+ R();
40
+ const j = URL.createObjectURL(n);
41
+ a.current = j, b(j), c(null), N(!0);
42
+ try {
43
+ const o = await C(n);
44
+ f?.(o);
45
+ } catch (o) {
46
+ c(o instanceof Error ? o.message : l.failed);
47
+ } finally {
48
+ N(!1), b(null), R();
49
+ }
50
+ }
51
+ function Z() {
52
+ c(null), f?.(null);
53
+ }
54
+ const y = H ?? P ?? null, _ = !!y, w = p === "circle" ? "rounded-full" : "rounded-lg";
55
+ return /* @__PURE__ */ r("div", { ref: O, className: m("flex flex-col gap-2", B), children: [
56
+ x && /* @__PURE__ */ e("span", { className: "text-xs font-medium text-secondary", children: x }),
57
+ _ ? /* @__PURE__ */ r("div", { className: "flex items-center gap-3", children: [
58
+ /* @__PURE__ */ r(
59
+ "div",
60
+ {
61
+ className: m(
62
+ "relative shrink-0 overflow-hidden border border-border bg-surface-inset",
63
+ J[F],
64
+ w
65
+ ),
66
+ children: [
67
+ /* @__PURE__ */ e("img", { src: y ?? void 0, alt: "", className: "size-full object-cover" }),
68
+ i && /* @__PURE__ */ e(
69
+ "div",
70
+ {
71
+ className: m(
72
+ "absolute inset-0 grid place-items-center bg-surface/70",
73
+ w
74
+ ),
75
+ children: /* @__PURE__ */ e(D, { size: "sm" })
76
+ }
77
+ )
78
+ ]
79
+ }
80
+ ),
81
+ /* @__PURE__ */ r("div", { className: "flex flex-col gap-1.5", children: [
82
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-1.5", children: [
83
+ /* @__PURE__ */ e(
84
+ I,
85
+ {
86
+ icon: /* @__PURE__ */ e(u, { name: "upload", size: "sm" }),
87
+ label: h ?? l.upload,
88
+ size: "sm",
89
+ disabledReason: t ? l.disabled : i ? l.uploading : void 0,
90
+ onClick: () => U.current?.click()
91
+ }
92
+ ),
93
+ L && /* @__PURE__ */ e(
94
+ I,
95
+ {
96
+ icon: /* @__PURE__ */ e(u, { name: "trash-2", size: "sm" }),
97
+ label: E ?? l.remove,
98
+ tone: "danger",
99
+ size: "sm",
100
+ disabledReason: t ? l.disabled : i ? l.uploading : void 0,
101
+ onClick: Z
102
+ }
103
+ )
104
+ ] }),
105
+ /* @__PURE__ */ e(
106
+ "input",
107
+ {
108
+ ref: U,
109
+ type: "file",
110
+ accept: g,
111
+ disabled: t || i,
112
+ onChange: (s) => {
113
+ const n = s.target.files ? Array.from(s.target.files) : [];
114
+ s.target.value = "", k(n);
115
+ },
116
+ className: "sr-only",
117
+ "aria-hidden": !0,
118
+ tabIndex: -1
119
+ }
120
+ )
121
+ ] })
122
+ ] }) : /* @__PURE__ */ e(
123
+ q,
124
+ {
125
+ multiple: !1,
126
+ accept: g,
127
+ maxSize: A,
128
+ disabled: t || i,
129
+ label: i ? l.uploading : h ?? l.upload,
130
+ hint: p === "circle" ? l.cropHint : void 0,
131
+ onFilesAdded: (s) => {
132
+ k(s);
133
+ },
134
+ className: "max-w-2xs"
135
+ }
136
+ ),
137
+ z ? /* @__PURE__ */ r("p", { className: "flex items-start gap-1.5 text-2xs text-danger-text", children: [
138
+ /* @__PURE__ */ e(u, { name: "circle-alert", size: "xs", className: "mt-px shrink-0" }),
139
+ z
140
+ ] }) : v && /* @__PURE__ */ e("p", { className: "text-2xs text-tertiary", children: v })
141
+ ] });
142
+ }
143
+ export {
144
+ $ as ImageUploadField
145
+ };
146
+ //# sourceMappingURL=ImageUploadField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageUploadField.js","sources":["../../src/components/ImageUploadField.tsx"],"sourcesContent":["import { useRef, useState, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../lib/cn\";\nimport { useUiStrings } from \"../lib/i18n\";\nimport { FileUpload } from \"./FileUpload\";\nimport { Icon } from \"./Icon\";\nimport { IconButton } from \"./IconButton\";\nimport { Spinner } from \"./Spinner\";\n\n/* ============================================================================\n IMAGE UPLOAD FIELD\n\n ONE IMAGE, TWO STATES OF UI — and which one is on screen is decided purely\n by whether there is a value to show. With nothing set, this composes\n `FileUpload` directly (per this library's own rule: drag/drop is that\n component's job, never hand-rolled a second time) so the empty state gets\n its focusable `<label>`/`<input type=file>`, its drag-depth counter and its\n rejected-file messaging for free. With a value set — either the caller's\n `value` or a locally-held object URL for a file mid-upload — the drop zone\n is replaced by a compact preview (circle or square) with a floating\n replace/remove pair, because a full drop zone the size of an avatar reads as\n broken chrome, not an upload control.\n\n THIS COMPONENT NEVER UPLOADS ANYTHING ITSELF. `onUpload` is the consumer's\n async callback (an S3 PUT, a multipart POST, whatever their backend wants);\n this component's only jobs are picking the file, showing a pending state\n while that promise is in flight, and surfacing whatever it rejects with.\n The moment it resolves, the returned URL becomes the new `value` via\n `onChange` — this is a controlled component, same relationship every other\n field in this library has with its data, never a fetch of its own.\n\n THE OBJECT-URL PREVIEW IS LOCAL AND TEMPORARY. Showing the *picked* file\n immediately (before `onUpload` has resolved) is what makes the control feel\n instant rather than frozen for however long the upload takes; the blob URL\n is revoked the moment it stops being the active preview so a rapid\n replace-replace-replace sequence cannot leak one per attempt.\n ========================================================================= */\n\nexport type ImageUploadFieldShape = \"circle\" | \"square\";\nexport type ImageUploadFieldSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nconst SIZE_CLASS: Record<ImageUploadFieldSize, string> = {\n sm: \"size-14\",\n md: \"size-20\",\n lg: \"size-28\",\n xl: \"size-36\",\n};\n\nexport interface ImageUploadFieldProps {\n /** The current image URL. `undefined`/`null` means nothing is set yet. */\n value?: string | null;\n /**\n * Fired once a pick resolves — either a successful upload (the URL\n * `onUpload` returned) or a remove (`null`). This is the only way `value`\n * ever changes; the component holds no persistent state of its own.\n */\n onChange?: (url: string | null) => void;\n /** Uploads the picked file and resolves with its stored URL. Rejecting\n * surfaces the rejection's `message` (or the rejection itself, stringified)\n * as this field's error. */\n onUpload: (file: File) => Promise<string>;\n shape?: ImageUploadFieldShape;\n size?: ImageUploadFieldSize;\n /** Hides the remove control even when a value is set — for a slot that must\n * always hold *something* (e.g. a required team logo with a seeded\n * default). Default `true`. */\n removable?: boolean;\n accept?: string;\n /** Bytes. Forwarded to `FileUpload`'s own limit + rejection message. */\n maxSize?: number;\n disabled?: boolean;\n /** Rendered above the preview. */\n label?: ReactNode;\n /** Rendered under the preview, when there is no error to show instead. */\n description?: ReactNode;\n /** Accessible name for the replace/pick control — required since the\n * control the preview state renders is icon-only. */\n uploadLabel?: string;\n removeLabel?: string;\n className?: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function ImageUploadField({\n value,\n onChange,\n onUpload,\n shape = \"circle\",\n size = \"md\",\n removable = true,\n accept = \"image/*\",\n maxSize,\n disabled = false,\n label,\n description,\n uploadLabel,\n removeLabel,\n className,\n ref,\n}: ImageUploadFieldProps) {\n const strings = useUiStrings().imageUploadField;\n const [pendingPreview, setPendingPreview] = useState<string | null>(null);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const objectUrlRef = useRef<string | null>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n function revokePending() {\n if (objectUrlRef.current) {\n URL.revokeObjectURL(objectUrlRef.current);\n objectUrlRef.current = null;\n }\n }\n\n async function pick(files: File[]) {\n const file = files[0];\n if (!file) return;\n\n revokePending();\n const localUrl = URL.createObjectURL(file);\n objectUrlRef.current = localUrl;\n setPendingPreview(localUrl);\n setError(null);\n setUploading(true);\n\n try {\n const url = await onUpload(file);\n onChange?.(url);\n } catch (cause) {\n setError(cause instanceof Error ? cause.message : strings.failed);\n } finally {\n setUploading(false);\n setPendingPreview(null);\n revokePending();\n }\n }\n\n function handleRemove() {\n setError(null);\n onChange?.(null);\n }\n\n const preview = pendingPreview ?? value ?? null;\n const hasPreview = Boolean(preview);\n const shapeClass = shape === \"circle\" ? \"rounded-full\" : \"rounded-lg\";\n\n return (\n <div ref={ref} className={cn(\"flex flex-col gap-2\", className)}>\n {label && <span className=\"text-xs font-medium text-secondary\">{label}</span>}\n\n {hasPreview ? (\n <div className=\"flex items-center gap-3\">\n <div\n className={cn(\n \"relative shrink-0 overflow-hidden border border-border bg-surface-inset\",\n SIZE_CLASS[size],\n shapeClass,\n )}\n >\n {/* eslint-disable-next-line jsx-a11y/img-redundant-alt */}\n <img src={preview ?? undefined} alt=\"\" className=\"size-full object-cover\" />\n {uploading && (\n <div\n className={cn(\n \"absolute inset-0 grid place-items-center bg-surface/70\",\n shapeClass,\n )}\n >\n <Spinner size=\"sm\" />\n </div>\n )}\n </div>\n\n <div className=\"flex flex-col gap-1.5\">\n <div className=\"flex items-center gap-1.5\">\n <IconButton\n icon={<Icon name=\"upload\" size=\"sm\" />}\n label={uploadLabel ?? strings.upload}\n size=\"sm\"\n disabledReason={disabled ? strings.disabled : uploading ? strings.uploading : undefined}\n onClick={() => inputRef.current?.click()}\n />\n {removable && (\n <IconButton\n icon={<Icon name=\"trash-2\" size=\"sm\" />}\n label={removeLabel ?? strings.remove}\n tone=\"danger\"\n size=\"sm\"\n disabledReason={disabled ? strings.disabled : uploading ? strings.uploading : undefined}\n onClick={handleRemove}\n />\n )}\n </div>\n {/* A hidden native input backs the replace button above — the\n compact preview state has no room for `FileUpload`'s full drop\n zone, but the file PICKING still goes through one real\n `<input type=file>` rather than a second hand-rolled one. */}\n <input\n ref={inputRef}\n type=\"file\"\n accept={accept}\n disabled={disabled || uploading}\n onChange={(event) => {\n const files = event.target.files ? Array.from(event.target.files) : [];\n event.target.value = \"\";\n void pick(files);\n }}\n className=\"sr-only\"\n aria-hidden\n tabIndex={-1}\n />\n </div>\n </div>\n ) : (\n <FileUpload\n multiple={false}\n accept={accept}\n maxSize={maxSize}\n disabled={disabled || uploading}\n label={uploading ? strings.uploading : (uploadLabel ?? strings.upload)}\n hint={shape === \"circle\" ? strings.cropHint : undefined}\n onFilesAdded={(files) => void pick(files)}\n /* Capped rather than left full-width: `FileUpload`'s own drop zone\n is sized for a document/attachment upload, and stretching it to\n match a form's full column width reads oddly next to a control\n whose whole point is a small circular/square image. The cap\n keeps its real drag/drop mechanics and messaging intact — only\n the WIDTH it is allowed to claim changes. */\n className=\"max-w-2xs\"\n />\n )}\n\n {error ? (\n <p className=\"flex items-start gap-1.5 text-2xs text-danger-text\">\n <Icon name=\"circle-alert\" size=\"xs\" className=\"mt-px shrink-0\" />\n {error}\n </p>\n ) : (\n description && <p className=\"text-2xs text-tertiary\">{description}</p>\n )}\n </div>\n );\n}\n"],"names":["SIZE_CLASS","ImageUploadField","value","onChange","onUpload","shape","size","removable","accept","maxSize","disabled","label","description","uploadLabel","removeLabel","className","ref","strings","useUiStrings","pendingPreview","setPendingPreview","useState","uploading","setUploading","error","setError","objectUrlRef","useRef","inputRef","revokePending","pick","files","file","localUrl","url","cause","handleRemove","preview","hasPreview","shapeClass","cn","jsx","jsxs","Spinner","IconButton","Icon","event","FileUpload"],"mappings":";;;;;;;;AAwCA,MAAMA,IAAmD;AAAA,EACvD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAqCO,SAASC,EAAiB;AAAA,EAC/B,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,QAAAC,IAAS;AAAA,EACT,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,KAAAC;AACF,GAA0B;AACxB,QAAMC,IAAUC,IAAe,kBACzB,CAACC,GAAgBC,CAAiB,IAAIC,EAAwB,IAAI,GAClE,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAC1C,CAACG,GAAOC,CAAQ,IAAIJ,EAAwB,IAAI,GAChDK,IAAeC,EAAsB,IAAI,GACzCC,IAAWD,EAAyB,IAAI;AAE9C,WAASE,IAAgB;AACvB,IAAIH,EAAa,YACf,IAAI,gBAAgBA,EAAa,OAAO,GACxCA,EAAa,UAAU;AAAA,EAE3B;AAEA,iBAAeI,EAAKC,GAAe;AACjC,UAAMC,IAAOD,EAAM,CAAC;AACpB,QAAI,CAACC,EAAM;AAEX,IAAAH,EAAA;AACA,UAAMI,IAAW,IAAI,gBAAgBD,CAAI;AACzC,IAAAN,EAAa,UAAUO,GACvBb,EAAkBa,CAAQ,GAC1BR,EAAS,IAAI,GACbF,EAAa,EAAI;AAEjB,QAAI;AACF,YAAMW,IAAM,MAAM9B,EAAS4B,CAAI;AAC/B,MAAA7B,IAAW+B,CAAG;AAAA,IAChB,SAASC,GAAO;AACd,MAAAV,EAASU,aAAiB,QAAQA,EAAM,UAAUlB,EAAQ,MAAM;AAAA,IAClE,UAAA;AACE,MAAAM,EAAa,EAAK,GAClBH,EAAkB,IAAI,GACtBS,EAAA;AAAA,IACF;AAAA,EACF;AAEA,WAASO,IAAe;AACtB,IAAAX,EAAS,IAAI,GACbtB,IAAW,IAAI;AAAA,EACjB;AAEA,QAAMkC,IAAUlB,KAAkBjB,KAAS,MACrCoC,IAAa,EAAQD,GACrBE,IAAalC,MAAU,WAAW,iBAAiB;AAEzD,2BACG,OAAA,EAAI,KAAAW,GAAU,WAAWwB,EAAG,uBAAuBzB,CAAS,GAC1D,UAAA;AAAA,IAAAJ,KAAS,gBAAA8B,EAAC,QAAA,EAAK,WAAU,sCAAsC,UAAA9B,GAAM;AAAA,IAErE2B,IACC,gBAAAI,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,YACT;AAAA,YACAxC,EAAWM,CAAI;AAAA,YACfiC;AAAA,UAAA;AAAA,UAIF,UAAA;AAAA,YAAA,gBAAAE,EAAC,SAAI,KAAKJ,KAAW,QAAW,KAAI,IAAG,WAAU,0BAAyB;AAAA,YACzEf,KACC,gBAAAmB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWD;AAAA,kBACT;AAAA,kBACAD;AAAA,gBAAA;AAAA,gBAGF,UAAA,gBAAAE,EAACE,GAAA,EAAQ,MAAK,KAAA,CAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UACrB;AAAA,QAAA;AAAA,MAAA;AAAA,MAIJ,gBAAAD,EAAC,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAM,gBAAAH,EAACI,GAAA,EAAK,MAAK,UAAS,MAAK,MAAK;AAAA,cACpC,OAAOhC,KAAeI,EAAQ;AAAA,cAC9B,MAAK;AAAA,cACL,gBAAgBP,IAAWO,EAAQ,WAAWK,IAAYL,EAAQ,YAAY;AAAA,cAC9E,SAAS,MAAMW,EAAS,SAAS,MAAA;AAAA,YAAM;AAAA,UAAA;AAAA,UAExCrB,KACC,gBAAAkC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAM,gBAAAH,EAACI,GAAA,EAAK,MAAK,WAAU,MAAK,MAAK;AAAA,cACrC,OAAO/B,KAAeG,EAAQ;AAAA,cAC9B,MAAK;AAAA,cACL,MAAK;AAAA,cACL,gBAAgBP,IAAWO,EAAQ,WAAWK,IAAYL,EAAQ,YAAY;AAAA,cAC9E,SAASmB;AAAA,YAAA;AAAA,UAAA;AAAA,QACX,GAEJ;AAAA,QAKA,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKb;AAAA,YACL,MAAK;AAAA,YACL,QAAApB;AAAA,YACA,UAAUE,KAAYY;AAAA,YACtB,UAAU,CAACwB,MAAU;AACnB,oBAAMf,IAAQe,EAAM,OAAO,QAAQ,MAAM,KAAKA,EAAM,OAAO,KAAK,IAAI,CAAA;AACpE,cAAAA,EAAM,OAAO,QAAQ,IAChBhB,EAAKC,CAAK;AAAA,YACjB;AAAA,YACA,WAAU;AAAA,YACV,eAAW;AAAA,YACX,UAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ,EAAA,CACF;AAAA,IAAA,EAAA,CACF,IAEA,gBAAAU;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,QAAAvC;AAAA,QACA,SAAAC;AAAA,QACA,UAAUC,KAAYY;AAAA,QACtB,OAAOA,IAAYL,EAAQ,YAAaJ,KAAeI,EAAQ;AAAA,QAC/D,MAAMZ,MAAU,WAAWY,EAAQ,WAAW;AAAA,QAC9C,cAAc,CAACc;AAAU,UAAKD,EAAKC,CAAK;AAAA;AAAA,QAOxC,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAIbP,IACC,gBAAAkB,EAAC,KAAA,EAAE,WAAU,sDACX,UAAA;AAAA,MAAA,gBAAAD,EAACI,KAAK,MAAK,gBAAe,MAAK,MAAK,WAAU,kBAAiB;AAAA,MAC9DrB;AAAA,IAAA,GACH,IAEAZ,KAAe,gBAAA6B,EAAC,KAAA,EAAE,WAAU,0BAA0B,UAAA7B,EAAA,CAAY;AAAA,EAAA,GAEtE;AAEJ;"}