@50arms/ui 0.0.0-stage → 35.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +193 -2
- package/dist/components/Accordion.js +68 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/AgentWorkingSpinner.js +46 -0
- package/dist/components/AgentWorkingSpinner.js.map +1 -0
- package/dist/components/AppShell.js +228 -0
- package/dist/components/AppShell.js.map +1 -0
- package/dist/components/Attention.js +130 -0
- package/dist/components/Attention.js.map +1 -0
- package/dist/components/Avatar.js +99 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/Badge.js +143 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Board.js +292 -0
- package/dist/components/Board.js.map +1 -0
- package/dist/components/Button.js +327 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Callout.js +106 -0
- package/dist/components/Callout.js.map +1 -0
- package/dist/components/Card.js +140 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Choice.js +361 -0
- package/dist/components/Choice.js.map +1 -0
- package/dist/components/CodeEditor.js +384 -0
- package/dist/components/CodeEditor.js.map +1 -0
- package/dist/components/ColorPicker.js +174 -0
- package/dist/components/ColorPicker.js.map +1 -0
- package/dist/components/Combobox.js +212 -0
- package/dist/components/Combobox.js.map +1 -0
- package/dist/components/CommandPalette.js +163 -0
- package/dist/components/CommandPalette.js.map +1 -0
- package/dist/components/ConcentricRing.js +60 -0
- package/dist/components/ConcentricRing.js.map +1 -0
- package/dist/components/ConnectionCard.js +98 -0
- package/dist/components/ConnectionCard.js.map +1 -0
- package/dist/components/ContextItemRow.js +49 -0
- package/dist/components/ContextItemRow.js.map +1 -0
- package/dist/components/CopyValue.js +57 -0
- package/dist/components/CopyValue.js.map +1 -0
- package/dist/components/CountBadge.js +26 -0
- package/dist/components/CountBadge.js.map +1 -0
- package/dist/components/DateCalendar.js +156 -0
- package/dist/components/DateCalendar.js.map +1 -0
- package/dist/components/DateField.js +166 -0
- package/dist/components/DateField.js.map +1 -0
- package/dist/components/DatePicker.js +56 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/DateTimeText.js +19 -0
- package/dist/components/DateTimeText.js.map +1 -0
- package/dist/components/DescriptionList.js +25 -0
- package/dist/components/DescriptionList.js.map +1 -0
- package/dist/components/Dialog.js +332 -0
- package/dist/components/Dialog.js.map +1 -0
- package/dist/components/DragDrop.js +395 -0
- package/dist/components/DragDrop.js.map +1 -0
- package/dist/components/Drawer.js +100 -0
- package/dist/components/Drawer.js.map +1 -0
- package/dist/components/EditGutter.js +110 -0
- package/dist/components/EditGutter.js.map +1 -0
- package/dist/components/EmojiPicker.js +174 -0
- package/dist/components/EmojiPicker.js.map +1 -0
- package/dist/components/ErrorBoundary.js +47 -0
- package/dist/components/ErrorBoundary.js.map +1 -0
- package/dist/components/Field.js +115 -0
- package/dist/components/Field.js.map +1 -0
- package/dist/components/FileUpload.js +128 -0
- package/dist/components/FileUpload.js.map +1 -0
- package/dist/components/FilterMenu.js +256 -0
- package/dist/components/FilterMenu.js.map +1 -0
- package/dist/components/GatesSection.js +79 -0
- package/dist/components/GatesSection.js.map +1 -0
- package/dist/components/Icon.js +50 -0
- package/dist/components/Icon.js.map +1 -0
- package/dist/components/IconButton.js +59 -0
- package/dist/components/IconButton.js.map +1 -0
- package/dist/components/IconStack.js +69 -0
- package/dist/components/IconStack.js.map +1 -0
- package/dist/components/ImageUploadField.js +146 -0
- package/dist/components/ImageUploadField.js.map +1 -0
- package/dist/components/InlineEdit.js +432 -0
- package/dist/components/InlineEdit.js.map +1 -0
- package/dist/components/InlineMarkdownEdit.js +184 -0
- package/dist/components/InlineMarkdownEdit.js.map +1 -0
- package/dist/components/Input.js +156 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/LegalDocument.js +155 -0
- package/dist/components/LegalDocument.js.map +1 -0
- package/dist/components/LineDiff.js +95 -0
- package/dist/components/LineDiff.js.map +1 -0
- package/dist/components/ListHeader.js +72 -0
- package/dist/components/ListHeader.js.map +1 -0
- package/dist/components/Loading.js +111 -0
- package/dist/components/Loading.js.map +1 -0
- package/dist/components/Markdown.js +28 -0
- package/dist/components/Markdown.js.map +1 -0
- package/dist/components/MarkdownEditor.js +467 -0
- package/dist/components/MarkdownEditor.js.map +1 -0
- package/dist/components/Menu.js +185 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Navigation.js +87 -0
- package/dist/components/Navigation.js.map +1 -0
- package/dist/components/NumberInput.js +119 -0
- package/dist/components/NumberInput.js.map +1 -0
- package/dist/components/OTPInput.js +71 -0
- package/dist/components/OTPInput.js.map +1 -0
- package/dist/components/OrderedEntityManager.js +170 -0
- package/dist/components/OrderedEntityManager.js.map +1 -0
- package/dist/components/PagedWindowList.js +74 -0
- package/dist/components/PagedWindowList.js.map +1 -0
- package/dist/components/PaginationBar.js +95 -0
- package/dist/components/PaginationBar.js.map +1 -0
- package/dist/components/Panel.js +396 -0
- package/dist/components/Panel.js.map +1 -0
- package/dist/components/PasswordInput.js +32 -0
- package/dist/components/PasswordInput.js.map +1 -0
- package/dist/components/PasswordRequirements.js +25 -0
- package/dist/components/PasswordRequirements.js.map +1 -0
- package/dist/components/PatchDiff.js +96 -0
- package/dist/components/PatchDiff.js.map +1 -0
- package/dist/components/PendingVeil.js +18 -0
- package/dist/components/PendingVeil.js.map +1 -0
- package/dist/components/Popover.js +214 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/Progress.js +419 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/RatingScale.js +89 -0
- package/dist/components/RatingScale.js.map +1 -0
- package/dist/components/ReadMore.js +232 -0
- package/dist/components/ReadMore.js.map +1 -0
- package/dist/components/RecordCard.js +202 -0
- package/dist/components/RecordCard.js.map +1 -0
- package/dist/components/RelativeTime.js +29 -0
- package/dist/components/RelativeTime.js.map +1 -0
- package/dist/components/SandboxedFrame.js +135 -0
- package/dist/components/SandboxedFrame.js.map +1 -0
- package/dist/components/SearchInput.js +38 -0
- package/dist/components/SearchInput.js.map +1 -0
- package/dist/components/SecretField.js +228 -0
- package/dist/components/SecretField.js.map +1 -0
- package/dist/components/SectionNav.js +42 -0
- package/dist/components/SectionNav.js.map +1 -0
- package/dist/components/Select.js +172 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/SequenceDiagram.js +109 -0
- package/dist/components/SequenceDiagram.js.map +1 -0
- package/dist/components/SettingRow.js +124 -0
- package/dist/components/SettingRow.js.map +1 -0
- package/dist/components/SignOffRings.js +36 -0
- package/dist/components/SignOffRings.js.map +1 -0
- package/dist/components/Slider.js +353 -0
- package/dist/components/Slider.js.map +1 -0
- package/dist/components/SolutionChoice.js +89 -0
- package/dist/components/SolutionChoice.js.map +1 -0
- package/dist/components/SortMenu.js +75 -0
- package/dist/components/SortMenu.js.map +1 -0
- package/dist/components/Spinner.js +42 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/Stat.js +148 -0
- package/dist/components/Stat.js.map +1 -0
- package/dist/components/StatusSelect.js +119 -0
- package/dist/components/StatusSelect.js.map +1 -0
- package/dist/components/Surface.js +210 -0
- package/dist/components/Surface.js.map +1 -0
- package/dist/components/Table.js +300 -0
- package/dist/components/Table.js.map +1 -0
- package/dist/components/Tabs.js +288 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/ThemeMenu.js +198 -0
- package/dist/components/ThemeMenu.js.map +1 -0
- package/dist/components/Toast.js +217 -0
- package/dist/components/Toast.js.map +1 -0
- package/dist/components/Toggle.js +147 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/ToggleMatrix.js +157 -0
- package/dist/components/ToggleMatrix.js.map +1 -0
- package/dist/components/Tree.js +125 -0
- package/dist/components/Tree.js.map +1 -0
- package/dist/components/TriStateSwitch.js +111 -0
- package/dist/components/TriStateSwitch.js.map +1 -0
- package/dist/components/VideoPlayer.js +64 -0
- package/dist/components/VideoPlayer.js.map +1 -0
- package/dist/components/auth/AcceptInvitationCard.js +110 -0
- package/dist/components/auth/AcceptInvitationCard.js.map +1 -0
- package/dist/components/auth/AuthLayout.js +18 -0
- package/dist/components/auth/AuthLayout.js.map +1 -0
- package/dist/components/auth/ForgotPasswordForm.js +44 -0
- package/dist/components/auth/ForgotPasswordForm.js.map +1 -0
- package/dist/components/auth/LoginForm.js +76 -0
- package/dist/components/auth/LoginForm.js.map +1 -0
- package/dist/components/auth/ResetPasswordForm.js +69 -0
- package/dist/components/auth/ResetPasswordForm.js.map +1 -0
- package/dist/components/auth/SignInProviders.js +45 -0
- package/dist/components/auth/SignInProviders.js.map +1 -0
- package/dist/components/auth/SignupCard.js +204 -0
- package/dist/components/auth/SignupCard.js.map +1 -0
- package/dist/components/auth/TermsAcceptance.js +43 -0
- package/dist/components/auth/TermsAcceptance.js.map +1 -0
- package/dist/components/board/context.js +32 -0
- package/dist/components/board/context.js.map +1 -0
- package/dist/components/board/recipe.js +94 -0
- package/dist/components/board/recipe.js.map +1 -0
- package/dist/components/calendar/CalendarMonth.js +299 -0
- package/dist/components/calendar/CalendarMonth.js.map +1 -0
- package/dist/components/calendar/CalendarTimeGrid.js +430 -0
- package/dist/components/calendar/CalendarTimeGrid.js.map +1 -0
- package/dist/components/calendar/EventActions.js +101 -0
- package/dist/components/calendar/EventActions.js.map +1 -0
- package/dist/components/calendar/format.js +73 -0
- package/dist/components/calendar/format.js.map +1 -0
- package/dist/components/calendar/palette.js +31 -0
- package/dist/components/calendar/palette.js.map +1 -0
- package/dist/components/calendar/use-calendar-drag.js +149 -0
- package/dist/components/calendar/use-calendar-drag.js.map +1 -0
- package/dist/components/calendar/use-event-keyboard.js +87 -0
- package/dist/components/calendar/use-event-keyboard.js.map +1 -0
- package/dist/components/calendar/use-grid-navigation.js +79 -0
- package/dist/components/calendar/use-grid-navigation.js.map +1 -0
- package/dist/components/calendar/use-now.js +27 -0
- package/dist/components/calendar/use-now.js.map +1 -0
- package/dist/components/card-face/AcRingGlyph.js +39 -0
- package/dist/components/card-face/AcRingGlyph.js.map +1 -0
- package/dist/components/card-face/BoardCardAgentSlot.js +17 -0
- package/dist/components/card-face/BoardCardAgentSlot.js.map +1 -0
- package/dist/components/card-face/CardFace.js +109 -0
- package/dist/components/card-face/CardFace.js.map +1 -0
- package/dist/components/card-face/CardTypeBadge.js +17 -0
- package/dist/components/card-face/CardTypeBadge.js.map +1 -0
- package/dist/components/card-face/EffortBadge.js +11 -0
- package/dist/components/card-face/EffortBadge.js.map +1 -0
- package/dist/components/card-face/GateRingGlyph.js +31 -0
- package/dist/components/card-face/GateRingGlyph.js.map +1 -0
- package/dist/components/card-face/OverflowRow.js +70 -0
- package/dist/components/card-face/OverflowRow.js.map +1 -0
- package/dist/components/card-face/TapTip.js +32 -0
- package/dist/components/card-face/TapTip.js.map +1 -0
- package/dist/components/card-face/hit-area.js +6 -0
- package/dist/components/card-face/hit-area.js.map +1 -0
- package/dist/components/card-face/vocabulary.js +102 -0
- package/dist/components/card-face/vocabulary.js.map +1 -0
- package/dist/components/chart/BarList.js +78 -0
- package/dist/components/chart/BarList.js.map +1 -0
- package/dist/components/chart/LineChart.js +310 -0
- package/dist/components/chart/LineChart.js.map +1 -0
- package/dist/components/chart/ShareBar.js +141 -0
- package/dist/components/chart/ShareBar.js.map +1 -0
- package/dist/components/chart/TimeSeriesChart.js +305 -0
- package/dist/components/chart/TimeSeriesChart.js.map +1 -0
- package/dist/components/chart/label-metrics.js +17 -0
- package/dist/components/chart/label-metrics.js.map +1 -0
- package/dist/components/chart/line-chart-axis.js +38 -0
- package/dist/components/chart/line-chart-axis.js.map +1 -0
- package/dist/components/chart/line-chart-scale.js +132 -0
- package/dist/components/chart/line-chart-scale.js.map +1 -0
- package/dist/components/chart/line-series-style.js +22 -0
- package/dist/components/chart/line-series-style.js.map +1 -0
- package/dist/components/chart/share-bar-labels.js +14 -0
- package/dist/components/chart/share-bar-labels.js.map +1 -0
- package/dist/components/chart/shared.js +157 -0
- package/dist/components/chart/shared.js.map +1 -0
- package/dist/components/chart/time-series-scale.js +51 -0
- package/dist/components/chart/time-series-scale.js.map +1 -0
- package/dist/components/chat/Attachment.js +316 -0
- package/dist/components/chat/Attachment.js.map +1 -0
- package/dist/components/chat/Chat.js +171 -0
- package/dist/components/chat/Chat.js.map +1 -0
- package/dist/components/chat/Composer.js +274 -0
- package/dist/components/chat/Composer.js.map +1 -0
- package/dist/components/chat/ContextMeter.js +202 -0
- package/dist/components/chat/ContextMeter.js.map +1 -0
- package/dist/components/chat/EffortControl.js +116 -0
- package/dist/components/chat/EffortControl.js.map +1 -0
- package/dist/components/chat/FileCover.js +78 -0
- package/dist/components/chat/FileCover.js.map +1 -0
- package/dist/components/chat/Message.js +356 -0
- package/dist/components/chat/Message.js.map +1 -0
- package/dist/components/chat/MessageScroller.js +104 -0
- package/dist/components/chat/MessageScroller.js.map +1 -0
- package/dist/components/chat/ModelSelector.js +156 -0
- package/dist/components/chat/ModelSelector.js.map +1 -0
- package/dist/components/chat/StreamingMarkdown.js +42 -0
- package/dist/components/chat/StreamingMarkdown.js.map +1 -0
- package/dist/components/chat/download-file.js +9 -0
- package/dist/components/chat/download-file.js.map +1 -0
- package/dist/components/chat/file-icon.js +39 -0
- package/dist/components/chat/file-icon.js.map +1 -0
- package/dist/components/checklist/StatusChecklist.js +103 -0
- package/dist/components/checklist/StatusChecklist.js.map +1 -0
- package/dist/components/checklist/tally.js +29 -0
- package/dist/components/checklist/tally.js.map +1 -0
- package/dist/components/code-editor/context.js +13 -0
- package/dist/components/code-editor/context.js.map +1 -0
- package/dist/components/code-editor/editing.js +93 -0
- package/dist/components/code-editor/editing.js.map +1 -0
- package/dist/components/code-editor/highlight.js +27 -0
- package/dist/components/code-editor/highlight.js.map +1 -0
- package/dist/components/code-editor/recipe.js +75 -0
- package/dist/components/code-editor/recipe.js.map +1 -0
- package/dist/components/date-timeline/DateTimeline.js +358 -0
- package/dist/components/date-timeline/DateTimeline.js.map +1 -0
- package/dist/components/date-timeline/TimelineRow.js +100 -0
- package/dist/components/date-timeline/TimelineRow.js.map +1 -0
- package/dist/components/date-timeline/useBarDrag.js +44 -0
- package/dist/components/date-timeline/useBarDrag.js.map +1 -0
- package/dist/components/date-timeline/useMarkerDrag.js +40 -0
- package/dist/components/date-timeline/useMarkerDrag.js.map +1 -0
- package/dist/components/date-timeline/useTimelineZoom.js +44 -0
- package/dist/components/date-timeline/useTimelineZoom.js.map +1 -0
- package/dist/components/drag-drop/context.js +37 -0
- package/dist/components/drag-drop/context.js.map +1 -0
- package/dist/components/drag-drop/recipe.js +270 -0
- package/dist/components/drag-drop/recipe.js.map +1 -0
- package/dist/components/drag-drop/shift.js +157 -0
- package/dist/components/drag-drop/shift.js.map +1 -0
- package/dist/components/edit/activation.js +10 -0
- package/dist/components/edit/activation.js.map +1 -0
- package/dist/components/edit/outcome.js +47 -0
- package/dist/components/edit/outcome.js.map +1 -0
- package/dist/components/edit/use-edit-session.js +146 -0
- package/dist/components/edit/use-edit-session.js.map +1 -0
- package/dist/components/file-viewer/FileViewer.js +97 -0
- package/dist/components/file-viewer/FileViewer.js.map +1 -0
- package/dist/components/file-viewer/PageNumberJumpField.js +47 -0
- package/dist/components/file-viewer/PageNumberJumpField.js.map +1 -0
- package/dist/components/file-viewer/ViewerControls.js +122 -0
- package/dist/components/file-viewer/ViewerControls.js.map +1 -0
- package/dist/components/file-viewer/ViewerRail.js +57 -0
- package/dist/components/file-viewer/ViewerRail.js.map +1 -0
- package/dist/components/file-viewer/ViewerStage.js +112 -0
- package/dist/components/file-viewer/ViewerStage.js.map +1 -0
- package/dist/components/file-viewer/frames.js +37 -0
- package/dist/components/file-viewer/frames.js.map +1 -0
- package/dist/components/file-viewer/use-frame-cursor.js +32 -0
- package/dist/components/file-viewer/use-frame-cursor.js.map +1 -0
- package/dist/components/file-viewer/use-viewer-keys.js +50 -0
- package/dist/components/file-viewer/use-viewer-keys.js.map +1 -0
- package/dist/components/file-viewer/use-viewer-zoom.js +68 -0
- package/dist/components/file-viewer/use-viewer-zoom.js.map +1 -0
- package/dist/components/focus-web/FocusWeb.js +322 -0
- package/dist/components/focus-web/FocusWeb.js.map +1 -0
- package/dist/components/focus-web/layout.js +34 -0
- package/dist/components/focus-web/layout.js.map +1 -0
- package/dist/components/graph-explorer/GraphExplorer.js +441 -0
- package/dist/components/graph-explorer/GraphExplorer.js.map +1 -0
- package/dist/components/graph-explorer/camera-math.js +102 -0
- package/dist/components/graph-explorer/camera-math.js.map +1 -0
- package/dist/components/graph-explorer/tree-layout.js +103 -0
- package/dist/components/graph-explorer/tree-layout.js.map +1 -0
- package/dist/components/graph-explorer/use-camera.js +82 -0
- package/dist/components/graph-explorer/use-camera.js.map +1 -0
- package/dist/components/graph-explorer/viewport-gesture.js +107 -0
- package/dist/components/graph-explorer/viewport-gesture.js.map +1 -0
- package/dist/components/kanban/KanbanBoard.js +219 -0
- package/dist/components/kanban/KanbanBoard.js.map +1 -0
- package/dist/components/kanban/recipe.js +144 -0
- package/dist/components/kanban/recipe.js.map +1 -0
- package/dist/components/markdown/Affordances.js +398 -0
- package/dist/components/markdown/Affordances.js.map +1 -0
- package/dist/components/markdown/AttachmentStrip.js +128 -0
- package/dist/components/markdown/AttachmentStrip.js.map +1 -0
- package/dist/components/markdown/ImageUpload.js +45 -0
- package/dist/components/markdown/ImageUpload.js.map +1 -0
- package/dist/components/media-error.js +7 -0
- package/dist/components/media-error.js.map +1 -0
- package/dist/components/nav-sections.js +61 -0
- package/dist/components/nav-sections.js.map +1 -0
- package/dist/components/node-canvas/NodeCanvas.js +384 -0
- package/dist/components/node-canvas/NodeCanvas.js.map +1 -0
- package/dist/components/node-canvas/layout.js +237 -0
- package/dist/components/node-canvas/layout.js.map +1 -0
- package/dist/components/node-canvas/use-canvas-gestures.js +143 -0
- package/dist/components/node-canvas/use-canvas-gestures.js.map +1 -0
- package/dist/components/openapi/OpenApiViewer.js +137 -0
- package/dist/components/openapi/OpenApiViewer.js.map +1 -0
- package/dist/components/openapi/OperationCard.js +145 -0
- package/dist/components/openapi/OperationCard.js.map +1 -0
- package/dist/components/openapi/SchemaView.js +68 -0
- package/dist/components/openapi/SchemaView.js.map +1 -0
- package/dist/components/openapi/resolve.js +102 -0
- package/dist/components/openapi/resolve.js.map +1 -0
- package/dist/components/openapi/types.js +5 -0
- package/dist/components/openapi/types.js.map +1 -0
- package/dist/components/overlay-shell.js +29 -0
- package/dist/components/overlay-shell.js.map +1 -0
- package/dist/components/overlay-stack.js +27 -0
- package/dist/components/overlay-stack.js.map +1 -0
- package/dist/components/paged-window/PageBlock.js +50 -0
- package/dist/components/paged-window/PageBlock.js.map +1 -0
- package/dist/components/provenance/ConfidenceBar.js +60 -0
- package/dist/components/provenance/ConfidenceBar.js.map +1 -0
- package/dist/components/provenance/ConfidenceMeter.js +36 -0
- package/dist/components/provenance/ConfidenceMeter.js.map +1 -0
- package/dist/components/provenance/ConfidenceReadout.js +31 -0
- package/dist/components/provenance/ConfidenceReadout.js.map +1 -0
- package/dist/components/provenance/ProvenanceBadge.js +44 -0
- package/dist/components/provenance/ProvenanceBadge.js.map +1 -0
- package/dist/components/provenance/ProvenanceDetail.js +114 -0
- package/dist/components/provenance/ProvenanceDetail.js.map +1 -0
- package/dist/components/provenance/ProvenanceDisclosure.js +111 -0
- package/dist/components/provenance/ProvenanceDisclosure.js.map +1 -0
- package/dist/components/provenance/absence.js +31 -0
- package/dist/components/provenance/absence.js.map +1 -0
- package/dist/components/provenance/types.js +30 -0
- package/dist/components/provenance/types.js.map +1 -0
- package/dist/components/rbac/AccessRequestPanel.js +153 -0
- package/dist/components/rbac/AccessRequestPanel.js.map +1 -0
- package/dist/components/rbac/AccountMenu.js +118 -0
- package/dist/components/rbac/AccountMenu.js.map +1 -0
- package/dist/components/rbac/AgentKeysList.js +20 -0
- package/dist/components/rbac/AgentKeysList.js.map +1 -0
- package/dist/components/rbac/ApiKeysPanel.js +172 -0
- package/dist/components/rbac/ApiKeysPanel.js.map +1 -0
- package/dist/components/rbac/ApiKeysTable.js +169 -0
- package/dist/components/rbac/ApiKeysTable.js.map +1 -0
- package/dist/components/rbac/Brand.js +13 -0
- package/dist/components/rbac/Brand.js.map +1 -0
- package/dist/components/rbac/Can.js +18 -0
- package/dist/components/rbac/Can.js.map +1 -0
- package/dist/components/rbac/ChangePasswordForm.js +73 -0
- package/dist/components/rbac/ChangePasswordForm.js.map +1 -0
- package/dist/components/rbac/DangerZone.js +27 -0
- package/dist/components/rbac/DangerZone.js.map +1 -0
- package/dist/components/rbac/DevToolsPopover.js +140 -0
- package/dist/components/rbac/DevToolsPopover.js.map +1 -0
- package/dist/components/rbac/EndedLine.js +24 -0
- package/dist/components/rbac/EndedLine.js.map +1 -0
- package/dist/components/rbac/InvitationsList.js +148 -0
- package/dist/components/rbac/InvitationsList.js.map +1 -0
- package/dist/components/rbac/InviteMembersDialog.js +97 -0
- package/dist/components/rbac/InviteMembersDialog.js.map +1 -0
- package/dist/components/rbac/MembersPanel.js +138 -0
- package/dist/components/rbac/MembersPanel.js.map +1 -0
- package/dist/components/rbac/PermissionRequestPanel.js +141 -0
- package/dist/components/rbac/PermissionRequestPanel.js.map +1 -0
- package/dist/components/rbac/ProfileForm.js +86 -0
- package/dist/components/rbac/ProfileForm.js.map +1 -0
- package/dist/components/rbac/ProfilePage.js +58 -0
- package/dist/components/rbac/ProfilePage.js.map +1 -0
- package/dist/components/rbac/RBACProvider.js +82 -0
- package/dist/components/rbac/RBACProvider.js.map +1 -0
- package/dist/components/rbac/RoleEditorDialog.js +90 -0
- package/dist/components/rbac/RoleEditorDialog.js.map +1 -0
- package/dist/components/rbac/RoleKeyPicker.js +77 -0
- package/dist/components/rbac/RoleKeyPicker.js.map +1 -0
- package/dist/components/rbac/RolePermissionMatrix.js +37 -0
- package/dist/components/rbac/RolePermissionMatrix.js.map +1 -0
- package/dist/components/rbac/RolesPermissionsPage.js +142 -0
- package/dist/components/rbac/RolesPermissionsPage.js.map +1 -0
- package/dist/components/rbac/SessionsList.js +146 -0
- package/dist/components/rbac/SessionsList.js.map +1 -0
- package/dist/components/rbac/TeamSettingsForm.js +69 -0
- package/dist/components/rbac/TeamSettingsForm.js.map +1 -0
- package/dist/components/rbac/TeamSwitcher.js +66 -0
- package/dist/components/rbac/TeamSwitcher.js.map +1 -0
- package/dist/components/rbac/approvalPanelParts.js +130 -0
- package/dist/components/rbac/approvalPanelParts.js.map +1 -0
- package/dist/components/rbac/permissionSections.js +8 -0
- package/dist/components/rbac/permissionSections.js.map +1 -0
- package/dist/components/rbac/stagedForm.js +42 -0
- package/dist/components/rbac/stagedForm.js.map +1 -0
- package/dist/components/rbac/useStagedImage.js +21 -0
- package/dist/components/rbac/useStagedImage.js.map +1 -0
- package/dist/components/roadmap/PhaseManager.js +48 -0
- package/dist/components/roadmap/PhaseManager.js.map +1 -0
- package/dist/components/roadmap/RoadmapItemCard.js +96 -0
- package/dist/components/roadmap/RoadmapItemCard.js.map +1 -0
- package/dist/components/roadmap/RoadmapPage.js +34 -0
- package/dist/components/roadmap/RoadmapPage.js.map +1 -0
- package/dist/components/roadmap/RoadmapSwimlaneBoard.js +91 -0
- package/dist/components/roadmap/RoadmapSwimlaneBoard.js.map +1 -0
- package/dist/components/roadmap/TrackManager.js +58 -0
- package/dist/components/roadmap/TrackManager.js.map +1 -0
- package/dist/components/roadmap/UseCaseCard.js +93 -0
- package/dist/components/roadmap/UseCaseCard.js.map +1 -0
- package/dist/components/roadmap/UseCaseLedgerPage.js +98 -0
- package/dist/components/roadmap/UseCaseLedgerPage.js.map +1 -0
- package/dist/components/roadmap/chip-tones.js +9 -0
- package/dist/components/roadmap/chip-tones.js.map +1 -0
- package/dist/components/roadmap/derive.js +28 -0
- package/dist/components/roadmap/derive.js.map +1 -0
- package/dist/components/stepper/Stepper.js +276 -0
- package/dist/components/stepper/Stepper.js.map +1 -0
- package/dist/components/stepper/derive.js +53 -0
- package/dist/components/stepper/derive.js.map +1 -0
- package/dist/confidence.css +222 -0
- package/dist/fonts/bricolage-grotesque-0.woff2 +0 -0
- package/dist/fonts/bricolage-grotesque-1.woff2 +0 -0
- package/dist/fonts/bricolage-grotesque-2.woff2 +0 -0
- package/dist/fonts/figtree-0.woff2 +0 -0
- package/dist/fonts/figtree-1.woff2 +0 -0
- package/dist/fonts/figtree-2.woff2 +0 -0
- package/dist/fonts/figtree-3.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-0.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-1.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-10.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-11.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-2.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-3.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-4.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-5.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-6.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-7.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-8.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-9.woff2 +0 -0
- package/dist/fonts.css +187 -0
- package/dist/icons/data.js +233 -0
- package/dist/icons/data.js.map +1 -0
- package/dist/index.js +942 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/attention.js +75 -0
- package/dist/lib/attention.js.map +1 -0
- package/dist/lib/board/anchor.js +14 -0
- package/dist/lib/board/anchor.js.map +1 -0
- package/dist/lib/board/model.js +41 -0
- package/dist/lib/board/model.js.map +1 -0
- package/dist/lib/board/move.js +161 -0
- package/dist/lib/board/move.js.map +1 -0
- package/dist/lib/board/position.js +11 -0
- package/dist/lib/board/position.js.map +1 -0
- package/dist/lib/board/rejection.js +22 -0
- package/dist/lib/board/rejection.js.map +1 -0
- package/dist/lib/board/use-board.js +43 -0
- package/dist/lib/board/use-board.js.map +1 -0
- package/dist/lib/calendar/band-packer.js +44 -0
- package/dist/lib/calendar/band-packer.js.map +1 -0
- package/dist/lib/calendar/drag.js +74 -0
- package/dist/lib/calendar/drag.js.map +1 -0
- package/dist/lib/calendar/lane-packer.js +67 -0
- package/dist/lib/calendar/lane-packer.js.map +1 -0
- package/dist/lib/calendar/segments.js +82 -0
- package/dist/lib/calendar/segments.js.map +1 -0
- package/dist/lib/calendar/types.js +7 -0
- package/dist/lib/calendar/types.js.map +1 -0
- package/dist/lib/chart-palette.js +27 -0
- package/dist/lib/chart-palette.js.map +1 -0
- package/dist/lib/clipboard.js +30 -0
- package/dist/lib/clipboard.js.map +1 -0
- package/dist/lib/cn.js +9 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/lib/color.js +24 -0
- package/dist/lib/color.js.map +1 -0
- package/dist/lib/component-guidance.js +297 -0
- package/dist/lib/component-guidance.js.map +1 -0
- package/dist/lib/confidence.js +22 -0
- package/dist/lib/confidence.js.map +1 -0
- package/dist/lib/date-timeline/scale.js +197 -0
- package/dist/lib/date-timeline/scale.js.map +1 -0
- package/dist/lib/design-frame/document.js +44 -0
- package/dist/lib/design-frame/document.js.map +1 -0
- package/dist/lib/design-frame/mini-app-script.js +107 -0
- package/dist/lib/design-frame/mini-app-script.js.map +1 -0
- package/dist/lib/design-frame/mini-app.js +12 -0
- package/dist/lib/design-frame/mini-app.js.map +1 -0
- package/dist/lib/design-frame/protocol.js +46 -0
- package/dist/lib/design-frame/protocol.js.map +1 -0
- package/dist/lib/dev-warn.js +17 -0
- package/dist/lib/dev-warn.js.map +1 -0
- package/dist/lib/dnd/announce.js +120 -0
- package/dist/lib/dnd/announce.js.map +1 -0
- package/dist/lib/dnd/autoscroll.js +123 -0
- package/dist/lib/dnd/autoscroll.js.map +1 -0
- package/dist/lib/dnd/cross-drop.js +11 -0
- package/dist/lib/dnd/cross-drop.js.map +1 -0
- package/dist/lib/dnd/geometry.js +99 -0
- package/dist/lib/dnd/geometry.js.map +1 -0
- package/dist/lib/dnd/sensors/gesture.js +86 -0
- package/dist/lib/dnd/sensors/gesture.js.map +1 -0
- package/dist/lib/dnd/sensors/keyboard.js +47 -0
- package/dist/lib/dnd/sensors/keyboard.js.map +1 -0
- package/dist/lib/dnd/sensors/pointer.js +32 -0
- package/dist/lib/dnd/sensors/pointer.js.map +1 -0
- package/dist/lib/dnd/session.js +256 -0
- package/dist/lib/dnd/session.js.map +1 -0
- package/dist/lib/dnd/use-drag.js +90 -0
- package/dist/lib/dnd/use-drag.js.map +1 -0
- package/dist/lib/dom/scroll-ancestor.js +18 -0
- package/dist/lib/dom/scroll-ancestor.js.map +1 -0
- package/dist/lib/format.js +23 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/group-in-order.js +13 -0
- package/dist/lib/group-in-order.js.map +1 -0
- package/dist/lib/header-fold.js +11 -0
- package/dist/lib/header-fold.js.map +1 -0
- package/dist/lib/i18n/areas/auth-provenance-flows.js +156 -0
- package/dist/lib/i18n/areas/auth-provenance-flows.js.map +1 -0
- package/dist/lib/i18n/areas/board.js +35 -0
- package/dist/lib/i18n/areas/board.js.map +1 -0
- package/dist/lib/i18n/areas/card-face.js +10 -0
- package/dist/lib/i18n/areas/card-face.js.map +1 -0
- package/dist/lib/i18n/areas/chat-chart.js +118 -0
- package/dist/lib/i18n/areas/chat-chart.js.map +1 -0
- package/dist/lib/i18n/areas/code-editor.js +24 -0
- package/dist/lib/i18n/areas/code-editor.js.map +1 -0
- package/dist/lib/i18n/areas/date-timeline.js +21 -0
- package/dist/lib/i18n/areas/date-timeline.js.map +1 -0
- package/dist/lib/i18n/areas/dates.js +71 -0
- package/dist/lib/i18n/areas/dates.js.map +1 -0
- package/dist/lib/i18n/areas/docs-views.js +183 -0
- package/dist/lib/i18n/areas/docs-views.js.map +1 -0
- package/dist/lib/i18n/areas/feedback.js +75 -0
- package/dist/lib/i18n/areas/feedback.js.map +1 -0
- package/dist/lib/i18n/areas/formats.js +24 -0
- package/dist/lib/i18n/areas/formats.js.map +1 -0
- package/dist/lib/i18n/areas/forms.js +110 -0
- package/dist/lib/i18n/areas/forms.js.map +1 -0
- package/dist/lib/i18n/areas/keys.js +25 -0
- package/dist/lib/i18n/areas/keys.js.map +1 -0
- package/dist/lib/i18n/areas/markdown.js +136 -0
- package/dist/lib/i18n/areas/markdown.js.map +1 -0
- package/dist/lib/i18n/areas/move-rejected.js +14 -0
- package/dist/lib/i18n/areas/move-rejected.js.map +1 -0
- package/dist/lib/i18n/areas/navigation.js +104 -0
- package/dist/lib/i18n/areas/navigation.js.map +1 -0
- package/dist/lib/i18n/areas/rbac.js +332 -0
- package/dist/lib/i18n/areas/rbac.js.map +1 -0
- package/dist/lib/i18n/emphasis.js +6 -0
- package/dist/lib/i18n/emphasis.js.map +1 -0
- package/dist/lib/i18n/number-format.js +9 -0
- package/dist/lib/i18n/number-format.js.map +1 -0
- package/dist/lib/i18n/plural.js +9 -0
- package/dist/lib/i18n/plural.js.map +1 -0
- package/dist/lib/i18n/provider.js +27 -0
- package/dist/lib/i18n/provider.js.map +1 -0
- package/dist/lib/i18n/strings.js +38 -0
- package/dist/lib/i18n/strings.js.map +1 -0
- package/dist/lib/icons.js +17 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/interactive-target.js +9 -0
- package/dist/lib/interactive-target.js.map +1 -0
- package/dist/lib/intl-cache.js +69 -0
- package/dist/lib/intl-cache.js.map +1 -0
- package/dist/lib/legal-document.js +37 -0
- package/dist/lib/legal-document.js.map +1 -0
- package/dist/lib/line-diff-model.js +51 -0
- package/dist/lib/line-diff-model.js.map +1 -0
- package/dist/lib/markdown/attachments.js +71 -0
- package/dist/lib/markdown/attachments.js.map +1 -0
- package/dist/lib/markdown/caret-map.js +153 -0
- package/dist/lib/markdown/caret-map.js.map +1 -0
- package/dist/lib/markdown/caret.js +35 -0
- package/dist/lib/markdown/caret.js.map +1 -0
- package/dist/lib/markdown/commands.js +443 -0
- package/dist/lib/markdown/commands.js.map +1 -0
- package/dist/lib/markdown/convert.js +153 -0
- package/dist/lib/markdown/convert.js.map +1 -0
- package/dist/lib/markdown/dom.js +89 -0
- package/dist/lib/markdown/dom.js.map +1 -0
- package/dist/lib/markdown/edit.js +92 -0
- package/dist/lib/markdown/edit.js.map +1 -0
- package/dist/lib/markdown/history.js +79 -0
- package/dist/lib/markdown/history.js.map +1 -0
- package/dist/lib/markdown/hotkeys.js +63 -0
- package/dist/lib/markdown/hotkeys.js.map +1 -0
- package/dist/lib/markdown/image-pipeline.js +236 -0
- package/dist/lib/markdown/image-pipeline.js.map +1 -0
- package/dist/lib/markdown/images.js +85 -0
- package/dist/lib/markdown/images.js.map +1 -0
- package/dist/lib/markdown/input.js +210 -0
- package/dist/lib/markdown/input.js.map +1 -0
- package/dist/lib/markdown/keys.js +37 -0
- package/dist/lib/markdown/keys.js.map +1 -0
- package/dist/lib/markdown/paste.js +180 -0
- package/dist/lib/markdown/paste.js.map +1 -0
- package/dist/lib/markdown/position.js +111 -0
- package/dist/lib/markdown/position.js.map +1 -0
- package/dist/lib/markdown/project.js +108 -0
- package/dist/lib/markdown/project.js.map +1 -0
- package/dist/lib/markdown/reconcile.js +127 -0
- package/dist/lib/markdown/reconcile.js.map +1 -0
- package/dist/lib/markdown/surface.js +373 -0
- package/dist/lib/markdown/surface.js.map +1 -0
- package/dist/lib/motion.js +22 -0
- package/dist/lib/motion.js.map +1 -0
- package/dist/lib/pad.js +7 -0
- package/dist/lib/pad.js.map +1 -0
- package/dist/lib/paged-window/layout.js +15 -0
- package/dist/lib/paged-window/layout.js.map +1 -0
- package/dist/lib/paged-window/list-owner.js +21 -0
- package/dist/lib/paged-window/list-owner.js.map +1 -0
- package/dist/lib/paged-window/records-binding.js +239 -0
- package/dist/lib/paged-window/records-binding.js.map +1 -0
- package/dist/lib/paged-window/store.js +562 -0
- package/dist/lib/paged-window/store.js.map +1 -0
- package/dist/lib/paged-window/use-measured-pitch.js +38 -0
- package/dist/lib/paged-window/use-measured-pitch.js.map +1 -0
- package/dist/lib/paged-window/use-page-visibility.js +36 -0
- package/dist/lib/paged-window/use-page-visibility.js.map +1 -0
- package/dist/lib/paged-window/use-paged-window.js +43 -0
- package/dist/lib/paged-window/use-paged-window.js.map +1 -0
- package/dist/lib/paged-window/use-scroll-root.js +12 -0
- package/dist/lib/paged-window/use-scroll-root.js.map +1 -0
- package/dist/lib/persist.js +84 -0
- package/dist/lib/persist.js.map +1 -0
- package/dist/lib/preference-values.js +13 -0
- package/dist/lib/preference-values.js.map +1 -0
- package/dist/lib/preferences.js +86 -0
- package/dist/lib/preferences.js.map +1 -0
- package/dist/lib/reads/hooks.js +156 -0
- package/dist/lib/reads/hooks.js.map +1 -0
- package/dist/lib/reads/optimistic.js +169 -0
- package/dist/lib/reads/optimistic.js.map +1 -0
- package/dist/lib/reads/refetch.js +108 -0
- package/dist/lib/reads/refetch.js.map +1 -0
- package/dist/lib/reads/slots.js +215 -0
- package/dist/lib/reads/slots.js.map +1 -0
- package/dist/lib/realtime/hooks.js +40 -0
- package/dist/lib/realtime/hooks.js.map +1 -0
- package/dist/lib/realtime/provider.js +25 -0
- package/dist/lib/realtime/provider.js.map +1 -0
- package/dist/lib/realtime/registry.js +472 -0
- package/dist/lib/realtime/registry.js.map +1 -0
- package/dist/lib/records/define-record-type.js +33 -0
- package/dist/lib/records/define-record-type.js.map +1 -0
- package/dist/lib/records/hooks.js +39 -0
- package/dist/lib/records/hooks.js.map +1 -0
- package/dist/lib/records/store.js +572 -0
- package/dist/lib/records/store.js.map +1 -0
- package/dist/lib/records/wire.js +58 -0
- package/dist/lib/records/wire.js.map +1 -0
- package/dist/lib/reduced-motion-help.js +19 -0
- package/dist/lib/reduced-motion-help.js.map +1 -0
- package/dist/lib/scroll-caret.js +18 -0
- package/dist/lib/scroll-caret.js.map +1 -0
- package/dist/lib/sim/createSimStore.js +54 -0
- package/dist/lib/sim/createSimStore.js.map +1 -0
- package/dist/lib/sim/latency.js +28 -0
- package/dist/lib/sim/latency.js.map +1 -0
- package/dist/lib/sim/registry.js +13 -0
- package/dist/lib/sim/registry.js.map +1 -0
- package/dist/lib/sim/settings.js +41 -0
- package/dist/lib/sim/settings.js.map +1 -0
- package/dist/lib/submit-shortcut.js +25 -0
- package/dist/lib/submit-shortcut.js.map +1 -0
- package/dist/lib/syntax/index.js +33 -0
- package/dist/lib/syntax/index.js.map +1 -0
- package/dist/lib/syntax/languages/bash.js +77 -0
- package/dist/lib/syntax/languages/bash.js.map +1 -0
- package/dist/lib/syntax/languages/css.js +81 -0
- package/dist/lib/syntax/languages/css.js.map +1 -0
- package/dist/lib/syntax/languages/html.js +91 -0
- package/dist/lib/syntax/languages/html.js.map +1 -0
- package/dist/lib/syntax/languages/index.js +49 -0
- package/dist/lib/syntax/languages/index.js.map +1 -0
- package/dist/lib/syntax/languages/javascript.js +133 -0
- package/dist/lib/syntax/languages/javascript.js.map +1 -0
- package/dist/lib/syntax/languages/json.js +45 -0
- package/dist/lib/syntax/languages/json.js.map +1 -0
- package/dist/lib/syntax/languages/mongodb.js +24 -0
- package/dist/lib/syntax/languages/mongodb.js.map +1 -0
- package/dist/lib/syntax/languages/plain.js +10 -0
- package/dist/lib/syntax/languages/plain.js.map +1 -0
- package/dist/lib/syntax/languages/sql.js +113 -0
- package/dist/lib/syntax/languages/sql.js.map +1 -0
- package/dist/lib/syntax/languages/vue.js +31 -0
- package/dist/lib/syntax/languages/vue.js.map +1 -0
- package/dist/lib/syntax/languages/yaml.js +55 -0
- package/dist/lib/syntax/languages/yaml.js.map +1 -0
- package/dist/lib/syntax/markdown/grammar.js +52 -0
- package/dist/lib/syntax/markdown/grammar.js.map +1 -0
- package/dist/lib/syntax/markdown/inline.js +477 -0
- package/dist/lib/syntax/markdown/inline.js.map +1 -0
- package/dist/lib/syntax/markdown/parse.js +464 -0
- package/dist/lib/syntax/markdown/parse.js.map +1 -0
- package/dist/lib/syntax/markdown/refs.js +94 -0
- package/dist/lib/syntax/markdown/refs.js.map +1 -0
- package/dist/lib/syntax/markdown/render.js +230 -0
- package/dist/lib/syntax/markdown/render.js.map +1 -0
- package/dist/lib/syntax/markdown/spans.js +40 -0
- package/dist/lib/syntax/markdown/spans.js.map +1 -0
- package/dist/lib/syntax/registry.js +55 -0
- package/dist/lib/syntax/registry.js.map +1 -0
- package/dist/lib/syntax/tokenize.js +96 -0
- package/dist/lib/syntax/tokenize.js.map +1 -0
- package/dist/lib/time/instant.js +7 -0
- package/dist/lib/time/instant.js.map +1 -0
- package/dist/lib/time/plain.js +83 -0
- package/dist/lib/time/plain.js.map +1 -0
- package/dist/lib/time/relativeAge.js +20 -0
- package/dist/lib/time/relativeAge.js.map +1 -0
- package/dist/lib/time/relativeClock.js +59 -0
- package/dist/lib/time/relativeClock.js.map +1 -0
- package/dist/lib/time/types.js +23 -0
- package/dist/lib/time/types.js.map +1 -0
- package/dist/lib/time/zone.js +148 -0
- package/dist/lib/time/zone.js.map +1 -0
- package/dist/lib/use-controllable.js +16 -0
- package/dist/lib/use-controllable.js.map +1 -0
- package/dist/lib/use-fill-height.js +49 -0
- package/dist/lib/use-fill-height.js.map +1 -0
- package/dist/lib/use-hydrated.js +14 -0
- package/dist/lib/use-hydrated.js.map +1 -0
- package/dist/lib/use-media-query.js +30 -0
- package/dist/lib/use-media-query.js.map +1 -0
- package/dist/lib/use-relabel-base-ui-dismiss.js +26 -0
- package/dist/lib/use-relabel-base-ui-dismiss.js.map +1 -0
- package/dist/lib/use-release-snap-drag.js +29 -0
- package/dist/lib/use-release-snap-drag.js.map +1 -0
- package/dist/lib/use-roving-options.js +18 -0
- package/dist/lib/use-roving-options.js.map +1 -0
- package/dist/lib/values/absent.js +5 -0
- package/dist/lib/values/absent.js.map +1 -0
- package/dist/lib/values/boolean.js +13 -0
- package/dist/lib/values/boolean.js.map +1 -0
- package/dist/lib/values/currency.js +23 -0
- package/dist/lib/values/currency.js.map +1 -0
- package/dist/lib/values/date.js +35 -0
- package/dist/lib/values/date.js.map +1 -0
- package/dist/lib/values/datetime.js +54 -0
- package/dist/lib/values/datetime.js.map +1 -0
- package/dist/lib/values/locale-date.js +60 -0
- package/dist/lib/values/locale-date.js.map +1 -0
- package/dist/lib/values/number.js +16 -0
- package/dist/lib/values/number.js.map +1 -0
- package/dist/pure.js +379 -0
- package/dist/pure.js.map +1 -0
- package/dist/styles.css +190 -0
- package/dist/theme.css +360 -0
- package/dist/types/components/Accordion.d.ts +15 -0
- package/dist/types/components/AgentWorkingSpinner.d.ts +23 -0
- package/dist/types/components/AppShell.d.ts +164 -0
- package/dist/types/components/Attention.d.ts +87 -0
- package/dist/types/components/Avatar.d.ts +154 -0
- package/dist/types/components/Badge.d.ts +131 -0
- package/dist/types/components/Board.d.ts +239 -0
- package/dist/types/components/Button.d.ts +208 -0
- package/dist/types/components/Callout.d.ts +163 -0
- package/dist/types/components/Card.d.ts +219 -0
- package/dist/types/components/Choice.d.ts +127 -0
- package/dist/types/components/CodeEditor.d.ts +86 -0
- package/dist/types/components/ColorPicker.d.ts +14 -0
- package/dist/types/components/Combobox.d.ts +43 -0
- package/dist/types/components/CommandPalette.d.ts +35 -0
- package/dist/types/components/ConcentricRing.d.ts +61 -0
- package/dist/types/components/ConnectionCard.d.ts +64 -0
- package/dist/types/components/ContextItemRow.d.ts +35 -0
- package/dist/types/components/CopyValue.d.ts +14 -0
- package/dist/types/components/CountBadge.d.ts +14 -0
- package/dist/types/components/DateCalendar.d.ts +30 -0
- package/dist/types/components/DateField.d.ts +29 -0
- package/dist/types/components/DatePicker.d.ts +20 -0
- package/dist/types/components/DateTimeText.d.ts +9 -0
- package/dist/types/components/DescriptionList.d.ts +40 -0
- package/dist/types/components/Dialog.d.ts +269 -0
- package/dist/types/components/DragDrop.d.ts +196 -0
- package/dist/types/components/Drawer.d.ts +163 -0
- package/dist/types/components/EditGutter.d.ts +44 -0
- package/dist/types/components/EmojiPicker.d.ts +30 -0
- package/dist/types/components/ErrorBoundary.d.ts +43 -0
- package/dist/types/components/Field.d.ts +37 -0
- package/dist/types/components/FileUpload.d.ts +22 -0
- package/dist/types/components/FilterMenu.d.ts +120 -0
- package/dist/types/components/GatesSection.d.ts +79 -0
- package/dist/types/components/Icon.d.ts +40 -0
- package/dist/types/components/IconButton.d.ts +69 -0
- package/dist/types/components/IconStack.d.ts +28 -0
- package/dist/types/components/ImageUploadField.d.ts +38 -0
- package/dist/types/components/InlineEdit.d.ts +183 -0
- package/dist/types/components/InlineMarkdownEdit.d.ts +100 -0
- package/dist/types/components/Input.d.ts +128 -0
- package/dist/types/components/LegalDocument.d.ts +23 -0
- package/dist/types/components/LineDiff.d.ts +53 -0
- package/dist/types/components/ListHeader.d.ts +45 -0
- package/dist/types/components/Loading.d.ts +131 -0
- package/dist/types/components/Markdown.d.ts +35 -0
- package/dist/types/components/MarkdownEditor.d.ts +129 -0
- package/dist/types/components/Menu.d.ts +157 -0
- package/dist/types/components/Navigation.d.ts +67 -0
- package/dist/types/components/NumberInput.d.ts +177 -0
- package/dist/types/components/OTPInput.d.ts +13 -0
- package/dist/types/components/OrderedEntityManager.d.ts +64 -0
- package/dist/types/components/PagedWindowList.d.ts +23 -0
- package/dist/types/components/PaginationBar.d.ts +31 -0
- package/dist/types/components/Panel.d.ts +94 -0
- package/dist/types/components/PasswordInput.d.ts +7 -0
- package/dist/types/components/PasswordRequirements.d.ts +11 -0
- package/dist/types/components/PatchDiff.d.ts +38 -0
- package/dist/types/components/PendingVeil.d.ts +8 -0
- package/dist/types/components/Popover.d.ts +231 -0
- package/dist/types/components/Progress.d.ts +580 -0
- package/dist/types/components/RatingScale.d.ts +30 -0
- package/dist/types/components/ReadMore.d.ts +26 -0
- package/dist/types/components/RecordCard.d.ts +413 -0
- package/dist/types/components/RelativeTime.d.ts +17 -0
- package/dist/types/components/SandboxedFrame.d.ts +37 -0
- package/dist/types/components/SearchInput.d.ts +6 -0
- package/dist/types/components/SecretField.d.ts +90 -0
- package/dist/types/components/SectionNav.d.ts +15 -0
- package/dist/types/components/Select.d.ts +53 -0
- package/dist/types/components/SequenceDiagram.d.ts +15 -0
- package/dist/types/components/SettingRow.d.ts +144 -0
- package/dist/types/components/SignOffRings.d.ts +29 -0
- package/dist/types/components/Slider.d.ts +255 -0
- package/dist/types/components/SolutionChoice.d.ts +49 -0
- package/dist/types/components/SortMenu.d.ts +45 -0
- package/dist/types/components/Spinner.d.ts +29 -0
- package/dist/types/components/Stat.d.ts +136 -0
- package/dist/types/components/StatusSelect.d.ts +93 -0
- package/dist/types/components/Surface.d.ts +145 -0
- package/dist/types/components/Table.d.ts +164 -0
- package/dist/types/components/Tabs.d.ts +142 -0
- package/dist/types/components/ThemeMenu.d.ts +56 -0
- package/dist/types/components/Toast.d.ts +63 -0
- package/dist/types/components/Toggle.d.ts +168 -0
- package/dist/types/components/ToggleMatrix.d.ts +51 -0
- package/dist/types/components/Tree.d.ts +20 -0
- package/dist/types/components/TriStateSwitch.d.ts +63 -0
- package/dist/types/components/VideoPlayer.d.ts +26 -0
- package/dist/types/components/auth/AcceptInvitationCard.d.ts +54 -0
- package/dist/types/components/auth/AuthLayout.d.ts +12 -0
- package/dist/types/components/auth/ForgotPasswordForm.d.ts +6 -0
- package/dist/types/components/auth/LoginForm.d.ts +13 -0
- package/dist/types/components/auth/ResetPasswordForm.d.ts +9 -0
- package/dist/types/components/auth/SignInProviders.d.ts +56 -0
- package/dist/types/components/auth/SignupCard.d.ts +62 -0
- package/dist/types/components/auth/TermsAcceptance.d.ts +14 -0
- package/dist/types/components/auth/index.d.ts +8 -0
- package/dist/types/components/board/context.d.ts +65 -0
- package/dist/types/components/board/recipe.d.ts +97 -0
- package/dist/types/components/calendar/CalendarMonth.d.ts +32 -0
- package/dist/types/components/calendar/CalendarTimeGrid.d.ts +74 -0
- package/dist/types/components/calendar/EventActions.d.ts +16 -0
- package/dist/types/components/calendar/format.d.ts +42 -0
- package/dist/types/components/calendar/palette.d.ts +17 -0
- package/dist/types/components/calendar/use-calendar-drag.d.ts +53 -0
- package/dist/types/components/calendar/use-event-keyboard.d.ts +23 -0
- package/dist/types/components/calendar/use-grid-navigation.d.ts +47 -0
- package/dist/types/components/calendar/use-now.d.ts +20 -0
- package/dist/types/components/card-face/AcRingGlyph.d.ts +20 -0
- package/dist/types/components/card-face/BoardCardAgentSlot.d.ts +19 -0
- package/dist/types/components/card-face/CardFace.d.ts +106 -0
- package/dist/types/components/card-face/CardTypeBadge.d.ts +21 -0
- package/dist/types/components/card-face/EffortBadge.d.ts +9 -0
- package/dist/types/components/card-face/GateRingGlyph.d.ts +22 -0
- package/dist/types/components/card-face/OverflowRow.d.ts +40 -0
- package/dist/types/components/card-face/TapTip.d.ts +15 -0
- package/dist/types/components/card-face/hit-area.d.ts +20 -0
- package/dist/types/components/card-face/vocabulary.d.ts +83 -0
- package/dist/types/components/chart/BarList.d.ts +27 -0
- package/dist/types/components/chart/LineChart.d.ts +64 -0
- package/dist/types/components/chart/ShareBar.d.ts +26 -0
- package/dist/types/components/chart/TimeSeriesChart.d.ts +60 -0
- package/dist/types/components/chart/label-metrics.d.ts +9 -0
- package/dist/types/components/chart/line-chart-axis.d.ts +14 -0
- package/dist/types/components/chart/line-chart-scale.d.ts +55 -0
- package/dist/types/components/chart/line-series-style.d.ts +14 -0
- package/dist/types/components/chart/share-bar-labels.d.ts +17 -0
- package/dist/types/components/chart/shared.d.ts +122 -0
- package/dist/types/components/chart/time-series-scale.d.ts +29 -0
- package/dist/types/components/chat/Attachment.d.ts +125 -0
- package/dist/types/components/chat/Chat.d.ts +60 -0
- package/dist/types/components/chat/Composer.d.ts +62 -0
- package/dist/types/components/chat/ContextMeter.d.ts +45 -0
- package/dist/types/components/chat/EffortControl.d.ts +23 -0
- package/dist/types/components/chat/FileCover.d.ts +14 -0
- package/dist/types/components/chat/Message.d.ts +66 -0
- package/dist/types/components/chat/MessageScroller.d.ts +18 -0
- package/dist/types/components/chat/ModelSelector.d.ts +44 -0
- package/dist/types/components/chat/StreamingMarkdown.d.ts +11 -0
- package/dist/types/components/chat/download-file.d.ts +7 -0
- package/dist/types/components/chat/file-icon.d.ts +29 -0
- package/dist/types/components/chat/types.d.ts +165 -0
- package/dist/types/components/checklist/StatusChecklist.d.ts +37 -0
- package/dist/types/components/checklist/index.d.ts +3 -0
- package/dist/types/components/checklist/tally.d.ts +19 -0
- package/dist/types/components/checklist/types.d.ts +28 -0
- package/dist/types/components/code-editor/context.d.ts +32 -0
- package/dist/types/components/code-editor/editing.d.ts +39 -0
- package/dist/types/components/code-editor/highlight.d.ts +20 -0
- package/dist/types/components/code-editor/recipe.d.ts +109 -0
- package/dist/types/components/date-timeline/DateTimeline.d.ts +99 -0
- package/dist/types/components/date-timeline/TimelineRow.d.ts +22 -0
- package/dist/types/components/date-timeline/useBarDrag.d.ts +15 -0
- package/dist/types/components/date-timeline/useMarkerDrag.d.ts +14 -0
- package/dist/types/components/date-timeline/useTimelineZoom.d.ts +23 -0
- package/dist/types/components/drag-drop/context.d.ts +85 -0
- package/dist/types/components/drag-drop/recipe.d.ts +163 -0
- package/dist/types/components/drag-drop/shift.d.ts +153 -0
- package/dist/types/components/edit/activation.d.ts +21 -0
- package/dist/types/components/edit/outcome.d.ts +29 -0
- package/dist/types/components/edit/use-edit-session.d.ts +77 -0
- package/dist/types/components/file-viewer/FileViewer.d.ts +2 -0
- package/dist/types/components/file-viewer/PageNumberJumpField.d.ts +9 -0
- package/dist/types/components/file-viewer/ViewerControls.d.ts +20 -0
- package/dist/types/components/file-viewer/ViewerRail.d.ts +10 -0
- package/dist/types/components/file-viewer/ViewerStage.d.ts +22 -0
- package/dist/types/components/file-viewer/frames.d.ts +28 -0
- package/dist/types/components/file-viewer/index.d.ts +3 -0
- package/dist/types/components/file-viewer/types.d.ts +70 -0
- package/dist/types/components/file-viewer/use-frame-cursor.d.ts +13 -0
- package/dist/types/components/file-viewer/use-viewer-keys.d.ts +24 -0
- package/dist/types/components/file-viewer/use-viewer-zoom.d.ts +29 -0
- package/dist/types/components/focus-web/FocusWeb.d.ts +3 -0
- package/dist/types/components/focus-web/index.d.ts +4 -0
- package/dist/types/components/focus-web/layout.d.ts +55 -0
- package/dist/types/components/focus-web/types.d.ts +131 -0
- package/dist/types/components/graph-explorer/GraphExplorer.d.ts +42 -0
- package/dist/types/components/graph-explorer/camera-math.d.ts +119 -0
- package/dist/types/components/graph-explorer/index.d.ts +5 -0
- package/dist/types/components/graph-explorer/tree-layout.d.ts +67 -0
- package/dist/types/components/graph-explorer/types.d.ts +62 -0
- package/dist/types/components/graph-explorer/use-camera.d.ts +81 -0
- package/dist/types/components/graph-explorer/viewport-gesture.d.ts +32 -0
- package/dist/types/components/kanban/KanbanBoard.d.ts +72 -0
- package/dist/types/components/kanban/recipe.d.ts +73 -0
- package/dist/types/components/kanban/types.d.ts +55 -0
- package/dist/types/components/markdown/Affordances.d.ts +105 -0
- package/dist/types/components/markdown/AttachmentStrip.d.ts +25 -0
- package/dist/types/components/markdown/ImageUpload.d.ts +56 -0
- package/dist/types/components/media-error.d.ts +11 -0
- package/dist/types/components/nav-sections.d.ts +10 -0
- package/dist/types/components/node-canvas/NodeCanvas.d.ts +66 -0
- package/dist/types/components/node-canvas/index.d.ts +3 -0
- package/dist/types/components/node-canvas/layout.d.ts +29 -0
- package/dist/types/components/node-canvas/types.d.ts +207 -0
- package/dist/types/components/node-canvas/use-canvas-gestures.d.ts +39 -0
- package/dist/types/components/openapi/OpenApiViewer.d.ts +14 -0
- package/dist/types/components/openapi/OperationCard.d.ts +33 -0
- package/dist/types/components/openapi/SchemaView.d.ts +14 -0
- package/dist/types/components/openapi/index.d.ts +6 -0
- package/dist/types/components/openapi/resolve.d.ts +72 -0
- package/dist/types/components/openapi/types.d.ts +128 -0
- package/dist/types/components/overlay-shell.d.ts +48 -0
- package/dist/types/components/overlay-stack.d.ts +18 -0
- package/dist/types/components/paged-window/PageBlock.d.ts +31 -0
- package/dist/types/components/provenance/ConfidenceBar.d.ts +118 -0
- package/dist/types/components/provenance/ConfidenceMeter.d.ts +21 -0
- package/dist/types/components/provenance/ConfidenceReadout.d.ts +17 -0
- package/dist/types/components/provenance/ProvenanceBadge.d.ts +23 -0
- package/dist/types/components/provenance/ProvenanceDetail.d.ts +109 -0
- package/dist/types/components/provenance/ProvenanceDisclosure.d.ts +107 -0
- package/dist/types/components/provenance/absence.d.ts +37 -0
- package/dist/types/components/provenance/index.d.ts +7 -0
- package/dist/types/components/provenance/types.d.ts +137 -0
- package/dist/types/components/rbac/AccessRequestPanel.d.ts +92 -0
- package/dist/types/components/rbac/AccountMenu.d.ts +46 -0
- package/dist/types/components/rbac/AgentKeysList.d.ts +22 -0
- package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
- package/dist/types/components/rbac/ApiKeysTable.d.ts +65 -0
- package/dist/types/components/rbac/Brand.d.ts +8 -0
- package/dist/types/components/rbac/Can.d.ts +19 -0
- package/dist/types/components/rbac/ChangePasswordForm.d.ts +18 -0
- package/dist/types/components/rbac/DangerZone.d.ts +8 -0
- package/dist/types/components/rbac/DevToolsPopover.d.ts +36 -0
- package/dist/types/components/rbac/EndedLine.d.ts +21 -0
- package/dist/types/components/rbac/InvitationsList.d.ts +39 -0
- package/dist/types/components/rbac/InviteMembersDialog.d.ts +21 -0
- package/dist/types/components/rbac/MembersPanel.d.ts +31 -0
- package/dist/types/components/rbac/PermissionRequestPanel.d.ts +36 -0
- package/dist/types/components/rbac/ProfileForm.d.ts +27 -0
- package/dist/types/components/rbac/ProfilePage.d.ts +16 -0
- package/dist/types/components/rbac/RBACProvider.d.ts +69 -0
- package/dist/types/components/rbac/RoleEditorDialog.d.ts +28 -0
- package/dist/types/components/rbac/RoleKeyPicker.d.ts +24 -0
- package/dist/types/components/rbac/RolePermissionMatrix.d.ts +21 -0
- package/dist/types/components/rbac/RolesPermissionsPage.d.ts +24 -0
- package/dist/types/components/rbac/SessionsList.d.ts +35 -0
- package/dist/types/components/rbac/TeamSettingsForm.d.ts +22 -0
- package/dist/types/components/rbac/TeamSwitcher.d.ts +5 -0
- package/dist/types/components/rbac/approvalPanelParts.d.ts +69 -0
- package/dist/types/components/rbac/index.d.ts +25 -0
- package/dist/types/components/rbac/permissionSections.d.ts +8 -0
- package/dist/types/components/rbac/stagedForm.d.ts +25 -0
- package/dist/types/components/rbac/types.d.ts +65 -0
- package/dist/types/components/rbac/useStagedImage.d.ts +15 -0
- package/dist/types/components/roadmap/PhaseManager.d.ts +19 -0
- package/dist/types/components/roadmap/RoadmapItemCard.d.ts +51 -0
- package/dist/types/components/roadmap/RoadmapPage.d.ts +12 -0
- package/dist/types/components/roadmap/RoadmapSwimlaneBoard.d.ts +15 -0
- package/dist/types/components/roadmap/TrackManager.d.ts +19 -0
- package/dist/types/components/roadmap/UseCaseCard.d.ts +30 -0
- package/dist/types/components/roadmap/UseCaseLedgerPage.d.ts +29 -0
- package/dist/types/components/roadmap/chip-tones.d.ts +2 -0
- package/dist/types/components/roadmap/derive.d.ts +39 -0
- package/dist/types/components/roadmap/index.d.ts +10 -0
- package/dist/types/components/roadmap/types.d.ts +86 -0
- package/dist/types/components/stepper/Stepper.d.ts +79 -0
- package/dist/types/components/stepper/derive.d.ts +49 -0
- package/dist/types/components/stepper/index.d.ts +3 -0
- package/dist/types/components/stepper/types.d.ts +118 -0
- package/dist/types/icons/data.d.ts +2054 -0
- package/dist/types/index.d.ts +209 -0
- package/dist/types/lib/attention.d.ts +62 -0
- package/dist/types/lib/board/anchor.d.ts +69 -0
- package/dist/types/lib/board/index.d.ts +17 -0
- package/dist/types/lib/board/model.d.ts +43 -0
- package/dist/types/lib/board/move.d.ts +181 -0
- package/dist/types/lib/board/position.d.ts +22 -0
- package/dist/types/lib/board/rejection.d.ts +8 -0
- package/dist/types/lib/board/types.d.ts +294 -0
- package/dist/types/lib/board/use-board.d.ts +47 -0
- package/dist/types/lib/calendar/band-packer.d.ts +53 -0
- package/dist/types/lib/calendar/drag.d.ts +125 -0
- package/dist/types/lib/calendar/index.d.ts +4 -0
- package/dist/types/lib/calendar/lane-packer.d.ts +88 -0
- package/dist/types/lib/calendar/segments.d.ts +91 -0
- package/dist/types/lib/calendar/types.d.ts +166 -0
- package/dist/types/lib/chart-palette.d.ts +14 -0
- package/dist/types/lib/clipboard.d.ts +12 -0
- package/dist/types/lib/cn.d.ts +7 -0
- package/dist/types/lib/color.d.ts +14 -0
- package/dist/types/lib/component-guidance.d.ts +15 -0
- package/dist/types/lib/confidence.d.ts +28 -0
- package/dist/types/lib/date-timeline/scale.d.ts +143 -0
- package/dist/types/lib/design-frame/document.d.ts +39 -0
- package/dist/types/lib/design-frame/mini-app-script.d.ts +29 -0
- package/dist/types/lib/design-frame/mini-app.d.ts +17 -0
- package/dist/types/lib/design-frame/protocol.d.ts +78 -0
- package/dist/types/lib/dev-warn.d.ts +10 -0
- package/dist/types/lib/dnd/announce.d.ts +124 -0
- package/dist/types/lib/dnd/autoscroll.d.ts +88 -0
- package/dist/types/lib/dnd/cross-drop.d.ts +18 -0
- package/dist/types/lib/dnd/geometry.d.ts +126 -0
- package/dist/types/lib/dnd/index.d.ts +17 -0
- package/dist/types/lib/dnd/sensors/gesture.d.ts +37 -0
- package/dist/types/lib/dnd/sensors/keyboard.d.ts +54 -0
- package/dist/types/lib/dnd/sensors/pointer.d.ts +59 -0
- package/dist/types/lib/dnd/session.d.ts +124 -0
- package/dist/types/lib/dnd/types.d.ts +226 -0
- package/dist/types/lib/dnd/use-drag.d.ts +82 -0
- package/dist/types/lib/dom/scroll-ancestor.d.ts +15 -0
- package/dist/types/lib/format.d.ts +33 -0
- package/dist/types/lib/group-in-order.d.ts +13 -0
- package/dist/types/lib/header-fold.d.ts +10 -0
- package/dist/types/lib/i18n/areas/auth-provenance-flows.d.ts +287 -0
- package/dist/types/lib/i18n/areas/board.d.ts +51 -0
- package/dist/types/lib/i18n/areas/card-face.d.ts +8 -0
- package/dist/types/lib/i18n/areas/chat-chart.d.ts +202 -0
- package/dist/types/lib/i18n/areas/code-editor.d.ts +40 -0
- package/dist/types/lib/i18n/areas/date-timeline.d.ts +36 -0
- package/dist/types/lib/i18n/areas/dates.d.ts +103 -0
- package/dist/types/lib/i18n/areas/docs-views.d.ts +297 -0
- package/dist/types/lib/i18n/areas/feedback.d.ts +132 -0
- package/dist/types/lib/i18n/areas/formats.d.ts +30 -0
- package/dist/types/lib/i18n/areas/forms.d.ts +182 -0
- package/dist/types/lib/i18n/areas/keys.d.ts +15 -0
- package/dist/types/lib/i18n/areas/markdown.d.ts +150 -0
- package/dist/types/lib/i18n/areas/move-rejected.d.ts +16 -0
- package/dist/types/lib/i18n/areas/navigation.d.ts +185 -0
- package/dist/types/lib/i18n/areas/rbac.d.ts +635 -0
- package/dist/types/lib/i18n/emphasis.d.ts +3 -0
- package/dist/types/lib/i18n/index.d.ts +10 -0
- package/dist/types/lib/i18n/number-format.d.ts +5 -0
- package/dist/types/lib/i18n/plural.d.ts +7 -0
- package/dist/types/lib/i18n/provider.d.ts +16 -0
- package/dist/types/lib/i18n/strings.d.ts +18 -0
- package/dist/types/lib/icons.d.ts +22 -0
- package/dist/types/lib/interactive-target.d.ts +3 -0
- package/dist/types/lib/intl-cache.d.ts +31 -0
- package/dist/types/lib/legal-document.d.ts +82 -0
- package/dist/types/lib/line-diff-model.d.ts +39 -0
- package/dist/types/lib/markdown/attachments.d.ts +50 -0
- package/dist/types/lib/markdown/caret-map.d.ts +69 -0
- package/dist/types/lib/markdown/caret.d.ts +6 -0
- package/dist/types/lib/markdown/commands.d.ts +186 -0
- package/dist/types/lib/markdown/convert.d.ts +99 -0
- package/dist/types/lib/markdown/dom.d.ts +30 -0
- package/dist/types/lib/markdown/edit.d.ts +16 -0
- package/dist/types/lib/markdown/history.d.ts +59 -0
- package/dist/types/lib/markdown/hotkeys.d.ts +63 -0
- package/dist/types/lib/markdown/image-pipeline.d.ts +173 -0
- package/dist/types/lib/markdown/images.d.ts +138 -0
- package/dist/types/lib/markdown/input.d.ts +38 -0
- package/dist/types/lib/markdown/keys.d.ts +34 -0
- package/dist/types/lib/markdown/paste.d.ts +9 -0
- package/dist/types/lib/markdown/position.d.ts +43 -0
- package/dist/types/lib/markdown/project.d.ts +88 -0
- package/dist/types/lib/markdown/reconcile.d.ts +63 -0
- package/dist/types/lib/markdown/surface.d.ts +236 -0
- package/dist/types/lib/motion.d.ts +30 -0
- package/dist/types/lib/pad.d.ts +6 -0
- package/dist/types/lib/paged-window/index.d.ts +2 -0
- package/dist/types/lib/paged-window/layout.d.ts +21 -0
- package/dist/types/lib/paged-window/list-owner.d.ts +12 -0
- package/dist/types/lib/paged-window/records-binding.d.ts +102 -0
- package/dist/types/lib/paged-window/store.d.ts +307 -0
- package/dist/types/lib/paged-window/use-measured-pitch.d.ts +34 -0
- package/dist/types/lib/paged-window/use-page-visibility.d.ts +20 -0
- package/dist/types/lib/paged-window/use-paged-window.d.ts +61 -0
- package/dist/types/lib/paged-window/use-scroll-root.d.ts +18 -0
- package/dist/types/lib/persist.d.ts +57 -0
- package/dist/types/lib/preference-values.d.ts +72 -0
- package/dist/types/lib/preferences.d.ts +26 -0
- package/dist/types/lib/reads/hooks.d.ts +49 -0
- package/dist/types/lib/reads/index.d.ts +5 -0
- package/dist/types/lib/reads/optimistic.d.ts +119 -0
- package/dist/types/lib/reads/refetch.d.ts +83 -0
- package/dist/types/lib/reads/slots.d.ts +137 -0
- package/dist/types/lib/reads/types.d.ts +155 -0
- package/dist/types/lib/realtime/hooks.d.ts +38 -0
- package/dist/types/lib/realtime/index.d.ts +4 -0
- package/dist/types/lib/realtime/provider.d.ts +38 -0
- package/dist/types/lib/realtime/registry.d.ts +225 -0
- package/dist/types/lib/realtime/types.d.ts +242 -0
- package/dist/types/lib/records/define-record-type.d.ts +29 -0
- package/dist/types/lib/records/hooks.d.ts +46 -0
- package/dist/types/lib/records/index.d.ts +5 -0
- package/dist/types/lib/records/store.d.ts +289 -0
- package/dist/types/lib/records/types.d.ts +195 -0
- package/dist/types/lib/records/wire.d.ts +96 -0
- package/dist/types/lib/reduced-motion-help.d.ts +23 -0
- package/dist/types/lib/scroll-caret.d.ts +6 -0
- package/dist/types/lib/sim/createSimStore.d.ts +18 -0
- package/dist/types/lib/sim/index.d.ts +5 -0
- package/dist/types/lib/sim/latency.d.ts +10 -0
- package/dist/types/lib/sim/registry.d.ts +14 -0
- package/dist/types/lib/sim/settings.d.ts +11 -0
- package/dist/types/lib/sim/types.d.ts +3 -0
- package/dist/types/lib/submit-shortcut.d.ts +24 -0
- package/dist/types/lib/syntax/index.d.ts +16 -0
- package/dist/types/lib/syntax/languages/bash.d.ts +1 -0
- package/dist/types/lib/syntax/languages/css.d.ts +1 -0
- package/dist/types/lib/syntax/languages/html.d.ts +17 -0
- package/dist/types/lib/syntax/languages/index.d.ts +33 -0
- package/dist/types/lib/syntax/languages/javascript.d.ts +22 -0
- package/dist/types/lib/syntax/languages/json.d.ts +1 -0
- package/dist/types/lib/syntax/languages/mongodb.d.ts +1 -0
- package/dist/types/lib/syntax/languages/plain.d.ts +9 -0
- package/dist/types/lib/syntax/languages/sql.d.ts +4 -0
- package/dist/types/lib/syntax/languages/vue.d.ts +1 -0
- package/dist/types/lib/syntax/languages/yaml.d.ts +1 -0
- package/dist/types/lib/syntax/markdown/frames.d.ts +145 -0
- package/dist/types/lib/syntax/markdown/grammar.d.ts +1 -0
- package/dist/types/lib/syntax/markdown/index.d.ts +5 -0
- package/dist/types/lib/syntax/markdown/inline.d.ts +21 -0
- package/dist/types/lib/syntax/markdown/parse.d.ts +15 -0
- package/dist/types/lib/syntax/markdown/refs.d.ts +47 -0
- package/dist/types/lib/syntax/markdown/render.d.ts +25 -0
- package/dist/types/lib/syntax/markdown/spans.d.ts +84 -0
- package/dist/types/lib/syntax/markdown/types.d.ts +108 -0
- package/dist/types/lib/syntax/registry.d.ts +37 -0
- package/dist/types/lib/syntax/tokenize.d.ts +17 -0
- package/dist/types/lib/syntax/types.d.ts +119 -0
- package/dist/types/lib/time/index.d.ts +4 -0
- package/dist/types/lib/time/instant.d.ts +2 -0
- package/dist/types/lib/time/plain.d.ts +61 -0
- package/dist/types/lib/time/relativeAge.d.ts +18 -0
- package/dist/types/lib/time/relativeClock.d.ts +8 -0
- package/dist/types/lib/time/types.d.ts +87 -0
- package/dist/types/lib/time/zone.d.ts +106 -0
- package/dist/types/lib/use-controllable.d.ts +14 -0
- package/dist/types/lib/use-fill-height.d.ts +26 -0
- package/dist/types/lib/use-hydrated.d.ts +8 -0
- package/dist/types/lib/use-media-query.d.ts +29 -0
- package/dist/types/lib/use-relabel-base-ui-dismiss.d.ts +6 -0
- package/dist/types/lib/use-release-snap-drag.d.ts +25 -0
- package/dist/types/lib/use-roving-options.d.ts +10 -0
- package/dist/types/lib/values/absent.d.ts +7 -0
- package/dist/types/lib/values/boolean.d.ts +29 -0
- package/dist/types/lib/values/currency.d.ts +22 -0
- package/dist/types/lib/values/date.d.ts +30 -0
- package/dist/types/lib/values/datetime.d.ts +48 -0
- package/dist/types/lib/values/index.d.ts +5 -0
- package/dist/types/lib/values/locale-date.d.ts +34 -0
- package/dist/types/lib/values/number.d.ts +27 -0
- package/dist/types/pure.d.ts +48 -0
- 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":"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"}
|
|
@@ -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
|