@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,292 @@
|
|
|
1
|
+
import { jsxs as f, jsx as o, Fragment as P } from "react/jsx-runtime";
|
|
2
|
+
import { useState as R, useCallback as E, useMemo as L, useRef as J, useEffect as H } from "react";
|
|
3
|
+
import { cn as B } from "../lib/cn.js";
|
|
4
|
+
import { ListOwnerProvider as Q } from "../lib/paged-window/list-owner.js";
|
|
5
|
+
import { DragDrop as V, DragDropItem as X, DragDropGroup as Y, DragDropSurface as Z, DragDropContainer as ee, DragDropHandle as oe } from "./DragDrop.js";
|
|
6
|
+
import { numberFormat as re } from "../lib/intl-cache.js";
|
|
7
|
+
import { BoardProvider as te, useBoardColumnContext as G, BoardCardProvider as ne, BoardCardSurfaceContext as ae, useBoardContext as U, BoardColumnProvider as ie, useBoardCardContext as de, useBoardCardIsDragSource as se } from "./board/context.js";
|
|
8
|
+
import { useDragDrop as $, useDragDropContainer as le } from "./drag-drop/context.js";
|
|
9
|
+
import { board as w } from "./board/recipe.js";
|
|
10
|
+
import { positionInColumn as ce } from "../lib/board/position.js";
|
|
11
|
+
import { Menu as me, MenuItem as j } from "./Menu.js";
|
|
12
|
+
import { Icon as M } from "./Icon.js";
|
|
13
|
+
import { EmptyState as ue } from "./Surface.js";
|
|
14
|
+
import { RecordCard as z } from "./RecordCard.js";
|
|
15
|
+
import { useBoard as pe } from "../lib/board/use-board.js";
|
|
16
|
+
import { useUiStrings as I, useUiLocale as W } from "../lib/i18n/provider.js";
|
|
17
|
+
import { describeMoveRejection as fe } from "../lib/board/rejection.js";
|
|
18
|
+
import { isLaneDrop as ve, heldOver as F } from "../lib/dnd/cross-drop.js";
|
|
19
|
+
import { useDragState as A } from "../lib/dnd/use-drag.js";
|
|
20
|
+
function Ue({
|
|
21
|
+
items: e,
|
|
22
|
+
columns: t,
|
|
23
|
+
accessors: r,
|
|
24
|
+
validateMove: i,
|
|
25
|
+
onMove: m,
|
|
26
|
+
selection: n,
|
|
27
|
+
reorderLabels: a,
|
|
28
|
+
crossLaneDrop: s = "position",
|
|
29
|
+
autoScroll: g,
|
|
30
|
+
className: u,
|
|
31
|
+
columnsClassName: l,
|
|
32
|
+
renderDragging: v,
|
|
33
|
+
children: y
|
|
34
|
+
}) {
|
|
35
|
+
const p = pe({ items: e, columns: t, accessors: r, validateMove: i, onMove: m, selection: n }), N = I(), h = W(), [C, D] = R(null), b = E(
|
|
36
|
+
(c) => {
|
|
37
|
+
const x = p.requestMove(c);
|
|
38
|
+
return x.ok || D(fe(N.moveRejected, h, x.reason)), x;
|
|
39
|
+
},
|
|
40
|
+
[p.requestMove, N.moveRejected, h]
|
|
41
|
+
), S = E(
|
|
42
|
+
(c) => {
|
|
43
|
+
const x = ve(s, c.from.container, c.to.container);
|
|
44
|
+
b({
|
|
45
|
+
moves: [
|
|
46
|
+
{
|
|
47
|
+
itemId: c.id,
|
|
48
|
+
from: { columnId: c.from.container, index: c.from.index },
|
|
49
|
+
to: x ? { columnId: c.to.container, lane: !0 } : { columnId: c.to.container, index: c.to.index }
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
source: c.mode
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
[b, s]
|
|
56
|
+
), d = L(
|
|
57
|
+
() => v === void 0 ? void 0 : (c) => {
|
|
58
|
+
const x = e.find((_) => r.getId(_) === c);
|
|
59
|
+
return x === void 0 ? null : v(x);
|
|
60
|
+
},
|
|
61
|
+
[v, e, r]
|
|
62
|
+
), T = I().board, k = a?.toTop ?? T.moveToTop, O = a?.toBottom ?? T.moveToBottom, K = L(
|
|
63
|
+
() => ({
|
|
64
|
+
columns: p.columns,
|
|
65
|
+
requestMove: b,
|
|
66
|
+
reorderLabels: { toTop: k, toBottom: O },
|
|
67
|
+
crossLaneDrop: s
|
|
68
|
+
}),
|
|
69
|
+
[p.columns, b, k, O, s]
|
|
70
|
+
);
|
|
71
|
+
return /* @__PURE__ */ f(
|
|
72
|
+
V,
|
|
73
|
+
{
|
|
74
|
+
onDragEnd: S,
|
|
75
|
+
autoScroll: g,
|
|
76
|
+
renderCarried: d,
|
|
77
|
+
className: B("flex flex-col gap-3", u),
|
|
78
|
+
children: [
|
|
79
|
+
/* @__PURE__ */ o(te, { value: K, children: /* @__PURE__ */ o("div", { className: B("flex min-h-0 flex-1 gap-4", l), children: y(p) }) }),
|
|
80
|
+
C && /* @__PURE__ */ f("div", { role: "status", "aria-live": "polite", className: w().rejection(), children: [
|
|
81
|
+
/* @__PURE__ */ o(M, { name: "triangle-alert", size: "xs" }),
|
|
82
|
+
C
|
|
83
|
+
] })
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
function $e({ className: e, children: t }) {
|
|
89
|
+
return /* @__PURE__ */ o(Z, { className: e, children: /* @__PURE__ */ o(ae.Provider, { value: !0, children: t }) });
|
|
90
|
+
}
|
|
91
|
+
function We({
|
|
92
|
+
column: e,
|
|
93
|
+
emptyState: t,
|
|
94
|
+
headerCount: r,
|
|
95
|
+
className: i,
|
|
96
|
+
listClassName: m,
|
|
97
|
+
accent: n,
|
|
98
|
+
icon: a,
|
|
99
|
+
actions: s,
|
|
100
|
+
children: g
|
|
101
|
+
}) {
|
|
102
|
+
const u = r === void 0 ? e.overWip : r !== null && e.wipLimit !== void 0 && r > e.wipLimit, l = w({ overWip: u, accented: n !== void 0 }), v = e.count === 0 && !e.counting, [y, p] = R(0), N = L(() => ({ reportBusy: (T) => p((k) => k + T) }), []), h = I().board, C = e.id;
|
|
103
|
+
H(() => {
|
|
104
|
+
n === void 0 || typeof CSS > "u" || CSS.supports("color", n) || console.warn(`[danxbot] board: column "${String(C)}" got accent "${n}", which is not a CSS colour.`);
|
|
105
|
+
}, [n, C]);
|
|
106
|
+
const D = L(
|
|
107
|
+
() => ({ columnId: e.id, label: e.label }),
|
|
108
|
+
[e.id, e.label]
|
|
109
|
+
), { crossLaneDrop: b } = U("BoardColumn"), S = t ?? /* @__PURE__ */ o(
|
|
110
|
+
ue,
|
|
111
|
+
{
|
|
112
|
+
title: h.emptyTitle,
|
|
113
|
+
description: h.emptyDescription,
|
|
114
|
+
className: l.empty()
|
|
115
|
+
}
|
|
116
|
+
), d = /* @__PURE__ */ o(
|
|
117
|
+
xe,
|
|
118
|
+
{
|
|
119
|
+
count: e.counting ? null : r === void 0 ? e.count : r,
|
|
120
|
+
wipLimit: e.wipLimit,
|
|
121
|
+
overWip: u,
|
|
122
|
+
accented: n !== void 0
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
return /* @__PURE__ */ f(
|
|
126
|
+
"div",
|
|
127
|
+
{
|
|
128
|
+
className: B(l.column(), i),
|
|
129
|
+
style: n === void 0 ? void 0 : { "--lane-accent": n },
|
|
130
|
+
children: [
|
|
131
|
+
/* @__PURE__ */ f("div", { "data-board-header": "", className: l.header(), children: [
|
|
132
|
+
a === void 0 ? /* @__PURE__ */ o("span", { className: l.label(), children: e.label }) : /* @__PURE__ */ f("span", { className: l.title(), children: [
|
|
133
|
+
/* @__PURE__ */ o("span", { className: l.glyph(), "aria-hidden": "true", children: a }),
|
|
134
|
+
/* @__PURE__ */ o("span", { className: l.label(), children: e.label })
|
|
135
|
+
] }),
|
|
136
|
+
s === void 0 ? d : /* @__PURE__ */ f("span", { "data-board-actions": "", className: l.trailing(), children: [
|
|
137
|
+
d,
|
|
138
|
+
s
|
|
139
|
+
] })
|
|
140
|
+
] }),
|
|
141
|
+
/* @__PURE__ */ f("div", { className: "relative flex min-h-0 flex-1 flex-col", children: [
|
|
142
|
+
e.reorderLocked !== void 0 && /* @__PURE__ */ o(ge, { columnId: e.id, message: e.reorderLocked }),
|
|
143
|
+
b === "lane" && /* @__PURE__ */ o(he, { columnId: e.id }),
|
|
144
|
+
/* @__PURE__ */ o("div", { "data-board-lane": "", role: v ? "group" : "list", "aria-label": e.label, "aria-busy": y > 0 ? !0 : void 0, className: l.list(), children: /* @__PURE__ */ o(
|
|
145
|
+
ee,
|
|
146
|
+
{
|
|
147
|
+
id: e.id,
|
|
148
|
+
label: e.label,
|
|
149
|
+
axis: "y",
|
|
150
|
+
offset: e.offset,
|
|
151
|
+
total: e.counting ? void 0 : e.count,
|
|
152
|
+
crossDrop: b,
|
|
153
|
+
className: B("min-h-24 flex-1 p-2", m),
|
|
154
|
+
children: /* @__PURE__ */ o(Q, { value: N, children: /* @__PURE__ */ o(ie, { value: D, children: /* @__PURE__ */ o(
|
|
155
|
+
be,
|
|
156
|
+
{
|
|
157
|
+
isEmpty: v,
|
|
158
|
+
emptyState: S,
|
|
159
|
+
children: g
|
|
160
|
+
}
|
|
161
|
+
) }) })
|
|
162
|
+
}
|
|
163
|
+
) })
|
|
164
|
+
] })
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
function be({
|
|
170
|
+
isEmpty: e,
|
|
171
|
+
emptyState: t,
|
|
172
|
+
children: r
|
|
173
|
+
}) {
|
|
174
|
+
const { shift: i } = le("BoardColumn");
|
|
175
|
+
return e ? i && i.markerAt !== null ? null : /* @__PURE__ */ o(P, { children: t }) : /* @__PURE__ */ o(P, { children: r });
|
|
176
|
+
}
|
|
177
|
+
function ge({ columnId: e, message: t }) {
|
|
178
|
+
const { session: r } = $("BoardColumn"), i = A(r);
|
|
179
|
+
return F(i, e) !== "own" ? null : /* @__PURE__ */ f("div", { role: "status", "data-board-reorder-locked": "", className: w().reorderLocked(), children: [
|
|
180
|
+
/* @__PURE__ */ o(M, { name: "info", size: "xs" }),
|
|
181
|
+
t
|
|
182
|
+
] });
|
|
183
|
+
}
|
|
184
|
+
function he({ columnId: e }) {
|
|
185
|
+
const { session: t } = $("BoardColumn"), r = A(t);
|
|
186
|
+
return F(r, e) !== "other" ? null : /* @__PURE__ */ o("div", { "aria-hidden": "true", "data-board-lane-drop": "", className: w().laneDrop() });
|
|
187
|
+
}
|
|
188
|
+
const Ce = "–";
|
|
189
|
+
function xe({
|
|
190
|
+
count: e,
|
|
191
|
+
wipLimit: t,
|
|
192
|
+
overWip: r,
|
|
193
|
+
accented: i
|
|
194
|
+
}) {
|
|
195
|
+
const m = W(), n = I().board.wipCount, a = re(m, {});
|
|
196
|
+
return /* @__PURE__ */ f(
|
|
197
|
+
"span",
|
|
198
|
+
{
|
|
199
|
+
"data-board-count": "",
|
|
200
|
+
className: B(
|
|
201
|
+
"inline-flex items-center gap-1 font-mono text-2xs",
|
|
202
|
+
r ? "font-semibold text-danger-text" : i ? "text-primary" : "text-tertiary"
|
|
203
|
+
),
|
|
204
|
+
children: [
|
|
205
|
+
r && /* @__PURE__ */ o(M, { name: "triangle-alert", size: "xs" }),
|
|
206
|
+
r && e !== null && t !== void 0 ? n(a.format(e), a.format(t)) : e === null ? Ce : a.format(e)
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
function Fe({ id: e, index: t, label: r, className: i, children: m }) {
|
|
212
|
+
const { columnId: n } = G("BoardCard"), a = J(!1), s = E(() => (a.current = !0, () => {
|
|
213
|
+
a.current = !1;
|
|
214
|
+
}), []);
|
|
215
|
+
H(() => {
|
|
216
|
+
a.current || console.warn(
|
|
217
|
+
`[danxbot] board: card "${String(e)}" rendered without placing the move control it was handed. Every drag outcome must stay reachable by pointer alone without dragging (WCAG 2.2 SC 2.5.7) — a keyboard path does not satisfy it. Render the node \`BoardCard\` passes to its children function.`
|
|
218
|
+
);
|
|
219
|
+
}, [e]);
|
|
220
|
+
const g = L(
|
|
221
|
+
() => ({ itemId: e, index: t, label: r, registerHandle: s }),
|
|
222
|
+
[e, t, r, s]
|
|
223
|
+
);
|
|
224
|
+
return /* @__PURE__ */ o(X, { id: e, index: t, label: r, className: i, children: /* @__PURE__ */ o(ne, { value: g, children: /* @__PURE__ */ o("div", { role: "listitem", children: m(/* @__PURE__ */ o(Be, { columnId: n })) }) }) });
|
|
225
|
+
}
|
|
226
|
+
function q({ continuesBefore: e, continuesAfter: t }, { padding: r }) {
|
|
227
|
+
return B(e && "rounded-t-none border-t-0", e && r && "pt-0", t && "rounded-b-none border-b-0", t && r && "pb-0");
|
|
228
|
+
}
|
|
229
|
+
function Ae({ frameClassName: e, className: t, contentClassName: r, continuesBefore: i = !1, continuesAfter: m = !1, ...n }) {
|
|
230
|
+
G("BoardCardGroup");
|
|
231
|
+
const a = { continuesBefore: i, continuesAfter: m };
|
|
232
|
+
return /* @__PURE__ */ o(
|
|
233
|
+
Y,
|
|
234
|
+
{
|
|
235
|
+
...n,
|
|
236
|
+
continuesBefore: i,
|
|
237
|
+
continuesAfter: m,
|
|
238
|
+
className: t,
|
|
239
|
+
contentClassName: r,
|
|
240
|
+
frame: /* @__PURE__ */ o(z, { className: B("size-full", e, q(a, { padding: !1 })) }),
|
|
241
|
+
render: /* @__PURE__ */ o(z, { className: B("border-transparent bg-transparent", q(a, { padding: !0 })) })
|
|
242
|
+
}
|
|
243
|
+
);
|
|
244
|
+
}
|
|
245
|
+
function Be({ columnId: e }) {
|
|
246
|
+
const t = U("BoardCardHandle"), r = de("BoardCardHandle"), i = se(), [m, n] = R(!1), a = w(), s = I().board, { registerHandle: g } = r;
|
|
247
|
+
H(() => g(), [g]);
|
|
248
|
+
const u = t.columns.find((d) => d.id === e), l = t.columns.filter((d) => d.id !== e), v = ce(u, r.index), y = u?.items.length ?? 0;
|
|
249
|
+
function p(d) {
|
|
250
|
+
n(!1), t.requestMove({
|
|
251
|
+
moves: [{ itemId: r.itemId, from: { columnId: e, index: r.index }, to: d }],
|
|
252
|
+
source: "menu"
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
const N = u?.reorderLocked === void 0, h = N && v > 0, C = N && v < (u?.count ?? 0) - 1, D = u?.reorderLabels?.toTop ?? t.reorderLabels.toTop, b = u?.reorderLabels?.toBottom ?? t.reorderLabels.toBottom, S = r.label ?? String(r.itemId);
|
|
256
|
+
return /* @__PURE__ */ f("span", { className: a.handleCluster(), children: [
|
|
257
|
+
!i && /* @__PURE__ */ o(oe, {}),
|
|
258
|
+
/* @__PURE__ */ f(
|
|
259
|
+
me,
|
|
260
|
+
{
|
|
261
|
+
open: m,
|
|
262
|
+
onOpenChange: n,
|
|
263
|
+
side: "bottom",
|
|
264
|
+
align: "start",
|
|
265
|
+
trigger: /* @__PURE__ */ o("button", { type: "button", className: a.menuTrigger(), "aria-label": s.moveCard(S), children: /* @__PURE__ */ o(M, { name: "more-vertical", size: "sm" }) }),
|
|
266
|
+
children: [
|
|
267
|
+
h && /* @__PURE__ */ o(j, { onClick: () => p({ columnId: e, index: 0, edge: "top" }), children: D }),
|
|
268
|
+
C && /* @__PURE__ */ o(j, { onClick: () => p({ columnId: e, index: y - 1, edge: "bottom" }), children: b }),
|
|
269
|
+
l.map((d) => /* @__PURE__ */ o(
|
|
270
|
+
j,
|
|
271
|
+
{
|
|
272
|
+
onClick: () => p(
|
|
273
|
+
t.crossLaneDrop === "lane" ? { columnId: d.id, lane: !0 } : { columnId: d.id, index: d.items.length, edge: "bottom" }
|
|
274
|
+
),
|
|
275
|
+
children: s.moveToColumn(d.label)
|
|
276
|
+
},
|
|
277
|
+
d.id
|
|
278
|
+
)),
|
|
279
|
+
!h && !C && l.length === 0 && /* @__PURE__ */ o("div", { className: "px-2.5 py-2 text-xs text-tertiary", children: s.nothingToMove })
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
)
|
|
283
|
+
] });
|
|
284
|
+
}
|
|
285
|
+
export {
|
|
286
|
+
Ue as Board,
|
|
287
|
+
Fe as BoardCard,
|
|
288
|
+
Ae as BoardCardGroup,
|
|
289
|
+
$e as BoardCardSurface,
|
|
290
|
+
We as BoardColumn
|
|
291
|
+
};
|
|
292
|
+
//# sourceMappingURL=Board.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Board.js","sources":["../../src/components/Board.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState, type CSSProperties, type ReactNode } from \"react\";\nimport { cn } from \"../lib/cn\";\nimport { ListOwnerProvider } from \"../lib/paged-window/list-owner\";\nimport {\n DragDrop,\n DragDropContainer,\n DragDropGroup,\n DragDropHandle,\n DragDropItem,\n DragDropSurface,\n} from \"./DragDrop\";\nimport { heldOver, isLaneDrop, useDragState } from \"../lib/dnd\";\nimport type { AutoScrollOptions, CrossDrop, DragEndEvent, DragId } from \"../lib/dnd\";\nimport { useUiLocale, useUiStrings } from \"../lib/i18n\";\nimport { numberFormat } from \"../lib/intl-cache\";\nimport { describeMoveRejection, useBoard } from \"../lib/board\";\nimport type {\n BoardColumnId,\n BoardColumnModel,\n BoardItemId,\n BoardMove,\n BoardMoveRequest,\n BoardMoveOutcome,\n BoardReorderLabels,\n UseBoardOptions,\n UseBoardResult,\n} from \"../lib/board\";\nimport {\n BoardCardProvider,\n BoardCardSurfaceContext,\n BoardColumnProvider,\n BoardProvider,\n useBoardCardContext,\n useBoardCardIsDragSource,\n useBoardColumnContext,\n useBoardContext,\n} from \"./board/context\";\nimport { useDragDrop, useDragDropContainer } from \"./drag-drop/context\";\nimport { board as boardRecipe } from \"./board/recipe\";\nimport { positionInColumn } from \"../lib/board/position\";\nimport { Menu, MenuItem } from \"./Menu\";\nimport { Icon } from \"./Icon\";\nimport { EmptyState } from \"./Surface\";\nimport { RecordCard } from \"./RecordCard\";\n\n/* ============================================================================\n BOARD — the React slot layer over `lib/board` (headless) and `DragDrop`\n (the drag engine). Three exported parts: `Board` (the root — wires the\n funnel), `BoardColumn` (the header + list, WIP-loud, empty-aware) and\n `BoardCard` (the required wrapper that hands back the one control WCAG\n 2.2 SC 2.5.7 makes mandatory). Card CONTENT is not this file's problem —\n every part below renders EITHER structure it owns (a header, a handle) or\n a `children` slot the consumer fills; nothing here knows what a card\n contains, same discipline `RecordCard.tsx` and `lib/board/types.ts` both\n state for their own layers.\n\n THE FUNNEL, MADE CONCRETE. `lib/board/types.ts` names the rule: pointer\n drag, keyboard, the menu and bulk all terminate in `useBoard`'s\n `requestMove`. This file is where that becomes real DOM wiring rather than\n a paragraph: `<Board>` wraps `<DragDrop onDragEnd={…}>` and translates every\n `DragEndEvent` — pointer AND keyboard alike, since `DragDrop`'s own\n keyboard sensor is already attached inside `DragDropHandle` and reports\n through the SAME `onDragEnd` — into a `BoardMoveRequest` and calls\n `requestMove`. `BoardCardHandle` below (the menu path) calls the identical\n function, reached through context rather than a second entry point. There\n is no second `onMove` call anywhere in this file.\n\n THE REJECTION LINE, AND WHY IT EXISTS SEPARATELY FROM `DragDrop`'S OWN LIVE\n REGION. A rejected move (`validateMove` said no) still completes its DRAG —\n the pointer released, the session committed — before `requestMove` ever\n gets a chance to refuse it. `DragDrop`'s live region has already announced\n \"Dropped X. Position N of M\" by the time the refusal is known, and this\n package exposes no hook to retract or amend that announcement (see the\n agent report for what would be needed). So `Board` renders its OWN small,\n VISIBLE — not `sr-only` — status line that speaks the verdict's reason,\n fed by wrapping `useBoard`'s `requestMove` once at the root: every caller,\n drag or menu, already has to call this function to move anything, so\n \"every rejection is surfaced\" is true by construction rather than a rule\n each new call site has to remember. The DOM position DOES self-correct —\n a refused move never reached `onMove`, so `items` never changed, and the\n card's `<DragDropItem index>` re-registers at its real, unchanged slot on\n the very next render — it is only the SPOKEN record that briefly disagrees,\n and that is exactly what this line corrects.\n\n `role=\"list\"`, NOT `role=\"grid\"` — RES-GAME, citing Roselli. `DragDropContainer`\n and `DragDropItem` render plain, roleless `<div>`s (this package's public\n API gives no prop to annotate them), so the role is placed on a THIN\n wrapper around each: one around `DragDropContainer` per column (`list`,\n labelled), one around each card's own content inside `DragDropItem`\n (`listitem`). A roleless `<div>` does not break ARIA's owned-element\n computation for `list`/`listitem` — it is the same \"generic role is\n transparent to ownership\" behaviour `<ul><div><li>` already relies on\n elsewhere on the web — and `board.test.tsx` proves the resulting tree is\n structurally valid with `axe-core`, which parses this statically without\n needing a real browser. What that test CANNOT prove is how a specific\n screen reader actually reads it; that is `probe-dnd-a11y`'s job, run\n centrally, against a real page this round does not build.\n\n A LONG LANE IS WINDOWED BY ITS CHILDREN, NOT BY THIS FILE (DX-4540).\n `BoardColumn` takes its cards as ordinary `children`, so a lane of hundreds\n renders a SUBSET of them: `PagedWindowList` holds a few pages and stands in\n for the rest with placeholders of the right height. That is safe for this\n drag engine because of one rule it already has — `DragDrop`'s session\n measures only the items currently REGISTERED (`session.remeasure()` in\n `lib/dnd/session.ts`), so a card that is not rendered is not a drop target\n and a drop over unrendered space resolves against the nearest card that is\n there. The window freezes for the length of a drag so the carried card's page\n is never dropped under it.\n\n What a windowed lane changes, and where it is decided. The column\n DEFINITION carries the lane's real `total` and the `offset` of its first\n loaded card; the board model turns them into `count` and `overWip` once, and\n everything that speaks of the lane reads those: the badge, the empty state,\n the WIP header, the move menu's \"is there anything above or below\", and the\n drag announcements (\"position 221 of 500\"). `items` still holds only the\n loaded cards, so every index a `BoardMoveRequest` carries is a position among\n the LOADED cards of that lane; what an index cannot say — \"the very top\" or\n \"the very bottom\" of the lane — is the move's `to.edge`, which the menu sends\n and `moveAnchor` turns into something a server can place. `PagedWindowList`\n hands `renderItem` the card's `global` position.\n ========================================================================= */\n\n/* ----------------------------------------------------------------------------\n ROOT\n -------------------------------------------------------------------------- */\n\nexport interface BoardProps<T> extends UseBoardOptions<T> {\n /**\n * DX-4575: the words for each card menu's two within-column items. Partial,\n * so a consumer renames one and keeps the other. Omitted, the provider's\n * `board.moveToTop` and `board.moveToBottom`.\n */\n reorderLabels?: Partial<BoardReorderLabels>;\n /**\n * DX-4583: what dropping a card on ANOTHER lane means.\n *\n * `\"position\"` (the default) is a drop at a place: the lane's cards part, a\n * marker shows the slot, and the `BoardMove` carries that `index`.\n *\n * `\"lane\"` is a lane change and nothing else, for a board whose lanes are\n * ordered by something a drop cannot set (a rank the card already has): the\n * whole lane is highlighted, no marker shows and no card moves, and the\n * `BoardMove` is `{ columnId, lane: true }` with no position. The card menu's\n * \"Move to <lane>\" items send the same move, and the live region says the lane\n * rather than a position. Inside the card's own lane a drag is still a\n * positional drop either way. Whether a drag is over \"another lane\" is read\n * from the drag session's own `from.container` and `over.container`, never\n * from card counts.\n */\n crossLaneDrop?: CrossDrop;\n /** Forwarded to `DragDrop` — see its own doc; cannot be turned off. */\n autoScroll?: AutoScrollOptions;\n className?: string;\n /**\n * Applied to the row the columns lay out in, NOT to the board root that\n * `className` targets.\n *\n * Two seams rather than one because the two boxes take genuinely different\n * decisions: the root is where a consumer sets the board's own size and\n * chrome, and this row is where the columns' overflow behaviour lives —\n * horizontal scroll on a wide board, wrapping on a narrow one. The first\n * real consumer of this component hit the gap immediately and had to reach\n * `overflow-x-auto` onto the root, which is the wrong box: it scrolls the\n * live region and the instructions along with the columns.\n */\n columnsClassName?: string;\n /**\n * The card while it is being carried. Defaults to the card's own children.\n *\n * The default is the version that cannot drift from the row it stands for,\n * which is why it is the default. But a carried card is read at a glance\n * while it moves, and a dense resting card is the wrong thing to read that\n * way — the two or three fields that identify the record are all anybody\n * takes off it mid-drag.\n *\n * It changes what the carried card SHOWS and nothing else. Whether a card is\n * carried, and how, is not a board's decision: the engine lifts every dragged\n * card into a portalled clone either way.\n */\n renderDragging?: (item: T) => ReactNode;\n /** The rendered board, given the live model to map over — same shape\n * `DragDropOverlay`'s own `children` already uses in this package for the\n * identical reason: `Board` is generic over the consumer's item type, and\n * a render prop is how that generic reaches the consumer's JSX without a\n * second, parallel context API duplicating what `useBoard` already\n * returns. */\n children: (board: UseBoardResult<T>) => ReactNode;\n}\n\nexport function Board<T>({\n items,\n columns,\n accessors,\n validateMove,\n onMove,\n selection,\n reorderLabels,\n crossLaneDrop = \"position\",\n autoScroll,\n className,\n columnsClassName,\n renderDragging,\n children,\n}: BoardProps<T>) {\n const board = useBoard({ items, columns, accessors, validateMove, onMove, selection });\n const uiStrings = useUiStrings();\n const locale = useUiLocale();\n const [rejection, setRejection] = useState<string | null>(null);\n\n /* THE ONE PLACE A VERDICT'S REJECTION REASON IS READ. Every caller below —\n the drag translation and `BoardCardHandle`'s menu — goes through this,\n never `board.requestMove` directly, so neither has its own copy of \"what\n do I do if this fails\" to keep in sync with the other. */\n const requestMove = useCallback(\n (request: BoardMoveRequest): BoardMoveOutcome => {\n const verdict = board.requestMove(request);\n if (!verdict.ok) setRejection(describeMoveRejection(uiStrings.moveRejected, locale, verdict.reason));\n return verdict;\n },\n [board.requestMove, uiStrings.moveRejected, locale],\n );\n\n const handleDragEnd = useCallback(\n (e: DragEndEvent) => {\n /* `e.mode` is `\"pointer\" | \"keyboard\"` — a strict subset of\n `BoardMoveSource`, passed straight through rather than re-derived.\n No `e.moved` check here: `resolveMove` already treats a release that\n lands exactly where it started as a no-op with nothing to commit\n (`move.ts`'s own header), so re-checking it here would be the same\n rule stated twice and one of the two eventually drifting. */\n /* DX-4583: a card dropped on another lane under `crossLaneDrop=\"lane\"` is a\n lane change, so the move names the lane and no index. Decided from the\n drop's own `from` and `to`, the same state the highlight reads. */\n const toAnotherLane = isLaneDrop(crossLaneDrop, e.from.container, e.to.container);\n requestMove({\n moves: [\n {\n itemId: e.id,\n from: { columnId: e.from.container, index: e.from.index },\n to: toAnotherLane\n ? { columnId: e.to.container, lane: true }\n : { columnId: e.to.container, index: e.to.index },\n },\n ],\n source: e.mode,\n });\n },\n [requestMove, crossLaneDrop],\n );\n\n /* THE ENGINE ASKS BY ID, THE CONSUMER THINKS IN ITEMS. `renderCarried` is\n handed a `DragId` because the engine has no idea what an item is; the\n board does, so it resolves the id here rather than making every consumer\n write the same lookup. Left `undefined` when the consumer passed nothing,\n so the engine keeps its own default rather than being handed a function\n that reproduces it. */\n const renderCarried = useMemo(\n () =>\n renderDragging === undefined\n ? undefined\n : (id: DragId) => {\n const item = items.find((candidate) => accessors.getId(candidate) === id);\n return item === undefined ? null : renderDragging(item);\n },\n [renderDragging, items, accessors],\n );\n\n const boardStrings = useUiStrings().board;\n const toTopLabel = reorderLabels?.toTop ?? boardStrings.moveToTop;\n const toBottomLabel = reorderLabels?.toBottom ?? boardStrings.moveToBottom;\n const context = useMemo(\n () => ({\n columns: board.columns,\n requestMove,\n reorderLabels: { toTop: toTopLabel, toBottom: toBottomLabel },\n crossLaneDrop,\n }),\n [board.columns, requestMove, toTopLabel, toBottomLabel, crossLaneDrop],\n );\n\n return (\n <DragDrop\n onDragEnd={handleDragEnd}\n autoScroll={autoScroll}\n renderCarried={renderCarried}\n /* STACKED VERTICALLY: the columns row, then the rejection line below\n it. `DragDrop`'s own root slot carries no layout of its own (by\n design — see its file header, \"a board is a grid, a row… every one\n belongs to the consumer\"), so BOTH axes here are this file's to set,\n not something to inherit or assume. */\n className={cn(\"flex flex-col gap-3\", className)}\n >\n {/* No cast needed here: neither `requestMove`'s signature nor a\n `readonly T[]` in `columns` depends on `T` in a way that blocks\n assigning to `BoardContextValue<unknown>` — `readonly` arrays are\n covariant, so this is structurally sound for every `T`. The one cast\n this generic context needs lives on the READ side, in\n `useBoardContext` (`board/context.ts`), where `T` is recovered. */}\n <BoardProvider value={context}>\n <div className={cn(\"flex min-h-0 flex-1 gap-4\", columnsClassName)}>\n {children(board)}\n </div>\n </BoardProvider>\n {rejection && (\n <div role=\"status\" aria-live=\"polite\" className={boardRecipe().rejection()}>\n <Icon name=\"triangle-alert\" size=\"xs\" />\n {rejection}\n </div>\n )}\n </DragDrop>\n );\n}\n\n/* ----------------------------------------------------------------------------\n CARD SURFACE — the opt-in mode where the whole card drags.\n -------------------------------------------------------------------------- */\n\nexport interface BoardCardSurfaceProps {\n className?: string;\n children?: ReactNode;\n}\n\n/**\n * Makes the WHOLE card a drag source, instead of the grip alone.\n *\n * RENDERING IT IS WHAT TURNS IT ON — there is no `wholeCardDrag` boolean, the\n * same rule the rest of this package follows and `drag-drop.test.tsx` enforces\n * on its own component layer. A board that wants a grip renders no surface; a\n * board that wants the card to drag wraps its content in one.\n *\n * WHY THIS IS SAFE HERE, and it was not safe before. The obvious objection is\n * that a card usually opens something when clicked, and a card that is entirely\n * a drag handle swallows that click. True of a source that starts on\n * `pointerdown`; false of this engine, which holds a press in `pending` until\n * it passes an activation constraint — 5px of travel for a mouse, a 250ms dwell\n * for a finger. A press that does not move is still a click. A press that does\n * becomes a drag, and its trailing click is swallowed. The card can be both,\n * and `audit:dnd` proves it on every run: a 2px wobble never enters a drag and\n * still counts as a click.\n *\n * THE 2.5.7 CONTROL IS NOT AFFECTED. The menu the card hands out is the\n * single-pointer, non-dragging route to every move, and it stays exactly where\n * it was. What the surface removes is the GRIP, which would otherwise be a\n * second drag source for the same card.\n *\n * It also cannot produce a button inside a button: `DragDropSurface` takes a\n * role only when it owns focus — when it contains no focusable of its own —\n * and a card carrying the move menu never does.\n */\nexport function BoardCardSurface({ className, children }: BoardCardSurfaceProps) {\n return (\n <DragDropSurface className={className}>\n <BoardCardSurfaceContext.Provider value={true}>{children}</BoardCardSurfaceContext.Provider>\n </DragDropSurface>\n );\n}\n\n/* ----------------------------------------------------------------------------\n COLUMN — header (label, count, loud WIP) + the droppable list.\n -------------------------------------------------------------------------- */\n\nexport interface BoardColumnProps<T> {\n /** `useBoard`'s own computed column — id, label, items, count, wipLimit,\n * overWip. Passed straight through; nothing here re-derives it. */\n column: BoardColumnModel<T>;\n /**\n * Rendered in place of `children` when the column has no cards. Content,\n * not a boolean — supplying THIS is what changes it, matching the\n * package-wide rule against a `show*`/`with*` switch. Defaults to a\n * generic message built on `EmptyState` (REUSE: \"An empty list, or a\n * zero-state screen\"), sized down for a column rather than a full page.\n *\n * HIDDEN, NOT REMOVED, while a drag session is over THIS column. An empty\n * column's placeholder and the engine's own drop marker (drawn by\n * `DragDropContainer` itself for a container with nothing else to hang the\n * marker off — see `DragDrop.tsx`'s `restCount === 0` branch) would\n * otherwise stack in the same box, and the placeholder's own sentence\n * (\"Drag a card here…\") is exactly what the marker is now doing. The\n * column's accessible name is untouched — `aria-label={column.label}` sits\n * on the `role=\"list\"` wrapper below, not on this content — so a\n * screen-reader user still hears which column they are over even while the\n * placeholder sentence is not rendered. See `BoardColumnBody`.\n */\n emptyState?: ReactNode;\n /**\n * DX-5637: the number the header badge draws, in place of the column's own\n * `count`. `count` is the lane's paging length (it feeds the drag engine and the\n * move menu); a lane whose paging rows are not all the things a person counts\n * (a container drawn around its children) passes the number to SHOW here. Display\n * only for paging and the empty state, which still read the model. `null` is a\n * count not known yet and draws the unknown mark, never the paging count. When\n * given, the over-limit verdict compares this number to the WIP limit.\n */\n headerCount?: number | null;\n className?: string;\n /**\n * Applied to the droppable list, NOT to the column shell that `className`\n * targets — this is where a column's own scrolling belongs\n * (`max-h-… overflow-y-auto`, to cap a column shorter than the space it\n * would otherwise fill).\n *\n * It has to be the inner box: put the scroll on the shell and the header\n * scrolls away with the cards, so a column whose cards have been scrolled\n * loses the label and count that say what the column IS. The drag engine\n * already resolves whichever scroller sits under the pointer, so a column\n * that scrolls here auto-scrolls during a drag with nothing further wired.\n *\n * The box already stretches to fill whatever height its own column has\n * (`flex-1`, below) and already scrolls its overflow (`overflow-y-auto`\n * baked into `DragDropContainer`'s own recipe for a `y`-axis container) —\n * this prop is for the rarer case of PINNING a column shorter than that,\n * not for turning scrolling on in the first place.\n */\n listClassName?: string;\n /**\n * DX-3981: tints the lane in this colour. Any CSS colour, passed as DATA — a\n * list's own hex, say; it is mixed into the theme's sunken surface at a\n * ratio chosen per theme, so the header label and count (ink tokens, never\n * the accent as text) stay at 4.5:1 or better and a card's border keeps 3:1\n * against the lane in light and dark (WCAG 1.4.3 / 1.4.11, proven over the\n * shipped tokens by `lane-contrast.test.ts`). It also re-points the border\n * token for everything inside the lane to a lane-aware ink mix — the card\n * boundary is drawn by that border, since a card fill cannot reach 3:1\n * against a lane that still reads as a tint. The WIP-exceeded header shift\n * still wins over the tint. Omitted, the lane renders exactly as it always\n * has.\n */\n accent?: string;\n /**\n * DX-3981: drawn before the header label, in the label's own ink colour.\n * Decorative (`aria-hidden`) — the label already names the column, and\n * never colour or glyph alone (WCAG 1.4.1).\n */\n icon?: ReactNode;\n /**\n * DX-4540: controls drawn at the header's end, after the count — a\n * `SortMenu`, say. A slot of content, not a boolean: supplying it is what\n * adds it. It sits in the header, outside the scrolling list, so it stays\n * put while the cards scroll.\n */\n actions?: ReactNode;\n /** The column's cards — a `BoardCard` per item, mapped by the consumer\n * exactly as `DragDropContainer`'s own children already are. A windowed\n * lane puts a `PagedWindowList` here — see the file header. */\n children?: ReactNode;\n}\n\nexport function BoardColumn<T>({\n column,\n emptyState,\n headerCount,\n className,\n listClassName,\n accent,\n icon,\n actions,\n children,\n}: BoardColumnProps<T>) {\n /* DX-4540: nothing here decides a count or a WIP verdict — the model did, once\n (`buildBoardModel`), from the column definition's `total`. */\n /* DX-5637: a header count that is given is what a person reads against the limit. */\n const overWip =\n headerCount === undefined\n ? column.overWip\n : headerCount !== null && column.wipLimit !== undefined && headerCount > column.wipLimit;\n const s = boardRecipe({ overWip, accented: accent !== undefined });\n /* DX-5084: a lane with no cards is a labelled group, not a `list`. A `list` must own\n listitems (axe `aria-required-children`), and an empty lane's only content is the\n empty-state sentence, so announcing \"list, 0 items\" was also a claim that did not\n hold. The label, and so the drop target's name, is unchanged. */\n const listEmpty = column.count === 0 && !column.counting;\n /* DX-5084: how many paged windows inside this lane are loading. `aria-busy` lives on the\n lane's list (valid ARIA there); see `lib/paged-window/list-owner.tsx`. */\n const [windowsLoading, setWindowsLoading] = useState(0);\n const listOwner = useMemo(() => ({ reportBusy: (d: 1 | -1) => setWindowsLoading((n) => n + d) }), []);\n const strings = useUiStrings().board;\n /* DX-3981: a typo'd colour makes `color-mix` invalid and the lane silently\n transparent — say so where the author can see it. `CSS` is absent outside\n a browser, where there is nothing to check against. */\n const columnId = column.id;\n useEffect(() => {\n // I18N-ALLOW: CSS.supports property name, a feature probe on the accent colour\n if (accent === undefined || typeof CSS === \"undefined\" || CSS.supports(\"color\", accent)) return;\n console.warn(`[danxbot] board: column \"${String(columnId)}\" got accent \"${accent}\", which is not a CSS colour.`);\n }, [accent, columnId]);\n const columnContext = useMemo(\n () => ({ columnId: column.id, label: column.label }),\n [column.id, column.label],\n );\n const { crossLaneDrop } = useBoardContext<T>(\"BoardColumn\");\n\n /* Resolved once, here, rather than inside `BoardColumnBody` — the default\n needs `s.empty()`, which is this column's own `overWip`-scoped recipe\n instance, and recomputing that inside a child component would mean\n threading `overWip` down as a second prop for no reason `s` doesn't\n already serve. */\n const resolvedEmptyState = emptyState ?? (\n <EmptyState\n title={strings.emptyTitle}\n description={strings.emptyDescription}\n className={s.empty()}\n />\n );\n\n const countBadge = (\n <CountBadge\n count={column.counting ? null : headerCount === undefined ? column.count : headerCount}\n wipLimit={column.wipLimit}\n overWip={overWip}\n accented={accent !== undefined}\n />\n );\n\n return (\n <div\n className={cn(s.column(), className)}\n style={accent === undefined ? undefined : ({ \"--lane-accent\": accent } as CSSProperties)}\n >\n <div data-board-header=\"\" className={s.header()}>\n {icon === undefined ? (\n <span className={s.label()}>{column.label}</span>\n ) : (\n <span className={s.title()}>\n <span className={s.glyph()} aria-hidden=\"true\">\n {icon}\n </span>\n <span className={s.label()}>{column.label}</span>\n </span>\n )}\n {actions === undefined ? (\n countBadge\n ) : (\n <span data-board-actions=\"\" className={s.trailing()}>\n {countBadge}\n {actions}\n </span>\n )}\n </div>\n {/* DX-4575: the plain, role-less box the locked-lane banner overlays. It is\n the list's own size (`flex-1`, same as the list inside it), so `top-2`\n is the top of the cards and the header's height is never guessed. The\n banner is a sibling of the `role=\"list\"` element, not a child, so it is\n never one of the list's ARIA children. */}\n <div className=\"relative flex min-h-0 flex-1 flex-col\">\n {column.reorderLocked !== undefined && (\n <ReorderLockedBanner columnId={column.id} message={column.reorderLocked} />\n )}\n {crossLaneDrop === \"lane\" && <LaneDropHighlight columnId={column.id} />}\n {/* `role=\"list\"` on THIS element, not on `DragDropContainer`'s own div —\n see the file header for why the wrapper is necessary and why an\n extra roleless layer does not break the list/listitem relationship.\n `BoardColumnProvider` scopes `columnId` to exactly this column's\n cards, so a `<BoardCard>` never has to be told which column it is\n in — the same reason `DragDropItem` reads `container` from\n `DragDropContainer`'s own context instead of a repeated prop.\n\n `aria-label` lives HERE, independent of whatever renders inside —\n `BoardColumnBody` swaps the empty-state sentence for nothing mid-drag\n (see its own header) and this accessible name is exactly why that is\n safe: the drop target's name never depended on its content. */}\n {/* DX-5084: `data-board-lane` is the lane's stable handle — its role flips between list and group as cards come and go. */}\n <div data-board-lane=\"\" role={listEmpty ? \"group\" : \"list\"} aria-label={column.label} aria-busy={windowsLoading > 0 ? true : undefined} className={s.list()}>\n <DragDropContainer\n id={column.id}\n label={column.label}\n axis=\"y\"\n offset={column.offset}\n total={column.counting ? undefined : column.count}\n crossDrop={crossLaneDrop}\n /* `flex-1` IS THE FIX FOR TWO SEPARATE SYMPTOMS THAT LOOK LIKE ONE.\n Without it this box — the actual registered drop target `lib/dnd`\n hit-tests against (`geometry.ts#containerAt`, `element.\n getBoundingClientRect()`) — sizes to its OWN content: `min-h-24`\n for an empty column, or the stacked height of its cards for a\n short one. Two consequences, not one: (1) a short/empty column\n visibly stops early, short of the column shell's own bottom edge\n (the shell stretches via the row's default `align-items: stretch`\n — see `Board`'s own row — but this inner box never did); and (2)\n because hit-testing reads THIS element's rect and nothing wider,\n the dead space below it is not part of the drop target at all —\n a pointer released there resolves against whatever container (if\n any) IS registered under it, never this column. `flex-1` makes\n the registered rect and the visible column body the same box, so\n \"looks droppable\" and \"is droppable\" stop disagreeing. */\n className={cn(\"min-h-24 flex-1 p-2\", listClassName)}\n >\n <ListOwnerProvider value={listOwner}>\n <BoardColumnProvider value={columnContext}>\n <BoardColumnBody\n isEmpty={listEmpty}\n emptyState={resolvedEmptyState}\n >\n {children}\n </BoardColumnBody>\n </BoardColumnProvider>\n </ListOwnerProvider>\n </DragDropContainer>\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * THE EMPTY-STATE / DRAG-MARKER HANDOFF for one column.\n *\n * Reads `shift` off `DragDropContainer`'s OWN context rather than computing a\n * second \"is a drag over me\" boolean — `shift.markerAt` is already exactly\n * that question, answered once, for the identical reason `DragDropContainer`\n * itself only draws its empty-column marker (`DragDrop.tsx`, the\n * `restCount === 0` branch) when `shift.markerAt !== null`. This component\n * fires at the same moment, off the same field, so the placeholder disappears\n * on precisely the render the marker appears — never a frame early or late,\n * and never for some OTHER empty column elsewhere on the board (`shift` is\n * per-container; a column that is not the drag's current target keeps a\n * non-null `shift` with `markerAt: null` for as long as any drag is live, and\n * `null` outright once nothing is).\n *\n * `isEmpty` is the column having a known length of 0 (`count === 0` and not\n * `counting` — a length still being read is not empty; DX-4540) — the same signal `BoardColumn` used to\n * choose `emptyState` before this component existed — not re-derived from the\n * layout snapshot `shift` reads from. The two already have to agree: a lane\n * that is empty renders no `<BoardCard>`s, so `shift.restCount`\n * (items registered under this container, minus whichever is being carried)\n * is `0` by construction whenever `isEmpty` is `true`.\n */\nfunction BoardColumnBody({\n isEmpty,\n emptyState,\n children,\n}: {\n isEmpty: boolean;\n emptyState: ReactNode;\n children: ReactNode;\n}) {\n const { shift } = useDragDropContainer(\"BoardColumn\");\n if (!isEmpty) return <>{children}</>;\n if (shift && shift.markerAt !== null) return null;\n return <>{emptyState}</>;\n}\n\n/**\n * DX-4575: the `reorderLocked` sentence, shown while a card from THIS column is\n * held over it. Whose card it is comes from the session's own `from.container`\n * (the same state `DragDropItem` reads), never a count compared against what the\n * consumer happened to render. A card arriving from another lane is allowed, so\n * it gets no message.\n *\n * AN OVERLAY, NEVER IN FLOW. The session measures every card at pickup and\n * `drag-drop/shift.ts` only ever TRANSLATES them (\"translate, never layout\"),\n * so anything that takes space inside the column after pickup would leave the\n * measured rects, the marker and the drop index stale. It is therefore\n * absolutely positioned over the `relative` box that wraps the column's list.\n * `pointer-events-none` is not for the drop: drops resolve from the rects the\n * session measured, never from what is under the pointer. It is for\n * `autoscroll.ts`, which finds the scroller to move with\n * `document.elementFromPoint`: a banner that answered that probe would hide the\n * list's scroller from it while the pointer is over the banner.\n */\nfunction ReorderLockedBanner({ columnId, message }: { columnId: BoardColumnId; message: string }) {\n const { session } = useDragDrop(\"BoardColumn\");\n const state = useDragState(session);\n if (heldOver(state, columnId) !== \"own\") return null;\n return (\n <div role=\"status\" data-board-reorder-locked=\"\" className={boardRecipe().reorderLocked()}>\n <Icon name=\"info\" size=\"xs\" />\n {message}\n </div>\n );\n}\n\n/**\n * DX-4583: the whole-lane highlight, shown while a card from ANOTHER lane is held\n * over THIS one under `crossLaneDrop=\"lane\"`. Whose card it is comes from the\n * session's own `from.container` and `over.container`, never a count. The\n * mirror of `ReorderLockedBanner`: that one speaks when the card is from this\n * lane, this one when it is not.\n *\n * AN OVERLAY, NEVER IN FLOW, for the same reason: the session measured every box\n * at pickup, so a highlight that took space (or restyled the registered list's\n * size) would leave the measured rects stale. It sits over the `relative` box\n * wrapping the list and is `pointer-events-none`, which also keeps it from\n * answering `autoscroll.ts`'s `elementFromPoint` probe.\n */\nfunction LaneDropHighlight({ columnId }: { columnId: BoardColumnId }) {\n const { session } = useDragDrop(\"BoardColumn\");\n const state = useDragState(session);\n if (heldOver(state, columnId) !== \"other\") return null;\n return <div aria-hidden=\"true\" data-board-lane-drop=\"\" className={boardRecipe().laneDrop()} />;\n}\n\n/** What the badge shows while a windowed column's length is still being read (`counting`). */\nconst UNKNOWN_COUNT = \"–\";\n\nfunction CountBadge({\n count,\n wipLimit,\n overWip,\n accented,\n}: {\n count: number | null;\n wipLimit: number | undefined;\n overWip: boolean;\n accented: boolean;\n}) {\n const locale = useUiLocale();\n const wipCount = useUiStrings().board.wipCount;\n const numbers = numberFormat(locale, {});\n /* NEVER COLOUR ALONE (WCAG 1.4.1) — the header background shift is paired\n with an icon AND a text change (\"N / limit\" instead of a bare \"N\"), so\n the over-limit signal survives for a user who cannot distinguish the\n background tint at all. */\n return (\n <span\n data-board-count=\"\"\n className={cn(\n \"inline-flex items-center gap-1 font-mono text-2xs\",\n overWip ? \"font-semibold text-danger-text\" : accented ? \"text-primary\" : \"text-tertiary\",\n )}\n >\n {overWip && <Icon name=\"triangle-alert\" size=\"xs\" />}\n {overWip && count !== null && wipLimit !== undefined ? wipCount(numbers.format(count), numbers.format(wipLimit)) : count === null ? UNKNOWN_COUNT : numbers.format(count)}\n </span>\n );\n}\n\n/* ----------------------------------------------------------------------------\n CARD — the required wrapper. Carries the item's identity into `DragDropItem`\n and hands the consumer the ONE dual-purpose control WCAG 2.2 SC 2.5.7 makes\n mandatory, via a render prop rather than baking a layout around it.\n -------------------------------------------------------------------------- */\n\nexport interface BoardCardProps {\n id: BoardItemId;\n /** Position within its OWN column right now — same contract as\n * `DragDropItem.index`: the real index in the consumer's data, never a\n * filtered render order. */\n index: number;\n /** Spoken by the drag engine's announcements and this card's own \"Move\n * <label>\" menu trigger label. Falls back to `id`, which is speakable and\n * not great — supply it. */\n label?: string;\n className?: string;\n /**\n * Card content, 100% consumer-owned — `Board` and `BoardCard` do not know\n * what is inside. `handle` is the dual-purpose grip-and-menu control (see\n * the file header); RES-GAME's evidence is that a board renders this\n * INSIDE its `RecordCardHandle` slot (`RecordCard.tsx` reserves exactly\n * this region), but nothing here requires that specific composition — it\n * is a plain `ReactNode`, placeable anywhere the consumer's markup wants a\n * pointer-operable, non-dragging route to every move this card can make.\n */\n children: (handle: ReactNode) => ReactNode;\n}\n\nexport function BoardCard({ id, index, label, className, children }: BoardCardProps) {\n const { columnId } = useBoardColumnContext(\"BoardCard\");\n\n /* A ref rather than state: this is read once in an effect and never\n rendered, so putting it in state would re-render every card on the board\n to learn something no pixel depends on. */\n const handlePlaced = useRef(false);\n const registerHandle = useCallback(() => {\n handlePlaced.current = true;\n return () => {\n handlePlaced.current = false;\n };\n }, []);\n\n /* THE CHECK THAT MAKES THE 2.5.7 CONTROL HARD TO OMIT RATHER THAN MERELY\n OFFERED. See `BoardCardContextValue.registerHandle`. A consumer is free to\n put the control anywhere in their own markup — that freedom is the whole\n point of the render prop — but dropping it on the floor is not a silent\n outcome. Effect deps are `id` alone: this asks \"did this card end up with\n its control\", which is a question about the card, not about how many times\n it re-rendered. */\n useEffect(() => {\n if (handlePlaced.current) return;\n console.warn(\n `[danxbot] board: card \"${String(id)}\" rendered without placing the move ` +\n `control it was handed. Every drag outcome must stay reachable by ` +\n `pointer alone without dragging (WCAG 2.2 SC 2.5.7) — a keyboard path ` +\n `does not satisfy it. Render the node \\`BoardCard\\` passes to its ` +\n `children function.`,\n );\n }, [id]);\n\n const cardContext = useMemo(\n () => ({ itemId: id, index, label, registerHandle }),\n [id, index, label, registerHandle],\n );\n\n return (\n <DragDropItem id={id} index={index} label={label} className={className}>\n <BoardCardProvider value={cardContext}>\n {/* `role=\"listitem\"` — the direct-child half of the `role=\"list\"`\n pair `BoardColumn` opens. See the file header. */}\n <div role=\"listitem\">{children(<BoardCardHandle columnId={columnId} />)}</div>\n </BoardCardProvider>\n </DragDropItem>\n );\n}\n\n/* ----------------------------------------------------------------------------\n CARD GROUP (DX-5522) — a box around the cards of one parent in a lane.\n -------------------------------------------------------------------------- */\n\nexport interface BoardCardGroupProps {\n /** Unique among this lane's groups and stable across renders: the parent's id, say. A card of the same parent in another lane uses the same id. */\n id: string;\n /** Names the set of cards in the box, for assistive technology. */\n label?: string;\n /** What sits above the cards inside the box (the parent's title and marks). It moves with the box. */\n header?: ReactNode;\n /** Classes for the box's look (a border and fill in the parent's colour): the box is a `RecordCard`, so its corner, border and padding are a lane tile's own. */\n frameClassName?: string;\n /** On the group's outer element: its margin and nothing that changes its size while a card is carried. */\n className?: string;\n /** The outer element's `data-testid`. */\n testId?: string;\n /** On the content inside the box, between the header and the cards (its `gap`). */\n contentClassName?: string;\n /** The group's `BoardCard`s, consecutive in the lane. */\n children: ReactNode;\n /**\n * DX-5521: this is one piece of a box the previous piece goes on from (a box whose cards sit on two pages of a windowed lane:\n * each page draws its own cards in its own piece). The piece has no top edge, no top corners and no padding above its first\n * card, so it joins the piece above it as one box. Give the `header` to the first piece only. See `DragDropGroup`.\n */\n continuesBefore?: boolean;\n /** DX-5521: the next piece goes on from this one: no bottom edge, corners, padding or margin. See `continuesBefore`. */\n continuesAfter?: boolean;\n}\n\n/** DX-5521: which neighbouring pieces a piece of a box joins (see `BoardCardGroupProps.continuesBefore`). */\ninterface PieceJoins {\n continuesBefore: boolean;\n continuesAfter: boolean;\n}\n\n/**\n * DX-5521: the edges of a piece's frame or content that a neighbouring piece continues: no border or corner there, and, with\n * `padding` (the content, which holds the cards), no padding either, so the cards across a join are spaced as inside one box.\n */\nfunction joinedEdges({ continuesBefore, continuesAfter }: PieceJoins, { padding }: { padding: boolean }): string {\n return cn(continuesBefore && \"rounded-t-none border-t-0\", continuesBefore && padding && \"pt-0\", continuesAfter && \"rounded-b-none border-b-0\", continuesAfter && padding && \"pb-0\");\n}\n\n/**\n * A box drawn around consecutive cards of a lane. The cards stay the lane's own `BoardCard`s, at the lane's own indexes: the box only\n * changes how a carried card moves through it. The box's frame shrinks when a card is dragged out, grows when one is dragged in, and the\n * cards and the drop placeholder stay in their own box instead of sliding through its edge (see `DragDropGroup`).\n */\nexport function BoardCardGroup({ frameClassName, className, contentClassName, continuesBefore = false, continuesAfter = false, ...group }: BoardCardGroupProps) {\n useBoardColumnContext(\"BoardCardGroup\");\n const joins = { continuesBefore, continuesAfter };\n return (\n <DragDropGroup\n {...group}\n continuesBefore={continuesBefore}\n continuesAfter={continuesAfter}\n className={className}\n contentClassName={contentClassName}\n frame={<RecordCard className={cn(\"size-full\", frameClassName, joinedEdges(joins, { padding: false }))} />}\n /* The content is a RecordCard with no look of its own, so the padding the frame's edge sits at is the one every lane tile has. */\n render={<RecordCard className={cn(\"border-transparent bg-transparent\", joinedEdges(joins, { padding: true }))} />}\n />\n );\n}\n\n/**\n * THE DUAL-PURPOSE CONTROL, AND WHAT IT IS NOT. Atlassian's own pattern (RES-\n * GAME, D-7) is ONE element serving as both the drag handle and the menu\n * trigger — `DragHandleButton`. This is the closest version buildable without\n * editing `DragDropHandle` (not this round's file): a `<DragDropHandle>`\n * (the grip, pointer- and keyboard-draggable) rendered immediately beside a\n * plain `<button>` (the menu trigger), inside ONE cluster `BoardCard` always\n * produces. `DragDropHandle`'s own signature destructures only\n * `{label, className, children}` and does not spread the rest onto its\n * `<span>` — so an `onClick`, an `aria-haspopup`, or an injected `ref` handed\n * to it (which is exactly what `Menu`'s `trigger` prop needs to wire a click-\n * to-open behaviour via `BaseMenu.Trigger`'s `render` clone) is silently\n * dropped, not forwarded. Verifying whether a native `click` even reaches a\n * SHARED element after this package's own pointer-based drag gesture\n * completes is a real-browser question this round is not allowed to probe\n * (`audit:dnd` runs centrally). Two adjacent controls sidesteps that\n * uncertainty entirely — a plain `<button>` next to the grip needs no browser\n * probe to prove its `onClick` fires, only `fireEvent.click` in\n * `board.test.tsx` — and still satisfies WCAG 2.2 SC 2.5.7 to the letter: the\n * criterion requires A pointer-operable, non-dragging route to every drag\n * outcome to exist and be unavoidable, not that it share a pixel with the\n * drag handle. What `DragDropHandle` would need to close the remaining gap\n * to Atlassian's literal single-element pattern is named in the round's\n * report.\n */\nfunction BoardCardHandle({ columnId }: { columnId: BoardColumnId }) {\n const boardCtx = useBoardContext<unknown>(\"BoardCardHandle\");\n const item = useBoardCardContext(\"BoardCardHandle\");\n const cardIsDragSource = useBoardCardIsDragSource();\n const [open, setOpen] = useState(false);\n const s = boardRecipe();\n const strings = useUiStrings().board;\n\n /* Announce this control's existence to the card that handed it out, so a\n render prop that was received and never placed cannot pass silently. */\n const { registerHandle } = item;\n useEffect(() => registerHandle(), [registerHandle]);\n\n const currentColumn = boardCtx.columns.find((c) => c.id === columnId);\n const otherColumns = boardCtx.columns.filter((c) => c.id !== columnId);\n /* DX-4540: WHERE THIS CARD IS IN THE WHOLE COLUMN, not in the window. In a\n windowed lane the first loaded card may be the 221st, so \"is there anything\n above it\" is a question about the column's `offset` and `count`, and the\n menu offers Move to top/bottom exactly when the answer is yes — not when\n the card happens to be mid-window. */\n const position = positionInColumn(currentColumn, item.index);\n const loaded = currentColumn?.items.length ?? 0;\n\n function move(to: BoardMove[\"to\"]) {\n setOpen(false);\n boardCtx.requestMove({\n moves: [{ itemId: item.itemId, from: { columnId, index: item.index }, to }],\n source: \"menu\",\n });\n }\n\n /* DX-4575: a lane with reordering off offers only the moves to other lanes. */\n const reorderable = currentColumn?.reorderLocked === undefined;\n const canMoveToTop = reorderable && position > 0;\n const canMoveToBottom = reorderable && position < (currentColumn?.count ?? 0) - 1;\n /* DX-4589: this lane's own words, then the Board's pair. */\n const toTopLabel = currentColumn?.reorderLabels?.toTop ?? boardCtx.reorderLabels.toTop;\n const toBottomLabel = currentColumn?.reorderLabels?.toBottom ?? boardCtx.reorderLabels.toBottom;\n const name = item.label ?? String(item.itemId);\n\n return (\n <span className={s.handleCluster()}>\n {/* NO GRIP WHEN THE WHOLE CARD ALREADY DRAGS. Two drag sources for one\n card is redundant to look at and ambiguous to explain — and the grip\n is the half that is optional. The menu below is not: it is the\n single-pointer, non-dragging route SC 2.5.7 requires, and it renders\n either way. */}\n {!cardIsDragSource && <DragDropHandle />}\n <Menu\n open={open}\n onOpenChange={setOpen}\n side=\"bottom\"\n align=\"start\"\n trigger={\n <button type=\"button\" className={s.menuTrigger()} aria-label={strings.moveCard(name)}>\n <Icon name=\"more-vertical\" size=\"sm\" />\n </button>\n }\n >\n {canMoveToTop && (\n <MenuItem onClick={() => move({ columnId, index: 0, edge: \"top\" })}>{toTopLabel}</MenuItem>\n )}\n {canMoveToBottom && (\n <MenuItem onClick={() => move({ columnId, index: loaded - 1, edge: \"bottom\" })}>\n {toBottomLabel}\n </MenuItem>\n )}\n {otherColumns.map((c) => (\n <MenuItem\n key={c.id}\n onClick={() =>\n move(\n boardCtx.crossLaneDrop === \"lane\"\n ? { columnId: c.id, lane: true }\n : { columnId: c.id, index: c.items.length, edge: \"bottom\" },\n )\n }\n >\n {strings.moveToColumn(c.label)}\n </MenuItem>\n ))}\n {!canMoveToTop && !canMoveToBottom && otherColumns.length === 0 && (\n <div className=\"px-2.5 py-2 text-xs text-tertiary\">{strings.nothingToMove}</div>\n )}\n </Menu>\n </span>\n );\n}\n"],"names":["Board","items","columns","accessors","validateMove","onMove","selection","reorderLabels","crossLaneDrop","autoScroll","className","columnsClassName","renderDragging","children","board","useBoard","uiStrings","useUiStrings","locale","useUiLocale","rejection","setRejection","useState","requestMove","useCallback","request","verdict","describeMoveRejection","handleDragEnd","e","toAnotherLane","isLaneDrop","renderCarried","useMemo","id","item","candidate","boardStrings","toTopLabel","toBottomLabel","context","jsxs","DragDrop","cn","jsx","BoardProvider","boardRecipe","Icon","BoardCardSurface","DragDropSurface","BoardCardSurfaceContext","BoardColumn","column","emptyState","headerCount","listClassName","accent","icon","actions","overWip","s","listEmpty","windowsLoading","setWindowsLoading","listOwner","d","n","strings","columnId","useEffect","columnContext","useBoardContext","resolvedEmptyState","EmptyState","countBadge","CountBadge","ReorderLockedBanner","LaneDropHighlight","DragDropContainer","ListOwnerProvider","BoardColumnProvider","BoardColumnBody","isEmpty","shift","useDragDropContainer","Fragment","message","session","useDragDrop","state","useDragState","heldOver","UNKNOWN_COUNT","count","wipLimit","accented","wipCount","numbers","numberFormat","BoardCard","index","label","useBoardColumnContext","handlePlaced","useRef","registerHandle","cardContext","DragDropItem","BoardCardProvider","BoardCardHandle","joinedEdges","continuesBefore","continuesAfter","padding","BoardCardGroup","frameClassName","contentClassName","group","joins","DragDropGroup","RecordCard","boardCtx","useBoardCardContext","cardIsDragSource","useBoardCardIsDragSource","open","setOpen","currentColumn","c","otherColumns","position","positionInColumn","loaded","move","to","reorderable","canMoveToTop","canMoveToBottom","name","DragDropHandle","Menu","MenuItem"],"mappings":"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"}
|