@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,44 @@
1
+ import { jsx as e, jsxs as v } from "react/jsx-runtime";
2
+ import { useState as o } from "react";
3
+ import { Button as y } from "../Button.js";
4
+ import { Callout as d } from "../Callout.js";
5
+ import { Field as x } from "../Field.js";
6
+ import { Input as F } from "../Input.js";
7
+ import { useUiStrings as w } from "../../lib/i18n/provider.js";
8
+ function q({ onSubmit: f, submitLabel: p, className: l }) {
9
+ const t = w().forgotPasswordForm, [i, g] = o(""), [n, s] = o(!1), [a, m] = o(null), [h, b] = o(!1), u = i.trim().length > 0 && !n;
10
+ async function S(r) {
11
+ if (r.preventDefault(), !!u) {
12
+ s(!0), m(null);
13
+ try {
14
+ await f(i.trim()), b(!0);
15
+ } catch (c) {
16
+ m(c instanceof Error ? c.message : t.failedMessage);
17
+ } finally {
18
+ s(!1);
19
+ }
20
+ }
21
+ }
22
+ return h ? /* @__PURE__ */ e("div", { className: l, children: /* @__PURE__ */ e(d, { tone: "success", title: t.sentTitle, children: t.sentBody(i.trim()) }) }) : /* @__PURE__ */ e("form", { className: l, onSubmit: (r) => {
23
+ S(r);
24
+ }, children: /* @__PURE__ */ v("div", { className: "flex flex-col gap-4", children: [
25
+ a && /* @__PURE__ */ e(d, { tone: "danger", title: t.failedTitle, children: a }),
26
+ /* @__PURE__ */ e(x, { label: t.email, description: t.emailDescription, children: /* @__PURE__ */ e(
27
+ F,
28
+ {
29
+ type: "email",
30
+ value: i,
31
+ onChange: (r) => g(r.target.value),
32
+ autoComplete: "email",
33
+ disabled: n,
34
+ autoFocus: !0,
35
+ required: !0
36
+ }
37
+ ) }),
38
+ /* @__PURE__ */ e(y, { type: "submit", disabled: !u, loading: n, className: "w-full", children: p ?? t.submit })
39
+ ] }) });
40
+ }
41
+ export {
42
+ q as ForgotPasswordForm
43
+ };
44
+ //# sourceMappingURL=ForgotPasswordForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForgotPasswordForm.js","sources":["../../../src/components/auth/ForgotPasswordForm.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../Button\";\nimport { Callout } from \"../Callout\";\nimport { Field } from \"../Field\";\nimport { Input } from \"../Input\";\nimport { useUiStrings } from \"../../lib/i18n\";\n\n/* ============================================================================\n FORGOT PASSWORD FORM\n\n ONE field, submitted once. `onSubmit` is expected to resolve for ANY\n syntactically-valid email (the server's own \"always 202, no enumeration\"\n contract — DX-3416 card AC) — this component has no notion of whether the\n address matched anything, only whether the REQUEST itself failed (network,\n 5xx, rate limit). On success it swaps to a static confirmation message\n rather than resetting to a blank form, since a second submit of the same\n email is meaningless once the first request landed.\n ========================================================================= */\n\nexport interface ForgotPasswordFormProps {\n onSubmit: (email: string) => Promise<void>;\n submitLabel?: string;\n className?: string;\n}\n\nexport function ForgotPasswordForm({ onSubmit, submitLabel, className }: ForgotPasswordFormProps) {\n const strings = useUiStrings().forgotPasswordForm;\n const [email, setEmail] = useState(\"\");\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [sent, setSent] = useState(false);\n\n const canSubmit = email.trim().length > 0 && !submitting;\n\n async function handleSubmit(event: React.FormEvent) {\n event.preventDefault();\n if (!canSubmit) return;\n\n setSubmitting(true);\n setError(null);\n try {\n await onSubmit(email.trim());\n setSent(true);\n } catch (cause) {\n setError(cause instanceof Error ? cause.message : strings.failedMessage);\n } finally {\n setSubmitting(false);\n }\n }\n\n if (sent) {\n return (\n <div className={className}>\n <Callout tone=\"success\" title={strings.sentTitle}>\n {strings.sentBody(email.trim())}\n </Callout>\n </div>\n );\n }\n\n return (\n <form className={className} onSubmit={(event) => void handleSubmit(event)}>\n <div className=\"flex flex-col gap-4\">\n {error && <Callout tone=\"danger\" title={strings.failedTitle}>{error}</Callout>}\n\n <Field label={strings.email} description={strings.emailDescription}>\n <Input\n type=\"email\"\n value={email}\n onChange={(event) => setEmail(event.target.value)}\n autoComplete=\"email\"\n disabled={submitting}\n autoFocus\n required\n />\n </Field>\n\n <Button type=\"submit\" disabled={!canSubmit} loading={submitting} className=\"w-full\">\n {submitLabel ?? strings.submit}\n </Button>\n </div>\n </form>\n );\n}\n"],"names":["ForgotPasswordForm","onSubmit","submitLabel","className","strings","useUiStrings","email","setEmail","useState","submitting","setSubmitting","error","setError","sent","setSent","canSubmit","handleSubmit","event","cause","jsx","Callout","jsxs","Field","Input","Button"],"mappings":";;;;;;;AAyBO,SAASA,EAAmB,EAAE,UAAAC,GAAU,aAAAC,GAAa,WAAAC,KAAsC;AAChG,QAAMC,IAAUC,IAAe,oBACzB,CAACC,GAAOC,CAAQ,IAAIC,EAAS,EAAE,GAC/B,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAK,GAC5C,CAACG,GAAOC,CAAQ,IAAIJ,EAAwB,IAAI,GAChD,CAACK,GAAMC,CAAO,IAAIN,EAAS,EAAK,GAEhCO,IAAYT,EAAM,KAAA,EAAO,SAAS,KAAK,CAACG;AAE9C,iBAAeO,EAAaC,GAAwB;AAElD,QADAA,EAAM,eAAA,GACF,EAACF,GAEL;AAAA,MAAAL,EAAc,EAAI,GAClBE,EAAS,IAAI;AACb,UAAI;AACF,cAAMX,EAASK,EAAM,MAAM,GAC3BQ,EAAQ,EAAI;AAAA,MACd,SAASI,GAAO;AACd,QAAAN,EAASM,aAAiB,QAAQA,EAAM,UAAUd,EAAQ,aAAa;AAAA,MACzE,UAAA;AACE,QAAAM,EAAc,EAAK;AAAA,MACrB;AAAA;AAAA,EACF;AAEA,SAAIG,sBAEC,OAAA,EAAI,WAAAV,GACH,UAAA,gBAAAgB,EAACC,GAAA,EAAQ,MAAK,WAAU,OAAOhB,EAAQ,WACpC,YAAQ,SAASE,EAAM,KAAA,CAAM,GAChC,GACF,IAKF,gBAAAa,EAAC,QAAA,EAAK,WAAAhB,GAAsB,UAAU,CAACc;AAAU,IAAKD,EAAaC,CAAK;AAAA,KACtE,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,uBACZ,UAAA;AAAA,IAAAV,uBAAUS,GAAA,EAAQ,MAAK,UAAS,OAAOhB,EAAQ,aAAc,UAAAO,EAAA,CAAM;AAAA,sBAEnEW,GAAA,EAAM,OAAOlB,EAAQ,OAAO,aAAaA,EAAQ,kBAChD,UAAA,gBAAAe;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOjB;AAAA,QACP,UAAU,CAACW,MAAUV,EAASU,EAAM,OAAO,KAAK;AAAA,QAChD,cAAa;AAAA,QACb,UAAUR;AAAA,QACV,WAAS;AAAA,QACT,UAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,IAEA,gBAAAU,EAACK,GAAA,EAAO,MAAK,UAAS,UAAU,CAACT,GAAW,SAASN,GAAY,WAAU,UACxE,UAAAP,KAAeE,EAAQ,OAAA,CAC1B;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -0,0 +1,76 @@
1
+ import { jsx as e, jsxs as g } from "react/jsx-runtime";
2
+ import { useState as n } from "react";
3
+ import { Button as F } from "../Button.js";
4
+ import { Callout as I } from "../Callout.js";
5
+ import { Field as b } from "../Field.js";
6
+ import { Input as j } from "../Input.js";
7
+ import { PasswordInput as N } from "../PasswordInput.js";
8
+ import { SignInProviders as q } from "./SignInProviders.js";
9
+ import { useUiStrings as E } from "../../lib/i18n/provider.js";
10
+ function H({
11
+ onSubmit: h,
12
+ forgotPasswordLink: s,
13
+ submitLabel: v,
14
+ providers: a,
15
+ onSelectProvider: S,
16
+ pendingProvider: w,
17
+ className: x
18
+ }) {
19
+ const r = E().loginForm, [o, y] = n(""), [l, u] = n(""), [i, d] = n(!1), [m, c] = n(null), f = o.trim().length > 0 && l.length > 0 && !i;
20
+ async function C(t) {
21
+ if (t.preventDefault(), !!f) {
22
+ d(!0), c(null);
23
+ try {
24
+ await h(o.trim(), l), u("");
25
+ } catch (p) {
26
+ c(p instanceof Error ? p.message : r.failedMessage);
27
+ } finally {
28
+ d(!1);
29
+ }
30
+ }
31
+ }
32
+ return /* @__PURE__ */ e("form", { className: x, onSubmit: (t) => {
33
+ C(t);
34
+ }, children: /* @__PURE__ */ g("div", { className: "flex flex-col gap-4", children: [
35
+ m && /* @__PURE__ */ e(I, { tone: "danger", title: r.failedTitle, children: m }),
36
+ /* @__PURE__ */ e(b, { label: r.identifier, children: /* @__PURE__ */ e(
37
+ j,
38
+ {
39
+ value: o,
40
+ onChange: (t) => y(t.target.value),
41
+ autoComplete: "username",
42
+ disabled: i,
43
+ autoFocus: !0,
44
+ required: !0
45
+ }
46
+ ) }),
47
+ /* @__PURE__ */ g(b, { label: r.password, children: [
48
+ /* @__PURE__ */ e(
49
+ N,
50
+ {
51
+ value: l,
52
+ onChange: (t) => u(t.target.value),
53
+ autoComplete: "current-password",
54
+ disabled: i,
55
+ required: !0
56
+ }
57
+ ),
58
+ s && /* @__PURE__ */ e("div", { className: "flex justify-end", children: s })
59
+ ] }),
60
+ /* @__PURE__ */ e(F, { type: "submit", disabled: !f, loading: i, className: "w-full", children: v ?? r.submit }),
61
+ a && /* @__PURE__ */ e(
62
+ q,
63
+ {
64
+ divided: !0,
65
+ providers: a,
66
+ onSelect: S,
67
+ pending: w,
68
+ disabled: i
69
+ }
70
+ )
71
+ ] }) });
72
+ }
73
+ export {
74
+ H as LoginForm
75
+ };
76
+ //# sourceMappingURL=LoginForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginForm.js","sources":["../../../src/components/auth/LoginForm.tsx"],"sourcesContent":["import { useState, type ReactNode } from \"react\";\nimport { Button } from \"../Button\";\nimport { Callout } from \"../Callout\";\nimport { Field } from \"../Field\";\nimport { Input } from \"../Input\";\nimport { PasswordInput } from \"../PasswordInput\";\nimport { useUiStrings } from \"../../lib/i18n\";\nimport { SignInProviders, type ProviderSelection } from \"./SignInProviders\";\n\n/* ============================================================================\n LOGIN FORM\n\n Two fields, local state, SAME self-contained shape as `ChangePasswordForm`\n (see that file's own header for why: fields live here, not lifted to the\n caller, and reset ONLY on a successful submit — a rejected login must not\n force re-typing the password because the server was slow).\n\n `identifier` — NOT `username` — because DX-3416's login route accepts\n either an email or a username (the label says so too: \"Email or\n username\"). This component has no notion of which one was typed; it hands\n the raw string to `onSubmit` and the consumer's own auth call resolves it.\n ========================================================================= */\n\n/* DX-5095 - the provider buttons are props of the form, not a free node, so the \"or\" rule and the buttons come and go\n together: an empty `providers` list draws neither. */\nexport type LoginFormProps = {\n onSubmit: (identifier: string, password: string) => Promise<void>;\n /**\n * Rendered below the password box, right-aligned, after it in DOM order (DX-5555) — typically a \"Forgot password?\"\n * link. Tab runs identifier, password, the show-password toggle, this link, then Sign in.\n */\n forgotPasswordLink?: ReactNode;\n submitLabel?: string;\n className?: string;\n} & ProviderSelection;\n\nexport function LoginForm({\n onSubmit,\n forgotPasswordLink,\n submitLabel,\n providers,\n onSelectProvider,\n pendingProvider,\n className,\n}: LoginFormProps) {\n const strings = useUiStrings().loginForm;\n const [identifier, setIdentifier] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const canSubmit = identifier.trim().length > 0 && password.length > 0 && !submitting;\n\n async function handleSubmit(event: React.FormEvent) {\n event.preventDefault();\n if (!canSubmit) return;\n\n setSubmitting(true);\n setError(null);\n try {\n await onSubmit(identifier.trim(), password);\n setPassword(\"\");\n } catch (cause) {\n setError(cause instanceof Error ? cause.message : strings.failedMessage);\n } finally {\n setSubmitting(false);\n }\n }\n\n return (\n <form className={className} onSubmit={(event) => void handleSubmit(event)}>\n <div className=\"flex flex-col gap-4\">\n {error && <Callout tone=\"danger\" title={strings.failedTitle}>{error}</Callout>}\n\n <Field label={strings.identifier}>\n <Input\n value={identifier}\n onChange={(event) => setIdentifier(event.target.value)}\n autoComplete=\"username\"\n disabled={submitting}\n autoFocus\n required\n />\n </Field>\n\n <Field label={strings.password}>\n <PasswordInput\n value={password}\n onChange={(event) => setPassword(event.target.value)}\n autoComplete=\"current-password\"\n disabled={submitting}\n required\n />\n {/* DX-5555: after the input in DOM order, so Tab goes identifier -> password -> toggle -> this link. */}\n {forgotPasswordLink && <div className=\"flex justify-end\">{forgotPasswordLink}</div>}\n </Field>\n\n <Button type=\"submit\" disabled={!canSubmit} loading={submitting} className=\"w-full\">\n {submitLabel ?? strings.submit}\n </Button>\n\n {providers && (\n <SignInProviders\n divided\n providers={providers}\n onSelect={onSelectProvider}\n pending={pendingProvider}\n disabled={submitting}\n />\n )}\n </div>\n </form>\n );\n}\n"],"names":["LoginForm","onSubmit","forgotPasswordLink","submitLabel","providers","onSelectProvider","pendingProvider","className","strings","useUiStrings","identifier","setIdentifier","useState","password","setPassword","submitting","setSubmitting","error","setError","canSubmit","handleSubmit","event","cause","jsx","jsxs","Callout","Field","Input","PasswordInput","Button","SignInProviders"],"mappings":";;;;;;;;;AAoCO,SAASA,EAAU;AAAA,EACxB,UAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AACF,GAAmB;AACjB,QAAMC,IAAUC,IAAe,WACzB,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAE,GACzC,CAACC,GAAUC,CAAW,IAAIF,EAAS,EAAE,GACrC,CAACG,GAAYC,CAAa,IAAIJ,EAAS,EAAK,GAC5C,CAACK,GAAOC,CAAQ,IAAIN,EAAwB,IAAI,GAEhDO,IAAYT,EAAW,OAAO,SAAS,KAAKG,EAAS,SAAS,KAAK,CAACE;AAE1E,iBAAeK,EAAaC,GAAwB;AAElD,QADAA,EAAM,eAAA,GACF,EAACF,GAEL;AAAA,MAAAH,EAAc,EAAI,GAClBE,EAAS,IAAI;AACb,UAAI;AACF,cAAMjB,EAASS,EAAW,KAAA,GAAQG,CAAQ,GAC1CC,EAAY,EAAE;AAAA,MAChB,SAASQ,GAAO;AACd,QAAAJ,EAASI,aAAiB,QAAQA,EAAM,UAAUd,EAAQ,aAAa;AAAA,MACzE,UAAA;AACE,QAAAQ,EAAc,EAAK;AAAA,MACrB;AAAA;AAAA,EACF;AAEA,SACE,gBAAAO,EAAC,QAAA,EAAK,WAAAhB,GAAsB,UAAU,CAACc;AAAU,IAAKD,EAAaC,CAAK;AAAA,KACtE,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,uBACZ,UAAA;AAAA,IAAAP,uBAAUQ,GAAA,EAAQ,MAAK,UAAS,OAAOjB,EAAQ,aAAc,UAAAS,EAAA,CAAM;AAAA,IAEpE,gBAAAM,EAACG,GAAA,EAAM,OAAOlB,EAAQ,YACpB,UAAA,gBAAAe;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,OAAOjB;AAAA,QACP,UAAU,CAACW,MAAUV,EAAcU,EAAM,OAAO,KAAK;AAAA,QACrD,cAAa;AAAA,QACb,UAAUN;AAAA,QACV,WAAS;AAAA,QACT,UAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,IAEA,gBAAAS,EAACE,GAAA,EAAM,OAAOlB,EAAQ,UACpB,UAAA;AAAA,MAAA,gBAAAe;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,OAAOf;AAAA,UACP,UAAU,CAACQ,MAAUP,EAAYO,EAAM,OAAO,KAAK;AAAA,UACnD,cAAa;AAAA,UACb,UAAUN;AAAA,UACV,UAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGTb,KAAsB,gBAAAqB,EAAC,OAAA,EAAI,WAAU,oBAAoB,UAAArB,EAAA,CAAmB;AAAA,IAAA,GAC/E;AAAA,IAEA,gBAAAqB,EAACM,GAAA,EAAO,MAAK,UAAS,UAAU,CAACV,GAAW,SAASJ,GAAY,WAAU,UACxE,UAAAZ,KAAeK,EAAQ,QAC1B;AAAA,IAECJ,KACC,gBAAAmB;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,SAAO;AAAA,QACP,WAAA1B;AAAA,QACA,UAAUC;AAAA,QACV,SAASC;AAAA,QACT,UAAUS;AAAA,MAAA;AAAA,IAAA;AAAA,EACZ,EAAA,CAEJ,EAAA,CACF;AAEJ;"}
@@ -0,0 +1,69 @@
1
+ import { jsx as t, jsxs as h } from "react/jsx-runtime";
2
+ import { useState as a } from "react";
3
+ import { Button as F } from "../Button.js";
4
+ import { Callout as N } from "../Callout.js";
5
+ import { Field as w } from "../Field.js";
6
+ import { PasswordInput as b } from "../PasswordInput.js";
7
+ import { PasswordRequirements as q } from "../PasswordRequirements.js";
8
+ import { useUiStrings as M } from "../../lib/i18n/provider.js";
9
+ function k({
10
+ passwordRules: v,
11
+ onSubmit: x,
12
+ submitLabel: C,
13
+ className: P
14
+ }) {
15
+ const r = M().resetPasswordForm, [s, l] = a(""), [o, m] = a(""), [n, u] = a(!1), [c, d] = a(null), i = v(s), S = i.length === 0 || i.every((e) => e.met), f = o.length > 0 && o !== s, g = s.length > 0 && o.length > 0 && S && !f && !n;
16
+ async function y(e) {
17
+ if (e.preventDefault(), !!g) {
18
+ u(!0), d(null);
19
+ try {
20
+ await x(s), l(""), m("");
21
+ } catch (p) {
22
+ d(p instanceof Error ? p.message : r.failedMessage);
23
+ } finally {
24
+ u(!1);
25
+ }
26
+ }
27
+ }
28
+ return /* @__PURE__ */ t("form", { className: P, onSubmit: (e) => {
29
+ y(e);
30
+ }, children: /* @__PURE__ */ h("div", { className: "flex flex-col gap-4", children: [
31
+ c && /* @__PURE__ */ t(N, { tone: "danger", title: r.failedTitle, children: c }),
32
+ /* @__PURE__ */ h(w, { label: r.newPassword, children: [
33
+ /* @__PURE__ */ t(
34
+ b,
35
+ {
36
+ value: s,
37
+ onChange: (e) => l(e.target.value),
38
+ autoComplete: "new-password",
39
+ disabled: n,
40
+ autoFocus: !0,
41
+ required: !0
42
+ }
43
+ ),
44
+ /* @__PURE__ */ t(q, { rules: i, className: "mt-2" })
45
+ ] }),
46
+ /* @__PURE__ */ t(
47
+ w,
48
+ {
49
+ label: r.confirmPassword,
50
+ error: f ? r.mismatch : void 0,
51
+ children: /* @__PURE__ */ t(
52
+ b,
53
+ {
54
+ value: o,
55
+ onChange: (e) => m(e.target.value),
56
+ autoComplete: "new-password",
57
+ disabled: n,
58
+ required: !0
59
+ }
60
+ )
61
+ }
62
+ ),
63
+ /* @__PURE__ */ t(F, { type: "submit", disabled: !g, loading: n, className: "w-full", children: C ?? r.submit })
64
+ ] }) });
65
+ }
66
+ export {
67
+ k as ResetPasswordForm
68
+ };
69
+ //# sourceMappingURL=ResetPasswordForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetPasswordForm.js","sources":["../../../src/components/auth/ResetPasswordForm.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../Button\";\nimport { Callout } from \"../Callout\";\nimport { Field } from \"../Field\";\nimport { PasswordInput } from \"../PasswordInput\";\nimport { PasswordRequirements, type PasswordRequirementRule } from \"../PasswordRequirements\";\nimport { useUiStrings } from \"../../lib/i18n\";\n\n/* ============================================================================\n RESET PASSWORD FORM\n\n `ChangePasswordForm`'s sibling for the SIGNED-OUT reset-link flow — same\n local-state / pure-`passwordRules` / reset-only-on-success shape (see that\n file's own header for the full reasoning), with the one structural\n difference the flow demands: there is no \"current password\" to prove\n (the emailed TOKEN is what proves ownership, held by the consumer, not\n typed into any field here) and CONFIRM-MATCHES-NEW is still the one\n inline-checked piece of arithmetic, exactly as `ChangePasswordForm` does\n it.\n ========================================================================= */\n\nexport interface ResetPasswordFormProps {\n /** Pure — recomputed against the current draft of the new password on every render. */\n passwordRules: (nextPassword: string) => PasswordRequirementRule[];\n onSubmit: (next: string) => Promise<void>;\n submitLabel?: string;\n className?: string;\n}\n\nexport function ResetPasswordForm({\n passwordRules,\n onSubmit,\n submitLabel,\n className,\n}: ResetPasswordFormProps) {\n const strings = useUiStrings().resetPasswordForm;\n const [next, setNext] = useState(\"\");\n const [confirm, setConfirm] = useState(\"\");\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const rules = passwordRules(next);\n const allRulesMet = rules.length === 0 || rules.every((rule) => rule.met);\n const confirmMismatch = confirm.length > 0 && confirm !== next;\n const canSubmit = next.length > 0 && confirm.length > 0 && allRulesMet && !confirmMismatch && !submitting;\n\n async function handleSubmit(event: React.FormEvent) {\n event.preventDefault();\n if (!canSubmit) return;\n\n setSubmitting(true);\n setError(null);\n try {\n await onSubmit(next);\n setNext(\"\");\n setConfirm(\"\");\n } catch (cause) {\n setError(cause instanceof Error ? cause.message : strings.failedMessage);\n } finally {\n setSubmitting(false);\n }\n }\n\n return (\n <form className={className} onSubmit={(event) => void handleSubmit(event)}>\n <div className=\"flex flex-col gap-4\">\n {error && <Callout tone=\"danger\" title={strings.failedTitle}>{error}</Callout>}\n\n <Field label={strings.newPassword}>\n <PasswordInput\n value={next}\n onChange={(event) => setNext(event.target.value)}\n autoComplete=\"new-password\"\n disabled={submitting}\n autoFocus\n required\n />\n <PasswordRequirements rules={rules} className=\"mt-2\" />\n </Field>\n\n <Field\n label={strings.confirmPassword}\n error={confirmMismatch ? strings.mismatch : undefined}\n >\n <PasswordInput\n value={confirm}\n onChange={(event) => setConfirm(event.target.value)}\n autoComplete=\"new-password\"\n disabled={submitting}\n required\n />\n </Field>\n\n <Button type=\"submit\" disabled={!canSubmit} loading={submitting} className=\"w-full\">\n {submitLabel ?? strings.submit}\n </Button>\n </div>\n </form>\n );\n}\n"],"names":["ResetPasswordForm","passwordRules","onSubmit","submitLabel","className","strings","useUiStrings","next","setNext","useState","confirm","setConfirm","submitting","setSubmitting","error","setError","rules","allRulesMet","rule","confirmMismatch","canSubmit","handleSubmit","event","cause","jsx","jsxs","Callout","Field","PasswordInput","PasswordRequirements","Button"],"mappings":";;;;;;;;AA6BO,SAASA,EAAkB;AAAA,EAChC,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AACF,GAA2B;AACzB,QAAMC,IAAUC,IAAe,mBACzB,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAE,GAC7B,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAE,GACnC,CAACG,GAAYC,CAAa,IAAIJ,EAAS,EAAK,GAC5C,CAACK,GAAOC,CAAQ,IAAIN,EAAwB,IAAI,GAEhDO,IAAQf,EAAcM,CAAI,GAC1BU,IAAcD,EAAM,WAAW,KAAKA,EAAM,MAAM,CAACE,MAASA,EAAK,GAAG,GAClEC,IAAkBT,EAAQ,SAAS,KAAKA,MAAYH,GACpDa,IAAYb,EAAK,SAAS,KAAKG,EAAQ,SAAS,KAAKO,KAAe,CAACE,KAAmB,CAACP;AAE/F,iBAAeS,EAAaC,GAAwB;AAElD,QADAA,EAAM,eAAA,GACF,EAACF,GAEL;AAAA,MAAAP,EAAc,EAAI,GAClBE,EAAS,IAAI;AACb,UAAI;AACF,cAAMb,EAASK,CAAI,GACnBC,EAAQ,EAAE,GACVG,EAAW,EAAE;AAAA,MACf,SAASY,GAAO;AACd,QAAAR,EAASQ,aAAiB,QAAQA,EAAM,UAAUlB,EAAQ,aAAa;AAAA,MACzE,UAAA;AACE,QAAAQ,EAAc,EAAK;AAAA,MACrB;AAAA;AAAA,EACF;AAEA,SACE,gBAAAW,EAAC,QAAA,EAAK,WAAApB,GAAsB,UAAU,CAACkB;AAAU,IAAKD,EAAaC,CAAK;AAAA,KACtE,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,uBACZ,UAAA;AAAA,IAAAX,uBAAUY,GAAA,EAAQ,MAAK,UAAS,OAAOrB,EAAQ,aAAc,UAAAS,EAAA,CAAM;AAAA,IAEpE,gBAAAW,EAACE,GAAA,EAAM,OAAOtB,EAAQ,aACpB,UAAA;AAAA,MAAA,gBAAAmB;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,OAAOrB;AAAA,UACP,UAAU,CAACe,MAAUd,EAAQc,EAAM,OAAO,KAAK;AAAA,UAC/C,cAAa;AAAA,UACb,UAAUV;AAAA,UACV,WAAS;AAAA,UACT,UAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAEV,gBAAAY,EAACK,GAAA,EAAqB,OAAAb,GAAc,WAAU,OAAA,CAAO;AAAA,IAAA,GACvD;AAAA,IAEA,gBAAAQ;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,OAAOtB,EAAQ;AAAA,QACf,OAAOc,IAAkBd,EAAQ,WAAW;AAAA,QAE5C,UAAA,gBAAAmB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAOlB;AAAA,YACP,UAAU,CAACY,MAAUX,EAAWW,EAAM,OAAO,KAAK;AAAA,YAClD,cAAa;AAAA,YACb,UAAUV;AAAA,YACV,UAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACV;AAAA,IAAA;AAAA,IAGF,gBAAAY,EAACM,GAAA,EAAO,MAAK,UAAS,UAAU,CAACV,GAAW,SAASR,GAAY,WAAU,UACxE,UAAAT,KAAeE,EAAQ,OAAA,CAC1B;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -0,0 +1,45 @@
1
+ import { jsxs as i, Fragment as d, jsx as e } from "react/jsx-runtime";
2
+ import { Button as f } from "../Button.js";
3
+ import { Icon as g } from "../Icon.js";
4
+ import { cn as a } from "../../lib/cn.js";
5
+ import { useUiStrings as o } from "../../lib/i18n/provider.js";
6
+ function P({
7
+ providers: l,
8
+ onSelect: r,
9
+ pending: s = null,
10
+ disabled: c = !1,
11
+ divided: m = !1,
12
+ className: u
13
+ }) {
14
+ const t = o().signInProviders;
15
+ return l.length === 0 ? null : /* @__PURE__ */ i(d, { children: [
16
+ m && /* @__PURE__ */ e(p, {}),
17
+ /* @__PURE__ */ e("div", { role: "group", "aria-label": t.groupLabel, className: a("flex flex-col gap-2", u), children: l.map((n) => /* @__PURE__ */ e(
18
+ f,
19
+ {
20
+ type: "button",
21
+ variant: "outline",
22
+ className: "w-full",
23
+ leadingIcon: /* @__PURE__ */ e(g, { name: n.id }),
24
+ loading: s === n.id,
25
+ disabled: c || s !== null,
26
+ onClick: () => r(n.id),
27
+ children: t.continueWith(n.label)
28
+ },
29
+ n.id
30
+ )) })
31
+ ] });
32
+ }
33
+ function p({ className: l }) {
34
+ const r = o().signInProviders;
35
+ return /* @__PURE__ */ i("div", { role: "separator", className: a("flex items-center gap-3 text-xs uppercase text-secondary", l), children: [
36
+ /* @__PURE__ */ e("span", { className: "h-px flex-1 bg-border-subtle" }),
37
+ /* @__PURE__ */ e("span", { children: r.or }),
38
+ /* @__PURE__ */ e("span", { className: "h-px flex-1 bg-border-subtle" })
39
+ ] });
40
+ }
41
+ export {
42
+ p as OrDivider,
43
+ P as SignInProviders
44
+ };
45
+ //# sourceMappingURL=SignInProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInProviders.js","sources":["../../../src/components/auth/SignInProviders.tsx"],"sourcesContent":["import { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { cn } from \"../../lib/cn\";\nimport { useUiStrings } from \"../../lib/i18n\";\n\n/* ============================================================================\n SIGN-IN PROVIDERS (DX-5095)\n\n One \"Continue with <provider>\" button per provider, stacked full width. The\n caller owns what a pick does (a redirect to the provider, normally): this\n component only reports `onSelect(id)` and shows which one is in flight.\n\n `pending` names the provider whose round trip has started. The WHOLE row is\n disabled while it is set, not just that button — a second provider clicked\n mid-redirect would start a competing sign-in — and the pending button shows\n its spinner. `disabled` blocks the row for a reason the caller owns (a form\n that is not yet allowed to continue).\n\n The marks come from `Icon` (`google` is a fixed four-colour brand mark,\n `github` follows the text colour), so there is no image to host and no\n network request.\n ========================================================================= */\n\nexport type SignInProviderId = \"google\" | \"github\";\n\nexport interface SignInProvider {\n id: SignInProviderId;\n /** The provider's name as the button shows it (\"Google\"). */\n label: string;\n}\n\nexport interface SignInProvidersProps {\n providers: readonly SignInProvider[];\n onSelect: (id: SignInProviderId) => void;\n /** The provider whose sign-in has started; disables the whole row. */\n pending?: SignInProviderId | null;\n /** Blocks the row without a pending provider. */\n disabled?: boolean;\n /**\n * Draws the \"or\" rule above the row. The rule belongs to the row, not to the form around it, so an empty `providers`\n * list renders neither: there is no way to get an orphan divider (DX-5095).\n */\n divided?: boolean;\n className?: string;\n}\n\nexport function SignInProviders({\n providers,\n onSelect,\n pending = null,\n disabled = false,\n divided = false,\n className,\n}: SignInProvidersProps) {\n const strings = useUiStrings().signInProviders;\n if (providers.length === 0) return null;\n return (\n <>\n {divided && <OrDivider />}\n <div role=\"group\" aria-label={strings.groupLabel} className={cn(\"flex flex-col gap-2\", className)}>\n {providers.map((provider) => (\n <Button\n key={provider.id}\n type=\"button\"\n variant=\"outline\"\n className=\"w-full\"\n leadingIcon={<Icon name={provider.id} />}\n loading={pending === provider.id}\n disabled={disabled || pending !== null}\n onClick={() => onSelect(provider.id)}\n >\n {strings.continueWith(provider.label)}\n </Button>\n ))}\n </div>\n </>\n );\n}\n\n/** A verified identity from a provider: the account is created from it, so no password exists to ask for. */\nexport interface VerifiedIdentity {\n provider: SignInProviderId;\n handle: string;\n email: string;\n}\n\n/**\n * The provider buttons of a card that creates an account: all three props or none. `Ctx` is what the card has\n * collected that the provider round trip must carry.\n */\nexport type ProviderContinuation<Ctx> =\n | { providers?: undefined; onContinueWithProvider?: undefined; pendingProvider?: undefined }\n | {\n providers: readonly SignInProvider[];\n onContinueWithProvider: (id: SignInProviderId, context: Ctx) => void;\n /** The provider whose round trip has started; disables the row. */\n pendingProvider?: SignInProviderId | null;\n };\n\n/** The provider buttons of a form that signs an existing account in: all three props or none. */\nexport type ProviderSelection =\n | { providers?: undefined; onSelectProvider?: undefined; pendingProvider?: undefined }\n | {\n providers: readonly SignInProvider[];\n onSelectProvider: (id: SignInProviderId) => void;\n /** The provider whose round trip has started; disables the row. */\n pendingProvider?: SignInProviderId | null;\n };\n\n/** The \"or\" rule between a form and its provider buttons. */\nexport function OrDivider({ className }: { className?: string }) {\n const strings = useUiStrings().signInProviders;\n return (\n <div role=\"separator\" className={cn(\"flex items-center gap-3 text-xs uppercase text-secondary\", className)}>\n <span className=\"h-px flex-1 bg-border-subtle\" />\n <span>{strings.or}</span>\n <span className=\"h-px flex-1 bg-border-subtle\" />\n </div>\n );\n}\n"],"names":["SignInProviders","providers","onSelect","pending","disabled","divided","className","strings","useUiStrings","jsxs","Fragment","OrDivider","jsx","cn","provider","Button","Icon"],"mappings":";;;;;AA8CO,SAASA,EAAgB;AAAA,EAC9B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,WAAAC;AACF,GAAyB;AACvB,QAAMC,IAAUC,IAAe;AAC/B,SAAIP,EAAU,WAAW,IAAU,OAEjC,gBAAAQ,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAL,uBAAYM,GAAA,EAAU;AAAA,IACvB,gBAAAC,EAAC,OAAA,EAAI,MAAK,SAAQ,cAAYL,EAAQ,YAAY,WAAWM,EAAG,uBAAuBP,CAAS,GAC/F,UAAAL,EAAU,IAAI,CAACa,MACd,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,WAAU;AAAA,QACV,aAAa,gBAAAH,EAACI,GAAA,EAAK,MAAMF,EAAS,IAAI;AAAA,QACtC,SAASX,MAAYW,EAAS;AAAA,QAC9B,UAAUV,KAAYD,MAAY;AAAA,QAClC,SAAS,MAAMD,EAASY,EAAS,EAAE;AAAA,QAElC,UAAAP,EAAQ,aAAaO,EAAS,KAAK;AAAA,MAAA;AAAA,MAT/BA,EAAS;AAAA,IAAA,CAWjB,EAAA,CACD;AAAA,EAAA,GACF;AAEJ;AAiCO,SAASH,EAAU,EAAE,WAAAL,KAAqC;AAC/D,QAAMC,IAAUC,IAAe;AAC/B,SACE,gBAAAC,EAAC,SAAI,MAAK,aAAY,WAAWI,EAAG,4DAA4DP,CAAS,GACvG,UAAA;AAAA,IAAA,gBAAAM,EAAC,QAAA,EAAK,WAAU,+BAAA,CAA+B;AAAA,IAC/C,gBAAAA,EAAC,QAAA,EAAM,UAAAL,EAAQ,GAAA,CAAG;AAAA,IAClB,gBAAAK,EAAC,QAAA,EAAK,WAAU,+BAAA,CAA+B;AAAA,EAAA,GACjD;AAEJ;"}
@@ -0,0 +1,204 @@
1
+ import { jsxs as w, jsx as t, Fragment as ae } from "react/jsx-runtime";
2
+ import { useState as r, useRef as ie, useEffect as ne } from "react";
3
+ import { Button as I } from "../Button.js";
4
+ import { Callout as se } from "../Callout.js";
5
+ import { Field as c } from "../Field.js";
6
+ import { Input as f } from "../Input.js";
7
+ import { PasswordInput as re } from "../PasswordInput.js";
8
+ import { PasswordRequirements as oe } from "../PasswordRequirements.js";
9
+ import { SignInProviders as le } from "./SignInProviders.js";
10
+ import { TermsAcceptance as me } from "./TermsAcceptance.js";
11
+ import { useUiStrings as E } from "../../lib/i18n/provider.js";
12
+ import { emphasis as ce } from "../../lib/i18n/emphasis.js";
13
+ function we(g) {
14
+ const {
15
+ initialCode: o,
16
+ onValidateCode: j,
17
+ passwordRules: D,
18
+ termsHref: M,
19
+ onOpenTerms: U,
20
+ initialValues: v,
21
+ loading: i = !1,
22
+ error: P,
23
+ onSignInInstead: T,
24
+ verifiedIdentity: s,
25
+ providers: R,
26
+ onContinueWithProvider: B,
27
+ pendingProvider: H,
28
+ className: W
29
+ } = g, a = E().signupCard, A = E().signInProviders, [l, $] = r(o ?? ""), [n, h] = r(o ? { status: "checking" } : { status: "idle" }), [C, G] = r(v?.name ?? ""), [b, J] = r(v?.username ?? ""), [K, Q] = r(""), [d, X] = r(v?.teamName ?? ""), [k, Y] = r(""), [y, Z] = r(v?.acceptedTerms ?? !1), N = ie(0);
30
+ function F(e) {
31
+ const p = ++N.current;
32
+ h({ status: "checking" }), j(e.trim()).then(
33
+ (S) => {
34
+ p === N.current && h({ status: "valid", emailLock: S.emailLock });
35
+ },
36
+ (S) => {
37
+ p === N.current && h({
38
+ status: "invalid",
39
+ message: S instanceof Error ? S.message : a.invalidCode
40
+ });
41
+ }
42
+ );
43
+ }
44
+ ne(() => {
45
+ o && F(o);
46
+ }, []);
47
+ const u = n.status === "valid", m = n.status === "valid" ? n.emailLock : null, O = u && o !== void 0 && l === o, x = !s, L = s?.email ?? m ?? K, _ = !x || m !== null, V = s !== void 0 && m !== null && m.toLowerCase() !== s.email.toLowerCase(), q = D(k), ee = !x || q.every((e) => e.met), z = u && C.trim() !== "" && b.trim() !== "" && L.trim() !== "" && d.trim() !== "" && (!x || k !== "") && ee && !V && y && !i;
48
+ function te(e) {
49
+ if (e.preventDefault(), !u) {
50
+ l.trim() !== "" && n.status !== "checking" && F(l);
51
+ return;
52
+ }
53
+ if (!z) return;
54
+ const p = {
55
+ code: l.trim(),
56
+ name: C.trim(),
57
+ username: b.trim(),
58
+ email: L.trim(),
59
+ teamName: d.trim(),
60
+ acceptedTerms: !0
61
+ };
62
+ g.verifiedIdentity ? g.onSignup(p) : g.onSignup({ ...p, password: k });
63
+ }
64
+ return /* @__PURE__ */ w("form", { className: `flex flex-col gap-4 ${W ?? ""}`, onSubmit: te, noValidate: !0, children: [
65
+ P && /* @__PURE__ */ t(se, { tone: "danger", title: P }),
66
+ /* @__PURE__ */ t(
67
+ c,
68
+ {
69
+ label: a.betaCode,
70
+ description: O ? a.codeFromLink : void 0,
71
+ error: n.status === "invalid" ? n.message : void 0,
72
+ children: /* @__PURE__ */ t(
73
+ f,
74
+ {
75
+ value: l,
76
+ onChange: (e) => {
77
+ N.current += 1, $(e.target.value), h({ status: "idle" });
78
+ },
79
+ readOnly: O,
80
+ disabled: i,
81
+ loading: n.status === "checking",
82
+ autoComplete: "off",
83
+ autoCapitalize: "characters",
84
+ spellCheck: !1,
85
+ autoFocus: !o
86
+ }
87
+ )
88
+ }
89
+ ),
90
+ !u && /* @__PURE__ */ t(
91
+ I,
92
+ {
93
+ type: "submit",
94
+ disabled: l.trim() === "" || n.status === "checking",
95
+ loading: n.status === "checking",
96
+ className: "w-full",
97
+ children: a.continue
98
+ }
99
+ ),
100
+ u && /* @__PURE__ */ w(ae, { children: [
101
+ /* @__PURE__ */ t(c, { label: a.name, children: /* @__PURE__ */ t(
102
+ f,
103
+ {
104
+ value: C,
105
+ onChange: (e) => G(e.target.value),
106
+ disabled: i,
107
+ autoComplete: "name",
108
+ autoFocus: !0
109
+ }
110
+ ) }),
111
+ /* @__PURE__ */ t(c, { label: a.username, children: /* @__PURE__ */ t(
112
+ f,
113
+ {
114
+ value: b,
115
+ onChange: (e) => J(e.target.value),
116
+ disabled: i,
117
+ autoComplete: "username",
118
+ autoCapitalize: "none",
119
+ spellCheck: !1
120
+ }
121
+ ) }),
122
+ /* @__PURE__ */ t(
123
+ c,
124
+ {
125
+ label: a.email,
126
+ description: m !== null ? a.emailReserved : void 0,
127
+ error: V ? a.emailLockMismatch(m) : void 0,
128
+ children: /* @__PURE__ */ t(
129
+ f,
130
+ {
131
+ type: "email",
132
+ value: L,
133
+ onChange: (e) => Q(e.target.value),
134
+ readOnly: _,
135
+ disabled: i,
136
+ autoComplete: "email"
137
+ }
138
+ )
139
+ }
140
+ ),
141
+ /* @__PURE__ */ t(c, { label: a.teamName, description: a.teamNameDescription, children: /* @__PURE__ */ t(
142
+ f,
143
+ {
144
+ value: d,
145
+ onChange: (e) => X(e.target.value),
146
+ disabled: i,
147
+ autoComplete: "organization"
148
+ }
149
+ ) }),
150
+ s ? /* @__PURE__ */ t("p", { className: "text-sm text-secondary", children: A.verifiedAs(
151
+ A.names[s.provider],
152
+ s.handle,
153
+ ce
154
+ ) }) : /* @__PURE__ */ w(c, { label: a.password, children: [
155
+ /* @__PURE__ */ t(
156
+ re,
157
+ {
158
+ value: k,
159
+ onChange: (e) => Y(e.target.value),
160
+ disabled: i,
161
+ autoComplete: "new-password"
162
+ }
163
+ ),
164
+ /* @__PURE__ */ t(oe, { rules: q, className: "mt-2" })
165
+ ] }),
166
+ /* @__PURE__ */ t(
167
+ me,
168
+ {
169
+ checked: y,
170
+ onCheckedChange: Z,
171
+ termsHref: M,
172
+ onOpenTerms: U,
173
+ disabled: i
174
+ }
175
+ ),
176
+ /* @__PURE__ */ t(I, { type: "submit", disabled: !z, loading: i, className: "w-full", children: a.createAccount }),
177
+ R && !s && /* @__PURE__ */ t(
178
+ le,
179
+ {
180
+ divided: !0,
181
+ providers: R,
182
+ onSelect: (e) => B(e, {
183
+ code: l.trim(),
184
+ name: C.trim(),
185
+ username: b.trim(),
186
+ teamName: d.trim(),
187
+ acceptedTerms: !0
188
+ }),
189
+ pending: H,
190
+ disabled: d.trim() === "" || !y || i
191
+ }
192
+ )
193
+ ] }),
194
+ T && /* @__PURE__ */ w("p", { className: "text-center text-sm text-secondary", children: [
195
+ a.haveAccount,
196
+ " ",
197
+ /* @__PURE__ */ t(I, { type: "button", variant: "link", onClick: T, children: a.signIn })
198
+ ] })
199
+ ] });
200
+ }
201
+ export {
202
+ we as SignupCard
203
+ };
204
+ //# sourceMappingURL=SignupCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignupCard.js","sources":["../../../src/components/auth/SignupCard.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type FormEvent } from \"react\";\nimport { Button } from \"../Button\";\nimport { Callout } from \"../Callout\";\nimport { Field } from \"../Field\";\nimport { Input } from \"../Input\";\nimport { PasswordInput } from \"../PasswordInput\";\nimport { PasswordRequirements, type PasswordRequirementRule } from \"../PasswordRequirements\";\nimport { emphasis, useUiStrings } from \"../../lib/i18n\";\nimport {\n SignInProviders,\n type ProviderContinuation,\n type VerifiedIdentity,\n} from \"./SignInProviders\";\nimport { TermsAcceptance, type TermsAcceptanceProps } from \"./TermsAcceptance\";\n\n/* ============================================================================\n SIGNUP CARD\n\n The body of the public closed-beta sign-up page (rendered inside\n `AuthLayout`), `AcceptInvitationCard`'s sibling for a visitor who holds a\n CODE instead of an invitation. Two steps in one card, chosen by what the\n consumer's `onValidateCode` says about the code:\n\n 1. The code. A typed code is checked when the person presses Continue (or\n Enter); a code handed in through `initialCode` (the sign-up link) is\n checked on mount and then shown read-only. A code that is not good shows\n the message `onValidateCode` rejected with, under the field.\n 2. The account form, shown once the code is good: name, username, email,\n the name of the team the sign-up creates, a password (with the\n consumer's own live rules) and the required \"I agree to the Terms of\n Use\" row, submitted as ONE `onSignup` call. A code that is reserved for\n one address (`emailLock`) fills the email and locks it. Changing the\n code hides the form again until the new one is checked.\n\n DX-5095 - the account form can end without a password:\n - `providers` + `onContinueWithProvider` add \"Continue with <provider>\"\n buttons under the form. They stay disabled until the team name is\n filled and the terms row is ticked (a provider sign-in creates the\n account too) and report what was typed (`{code, name, username,\n teamName, acceptedTerms}`). The consumer keeps that across its redirect\n and hands it back as `initialValues` (plus `initialCode`), so the person\n never re-ticks the terms or re-types after coming back.\n - `verifiedIdentity` is set once a provider has verified the person (the\n consumer's own redirect-back): the password field and provider buttons go\n away, the email is the provider's, read-only, and `onSignup` takes no\n password. The two modes are a discriminated union (like\n `ChangePasswordForm`); a screen that is in either mode renders one\n branch per mode.\n - A code reserved for one address (`emailLock`) is never overridden by the\n provider: when the verified email differs (compared case-insensitively),\n the email field shows the mismatch and the form cannot be submitted.\n\n PRESENTATIONAL ONLY: no fetch, no token handling, no notion of what a code\n is or how it is spelled (the consumer sends it to the server verbatim, which\n normalises it), and no knowledge of the password policy — same relationship\n every other component in this library has with its data.\n ========================================================================= */\n\ntype CodeState =\n | { status: \"idle\" }\n | { status: \"checking\" }\n | { status: \"valid\"; emailLock: string | null }\n | { status: \"invalid\"; message: string };\n\n/** What the account form hands over; the password mode adds `password`, the verified mode does not. */\ntype SignupAccount = {\n code: string;\n name: string;\n username: string;\n email: string;\n teamName: string;\n acceptedTerms: true;\n};\n\n/** What the person typed before a provider round trip, handed back on return (the code comes back as `initialCode`). */\nexport interface SignupInitialValues {\n name?: string;\n username?: string;\n teamName?: string;\n acceptedTerms?: boolean;\n}\n\ntype SignupCardBase = {\n /** A code already known (the sign-up link's). Checked on mount, then shown read-only while it is good. */\n initialCode?: string;\n /**\n * Checks a code. Resolves when it is usable — with the email it is reserved for, or `null` when\n * any address may use it. Rejects with an `Error` whose message is shown to the person when it is not.\n */\n onValidateCode: (code: string) => Promise<{ emailLock: string | null }>;\n /** Pure — recomputed against the current draft of the password on every render. */\n passwordRules: (password: string) => PasswordRequirementRule[];\n /** Where the Terms of Use are read, linked from the agreement row. */\n termsHref: string;\n /** Runs on that link's click; see `TermsAcceptance`. */\n onOpenTerms?: TermsAcceptanceProps[\"onOpenTerms\"];\n /** Seeds the account form (read once, on mount): what `onContinueWithProvider` reported before the redirect. */\n initialValues?: SignupInitialValues;\n loading?: boolean;\n /** A server-side error surfaced after a failed submit (username taken, rate limited, ...). */\n error?: string;\n /** Offered beneath the card for a visitor who already has an account. */\n onSignInInstead?: () => void;\n className?: string;\n};\n\nexport type SignupCardProps = SignupCardBase &\n ProviderContinuation<{ code: string; name: string; username: string; teamName: string; acceptedTerms: true }> &\n (\n | { verifiedIdentity?: undefined; onSignup: (input: SignupAccount & { password: string }) => void }\n | {\n /** Set once a provider has verified the person; replaces the password field and fills the email. */\n verifiedIdentity: VerifiedIdentity;\n onSignup: (input: SignupAccount) => void;\n }\n );\n\nexport function SignupCard(props: SignupCardProps) {\n const {\n initialCode,\n onValidateCode,\n passwordRules,\n termsHref,\n onOpenTerms,\n initialValues,\n loading = false,\n error,\n onSignInInstead,\n verifiedIdentity,\n providers,\n onContinueWithProvider,\n pendingProvider,\n className,\n } = props;\n const strings = useUiStrings().signupCard;\n const providerStrings = useUiStrings().signInProviders;\n const [code, setCode] = useState(initialCode ?? \"\");\n const [codeState, setCodeState] = useState<CodeState>(initialCode ? { status: \"checking\" } : { status: \"idle\" });\n const [name, setName] = useState(initialValues?.name ?? \"\");\n const [username, setUsername] = useState(initialValues?.username ?? \"\");\n const [email, setEmail] = useState(\"\");\n const [teamName, setTeamName] = useState(initialValues?.teamName ?? \"\");\n const [password, setPassword] = useState(\"\");\n const [acceptedTerms, setAcceptedTerms] = useState(initialValues?.acceptedTerms ?? false);\n /* Only the newest check may answer: a slow reply for a code the person has\n since changed must not unlock the form for the new one. */\n const checkSeq = useRef(0);\n\n function checkCode(candidate: string) {\n const seq = ++checkSeq.current;\n setCodeState({ status: \"checking\" });\n onValidateCode(candidate.trim()).then(\n (result) => {\n if (seq === checkSeq.current) setCodeState({ status: \"valid\", emailLock: result.emailLock });\n },\n (cause: unknown) => {\n if (seq !== checkSeq.current) return;\n setCodeState({\n status: \"invalid\",\n message: cause instanceof Error ? cause.message : strings.invalidCode,\n });\n },\n );\n }\n\n useEffect(() => {\n if (initialCode) checkCode(initialCode);\n // Runs once for the link's code; later checks are the person's own.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const valid = codeState.status === \"valid\";\n const emailLock = codeState.status === \"valid\" ? codeState.emailLock : null;\n const linkCodeLocked = valid && initialCode !== undefined && code === initialCode;\n const needsPassword = !verifiedIdentity;\n const emailValue = verifiedIdentity?.email ?? emailLock ?? email;\n const emailReadOnly = !needsPassword || emailLock !== null;\n /* DX-5095: a provider never overrides a code's reserved address; a different one blocks the form instead. */\n const emailLockConflict =\n verifiedIdentity !== undefined &&\n emailLock !== null &&\n emailLock.toLowerCase() !== verifiedIdentity.email.toLowerCase();\n const rules = passwordRules(password);\n const allRulesMet = !needsPassword || rules.every((rule) => rule.met);\n\n const canSubmit =\n valid &&\n name.trim() !== \"\" &&\n username.trim() !== \"\" &&\n emailValue.trim() !== \"\" &&\n teamName.trim() !== \"\" &&\n (!needsPassword || password !== \"\") &&\n allRulesMet &&\n !emailLockConflict &&\n acceptedTerms &&\n !loading;\n\n function handleSubmit(event: FormEvent) {\n event.preventDefault();\n if (!valid) {\n if (code.trim() !== \"\" && codeState.status !== \"checking\") checkCode(code);\n return;\n }\n if (!canSubmit) return;\n const account = {\n code: code.trim(),\n name: name.trim(),\n username: username.trim(),\n email: emailValue.trim(),\n teamName: teamName.trim(),\n acceptedTerms: true,\n } as const;\n if (props.verifiedIdentity) props.onSignup(account);\n else props.onSignup({ ...account, password });\n }\n\n return (\n <form className={`flex flex-col gap-4 ${className ?? \"\"}`} onSubmit={handleSubmit} noValidate>\n {error && <Callout tone=\"danger\" title={error} />}\n\n <Field\n label={strings.betaCode}\n description={linkCodeLocked ? strings.codeFromLink : undefined}\n error={codeState.status === \"invalid\" ? codeState.message : undefined}\n >\n <Input\n value={code}\n onChange={(event) => {\n checkSeq.current += 1;\n setCode(event.target.value);\n setCodeState({ status: \"idle\" });\n }}\n readOnly={linkCodeLocked}\n disabled={loading}\n loading={codeState.status === \"checking\"}\n autoComplete=\"off\"\n autoCapitalize=\"characters\"\n spellCheck={false}\n autoFocus={!initialCode}\n />\n </Field>\n\n {!valid && (\n <Button\n type=\"submit\"\n disabled={code.trim() === \"\" || codeState.status === \"checking\"}\n loading={codeState.status === \"checking\"}\n className=\"w-full\"\n >\n {strings.continue}\n </Button>\n )}\n\n {valid && (\n <>\n <Field label={strings.name}>\n <Input\n value={name}\n onChange={(event) => setName(event.target.value)}\n disabled={loading}\n autoComplete=\"name\"\n autoFocus\n />\n </Field>\n <Field label={strings.username}>\n <Input\n value={username}\n onChange={(event) => setUsername(event.target.value)}\n disabled={loading}\n autoComplete=\"username\"\n autoCapitalize=\"none\"\n spellCheck={false}\n />\n </Field>\n <Field\n label={strings.email}\n description={emailLock !== null ? strings.emailReserved : undefined}\n error={emailLockConflict ? strings.emailLockMismatch(emailLock) : undefined}\n >\n <Input\n type=\"email\"\n value={emailValue}\n onChange={(event) => setEmail(event.target.value)}\n readOnly={emailReadOnly}\n disabled={loading}\n autoComplete=\"email\"\n />\n </Field>\n <Field label={strings.teamName} description={strings.teamNameDescription}>\n <Input\n value={teamName}\n onChange={(event) => setTeamName(event.target.value)}\n disabled={loading}\n autoComplete=\"organization\"\n />\n </Field>\n {verifiedIdentity ? (\n <p className=\"text-sm text-secondary\">\n {providerStrings.verifiedAs(\n providerStrings.names[verifiedIdentity.provider],\n verifiedIdentity.handle,\n emphasis,\n )}\n </p>\n ) : (\n <Field label={strings.password}>\n <PasswordInput\n value={password}\n onChange={(event) => setPassword(event.target.value)}\n disabled={loading}\n autoComplete=\"new-password\"\n />\n <PasswordRequirements rules={rules} className=\"mt-2\" />\n </Field>\n )}\n <TermsAcceptance\n checked={acceptedTerms}\n onCheckedChange={setAcceptedTerms}\n termsHref={termsHref}\n onOpenTerms={onOpenTerms}\n disabled={loading}\n />\n <Button type=\"submit\" disabled={!canSubmit} loading={loading} className=\"w-full\">\n {strings.createAccount}\n </Button>\n {providers && !verifiedIdentity && (\n <SignInProviders\n divided\n providers={providers}\n onSelect={(id) =>\n onContinueWithProvider(id, {\n code: code.trim(),\n name: name.trim(),\n username: username.trim(),\n teamName: teamName.trim(),\n acceptedTerms: true,\n })\n }\n pending={pendingProvider}\n disabled={teamName.trim() === \"\" || !acceptedTerms || loading}\n />\n )}\n </>\n )}\n\n {onSignInInstead && (\n <p className=\"text-center text-sm text-secondary\">\n {strings.haveAccount}{\" \"}\n <Button type=\"button\" variant=\"link\" onClick={onSignInInstead}>\n {strings.signIn}\n </Button>\n </p>\n )}\n </form>\n );\n}\n"],"names":["SignupCard","props","initialCode","onValidateCode","passwordRules","termsHref","onOpenTerms","initialValues","loading","error","onSignInInstead","verifiedIdentity","providers","onContinueWithProvider","pendingProvider","className","strings","useUiStrings","providerStrings","code","setCode","useState","codeState","setCodeState","name","setName","username","setUsername","email","setEmail","teamName","setTeamName","password","setPassword","acceptedTerms","setAcceptedTerms","checkSeq","useRef","checkCode","candidate","seq","result","cause","useEffect","valid","emailLock","linkCodeLocked","needsPassword","emailValue","emailReadOnly","emailLockConflict","rules","allRulesMet","rule","canSubmit","handleSubmit","event","account","jsxs","jsx","Callout","Field","Input","Button","Fragment","emphasis","PasswordInput","PasswordRequirements","TermsAcceptance","SignInProviders","id"],"mappings":";;;;;;;;;;;;AAqHO,SAASA,GAAWC,GAAwB;AACjD,QAAM;AAAA,IACJ,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,OAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,IACEd,GACEe,IAAUC,IAAe,YACzBC,IAAkBD,IAAe,iBACjC,CAACE,GAAMC,CAAO,IAAIC,EAASnB,KAAe,EAAE,GAC5C,CAACoB,GAAWC,CAAY,IAAIF,EAAoBnB,IAAc,EAAE,QAAQ,WAAA,IAAe,EAAE,QAAQ,QAAQ,GACzG,CAACsB,GAAMC,CAAO,IAAIJ,EAASd,GAAe,QAAQ,EAAE,GACpD,CAACmB,GAAUC,CAAW,IAAIN,EAASd,GAAe,YAAY,EAAE,GAChE,CAACqB,GAAOC,CAAQ,IAAIR,EAAS,EAAE,GAC/B,CAACS,GAAUC,CAAW,IAAIV,EAASd,GAAe,YAAY,EAAE,GAChE,CAACyB,GAAUC,CAAW,IAAIZ,EAAS,EAAE,GACrC,CAACa,GAAeC,CAAgB,IAAId,EAASd,GAAe,iBAAiB,EAAK,GAGlF6B,IAAWC,GAAO,CAAC;AAEzB,WAASC,EAAUC,GAAmB;AACpC,UAAMC,IAAM,EAAEJ,EAAS;AACvB,IAAAb,EAAa,EAAE,QAAQ,YAAY,GACnCpB,EAAeoC,EAAU,KAAA,CAAM,EAAE;AAAA,MAC/B,CAACE,MAAW;AACV,QAAID,MAAQJ,EAAS,WAASb,EAAa,EAAE,QAAQ,SAAS,WAAWkB,EAAO,WAAW;AAAA,MAC7F;AAAA,MACA,CAACC,MAAmB;AAClB,QAAIF,MAAQJ,EAAS,WACrBb,EAAa;AAAA,UACX,QAAQ;AAAA,UACR,SAASmB,aAAiB,QAAQA,EAAM,UAAU1B,EAAQ;AAAA,QAAA,CAC3D;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ;AAEA,EAAA2B,GAAU,MAAM;AACd,IAAIzC,OAAuBA,CAAW;AAAA,EAGxC,GAAG,CAAA,CAAE;AAEL,QAAM0C,IAAQtB,EAAU,WAAW,SAC7BuB,IAAYvB,EAAU,WAAW,UAAUA,EAAU,YAAY,MACjEwB,IAAiBF,KAAS1C,MAAgB,UAAaiB,MAASjB,GAChE6C,IAAgB,CAACpC,GACjBqC,IAAarC,GAAkB,SAASkC,KAAajB,GACrDqB,IAAgB,CAACF,KAAiBF,MAAc,MAEhDK,IACJvC,MAAqB,UACrBkC,MAAc,QACdA,EAAU,YAAA,MAAkBlC,EAAiB,MAAM,YAAA,GAC/CwC,IAAQ/C,EAAc4B,CAAQ,GAC9BoB,KAAc,CAACL,KAAiBI,EAAM,MAAM,CAACE,MAASA,EAAK,GAAG,GAE9DC,IACJV,KACApB,EAAK,KAAA,MAAW,MAChBE,EAAS,KAAA,MAAW,MACpBsB,EAAW,KAAA,MAAW,MACtBlB,EAAS,KAAA,MAAW,OACnB,CAACiB,KAAiBf,MAAa,OAChCoB,MACA,CAACF,KACDhB,KACA,CAAC1B;AAEH,WAAS+C,GAAaC,GAAkB;AAEtC,QADAA,EAAM,eAAA,GACF,CAACZ,GAAO;AACV,MAAIzB,EAAK,WAAW,MAAMG,EAAU,WAAW,gBAAsBH,CAAI;AACzE;AAAA,IACF;AACA,QAAI,CAACmC,EAAW;AAChB,UAAMG,IAAU;AAAA,MACd,MAAMtC,EAAK,KAAA;AAAA,MACX,MAAMK,EAAK,KAAA;AAAA,MACX,UAAUE,EAAS,KAAA;AAAA,MACnB,OAAOsB,EAAW,KAAA;AAAA,MAClB,UAAUlB,EAAS,KAAA;AAAA,MACnB,eAAe;AAAA,IAAA;AAEjB,IAAI7B,EAAM,mBAAkBA,EAAM,SAASwD,CAAO,MACvC,SAAS,EAAE,GAAGA,GAAS,UAAAzB,GAAU;AAAA,EAC9C;AAEA,SACE,gBAAA0B,EAAC,QAAA,EAAK,WAAW,uBAAuB3C,KAAa,EAAE,IAAI,UAAUwC,IAAc,YAAU,IAC1F,UAAA;AAAA,IAAA9C,KAAS,gBAAAkD,EAACC,IAAA,EAAQ,MAAK,UAAS,OAAOnD,GAAO;AAAA,IAE/C,gBAAAkD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,OAAO7C,EAAQ;AAAA,QACf,aAAa8B,IAAiB9B,EAAQ,eAAe;AAAA,QACrD,OAAOM,EAAU,WAAW,YAAYA,EAAU,UAAU;AAAA,QAE5D,UAAA,gBAAAqC;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAO3C;AAAA,YACP,UAAU,CAACqC,MAAU;AACnB,cAAApB,EAAS,WAAW,GACpBhB,EAAQoC,EAAM,OAAO,KAAK,GAC1BjC,EAAa,EAAE,QAAQ,QAAQ;AAAA,YACjC;AAAA,YACA,UAAUuB;AAAA,YACV,UAAUtC;AAAA,YACV,SAASc,EAAU,WAAW;AAAA,YAC9B,cAAa;AAAA,YACb,gBAAe;AAAA,YACf,YAAY;AAAA,YACZ,WAAW,CAACpB;AAAA,UAAA;AAAA,QAAA;AAAA,MACd;AAAA,IAAA;AAAA,IAGD,CAAC0C,KACA,gBAAAe;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU5C,EAAK,KAAA,MAAW,MAAMG,EAAU,WAAW;AAAA,QACrD,SAASA,EAAU,WAAW;AAAA,QAC9B,WAAU;AAAA,QAET,UAAAN,EAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAIZ4B,KACC,gBAAAc,EAAAM,IAAA,EACE,UAAA;AAAA,MAAA,gBAAAL,EAACE,GAAA,EAAM,OAAO7C,EAAQ,MACpB,UAAA,gBAAA2C;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOtC;AAAA,UACP,UAAU,CAACgC,MAAU/B,EAAQ+B,EAAM,OAAO,KAAK;AAAA,UAC/C,UAAUhD;AAAA,UACV,cAAa;AAAA,UACb,WAAS;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,MACA,gBAAAmD,EAACE,GAAA,EAAM,OAAO7C,EAAQ,UACpB,UAAA,gBAAA2C;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOpC;AAAA,UACP,UAAU,CAAC8B,MAAU7B,EAAY6B,EAAM,OAAO,KAAK;AAAA,UACnD,UAAUhD;AAAA,UACV,cAAa;AAAA,UACb,gBAAe;AAAA,UACf,YAAY;AAAA,QAAA;AAAA,MAAA,GAEhB;AAAA,MACA,gBAAAmD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAO7C,EAAQ;AAAA,UACf,aAAa6B,MAAc,OAAO7B,EAAQ,gBAAgB;AAAA,UAC1D,OAAOkC,IAAoBlC,EAAQ,kBAAkB6B,CAAS,IAAI;AAAA,UAElE,UAAA,gBAAAc;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAOd;AAAA,cACP,UAAU,CAACQ,MAAU3B,EAAS2B,EAAM,OAAO,KAAK;AAAA,cAChD,UAAUP;AAAA,cACV,UAAUzC;AAAA,cACV,cAAa;AAAA,YAAA;AAAA,UAAA;AAAA,QACf;AAAA,MAAA;AAAA,wBAEDqD,GAAA,EAAM,OAAO7C,EAAQ,UAAU,aAAaA,EAAQ,qBACnD,UAAA,gBAAA2C;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOhC;AAAA,UACP,UAAU,CAAC0B,MAAUzB,EAAYyB,EAAM,OAAO,KAAK;AAAA,UACnD,UAAUhD;AAAA,UACV,cAAa;AAAA,QAAA;AAAA,MAAA,GAEjB;AAAA,MACCG,IACC,gBAAAgD,EAAC,KAAA,EAAE,WAAU,0BACV,UAAAzC,EAAgB;AAAA,QACfA,EAAgB,MAAMP,EAAiB,QAAQ;AAAA,QAC/CA,EAAiB;AAAA,QACjBsD;AAAA,MAAA,GAEJ,IAEA,gBAAAP,EAACG,GAAA,EAAM,OAAO7C,EAAQ,UACpB,UAAA;AAAA,QAAA,gBAAA2C;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,OAAOlC;AAAA,YACP,UAAU,CAACwB,MAAUvB,EAAYuB,EAAM,OAAO,KAAK;AAAA,YACnD,UAAUhD;AAAA,YACV,cAAa;AAAA,UAAA;AAAA,QAAA;AAAA,QAEf,gBAAAmD,EAACQ,IAAA,EAAqB,OAAAhB,GAAc,WAAU,OAAA,CAAO;AAAA,MAAA,GACvD;AAAA,MAEF,gBAAAQ;AAAA,QAACS;AAAA,QAAA;AAAA,UACC,SAASlC;AAAA,UACT,iBAAiBC;AAAA,UACjB,WAAA9B;AAAA,UACA,aAAAC;AAAA,UACA,UAAUE;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZ,gBAAAmD,EAACI,GAAA,EAAO,MAAK,UAAS,UAAU,CAACT,GAAW,SAAA9C,GAAkB,WAAU,UACrE,UAAAQ,EAAQ,cAAA,CACX;AAAA,MACCJ,KAAa,CAACD,KACb,gBAAAgD;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,SAAO;AAAA,UACP,WAAAzD;AAAA,UACA,UAAU,CAAC0D,MACTzD,EAAuByD,GAAI;AAAA,YACzB,MAAMnD,EAAK,KAAA;AAAA,YACX,MAAMK,EAAK,KAAA;AAAA,YACX,UAAUE,EAAS,KAAA;AAAA,YACnB,UAAUI,EAAS,KAAA;AAAA,YACnB,eAAe;AAAA,UAAA,CAChB;AAAA,UAEH,SAAShB;AAAA,UACT,UAAUgB,EAAS,KAAA,MAAW,MAAM,CAACI,KAAiB1B;AAAA,QAAA;AAAA,MAAA;AAAA,IACxD,GAEJ;AAAA,IAGDE,KACC,gBAAAgD,EAAC,KAAA,EAAE,WAAU,sCACV,UAAA;AAAA,MAAA1C,EAAQ;AAAA,MAAa;AAAA,MACtB,gBAAA2C,EAACI,KAAO,MAAK,UAAS,SAAQ,QAAO,SAASrD,GAC3C,UAAAM,EAAQ,OAAA,CACX;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -0,0 +1,43 @@
1
+ import { jsx as r, jsxs as m, Fragment as s } from "react/jsx-runtime";
2
+ import { CheckboxField as f } from "../Choice.js";
3
+ import { useUiStrings as d } from "../../lib/i18n/provider.js";
4
+ function h({
5
+ checked: n,
6
+ onCheckedChange: t,
7
+ termsHref: o,
8
+ onOpenTerms: i,
9
+ disabled: c,
10
+ error: l,
11
+ className: a
12
+ }) {
13
+ const { agreement: e } = d().termsAcceptance;
14
+ return /* @__PURE__ */ r(
15
+ f,
16
+ {
17
+ checked: n,
18
+ onCheckedChange: t,
19
+ disabled: c,
20
+ error: l,
21
+ fieldClassName: a,
22
+ label: /* @__PURE__ */ m(s, { children: [
23
+ e.before,
24
+ /* @__PURE__ */ r(
25
+ "a",
26
+ {
27
+ href: o,
28
+ target: "_blank",
29
+ rel: "noopener noreferrer",
30
+ onClick: i,
31
+ className: "font-medium text-accent-text underline underline-offset-4 hover:no-underline",
32
+ children: e.link
33
+ }
34
+ ),
35
+ e.after
36
+ ] })
37
+ }
38
+ );
39
+ }
40
+ export {
41
+ h as TermsAcceptance
42
+ };
43
+ //# sourceMappingURL=TermsAcceptance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TermsAcceptance.js","sources":["../../../src/components/auth/TermsAcceptance.tsx"],"sourcesContent":["import type { MouseEvent, ReactNode } from \"react\";\nimport { CheckboxField } from \"../Choice\";\nimport { useUiStrings } from \"../../lib/i18n\";\n\n/* ============================================================================\n TERMS ACCEPTANCE — the required \"I agree\" row. DX-4023.\n\n A person agrees to the Terms of Use by ticking a box they can see, beside a\n link to the words they are agreeing to. This is that row and nothing more:\n it holds no state (the consumer owns `checked`, because the form it sits in\n decides what an unticked box blocks) and knows nothing about which version\n of the terms is current or how an acceptance is recorded.\n\n THE LINK OPENS IN A NEW TAB. The row sits inside a half-filled form (an\n invitation's name, username, password); a same-tab navigation to the terms\n would throw that away. A single-page app that would rather open the terms in\n its own router passes `onOpenTerms` and suppresses the browser's jump there.\n ========================================================================= */\n\nexport interface TermsAcceptanceProps {\n checked: boolean;\n onCheckedChange: (checked: boolean) => void;\n /** Where the Terms of Use are read. Opens in a new tab so a half-filled form is not lost. */\n termsHref: string;\n /** Runs on the link's click. Call `event.preventDefault()` to open the terms in the app's own router. */\n onOpenTerms?: (event: MouseEvent<HTMLAnchorElement>) => void;\n disabled?: boolean;\n /** A message that marks the row invalid, e.g. \"You must accept the Terms of Use to continue\". */\n error?: ReactNode;\n className?: string;\n}\n\nexport function TermsAcceptance({\n checked,\n onCheckedChange,\n termsHref,\n onOpenTerms,\n disabled,\n error,\n className,\n}: TermsAcceptanceProps) {\n const { agreement } = useUiStrings().termsAcceptance;\n return (\n <CheckboxField\n checked={checked}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n error={error}\n fieldClassName={className}\n label={\n <>\n {agreement.before}\n <a\n href={termsHref}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={onOpenTerms}\n className=\"font-medium text-accent-text underline underline-offset-4 hover:no-underline\"\n >\n {agreement.link}\n </a>\n {agreement.after}\n </>\n }\n />\n );\n}\n"],"names":["TermsAcceptance","checked","onCheckedChange","termsHref","onOpenTerms","disabled","error","className","agreement","useUiStrings","jsx","CheckboxField","jsxs","Fragment"],"mappings":";;;AAgCO,SAASA,EAAgB;AAAA,EAC9B,SAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AACF,GAAyB;AACvB,QAAM,EAAE,WAAAC,EAAA,IAAcC,EAAA,EAAe;AACrC,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAV;AAAA,MACA,iBAAAC;AAAA,MACA,UAAAG;AAAA,MACA,OAAAC;AAAA,MACA,gBAAgBC;AAAA,MAChB,OACE,gBAAAK,EAAAC,GAAA,EACG,UAAA;AAAA,QAAAL,EAAU;AAAA,QACX,gBAAAE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAMP;AAAA,YACN,QAAO;AAAA,YACP,KAAI;AAAA,YACJ,SAASC;AAAA,YACT,WAAU;AAAA,YAET,UAAAI,EAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZA,EAAU;AAAA,MAAA,EAAA,CACb;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -0,0 +1,32 @@
1
+ import { createContext as e, useContext as n } from "react";
2
+ const a = e(!1);
3
+ function i() {
4
+ return n(a);
5
+ }
6
+ const t = e(null), d = e(null), u = e(null), C = t.Provider, c = d.Provider, l = u.Provider;
7
+ function B(o) {
8
+ const r = n(t);
9
+ if (!r) throw new Error(`<${o}> must be rendered inside a <Board>.`);
10
+ return r;
11
+ }
12
+ function f(o) {
13
+ const r = n(d);
14
+ if (!r) throw new Error(`<${o}> must be rendered inside a <BoardColumn>.`);
15
+ return r;
16
+ }
17
+ function x(o) {
18
+ const r = n(u);
19
+ if (!r) throw new Error(`<${o}> must be rendered inside a <BoardCard>.`);
20
+ return r;
21
+ }
22
+ export {
23
+ l as BoardCardProvider,
24
+ a as BoardCardSurfaceContext,
25
+ c as BoardColumnProvider,
26
+ C as BoardProvider,
27
+ x as useBoardCardContext,
28
+ i as useBoardCardIsDragSource,
29
+ f as useBoardColumnContext,
30
+ B as useBoardContext
31
+ };
32
+ //# sourceMappingURL=context.js.map