@50arms/ui 0.0.0-stage → 35.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1256) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +193 -2
  3. package/dist/components/Accordion.js +68 -0
  4. package/dist/components/Accordion.js.map +1 -0
  5. package/dist/components/AgentWorkingSpinner.js +46 -0
  6. package/dist/components/AgentWorkingSpinner.js.map +1 -0
  7. package/dist/components/AppShell.js +228 -0
  8. package/dist/components/AppShell.js.map +1 -0
  9. package/dist/components/Attention.js +130 -0
  10. package/dist/components/Attention.js.map +1 -0
  11. package/dist/components/Avatar.js +99 -0
  12. package/dist/components/Avatar.js.map +1 -0
  13. package/dist/components/Badge.js +143 -0
  14. package/dist/components/Badge.js.map +1 -0
  15. package/dist/components/Board.js +292 -0
  16. package/dist/components/Board.js.map +1 -0
  17. package/dist/components/Button.js +327 -0
  18. package/dist/components/Button.js.map +1 -0
  19. package/dist/components/Callout.js +106 -0
  20. package/dist/components/Callout.js.map +1 -0
  21. package/dist/components/Card.js +140 -0
  22. package/dist/components/Card.js.map +1 -0
  23. package/dist/components/Choice.js +361 -0
  24. package/dist/components/Choice.js.map +1 -0
  25. package/dist/components/CodeEditor.js +384 -0
  26. package/dist/components/CodeEditor.js.map +1 -0
  27. package/dist/components/ColorPicker.js +174 -0
  28. package/dist/components/ColorPicker.js.map +1 -0
  29. package/dist/components/Combobox.js +212 -0
  30. package/dist/components/Combobox.js.map +1 -0
  31. package/dist/components/CommandPalette.js +163 -0
  32. package/dist/components/CommandPalette.js.map +1 -0
  33. package/dist/components/ConcentricRing.js +60 -0
  34. package/dist/components/ConcentricRing.js.map +1 -0
  35. package/dist/components/ConnectionCard.js +98 -0
  36. package/dist/components/ConnectionCard.js.map +1 -0
  37. package/dist/components/ContextItemRow.js +49 -0
  38. package/dist/components/ContextItemRow.js.map +1 -0
  39. package/dist/components/CopyValue.js +57 -0
  40. package/dist/components/CopyValue.js.map +1 -0
  41. package/dist/components/CountBadge.js +26 -0
  42. package/dist/components/CountBadge.js.map +1 -0
  43. package/dist/components/DateCalendar.js +156 -0
  44. package/dist/components/DateCalendar.js.map +1 -0
  45. package/dist/components/DateField.js +166 -0
  46. package/dist/components/DateField.js.map +1 -0
  47. package/dist/components/DatePicker.js +56 -0
  48. package/dist/components/DatePicker.js.map +1 -0
  49. package/dist/components/DateTimeText.js +19 -0
  50. package/dist/components/DateTimeText.js.map +1 -0
  51. package/dist/components/DescriptionList.js +25 -0
  52. package/dist/components/DescriptionList.js.map +1 -0
  53. package/dist/components/Dialog.js +332 -0
  54. package/dist/components/Dialog.js.map +1 -0
  55. package/dist/components/DragDrop.js +395 -0
  56. package/dist/components/DragDrop.js.map +1 -0
  57. package/dist/components/Drawer.js +100 -0
  58. package/dist/components/Drawer.js.map +1 -0
  59. package/dist/components/EditGutter.js +110 -0
  60. package/dist/components/EditGutter.js.map +1 -0
  61. package/dist/components/EmojiPicker.js +174 -0
  62. package/dist/components/EmojiPicker.js.map +1 -0
  63. package/dist/components/ErrorBoundary.js +47 -0
  64. package/dist/components/ErrorBoundary.js.map +1 -0
  65. package/dist/components/Field.js +115 -0
  66. package/dist/components/Field.js.map +1 -0
  67. package/dist/components/FileUpload.js +128 -0
  68. package/dist/components/FileUpload.js.map +1 -0
  69. package/dist/components/FilterMenu.js +256 -0
  70. package/dist/components/FilterMenu.js.map +1 -0
  71. package/dist/components/GatesSection.js +79 -0
  72. package/dist/components/GatesSection.js.map +1 -0
  73. package/dist/components/Icon.js +50 -0
  74. package/dist/components/Icon.js.map +1 -0
  75. package/dist/components/IconButton.js +59 -0
  76. package/dist/components/IconButton.js.map +1 -0
  77. package/dist/components/IconStack.js +69 -0
  78. package/dist/components/IconStack.js.map +1 -0
  79. package/dist/components/ImageUploadField.js +146 -0
  80. package/dist/components/ImageUploadField.js.map +1 -0
  81. package/dist/components/InlineEdit.js +432 -0
  82. package/dist/components/InlineEdit.js.map +1 -0
  83. package/dist/components/InlineMarkdownEdit.js +184 -0
  84. package/dist/components/InlineMarkdownEdit.js.map +1 -0
  85. package/dist/components/Input.js +156 -0
  86. package/dist/components/Input.js.map +1 -0
  87. package/dist/components/LegalDocument.js +155 -0
  88. package/dist/components/LegalDocument.js.map +1 -0
  89. package/dist/components/LineDiff.js +95 -0
  90. package/dist/components/LineDiff.js.map +1 -0
  91. package/dist/components/ListHeader.js +72 -0
  92. package/dist/components/ListHeader.js.map +1 -0
  93. package/dist/components/Loading.js +111 -0
  94. package/dist/components/Loading.js.map +1 -0
  95. package/dist/components/Markdown.js +28 -0
  96. package/dist/components/Markdown.js.map +1 -0
  97. package/dist/components/MarkdownEditor.js +467 -0
  98. package/dist/components/MarkdownEditor.js.map +1 -0
  99. package/dist/components/Menu.js +185 -0
  100. package/dist/components/Menu.js.map +1 -0
  101. package/dist/components/Navigation.js +87 -0
  102. package/dist/components/Navigation.js.map +1 -0
  103. package/dist/components/NumberInput.js +119 -0
  104. package/dist/components/NumberInput.js.map +1 -0
  105. package/dist/components/OTPInput.js +71 -0
  106. package/dist/components/OTPInput.js.map +1 -0
  107. package/dist/components/OrderedEntityManager.js +170 -0
  108. package/dist/components/OrderedEntityManager.js.map +1 -0
  109. package/dist/components/PagedWindowList.js +74 -0
  110. package/dist/components/PagedWindowList.js.map +1 -0
  111. package/dist/components/PaginationBar.js +95 -0
  112. package/dist/components/PaginationBar.js.map +1 -0
  113. package/dist/components/Panel.js +396 -0
  114. package/dist/components/Panel.js.map +1 -0
  115. package/dist/components/PasswordInput.js +32 -0
  116. package/dist/components/PasswordInput.js.map +1 -0
  117. package/dist/components/PasswordRequirements.js +25 -0
  118. package/dist/components/PasswordRequirements.js.map +1 -0
  119. package/dist/components/PatchDiff.js +96 -0
  120. package/dist/components/PatchDiff.js.map +1 -0
  121. package/dist/components/PendingVeil.js +18 -0
  122. package/dist/components/PendingVeil.js.map +1 -0
  123. package/dist/components/Popover.js +214 -0
  124. package/dist/components/Popover.js.map +1 -0
  125. package/dist/components/Progress.js +419 -0
  126. package/dist/components/Progress.js.map +1 -0
  127. package/dist/components/RatingScale.js +89 -0
  128. package/dist/components/RatingScale.js.map +1 -0
  129. package/dist/components/ReadMore.js +232 -0
  130. package/dist/components/ReadMore.js.map +1 -0
  131. package/dist/components/RecordCard.js +202 -0
  132. package/dist/components/RecordCard.js.map +1 -0
  133. package/dist/components/RelativeTime.js +29 -0
  134. package/dist/components/RelativeTime.js.map +1 -0
  135. package/dist/components/SandboxedFrame.js +135 -0
  136. package/dist/components/SandboxedFrame.js.map +1 -0
  137. package/dist/components/SearchInput.js +38 -0
  138. package/dist/components/SearchInput.js.map +1 -0
  139. package/dist/components/SecretField.js +228 -0
  140. package/dist/components/SecretField.js.map +1 -0
  141. package/dist/components/SectionNav.js +42 -0
  142. package/dist/components/SectionNav.js.map +1 -0
  143. package/dist/components/Select.js +172 -0
  144. package/dist/components/Select.js.map +1 -0
  145. package/dist/components/SequenceDiagram.js +109 -0
  146. package/dist/components/SequenceDiagram.js.map +1 -0
  147. package/dist/components/SettingRow.js +124 -0
  148. package/dist/components/SettingRow.js.map +1 -0
  149. package/dist/components/SignOffRings.js +36 -0
  150. package/dist/components/SignOffRings.js.map +1 -0
  151. package/dist/components/Slider.js +353 -0
  152. package/dist/components/Slider.js.map +1 -0
  153. package/dist/components/SolutionChoice.js +89 -0
  154. package/dist/components/SolutionChoice.js.map +1 -0
  155. package/dist/components/SortMenu.js +75 -0
  156. package/dist/components/SortMenu.js.map +1 -0
  157. package/dist/components/Spinner.js +42 -0
  158. package/dist/components/Spinner.js.map +1 -0
  159. package/dist/components/Stat.js +148 -0
  160. package/dist/components/Stat.js.map +1 -0
  161. package/dist/components/StatusSelect.js +119 -0
  162. package/dist/components/StatusSelect.js.map +1 -0
  163. package/dist/components/Surface.js +210 -0
  164. package/dist/components/Surface.js.map +1 -0
  165. package/dist/components/Table.js +300 -0
  166. package/dist/components/Table.js.map +1 -0
  167. package/dist/components/Tabs.js +288 -0
  168. package/dist/components/Tabs.js.map +1 -0
  169. package/dist/components/ThemeMenu.js +198 -0
  170. package/dist/components/ThemeMenu.js.map +1 -0
  171. package/dist/components/Toast.js +217 -0
  172. package/dist/components/Toast.js.map +1 -0
  173. package/dist/components/Toggle.js +147 -0
  174. package/dist/components/Toggle.js.map +1 -0
  175. package/dist/components/ToggleMatrix.js +157 -0
  176. package/dist/components/ToggleMatrix.js.map +1 -0
  177. package/dist/components/Tree.js +125 -0
  178. package/dist/components/Tree.js.map +1 -0
  179. package/dist/components/TriStateSwitch.js +111 -0
  180. package/dist/components/TriStateSwitch.js.map +1 -0
  181. package/dist/components/VideoPlayer.js +64 -0
  182. package/dist/components/VideoPlayer.js.map +1 -0
  183. package/dist/components/auth/AcceptInvitationCard.js +110 -0
  184. package/dist/components/auth/AcceptInvitationCard.js.map +1 -0
  185. package/dist/components/auth/AuthLayout.js +18 -0
  186. package/dist/components/auth/AuthLayout.js.map +1 -0
  187. package/dist/components/auth/ForgotPasswordForm.js +44 -0
  188. package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
  189. package/dist/components/auth/LoginForm.js +76 -0
  190. package/dist/components/auth/LoginForm.js.map +1 -0
  191. package/dist/components/auth/ResetPasswordForm.js +69 -0
  192. package/dist/components/auth/ResetPasswordForm.js.map +1 -0
  193. package/dist/components/auth/SignInProviders.js +45 -0
  194. package/dist/components/auth/SignInProviders.js.map +1 -0
  195. package/dist/components/auth/SignupCard.js +204 -0
  196. package/dist/components/auth/SignupCard.js.map +1 -0
  197. package/dist/components/auth/TermsAcceptance.js +43 -0
  198. package/dist/components/auth/TermsAcceptance.js.map +1 -0
  199. package/dist/components/board/context.js +32 -0
  200. package/dist/components/board/context.js.map +1 -0
  201. package/dist/components/board/recipe.js +94 -0
  202. package/dist/components/board/recipe.js.map +1 -0
  203. package/dist/components/calendar/CalendarMonth.js +299 -0
  204. package/dist/components/calendar/CalendarMonth.js.map +1 -0
  205. package/dist/components/calendar/CalendarTimeGrid.js +430 -0
  206. package/dist/components/calendar/CalendarTimeGrid.js.map +1 -0
  207. package/dist/components/calendar/EventActions.js +101 -0
  208. package/dist/components/calendar/EventActions.js.map +1 -0
  209. package/dist/components/calendar/format.js +73 -0
  210. package/dist/components/calendar/format.js.map +1 -0
  211. package/dist/components/calendar/palette.js +31 -0
  212. package/dist/components/calendar/palette.js.map +1 -0
  213. package/dist/components/calendar/use-calendar-drag.js +149 -0
  214. package/dist/components/calendar/use-calendar-drag.js.map +1 -0
  215. package/dist/components/calendar/use-event-keyboard.js +87 -0
  216. package/dist/components/calendar/use-event-keyboard.js.map +1 -0
  217. package/dist/components/calendar/use-grid-navigation.js +79 -0
  218. package/dist/components/calendar/use-grid-navigation.js.map +1 -0
  219. package/dist/components/calendar/use-now.js +27 -0
  220. package/dist/components/calendar/use-now.js.map +1 -0
  221. package/dist/components/card-face/AcRingGlyph.js +39 -0
  222. package/dist/components/card-face/AcRingGlyph.js.map +1 -0
  223. package/dist/components/card-face/BoardCardAgentSlot.js +17 -0
  224. package/dist/components/card-face/BoardCardAgentSlot.js.map +1 -0
  225. package/dist/components/card-face/CardFace.js +109 -0
  226. package/dist/components/card-face/CardFace.js.map +1 -0
  227. package/dist/components/card-face/CardTypeBadge.js +17 -0
  228. package/dist/components/card-face/CardTypeBadge.js.map +1 -0
  229. package/dist/components/card-face/EffortBadge.js +11 -0
  230. package/dist/components/card-face/EffortBadge.js.map +1 -0
  231. package/dist/components/card-face/GateRingGlyph.js +31 -0
  232. package/dist/components/card-face/GateRingGlyph.js.map +1 -0
  233. package/dist/components/card-face/OverflowRow.js +70 -0
  234. package/dist/components/card-face/OverflowRow.js.map +1 -0
  235. package/dist/components/card-face/TapTip.js +32 -0
  236. package/dist/components/card-face/TapTip.js.map +1 -0
  237. package/dist/components/card-face/hit-area.js +6 -0
  238. package/dist/components/card-face/hit-area.js.map +1 -0
  239. package/dist/components/card-face/vocabulary.js +102 -0
  240. package/dist/components/card-face/vocabulary.js.map +1 -0
  241. package/dist/components/chart/BarList.js +78 -0
  242. package/dist/components/chart/BarList.js.map +1 -0
  243. package/dist/components/chart/LineChart.js +310 -0
  244. package/dist/components/chart/LineChart.js.map +1 -0
  245. package/dist/components/chart/ShareBar.js +141 -0
  246. package/dist/components/chart/ShareBar.js.map +1 -0
  247. package/dist/components/chart/TimeSeriesChart.js +305 -0
  248. package/dist/components/chart/TimeSeriesChart.js.map +1 -0
  249. package/dist/components/chart/label-metrics.js +17 -0
  250. package/dist/components/chart/label-metrics.js.map +1 -0
  251. package/dist/components/chart/line-chart-axis.js +38 -0
  252. package/dist/components/chart/line-chart-axis.js.map +1 -0
  253. package/dist/components/chart/line-chart-scale.js +132 -0
  254. package/dist/components/chart/line-chart-scale.js.map +1 -0
  255. package/dist/components/chart/line-series-style.js +22 -0
  256. package/dist/components/chart/line-series-style.js.map +1 -0
  257. package/dist/components/chart/share-bar-labels.js +14 -0
  258. package/dist/components/chart/share-bar-labels.js.map +1 -0
  259. package/dist/components/chart/shared.js +157 -0
  260. package/dist/components/chart/shared.js.map +1 -0
  261. package/dist/components/chart/time-series-scale.js +51 -0
  262. package/dist/components/chart/time-series-scale.js.map +1 -0
  263. package/dist/components/chat/Attachment.js +316 -0
  264. package/dist/components/chat/Attachment.js.map +1 -0
  265. package/dist/components/chat/Chat.js +171 -0
  266. package/dist/components/chat/Chat.js.map +1 -0
  267. package/dist/components/chat/Composer.js +274 -0
  268. package/dist/components/chat/Composer.js.map +1 -0
  269. package/dist/components/chat/ContextMeter.js +202 -0
  270. package/dist/components/chat/ContextMeter.js.map +1 -0
  271. package/dist/components/chat/EffortControl.js +116 -0
  272. package/dist/components/chat/EffortControl.js.map +1 -0
  273. package/dist/components/chat/FileCover.js +78 -0
  274. package/dist/components/chat/FileCover.js.map +1 -0
  275. package/dist/components/chat/Message.js +356 -0
  276. package/dist/components/chat/Message.js.map +1 -0
  277. package/dist/components/chat/MessageScroller.js +104 -0
  278. package/dist/components/chat/MessageScroller.js.map +1 -0
  279. package/dist/components/chat/ModelSelector.js +156 -0
  280. package/dist/components/chat/ModelSelector.js.map +1 -0
  281. package/dist/components/chat/StreamingMarkdown.js +42 -0
  282. package/dist/components/chat/StreamingMarkdown.js.map +1 -0
  283. package/dist/components/chat/download-file.js +9 -0
  284. package/dist/components/chat/download-file.js.map +1 -0
  285. package/dist/components/chat/file-icon.js +39 -0
  286. package/dist/components/chat/file-icon.js.map +1 -0
  287. package/dist/components/checklist/StatusChecklist.js +103 -0
  288. package/dist/components/checklist/StatusChecklist.js.map +1 -0
  289. package/dist/components/checklist/tally.js +29 -0
  290. package/dist/components/checklist/tally.js.map +1 -0
  291. package/dist/components/code-editor/context.js +13 -0
  292. package/dist/components/code-editor/context.js.map +1 -0
  293. package/dist/components/code-editor/editing.js +93 -0
  294. package/dist/components/code-editor/editing.js.map +1 -0
  295. package/dist/components/code-editor/highlight.js +27 -0
  296. package/dist/components/code-editor/highlight.js.map +1 -0
  297. package/dist/components/code-editor/recipe.js +75 -0
  298. package/dist/components/code-editor/recipe.js.map +1 -0
  299. package/dist/components/date-timeline/DateTimeline.js +358 -0
  300. package/dist/components/date-timeline/DateTimeline.js.map +1 -0
  301. package/dist/components/date-timeline/TimelineRow.js +100 -0
  302. package/dist/components/date-timeline/TimelineRow.js.map +1 -0
  303. package/dist/components/date-timeline/useBarDrag.js +44 -0
  304. package/dist/components/date-timeline/useBarDrag.js.map +1 -0
  305. package/dist/components/date-timeline/useMarkerDrag.js +40 -0
  306. package/dist/components/date-timeline/useMarkerDrag.js.map +1 -0
  307. package/dist/components/date-timeline/useTimelineZoom.js +44 -0
  308. package/dist/components/date-timeline/useTimelineZoom.js.map +1 -0
  309. package/dist/components/drag-drop/context.js +37 -0
  310. package/dist/components/drag-drop/context.js.map +1 -0
  311. package/dist/components/drag-drop/recipe.js +270 -0
  312. package/dist/components/drag-drop/recipe.js.map +1 -0
  313. package/dist/components/drag-drop/shift.js +157 -0
  314. package/dist/components/drag-drop/shift.js.map +1 -0
  315. package/dist/components/edit/activation.js +10 -0
  316. package/dist/components/edit/activation.js.map +1 -0
  317. package/dist/components/edit/outcome.js +47 -0
  318. package/dist/components/edit/outcome.js.map +1 -0
  319. package/dist/components/edit/use-edit-session.js +146 -0
  320. package/dist/components/edit/use-edit-session.js.map +1 -0
  321. package/dist/components/file-viewer/FileViewer.js +97 -0
  322. package/dist/components/file-viewer/FileViewer.js.map +1 -0
  323. package/dist/components/file-viewer/PageNumberJumpField.js +47 -0
  324. package/dist/components/file-viewer/PageNumberJumpField.js.map +1 -0
  325. package/dist/components/file-viewer/ViewerControls.js +122 -0
  326. package/dist/components/file-viewer/ViewerControls.js.map +1 -0
  327. package/dist/components/file-viewer/ViewerRail.js +57 -0
  328. package/dist/components/file-viewer/ViewerRail.js.map +1 -0
  329. package/dist/components/file-viewer/ViewerStage.js +112 -0
  330. package/dist/components/file-viewer/ViewerStage.js.map +1 -0
  331. package/dist/components/file-viewer/frames.js +37 -0
  332. package/dist/components/file-viewer/frames.js.map +1 -0
  333. package/dist/components/file-viewer/use-frame-cursor.js +32 -0
  334. package/dist/components/file-viewer/use-frame-cursor.js.map +1 -0
  335. package/dist/components/file-viewer/use-viewer-keys.js +50 -0
  336. package/dist/components/file-viewer/use-viewer-keys.js.map +1 -0
  337. package/dist/components/file-viewer/use-viewer-zoom.js +68 -0
  338. package/dist/components/file-viewer/use-viewer-zoom.js.map +1 -0
  339. package/dist/components/focus-web/FocusWeb.js +322 -0
  340. package/dist/components/focus-web/FocusWeb.js.map +1 -0
  341. package/dist/components/focus-web/layout.js +34 -0
  342. package/dist/components/focus-web/layout.js.map +1 -0
  343. package/dist/components/graph-explorer/GraphExplorer.js +441 -0
  344. package/dist/components/graph-explorer/GraphExplorer.js.map +1 -0
  345. package/dist/components/graph-explorer/camera-math.js +102 -0
  346. package/dist/components/graph-explorer/camera-math.js.map +1 -0
  347. package/dist/components/graph-explorer/tree-layout.js +103 -0
  348. package/dist/components/graph-explorer/tree-layout.js.map +1 -0
  349. package/dist/components/graph-explorer/use-camera.js +82 -0
  350. package/dist/components/graph-explorer/use-camera.js.map +1 -0
  351. package/dist/components/graph-explorer/viewport-gesture.js +107 -0
  352. package/dist/components/graph-explorer/viewport-gesture.js.map +1 -0
  353. package/dist/components/kanban/KanbanBoard.js +219 -0
  354. package/dist/components/kanban/KanbanBoard.js.map +1 -0
  355. package/dist/components/kanban/recipe.js +144 -0
  356. package/dist/components/kanban/recipe.js.map +1 -0
  357. package/dist/components/markdown/Affordances.js +398 -0
  358. package/dist/components/markdown/Affordances.js.map +1 -0
  359. package/dist/components/markdown/AttachmentStrip.js +128 -0
  360. package/dist/components/markdown/AttachmentStrip.js.map +1 -0
  361. package/dist/components/markdown/ImageUpload.js +45 -0
  362. package/dist/components/markdown/ImageUpload.js.map +1 -0
  363. package/dist/components/media-error.js +7 -0
  364. package/dist/components/media-error.js.map +1 -0
  365. package/dist/components/nav-sections.js +61 -0
  366. package/dist/components/nav-sections.js.map +1 -0
  367. package/dist/components/node-canvas/NodeCanvas.js +384 -0
  368. package/dist/components/node-canvas/NodeCanvas.js.map +1 -0
  369. package/dist/components/node-canvas/layout.js +237 -0
  370. package/dist/components/node-canvas/layout.js.map +1 -0
  371. package/dist/components/node-canvas/use-canvas-gestures.js +143 -0
  372. package/dist/components/node-canvas/use-canvas-gestures.js.map +1 -0
  373. package/dist/components/openapi/OpenApiViewer.js +137 -0
  374. package/dist/components/openapi/OpenApiViewer.js.map +1 -0
  375. package/dist/components/openapi/OperationCard.js +145 -0
  376. package/dist/components/openapi/OperationCard.js.map +1 -0
  377. package/dist/components/openapi/SchemaView.js +68 -0
  378. package/dist/components/openapi/SchemaView.js.map +1 -0
  379. package/dist/components/openapi/resolve.js +102 -0
  380. package/dist/components/openapi/resolve.js.map +1 -0
  381. package/dist/components/openapi/types.js +5 -0
  382. package/dist/components/openapi/types.js.map +1 -0
  383. package/dist/components/overlay-shell.js +29 -0
  384. package/dist/components/overlay-shell.js.map +1 -0
  385. package/dist/components/overlay-stack.js +27 -0
  386. package/dist/components/overlay-stack.js.map +1 -0
  387. package/dist/components/paged-window/PageBlock.js +50 -0
  388. package/dist/components/paged-window/PageBlock.js.map +1 -0
  389. package/dist/components/provenance/ConfidenceBar.js +60 -0
  390. package/dist/components/provenance/ConfidenceBar.js.map +1 -0
  391. package/dist/components/provenance/ConfidenceMeter.js +36 -0
  392. package/dist/components/provenance/ConfidenceMeter.js.map +1 -0
  393. package/dist/components/provenance/ConfidenceReadout.js +31 -0
  394. package/dist/components/provenance/ConfidenceReadout.js.map +1 -0
  395. package/dist/components/provenance/ProvenanceBadge.js +44 -0
  396. package/dist/components/provenance/ProvenanceBadge.js.map +1 -0
  397. package/dist/components/provenance/ProvenanceDetail.js +114 -0
  398. package/dist/components/provenance/ProvenanceDetail.js.map +1 -0
  399. package/dist/components/provenance/ProvenanceDisclosure.js +111 -0
  400. package/dist/components/provenance/ProvenanceDisclosure.js.map +1 -0
  401. package/dist/components/provenance/absence.js +31 -0
  402. package/dist/components/provenance/absence.js.map +1 -0
  403. package/dist/components/provenance/types.js +30 -0
  404. package/dist/components/provenance/types.js.map +1 -0
  405. package/dist/components/rbac/AccessRequestPanel.js +153 -0
  406. package/dist/components/rbac/AccessRequestPanel.js.map +1 -0
  407. package/dist/components/rbac/AccountMenu.js +118 -0
  408. package/dist/components/rbac/AccountMenu.js.map +1 -0
  409. package/dist/components/rbac/AgentKeysList.js +20 -0
  410. package/dist/components/rbac/AgentKeysList.js.map +1 -0
  411. package/dist/components/rbac/ApiKeysPanel.js +172 -0
  412. package/dist/components/rbac/ApiKeysPanel.js.map +1 -0
  413. package/dist/components/rbac/ApiKeysTable.js +167 -0
  414. package/dist/components/rbac/ApiKeysTable.js.map +1 -0
  415. package/dist/components/rbac/Brand.js +13 -0
  416. package/dist/components/rbac/Brand.js.map +1 -0
  417. package/dist/components/rbac/Can.js +18 -0
  418. package/dist/components/rbac/Can.js.map +1 -0
  419. package/dist/components/rbac/ChangePasswordForm.js +73 -0
  420. package/dist/components/rbac/ChangePasswordForm.js.map +1 -0
  421. package/dist/components/rbac/DangerZone.js +27 -0
  422. package/dist/components/rbac/DangerZone.js.map +1 -0
  423. package/dist/components/rbac/DevToolsPopover.js +140 -0
  424. package/dist/components/rbac/DevToolsPopover.js.map +1 -0
  425. package/dist/components/rbac/EndedLine.js +24 -0
  426. package/dist/components/rbac/EndedLine.js.map +1 -0
  427. package/dist/components/rbac/InvitationsList.js +148 -0
  428. package/dist/components/rbac/InvitationsList.js.map +1 -0
  429. package/dist/components/rbac/InviteMembersDialog.js +97 -0
  430. package/dist/components/rbac/InviteMembersDialog.js.map +1 -0
  431. package/dist/components/rbac/MembersPanel.js +138 -0
  432. package/dist/components/rbac/MembersPanel.js.map +1 -0
  433. package/dist/components/rbac/PermissionRequestPanel.js +141 -0
  434. package/dist/components/rbac/PermissionRequestPanel.js.map +1 -0
  435. package/dist/components/rbac/ProfileForm.js +86 -0
  436. package/dist/components/rbac/ProfileForm.js.map +1 -0
  437. package/dist/components/rbac/ProfilePage.js +58 -0
  438. package/dist/components/rbac/ProfilePage.js.map +1 -0
  439. package/dist/components/rbac/RBACProvider.js +82 -0
  440. package/dist/components/rbac/RBACProvider.js.map +1 -0
  441. package/dist/components/rbac/RoleEditorDialog.js +90 -0
  442. package/dist/components/rbac/RoleEditorDialog.js.map +1 -0
  443. package/dist/components/rbac/RoleKeyPicker.js +77 -0
  444. package/dist/components/rbac/RoleKeyPicker.js.map +1 -0
  445. package/dist/components/rbac/RolePermissionMatrix.js +37 -0
  446. package/dist/components/rbac/RolePermissionMatrix.js.map +1 -0
  447. package/dist/components/rbac/RolesPermissionsPage.js +142 -0
  448. package/dist/components/rbac/RolesPermissionsPage.js.map +1 -0
  449. package/dist/components/rbac/SessionsList.js +146 -0
  450. package/dist/components/rbac/SessionsList.js.map +1 -0
  451. package/dist/components/rbac/TeamSettingsForm.js +69 -0
  452. package/dist/components/rbac/TeamSettingsForm.js.map +1 -0
  453. package/dist/components/rbac/TeamSwitcher.js +66 -0
  454. package/dist/components/rbac/TeamSwitcher.js.map +1 -0
  455. package/dist/components/rbac/approvalPanelParts.js +130 -0
  456. package/dist/components/rbac/approvalPanelParts.js.map +1 -0
  457. package/dist/components/rbac/permissionSections.js +8 -0
  458. package/dist/components/rbac/permissionSections.js.map +1 -0
  459. package/dist/components/rbac/stagedForm.js +42 -0
  460. package/dist/components/rbac/stagedForm.js.map +1 -0
  461. package/dist/components/rbac/useStagedImage.js +21 -0
  462. package/dist/components/rbac/useStagedImage.js.map +1 -0
  463. package/dist/components/roadmap/PhaseManager.js +48 -0
  464. package/dist/components/roadmap/PhaseManager.js.map +1 -0
  465. package/dist/components/roadmap/RoadmapItemCard.js +96 -0
  466. package/dist/components/roadmap/RoadmapItemCard.js.map +1 -0
  467. package/dist/components/roadmap/RoadmapPage.js +34 -0
  468. package/dist/components/roadmap/RoadmapPage.js.map +1 -0
  469. package/dist/components/roadmap/RoadmapSwimlaneBoard.js +91 -0
  470. package/dist/components/roadmap/RoadmapSwimlaneBoard.js.map +1 -0
  471. package/dist/components/roadmap/TrackManager.js +58 -0
  472. package/dist/components/roadmap/TrackManager.js.map +1 -0
  473. package/dist/components/roadmap/UseCaseCard.js +93 -0
  474. package/dist/components/roadmap/UseCaseCard.js.map +1 -0
  475. package/dist/components/roadmap/UseCaseLedgerPage.js +98 -0
  476. package/dist/components/roadmap/UseCaseLedgerPage.js.map +1 -0
  477. package/dist/components/roadmap/chip-tones.js +9 -0
  478. package/dist/components/roadmap/chip-tones.js.map +1 -0
  479. package/dist/components/roadmap/derive.js +28 -0
  480. package/dist/components/roadmap/derive.js.map +1 -0
  481. package/dist/components/stepper/Stepper.js +276 -0
  482. package/dist/components/stepper/Stepper.js.map +1 -0
  483. package/dist/components/stepper/derive.js +53 -0
  484. package/dist/components/stepper/derive.js.map +1 -0
  485. package/dist/confidence.css +222 -0
  486. package/dist/fonts/bricolage-grotesque-0.woff2 +0 -0
  487. package/dist/fonts/bricolage-grotesque-1.woff2 +0 -0
  488. package/dist/fonts/bricolage-grotesque-2.woff2 +0 -0
  489. package/dist/fonts/figtree-0.woff2 +0 -0
  490. package/dist/fonts/figtree-1.woff2 +0 -0
  491. package/dist/fonts/figtree-2.woff2 +0 -0
  492. package/dist/fonts/figtree-3.woff2 +0 -0
  493. package/dist/fonts/jetbrains-mono-0.woff2 +0 -0
  494. package/dist/fonts/jetbrains-mono-1.woff2 +0 -0
  495. package/dist/fonts/jetbrains-mono-10.woff2 +0 -0
  496. package/dist/fonts/jetbrains-mono-11.woff2 +0 -0
  497. package/dist/fonts/jetbrains-mono-2.woff2 +0 -0
  498. package/dist/fonts/jetbrains-mono-3.woff2 +0 -0
  499. package/dist/fonts/jetbrains-mono-4.woff2 +0 -0
  500. package/dist/fonts/jetbrains-mono-5.woff2 +0 -0
  501. package/dist/fonts/jetbrains-mono-6.woff2 +0 -0
  502. package/dist/fonts/jetbrains-mono-7.woff2 +0 -0
  503. package/dist/fonts/jetbrains-mono-8.woff2 +0 -0
  504. package/dist/fonts/jetbrains-mono-9.woff2 +0 -0
  505. package/dist/fonts.css +187 -0
  506. package/dist/icons/data.js +233 -0
  507. package/dist/icons/data.js.map +1 -0
  508. package/dist/index.js +942 -0
  509. package/dist/index.js.map +1 -0
  510. package/dist/lib/attention.js +75 -0
  511. package/dist/lib/attention.js.map +1 -0
  512. package/dist/lib/board/anchor.js +14 -0
  513. package/dist/lib/board/anchor.js.map +1 -0
  514. package/dist/lib/board/model.js +41 -0
  515. package/dist/lib/board/model.js.map +1 -0
  516. package/dist/lib/board/move.js +161 -0
  517. package/dist/lib/board/move.js.map +1 -0
  518. package/dist/lib/board/position.js +11 -0
  519. package/dist/lib/board/position.js.map +1 -0
  520. package/dist/lib/board/rejection.js +22 -0
  521. package/dist/lib/board/rejection.js.map +1 -0
  522. package/dist/lib/board/use-board.js +43 -0
  523. package/dist/lib/board/use-board.js.map +1 -0
  524. package/dist/lib/calendar/band-packer.js +44 -0
  525. package/dist/lib/calendar/band-packer.js.map +1 -0
  526. package/dist/lib/calendar/drag.js +74 -0
  527. package/dist/lib/calendar/drag.js.map +1 -0
  528. package/dist/lib/calendar/lane-packer.js +67 -0
  529. package/dist/lib/calendar/lane-packer.js.map +1 -0
  530. package/dist/lib/calendar/segments.js +82 -0
  531. package/dist/lib/calendar/segments.js.map +1 -0
  532. package/dist/lib/calendar/types.js +7 -0
  533. package/dist/lib/calendar/types.js.map +1 -0
  534. package/dist/lib/chart-palette.js +27 -0
  535. package/dist/lib/chart-palette.js.map +1 -0
  536. package/dist/lib/clipboard.js +30 -0
  537. package/dist/lib/clipboard.js.map +1 -0
  538. package/dist/lib/cn.js +9 -0
  539. package/dist/lib/cn.js.map +1 -0
  540. package/dist/lib/color.js +24 -0
  541. package/dist/lib/color.js.map +1 -0
  542. package/dist/lib/component-guidance.js +297 -0
  543. package/dist/lib/component-guidance.js.map +1 -0
  544. package/dist/lib/confidence.js +22 -0
  545. package/dist/lib/confidence.js.map +1 -0
  546. package/dist/lib/date-timeline/scale.js +197 -0
  547. package/dist/lib/date-timeline/scale.js.map +1 -0
  548. package/dist/lib/design-frame/document.js +44 -0
  549. package/dist/lib/design-frame/document.js.map +1 -0
  550. package/dist/lib/design-frame/mini-app-script.js +107 -0
  551. package/dist/lib/design-frame/mini-app-script.js.map +1 -0
  552. package/dist/lib/design-frame/mini-app.js +12 -0
  553. package/dist/lib/design-frame/mini-app.js.map +1 -0
  554. package/dist/lib/design-frame/protocol.js +46 -0
  555. package/dist/lib/design-frame/protocol.js.map +1 -0
  556. package/dist/lib/dev-warn.js +17 -0
  557. package/dist/lib/dev-warn.js.map +1 -0
  558. package/dist/lib/dnd/announce.js +120 -0
  559. package/dist/lib/dnd/announce.js.map +1 -0
  560. package/dist/lib/dnd/autoscroll.js +123 -0
  561. package/dist/lib/dnd/autoscroll.js.map +1 -0
  562. package/dist/lib/dnd/cross-drop.js +11 -0
  563. package/dist/lib/dnd/cross-drop.js.map +1 -0
  564. package/dist/lib/dnd/geometry.js +99 -0
  565. package/dist/lib/dnd/geometry.js.map +1 -0
  566. package/dist/lib/dnd/sensors/gesture.js +86 -0
  567. package/dist/lib/dnd/sensors/gesture.js.map +1 -0
  568. package/dist/lib/dnd/sensors/keyboard.js +47 -0
  569. package/dist/lib/dnd/sensors/keyboard.js.map +1 -0
  570. package/dist/lib/dnd/sensors/pointer.js +32 -0
  571. package/dist/lib/dnd/sensors/pointer.js.map +1 -0
  572. package/dist/lib/dnd/session.js +256 -0
  573. package/dist/lib/dnd/session.js.map +1 -0
  574. package/dist/lib/dnd/use-drag.js +90 -0
  575. package/dist/lib/dnd/use-drag.js.map +1 -0
  576. package/dist/lib/dom/scroll-ancestor.js +18 -0
  577. package/dist/lib/dom/scroll-ancestor.js.map +1 -0
  578. package/dist/lib/format.js +23 -0
  579. package/dist/lib/format.js.map +1 -0
  580. package/dist/lib/group-in-order.js +13 -0
  581. package/dist/lib/group-in-order.js.map +1 -0
  582. package/dist/lib/header-fold.js +11 -0
  583. package/dist/lib/header-fold.js.map +1 -0
  584. package/dist/lib/i18n/areas/auth-provenance-flows.js +156 -0
  585. package/dist/lib/i18n/areas/auth-provenance-flows.js.map +1 -0
  586. package/dist/lib/i18n/areas/board.js +35 -0
  587. package/dist/lib/i18n/areas/board.js.map +1 -0
  588. package/dist/lib/i18n/areas/card-face.js +10 -0
  589. package/dist/lib/i18n/areas/card-face.js.map +1 -0
  590. package/dist/lib/i18n/areas/chat-chart.js +118 -0
  591. package/dist/lib/i18n/areas/chat-chart.js.map +1 -0
  592. package/dist/lib/i18n/areas/code-editor.js +24 -0
  593. package/dist/lib/i18n/areas/code-editor.js.map +1 -0
  594. package/dist/lib/i18n/areas/date-timeline.js +21 -0
  595. package/dist/lib/i18n/areas/date-timeline.js.map +1 -0
  596. package/dist/lib/i18n/areas/dates.js +71 -0
  597. package/dist/lib/i18n/areas/dates.js.map +1 -0
  598. package/dist/lib/i18n/areas/docs-views.js +183 -0
  599. package/dist/lib/i18n/areas/docs-views.js.map +1 -0
  600. package/dist/lib/i18n/areas/feedback.js +75 -0
  601. package/dist/lib/i18n/areas/feedback.js.map +1 -0
  602. package/dist/lib/i18n/areas/formats.js +24 -0
  603. package/dist/lib/i18n/areas/formats.js.map +1 -0
  604. package/dist/lib/i18n/areas/forms.js +110 -0
  605. package/dist/lib/i18n/areas/forms.js.map +1 -0
  606. package/dist/lib/i18n/areas/keys.js +25 -0
  607. package/dist/lib/i18n/areas/keys.js.map +1 -0
  608. package/dist/lib/i18n/areas/markdown.js +136 -0
  609. package/dist/lib/i18n/areas/markdown.js.map +1 -0
  610. package/dist/lib/i18n/areas/move-rejected.js +14 -0
  611. package/dist/lib/i18n/areas/move-rejected.js.map +1 -0
  612. package/dist/lib/i18n/areas/navigation.js +104 -0
  613. package/dist/lib/i18n/areas/navigation.js.map +1 -0
  614. package/dist/lib/i18n/areas/rbac.js +331 -0
  615. package/dist/lib/i18n/areas/rbac.js.map +1 -0
  616. package/dist/lib/i18n/emphasis.js +6 -0
  617. package/dist/lib/i18n/emphasis.js.map +1 -0
  618. package/dist/lib/i18n/number-format.js +9 -0
  619. package/dist/lib/i18n/number-format.js.map +1 -0
  620. package/dist/lib/i18n/plural.js +9 -0
  621. package/dist/lib/i18n/plural.js.map +1 -0
  622. package/dist/lib/i18n/provider.js +27 -0
  623. package/dist/lib/i18n/provider.js.map +1 -0
  624. package/dist/lib/i18n/strings.js +38 -0
  625. package/dist/lib/i18n/strings.js.map +1 -0
  626. package/dist/lib/icons.js +17 -0
  627. package/dist/lib/icons.js.map +1 -0
  628. package/dist/lib/interactive-target.js +9 -0
  629. package/dist/lib/interactive-target.js.map +1 -0
  630. package/dist/lib/intl-cache.js +69 -0
  631. package/dist/lib/intl-cache.js.map +1 -0
  632. package/dist/lib/legal-document.js +37 -0
  633. package/dist/lib/legal-document.js.map +1 -0
  634. package/dist/lib/line-diff-model.js +51 -0
  635. package/dist/lib/line-diff-model.js.map +1 -0
  636. package/dist/lib/markdown/attachments.js +71 -0
  637. package/dist/lib/markdown/attachments.js.map +1 -0
  638. package/dist/lib/markdown/caret-map.js +153 -0
  639. package/dist/lib/markdown/caret-map.js.map +1 -0
  640. package/dist/lib/markdown/caret.js +35 -0
  641. package/dist/lib/markdown/caret.js.map +1 -0
  642. package/dist/lib/markdown/commands.js +443 -0
  643. package/dist/lib/markdown/commands.js.map +1 -0
  644. package/dist/lib/markdown/convert.js +153 -0
  645. package/dist/lib/markdown/convert.js.map +1 -0
  646. package/dist/lib/markdown/dom.js +89 -0
  647. package/dist/lib/markdown/dom.js.map +1 -0
  648. package/dist/lib/markdown/edit.js +92 -0
  649. package/dist/lib/markdown/edit.js.map +1 -0
  650. package/dist/lib/markdown/history.js +79 -0
  651. package/dist/lib/markdown/history.js.map +1 -0
  652. package/dist/lib/markdown/hotkeys.js +63 -0
  653. package/dist/lib/markdown/hotkeys.js.map +1 -0
  654. package/dist/lib/markdown/image-pipeline.js +236 -0
  655. package/dist/lib/markdown/image-pipeline.js.map +1 -0
  656. package/dist/lib/markdown/images.js +85 -0
  657. package/dist/lib/markdown/images.js.map +1 -0
  658. package/dist/lib/markdown/input.js +210 -0
  659. package/dist/lib/markdown/input.js.map +1 -0
  660. package/dist/lib/markdown/keys.js +37 -0
  661. package/dist/lib/markdown/keys.js.map +1 -0
  662. package/dist/lib/markdown/paste.js +180 -0
  663. package/dist/lib/markdown/paste.js.map +1 -0
  664. package/dist/lib/markdown/position.js +111 -0
  665. package/dist/lib/markdown/position.js.map +1 -0
  666. package/dist/lib/markdown/project.js +108 -0
  667. package/dist/lib/markdown/project.js.map +1 -0
  668. package/dist/lib/markdown/reconcile.js +127 -0
  669. package/dist/lib/markdown/reconcile.js.map +1 -0
  670. package/dist/lib/markdown/surface.js +373 -0
  671. package/dist/lib/markdown/surface.js.map +1 -0
  672. package/dist/lib/motion.js +22 -0
  673. package/dist/lib/motion.js.map +1 -0
  674. package/dist/lib/pad.js +7 -0
  675. package/dist/lib/pad.js.map +1 -0
  676. package/dist/lib/paged-window/layout.js +15 -0
  677. package/dist/lib/paged-window/layout.js.map +1 -0
  678. package/dist/lib/paged-window/list-owner.js +21 -0
  679. package/dist/lib/paged-window/list-owner.js.map +1 -0
  680. package/dist/lib/paged-window/records-binding.js +239 -0
  681. package/dist/lib/paged-window/records-binding.js.map +1 -0
  682. package/dist/lib/paged-window/store.js +562 -0
  683. package/dist/lib/paged-window/store.js.map +1 -0
  684. package/dist/lib/paged-window/use-measured-pitch.js +38 -0
  685. package/dist/lib/paged-window/use-measured-pitch.js.map +1 -0
  686. package/dist/lib/paged-window/use-page-visibility.js +36 -0
  687. package/dist/lib/paged-window/use-page-visibility.js.map +1 -0
  688. package/dist/lib/paged-window/use-paged-window.js +43 -0
  689. package/dist/lib/paged-window/use-paged-window.js.map +1 -0
  690. package/dist/lib/paged-window/use-scroll-root.js +12 -0
  691. package/dist/lib/paged-window/use-scroll-root.js.map +1 -0
  692. package/dist/lib/persist.js +84 -0
  693. package/dist/lib/persist.js.map +1 -0
  694. package/dist/lib/preference-values.js +13 -0
  695. package/dist/lib/preference-values.js.map +1 -0
  696. package/dist/lib/preferences.js +86 -0
  697. package/dist/lib/preferences.js.map +1 -0
  698. package/dist/lib/reads/hooks.js +156 -0
  699. package/dist/lib/reads/hooks.js.map +1 -0
  700. package/dist/lib/reads/optimistic.js +169 -0
  701. package/dist/lib/reads/optimistic.js.map +1 -0
  702. package/dist/lib/reads/refetch.js +108 -0
  703. package/dist/lib/reads/refetch.js.map +1 -0
  704. package/dist/lib/reads/slots.js +215 -0
  705. package/dist/lib/reads/slots.js.map +1 -0
  706. package/dist/lib/realtime/hooks.js +40 -0
  707. package/dist/lib/realtime/hooks.js.map +1 -0
  708. package/dist/lib/realtime/provider.js +25 -0
  709. package/dist/lib/realtime/provider.js.map +1 -0
  710. package/dist/lib/realtime/registry.js +472 -0
  711. package/dist/lib/realtime/registry.js.map +1 -0
  712. package/dist/lib/records/define-record-type.js +33 -0
  713. package/dist/lib/records/define-record-type.js.map +1 -0
  714. package/dist/lib/records/hooks.js +39 -0
  715. package/dist/lib/records/hooks.js.map +1 -0
  716. package/dist/lib/records/store.js +572 -0
  717. package/dist/lib/records/store.js.map +1 -0
  718. package/dist/lib/records/wire.js +58 -0
  719. package/dist/lib/records/wire.js.map +1 -0
  720. package/dist/lib/reduced-motion-help.js +19 -0
  721. package/dist/lib/reduced-motion-help.js.map +1 -0
  722. package/dist/lib/scroll-caret.js +18 -0
  723. package/dist/lib/scroll-caret.js.map +1 -0
  724. package/dist/lib/sim/createSimStore.js +54 -0
  725. package/dist/lib/sim/createSimStore.js.map +1 -0
  726. package/dist/lib/sim/latency.js +28 -0
  727. package/dist/lib/sim/latency.js.map +1 -0
  728. package/dist/lib/sim/registry.js +13 -0
  729. package/dist/lib/sim/registry.js.map +1 -0
  730. package/dist/lib/sim/settings.js +41 -0
  731. package/dist/lib/sim/settings.js.map +1 -0
  732. package/dist/lib/submit-shortcut.js +25 -0
  733. package/dist/lib/submit-shortcut.js.map +1 -0
  734. package/dist/lib/syntax/index.js +33 -0
  735. package/dist/lib/syntax/index.js.map +1 -0
  736. package/dist/lib/syntax/languages/bash.js +77 -0
  737. package/dist/lib/syntax/languages/bash.js.map +1 -0
  738. package/dist/lib/syntax/languages/css.js +81 -0
  739. package/dist/lib/syntax/languages/css.js.map +1 -0
  740. package/dist/lib/syntax/languages/html.js +91 -0
  741. package/dist/lib/syntax/languages/html.js.map +1 -0
  742. package/dist/lib/syntax/languages/index.js +49 -0
  743. package/dist/lib/syntax/languages/index.js.map +1 -0
  744. package/dist/lib/syntax/languages/javascript.js +133 -0
  745. package/dist/lib/syntax/languages/javascript.js.map +1 -0
  746. package/dist/lib/syntax/languages/json.js +45 -0
  747. package/dist/lib/syntax/languages/json.js.map +1 -0
  748. package/dist/lib/syntax/languages/mongodb.js +24 -0
  749. package/dist/lib/syntax/languages/mongodb.js.map +1 -0
  750. package/dist/lib/syntax/languages/plain.js +10 -0
  751. package/dist/lib/syntax/languages/plain.js.map +1 -0
  752. package/dist/lib/syntax/languages/sql.js +113 -0
  753. package/dist/lib/syntax/languages/sql.js.map +1 -0
  754. package/dist/lib/syntax/languages/vue.js +31 -0
  755. package/dist/lib/syntax/languages/vue.js.map +1 -0
  756. package/dist/lib/syntax/languages/yaml.js +55 -0
  757. package/dist/lib/syntax/languages/yaml.js.map +1 -0
  758. package/dist/lib/syntax/markdown/grammar.js +52 -0
  759. package/dist/lib/syntax/markdown/grammar.js.map +1 -0
  760. package/dist/lib/syntax/markdown/inline.js +477 -0
  761. package/dist/lib/syntax/markdown/inline.js.map +1 -0
  762. package/dist/lib/syntax/markdown/parse.js +464 -0
  763. package/dist/lib/syntax/markdown/parse.js.map +1 -0
  764. package/dist/lib/syntax/markdown/refs.js +94 -0
  765. package/dist/lib/syntax/markdown/refs.js.map +1 -0
  766. package/dist/lib/syntax/markdown/render.js +230 -0
  767. package/dist/lib/syntax/markdown/render.js.map +1 -0
  768. package/dist/lib/syntax/markdown/spans.js +40 -0
  769. package/dist/lib/syntax/markdown/spans.js.map +1 -0
  770. package/dist/lib/syntax/registry.js +55 -0
  771. package/dist/lib/syntax/registry.js.map +1 -0
  772. package/dist/lib/syntax/tokenize.js +96 -0
  773. package/dist/lib/syntax/tokenize.js.map +1 -0
  774. package/dist/lib/time/instant.js +7 -0
  775. package/dist/lib/time/instant.js.map +1 -0
  776. package/dist/lib/time/plain.js +83 -0
  777. package/dist/lib/time/plain.js.map +1 -0
  778. package/dist/lib/time/relativeAge.js +20 -0
  779. package/dist/lib/time/relativeAge.js.map +1 -0
  780. package/dist/lib/time/relativeClock.js +59 -0
  781. package/dist/lib/time/relativeClock.js.map +1 -0
  782. package/dist/lib/time/types.js +23 -0
  783. package/dist/lib/time/types.js.map +1 -0
  784. package/dist/lib/time/zone.js +148 -0
  785. package/dist/lib/time/zone.js.map +1 -0
  786. package/dist/lib/use-controllable.js +16 -0
  787. package/dist/lib/use-controllable.js.map +1 -0
  788. package/dist/lib/use-fill-height.js +49 -0
  789. package/dist/lib/use-fill-height.js.map +1 -0
  790. package/dist/lib/use-hydrated.js +14 -0
  791. package/dist/lib/use-hydrated.js.map +1 -0
  792. package/dist/lib/use-media-query.js +30 -0
  793. package/dist/lib/use-media-query.js.map +1 -0
  794. package/dist/lib/use-relabel-base-ui-dismiss.js +26 -0
  795. package/dist/lib/use-relabel-base-ui-dismiss.js.map +1 -0
  796. package/dist/lib/use-release-snap-drag.js +29 -0
  797. package/dist/lib/use-release-snap-drag.js.map +1 -0
  798. package/dist/lib/use-roving-options.js +18 -0
  799. package/dist/lib/use-roving-options.js.map +1 -0
  800. package/dist/lib/values/absent.js +5 -0
  801. package/dist/lib/values/absent.js.map +1 -0
  802. package/dist/lib/values/boolean.js +13 -0
  803. package/dist/lib/values/boolean.js.map +1 -0
  804. package/dist/lib/values/currency.js +23 -0
  805. package/dist/lib/values/currency.js.map +1 -0
  806. package/dist/lib/values/date.js +35 -0
  807. package/dist/lib/values/date.js.map +1 -0
  808. package/dist/lib/values/datetime.js +54 -0
  809. package/dist/lib/values/datetime.js.map +1 -0
  810. package/dist/lib/values/locale-date.js +60 -0
  811. package/dist/lib/values/locale-date.js.map +1 -0
  812. package/dist/lib/values/number.js +16 -0
  813. package/dist/lib/values/number.js.map +1 -0
  814. package/dist/pure.js +379 -0
  815. package/dist/pure.js.map +1 -0
  816. package/dist/styles.css +190 -0
  817. package/dist/theme.css +360 -0
  818. package/dist/types/components/Accordion.d.ts +15 -0
  819. package/dist/types/components/AgentWorkingSpinner.d.ts +23 -0
  820. package/dist/types/components/AppShell.d.ts +164 -0
  821. package/dist/types/components/Attention.d.ts +87 -0
  822. package/dist/types/components/Avatar.d.ts +154 -0
  823. package/dist/types/components/Badge.d.ts +131 -0
  824. package/dist/types/components/Board.d.ts +239 -0
  825. package/dist/types/components/Button.d.ts +208 -0
  826. package/dist/types/components/Callout.d.ts +163 -0
  827. package/dist/types/components/Card.d.ts +219 -0
  828. package/dist/types/components/Choice.d.ts +127 -0
  829. package/dist/types/components/CodeEditor.d.ts +86 -0
  830. package/dist/types/components/ColorPicker.d.ts +14 -0
  831. package/dist/types/components/Combobox.d.ts +43 -0
  832. package/dist/types/components/CommandPalette.d.ts +35 -0
  833. package/dist/types/components/ConcentricRing.d.ts +61 -0
  834. package/dist/types/components/ConnectionCard.d.ts +64 -0
  835. package/dist/types/components/ContextItemRow.d.ts +35 -0
  836. package/dist/types/components/CopyValue.d.ts +14 -0
  837. package/dist/types/components/CountBadge.d.ts +14 -0
  838. package/dist/types/components/DateCalendar.d.ts +30 -0
  839. package/dist/types/components/DateField.d.ts +29 -0
  840. package/dist/types/components/DatePicker.d.ts +20 -0
  841. package/dist/types/components/DateTimeText.d.ts +9 -0
  842. package/dist/types/components/DescriptionList.d.ts +40 -0
  843. package/dist/types/components/Dialog.d.ts +269 -0
  844. package/dist/types/components/DragDrop.d.ts +196 -0
  845. package/dist/types/components/Drawer.d.ts +163 -0
  846. package/dist/types/components/EditGutter.d.ts +44 -0
  847. package/dist/types/components/EmojiPicker.d.ts +30 -0
  848. package/dist/types/components/ErrorBoundary.d.ts +43 -0
  849. package/dist/types/components/Field.d.ts +37 -0
  850. package/dist/types/components/FileUpload.d.ts +22 -0
  851. package/dist/types/components/FilterMenu.d.ts +120 -0
  852. package/dist/types/components/GatesSection.d.ts +79 -0
  853. package/dist/types/components/Icon.d.ts +40 -0
  854. package/dist/types/components/IconButton.d.ts +69 -0
  855. package/dist/types/components/IconStack.d.ts +28 -0
  856. package/dist/types/components/ImageUploadField.d.ts +38 -0
  857. package/dist/types/components/InlineEdit.d.ts +183 -0
  858. package/dist/types/components/InlineMarkdownEdit.d.ts +100 -0
  859. package/dist/types/components/Input.d.ts +128 -0
  860. package/dist/types/components/LegalDocument.d.ts +23 -0
  861. package/dist/types/components/LineDiff.d.ts +53 -0
  862. package/dist/types/components/ListHeader.d.ts +45 -0
  863. package/dist/types/components/Loading.d.ts +131 -0
  864. package/dist/types/components/Markdown.d.ts +35 -0
  865. package/dist/types/components/MarkdownEditor.d.ts +129 -0
  866. package/dist/types/components/Menu.d.ts +157 -0
  867. package/dist/types/components/Navigation.d.ts +67 -0
  868. package/dist/types/components/NumberInput.d.ts +177 -0
  869. package/dist/types/components/OTPInput.d.ts +13 -0
  870. package/dist/types/components/OrderedEntityManager.d.ts +64 -0
  871. package/dist/types/components/PagedWindowList.d.ts +23 -0
  872. package/dist/types/components/PaginationBar.d.ts +31 -0
  873. package/dist/types/components/Panel.d.ts +94 -0
  874. package/dist/types/components/PasswordInput.d.ts +7 -0
  875. package/dist/types/components/PasswordRequirements.d.ts +11 -0
  876. package/dist/types/components/PatchDiff.d.ts +38 -0
  877. package/dist/types/components/PendingVeil.d.ts +8 -0
  878. package/dist/types/components/Popover.d.ts +231 -0
  879. package/dist/types/components/Progress.d.ts +580 -0
  880. package/dist/types/components/RatingScale.d.ts +30 -0
  881. package/dist/types/components/ReadMore.d.ts +26 -0
  882. package/dist/types/components/RecordCard.d.ts +413 -0
  883. package/dist/types/components/RelativeTime.d.ts +17 -0
  884. package/dist/types/components/SandboxedFrame.d.ts +37 -0
  885. package/dist/types/components/SearchInput.d.ts +6 -0
  886. package/dist/types/components/SecretField.d.ts +90 -0
  887. package/dist/types/components/SectionNav.d.ts +15 -0
  888. package/dist/types/components/Select.d.ts +53 -0
  889. package/dist/types/components/SequenceDiagram.d.ts +15 -0
  890. package/dist/types/components/SettingRow.d.ts +144 -0
  891. package/dist/types/components/SignOffRings.d.ts +29 -0
  892. package/dist/types/components/Slider.d.ts +255 -0
  893. package/dist/types/components/SolutionChoice.d.ts +49 -0
  894. package/dist/types/components/SortMenu.d.ts +45 -0
  895. package/dist/types/components/Spinner.d.ts +29 -0
  896. package/dist/types/components/Stat.d.ts +136 -0
  897. package/dist/types/components/StatusSelect.d.ts +93 -0
  898. package/dist/types/components/Surface.d.ts +145 -0
  899. package/dist/types/components/Table.d.ts +164 -0
  900. package/dist/types/components/Tabs.d.ts +142 -0
  901. package/dist/types/components/ThemeMenu.d.ts +56 -0
  902. package/dist/types/components/Toast.d.ts +63 -0
  903. package/dist/types/components/Toggle.d.ts +168 -0
  904. package/dist/types/components/ToggleMatrix.d.ts +51 -0
  905. package/dist/types/components/Tree.d.ts +20 -0
  906. package/dist/types/components/TriStateSwitch.d.ts +63 -0
  907. package/dist/types/components/VideoPlayer.d.ts +26 -0
  908. package/dist/types/components/auth/AcceptInvitationCard.d.ts +54 -0
  909. package/dist/types/components/auth/AuthLayout.d.ts +12 -0
  910. package/dist/types/components/auth/ForgotPasswordForm.d.ts +6 -0
  911. package/dist/types/components/auth/LoginForm.d.ts +13 -0
  912. package/dist/types/components/auth/ResetPasswordForm.d.ts +9 -0
  913. package/dist/types/components/auth/SignInProviders.d.ts +56 -0
  914. package/dist/types/components/auth/SignupCard.d.ts +62 -0
  915. package/dist/types/components/auth/TermsAcceptance.d.ts +14 -0
  916. package/dist/types/components/auth/index.d.ts +8 -0
  917. package/dist/types/components/board/context.d.ts +65 -0
  918. package/dist/types/components/board/recipe.d.ts +97 -0
  919. package/dist/types/components/calendar/CalendarMonth.d.ts +32 -0
  920. package/dist/types/components/calendar/CalendarTimeGrid.d.ts +74 -0
  921. package/dist/types/components/calendar/EventActions.d.ts +16 -0
  922. package/dist/types/components/calendar/format.d.ts +42 -0
  923. package/dist/types/components/calendar/palette.d.ts +17 -0
  924. package/dist/types/components/calendar/use-calendar-drag.d.ts +53 -0
  925. package/dist/types/components/calendar/use-event-keyboard.d.ts +23 -0
  926. package/dist/types/components/calendar/use-grid-navigation.d.ts +47 -0
  927. package/dist/types/components/calendar/use-now.d.ts +20 -0
  928. package/dist/types/components/card-face/AcRingGlyph.d.ts +20 -0
  929. package/dist/types/components/card-face/BoardCardAgentSlot.d.ts +19 -0
  930. package/dist/types/components/card-face/CardFace.d.ts +106 -0
  931. package/dist/types/components/card-face/CardTypeBadge.d.ts +21 -0
  932. package/dist/types/components/card-face/EffortBadge.d.ts +9 -0
  933. package/dist/types/components/card-face/GateRingGlyph.d.ts +22 -0
  934. package/dist/types/components/card-face/OverflowRow.d.ts +40 -0
  935. package/dist/types/components/card-face/TapTip.d.ts +15 -0
  936. package/dist/types/components/card-face/hit-area.d.ts +20 -0
  937. package/dist/types/components/card-face/vocabulary.d.ts +83 -0
  938. package/dist/types/components/chart/BarList.d.ts +27 -0
  939. package/dist/types/components/chart/LineChart.d.ts +64 -0
  940. package/dist/types/components/chart/ShareBar.d.ts +26 -0
  941. package/dist/types/components/chart/TimeSeriesChart.d.ts +60 -0
  942. package/dist/types/components/chart/label-metrics.d.ts +9 -0
  943. package/dist/types/components/chart/line-chart-axis.d.ts +14 -0
  944. package/dist/types/components/chart/line-chart-scale.d.ts +55 -0
  945. package/dist/types/components/chart/line-series-style.d.ts +14 -0
  946. package/dist/types/components/chart/share-bar-labels.d.ts +17 -0
  947. package/dist/types/components/chart/shared.d.ts +122 -0
  948. package/dist/types/components/chart/time-series-scale.d.ts +29 -0
  949. package/dist/types/components/chat/Attachment.d.ts +125 -0
  950. package/dist/types/components/chat/Chat.d.ts +60 -0
  951. package/dist/types/components/chat/Composer.d.ts +62 -0
  952. package/dist/types/components/chat/ContextMeter.d.ts +45 -0
  953. package/dist/types/components/chat/EffortControl.d.ts +23 -0
  954. package/dist/types/components/chat/FileCover.d.ts +14 -0
  955. package/dist/types/components/chat/Message.d.ts +66 -0
  956. package/dist/types/components/chat/MessageScroller.d.ts +18 -0
  957. package/dist/types/components/chat/ModelSelector.d.ts +44 -0
  958. package/dist/types/components/chat/StreamingMarkdown.d.ts +11 -0
  959. package/dist/types/components/chat/download-file.d.ts +7 -0
  960. package/dist/types/components/chat/file-icon.d.ts +29 -0
  961. package/dist/types/components/chat/types.d.ts +165 -0
  962. package/dist/types/components/checklist/StatusChecklist.d.ts +37 -0
  963. package/dist/types/components/checklist/index.d.ts +3 -0
  964. package/dist/types/components/checklist/tally.d.ts +19 -0
  965. package/dist/types/components/checklist/types.d.ts +28 -0
  966. package/dist/types/components/code-editor/context.d.ts +32 -0
  967. package/dist/types/components/code-editor/editing.d.ts +39 -0
  968. package/dist/types/components/code-editor/highlight.d.ts +20 -0
  969. package/dist/types/components/code-editor/recipe.d.ts +109 -0
  970. package/dist/types/components/date-timeline/DateTimeline.d.ts +99 -0
  971. package/dist/types/components/date-timeline/TimelineRow.d.ts +22 -0
  972. package/dist/types/components/date-timeline/useBarDrag.d.ts +15 -0
  973. package/dist/types/components/date-timeline/useMarkerDrag.d.ts +14 -0
  974. package/dist/types/components/date-timeline/useTimelineZoom.d.ts +23 -0
  975. package/dist/types/components/drag-drop/context.d.ts +85 -0
  976. package/dist/types/components/drag-drop/recipe.d.ts +163 -0
  977. package/dist/types/components/drag-drop/shift.d.ts +153 -0
  978. package/dist/types/components/edit/activation.d.ts +21 -0
  979. package/dist/types/components/edit/outcome.d.ts +29 -0
  980. package/dist/types/components/edit/use-edit-session.d.ts +77 -0
  981. package/dist/types/components/file-viewer/FileViewer.d.ts +2 -0
  982. package/dist/types/components/file-viewer/PageNumberJumpField.d.ts +9 -0
  983. package/dist/types/components/file-viewer/ViewerControls.d.ts +20 -0
  984. package/dist/types/components/file-viewer/ViewerRail.d.ts +10 -0
  985. package/dist/types/components/file-viewer/ViewerStage.d.ts +22 -0
  986. package/dist/types/components/file-viewer/frames.d.ts +28 -0
  987. package/dist/types/components/file-viewer/index.d.ts +3 -0
  988. package/dist/types/components/file-viewer/types.d.ts +70 -0
  989. package/dist/types/components/file-viewer/use-frame-cursor.d.ts +13 -0
  990. package/dist/types/components/file-viewer/use-viewer-keys.d.ts +24 -0
  991. package/dist/types/components/file-viewer/use-viewer-zoom.d.ts +29 -0
  992. package/dist/types/components/focus-web/FocusWeb.d.ts +3 -0
  993. package/dist/types/components/focus-web/index.d.ts +4 -0
  994. package/dist/types/components/focus-web/layout.d.ts +55 -0
  995. package/dist/types/components/focus-web/types.d.ts +131 -0
  996. package/dist/types/components/graph-explorer/GraphExplorer.d.ts +42 -0
  997. package/dist/types/components/graph-explorer/camera-math.d.ts +119 -0
  998. package/dist/types/components/graph-explorer/index.d.ts +5 -0
  999. package/dist/types/components/graph-explorer/tree-layout.d.ts +67 -0
  1000. package/dist/types/components/graph-explorer/types.d.ts +62 -0
  1001. package/dist/types/components/graph-explorer/use-camera.d.ts +81 -0
  1002. package/dist/types/components/graph-explorer/viewport-gesture.d.ts +32 -0
  1003. package/dist/types/components/kanban/KanbanBoard.d.ts +72 -0
  1004. package/dist/types/components/kanban/recipe.d.ts +73 -0
  1005. package/dist/types/components/kanban/types.d.ts +55 -0
  1006. package/dist/types/components/markdown/Affordances.d.ts +105 -0
  1007. package/dist/types/components/markdown/AttachmentStrip.d.ts +25 -0
  1008. package/dist/types/components/markdown/ImageUpload.d.ts +56 -0
  1009. package/dist/types/components/media-error.d.ts +11 -0
  1010. package/dist/types/components/nav-sections.d.ts +10 -0
  1011. package/dist/types/components/node-canvas/NodeCanvas.d.ts +66 -0
  1012. package/dist/types/components/node-canvas/index.d.ts +3 -0
  1013. package/dist/types/components/node-canvas/layout.d.ts +29 -0
  1014. package/dist/types/components/node-canvas/types.d.ts +207 -0
  1015. package/dist/types/components/node-canvas/use-canvas-gestures.d.ts +39 -0
  1016. package/dist/types/components/openapi/OpenApiViewer.d.ts +14 -0
  1017. package/dist/types/components/openapi/OperationCard.d.ts +33 -0
  1018. package/dist/types/components/openapi/SchemaView.d.ts +14 -0
  1019. package/dist/types/components/openapi/index.d.ts +6 -0
  1020. package/dist/types/components/openapi/resolve.d.ts +72 -0
  1021. package/dist/types/components/openapi/types.d.ts +128 -0
  1022. package/dist/types/components/overlay-shell.d.ts +48 -0
  1023. package/dist/types/components/overlay-stack.d.ts +18 -0
  1024. package/dist/types/components/paged-window/PageBlock.d.ts +31 -0
  1025. package/dist/types/components/provenance/ConfidenceBar.d.ts +118 -0
  1026. package/dist/types/components/provenance/ConfidenceMeter.d.ts +21 -0
  1027. package/dist/types/components/provenance/ConfidenceReadout.d.ts +17 -0
  1028. package/dist/types/components/provenance/ProvenanceBadge.d.ts +23 -0
  1029. package/dist/types/components/provenance/ProvenanceDetail.d.ts +109 -0
  1030. package/dist/types/components/provenance/ProvenanceDisclosure.d.ts +107 -0
  1031. package/dist/types/components/provenance/absence.d.ts +37 -0
  1032. package/dist/types/components/provenance/index.d.ts +7 -0
  1033. package/dist/types/components/provenance/types.d.ts +137 -0
  1034. package/dist/types/components/rbac/AccessRequestPanel.d.ts +92 -0
  1035. package/dist/types/components/rbac/AccountMenu.d.ts +46 -0
  1036. package/dist/types/components/rbac/AgentKeysList.d.ts +20 -0
  1037. package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
  1038. package/dist/types/components/rbac/ApiKeysTable.d.ts +63 -0
  1039. package/dist/types/components/rbac/Brand.d.ts +8 -0
  1040. package/dist/types/components/rbac/Can.d.ts +19 -0
  1041. package/dist/types/components/rbac/ChangePasswordForm.d.ts +18 -0
  1042. package/dist/types/components/rbac/DangerZone.d.ts +8 -0
  1043. package/dist/types/components/rbac/DevToolsPopover.d.ts +36 -0
  1044. package/dist/types/components/rbac/EndedLine.d.ts +21 -0
  1045. package/dist/types/components/rbac/InvitationsList.d.ts +39 -0
  1046. package/dist/types/components/rbac/InviteMembersDialog.d.ts +21 -0
  1047. package/dist/types/components/rbac/MembersPanel.d.ts +31 -0
  1048. package/dist/types/components/rbac/PermissionRequestPanel.d.ts +36 -0
  1049. package/dist/types/components/rbac/ProfileForm.d.ts +27 -0
  1050. package/dist/types/components/rbac/ProfilePage.d.ts +16 -0
  1051. package/dist/types/components/rbac/RBACProvider.d.ts +69 -0
  1052. package/dist/types/components/rbac/RoleEditorDialog.d.ts +28 -0
  1053. package/dist/types/components/rbac/RoleKeyPicker.d.ts +24 -0
  1054. package/dist/types/components/rbac/RolePermissionMatrix.d.ts +21 -0
  1055. package/dist/types/components/rbac/RolesPermissionsPage.d.ts +24 -0
  1056. package/dist/types/components/rbac/SessionsList.d.ts +35 -0
  1057. package/dist/types/components/rbac/TeamSettingsForm.d.ts +22 -0
  1058. package/dist/types/components/rbac/TeamSwitcher.d.ts +5 -0
  1059. package/dist/types/components/rbac/approvalPanelParts.d.ts +69 -0
  1060. package/dist/types/components/rbac/index.d.ts +25 -0
  1061. package/dist/types/components/rbac/permissionSections.d.ts +8 -0
  1062. package/dist/types/components/rbac/stagedForm.d.ts +25 -0
  1063. package/dist/types/components/rbac/types.d.ts +65 -0
  1064. package/dist/types/components/rbac/useStagedImage.d.ts +15 -0
  1065. package/dist/types/components/roadmap/PhaseManager.d.ts +19 -0
  1066. package/dist/types/components/roadmap/RoadmapItemCard.d.ts +51 -0
  1067. package/dist/types/components/roadmap/RoadmapPage.d.ts +12 -0
  1068. package/dist/types/components/roadmap/RoadmapSwimlaneBoard.d.ts +15 -0
  1069. package/dist/types/components/roadmap/TrackManager.d.ts +19 -0
  1070. package/dist/types/components/roadmap/UseCaseCard.d.ts +30 -0
  1071. package/dist/types/components/roadmap/UseCaseLedgerPage.d.ts +29 -0
  1072. package/dist/types/components/roadmap/chip-tones.d.ts +2 -0
  1073. package/dist/types/components/roadmap/derive.d.ts +39 -0
  1074. package/dist/types/components/roadmap/index.d.ts +10 -0
  1075. package/dist/types/components/roadmap/types.d.ts +86 -0
  1076. package/dist/types/components/stepper/Stepper.d.ts +79 -0
  1077. package/dist/types/components/stepper/derive.d.ts +49 -0
  1078. package/dist/types/components/stepper/index.d.ts +3 -0
  1079. package/dist/types/components/stepper/types.d.ts +118 -0
  1080. package/dist/types/icons/data.d.ts +2054 -0
  1081. package/dist/types/index.d.ts +209 -0
  1082. package/dist/types/lib/attention.d.ts +62 -0
  1083. package/dist/types/lib/board/anchor.d.ts +69 -0
  1084. package/dist/types/lib/board/index.d.ts +17 -0
  1085. package/dist/types/lib/board/model.d.ts +43 -0
  1086. package/dist/types/lib/board/move.d.ts +181 -0
  1087. package/dist/types/lib/board/position.d.ts +22 -0
  1088. package/dist/types/lib/board/rejection.d.ts +8 -0
  1089. package/dist/types/lib/board/types.d.ts +294 -0
  1090. package/dist/types/lib/board/use-board.d.ts +47 -0
  1091. package/dist/types/lib/calendar/band-packer.d.ts +53 -0
  1092. package/dist/types/lib/calendar/drag.d.ts +125 -0
  1093. package/dist/types/lib/calendar/index.d.ts +4 -0
  1094. package/dist/types/lib/calendar/lane-packer.d.ts +88 -0
  1095. package/dist/types/lib/calendar/segments.d.ts +91 -0
  1096. package/dist/types/lib/calendar/types.d.ts +166 -0
  1097. package/dist/types/lib/chart-palette.d.ts +14 -0
  1098. package/dist/types/lib/clipboard.d.ts +12 -0
  1099. package/dist/types/lib/cn.d.ts +7 -0
  1100. package/dist/types/lib/color.d.ts +14 -0
  1101. package/dist/types/lib/component-guidance.d.ts +15 -0
  1102. package/dist/types/lib/confidence.d.ts +28 -0
  1103. package/dist/types/lib/date-timeline/scale.d.ts +143 -0
  1104. package/dist/types/lib/design-frame/document.d.ts +39 -0
  1105. package/dist/types/lib/design-frame/mini-app-script.d.ts +29 -0
  1106. package/dist/types/lib/design-frame/mini-app.d.ts +17 -0
  1107. package/dist/types/lib/design-frame/protocol.d.ts +78 -0
  1108. package/dist/types/lib/dev-warn.d.ts +10 -0
  1109. package/dist/types/lib/dnd/announce.d.ts +124 -0
  1110. package/dist/types/lib/dnd/autoscroll.d.ts +88 -0
  1111. package/dist/types/lib/dnd/cross-drop.d.ts +18 -0
  1112. package/dist/types/lib/dnd/geometry.d.ts +126 -0
  1113. package/dist/types/lib/dnd/index.d.ts +17 -0
  1114. package/dist/types/lib/dnd/sensors/gesture.d.ts +37 -0
  1115. package/dist/types/lib/dnd/sensors/keyboard.d.ts +54 -0
  1116. package/dist/types/lib/dnd/sensors/pointer.d.ts +59 -0
  1117. package/dist/types/lib/dnd/session.d.ts +124 -0
  1118. package/dist/types/lib/dnd/types.d.ts +226 -0
  1119. package/dist/types/lib/dnd/use-drag.d.ts +82 -0
  1120. package/dist/types/lib/dom/scroll-ancestor.d.ts +15 -0
  1121. package/dist/types/lib/format.d.ts +33 -0
  1122. package/dist/types/lib/group-in-order.d.ts +13 -0
  1123. package/dist/types/lib/header-fold.d.ts +10 -0
  1124. package/dist/types/lib/i18n/areas/auth-provenance-flows.d.ts +287 -0
  1125. package/dist/types/lib/i18n/areas/board.d.ts +51 -0
  1126. package/dist/types/lib/i18n/areas/card-face.d.ts +8 -0
  1127. package/dist/types/lib/i18n/areas/chat-chart.d.ts +202 -0
  1128. package/dist/types/lib/i18n/areas/code-editor.d.ts +40 -0
  1129. package/dist/types/lib/i18n/areas/date-timeline.d.ts +36 -0
  1130. package/dist/types/lib/i18n/areas/dates.d.ts +103 -0
  1131. package/dist/types/lib/i18n/areas/docs-views.d.ts +297 -0
  1132. package/dist/types/lib/i18n/areas/feedback.d.ts +132 -0
  1133. package/dist/types/lib/i18n/areas/formats.d.ts +30 -0
  1134. package/dist/types/lib/i18n/areas/forms.d.ts +182 -0
  1135. package/dist/types/lib/i18n/areas/keys.d.ts +15 -0
  1136. package/dist/types/lib/i18n/areas/markdown.d.ts +150 -0
  1137. package/dist/types/lib/i18n/areas/move-rejected.d.ts +16 -0
  1138. package/dist/types/lib/i18n/areas/navigation.d.ts +185 -0
  1139. package/dist/types/lib/i18n/areas/rbac.d.ts +633 -0
  1140. package/dist/types/lib/i18n/emphasis.d.ts +3 -0
  1141. package/dist/types/lib/i18n/index.d.ts +10 -0
  1142. package/dist/types/lib/i18n/number-format.d.ts +5 -0
  1143. package/dist/types/lib/i18n/plural.d.ts +7 -0
  1144. package/dist/types/lib/i18n/provider.d.ts +16 -0
  1145. package/dist/types/lib/i18n/strings.d.ts +18 -0
  1146. package/dist/types/lib/icons.d.ts +22 -0
  1147. package/dist/types/lib/interactive-target.d.ts +3 -0
  1148. package/dist/types/lib/intl-cache.d.ts +31 -0
  1149. package/dist/types/lib/legal-document.d.ts +82 -0
  1150. package/dist/types/lib/line-diff-model.d.ts +39 -0
  1151. package/dist/types/lib/markdown/attachments.d.ts +50 -0
  1152. package/dist/types/lib/markdown/caret-map.d.ts +69 -0
  1153. package/dist/types/lib/markdown/caret.d.ts +6 -0
  1154. package/dist/types/lib/markdown/commands.d.ts +186 -0
  1155. package/dist/types/lib/markdown/convert.d.ts +99 -0
  1156. package/dist/types/lib/markdown/dom.d.ts +30 -0
  1157. package/dist/types/lib/markdown/edit.d.ts +16 -0
  1158. package/dist/types/lib/markdown/history.d.ts +59 -0
  1159. package/dist/types/lib/markdown/hotkeys.d.ts +63 -0
  1160. package/dist/types/lib/markdown/image-pipeline.d.ts +173 -0
  1161. package/dist/types/lib/markdown/images.d.ts +138 -0
  1162. package/dist/types/lib/markdown/input.d.ts +38 -0
  1163. package/dist/types/lib/markdown/keys.d.ts +34 -0
  1164. package/dist/types/lib/markdown/paste.d.ts +9 -0
  1165. package/dist/types/lib/markdown/position.d.ts +43 -0
  1166. package/dist/types/lib/markdown/project.d.ts +88 -0
  1167. package/dist/types/lib/markdown/reconcile.d.ts +63 -0
  1168. package/dist/types/lib/markdown/surface.d.ts +236 -0
  1169. package/dist/types/lib/motion.d.ts +30 -0
  1170. package/dist/types/lib/pad.d.ts +6 -0
  1171. package/dist/types/lib/paged-window/index.d.ts +2 -0
  1172. package/dist/types/lib/paged-window/layout.d.ts +21 -0
  1173. package/dist/types/lib/paged-window/list-owner.d.ts +12 -0
  1174. package/dist/types/lib/paged-window/records-binding.d.ts +102 -0
  1175. package/dist/types/lib/paged-window/store.d.ts +307 -0
  1176. package/dist/types/lib/paged-window/use-measured-pitch.d.ts +34 -0
  1177. package/dist/types/lib/paged-window/use-page-visibility.d.ts +20 -0
  1178. package/dist/types/lib/paged-window/use-paged-window.d.ts +61 -0
  1179. package/dist/types/lib/paged-window/use-scroll-root.d.ts +18 -0
  1180. package/dist/types/lib/persist.d.ts +57 -0
  1181. package/dist/types/lib/preference-values.d.ts +72 -0
  1182. package/dist/types/lib/preferences.d.ts +26 -0
  1183. package/dist/types/lib/reads/hooks.d.ts +49 -0
  1184. package/dist/types/lib/reads/index.d.ts +5 -0
  1185. package/dist/types/lib/reads/optimistic.d.ts +119 -0
  1186. package/dist/types/lib/reads/refetch.d.ts +83 -0
  1187. package/dist/types/lib/reads/slots.d.ts +137 -0
  1188. package/dist/types/lib/reads/types.d.ts +155 -0
  1189. package/dist/types/lib/realtime/hooks.d.ts +38 -0
  1190. package/dist/types/lib/realtime/index.d.ts +4 -0
  1191. package/dist/types/lib/realtime/provider.d.ts +38 -0
  1192. package/dist/types/lib/realtime/registry.d.ts +225 -0
  1193. package/dist/types/lib/realtime/types.d.ts +242 -0
  1194. package/dist/types/lib/records/define-record-type.d.ts +29 -0
  1195. package/dist/types/lib/records/hooks.d.ts +46 -0
  1196. package/dist/types/lib/records/index.d.ts +5 -0
  1197. package/dist/types/lib/records/store.d.ts +289 -0
  1198. package/dist/types/lib/records/types.d.ts +195 -0
  1199. package/dist/types/lib/records/wire.d.ts +96 -0
  1200. package/dist/types/lib/reduced-motion-help.d.ts +23 -0
  1201. package/dist/types/lib/scroll-caret.d.ts +6 -0
  1202. package/dist/types/lib/sim/createSimStore.d.ts +18 -0
  1203. package/dist/types/lib/sim/index.d.ts +5 -0
  1204. package/dist/types/lib/sim/latency.d.ts +10 -0
  1205. package/dist/types/lib/sim/registry.d.ts +14 -0
  1206. package/dist/types/lib/sim/settings.d.ts +11 -0
  1207. package/dist/types/lib/sim/types.d.ts +3 -0
  1208. package/dist/types/lib/submit-shortcut.d.ts +24 -0
  1209. package/dist/types/lib/syntax/index.d.ts +16 -0
  1210. package/dist/types/lib/syntax/languages/bash.d.ts +1 -0
  1211. package/dist/types/lib/syntax/languages/css.d.ts +1 -0
  1212. package/dist/types/lib/syntax/languages/html.d.ts +17 -0
  1213. package/dist/types/lib/syntax/languages/index.d.ts +33 -0
  1214. package/dist/types/lib/syntax/languages/javascript.d.ts +22 -0
  1215. package/dist/types/lib/syntax/languages/json.d.ts +1 -0
  1216. package/dist/types/lib/syntax/languages/mongodb.d.ts +1 -0
  1217. package/dist/types/lib/syntax/languages/plain.d.ts +9 -0
  1218. package/dist/types/lib/syntax/languages/sql.d.ts +4 -0
  1219. package/dist/types/lib/syntax/languages/vue.d.ts +1 -0
  1220. package/dist/types/lib/syntax/languages/yaml.d.ts +1 -0
  1221. package/dist/types/lib/syntax/markdown/frames.d.ts +145 -0
  1222. package/dist/types/lib/syntax/markdown/grammar.d.ts +1 -0
  1223. package/dist/types/lib/syntax/markdown/index.d.ts +5 -0
  1224. package/dist/types/lib/syntax/markdown/inline.d.ts +21 -0
  1225. package/dist/types/lib/syntax/markdown/parse.d.ts +15 -0
  1226. package/dist/types/lib/syntax/markdown/refs.d.ts +47 -0
  1227. package/dist/types/lib/syntax/markdown/render.d.ts +25 -0
  1228. package/dist/types/lib/syntax/markdown/spans.d.ts +84 -0
  1229. package/dist/types/lib/syntax/markdown/types.d.ts +108 -0
  1230. package/dist/types/lib/syntax/registry.d.ts +37 -0
  1231. package/dist/types/lib/syntax/tokenize.d.ts +17 -0
  1232. package/dist/types/lib/syntax/types.d.ts +119 -0
  1233. package/dist/types/lib/time/index.d.ts +4 -0
  1234. package/dist/types/lib/time/instant.d.ts +2 -0
  1235. package/dist/types/lib/time/plain.d.ts +61 -0
  1236. package/dist/types/lib/time/relativeAge.d.ts +18 -0
  1237. package/dist/types/lib/time/relativeClock.d.ts +8 -0
  1238. package/dist/types/lib/time/types.d.ts +87 -0
  1239. package/dist/types/lib/time/zone.d.ts +106 -0
  1240. package/dist/types/lib/use-controllable.d.ts +14 -0
  1241. package/dist/types/lib/use-fill-height.d.ts +26 -0
  1242. package/dist/types/lib/use-hydrated.d.ts +8 -0
  1243. package/dist/types/lib/use-media-query.d.ts +29 -0
  1244. package/dist/types/lib/use-relabel-base-ui-dismiss.d.ts +6 -0
  1245. package/dist/types/lib/use-release-snap-drag.d.ts +25 -0
  1246. package/dist/types/lib/use-roving-options.d.ts +10 -0
  1247. package/dist/types/lib/values/absent.d.ts +7 -0
  1248. package/dist/types/lib/values/boolean.d.ts +29 -0
  1249. package/dist/types/lib/values/currency.d.ts +22 -0
  1250. package/dist/types/lib/values/date.d.ts +30 -0
  1251. package/dist/types/lib/values/datetime.d.ts +48 -0
  1252. package/dist/types/lib/values/index.d.ts +5 -0
  1253. package/dist/types/lib/values/locale-date.d.ts +34 -0
  1254. package/dist/types/lib/values/number.d.ts +27 -0
  1255. package/dist/types/pure.d.ts +48 -0
  1256. package/package.json +136 -4
