@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,51 @@
1
+ import { dateFormat as d } from "../../lib/intl-cache.js";
2
+ const g = 6e4, y = 864e5;
3
+ function k(n, s = 4) {
4
+ if (!Number.isFinite(n) || n <= 0) return { ticks: [0, 1], max: 1 };
5
+ const o = n / s, t = 10 ** Math.floor(Math.log10(o)), e = o / t, r = (e <= 1 ? 1 : e <= 2 ? 2 : e <= 5 ? 5 : 10) * t, f = Math.ceil(n / r - 1e-9) * r, c = [];
6
+ for (let m = 0; m * r <= f + r * 1e-9; m++) c.push(Number((m * r).toPrecision(12)));
7
+ return { ticks: c, max: c[c.length - 1] };
8
+ }
9
+ function p(n, s, o) {
10
+ const t = (i) => {
11
+ const u = d(s, { ...i, timeZone: o });
12
+ return (l) => u.format(l);
13
+ }, e = t({ hour: "numeric", minute: "2-digit" }), r = t({ month: "short", day: "numeric" }), f = t({ month: "short", year: "numeric" }), c = t({ year: "numeric" });
14
+ if (n < y) {
15
+ const i = t({ dateStyle: "medium", timeStyle: "short" });
16
+ return {
17
+ tick: (u, l) => {
18
+ const a = r(u);
19
+ return { primary: e(u), secondary: l === null || r(l) !== a ? a : null };
20
+ },
21
+ full: i
22
+ };
23
+ }
24
+ if (n < 28 * y) {
25
+ const i = t({ dateStyle: "medium" });
26
+ return {
27
+ tick: (u, l) => {
28
+ const a = c(u);
29
+ return { primary: r(u), secondary: l !== null && c(l) !== a ? a : null };
30
+ },
31
+ full: i
32
+ };
33
+ }
34
+ const m = t({ month: "long", year: "numeric" });
35
+ return { tick: (i) => ({ primary: f(i), secondary: null }), full: m };
36
+ }
37
+ function M(n, s, o) {
38
+ for (let t = n.length - 1; t >= 0; t--) {
39
+ const e = n[t];
40
+ if (o >= e) return o < e + s ? t : -1;
41
+ }
42
+ return -1;
43
+ }
44
+ export {
45
+ y as DAY_MS,
46
+ g as MINUTE_MS,
47
+ M as bucketIndexAt,
48
+ k as niceTicks,
49
+ p as timeFormatters
50
+ };
51
+ //# sourceMappingURL=time-series-scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-series-scale.js","sources":["../../../src/components/chart/time-series-scale.ts"],"sourcesContent":["/* ----------------------------------------------------------------------------\n THE ARITHMETIC OF A TIME-SERIES CHART (DX-4328) — pure functions, no React,\n so the axis and the time labels are tested as numbers and not as pixels.\n -------------------------------------------------------------------------- */\n\nimport { dateFormat } from \"@/lib/intl-cache\";\n\nexport const MINUTE_MS = 60_000;\nexport const DAY_MS = 86_400_000;\n\n/**\n * A value axis that starts at zero and ends on a round number at or above\n * `max`, with about `count` intervals: steps of 1, 2 or 5 times a power of ten.\n * No data (`max <= 0`) is a 0-to-1 axis, never a zero-height one.\n */\nexport function niceTicks(max: number, count = 4): { ticks: number[]; max: number } {\n if (!Number.isFinite(max) || max <= 0) return { ticks: [0, 1], max: 1 };\n const raw = max / count;\n const magnitude = 10 ** Math.floor(Math.log10(raw));\n const norm = raw / magnitude;\n const step = (norm <= 1 ? 1 : norm <= 2 ? 2 : norm <= 5 ? 5 : 10) * magnitude;\n const top = Math.ceil(max / step - 1e-9) * step;\n const ticks: number[] = [];\n for (let k = 0; k * step <= top + step * 1e-9; k++) ticks.push(Number((k * step).toPrecision(12)));\n return { ticks, max: ticks[ticks.length - 1]! };\n}\n\nexport interface TimeFormatters {\n /** The label under a tick: a primary line, and a secondary line when the day (or year) changed since the last tick. */\n tick: (ms: number, previousMs: number | null) => { primary: string; secondary: string | null };\n /** The whole instant, for the tooltip and the table. */\n full: (ms: number) => string;\n}\n\n/**\n * How a bucket start reads for a bucket this wide. Under a day the time is the\n * label and the date appears where it changes; a day or wider is labelled by\n * its date; a month or wider by month and year. `timeZone` is passed straight\n * to `Intl` (an unknown zone throws, loudly); undefined is the viewer's own.\n */\nexport function timeFormatters(bucketMs: number, locale: string, timeZone: string | undefined): TimeFormatters {\n const fmt = (options: Intl.DateTimeFormatOptions) => {\n const f = dateFormat(locale, { ...options, timeZone });\n return (ms: number) => f.format(ms);\n };\n const time = fmt({ hour: \"numeric\", minute: \"2-digit\" });\n const date = fmt({ month: \"short\", day: \"numeric\" });\n const monthYear = fmt({ month: \"short\", year: \"numeric\" });\n const year = fmt({ year: \"numeric\" });\n\n if (bucketMs < DAY_MS) {\n const full = fmt({ dateStyle: \"medium\", timeStyle: \"short\" });\n return {\n tick: (ms, prev) => {\n const d = date(ms);\n return { primary: time(ms), secondary: prev === null || date(prev) !== d ? d : null };\n },\n full,\n };\n }\n if (bucketMs < 28 * DAY_MS) {\n const full = fmt({ dateStyle: \"medium\" });\n return {\n tick: (ms, prev) => {\n const y = year(ms);\n return { primary: date(ms), secondary: prev !== null && year(prev) !== y ? y : null };\n },\n full,\n };\n }\n const full = fmt({ month: \"long\", year: \"numeric\" });\n return { tick: (ms) => ({ primary: monthYear(ms), secondary: null }), full };\n}\n\n/** The index of the bucket whose span `[start, start + bucketMs)` holds `at`, or -1. */\nexport function bucketIndexAt(buckets: readonly number[], bucketMs: number, at: number): number {\n for (let i = buckets.length - 1; i >= 0; i--) {\n const start = buckets[i]!;\n if (at >= start) return at < start + bucketMs ? i : -1;\n }\n return -1;\n}\n"],"names":["MINUTE_MS","DAY_MS","niceTicks","max","count","raw","magnitude","norm","step","top","ticks","k","timeFormatters","bucketMs","locale","timeZone","fmt","options","f","dateFormat","ms","time","date","monthYear","year","full","prev","d","y","bucketIndexAt","buckets","at","i","start"],"mappings":";AAOO,MAAMA,IAAY,KACZC,IAAS;AAOf,SAASC,EAAUC,GAAaC,IAAQ,GAAqC;AAClF,MAAI,CAAC,OAAO,SAASD,CAAG,KAAKA,KAAO,EAAG,QAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,EAAA;AACpE,QAAME,IAAMF,IAAMC,GACZE,IAAY,MAAM,KAAK,MAAM,KAAK,MAAMD,CAAG,CAAC,GAC5CE,IAAOF,IAAMC,GACbE,KAAQD,KAAQ,IAAI,IAAIA,KAAQ,IAAI,IAAIA,KAAQ,IAAI,IAAI,MAAMD,GAC9DG,IAAM,KAAK,KAAKN,IAAMK,IAAO,IAAI,IAAIA,GACrCE,IAAkB,CAAA;AACxB,WAASC,IAAI,GAAGA,IAAIH,KAAQC,IAAMD,IAAO,MAAMG,IAAK,CAAAD,EAAM,KAAK,QAAQC,IAAIH,GAAM,YAAY,EAAE,CAAC,CAAC;AACjG,SAAO,EAAE,OAAAE,GAAO,KAAKA,EAAMA,EAAM,SAAS,CAAC,EAAA;AAC7C;AAeO,SAASE,EAAeC,GAAkBC,GAAgBC,GAA8C;AAC7G,QAAMC,IAAM,CAACC,MAAwC;AACnD,UAAMC,IAAIC,EAAWL,GAAQ,EAAE,GAAGG,GAAS,UAAAF,GAAU;AACrD,WAAO,CAACK,MAAeF,EAAE,OAAOE,CAAE;AAAA,EACpC,GACMC,IAAOL,EAAI,EAAE,MAAM,WAAW,QAAQ,WAAW,GACjDM,IAAON,EAAI,EAAE,OAAO,SAAS,KAAK,WAAW,GAC7CO,IAAYP,EAAI,EAAE,OAAO,SAAS,MAAM,WAAW,GACnDQ,IAAOR,EAAI,EAAE,MAAM,WAAW;AAEpC,MAAIH,IAAWZ,GAAQ;AACrB,UAAMwB,IAAOT,EAAI,EAAE,WAAW,UAAU,WAAW,SAAS;AAC5D,WAAO;AAAA,MACL,MAAM,CAACI,GAAIM,MAAS;AAClB,cAAMC,IAAIL,EAAKF,CAAE;AACjB,eAAO,EAAE,SAASC,EAAKD,CAAE,GAAG,WAAWM,MAAS,QAAQJ,EAAKI,CAAI,MAAMC,IAAIA,IAAI,KAAA;AAAA,MACjF;AAAA,MACA,MAAAF;AAAAA,IAAA;AAAA,EAEJ;AACA,MAAIZ,IAAW,KAAKZ,GAAQ;AAC1B,UAAMwB,IAAOT,EAAI,EAAE,WAAW,UAAU;AACxC,WAAO;AAAA,MACL,MAAM,CAACI,GAAIM,MAAS;AAClB,cAAME,IAAIJ,EAAKJ,CAAE;AACjB,eAAO,EAAE,SAASE,EAAKF,CAAE,GAAG,WAAWM,MAAS,QAAQF,EAAKE,CAAI,MAAME,IAAIA,IAAI,KAAA;AAAA,MACjF;AAAA,MACA,MAAAH;AAAAA,IAAA;AAAA,EAEJ;AACA,QAAMA,IAAOT,EAAI,EAAE,OAAO,QAAQ,MAAM,WAAW;AACnD,SAAO,EAAE,MAAM,CAACI,OAAQ,EAAE,SAASG,EAAUH,CAAE,GAAG,WAAW,KAAA,IAAS,MAAAK,EAAA;AACxE;AAGO,SAASI,EAAcC,GAA4BjB,GAAkBkB,GAAoB;AAC9F,WAASC,IAAIF,EAAQ,SAAS,GAAGE,KAAK,GAAGA,KAAK;AAC5C,UAAMC,IAAQH,EAAQE,CAAC;AACvB,QAAID,KAAME,EAAO,QAAOF,IAAKE,IAAQpB,IAAWmB,IAAI;AAAA,EACtD;AACA,SAAO;AACT;"}
@@ -0,0 +1,316 @@
1
+ import { jsxs as i, jsx as t, Fragment as N } from "react/jsx-runtime";
2
+ import { useMemo as C, useState as E, useRef as j, useEffect as T } from "react";
3
+ import { cn as l } from "../../lib/cn.js";
4
+ import { formatBytes as M } from "../../lib/format.js";
5
+ import { formatPercent as L } from "../../lib/intl-cache.js";
6
+ import { Icon as I } from "../Icon.js";
7
+ import { Spinner as _ } from "../Spinner.js";
8
+ import { reportCommittedError as $ } from "../media-error.js";
9
+ import { isImageFile as A, isVideoFile as G, fileIconFor as O } from "./file-icon.js";
10
+ import { Tooltip as B } from "../Popover.js";
11
+ import { useUiLocale as P, useUiStrings as U } from "../../lib/i18n/provider.js";
12
+ import { useNumberFormat as R } from "../../lib/i18n/number-format.js";
13
+ function V(e) {
14
+ return e.includes("#") ? e : `${e}#t=0.001`;
15
+ }
16
+ function z({ file: e, iconSize: r, className: n }) {
17
+ const [s, a] = E(null), o = e.thumbnailUrl ?? (A(e) ? e.url : void 0);
18
+ return o && s !== o ? /* @__PURE__ */ t("img", { src: o, alt: "", loading: "lazy", className: n, onError: () => a(o) }) : G(e) && e.url && s !== e.url ? /* @__PURE__ */ t(
19
+ "video",
20
+ {
21
+ src: V(e.url),
22
+ preload: "metadata",
23
+ muted: !0,
24
+ playsInline: !0,
25
+ "aria-hidden": "true",
26
+ tabIndex: -1,
27
+ onError: () => a(e.url),
28
+ ref: $(() => a(e.url)),
29
+ className: n
30
+ }
31
+ ) : /* @__PURE__ */ t(I, { name: O(e), size: r, className: "text-tertiary" });
32
+ }
33
+ const W = 4;
34
+ function X(e, r) {
35
+ const n = e.lastIndexOf("."), s = n > 0 ? e.slice(n + 1) : "";
36
+ return s === "" || s.length > W ? r : s.toUpperCase();
37
+ }
38
+ function q(e, r) {
39
+ return e === "tile" ? "aspect-4/3 w-36 shrink-0 rounded-xl" : e === "row" ? "flex w-full items-center gap-3 rounded-lg p-2 pr-1.5" : l(
40
+ "h-16 shrink-0 snap-start rounded-lg",
41
+ r ? "w-16" : "flex w-56 items-center gap-2 p-1.5 pr-2 [@media(pointer:coarse)]:w-80"
42
+ );
43
+ }
44
+ function D({
45
+ file: e,
46
+ image: r,
47
+ detail: n,
48
+ actions: s,
49
+ caption: a
50
+ }) {
51
+ const o = U().chat.attachment, p = e.status === "error";
52
+ return r ? /* @__PURE__ */ i(N, { children: [
53
+ /* @__PURE__ */ t("div", { className: "absolute inset-0 grid place-items-center bg-surface-inset", children: /* @__PURE__ */ t(
54
+ z,
55
+ {
56
+ file: e,
57
+ iconSize: "sm",
58
+ className: l("size-full object-cover", e.status === "uploading" && "opacity-50")
59
+ }
60
+ ) }),
61
+ p && /* z-2, above the preview trigger's z-1, or the trigger would cover
62
+ the overlay and its tooltip would never fire. A failed file has
63
+ nothing complete to preview. Still below the actions' z-10. */
64
+ /* @__PURE__ */ t(B, { content: n, children: /* @__PURE__ */ t(
65
+ "div",
66
+ {
67
+ role: "img",
68
+ "aria-label": String(n),
69
+ className: "absolute inset-0 z-2 grid place-items-center bg-veil text-danger",
70
+ children: /* @__PURE__ */ t(I, { name: "circle-alert", size: "sm" })
71
+ }
72
+ ) }),
73
+ a && /* DXUI-74: the file's name along the bottom edge, ON the picture like the `"tile"` layout's caption. */
74
+ /* @__PURE__ */ t("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 z-0 bg-linear-to-t from-black/72 to-transparent px-1 pt-3 pb-0.5", children: /* @__PURE__ */ t("span", { className: "block truncate text-2xs font-semibold text-white", children: e.name }) }),
75
+ s
76
+ ] }) : /* @__PURE__ */ i(N, { children: [
77
+ /* @__PURE__ */ t("div", { className: "relative grid size-10 shrink-0 place-items-center overflow-hidden rounded-md bg-surface-inset", children: /* @__PURE__ */ t(z, { file: e, iconSize: "sm", className: "size-full object-cover" }) }),
78
+ /* @__PURE__ */ i("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
79
+ /* @__PURE__ */ t("span", { className: "truncate text-xs font-medium text-primary", children: e.name }),
80
+ /* @__PURE__ */ t("span", { className: "flex min-w-0 items-center gap-1.5 text-2xs", children: p ? /* @__PURE__ */ t("span", { className: "truncate text-danger-text", children: n }) : /* @__PURE__ */ i(N, { children: [
81
+ /* @__PURE__ */ t("span", { className: "shrink-0 rounded-sm bg-surface-inset px-1 font-semibold text-tertiary", children: X(e.fileName ?? e.name, o.fileBadge) }),
82
+ n !== "" && /* @__PURE__ */ t("span", { className: "truncate text-tertiary", children: n })
83
+ ] }) })
84
+ ] }),
85
+ s
86
+ ] });
87
+ }
88
+ function H({
89
+ file: e,
90
+ layout: r = "tile",
91
+ meta: n,
92
+ action: s,
93
+ caption: a = !1,
94
+ onRemove: o,
95
+ onPreview: p,
96
+ onDownload: x,
97
+ selected: w = !1,
98
+ disabled: h = !1,
99
+ className: y,
100
+ ref: k
101
+ }) {
102
+ const d = P(), m = U().chat.attachment, u = r === "tile", g = r === "strip", c = g && !!e.thumbnailUrl && A(e), b = e.status === "uploading", v = e.status === "error", f = C(() => v ? e.error ?? m.failed : b ? e.progress === void 0 ? m.uploading : L(Math.round(e.progress), d) : n !== void 0 ? n : e.size === void 0 ? "" : M(e.size, d), [v, b, n, e.error, e.progress, e.size, m, d]), S = /* @__PURE__ */ i(
103
+ "div",
104
+ {
105
+ className: l(
106
+ /* Above the full-card trigger, so a button click is a button click.
107
+ z-index rather than stopPropagation: propagation still fires the
108
+ card's handler on keyboard activation, which is where that trick
109
+ quietly breaks. */
110
+ "relative z-10 flex items-center gap-0.5",
111
+ /* DX-4039: a tile's cluster WRAPS inside the tile, never clips. Under
112
+ `pointer: coarse` every action is `dx-tap`'s 44px, so three fill the
113
+ 144px tile (3*44 + 2*2 = 136 of the 138 left of the 6px right inset)
114
+ and a fourth has no room on the row, where `overflow-hidden` on the
115
+ tile would cut it off. Bounded by `left-0` and right-aligned, the
116
+ overflow drops to a second row instead. `left-0`, not the 6px that
117
+ mirrors the right: 132px would wrap the third. A fine pointer's 24px
118
+ actions never reach the edge, so it is unchanged.
119
+
120
+ The box now spans the tile's width, so it is `pointer-events-none`
121
+ and only its controls take the pointer (`[&>*]`): otherwise the empty
122
+ part of the row would swallow taps meant for the preview trigger
123
+ beneath it. */
124
+ u && "pointer-events-none absolute top-1.5 right-1.5 left-0 flex-wrap justify-end [&>*]:pointer-events-auto",
125
+ /* DXUI-16: a strip image tile is 64px square, so its cluster is the
126
+ corner. A strip file card lays the cluster BESIDE the text in its
127
+ flex row, so a 44px touch target pushes the filename over instead of
128
+ covering it. */
129
+ c && "absolute top-0.5 right-0.5",
130
+ g && !c && "shrink-0 self-start"
131
+ ),
132
+ children: [
133
+ s,
134
+ x && !b && /* @__PURE__ */ t(
135
+ F,
136
+ {
137
+ icon: "download",
138
+ label: m.download(e.name),
139
+ onClick: () => x(e),
140
+ disabled: h,
141
+ tinted: u || c
142
+ }
143
+ ),
144
+ o && /* @__PURE__ */ t(
145
+ F,
146
+ {
147
+ icon: "x",
148
+ label: m.remove(e.name),
149
+ onClick: () => o(e),
150
+ disabled: h,
151
+ tinted: u || c
152
+ }
153
+ )
154
+ ]
155
+ }
156
+ );
157
+ return /* @__PURE__ */ i(
158
+ "div",
159
+ {
160
+ ref: k,
161
+ "data-attachment": e.id,
162
+ "data-status": e.status ?? "ready",
163
+ className: l(
164
+ /* `dx-ground-raised` so the action buttons inside mix their hover from
165
+ the tile they sit on, not from the page behind it. */
166
+ "dx-ground-raised group/attachment relative isolate overflow-hidden border bg-surface-raised",
167
+ "transition-[var(--tx-colors),box-shadow,transform] duration-(--dur-fast) ease-(--ease-standard)",
168
+ v ? "border-danger-border" : w ? "border-accent" : "border-border-subtle",
169
+ !h && "hover:border-border-strong",
170
+ w && "ring-2 ring-accent/35",
171
+ q(r, c),
172
+ h && "opacity-60",
173
+ y
174
+ ),
175
+ children: [
176
+ p && !h && /* @__PURE__ */ t(
177
+ "button",
178
+ {
179
+ type: "button",
180
+ onClick: () => p(e),
181
+ "aria-label": m.preview(e.name),
182
+ className: "absolute inset-0 z-1 cursor-pointer rounded-[inherit] outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
183
+ }
184
+ ),
185
+ u ? /* @__PURE__ */ i(N, { children: [
186
+ /* @__PURE__ */ t("div", { className: "absolute inset-0 grid place-items-center bg-surface-inset", children: /* @__PURE__ */ t(
187
+ z,
188
+ {
189
+ file: e,
190
+ iconSize: "lg",
191
+ className: "size-full object-cover transition-[var(--tx-colors),transform,translate,scale,rotate] duration-(--dur-slow) ease-(--ease-standard) group-hover/attachment:scale-[1.03]"
192
+ }
193
+ ) }),
194
+ /* @__PURE__ */ i("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 z-0 flex flex-col gap-0.5 bg-linear-to-t from-black/72 to-transparent px-2.5 pt-6 pb-2", children: [
195
+ /* @__PURE__ */ t("span", { className: "truncate text-2xs font-semibold text-white", children: e.name }),
196
+ f !== "" && /* @__PURE__ */ t("span", { className: l("truncate text-2xs", v ? "text-danger" : "text-white/70"), children: f })
197
+ ] }),
198
+ S
199
+ ] }) : g ? /* @__PURE__ */ t(D, { file: e, image: c, detail: f, actions: S, caption: a }) : /* @__PURE__ */ i(N, { children: [
200
+ /* @__PURE__ */ t("div", { className: "relative grid size-9 shrink-0 place-items-center overflow-hidden rounded-md bg-surface-inset", children: /* @__PURE__ */ t(z, { file: e, iconSize: "sm", className: "size-full object-cover" }) }),
201
+ /* @__PURE__ */ i("div", { className: "flex min-w-0 flex-1 flex-col", children: [
202
+ /* @__PURE__ */ t("span", { className: "truncate text-sm font-medium text-primary", children: e.name }),
203
+ f !== "" && /* @__PURE__ */ t("span", { className: l("truncate text-2xs", v ? "text-danger-text" : "text-tertiary"), children: f })
204
+ ] }),
205
+ S
206
+ ] }),
207
+ b && /* @__PURE__ */ t("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 z-20 h-0.5 bg-border-subtle", children: /* @__PURE__ */ t(
208
+ "div",
209
+ {
210
+ className: l(
211
+ "h-full bg-accent transition-[var(--tx-colors),width] duration-(--dur-slow) ease-(--ease-standard)",
212
+ e.progress === void 0 && "w-1/3 animate-sweep"
213
+ ),
214
+ style: e.progress === void 0 ? void 0 : { width: `${e.progress}%` }
215
+ }
216
+ ) }),
217
+ b && u && /* @__PURE__ */ t("div", { className: "pointer-events-none absolute inset-0 z-10 grid place-items-center bg-veil", children: /* @__PURE__ */ t(_, { size: "sm" }) })
218
+ ]
219
+ }
220
+ );
221
+ }
222
+ function F({
223
+ icon: e,
224
+ label: r,
225
+ onClick: n,
226
+ disabled: s,
227
+ tinted: a,
228
+ ...o
229
+ }) {
230
+ return /* @__PURE__ */ t(B, { content: r, children: /* @__PURE__ */ t(
231
+ "button",
232
+ {
233
+ ...o,
234
+ type: "button",
235
+ onClick: n,
236
+ disabled: s,
237
+ "aria-label": r,
238
+ className: l(
239
+ "dx-tap grid size-6 shrink-0 cursor-pointer place-items-center rounded-md outline-none",
240
+ "transition-[var(--tx-colors),opacity] duration-(--dur-fast)",
241
+ "focus-visible:ring-2 focus-visible:ring-focus-ring",
242
+ a ? "bg-black/45 text-white opacity-0 backdrop-blur-[2px] hover:bg-black/70 group-hover/attachment:opacity-100 group-focus-within/attachment:opacity-100 focus-visible:opacity-100 data-popup-open:opacity-100 [@media(hover:none)]:opacity-100" : "text-tertiary hover:bg-surface-hover hover:text-primary",
243
+ s && "pointer-events-none opacity-40"
244
+ ),
245
+ children: /* @__PURE__ */ t(I, { name: e, size: "xs" })
246
+ }
247
+ ) });
248
+ }
249
+ function J(e, r) {
250
+ const n = j(null), s = j(r);
251
+ return T(() => {
252
+ const a = n.current;
253
+ e && a && r > s.current && (a.scrollLeft = a.scrollWidth), s.current = r;
254
+ }, [e, r]), n;
255
+ }
256
+ function ce({
257
+ files: e,
258
+ layout: r = "tile",
259
+ action: n,
260
+ caption: s,
261
+ onRemove: a,
262
+ onPreview: o,
263
+ onDownload: p,
264
+ max: x,
265
+ disabled: w,
266
+ className: h
267
+ }) {
268
+ const y = U().chat.attachment, k = R(), d = r === "strip", m = J(d, e.length);
269
+ if (e.length === 0) return null;
270
+ const u = x === void 0 || d ? e : e.slice(0, x), g = e.length - u.length;
271
+ return /* @__PURE__ */ i(
272
+ "div",
273
+ {
274
+ ref: d ? m : void 0,
275
+ className: l(
276
+ r === "tile" && "flex flex-wrap gap-2",
277
+ r === "row" && "flex flex-col gap-1.5",
278
+ d && "flex snap-x snap-mandatory gap-2 overflow-x-auto overscroll-x-contain pb-1 [scrollbar-width:thin]",
279
+ h
280
+ ),
281
+ children: [
282
+ u.map((c) => /* @__PURE__ */ t(
283
+ H,
284
+ {
285
+ file: c,
286
+ layout: r,
287
+ action: n?.(c),
288
+ caption: s,
289
+ onRemove: a,
290
+ onPreview: o,
291
+ onDownload: p,
292
+ disabled: w
293
+ },
294
+ c.id
295
+ )),
296
+ g > 0 && /* @__PURE__ */ t(
297
+ "div",
298
+ {
299
+ className: l(
300
+ "grid place-items-center rounded-xl border border-dashed border-border text-sm font-medium text-tertiary",
301
+ r === "tile" ? "aspect-4/3 w-36 shrink-0" : "h-9 w-full"
302
+ ),
303
+ children: y.more(k(g))
304
+ }
305
+ )
306
+ ]
307
+ }
308
+ );
309
+ }
310
+ export {
311
+ H as Attachment,
312
+ F as AttachmentAction,
313
+ ce as AttachmentList,
314
+ z as TileMedia
315
+ };
316
+ //# sourceMappingURL=Attachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Attachment.js","sources":["../../../src/components/chat/Attachment.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState, type ComponentProps, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { formatBytes } from \"../../lib/format\";\nimport { useNumberFormat, useUiLocale, useUiStrings } from \"../../lib/i18n\";\nimport { formatPercent } from \"../../lib/intl-cache\";\nimport { Icon } from \"../Icon\";\nimport { Spinner } from \"../Spinner\";\nimport { reportCommittedError } from \"../media-error\";\nimport { fileIconFor, isImageFile, isVideoFile } from \"./file-icon\";\nimport { Tooltip } from \"../Popover\";\nimport type { ChatFile } from \"./types\";\nimport type { IconName } from \"../Icon\";\n\n/* ============================================================================\n ATTACHMENTS\n A file, rendered as either a flexible tile or an elongated row.\n\n ONE COMPONENT, THREE LAYOUTS — not three components. The information is\n identical (name, kind, size, state, actions) and only the arrangement\n differs (a flexible `tile`, an elongated `row`, a 64px `strip` tile for a\n composer), so splitting them would mean maintaining several copies of every\n state: uploading, failed, image-with-thumbnail, image-without, and every\n combination of optional action buttons. A `layout` prop keeps that surface\n singular.\n\n ACTIONS ARE OPT-IN, INDIVIDUALLY. Remove, preview and download each appear\n only when the consumer passes a handler. A composer's staged files want\n remove; a transcript's received files want download and preview and must NOT\n offer remove, because deleting from a sent message is a lie about what was\n sent. Defaulting them all on would put that lie in every transcript.\n\n A VIDEO TILE SHOWS ITS FIRST FRAME (DX-3982), not the bare icon: a muted,\n controlless <video> paints it without playing. Playback is `FileViewer`'s\n job, and `FileCover` is the fixed-size cover for use inside other components.\n ========================================================================= */\n\n/* DX-3982: the still frame of a video tile. A muted, controlless <video> with a\n `#t=` fragment paints its first frame without playing, so a video reads as a\n picture like every other tile. It is decoration — the caption names the file\n — so it is hidden from assistive tech. A load error falls back to the icon. */\nfunction firstFrameUrl(url: string): string {\n return url.includes(\"#\") ? url : `${url}#t=0.001`;\n}\n\n/* A tile's picture, or the file's icon when it has none or it will not load.\n Exported (DX-4398) because the file viewer's rail shows the same thing for the\n same reason — a thumbnail, a video's still frame, a type icon — and a second\n copy of that decision would drift. The FAILED source is remembered, not a\n boolean: a different url is a different picture and gets its own chance. */\nexport function TileMedia({ file, iconSize, className }: { file: ChatFile; iconSize: \"sm\" | \"lg\"; className?: string }) {\n const [failedUrl, setFailedUrl] = useState<string | null>(null);\n const picture = file.thumbnailUrl ?? (isImageFile(file) ? file.url : undefined);\n if (picture && failedUrl !== picture) {\n return <img src={picture} alt=\"\" loading=\"lazy\" className={className} onError={() => setFailedUrl(picture)} />;\n }\n if (isVideoFile(file) && file.url && failedUrl !== file.url) {\n return (\n <video\n src={firstFrameUrl(file.url)}\n preload=\"metadata\"\n muted\n playsInline\n aria-hidden=\"true\"\n tabIndex={-1}\n onError={() => setFailedUrl(file.url!)}\n ref={reportCommittedError(() => setFailedUrl(file.url!))}\n className={className}\n />\n );\n }\n return <Icon name={fileIconFor(file)} size={iconSize} className=\"text-tertiary\" />;\n}\n\n/* DXUI-16: \"strip\" is the composer's layout - 64px tiles in one scrolling row\n (see `AttachmentList`), small enough to sit above a one-line text box. */\nexport type AttachmentLayout = \"tile\" | \"row\" | \"strip\";\n\nconst STRIP_BADGE_MAX = 4;\n\n/* DXUI-16: the strip tile's type badge - the extension upper-cased, `FILE` when\n there is none or it is too long to read at badge size. */\nfunction extensionBadge(name: string, fallback: string): string {\n const dot = name.lastIndexOf(\".\");\n const extension = dot > 0 ? name.slice(dot + 1) : \"\";\n return extension === \"\" || extension.length > STRIP_BADGE_MAX ? fallback : extension.toUpperCase();\n}\n\n/* DXUI-16: the outer shape of each layout. */\nfunction layoutClass(layout: AttachmentLayout, stripImage: boolean): string {\n if (layout === \"tile\") {\n /* Square-ISH, not square: it is a flexible tile that keeps its proportion\n while the row it sits in decides the width. */\n return \"aspect-4/3 w-36 shrink-0 rounded-xl\";\n }\n if (layout === \"row\") return \"flex w-full items-center gap-3 rounded-lg p-2 pr-1.5\";\n /* A strip file card widens on a touch device, where its actions are 44px\n targets that sit beside the text. */\n return cn(\n \"h-16 shrink-0 snap-start rounded-lg\",\n stripImage ? \"w-16\" : \"flex w-56 items-center gap-2 p-1.5 pr-2 [@media(pointer:coarse)]:w-80\",\n );\n}\n\n/* DXUI-16: the inside of a strip tile - a picture alone, or a card with the\n file's icon, name, type badge and size. `actions` is the cluster `Attachment`\n built, which this places (in the corner, or beside the text). */\nfunction StripTileBody({\n file,\n image,\n detail,\n actions,\n caption,\n}: {\n file: ChatFile;\n image: boolean;\n detail: ReactNode;\n actions: ReactNode;\n caption: boolean;\n}) {\n const strings = useUiStrings().chat.attachment;\n const failed = file.status === \"error\";\n if (image) {\n return (\n <>\n <div className=\"absolute inset-0 grid place-items-center bg-surface-inset\">\n <TileMedia\n file={file}\n iconSize=\"sm\"\n className={cn(\"size-full object-cover\", file.status === \"uploading\" && \"opacity-50\")}\n />\n </div>\n {failed && (\n /* z-2, above the preview trigger's z-1, or the trigger would cover\n the overlay and its tooltip would never fire. A failed file has\n nothing complete to preview. Still below the actions' z-10. */\n <Tooltip content={detail}>\n <div\n role=\"img\"\n aria-label={String(detail)}\n className=\"absolute inset-0 z-2 grid place-items-center bg-veil text-danger\"\n >\n <Icon name=\"circle-alert\" size=\"sm\" />\n </div>\n </Tooltip>\n )}\n {caption && (\n /* DXUI-74: the file's name along the bottom edge, ON the picture like the `\"tile\"` layout's caption. */\n <div className=\"pointer-events-none absolute inset-x-0 bottom-0 z-0 bg-linear-to-t from-black/72 to-transparent px-1 pt-3 pb-0.5\">\n <span className=\"block truncate text-2xs font-semibold text-white\">{file.name}</span>\n </div>\n )}\n {actions}\n </>\n );\n }\n return (\n <>\n <div className=\"relative grid size-10 shrink-0 place-items-center overflow-hidden rounded-md bg-surface-inset\">\n <TileMedia file={file} iconSize=\"sm\" className=\"size-full object-cover\" />\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <span className=\"truncate text-xs font-medium text-primary\">{file.name}</span>\n <span className=\"flex min-w-0 items-center gap-1.5 text-2xs\">\n {failed ? (\n <span className=\"truncate text-danger-text\">{detail}</span>\n ) : (\n <>\n <span className=\"shrink-0 rounded-sm bg-surface-inset px-1 font-semibold text-tertiary\">\n {extensionBadge(file.fileName ?? file.name, strings.fileBadge)}\n </span>\n {detail !== \"\" && <span className=\"truncate text-tertiary\">{detail}</span>}\n </>\n )}\n </span>\n </div>\n {actions}\n </>\n );\n}\n\nexport interface AttachmentProps {\n file: ChatFile;\n layout?: AttachmentLayout;\n /** Overrides the size line — \"Sheet 2 of 4\", a page count, anything truer. */\n meta?: ReactNode;\n /**\n * The consumer's own control, rendered first in the action cluster — \"Extract\n * this\", \"Attach to the demand\", \"Cancel the upload\".\n *\n * A SLOT RATHER THAN ANOTHER BOOLEAN, because the library has no opinion\n * about what the verb is and a fixed list would be wrong for the second\n * consumer and every one after. Remove, preview and download stay separate\n * props: they are the three actions an attachment has REGARDLESS of the\n * application, and each carries its own rule about when it may appear.\n *\n * NO RULE IS IMPOSED ON THIS ONE. Download hides itself while a file is still\n * uploading, because there is nothing complete to fetch; the consumer's action\n * may well BE \"cancel this upload\", so it is rendered whatever the file's\n * state, and the consumer decides whether their verb makes sense yet.\n *\n * It goes inside the cluster, above the full-card preview trigger — rendered\n * anywhere else it would sit UNDER that trigger and never receive a click.\n * Keep it to a control or two: this is a corner of a tile, not a menu bar.\n *\n * FILL IT WITH `AttachmentAction`, which is exported for exactly this. The\n * built-in download and remove are that component, so anything else lands in\n * the cluster at a different size and, on a tile, without the hover fade the\n * two beside it have. Any node is accepted — the slot has no opinion — but\n * \"matches the built-ins\" is a real requirement and there is no way to hit it\n * by hand. Pass `tinted` when the tile has a picture behind the cluster: a\n * `\"tile\"`, or a `\"strip\"` image tile (a strip tile for a non-image file is\n * a plain card, so it is not tinted).\n */\n action?: ReactNode;\n /**\n * DXUI-74: a `\"strip\"` picture tile prints the file's name along its bottom edge. Off by default: the composer's\n * strip shows a picture alone. A strip file card always shows its name.\n */\n caption?: boolean;\n onRemove?: (file: ChatFile) => void;\n onPreview?: (file: ChatFile) => void;\n onDownload?: (file: ChatFile) => void;\n /** Marks the file as the current selection in a gallery. */\n selected?: boolean;\n disabled?: boolean;\n className?: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Attachment({\n file,\n layout = \"tile\",\n meta,\n action,\n caption = false,\n onRemove,\n onPreview,\n onDownload,\n selected = false,\n disabled = false,\n className,\n ref,\n}: AttachmentProps) {\n const locale = useUiLocale();\n const strings = useUiStrings().chat.attachment;\n const tile = layout === \"tile\";\n const strip = layout === \"strip\";\n /* DXUI-16: a strip tile with a picture is a 64px square; any other file is a\n wider card carrying its name, type and size. */\n const stripImage = strip && Boolean(file.thumbnailUrl) && isImageFile(file);\n const uploading = file.status === \"uploading\";\n const failed = file.status === \"error\";\n\n const detail = useMemo(() => {\n if (failed) return file.error ?? strings.failed;\n if (uploading) {\n return file.progress === undefined\n ? strings.uploading\n : formatPercent(Math.round(file.progress), locale);\n }\n if (meta !== undefined) return meta;\n return file.size === undefined ? \"\" : formatBytes(file.size, locale);\n }, [failed, uploading, meta, file.error, file.progress, file.size, strings, locale]);\n\n const actions = (\n <div\n className={cn(\n /* Above the full-card trigger, so a button click is a button click.\n z-index rather than stopPropagation: propagation still fires the\n card's handler on keyboard activation, which is where that trick\n quietly breaks. */\n \"relative z-10 flex items-center gap-0.5\",\n /* DX-4039: a tile's cluster WRAPS inside the tile, never clips. Under\n `pointer: coarse` every action is `dx-tap`'s 44px, so three fill the\n 144px tile (3*44 + 2*2 = 136 of the 138 left of the 6px right inset)\n and a fourth has no room on the row, where `overflow-hidden` on the\n tile would cut it off. Bounded by `left-0` and right-aligned, the\n overflow drops to a second row instead. `left-0`, not the 6px that\n mirrors the right: 132px would wrap the third. A fine pointer's 24px\n actions never reach the edge, so it is unchanged.\n\n The box now spans the tile's width, so it is `pointer-events-none`\n and only its controls take the pointer (`[&>*]`): otherwise the empty\n part of the row would swallow taps meant for the preview trigger\n beneath it. */\n tile &&\n \"pointer-events-none absolute top-1.5 right-1.5 left-0 flex-wrap justify-end [&>*]:pointer-events-auto\",\n /* DXUI-16: a strip image tile is 64px square, so its cluster is the\n corner. A strip file card lays the cluster BESIDE the text in its\n flex row, so a 44px touch target pushes the filename over instead of\n covering it. */\n stripImage && \"absolute top-0.5 right-0.5\",\n strip && !stripImage && \"shrink-0 self-start\",\n )}\n >\n {/* FIRST, so the consumer's own verb reads before the generic ones and\n `Remove` stays where it always is — last, hard against the corner. */}\n {action}\n {onDownload && !uploading && (\n <AttachmentAction\n icon=\"download\"\n label={strings.download(file.name)}\n onClick={() => onDownload(file)}\n disabled={disabled}\n tinted={tile || stripImage}\n />\n )}\n {onRemove && (\n <AttachmentAction\n icon=\"x\"\n label={strings.remove(file.name)}\n onClick={() => onRemove(file)}\n disabled={disabled}\n tinted={tile || stripImage}\n />\n )}\n </div>\n );\n\n return (\n <div\n ref={ref}\n data-attachment={file.id}\n data-status={file.status ?? \"ready\"}\n className={cn(\n /* `dx-ground-raised` so the action buttons inside mix their hover from\n the tile they sit on, not from the page behind it. */\n \"dx-ground-raised group/attachment relative isolate overflow-hidden border bg-surface-raised\",\n \"transition-[var(--tx-colors),box-shadow,transform] duration-(--dur-fast) ease-(--ease-standard)\",\n failed ? \"border-danger-border\" : selected ? \"border-accent\" : \"border-border-subtle\",\n !disabled && \"hover:border-border-strong\",\n selected && \"ring-2 ring-accent/35\",\n layoutClass(layout, stripImage),\n disabled && \"opacity-60\",\n className,\n )}\n >\n {/* Full-card preview trigger. A real button, absolutely positioned,\n rather than an onClick on the card — the card contains buttons, and a\n button inside a button is invalid and unreachable by keyboard.\n\n `z-1`, ABOVE the thumbnail image/icon that follows it in the DOM\n (SG-978). That sibling is itself `absolute inset-0` with no z-index\n of its own, so without an explicit stack level here the two compete\n at the same implicit layer and paint order (DOM order) decides the\n winner — which put the thumbnail on top and silently ate every real\n mouse click on a tile's picture, though a JS-dispatched `.click()`\n on the button still \"worked\" (it bypasses hit-testing entirely) and\n keyboard activation was never affected (focus order is DOM order,\n not paint order). Stay below the actions cluster's `z-10` and the\n upload progress bar's `z-20`, both of which must keep winning. */}\n {onPreview && !disabled && (\n <button\n type=\"button\"\n onClick={() => onPreview(file)}\n aria-label={strings.preview(file.name)}\n className=\"absolute inset-0 z-1 cursor-pointer rounded-[inherit] outline-none focus-visible:ring-2 focus-visible:ring-focus-ring\"\n />\n )}\n\n {tile ? (\n <>\n <div className=\"absolute inset-0 grid place-items-center bg-surface-inset\">\n <TileMedia\n file={file}\n iconSize=\"lg\"\n className=\"size-full object-cover transition-[var(--tx-colors),transform,translate,scale,rotate] duration-(--dur-slow) ease-(--ease-standard) group-hover/attachment:scale-[1.03]\"\n />\n </div>\n\n {/* The caption sits ON the tile, so a thumbnail is never cropped to\n make room for text that could have floated over it. */}\n <div className=\"pointer-events-none absolute inset-x-0 bottom-0 z-0 flex flex-col gap-0.5 bg-linear-to-t from-black/72 to-transparent px-2.5 pt-6 pb-2\">\n <span className=\"truncate text-2xs font-semibold text-white\">{file.name}</span>\n {detail !== \"\" && (\n <span className={cn(\"truncate text-2xs\", failed ? \"text-danger\" : \"text-white/70\")}>\n {detail}\n </span>\n )}\n </div>\n {actions}\n </>\n ) : strip ? (\n <StripTileBody file={file} image={stripImage} detail={detail} actions={actions} caption={caption} />\n ) : (\n <>\n <div className=\"relative grid size-9 shrink-0 place-items-center overflow-hidden rounded-md bg-surface-inset\">\n <TileMedia file={file} iconSize=\"sm\" className=\"size-full object-cover\" />\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"truncate text-sm font-medium text-primary\">{file.name}</span>\n {detail !== \"\" && (\n <span className={cn(\"truncate text-2xs\", failed ? \"text-danger-text\" : \"text-tertiary\")}>\n {detail}\n </span>\n )}\n </div>\n {actions}\n </>\n )}\n\n {/* Progress reads as the file FILLING, not as a separate widget parked\n next to it — a determinate bar pinned to the card's own bottom edge. */}\n {uploading && (\n <div className=\"pointer-events-none absolute inset-x-0 bottom-0 z-20 h-0.5 bg-border-subtle\">\n <div\n className={cn(\n \"h-full bg-accent transition-[var(--tx-colors),width] duration-(--dur-slow) ease-(--ease-standard)\",\n file.progress === undefined && \"w-1/3 animate-sweep\",\n )}\n style={file.progress === undefined ? undefined : { width: `${file.progress}%` }}\n />\n </div>\n )}\n\n {uploading && tile && (\n <div className=\"pointer-events-none absolute inset-0 z-10 grid place-items-center bg-veil\">\n <Spinner size=\"sm\" />\n </div>\n )}\n </div>\n );\n}\n\nexport interface AttachmentActionProps extends Omit<ComponentProps<\"button\">, \"children\" | \"className\" | \"type\" | \"aria-label\" | \"onClick\" | \"disabled\"> {\n icon: IconName;\n /** The accessible name AND the tooltip. Include the file: \"Extract report.pdf\". */\n label: string;\n /** Omitted when the control is the trigger of a `Menu`, which supplies the press itself. */\n onClick?: () => void;\n disabled?: boolean;\n /**\n * On a tile the buttons sit over imagery, so they need their own ground —\n * and they FADE IN on hover rather than sitting permanently over the picture.\n * A device with no hover at all (`(hover: none)`, a phone or tablet) has\n * nothing to fade them in with, so there they are visible at rest (DX-4039);\n * keyboard focus still reveals them on a hover-capable one.\n *\n * Pass it when the control sits over a picture: a `\"tile\"`, or a `\"strip\"`\n * image tile. Getting it wrong is not a style preference: a tinted control on\n * a row (or a strip file card) is dark-on-dark, and an untinted one over a\n * photograph is a grey glyph on an arbitrary background.\n */\n tinted?: boolean;\n}\n\n/**\n * One control in an attachment's action cluster.\n *\n * THE CONTROL `Attachment.action` IS MEANT TO BE FILLED WITH, and until now it\n * was module-private — so the slot existed with nothing in the library that\n * fits it. A consumer's own `IconButton` is a different size and a different\n * resting state, and on a tile it does not fade in on `group-hover/attachment`\n * with the built-in download and remove beside it, so the one control the\n * consumer added was the one that looked wrong.\n *\n * It is deliberately NOT `IconButton`: `size-6` rather than a control height,\n * no ripple, no `disabledReason`, and a tinted variant that only means anything\n * inside `.group/attachment`. That is a corner-of-a-tile control, not a general\n * one, and generalising it would give the cluster two different buttons again.\n *\n * <Attachment\n * file={file}\n * layout=\"tile\"\n * action={<AttachmentAction icon=\"sparkles\" label={`Extract ${file.name}`}\n * onClick={() => extract(file)} tinted />}\n * />\n */\nexport function AttachmentAction({\n icon,\n label,\n onClick,\n disabled,\n tinted,\n ...rest\n}: AttachmentActionProps) {\n return (\n <Tooltip content={label}>\n <button\n {...rest}\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n aria-label={label}\n className={cn(\n \"dx-tap grid size-6 shrink-0 cursor-pointer place-items-center rounded-md outline-none\",\n \"transition-[var(--tx-colors),opacity] duration-(--dur-fast)\",\n \"focus-visible:ring-2 focus-visible:ring-focus-ring\",\n tinted\n ? \"bg-black/45 text-white opacity-0 backdrop-blur-[2px] hover:bg-black/70 group-hover/attachment:opacity-100 group-focus-within/attachment:opacity-100 focus-visible:opacity-100 data-popup-open:opacity-100 [@media(hover:none)]:opacity-100\"\n : \"text-tertiary hover:bg-surface-hover hover:text-primary\",\n disabled && \"pointer-events-none opacity-40\",\n )}\n >\n <Icon name={icon} size=\"xs\" />\n </button>\n </Tooltip>\n );\n}\n\nexport interface AttachmentListProps {\n files: ChatFile[];\n layout?: AttachmentLayout;\n /**\n * `Attachment.action`, per file — a FUNCTION rather than a node, because the\n * control almost always has to know which file it is on.\n *\n * Without it the slot would exist only on a lone `Attachment`, and a consumer\n * wanting one on a list would have to stop using the list — which is the\n * rebuild this slot was added to prevent, one level up.\n */\n action?: (file: ChatFile) => ReactNode;\n /** `Attachment.caption` for every file. */\n caption?: boolean;\n onRemove?: (file: ChatFile) => void;\n onPreview?: (file: ChatFile) => void;\n onDownload?: (file: ChatFile) => void;\n /** Collapses to \"+N more\" past this count. Ignored by `layout=\"strip\"`, which scrolls instead. */\n max?: number;\n disabled?: boolean;\n className?: string;\n}\n\n/* DXUI-16: a file added to the strip is appended at its end, which is\n off-screen once the row has scrolled; bring it into view. Removing a file\n leaves the scroll where the reader put it. Does nothing for tile and row. */\nfunction useStripScrollToEnd(active: boolean, count: number) {\n const scroller = useRef<HTMLDivElement>(null);\n const seen = useRef(count);\n useEffect(() => {\n const el = scroller.current;\n if (active && el && count > seen.current) el.scrollLeft = el.scrollWidth;\n seen.current = count;\n }, [active, count]);\n return scroller;\n}\n\nexport function AttachmentList({\n files,\n layout = \"tile\",\n action,\n caption,\n onRemove,\n onPreview,\n onDownload,\n max,\n disabled,\n className,\n}: AttachmentListProps) {\n const strings = useUiStrings().chat.attachment;\n const fmt = useNumberFormat();\n const strip = layout === \"strip\";\n const scroller = useStripScrollToEnd(strip, files.length);\n if (files.length === 0) return null;\n const shown = max === undefined || strip ? files : files.slice(0, max);\n const hidden = files.length - shown.length;\n\n return (\n <div\n ref={strip ? scroller : undefined}\n className={cn(\n layout === \"tile\" && \"flex flex-wrap gap-2\",\n layout === \"row\" && \"flex flex-col gap-1.5\",\n strip && \"flex snap-x snap-mandatory gap-2 overflow-x-auto overscroll-x-contain pb-1 [scrollbar-width:thin]\",\n className,\n )}\n >\n {shown.map((file) => (\n <Attachment\n key={file.id}\n file={file}\n layout={layout}\n action={action?.(file)}\n caption={caption}\n onRemove={onRemove}\n onPreview={onPreview}\n onDownload={onDownload}\n disabled={disabled}\n />\n ))}\n {hidden > 0 && (\n <div\n className={cn(\n \"grid place-items-center rounded-xl border border-dashed border-border text-sm font-medium text-tertiary\",\n layout === \"tile\" ? \"aspect-4/3 w-36 shrink-0\" : \"h-9 w-full\",\n )}\n >\n {strings.more(fmt(hidden))}\n </div>\n )}\n </div>\n );\n}\n"],"names":["firstFrameUrl","url","TileMedia","file","iconSize","className","failedUrl","setFailedUrl","useState","picture","isImageFile","jsx","isVideoFile","reportCommittedError","Icon","fileIconFor","STRIP_BADGE_MAX","extensionBadge","name","fallback","dot","extension","layoutClass","layout","stripImage","cn","StripTileBody","image","detail","actions","caption","strings","useUiStrings","failed","jsxs","Fragment","Tooltip","Attachment","meta","action","onRemove","onPreview","onDownload","selected","disabled","ref","locale","useUiLocale","tile","strip","uploading","useMemo","formatPercent","formatBytes","AttachmentAction","Spinner","icon","label","onClick","tinted","rest","useStripScrollToEnd","active","count","scroller","useRef","seen","useEffect","el","AttachmentList","files","max","fmt","useNumberFormat","shown","hidden"],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ import { jsxs as n, Fragment as E, jsx as e } from "react/jsx-runtime";
2
+ import { useState as U } from "react";
3
+ import { cn as C } from "../../lib/cn.js";
4
+ import { Icon as B } from "../Icon.js";
5
+ import { Popover as G } from "../Popover.js";
6
+ import { EmptyState as H } from "../Surface.js";
7
+ import { Composer as J } from "./Composer.js";
8
+ import { downloadChatFile as N } from "./download-file.js";
9
+ import { Message as K } from "./Message.js";
10
+ import { MessageScroller as L } from "./MessageScroller.js";
11
+ import { ModelSelector as Q } from "./ModelSelector.js";
12
+ import { EffortControl as R } from "./EffortControl.js";
13
+ import { ContextMeter as W } from "./ContextMeter.js";
14
+ import { useUiStrings as F } from "../../lib/i18n/provider.js";
15
+ import { FileViewer as X } from "../file-viewer/FileViewer.js";
16
+ function Y(i) {
17
+ return [
18
+ ...i.attachments ?? [],
19
+ ...i.parts.flatMap((o) => o.type === "file" ? [o.file] : [])
20
+ ];
21
+ }
22
+ function Z({
23
+ messages: i,
24
+ renderers: o,
25
+ components: c,
26
+ appContext: p,
27
+ title: t,
28
+ subtitle: u,
29
+ headerActions: m,
30
+ empty: M,
31
+ models: d,
32
+ model: v,
33
+ onModelChange: b,
34
+ modelOptions: S,
35
+ effortLevels: V,
36
+ effort: f,
37
+ onEffortChange: g,
38
+ context: l,
39
+ messageActions: I,
40
+ showTimestamps: D = !1,
41
+ status: x,
42
+ hint: P,
43
+ surface: a = "inline",
44
+ className: T,
45
+ ...j
46
+ }) {
47
+ const w = F().chat.chat, [h, y] = U(null), k = (r, s) => {
48
+ y({ files: Y(r), fileId: s.id });
49
+ }, q = /* @__PURE__ */ n(E, { children: [
50
+ d && v !== void 0 && b && /* @__PURE__ */ e(
51
+ Q,
52
+ {
53
+ models: d,
54
+ value: v,
55
+ onValueChange: b,
56
+ options: S
57
+ }
58
+ ),
59
+ f !== void 0 && g && /* @__PURE__ */ e(R, { levels: V, value: f, onValueChange: g }),
60
+ l && /* @__PURE__ */ e(
61
+ W,
62
+ {
63
+ segments: l.segments,
64
+ capacity: l.capacity,
65
+ limits: l.limits
66
+ }
67
+ )
68
+ ] }), z = !!(d || f !== void 0 || l);
69
+ return /* @__PURE__ */ n(
70
+ "section",
71
+ {
72
+ "data-chat-surface": a,
73
+ className: C(
74
+ "flex min-h-0 flex-col bg-canvas",
75
+ a === "sidebar" && "h-full border-l border-border-subtle",
76
+ a === "popover" && "h-[32rem] w-[26rem]",
77
+ a === "inline" && "h-full",
78
+ T
79
+ ),
80
+ children: [
81
+ (t || m) && /* @__PURE__ */ n("header", { className: "flex shrink-0 items-center gap-3 border-b border-border-subtle px-4 py-2.5", children: [
82
+ /* @__PURE__ */ n("div", { className: "flex min-w-0 flex-col", children: [
83
+ t && /* @__PURE__ */ e("h2", { className: "truncate font-display text-sm font-semibold text-primary", children: t }),
84
+ u && /* @__PURE__ */ e("p", { className: "truncate text-2xs text-tertiary", children: u })
85
+ ] }),
86
+ m && /* @__PURE__ */ e("div", { className: "ml-auto flex items-center gap-1", children: m })
87
+ ] }),
88
+ /* @__PURE__ */ e(L, { className: "px-4 py-4", children: i.length === 0 ? M ?? /* @__PURE__ */ e(
89
+ H,
90
+ {
91
+ icon: "message-square",
92
+ title: w.emptyTitle,
93
+ description: w.emptyDescription
94
+ }
95
+ ) : i.map((r, s) => /* @__PURE__ */ e(
96
+ K,
97
+ {
98
+ message: r,
99
+ renderers: o,
100
+ components: c,
101
+ appContext: p,
102
+ actions: r.role === "assistant" ? I : void 0,
103
+ showTimestamp: D,
104
+ grouped: s > 0 && i[s - 1].role === r.role,
105
+ onPreviewFile: (O) => k(r, O),
106
+ onDownloadFile: N
107
+ },
108
+ r.id
109
+ )) }),
110
+ /* @__PURE__ */ n("div", { className: "shrink-0 px-4 pt-1 pb-4", children: [
111
+ x && /* @__PURE__ */ e("div", { className: "px-1 pb-1.5", children: x }),
112
+ /* @__PURE__ */ e(
113
+ J,
114
+ {
115
+ ...j,
116
+ hint: P,
117
+ toolbar: z ? q : void 0
118
+ }
119
+ )
120
+ ] }),
121
+ /* @__PURE__ */ e(
122
+ X,
123
+ {
124
+ open: h !== null,
125
+ onOpenChange: (r) => {
126
+ r || y(null);
127
+ },
128
+ files: h?.files ?? [],
129
+ initialFileId: h?.fileId,
130
+ onDownload: N
131
+ }
132
+ )
133
+ ]
134
+ }
135
+ );
136
+ }
137
+ function de({
138
+ trigger: i,
139
+ side: o = "top",
140
+ align: c = "end",
141
+ ...p
142
+ }) {
143
+ const t = F().chat.chat;
144
+ return /* @__PURE__ */ e(
145
+ G,
146
+ {
147
+ side: o,
148
+ align: c,
149
+ className: "w-auto overflow-hidden p-0",
150
+ trigger: i ?? /* @__PURE__ */ e(
151
+ "button",
152
+ {
153
+ type: "button",
154
+ "aria-label": t.open,
155
+ className: C(
156
+ "grid size-12 cursor-pointer place-items-center rounded-full bg-accent text-accent-contrast",
157
+ "shadow-lg outline-none transition-[var(--tx-colors),transform] duration-(--dur-fast) ease-(--ease-snappy)",
158
+ "hover:bg-accent-hover active:scale-95 focus-visible:ring-2 focus-visible:ring-focus-ring"
159
+ ),
160
+ children: /* @__PURE__ */ e(B, { name: "message-square", size: "md" })
161
+ }
162
+ ),
163
+ children: /* @__PURE__ */ e(Z, { ...p, surface: "popover" })
164
+ }
165
+ );
166
+ }
167
+ export {
168
+ Z as Chat,
169
+ de as ChatPopover
170
+ };
171
+ //# sourceMappingURL=Chat.js.map