@@ -0,0 +1,30 @@
1
+ import { useSyncExternalStore as o } from "react";
2
+ function u(e, n = !1) {
3
+ return o(
4
+ (i) => {
5
+ const t = r(e);
6
+ return t === null ? () => {
7
+ } : (t.addEventListener("change", i), () => t.removeEventListener("change", i));
8
+ },
9
+ () => r(e)?.matches ?? n,
10
+ () => n
11
+ );
12
+ }
13
+ function r(e) {
14
+ return typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia(e);
15
+ }
16
+ const d = {
17
+ sm: 640,
18
+ md: 768,
19
+ lg: 1024,
20
+ xl: 1280
21
+ };
22
+ function c(e, n = !1) {
23
+ return u(`(max-width: ${d[e] - 0.02}px)`, n);
24
+ }
25
+ export {
26
+ d as BREAKPOINTS,
27
+ c as useBelow,
28
+ u as useMediaQuery
29
+ };
30
+ //# sourceMappingURL=use-media-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-media-query.js","sources":["../../src/lib/use-media-query.ts"],"sourcesContent":["import { useSyncExternalStore } from \"react\";\r\n\r\n/**\r\n * Subscribes to a CSS media query and re-renders when it changes.\r\n *\r\n * WHY A HOOK AND NOT A CSS CLASS. Almost everything responsive in this system\r\n * belongs in CSS, where it costs nothing and works before hydration. This\r\n * exists for the case CSS cannot reach: a layout whose measurements are written\r\n * as INLINE STYLE from application state — a resizable panel group being the\r\n * one that matters here. A utility class cannot override `style=\"flex-grow:3\"`,\r\n * so the component has to know the width to write a different value.\r\n *\r\n * Reach for a `lg:` variant first. This is the exception, not the pattern.\r\n *\r\n * `useSyncExternalStore` rather than `useState` + `useEffect`: it reads the\r\n * value during render on the client and returns the server snapshot during SSR,\r\n * so there is no first paint at the wrong breakpoint and no hydration mismatch\r\n * warning. The effect version renders once with a guess and then corrects\r\n * itself, which is a visible layout jump on exactly the devices this is for.\r\n */\r\nexport function useMediaQuery(query: string, serverFallback = false): boolean {\r\n return useSyncExternalStore(\r\n (onChange) => {\r\n const list = queryList(query);\r\n if (list === null) return () => {};\r\n list.addEventListener(\"change\", onChange);\r\n return () => list.removeEventListener(\"change\", onChange);\r\n },\r\n () => queryList(query)?.matches ?? serverFallback,\r\n () => serverFallback,\r\n );\r\n}\r\n\r\n/** `matchMedia` can be absent (a test DOM such as happy-dom): the hook then answers `serverFallback`, the same answer it gives during SSR, instead of throwing. */\r\nfunction queryList(query: string): MediaQueryList | null {\r\n return typeof window === \"undefined\" || typeof window.matchMedia !== \"function\" ? null : window.matchMedia(query);\r\n}\r\n\r\n/** Tailwind's own breakpoints, so a JS check and a `lg:` class agree. */\r\nexport const BREAKPOINTS = {\r\n sm: 640,\r\n md: 768,\r\n lg: 1024,\r\n xl: 1280,\r\n} as const;\r\n\r\nexport type Breakpoint = keyof typeof BREAKPOINTS;\r\n\r\n/** True below the named breakpoint — the JS twin of `max-<bp>:`. */\r\nexport function useBelow(breakpoint: Breakpoint, serverFallback = false): boolean {\r\n // I18N-ALLOW: CSS media query string\r\n return useMediaQuery(`(max-width: ${BREAKPOINTS[breakpoint] - 0.02}px)`, serverFallback);\r\n}\r\n"],"names":["useMediaQuery","query","serverFallback","useSyncExternalStore","onChange","list","queryList","BREAKPOINTS","useBelow","breakpoint"],"mappings":";AAoBO,SAASA,EAAcC,GAAeC,IAAiB,IAAgB;AAC5E,SAAOC;AAAA,IACL,CAACC,MAAa;AACZ,YAAMC,IAAOC,EAAUL,CAAK;AAC5B,aAAII,MAAS,OAAa,MAAM;AAAA,MAAC,KACjCA,EAAK,iBAAiB,UAAUD,CAAQ,GACjC,MAAMC,EAAK,oBAAoB,UAAUD,CAAQ;AAAA,IAC1D;AAAA,IACA,MAAME,EAAUL,CAAK,GAAG,WAAWC;AAAA,IACnC,MAAMA;AAAA,EAAA;AAEV;AAGA,SAASI,EAAUL,GAAsC;AACvD,SAAO,OAAO,SAAW,OAAe,OAAO,OAAO,cAAe,aAAa,OAAO,OAAO,WAAWA,CAAK;AAClH;AAGO,MAAMM,IAAc;AAAA,EACzB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAKO,SAASC,EAASC,GAAwBP,IAAiB,IAAgB;AAEhF,SAAOF,EAAc,eAAeO,EAAYE,CAAU,IAAI,IAAI,OAAOP,CAAc;AACzF;"}
@@ -0,0 +1,26 @@
1
+ import { useEffect as i, useRef as o, useCallback as a } from "react";
2
+ const l = '[aria-label="Dismiss"], [data-dismiss-relabelled]', c = { childList: !0, subtree: !0 };
3
+ function n(r, s) {
4
+ for (const t of r.querySelectorAll(l))
5
+ t.setAttribute("aria-label", s), t.setAttribute("data-dismiss-relabelled", "");
6
+ }
7
+ function d(r, s) {
8
+ i(() => {
9
+ const e = s.current;
10
+ if (!e) return;
11
+ n(e, r);
12
+ const u = new MutationObserver(() => n(e, r));
13
+ return u.observe(e, c), () => u.disconnect();
14
+ }, [r, s]);
15
+ const t = o(null);
16
+ return a(
17
+ (e) => {
18
+ t.current?.disconnect(), t.current = null, e && (n(e, r), t.current = new MutationObserver(() => n(e, r)), t.current.observe(e, c));
19
+ },
20
+ [r]
21
+ );
22
+ }
23
+ export {
24
+ d as useRelabelBaseUiDismiss
25
+ };
26
+ //# sourceMappingURL=use-relabel-base-ui-dismiss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-relabel-base-ui-dismiss.js","sources":["../../src/lib/use-relabel-base-ui-dismiss.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, type RefObject } from \"react\";\n\n/* ============================================================================\n BASE UI'S \"DISMISS\" BUTTONS SPEAK ENGLISH, AND NO PROP CHANGES THEM.\n\n While a Combobox list is open, Base UI (1.7.0) renders two visually hidden\n buttons for screen readers: one before the input and one beside the popup. Both\n are built in `combobox/utils/ComboboxInternalDismissButton.mjs` with the literal\n `aria-label=\"Dismiss\"`; the component takes no props, so the only way to a\n translated name is to rename the elements after they mount.\n\n They mount AFTER this component's own render and layout effects (when the list\n opens by a click, a key or a controlling parent's `open`), so a one-time rename\n misses them. A MutationObserver on the two places they appear catches them\n whenever they arrive: the anchor (the start button) and the portaled positioner\n (the end button). A button this hook has renamed carries `data-dismiss-relabelled`,\n so a later change of `label` renames it again.\n ========================================================================= */\n\nconst DISMISS = '[aria-label=\"Dismiss\"], [data-dismiss-relabelled]';\nconst OBSERVE = { childList: true, subtree: true } as const;\n\nfunction relabel(root: Element, label: string): void {\n for (const button of root.querySelectorAll(DISMISS)) {\n button.setAttribute(\"aria-label\", label);\n button.setAttribute(\"data-dismiss-relabelled\", \"\");\n }\n}\n\n/**\n * Names Base UI's screen-reader dismiss buttons `label`. Pass the element they sit in before the\n * input (`anchorRef`); put the returned ref on the `Positioner`, which holds the other.\n */\nexport function useRelabelBaseUiDismiss(label: string, anchorRef: RefObject<Element | null>) {\n useEffect(() => {\n const anchor = anchorRef.current;\n if (!anchor) return;\n relabel(anchor, label);\n const observer = new MutationObserver(() => relabel(anchor, label));\n observer.observe(anchor, OBSERVE);\n return () => observer.disconnect();\n }, [label, anchorRef]);\n\n const positionerObserver = useRef<MutationObserver | null>(null);\n return useCallback(\n (positioner: Element | null) => {\n positionerObserver.current?.disconnect();\n positionerObserver.current = null;\n if (!positioner) return;\n relabel(positioner, label);\n positionerObserver.current = new MutationObserver(() => relabel(positioner, label));\n positionerObserver.current.observe(positioner, OBSERVE);\n },\n [label],\n );\n}\n"],"names":["DISMISS","OBSERVE","relabel","root","label","button","useRelabelBaseUiDismiss","anchorRef","useEffect","anchor","observer","positionerObserver","useRef","useCallback","positioner"],"mappings":";AAmBA,MAAMA,IAAU,qDACVC,IAAU,EAAE,WAAW,IAAM,SAAS,GAAA;AAE5C,SAASC,EAAQC,GAAeC,GAAqB;AACnD,aAAWC,KAAUF,EAAK,iBAAiBH,CAAO;AAChD,IAAAK,EAAO,aAAa,cAAcD,CAAK,GACvCC,EAAO,aAAa,2BAA2B,EAAE;AAErD;AAMO,SAASC,EAAwBF,GAAeG,GAAsC;AAC3F,EAAAC,EAAU,MAAM;AACd,UAAMC,IAASF,EAAU;AACzB,QAAI,CAACE,EAAQ;AACb,IAAAP,EAAQO,GAAQL,CAAK;AACrB,UAAMM,IAAW,IAAI,iBAAiB,MAAMR,EAAQO,GAAQL,CAAK,CAAC;AAClE,WAAAM,EAAS,QAAQD,GAAQR,CAAO,GACzB,MAAMS,EAAS,WAAA;AAAA,EACxB,GAAG,CAACN,GAAOG,CAAS,CAAC;AAErB,QAAMI,IAAqBC,EAAgC,IAAI;AAC/D,SAAOC;AAAA,IACL,CAACC,MAA+B;AAG9B,MAFAH,EAAmB,SAAS,WAAA,GAC5BA,EAAmB,UAAU,MACxBG,MACLZ,EAAQY,GAAYV,CAAK,GACzBO,EAAmB,UAAU,IAAI,iBAAiB,MAAMT,EAAQY,GAAYV,CAAK,CAAC,GAClFO,EAAmB,QAAQ,QAAQG,GAAYb,CAAO;AAAA,IACxD;AAAA,IACA,CAACG,CAAK;AAAA,EAAA;AAEV;"}
@@ -0,0 +1,29 @@
1
+ import { useState as v, useRef as P, useEffect as R } from "react";
2
+ const b = 3, S = (i) => Math.min(100, Math.max(0, i));
3
+ function I({ enabled: i, reducedMotion: E }) {
4
+ const [h, a] = v(null), [w, c] = v(!1), r = P(null);
5
+ return R(() => () => r.current?.(), []), { dragPercent: h, settling: w, endSettling: () => c(!1), onPointerDown: (o) => {
6
+ if (!i || o.button !== 0) return;
7
+ r.current?.(), c(!1);
8
+ const d = o.currentTarget, e = d.ownerDocument, { pointerId: f, clientX: p, clientY: D } = o, s = o.target.closest("[data-index]")?.getBoundingClientRect(), L = s ? p - (s.left + s.width / 2) : 0;
9
+ let l = !1;
10
+ const g = (t) => {
11
+ if (t.pointerId !== f) return;
12
+ if (t.buttons === 0) return n(t);
13
+ if (!l && Math.hypot(t.clientX - p, t.clientY - D) < b) return;
14
+ const u = d.getBoundingClientRect();
15
+ u.width !== 0 && (l = !0, a(S((t.clientX - L - u.left) / u.width * 100)));
16
+ }, n = (t) => {
17
+ t.pointerId === f && (m(), a(null), l && !E && c(!0));
18
+ }, m = () => {
19
+ e.removeEventListener("pointermove", g), e.removeEventListener("pointerup", n), e.removeEventListener("pointercancel", n), r.current = null;
20
+ };
21
+ e.addEventListener("pointermove", g), e.addEventListener("pointerup", n), e.addEventListener("pointercancel", n), r.current = m;
22
+ } };
23
+ }
24
+ export {
25
+ b as DRAG_THRESHOLD_PX,
26
+ S as clampPercent,
27
+ I as useReleaseSnapDrag
28
+ };
29
+ //# sourceMappingURL=use-release-snap-drag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-release-snap-drag.js","sources":["../../src/lib/use-release-snap-drag.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport type { PointerEvent as ReactPointerEvent } from \"react\";\n\n/** A press that has not moved this far (px) is a click, not a drag: a track click never glides from the pointer. */\nexport const DRAG_THRESHOLD_PX = 3;\n\n/** A position along a track, as a percentage held to the track's ends. */\nexport const clampPercent = (percent: number): number => Math.min(100, Math.max(0, percent));\n\n/**\n * DXUI-17 / Slider `snap=\"release\"`. Base UI rounds every pointer position to `step` before it reports it,\n * so it cannot draw a thumb between steps. While a pointer holds the control this tracks where the pointer\n * is along the track (`dragPercent`), which only moves what is DRAWN; the value Base UI reports stays on the\n * steps. `settling` is true from a release that followed a drag until the next press or key, and is the\n * only thing that enables the glide onto the step.\n *\n * Follows the pressing pointer only, ends on its pointerup or pointercancel, and, like Base UI, ends on a\n * move that reports no button down (the pointerup was lost). Assumes a left-to-right track, as Base UI does\n * without a DirectionProvider.\n */\nexport function useReleaseSnapDrag({ enabled, reducedMotion }: { enabled: boolean; reducedMotion: boolean }) {\n const [dragPercent, setDragPercent] = useState<number | null>(null);\n const [settling, setSettling] = useState(false);\n const stopFollowing = useRef<(() => void) | null>(null);\n useEffect(() => () => stopFollowing.current?.(), []);\n\n const onPointerDown = (event: ReactPointerEvent<HTMLElement>) => {\n if (!enabled || event.button !== 0) return;\n stopFollowing.current?.();\n setSettling(false);\n const control = event.currentTarget;\n const doc = control.ownerDocument;\n const { pointerId, clientX: startX, clientY: startY } = event;\n /* Grabbing the thumb off its centre keeps that offset for the whole drag, as Base UI does. */\n const grabbed = (event.target as Element).closest(\"[data-index]\")?.getBoundingClientRect();\n const offset = grabbed ? startX - (grabbed.left + grabbed.width / 2) : 0;\n let dragging = false;\n\n const move = (e: PointerEvent) => {\n if (e.pointerId !== pointerId) return;\n if (e.buttons === 0) return end(e);\n if (!dragging && Math.hypot(e.clientX - startX, e.clientY - startY) < DRAG_THRESHOLD_PX) return;\n const box = control.getBoundingClientRect();\n if (box.width === 0) return;\n dragging = true;\n setDragPercent(clampPercent(((e.clientX - offset - box.left) / box.width) * 100));\n };\n const end = (e: PointerEvent) => {\n if (e.pointerId !== pointerId) return;\n stop();\n setDragPercent(null);\n if (dragging && !reducedMotion) setSettling(true);\n };\n const stop = () => {\n doc.removeEventListener(\"pointermove\", move);\n doc.removeEventListener(\"pointerup\", end);\n doc.removeEventListener(\"pointercancel\", end);\n stopFollowing.current = null;\n };\n doc.addEventListener(\"pointermove\", move);\n doc.addEventListener(\"pointerup\", end);\n doc.addEventListener(\"pointercancel\", end);\n stopFollowing.current = stop;\n };\n\n return { dragPercent, settling, endSettling: () => setSettling(false), onPointerDown };\n}\n"],"names":["DRAG_THRESHOLD_PX","clampPercent","percent","useReleaseSnapDrag","enabled","reducedMotion","dragPercent","setDragPercent","useState","settling","setSettling","stopFollowing","useRef","useEffect","event","control","doc","pointerId","startX","startY","grabbed","offset","dragging","move","e","end","box","stop"],"mappings":";AAIO,MAAMA,IAAoB,GAGpBC,IAAe,CAACC,MAA4B,KAAK,IAAI,KAAK,KAAK,IAAI,GAAGA,CAAO,CAAC;AAapF,SAASC,EAAmB,EAAE,SAAAC,GAAS,eAAAC,KAA+D;AAC3G,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAwB,IAAI,GAC5D,CAACC,GAAUC,CAAW,IAAIF,EAAS,EAAK,GACxCG,IAAgBC,EAA4B,IAAI;AACtD,SAAAC,EAAU,MAAM,MAAMF,EAAc,UAAA,GAAa,CAAA,CAAE,GAyC5C,EAAE,aAAAL,GAAa,UAAAG,GAAU,aAAa,MAAMC,EAAY,EAAK,GAAG,eAvCjD,CAACI,MAA0C;AAC/D,QAAI,CAACV,KAAWU,EAAM,WAAW,EAAG;AACpC,IAAAH,EAAc,UAAA,GACdD,EAAY,EAAK;AACjB,UAAMK,IAAUD,EAAM,eAChBE,IAAMD,EAAQ,eACd,EAAE,WAAAE,GAAW,SAASC,GAAQ,SAASC,MAAWL,GAElDM,IAAWN,EAAM,OAAmB,QAAQ,cAAc,GAAG,sBAAA,GAC7DO,IAASD,IAAUF,KAAUE,EAAQ,OAAOA,EAAQ,QAAQ,KAAK;AACvE,QAAIE,IAAW;AAEf,UAAMC,IAAO,CAACC,MAAoB;AAChC,UAAIA,EAAE,cAAcP,EAAW;AAC/B,UAAIO,EAAE,YAAY,EAAG,QAAOC,EAAID,CAAC;AACjC,UAAI,CAACF,KAAY,KAAK,MAAME,EAAE,UAAUN,GAAQM,EAAE,UAAUL,CAAM,IAAInB,EAAmB;AACzF,YAAM0B,IAAMX,EAAQ,sBAAA;AACpB,MAAIW,EAAI,UAAU,MAClBJ,IAAW,IACXf,EAAeN,GAAeuB,EAAE,UAAUH,IAASK,EAAI,QAAQA,EAAI,QAAS,GAAG,CAAC;AAAA,IAClF,GACMD,IAAM,CAACD,MAAoB;AAC/B,MAAIA,EAAE,cAAcP,MACpBU,EAAA,GACApB,EAAe,IAAI,GACfe,KAAY,CAACjB,KAAeK,EAAY,EAAI;AAAA,IAClD,GACMiB,IAAO,MAAM;AACjB,MAAAX,EAAI,oBAAoB,eAAeO,CAAI,GAC3CP,EAAI,oBAAoB,aAAaS,CAAG,GACxCT,EAAI,oBAAoB,iBAAiBS,CAAG,GAC5Cd,EAAc,UAAU;AAAA,IAC1B;AACA,IAAAK,EAAI,iBAAiB,eAAeO,CAAI,GACxCP,EAAI,iBAAiB,aAAaS,CAAG,GACrCT,EAAI,iBAAiB,iBAAiBS,CAAG,GACzCd,EAAc,UAAUgB;AAAA,EAC1B,EAEuE;AACzE;"}
@@ -0,0 +1,18 @@
1
+ import { useRef as x, useState as l } from "react";
2
+ function h(n, c, u) {
3
+ const r = x(null), [p, d] = l(null), f = Math.min(p ?? Math.max(c, 0), Math.max(n - 1, 0));
4
+ function m(t) {
5
+ const e = t.target.closest("[data-option-index]");
6
+ if (!e) return;
7
+ const o = Number(e.dataset.optionIndex), a = Math.max(u, 1), i = t.key === "ArrowRight" ? o + 1 : t.key === "ArrowLeft" ? o - 1 : t.key === "ArrowDown" ? o + a : t.key === "ArrowUp" ? o - a : t.key === "Home" ? 0 : t.key === "End" ? n - 1 : void 0;
8
+ if (i === void 0) return;
9
+ t.preventDefault();
10
+ const s = Math.min(Math.max(i, 0), n - 1);
11
+ d(s), r.current?.querySelector(`[data-option-index="${s}"]`)?.focus();
12
+ }
13
+ return { listRef: r, tabIndexFor: (t) => t === f ? 0 : -1, onKeyDown: m };
14
+ }
15
+ export {
16
+ h as useRovingOptions
17
+ };
18
+ //# sourceMappingURL=use-roving-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-roving-options.js","sources":["../../src/lib/use-roving-options.ts"],"sourcesContent":["import { useRef, useState, type KeyboardEvent } from \"react\";\n\n/* ============================================================================\n ROVING OPTIONS - the keyboard model of `EmojiPicker`'s grid (DXUI-27).\n\n A picker's choices are ONE Tab stop, not one per option: Tab lands on the\n chosen option (the first when nothing is chosen), the arrow keys move focus\n between options, Home and End jump to the ends, and Enter or Space choose\n (the option is a native button, so the click does that). It is the roving\n contract of `RadioGroup` / `RatingScale`, with one deliberate difference:\n arrows move FOCUS only and never choose. A picker closes when something is\n chosen, so choosing on every arrow press would shut it on the first key.\n That makes the container a `listbox` of `option`s rather than a radiogroup.\n\n `columns` is the grid width: Up and Down step a row, Left and Right a cell.\n Focus clamps at the ends rather than wrapping, as `RatingScale` does.\n ========================================================================= */\n\nexport interface RovingOptions {\n /** Attach to the element with `role=\"listbox\"`. */\n listRef: React.RefObject<HTMLDivElement | null>;\n /** `0` for the one option that is a Tab stop, `-1` for the rest. */\n tabIndexFor: (index: number) => 0 | -1;\n /** Attach to the same element; each option carries `data-option-index`. */\n onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;\n}\n\nexport function useRovingOptions(count: number, selectedIndex: number, columns: number): RovingOptions {\n const listRef = useRef<HTMLDivElement | null>(null);\n const [active, setActive] = useState<number | null>(null);\n const stop = Math.min(active ?? Math.max(selectedIndex, 0), Math.max(count - 1, 0));\n\n function onKeyDown(event: KeyboardEvent<HTMLElement>) {\n const option = (event.target as HTMLElement).closest<HTMLElement>(\"[data-option-index]\");\n if (!option) return;\n const current = Number(option.dataset.optionIndex);\n const step = Math.max(columns, 1);\n const target =\n event.key === \"ArrowRight\"\n ? current + 1\n : event.key === \"ArrowLeft\"\n ? current - 1\n : event.key === \"ArrowDown\"\n ? current + step\n : event.key === \"ArrowUp\"\n ? current - step\n : event.key === \"Home\"\n ? 0\n : event.key === \"End\"\n ? count - 1\n : undefined;\n if (target === undefined) return;\n event.preventDefault();\n const next = Math.min(Math.max(target, 0), count - 1);\n setActive(next);\n listRef.current?.querySelector<HTMLElement>(`[data-option-index=\"${next}\"]`)?.focus();\n }\n\n return { listRef, tabIndexFor: (index) => (index === stop ? 0 : -1), onKeyDown };\n}\n"],"names":["useRovingOptions","count","selectedIndex","columns","listRef","useRef","active","setActive","useState","stop","onKeyDown","event","option","current","step","target","next","index"],"mappings":";AA2BO,SAASA,EAAiBC,GAAeC,GAAuBC,GAAgC;AACrG,QAAMC,IAAUC,EAA8B,IAAI,GAC5C,CAACC,GAAQC,CAAS,IAAIC,EAAwB,IAAI,GAClDC,IAAO,KAAK,IAAIH,KAAU,KAAK,IAAIJ,GAAe,CAAC,GAAG,KAAK,IAAID,IAAQ,GAAG,CAAC,CAAC;AAElF,WAASS,EAAUC,GAAmC;AACpD,UAAMC,IAAUD,EAAM,OAAuB,QAAqB,qBAAqB;AACvF,QAAI,CAACC,EAAQ;AACb,UAAMC,IAAU,OAAOD,EAAO,QAAQ,WAAW,GAC3CE,IAAO,KAAK,IAAIX,GAAS,CAAC,GAC1BY,IACJJ,EAAM,QAAQ,eACVE,IAAU,IACVF,EAAM,QAAQ,cACZE,IAAU,IACVF,EAAM,QAAQ,cACZE,IAAUC,IACVH,EAAM,QAAQ,YACZE,IAAUC,IACVH,EAAM,QAAQ,SACZ,IACAA,EAAM,QAAQ,QACZV,IAAQ,IACR;AAChB,QAAIc,MAAW,OAAW;AAC1B,IAAAJ,EAAM,eAAA;AACN,UAAMK,IAAO,KAAK,IAAI,KAAK,IAAID,GAAQ,CAAC,GAAGd,IAAQ,CAAC;AACpD,IAAAM,EAAUS,CAAI,GACdZ,EAAQ,SAAS,cAA2B,uBAAuBY,CAAI,IAAI,GAAG,MAAA;AAAA,EAChF;AAEA,SAAO,EAAE,SAAAZ,GAAS,aAAa,CAACa,MAAWA,MAAUR,IAAO,IAAI,IAAK,WAAAC,EAAA;AACvE;"}
@@ -0,0 +1,5 @@
1
+ const o = "—";
2
+ export {
3
+ o as ABSENT
4
+ };
5
+ //# sourceMappingURL=absent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"absent.js","sources":["../../../src/lib/values/absent.ts"],"sourcesContent":["/** The shared \"no value\" reading for a blank field — a date, a number, a\n * phone number, a currency amount: nothing recorded. Shared by every\n * formatter that reads absence this way, so the glyph itself never drifts\n * between them (DX-3254). `formatBoolean` does NOT use this — see its own\n * module doc for why a tri-state boolean reads absence as \"Unknown\"\n * instead. */\nexport const ABSENT = \"—\";\n"],"names":["ABSENT"],"mappings":"AAMO,MAAMA,IAAS;"}
@@ -0,0 +1,13 @@
1
+ function l(n, e, r = {}) {
2
+ const { trueLabel: o = e.yes, falseLabel: u = e.no, unknownLabel: t = e.unknown } = r;
3
+ return n === !0 ? o : n === !1 ? u : t;
4
+ }
5
+ function a(n, e) {
6
+ const r = n.trim().toLowerCase();
7
+ return e.trueWords.includes(r) ? !0 : e.falseWords.includes(r) ? !1 : null;
8
+ }
9
+ export {
10
+ l as formatBoolean,
11
+ a as parseBoolean
12
+ };
13
+ //# sourceMappingURL=boolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.js","sources":["../../../src/lib/values/boolean.ts"],"sourcesContent":["/* ----------------------------------------------------------------------------\n A TRI-STATE BOOLEAN — `true`, `false`, or nothing recorded.\n\n `\"Unknown\"`, NOT THE EM DASH, is the default for `null`/`undefined` here —\n the one deliberate departure from the convention every other formatter in\n this file follows. The em dash reads correctly as \"no value\" for a date, a\n number, a phone number: a blank field on a form. A boolean field usually\n means something was actually ASKED — \"was the patient transported by\n ambulance,\" \"is there a police report\" — and `null` there means the\n question has not been answered yet, which is a materially different fact\n from \"answered no.\" An em dash sits visually closer to \"false-ish\" than\n \"unanswered\" does; \"Unknown\" does not. `unknownLabel` exists to opt back\n into the em dash (or anything else) for a dense table where every column\n already uses it and a differently-worded cell would stand out for the\n wrong reason — the default is chosen for a single tri-state field read on\n its own, not for a grid.\n -------------------------------------------------------------------------- */\n\nimport type { BooleanStrings } from \"../i18n/areas/formats\";\n\nexport interface FormatBooleanOptions {\n /** Word for `true`. Default `strings.yes`. */\n trueLabel?: string;\n /** Word for `false`. Default `strings.no`. */\n falseLabel?: string;\n /** Word for `null` / `undefined`. Default `strings.unknown` — see the module doc\n * for why this is not the em dash the rest of this package uses for\n * absence. */\n unknownLabel?: string;\n}\n\n/**\n * `true` → `strings.yes`, `false` → `strings.no`, `null` / `undefined` →\n * `strings.unknown` (all three overridable via `options`).\n */\nexport function formatBoolean(\n value: boolean | null | undefined,\n strings: BooleanStrings,\n options: FormatBooleanOptions = {},\n): string {\n const { trueLabel = strings.yes, falseLabel = strings.no, unknownLabel = strings.unknown } = options;\n if (value === true) return trueLabel;\n if (value === false) return falseLabel;\n return unknownLabel;\n}\n\n/**\n * A human-typed word → `true`, `false`, or `null` for anything else\n * (including an empty string — a caller cannot distinguish \"typed nothing\"\n * from \"typed a real value\" if both return `false`).\n *\n * Matches case-insensitively against the spellings in `strings.trueWords` /\n * `strings.falseWords` (English: `yes`/`y`/`true`/`t`/`1` and `no`/`n`/`false`/\n * `f`/`0`). Deliberately does NOT guess at anything outside that list — a\n * typo like `\"yse\"` returning `null` for a caller to reject is correct;\n * returning `false` for it (or any other unrecognised text) would silently\n * record the opposite of an unreadable answer.\n */\nexport function parseBoolean(input: string, strings: BooleanStrings): boolean | null {\n const normalized = input.trim().toLowerCase();\n if (strings.trueWords.includes(normalized)) return true;\n if (strings.falseWords.includes(normalized)) return false;\n return null;\n}\n"],"names":["formatBoolean","value","strings","options","trueLabel","falseLabel","unknownLabel","parseBoolean","input","normalized"],"mappings":"AAmCO,SAASA,EACdC,GACAC,GACAC,IAAgC,CAAA,GACxB;AACR,QAAM,EAAE,WAAAC,IAAYF,EAAQ,KAAK,YAAAG,IAAaH,EAAQ,IAAI,cAAAI,IAAeJ,EAAQ,QAAA,IAAYC;AAC7F,SAAIF,MAAU,KAAaG,IACvBH,MAAU,KAAcI,IACrBC;AACT;AAcO,SAASC,EAAaC,GAAeN,GAAyC;AACnF,QAAMO,IAAaD,EAAM,KAAA,EAAO,YAAA;AAChC,SAAIN,EAAQ,UAAU,SAASO,CAAU,IAAU,KAC/CP,EAAQ,WAAW,SAASO,CAAU,IAAU,KAC7C;AACT;"}
@@ -0,0 +1,23 @@
1
+ import { ABSENT as f } from "./absent.js";
2
+ import { numberFormat as o, parseLocalizedNumber as l } from "../intl-cache.js";
3
+ const c = {
4
+ style: "currency",
5
+ // I18N-ALLOW: ISO 4217 currency code option
6
+ currency: "USD",
7
+ minimumFractionDigits: 2,
8
+ maximumFractionDigits: 2
9
+ };
10
+ function b(r, n) {
11
+ return r == null || !Number.isFinite(r) ? f : o(n, c).format(r);
12
+ }
13
+ function g(r, n) {
14
+ const t = r.trim();
15
+ if (t === "") return null;
16
+ const e = /^\((.*)\)$/.exec(t), u = e !== null, m = e ? e[1] : t, s = o(n, c).formatToParts(0).find((a) => a.type === "currency").value, i = l(m.replace(/\s/g, ""), n, [s, "$"]);
17
+ return i === null ? null : u ? -Math.abs(i) : i;
18
+ }
19
+ export {
20
+ b as formatCurrency,
21
+ g as parseCurrency
22
+ };
23
+ //# sourceMappingURL=currency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.js","sources":["../../../src/lib/values/currency.ts"],"sourcesContent":["/* ----------------------------------------------------------------------------\n USD MONEY.\n\n ALWAYS TWO DECIMAL PLACES, regardless of magnitude — the opposite choice\n from `formatBytes`/`formatTokens`, and deliberately so. Those two round MORE\n aggressively as a number grows because the tenth of a KB or the exact token\n count stop being digits anyone acts on at scale. A dollar figure never\n reaches that point: the gap between $1,234,567.89 and $1,234,568.00 is\n eighty-nine real cents on an invoice or a settlement figure, not noise, no\n matter how many digits come before the decimal point. So precision here is\n fixed, not magnitude-scaled.\n\n ZERO IS NOT ABSENCE. `formatCurrency(0)` is `\"$0.00\"` — a real, recorded\n amount, e.g. a fully-waived fee or a $0 deductible. `null`/`undefined` is\n \"no figure was entered\", rendered as the em dash this package's other\n formatters use for the same fact. Collapsing the two (rendering 0 as \"—\",\n or treating \"—\" as 0 in a sum) is the classic spreadsheet bug this\n distinction exists to prevent.\n -------------------------------------------------------------------------- */\n\nimport { ABSENT } from \"./absent\";\nimport { numberFormat, parseLocalizedNumber } from \"../intl-cache\";\n\nconst USD: Intl.NumberFormatOptions = {\n style: \"currency\",\n // I18N-ALLOW: ISO 4217 currency code option\n currency: \"USD\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n};\n\n/**\n * `1234.5` → `\"$1,234.50\"` in `en-US`, `\"1.234,50 $\"` in `de-DE`. `null` / `undefined` → `\"—\"`. `0` → `\"$0.00\"`.\n *\n * `NaN` / `Infinity` are not real amounts either and render as the em dash —\n * grouped with absence rather than with a malformed string, because unlike\n * `formatDate`'s malformed-input case, there is no ORIGINAL\n * user-facing string to show back: the caller already has a `number`, and a\n * non-finite one is a computation defect upstream, not a typo to surface.\n */\nexport function formatCurrency(value: number | null | undefined, locale: string): string {\n if (value == null || !Number.isFinite(value)) return ABSENT;\n return numberFormat(locale, USD).format(value);\n}\n\n/**\n * A human-typed amount → a `number` in dollars, or `null`.\n *\n * Tolerates the punctuation someone actually types or pastes: the dollar sign\n * (and `locale`'s own symbol for it), `locale`'s thousands separator, surrounding whitespace, and ACCOUNTING-style negatives —\n * `\"($1,234.56)\"` for `-1234.56`, the convention every US invoice and EOB\n * already uses for a credit or a refund. A leading `-` is accepted too.\n * Returns `null` — never `NaN`, never a silent `0` — for anything that is not\n * recognizably a number once that punctuation is stripped, so a caller can\n * reject a bad edit instead of storing garbage.\n */\nexport function parseCurrency(input: string, locale: string): number | null {\n const trimmed = input.trim();\n if (trimmed === \"\") return null;\n\n const accounting = /^\\((.*)\\)$/.exec(trimmed);\n const negative = accounting !== null;\n const body = accounting ? accounting[1] : trimmed;\n\n const symbol = numberFormat(locale, USD).formatToParts(0).find((p) => p.type === \"currency\")!.value;\n const magnitude = parseLocalizedNumber(body.replace(/\\s/g, \"\"), locale, [symbol, \"$\"]);\n if (magnitude === null) return null;\n return negative ? -Math.abs(magnitude) : magnitude;\n}\n"],"names":["USD","formatCurrency","value","locale","ABSENT","numberFormat","parseCurrency","input","trimmed","accounting","negative","body","symbol","p","magnitude","parseLocalizedNumber"],"mappings":";;AAuBA,MAAMA,IAAgC;AAAA,EACpC,OAAO;AAAA;AAAA,EAEP,UAAU;AAAA,EACV,uBAAuB;AAAA,EACvB,uBAAuB;AACzB;AAWO,SAASC,EAAeC,GAAkCC,GAAwB;AACvF,SAAID,KAAS,QAAQ,CAAC,OAAO,SAASA,CAAK,IAAUE,IAC9CC,EAAaF,GAAQH,CAAG,EAAE,OAAOE,CAAK;AAC/C;AAaO,SAASI,EAAcC,GAAeJ,GAA+B;AAC1E,QAAMK,IAAUD,EAAM,KAAA;AACtB,MAAIC,MAAY,GAAI,QAAO;AAE3B,QAAMC,IAAa,aAAa,KAAKD,CAAO,GACtCE,IAAWD,MAAe,MAC1BE,IAAOF,IAAaA,EAAW,CAAC,IAAID,GAEpCI,IAASP,EAAaF,GAAQH,CAAG,EAAE,cAAc,CAAC,EAAE,KAAK,CAACa,MAAMA,EAAE,SAAS,UAAU,EAAG,OACxFC,IAAYC,EAAqBJ,EAAK,QAAQ,OAAO,EAAE,GAAGR,GAAQ,CAACS,GAAQ,GAAG,CAAC;AACrF,SAAIE,MAAc,OAAa,OACxBJ,IAAW,CAAC,KAAK,IAAII,CAAS,IAAIA;AAC3C;"}
@@ -0,0 +1,35 @@
1
+ import { parsePlainDate as s, daysInMonth as d } from "../time/plain.js";
2
+ import { dateFormat as l, asUtcDate as c } from "../intl-cache.js";
3
+ import { normalizeDigits as p, datePattern as y, dateFields as D, DATE_OPTIONS as N } from "./locale-date.js";
4
+ import { ABSENT as h } from "./absent.js";
5
+ import { isoDateString as x } from "../time/types.js";
6
+ function E(r, o) {
7
+ if (r == null || r === "") return h;
8
+ let t;
9
+ try {
10
+ t = s(r);
11
+ } catch {
12
+ return r;
13
+ }
14
+ return l(o, N).format(c(t.year, t.month, t.day));
15
+ }
16
+ const O = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
17
+ function F(r, o) {
18
+ const t = p(r, o).trim();
19
+ if (t === "") return null;
20
+ let i, e, n;
21
+ const m = O.exec(t);
22
+ if (m)
23
+ i = Number(m[1]), e = Number(m[2]), n = Number(m[3]);
24
+ else {
25
+ const { order: u, source: f } = y(o), a = new RegExp(`^${f}$`).exec(t);
26
+ if (!a) return null;
27
+ ({ year: i, month: e, day: n } = D(u, a));
28
+ }
29
+ return e < 1 || e > 12 || n < 1 || n > d(i, e) ? null : x({ year: i, month: e, day: n });
30
+ }
31
+ export {
32
+ E as formatDate,
33
+ F as parseDate
34
+ };
35
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sources":["../../../src/lib/values/date.ts"],"sourcesContent":["import { daysInMonth, isoDateString, parsePlainDate } from \"../time/plain\";\nimport type { PlainDate } from \"../time/types\";\nimport { asUtcDate, dateFormat } from \"../intl-cache\";\nimport { DATE_OPTIONS, datePattern, dateFields, normalizeDigits } from \"./locale-date\";\nimport { ABSENT } from \"./absent\";\n\n/* ----------------------------------------------------------------------------\n A CALENDAR DATE — no time, no zone, just which square on the wall.\n\n Storage form is `YYYY-MM-DD`, the same ISO shape `lib/time` already parses\n and prints (`parsePlainDate` / `isoDateString`). That is not a coincidence —\n an accident date, a policy effective date, a date of birth are all exactly\n the `PlainDate` the calendar layer already models, and reusing its\n leap-year-correct arithmetic here is the whole point of `lib/time` existing\n as a shared layer instead of a calendar-component implementation detail.\n\n THE BUG THIS FILE CANNOT HAVE, BY CONSTRUCTION. The classic defect —\n `new Date(\"2026-09-11\")` parsed as UTC midnight, then printed in a reader\n west of Greenwich, silently showing \"09/10/2026\" — requires a `Date` object\n and an implicit zone somewhere in the path from string to string. Here the\n only `Date` is built in UTC from the parsed fields and printed in UTC, and\n `parseDate` reads typed fields straight into a `PlainDate`. There is no\n step at which the reader's zone could enter.\n\n DISPLAY FORMAT: the locale's all-numeric date — `MM/DD/YYYY` in `en-US`,\n `DD.MM.YYYY` in `de-DE`. Not `Intl`'s long `\"Sep 11, 2026\"`: a 4-digit year\n with no ambiguity about which field is the day matters more than prose, and\n an all-numeric form is what a claim file, a police report and an EOB expect.\n The fields are laid out by `Intl` in the locale's own order and separator,\n fed a UTC `Date` built from the parsed fields (never a zone-shifted one),\n so the bug above still cannot happen. It is also the shape `parseDate`\n accepts back, so a value a person types after seeing this library's own\n display round-trips without translation.\n -------------------------------------------------------------------------- */\n\n\n/**\n * `\"2026-09-11\"` → `\"09/11/2026\"` in `en-US`, `\"11.09.2026\"` in `de-DE`.\n *\n * `null` / `undefined` / `\"\"` render as the em dash — no date entered, the\n * convention the rest of this package's formatters share (`formatTokens`,\n * `formatBoolean`'s \"Unknown\" is the one deliberate exception; see its own\n * docblock for why absence needs a different word there).\n *\n * A non-empty value that is NOT a valid `YYYY-MM-DD` date is returned\n * UNCHANGED rather than folded into the same em dash. Absence and corruption\n * are different facts — silently rendering a malformed stored value as \"no\n * date\" hides a data problem behind a blank field; showing the raw string\n * puts it in front of whoever is looking at the row.\n */\nexport function formatDate(value: string | null | undefined, locale: string): string {\n if (value == null || value === \"\") return ABSENT;\n let date: PlainDate;\n try {\n date = parsePlainDate(value);\n } catch {\n return value;\n }\n return dateFormat(locale, DATE_OPTIONS).format(asUtcDate(date.year, date.month, date.day));\n}\n\nconst ISO_FORMAT = /^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/;\n\n/**\n * A human-typed date → the stored `YYYY-MM-DD`, or `null` if it is not one.\n *\n * Accepts the numeric date in `locale`'s own order (what `formatDate` prints, and what a person types\n * into a text field) and bare ISO `YYYY-MM-DD` (what a paste from another\n * system, or this library's own storage form, looks like) — nothing looser.\n * `Date`-style leniency (`new Date(\"2026-2-30\")` silently becoming the 2nd of\n * March) is exactly the failure mode `parsePlainDate`'s calendar-length check\n * exists to refuse, so this function refuses it too: `daysInMonth` bounds the\n * day before anything is accepted.\n *\n * Returns `null`, never throws — a form validating a field checks the return\n * value; it should not have to wrap every keystroke in `try`/`catch`.\n */\nexport function parseDate(input: string, locale: string): string | null {\n const trimmed = normalizeDigits(input, locale).trim();\n if (trimmed === \"\") return null;\n\n let year: number;\n let month: number;\n let day: number;\n\n const iso = ISO_FORMAT.exec(trimmed);\n if (iso) {\n year = Number(iso[1]);\n month = Number(iso[2]);\n day = Number(iso[3]);\n } else {\n const { order, source } = datePattern(locale);\n const typed = new RegExp(`^${source}$`).exec(trimmed);\n if (!typed) return null;\n ({ year, month, day } = dateFields(order, typed));\n }\n\n if (month < 1 || month > 12) return null;\n if (day < 1 || day > daysInMonth(year, month)) return null;\n return isoDateString({ year, month, day });\n}\n"],"names":["formatDate","value","locale","ABSENT","date","parsePlainDate","dateFormat","DATE_OPTIONS","asUtcDate","ISO_FORMAT","parseDate","input","trimmed","normalizeDigits","year","month","day","iso","order","source","datePattern","typed","dateFields","daysInMonth","isoDateString"],"mappings":";;;;;AAkDO,SAASA,EAAWC,GAAkCC,GAAwB;AACnF,MAAID,KAAS,QAAQA,MAAU,GAAI,QAAOE;AAC1C,MAAIC;AACJ,MAAI;AACF,IAAAA,IAAOC,EAAeJ,CAAK;AAAA,EAC7B,QAAQ;AACN,WAAOA;AAAA,EACT;AACA,SAAOK,EAAWJ,GAAQK,CAAY,EAAE,OAAOC,EAAUJ,EAAK,MAAMA,EAAK,OAAOA,EAAK,GAAG,CAAC;AAC3F;AAEA,MAAMK,IAAa;AAgBZ,SAASC,EAAUC,GAAeT,GAA+B;AACtE,QAAMU,IAAUC,EAAgBF,GAAOT,CAAM,EAAE,KAAA;AAC/C,MAAIU,MAAY,GAAI,QAAO;AAE3B,MAAIE,GACAC,GACAC;AAEJ,QAAMC,IAAMR,EAAW,KAAKG,CAAO;AACnC,MAAIK;AACF,IAAAH,IAAO,OAAOG,EAAI,CAAC,CAAC,GACpBF,IAAQ,OAAOE,EAAI,CAAC,CAAC,GACrBD,IAAM,OAAOC,EAAI,CAAC,CAAC;AAAA,OACd;AACL,UAAM,EAAE,OAAAC,GAAO,QAAAC,MAAWC,EAAYlB,CAAM,GACtCmB,IAAQ,IAAI,OAAO,IAAIF,CAAM,GAAG,EAAE,KAAKP,CAAO;AACpD,QAAI,CAACS,EAAO,QAAO;AACnB,KAAC,EAAE,MAAAP,GAAM,OAAAC,GAAO,KAAAC,MAAQM,EAAWJ,GAAOG,CAAK;AAAA,EACjD;AAGA,SADIN,IAAQ,KAAKA,IAAQ,MACrBC,IAAM,KAAKA,IAAMO,EAAYT,GAAMC,CAAK,IAAU,OAC/CS,EAAc,EAAE,MAAAV,GAAM,OAAAC,GAAO,KAAAC,GAAK;AAC3C;"}
@@ -0,0 +1,54 @@
1
+ import { instantToPlainDateTime as w, plainDateTimeToInstant as z } from "../time/zone.js";
2
+ import { daysInMonth as O } from "../time/plain.js";
3
+ import { dateFormat as b } from "../intl-cache.js";
4
+ import { plainSpaces as g, wallDate as E, normalizeDigits as P, datePattern as $, dateFields as y, TIME_OPTIONS as F, clockPattern as Z, normalizePeriod as _ } from "./locale-date.js";
5
+ import { ABSENT as h } from "./absent.js";
6
+ function D() {
7
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
8
+ }
9
+ function I(t) {
10
+ if (typeof t == "number") return Number.isFinite(t) ? t : null;
11
+ const e = t.replace(/(\.\d{3})\d+/, "$1"), i = Date.parse(e);
12
+ return Number.isNaN(i) ? null : i;
13
+ }
14
+ function R(t, e, i = {}) {
15
+ if (t == null || t === "") return h;
16
+ const o = I(t);
17
+ if (o === null) return String(t);
18
+ const m = i.zone ?? D(), u = w(m, o);
19
+ return g(b(e, F).format(E(u)));
20
+ }
21
+ const x = String.raw`(?:,?\s+(\d{1,2}):(\d{2})(?::(\d{2}))?(?:\s*([^\d\s].*?))?)?`, H = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?\s*(Z|[+-]\d{2}:?\d{2})$/;
22
+ function W(t, e, i = {}) {
23
+ const o = P(t, e).trim();
24
+ if (o === "") return null;
25
+ if (H.test(o)) {
26
+ const n = I(o);
27
+ return n === null ? null : new Date(n).toISOString();
28
+ }
29
+ const { order: m, source: u } = $(e), r = new RegExp(`^${u}${x}$`).exec(o);
30
+ if (!r) return null;
31
+ const { year: T, month: l, day: a } = y(m, r);
32
+ if (l < 1 || l > 12 || a < 1 || a > O(T, l)) return null;
33
+ let d = 0, c = 0, f = 0;
34
+ if (r[4] !== void 0) {
35
+ const n = Number(r[4]);
36
+ if (c = Number(r[5]), f = r[6] !== void 0 ? Number(r[6]) : 0, c > 59 || f > 59) return null;
37
+ const s = Z(e);
38
+ if (s.twelveHour) {
39
+ const p = r[7] === void 0 ? void 0 : _(r[7]);
40
+ if (n < 1 || n > 12 || p !== s.am && p !== s.pm) return null;
41
+ d = p === s.am ? n === 12 ? 0 : n : n === 12 ? 12 : n + 12;
42
+ } else {
43
+ if (n > 23 || r[7] !== void 0) return null;
44
+ d = n;
45
+ }
46
+ }
47
+ const N = { year: T, month: l, day: a, hour: d, minute: c, second: f, millisecond: 0 }, S = i.zone ?? D();
48
+ return new Date(z(S, N)).toISOString();
49
+ }
50
+ export {
51
+ R as formatDateTime,
52
+ W as parseDateTime
53
+ };
54
+ //# sourceMappingURL=datetime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datetime.js","sources":["../../../src/lib/values/datetime.ts"],"sourcesContent":["import { instantToPlainDateTime, plainDateTimeToInstant } from \"../time/zone\";\nimport { daysInMonth } from \"../time/plain\";\nimport type { PlainDateTime } from \"../time/types\";\nimport { dateFormat } from \"../intl-cache\";\nimport { TIME_OPTIONS, clockPattern, dateFields, datePattern, normalizeDigits, normalizePeriod, plainSpaces, wallDate } from \"./locale-date\";\nimport { ABSENT } from \"./absent\";\n\n/* ----------------------------------------------------------------------------\n AN INSTANT — a fixed point on the timeline, rendered through a zone.\n\n THE DISTINCTION FROM `date.ts`, AND WHY IT IS A SEPARATE FILE RATHER THAN AN\n OPTION ON THE SAME ONE. An accident date is a calendar square: everyone who\n reads a claim file agrees it happened on the 11th, regardless of where they\n are sitting. \"When this record was created\" is not — it is one instant, and\n a reader in Los Angeles and a reader in New York see it at different clock\n times on (near a midnight boundary) potentially different DAYS. Collapsing\n the two into one formatter with a \"is this a date-time\" flag is how a\n calendar date ends up accidentally zone-shifted, which is the exact defect\n `date.ts`'s docblock explains `formatDate` cannot have. Keeping them as two\n files with two contracts is what keeps that true.\n\n STORAGE FORM is an ISO instant string (`\"2026-09-11T19:18:43.000Z\"`,\n `\"...43.000000Z\"` — microsecond precision, as a Laravel/Carbon backend\n emits, is accepted and truncated to milliseconds, see `toInstant` below) or\n a raw epoch-millisecond number — `lib/time`'s own `Instant`. Either is\n accepted so a consumer does not have to convert before handing a value in.\n\n DISPLAY FORMAT is the locale's all-numeric date and clock — `MM/DD/YYYY,\n h:mm AM/PM` in `en-US`, `DD.MM.YYYY, HH:mm` in `de-DE` — the SAME numeric\n date `date.ts` uses, not `Intl`'s long `\"Sep 11, 2026, 1:18 PM\"`. Two\n reasons, not one: it keeps a date and a date-time reading consistently\n across a table that shows both, and it means `parseDateTime` can invert\n exactly what `formatDateTime` prints without parsing a localised month name\n back out of a string — both read the field order and day-period words from\n the same `Intl` probe (`locale-date.ts`), so the two functions agree with\n each other in the locales `date-parse-locales.test.ts` pins (en-US, de-DE,\n es-AR, hu-HU, bg-BG); `parseDate` is pinned for those plus ko-KR, ar-EG and\n fa-IR. A locale whose clock puts the day period before the time (ko-KR) is\n not claimed.\n\n THE ZONE CONVERSION ITSELF IS NOT REIMPLEMENTED HERE. `instantToPlainDateTime`\n and `plainDateTimeToInstant` are `lib/time/zone.ts`'s own primitives, proven\n against a five-zone DST corpus (`time-dst.test.ts`) that includes half-hour\n offsets, midnight-skipping transitions and hours that happen twice. Writing\n a second, ad-hoc offset calculation here — the way a naive datetime\n formatter usually does — is exactly how the bugs that corpus documents get\n reintroduced a second time in the same codebase.\n -------------------------------------------------------------------------- */\n\n/** The reader's own zone, per the host `Intl` implementation — the correct\n * default for an INSTANT, which (unlike a `PlainDate`) has no zone of its\n * own until someone reads it. */\nfunction localZone(): string {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n}\n\n/**\n * A stored instant (ISO string or epoch ms) → epoch milliseconds, or `null`.\n *\n * Microsecond-precision ISO strings (`.043210Z`, six fractional digits — what\n * Carbon's default JSON cast emits) are truncated to the three digits\n * `Date.parse` is spec-guaranteed to accept; V8 happens to be lenient with\n * more, but nothing requires every engine this bundles into to be.\n */\nfunction toInstant(value: string | number): number | null {\n if (typeof value === \"number\") return Number.isFinite(value) ? value : null;\n const normalized = value.replace(/(\\.\\d{3})\\d+/, \"$1\");\n const ms = Date.parse(normalized);\n return Number.isNaN(ms) ? null : ms;\n}\n\nexport interface FormatDateTimeOptions {\n /**\n * IANA zone to render in, e.g. `\"America/New_York\"`. Omit to use the\n * reader's own zone — the right default for an instant, and the reason\n * this is a parameter at all rather than always-local: a report emailed to\n * someone in a different zone, or a server rendering a PDF, needs to say\n * WHOSE clock the printed time is on.\n */\n zone?: string;\n}\n\n/**\n * A stored instant → `\"09/11/2026, 1:18 PM\"` (`en-US`) in `options.zone` (default: the\n * reader's own).\n *\n * `null` / `undefined` / `\"\"` render as the em dash. A non-empty value that\n * does not parse as an instant is returned UNCHANGED — see `date.ts`'s\n * docblock for why absence and corruption get different treatment.\n */\nexport function formatDateTime(\n value: string | number | null | undefined,\n locale: string,\n options: FormatDateTimeOptions = {},\n): string {\n if (value == null || value === \"\") return ABSENT;\n const instant = toInstant(value);\n if (instant === null) return String(value);\n\n const zone = options.zone ?? localZone();\n const wall = instantToPlainDateTime(zone, instant);\n return plainSpaces(dateFormat(locale, TIME_OPTIONS).format(wallDate(wall)));\n}\n\n/* The time after a typed date: `h:mm[:ss]`, then the locale's day period when its clock has one —\n what `formatDateTime` prints, plus optional seconds for a value pasted from somewhere more precise. */\n// I18N-ALLOW: regular expression source for a typed time\nconst TYPED_TIME = String.raw`(?:,?\\s+(\\d{1,2}):(\\d{2})(?::(\\d{2}))?(?:\\s*([^\\d\\s].*?))?)?`;\n\n/* An ISO instant carrying its own offset or `Z` — unambiguous on its own, so\n it never needs a `zone` argument to resolve. */\nconst ISO_WITH_ZONE = /^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?\\s*(Z|[+-]\\d{2}:?\\d{2})$/;\n\nexport interface ParseDateTimeOptions {\n /**\n * The zone a bare (no AM/PM-less midnight, no offset) typed value's\n * wall-clock reading is IN. Omit to use the reader's own zone — matching\n * `formatDateTime`'s default, so parsing a value typed against that display\n * uses the same zone it was rendered in.\n */\n zone?: string;\n}\n\n/**\n * A human-typed date-time → the stored ISO instant, or `null`.\n *\n * TWO PATHS, DELIBERATELY NOT ONE. An ISO string carrying its own offset or\n * `Z` is unambiguous — `Date.parse` resolves it correctly regardless of what\n * zone this function is running in, and is used directly. Everything else is\n * a WALL-CLOCK reading with no zone of its own (`\"09/11/2026, 1:18 PM\"`), and\n * `Date.parse`'s native handling of that shape resolves it against the\n * HOST's zone — which is wrong the instant `options.zone` names a different\n * one, e.g. a server in UTC parsing a value entered by a reader in\n * `America/New_York`. So the wall-clock path is hand-parsed into fields and\n * handed to `plainDateTimeToInstant`, which resolves it against the\n * REQUESTED zone rather than whatever zone the code happens to be running in.\n *\n * A wall-clock reading that lands in a DST gap or overlap does not throw —\n * `plainDateTimeToInstant`'s default (`\"compatible\"`) disambiguation applies,\n * matching every other date library's default and `Temporal`'s own. See\n * `time-dst.test.ts` for what that resolves to at a transition.\n */\nexport function parseDateTime(input: string, locale: string, options: ParseDateTimeOptions = {}): string | null {\n const trimmed = normalizeDigits(input, locale).trim();\n if (trimmed === \"\") return null;\n\n if (ISO_WITH_ZONE.test(trimmed)) {\n const ms = toInstant(trimmed);\n return ms === null ? null : new Date(ms).toISOString();\n }\n\n const { order, source } = datePattern(locale);\n const m = new RegExp(`^${source}${TYPED_TIME}$`).exec(trimmed);\n if (!m) return null;\n\n const { year, month, day } = dateFields(order, m);\n if (month < 1 || month > 12) return null;\n if (day < 1 || day > daysInMonth(year, month)) return null;\n\n let hour = 0;\n let minute = 0;\n let second = 0;\n if (m[4] !== undefined) {\n const rawHour = Number(m[4]);\n minute = Number(m[5]);\n second = m[6] !== undefined ? Number(m[6]) : 0;\n if (minute > 59 || second > 59) return null;\n const clock = clockPattern(locale);\n if (clock.twelveHour) {\n const period = m[7] === undefined ? undefined : normalizePeriod(m[7]);\n if (rawHour < 1 || rawHour > 12 || (period !== clock.am && period !== clock.pm)) return null;\n hour = period === clock.am ? (rawHour === 12 ? 0 : rawHour) : rawHour === 12 ? 12 : rawHour + 12;\n } else {\n if (rawHour > 23 || m[7] !== undefined) return null;\n hour = rawHour;\n }\n }\n\n const wall: PlainDateTime = { year, month, day, hour, minute, second, millisecond: 0 };\n const zone = options.zone ?? localZone();\n return new Date(plainDateTimeToInstant(zone, wall)).toISOString();\n}\n"],"names":["localZone","toInstant","value","normalized","ms","formatDateTime","locale","options","ABSENT","instant","zone","wall","instantToPlainDateTime","plainSpaces","dateFormat","TIME_OPTIONS","wallDate","TYPED_TIME","ISO_WITH_ZONE","parseDateTime","input","trimmed","normalizeDigits","order","source","datePattern","m","year","month","day","dateFields","daysInMonth","hour","minute","second","rawHour","clock","clockPattern","period","normalizePeriod","plainDateTimeToInstant"],"mappings":";;;;;AAoDA,SAASA,IAAoB;AAC3B,SAAO,KAAK,iBAAiB,gBAAA,EAAkB;AACjD;AAUA,SAASC,EAAUC,GAAuC;AACxD,MAAI,OAAOA,KAAU,SAAU,QAAO,OAAO,SAASA,CAAK,IAAIA,IAAQ;AACvE,QAAMC,IAAaD,EAAM,QAAQ,gBAAgB,IAAI,GAC/CE,IAAK,KAAK,MAAMD,CAAU;AAChC,SAAO,OAAO,MAAMC,CAAE,IAAI,OAAOA;AACnC;AAqBO,SAASC,EACdH,GACAI,GACAC,IAAiC,CAAA,GACzB;AACR,MAAIL,KAAS,QAAQA,MAAU,GAAI,QAAOM;AAC1C,QAAMC,IAAUR,EAAUC,CAAK;AAC/B,MAAIO,MAAY,KAAM,QAAO,OAAOP,CAAK;AAEzC,QAAMQ,IAAOH,EAAQ,QAAQP,EAAA,GACvBW,IAAOC,EAAuBF,GAAMD,CAAO;AACjD,SAAOI,EAAYC,EAAWR,GAAQS,CAAY,EAAE,OAAOC,EAASL,CAAI,CAAC,CAAC;AAC5E;AAKA,MAAMM,IAAa,OAAO,mEAIpBC,IAAgB;AA+Bf,SAASC,EAAcC,GAAed,GAAgBC,IAAgC,CAAA,GAAmB;AAC9G,QAAMc,IAAUC,EAAgBF,GAAOd,CAAM,EAAE,KAAA;AAC/C,MAAIe,MAAY,GAAI,QAAO;AAE3B,MAAIH,EAAc,KAAKG,CAAO,GAAG;AAC/B,UAAMjB,IAAKH,EAAUoB,CAAO;AAC5B,WAAOjB,MAAO,OAAO,OAAO,IAAI,KAAKA,CAAE,EAAE,YAAA;AAAA,EAC3C;AAEA,QAAM,EAAE,OAAAmB,GAAO,QAAAC,MAAWC,EAAYnB,CAAM,GACtCoB,IAAI,IAAI,OAAO,IAAIF,CAAM,GAAGP,CAAU,GAAG,EAAE,KAAKI,CAAO;AAC7D,MAAI,CAACK,EAAG,QAAO;AAEf,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,KAAAC,MAAQC,EAAWP,GAAOG,CAAC;AAEhD,MADIE,IAAQ,KAAKA,IAAQ,MACrBC,IAAM,KAAKA,IAAME,EAAYJ,GAAMC,CAAK,EAAG,QAAO;AAEtD,MAAII,IAAO,GACPC,IAAS,GACTC,IAAS;AACb,MAAIR,EAAE,CAAC,MAAM,QAAW;AACtB,UAAMS,IAAU,OAAOT,EAAE,CAAC,CAAC;AAG3B,QAFAO,IAAS,OAAOP,EAAE,CAAC,CAAC,GACpBQ,IAASR,EAAE,CAAC,MAAM,SAAY,OAAOA,EAAE,CAAC,CAAC,IAAI,GACzCO,IAAS,MAAMC,IAAS,GAAI,QAAO;AACvC,UAAME,IAAQC,EAAa/B,CAAM;AACjC,QAAI8B,EAAM,YAAY;AACpB,YAAME,IAASZ,EAAE,CAAC,MAAM,SAAY,SAAYa,EAAgBb,EAAE,CAAC,CAAC;AACpE,UAAIS,IAAU,KAAKA,IAAU,MAAOG,MAAWF,EAAM,MAAME,MAAWF,EAAM,GAAK,QAAO;AACxF,MAAAJ,IAAOM,MAAWF,EAAM,KAAMD,MAAY,KAAK,IAAIA,IAAWA,MAAY,KAAK,KAAKA,IAAU;AAAA,IAChG,OAAO;AACL,UAAIA,IAAU,MAAMT,EAAE,CAAC,MAAM,OAAW,QAAO;AAC/C,MAAAM,IAAOG;AAAA,IACT;AAAA,EACF;AAEA,QAAMxB,IAAsB,EAAE,MAAAgB,GAAM,OAAAC,GAAO,KAAAC,GAAK,MAAAG,GAAM,QAAAC,GAAQ,QAAAC,GAAQ,aAAa,EAAA,GAC7ExB,IAAOH,EAAQ,QAAQP,EAAA;AAC7B,SAAO,IAAI,KAAKwC,EAAuB9B,GAAMC,CAAI,CAAC,EAAE,YAAA;AACtD;"}
@@ -0,0 +1,60 @@
1
+ import { localeDigits as g, dateFormat as d } from "../intl-cache.js";
2
+ import { wallAsUtcMs as h } from "../time/zone.js";
3
+ const f = { calendar: "gregory", timeZone: "UTC", year: "numeric", month: "2-digit", day: "2-digit" }, S = { ...f, hour: "numeric", minute: "2-digit" };
4
+ function v(t) {
5
+ return new Date(h(t));
6
+ }
7
+ function I(t) {
8
+ return t.replace(/[\u202f\u00a0]/g, " ");
9
+ }
10
+ const m = /* @__PURE__ */ new Map(), y = /[‎‏؜]/g, w = (t) => t.replace(/[.*+?^${}()|[\]\\/]/g, "\\$&");
11
+ function M(t, e) {
12
+ const r = g(e);
13
+ let n = t.replace(y, "");
14
+ return r.forEach((o, a) => {
15
+ o !== String(a) && (n = n.split(o).join(String(a)));
16
+ }), n;
17
+ }
18
+ function x(t) {
19
+ let e = m.get(t);
20
+ if (!e) {
21
+ const r = d(t, f).formatToParts(/* @__PURE__ */ new Date(0)), n = r.reduce((i, c, s) => c.type === "year" || c.type === "month" || c.type === "day" ? s : i, -1), o = [], a = r.map((i, c) => {
22
+ if (i.type === "year" || i.type === "month" || i.type === "day")
23
+ return o.push(i.type), i.type === "year" ? "(\\d{4})" : "(\\d{1,2})";
24
+ const s = i.value.replace(y, ""), u = `\\s*${w(s.trim())}\\s*`;
25
+ return c > n ? `(?:${u})?` : u;
26
+ }).join("");
27
+ e = { order: o, source: a }, m.set(t, e);
28
+ }
29
+ return e;
30
+ }
31
+ function C(t, e, r = 1) {
32
+ const n = { year: 0, month: 0, day: 0 };
33
+ return t.forEach((o, a) => {
34
+ n[o] = Number(e[r + a]);
35
+ }), n;
36
+ }
37
+ const l = /* @__PURE__ */ new Map();
38
+ function p(t) {
39
+ return t.toLowerCase().replace(/[\s.\u202f\u00a0]/g, "");
40
+ }
41
+ function E(t) {
42
+ let e = l.get(t);
43
+ if (!e) {
44
+ const r = (o) => d(t, { timeZone: "UTC", hour: "numeric" }).formatToParts(new Date(Date.UTC(2e3, 0, 1, o))).find((a) => a.type === "dayPeriod"), n = r(0);
45
+ e = { twelveHour: n !== void 0, am: n ? p(n.value) : "", pm: n ? p(r(12).value) : "" }, l.set(t, e);
46
+ }
47
+ return e;
48
+ }
49
+ export {
50
+ f as DATE_OPTIONS,
51
+ S as TIME_OPTIONS,
52
+ E as clockPattern,
53
+ C as dateFields,
54
+ x as datePattern,
55
+ M as normalizeDigits,
56
+ p as normalizePeriod,
57
+ I as plainSpaces,
58
+ v as wallDate
59
+ };
60
+ //# sourceMappingURL=locale-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-date.js","sources":["../../../src/lib/values/locale-date.ts"],"sourcesContent":["/* ----------------------------------------------------------------------------\n DX-4740 — HOW A LOCALE WRITES A CALENDAR DATE AND A CLOCK TIME, LEARNED FROM\n `Intl` ONCE PER LOCALE SO THE FORMATTERS AND THE PARSERS CANNOT DISAGREE.\n\n `formatDate` / `formatDateTime` print through `Intl.DateTimeFormat(locale)`;\n `parseDate` / `parseDateTime` read back exactly that shape. Both derive the\n field order, the separator and the day-period words from the same probe here,\n so a value displayed in a locale round-trips through its own parser.\n -------------------------------------------------------------------------- */\n\nimport { dateFormat, localeDigits } from \"../intl-cache\";\nimport { wallAsUtcMs } from \"../time/zone\";\nimport type { PlainDateTime } from \"../time/types\";\n\ntype DateField = \"year\" | \"month\" | \"day\";\n\n/* `calendar: \"gregory\"`: stored dates are Gregorian, but some locales default to another calendar (fa-IR prints Jalali), which would show a different date than the one stored. */\n// I18N-ALLOW: Intl.DateTimeFormat option values\nexport const DATE_OPTIONS: Intl.DateTimeFormatOptions = { calendar: \"gregory\", timeZone: \"UTC\", year: \"numeric\", month: \"2-digit\", day: \"2-digit\" };\nexport const TIME_OPTIONS: Intl.DateTimeFormatOptions = { ...DATE_OPTIONS, hour: \"numeric\", minute: \"2-digit\" };\n\n/** A wall-clock reading as a `Date` whose UTC fields ARE the reading, so `timeZone: \"UTC\"` prints it untouched. */\nexport function wallDate(wall: PlainDateTime): Date {\n return new Date(wallAsUtcMs(wall));\n}\n\n/* ICU separates the time from a day period with U+202F in recent versions and a plain\n space in older ones; one space keeps the output identical across both. */\nexport function plainSpaces(text: string): string {\n return text.replace(/[\\u202f\\u00a0]/g, \" \");\n}\n\nexport interface DatePattern {\n order: DateField[];\n /** Regex source matching one numeric date in the locale's order and separator. */\n source: string;\n}\n\nconst patterns = new Map<string, DatePattern>();\n\nconst BIDI_MARKS = /[‎‏؜]/g;\nconst escapeRegex = (text: string) => text.replace(/[.*+?^${}()|[\\]\\\\/]/g, \"\\\\$&\");\n\n/**\n * The locale's own digits and bidi marks → plain Latin digits and nothing, so a number typed in\n * Eastern Arabic or Persian digits (ar-EG, fa-IR) reads the same as one typed in Latin.\n */\nexport function normalizeDigits(text: string, locale: string): string {\n const digits = localeDigits(locale);\n let out = text.replace(BIDI_MARKS, \"\");\n digits.forEach((d, i) => {\n if (d !== String(i)) out = out.split(d).join(String(i));\n });\n return out;\n}\n\nexport function datePattern(locale: string): DatePattern {\n let pattern = patterns.get(locale);\n if (!pattern) {\n const parts = dateFormat(locale, DATE_OPTIONS).formatToParts(new Date(0));\n const lastField = parts.reduce((last, p, i) => (p.type === \"year\" || p.type === \"month\" || p.type === \"day\" ? i : last), -1);\n const order: DateField[] = [];\n const source = parts\n .map((part, i) => {\n if (part.type === \"year\" || part.type === \"month\" || part.type === \"day\") {\n order.push(part.type);\n return part.type === \"year\" ? \"(\\\\d{4})\" : \"(\\\\d{1,2})\";\n }\n const literal = part.value.replace(BIDI_MARKS, \"\");\n /* Whitespace around a literal is optional, so \"2026.09.11\" reads as \"2026. 09. 11.\"; a literal\n AFTER the last field (\"11.09.2026 г.\", the final \".\" of ko-KR) may be left off. */\n const text = escapeRegex(literal.trim());\n const inner = `\\\\s*${text}\\\\s*`;\n return i > lastField ? `(?:${inner})?` : inner;\n })\n .join(\"\");\n pattern = { order, source };\n patterns.set(locale, pattern);\n }\n return pattern;\n}\n\n/** The three captured numbers of a `datePattern` match, by field. */\nexport function dateFields(order: DateField[], match: RegExpExecArray, offset = 1): { year: number; month: number; day: number } {\n const out = { year: 0, month: 0, day: 0 };\n order.forEach((field, i) => {\n out[field] = Number(match[offset + i]);\n });\n return out;\n}\n\nexport interface ClockPattern {\n /** True when the locale shows 1-12 with a day period (\"AM\"/\"PM\"), false for a 0-23 clock. */\n twelveHour: boolean;\n /** Lower-case, space-free forms of the locale's morning and afternoon words (12-hour clocks only). */\n am: string;\n pm: string;\n}\n\nconst clocks = new Map<string, ClockPattern>();\n\nexport function normalizePeriod(text: string): string {\n return text.toLowerCase().replace(/[\\s.\\u202f\\u00a0]/g, \"\");\n}\n\nexport function clockPattern(locale: string): ClockPattern {\n let clock = clocks.get(locale);\n if (!clock) {\n const probe = (hour: number) =>\n dateFormat(locale, { timeZone: \"UTC\", hour: \"numeric\" }).formatToParts(new Date(Date.UTC(2000, 0, 1, hour))).find((p) => p.type === \"dayPeriod\");\n const am = probe(0);\n clock = { twelveHour: am !== undefined, am: am ? normalizePeriod(am.value) : \"\", pm: am ? normalizePeriod(probe(12)!.value) : \"\" };\n clocks.set(locale, clock);\n }\n return clock;\n}\n"],"names":["DATE_OPTIONS","TIME_OPTIONS","wallDate","wall","wallAsUtcMs","plainSpaces","text","patterns","BIDI_MARKS","escapeRegex","normalizeDigits","locale","digits","localeDigits","out","d","i","datePattern","pattern","parts","dateFormat","lastField","last","p","order","source","part","literal","inner","dateFields","match","offset","field","clocks","normalizePeriod","clockPattern","clock","probe","hour","am"],"mappings":";;AAkBO,MAAMA,IAA2C,EAAE,UAAU,WAAW,UAAU,OAAO,MAAM,WAAW,OAAO,WAAW,KAAK,UAAA,GAC3HC,IAA2C,EAAE,GAAGD,GAAc,MAAM,WAAW,QAAQ,UAAA;AAG7F,SAASE,EAASC,GAA2B;AAClD,SAAO,IAAI,KAAKC,EAAYD,CAAI,CAAC;AACnC;AAIO,SAASE,EAAYC,GAAsB;AAChD,SAAOA,EAAK,QAAQ,mBAAmB,GAAG;AAC5C;AAQA,MAAMC,wBAAe,IAAA,GAEfC,IAAa,UACbC,IAAc,CAACH,MAAiBA,EAAK,QAAQ,wBAAwB,MAAM;AAM1E,SAASI,EAAgBJ,GAAcK,GAAwB;AACpE,QAAMC,IAASC,EAAaF,CAAM;AAClC,MAAIG,IAAMR,EAAK,QAAQE,GAAY,EAAE;AACrC,SAAAI,EAAO,QAAQ,CAACG,GAAGC,MAAM;AACvB,IAAID,MAAM,OAAOC,CAAC,MAAGF,IAAMA,EAAI,MAAMC,CAAC,EAAE,KAAK,OAAOC,CAAC,CAAC;AAAA,EACxD,CAAC,GACMF;AACT;AAEO,SAASG,EAAYN,GAA6B;AACvD,MAAIO,IAAUX,EAAS,IAAII,CAAM;AACjC,MAAI,CAACO,GAAS;AACZ,UAAMC,IAAQC,EAAWT,GAAQX,CAAY,EAAE,cAAc,oBAAI,KAAK,CAAC,CAAC,GAClEqB,IAAYF,EAAM,OAAO,CAACG,GAAMC,GAAGP,MAAOO,EAAE,SAAS,UAAUA,EAAE,SAAS,WAAWA,EAAE,SAAS,QAAQP,IAAIM,GAAO,EAAE,GACrHE,IAAqB,CAAA,GACrBC,IAASN,EACZ,IAAI,CAACO,GAAMV,MAAM;AAChB,UAAIU,EAAK,SAAS,UAAUA,EAAK,SAAS,WAAWA,EAAK,SAAS;AACjE,eAAAF,EAAM,KAAKE,EAAK,IAAI,GACbA,EAAK,SAAS,SAAS,aAAa;AAE7C,YAAMC,IAAUD,EAAK,MAAM,QAAQlB,GAAY,EAAE,GAI3CoB,IAAQ,OADDnB,EAAYkB,EAAQ,KAAA,CAAM,CACd;AACzB,aAAOX,IAAIK,IAAY,MAAMO,CAAK,OAAOA;AAAA,IAC3C,CAAC,EACA,KAAK,EAAE;AACV,IAAAV,IAAU,EAAE,OAAAM,GAAO,QAAAC,EAAA,GACnBlB,EAAS,IAAII,GAAQO,CAAO;AAAA,EAC9B;AACA,SAAOA;AACT;AAGO,SAASW,EAAWL,GAAoBM,GAAwBC,IAAS,GAAiD;AAC/H,QAAMjB,IAAM,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,EAAA;AACtC,SAAAU,EAAM,QAAQ,CAACQ,GAAOhB,MAAM;AAC1B,IAAAF,EAAIkB,CAAK,IAAI,OAAOF,EAAMC,IAASf,CAAC,CAAC;AAAA,EACvC,CAAC,GACMF;AACT;AAUA,MAAMmB,wBAAa,IAAA;AAEZ,SAASC,EAAgB5B,GAAsB;AACpD,SAAOA,EAAK,YAAA,EAAc,QAAQ,sBAAsB,EAAE;AAC5D;AAEO,SAAS6B,EAAaxB,GAA8B;AACzD,MAAIyB,IAAQH,EAAO,IAAItB,CAAM;AAC7B,MAAI,CAACyB,GAAO;AACV,UAAMC,IAAQ,CAACC,MACblB,EAAWT,GAAQ,EAAE,UAAU,OAAO,MAAM,WAAW,EAAE,cAAc,IAAI,KAAK,KAAK,IAAI,KAAM,GAAG,GAAG2B,CAAI,CAAC,CAAC,EAAE,KAAK,CAACf,MAAMA,EAAE,SAAS,WAAW,GAC3IgB,IAAKF,EAAM,CAAC;AAClB,IAAAD,IAAQ,EAAE,YAAYG,MAAO,QAAW,IAAIA,IAAKL,EAAgBK,EAAG,KAAK,IAAI,IAAI,IAAIA,IAAKL,EAAgBG,EAAM,EAAE,EAAG,KAAK,IAAI,GAAA,GAC9HJ,EAAO,IAAItB,GAAQyB,CAAK;AAAA,EAC1B;AACA,SAAOA;AACT;"}
@@ -0,0 +1,16 @@
1
+ import { ABSENT as n } from "./absent.js";
2
+ import { numberFormat as o, parseLocalizedNumber as e } from "../intl-cache.js";
3
+ function c(i, t, r = {}) {
4
+ if (i == null || !Number.isFinite(i)) return n;
5
+ const { decimals: m } = r;
6
+ return o(t, m === void 0 ? { maximumFractionDigits: 6 } : { minimumFractionDigits: m, maximumFractionDigits: m }).format(i);
7
+ }
8
+ function f(i, t) {
9
+ const r = i.trim();
10
+ return r === "" ? null : e(r, t);
11
+ }
12
+ export {
13
+ c as formatNumber,
14
+ f as parseNumber
15
+ };
16
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sources":["../../../src/lib/values/number.ts"],"sourcesContent":["/* ----------------------------------------------------------------------------\n A GENERIC NUMBER — a float or an integer, with thousands separators.\n\n NO FIXED PRECISION BY DEFAULT, unlike `formatCurrency`'s always-two-decimals\n rule. Money has a currency-defined minor unit, so \"how many decimals\" is\n never a real question; a generic number's field might be a whole count\n of pages, a percentage to one decimal, or a computed rate to four — there is\n no single right answer, so the caller states it (`decimals`) and the\n default preserves whatever precision the value actually carries (up to 6\n fraction digits, trimmed of trailing zeros) rather than inventing digits\n that were not there or discarding real ones.\n -------------------------------------------------------------------------- */\n\nimport { ABSENT } from \"./absent\";\nimport { numberFormat, parseLocalizedNumber } from \"../intl-cache\";\n\nexport interface FormatNumberOptions {\n /**\n * Fixed fraction digits, e.g. `1` for a percentage rendered as `\"42.0\"`.\n * Omit to show the value's own precision, up to 6 fraction digits, with no\n * trailing zeros invented.\n */\n decimals?: number;\n}\n\n/**\n * `1234.5` → `\"1,234.5\"` in `en-US`, `\"1.234,5\"` in `de-DE`. `null` / `undefined` → `\"—\"`.\n *\n * `NaN` / `Infinity` render as the em dash too, for the same reason\n * `formatCurrency` groups them with absence rather than showing them back:\n * the caller holds a `number`, not a string a person typed, so there is no\n * original text to preserve.\n */\nexport function formatNumber(value: number | null | undefined, locale: string, options: FormatNumberOptions = {}): string {\n if (value == null || !Number.isFinite(value)) return ABSENT;\n const { decimals } = options;\n const intlOptions: Intl.NumberFormatOptions =\n decimals === undefined\n ? { maximumFractionDigits: 6 }\n : { minimumFractionDigits: decimals, maximumFractionDigits: decimals };\n return numberFormat(locale, intlOptions).format(value);\n}\n\n/**\n * A human-typed number → a `number`, or `null`.\n *\n * Reads `locale`'s own convention — `\"1,234.5\"` in `en-US` and `\"1.234,5\"` in\n * `de-DE` are both `1234.5` — and accepts a leading `-` for a negative value. Rejects, rather than\n * silently truncating, anything `parseFloat` would otherwise accept a PREFIX\n * of — `\"12abc\"` is not twelve, it is a typo, and `parseFloat` alone would\n * return `12` and hide that.\n */\nexport function parseNumber(input: string, locale: string): number | null {\n const trimmed = input.trim();\n if (trimmed === \"\") return null;\n return parseLocalizedNumber(trimmed, locale);\n}\n"],"names":["formatNumber","value","locale","options","ABSENT","decimals","numberFormat","parseNumber","input","trimmed","parseLocalizedNumber"],"mappings":";;AAiCO,SAASA,EAAaC,GAAkCC,GAAgBC,IAA+B,CAAA,GAAY;AACxH,MAAIF,KAAS,QAAQ,CAAC,OAAO,SAASA,CAAK,EAAG,QAAOG;AACrD,QAAM,EAAE,UAAAC,MAAaF;AAKrB,SAAOG,EAAaJ,GAHlBG,MAAa,SACT,EAAE,uBAAuB,EAAA,IACzB,EAAE,uBAAuBA,GAAU,uBAAuBA,EAAA,CACzB,EAAE,OAAOJ,CAAK;AACvD;AAWO,SAASM,EAAYC,GAAeN,GAA+B;AACxE,QAAMO,IAAUD,EAAM,KAAA;AACtB,SAAIC,MAAY,KAAW,OACpBC,EAAqBD,GAASP,CAAM;AAC7C;"}