@50arms/ui 0.0.0-stage → 35.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +167 -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 +331 -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 +20 -0
- package/dist/types/components/rbac/ApiKeysPanel.d.ts +26 -0
- package/dist/types/components/rbac/ApiKeysTable.d.ts +63 -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 +633 -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,210 @@
|
|
|
1
|
+
import { jsxs as s, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Separator as x } from "@base-ui/react/separator";
|
|
3
|
+
import { ScrollArea as o } from "@base-ui/react/scroll-area";
|
|
4
|
+
import { Collapsible as d } from "@base-ui/react/collapsible";
|
|
5
|
+
import { cn as l } from "../lib/cn.js";
|
|
6
|
+
import { Icon as p } from "./Icon.js";
|
|
7
|
+
function j({ orientation: r = "horizontal", label: a, className: t, ref: n }) {
|
|
8
|
+
return a ? /* @__PURE__ */ s("div", { className: l("flex items-center gap-3", t), role: "separator", children: [
|
|
9
|
+
/* @__PURE__ */ e("span", { className: "h-px flex-1 bg-border-subtle" }),
|
|
10
|
+
/* @__PURE__ */ e("span", { className: "text-2xs font-semibold tracking-widest text-tertiary uppercase", children: a }),
|
|
11
|
+
/* @__PURE__ */ e("span", { className: "h-px flex-1 bg-border-subtle" })
|
|
12
|
+
] }) : /* @__PURE__ */ e(
|
|
13
|
+
x,
|
|
14
|
+
{
|
|
15
|
+
ref: n,
|
|
16
|
+
orientation: r,
|
|
17
|
+
className: l(
|
|
18
|
+
"shrink-0 bg-border-subtle",
|
|
19
|
+
r === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
20
|
+
t
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
function C({ children: r, maxHeight: a, className: t }) {
|
|
26
|
+
return /* @__PURE__ */ s(o.Root, { className: l("relative min-w-0", t), children: [
|
|
27
|
+
/* @__PURE__ */ e(
|
|
28
|
+
o.Viewport,
|
|
29
|
+
{
|
|
30
|
+
className: "size-full overscroll-contain rounded-[inherit]",
|
|
31
|
+
style: a ? { maxHeight: a } : void 0,
|
|
32
|
+
children: /* @__PURE__ */ e(o.Content, { children: r })
|
|
33
|
+
}
|
|
34
|
+
),
|
|
35
|
+
/* @__PURE__ */ e(
|
|
36
|
+
o.Scrollbar,
|
|
37
|
+
{
|
|
38
|
+
orientation: "vertical",
|
|
39
|
+
className: l(
|
|
40
|
+
"flex w-2.5 touch-none justify-center p-0.5 select-none",
|
|
41
|
+
"opacity-0 transition-[var(--tx-colors),opacity] duration-(--dur-base)",
|
|
42
|
+
"data-hovering:opacity-100 data-scrolling:opacity-100"
|
|
43
|
+
),
|
|
44
|
+
children: /* @__PURE__ */ e(o.Thumb, { className: "w-1.5 rounded-full bg-border-strong transition-colors duration-(--dur-fast) hover:bg-border-interactive" })
|
|
45
|
+
}
|
|
46
|
+
),
|
|
47
|
+
/* @__PURE__ */ e(
|
|
48
|
+
o.Scrollbar,
|
|
49
|
+
{
|
|
50
|
+
orientation: "horizontal",
|
|
51
|
+
className: l(
|
|
52
|
+
"flex h-2.5 touch-none flex-col justify-center p-0.5 select-none",
|
|
53
|
+
"opacity-0 transition-[var(--tx-colors),opacity] duration-(--dur-base)",
|
|
54
|
+
"data-hovering:opacity-100 data-scrolling:opacity-100"
|
|
55
|
+
),
|
|
56
|
+
children: /* @__PURE__ */ e(o.Thumb, { className: "h-1.5 rounded-full bg-border-strong transition-colors duration-(--dur-fast) hover:bg-border-interactive" })
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
] });
|
|
60
|
+
}
|
|
61
|
+
function b({ className: r, ...a }) {
|
|
62
|
+
return /* @__PURE__ */ e(d.Root, { className: l(r), ...a });
|
|
63
|
+
}
|
|
64
|
+
function f({ className: r, ...a }) {
|
|
65
|
+
return /* @__PURE__ */ e(
|
|
66
|
+
d.Trigger,
|
|
67
|
+
{
|
|
68
|
+
className: l(
|
|
69
|
+
"cursor-pointer text-left outline-none transition-colors duration-(--dur-fast)",
|
|
70
|
+
r
|
|
71
|
+
),
|
|
72
|
+
...a
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
function h({ className: r, ...a }) {
|
|
77
|
+
return /* @__PURE__ */ e(
|
|
78
|
+
d.Panel,
|
|
79
|
+
{
|
|
80
|
+
className: l(
|
|
81
|
+
"overflow-hidden",
|
|
82
|
+
"h-(--collapsible-panel-height) transition-[var(--tx-colors),height,opacity] duration-(--dur-slow) ease-emphasis",
|
|
83
|
+
"data-starting-style:h-0 data-starting-style:opacity-0",
|
|
84
|
+
"data-ending-style:h-0 data-ending-style:opacity-0 data-ending-style:duration-(--dur-exit-slow)",
|
|
85
|
+
r
|
|
86
|
+
),
|
|
87
|
+
...a
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
function T({
|
|
92
|
+
trigger: r,
|
|
93
|
+
defaultOpen: a,
|
|
94
|
+
open: t,
|
|
95
|
+
onOpenChange: n,
|
|
96
|
+
triggerClassName: i,
|
|
97
|
+
chevron: c = !0,
|
|
98
|
+
children: m,
|
|
99
|
+
className: u
|
|
100
|
+
}) {
|
|
101
|
+
return /* @__PURE__ */ s(
|
|
102
|
+
b,
|
|
103
|
+
{
|
|
104
|
+
defaultOpen: a,
|
|
105
|
+
open: t,
|
|
106
|
+
onOpenChange: n,
|
|
107
|
+
className: l("flex min-w-0 flex-col", u),
|
|
108
|
+
children: [
|
|
109
|
+
/* @__PURE__ */ s(
|
|
110
|
+
f,
|
|
111
|
+
{
|
|
112
|
+
className: l(
|
|
113
|
+
"group/collapsible flex items-center gap-2 self-start rounded-md",
|
|
114
|
+
"text-sm font-medium text-secondary",
|
|
115
|
+
"hover:text-primary",
|
|
116
|
+
i
|
|
117
|
+
),
|
|
118
|
+
children: [
|
|
119
|
+
c && /* @__PURE__ */ e(
|
|
120
|
+
p,
|
|
121
|
+
{
|
|
122
|
+
name: "chevron-right",
|
|
123
|
+
size: "sm",
|
|
124
|
+
className: "transition-[var(--tx-colors),transform,translate,scale,rotate] duration-(--dur-base) ease-snappy group-data-panel-open/collapsible:rotate-90"
|
|
125
|
+
}
|
|
126
|
+
),
|
|
127
|
+
r
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e("div", { className: "pt-3", children: m }) })
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
function E({
|
|
137
|
+
icon: r,
|
|
138
|
+
title: a,
|
|
139
|
+
description: t,
|
|
140
|
+
action: n,
|
|
141
|
+
secondaryAction: i,
|
|
142
|
+
className: c
|
|
143
|
+
}) {
|
|
144
|
+
return /* @__PURE__ */ s(
|
|
145
|
+
"div",
|
|
146
|
+
{
|
|
147
|
+
className: l(
|
|
148
|
+
"flex flex-col items-center justify-center gap-3 px-6 py-16 text-center",
|
|
149
|
+
c
|
|
150
|
+
),
|
|
151
|
+
children: [
|
|
152
|
+
/* @__PURE__ */ e("span", { className: "grid size-14 place-items-center rounded-2xl bg-surface-hover text-tertiary", children: r ?? /* @__PURE__ */ e(p, { name: "folder-open", size: "lg" }) }),
|
|
153
|
+
/* @__PURE__ */ s("div", { className: "flex flex-col gap-1", children: [
|
|
154
|
+
/* @__PURE__ */ e("p", { className: "font-display text-md font-semibold text-primary text-balance", children: a }),
|
|
155
|
+
t && /* @__PURE__ */ e("div", { className: "mx-auto max-w-sm text-sm leading-relaxed text-tertiary text-pretty", children: t })
|
|
156
|
+
] }),
|
|
157
|
+
(n || i) && /* @__PURE__ */ s("div", { className: "mt-1 flex flex-wrap items-center justify-center gap-2.5", children: [
|
|
158
|
+
n,
|
|
159
|
+
i
|
|
160
|
+
] })
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
const g = {
|
|
166
|
+
neutral: "border-border bg-surface text-tertiary",
|
|
167
|
+
accent: "border-accent-border bg-accent-subtle text-accent-text",
|
|
168
|
+
success: "border-success-border bg-success-subtle text-success-text",
|
|
169
|
+
warning: "border-warning-border bg-warning-subtle text-warning-text",
|
|
170
|
+
danger: "border-danger-border bg-danger-subtle text-danger-text"
|
|
171
|
+
};
|
|
172
|
+
function k({ items: r, className: a }) {
|
|
173
|
+
return /* @__PURE__ */ e("ol", { className: l("flex min-w-0 flex-col", a), children: r.map((t, n) => /* @__PURE__ */ s("li", { className: "relative flex min-w-0 gap-4 pb-6 last:pb-0", children: [
|
|
174
|
+
n < r.length - 1 && /* @__PURE__ */ e(
|
|
175
|
+
"span",
|
|
176
|
+
{
|
|
177
|
+
"aria-hidden": !0,
|
|
178
|
+
className: "absolute top-9 bottom-0 left-4 w-px -translate-x-1/2 bg-border-subtle"
|
|
179
|
+
}
|
|
180
|
+
),
|
|
181
|
+
/* @__PURE__ */ e(
|
|
182
|
+
"span",
|
|
183
|
+
{
|
|
184
|
+
className: l(
|
|
185
|
+
"relative z-1 grid size-8 shrink-0 place-items-center rounded-full border",
|
|
186
|
+
g[t.tone ?? "neutral"]
|
|
187
|
+
),
|
|
188
|
+
children: t.icon ?? /* @__PURE__ */ e(p, { name: "circle-dot", size: "sm" })
|
|
189
|
+
}
|
|
190
|
+
),
|
|
191
|
+
/* @__PURE__ */ s("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5 pt-1", children: [
|
|
192
|
+
/* @__PURE__ */ s("div", { className: "flex flex-wrap items-baseline justify-between gap-x-4 gap-y-0.5", children: [
|
|
193
|
+
/* @__PURE__ */ e("span", { className: "text-sm font-medium text-primary", children: t.title }),
|
|
194
|
+
t.timestamp && /* @__PURE__ */ e("span", { className: "font-mono text-2xs tabular-nums text-tertiary", children: t.timestamp })
|
|
195
|
+
] }),
|
|
196
|
+
t.description && /* @__PURE__ */ e("div", { className: "text-sm text-secondary text-pretty", children: t.description })
|
|
197
|
+
] })
|
|
198
|
+
] }, t.id)) });
|
|
199
|
+
}
|
|
200
|
+
export {
|
|
201
|
+
T as Collapsible,
|
|
202
|
+
h as CollapsiblePanel,
|
|
203
|
+
b as CollapsibleRoot,
|
|
204
|
+
f as CollapsibleTrigger,
|
|
205
|
+
E as EmptyState,
|
|
206
|
+
C as ScrollArea,
|
|
207
|
+
j as Separator,
|
|
208
|
+
k as Timeline
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=Surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Surface.js","sources":["../../src/components/Surface.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode, Ref } from \"react\";\nimport { Separator as BaseSeparator } from \"@base-ui/react/separator\";\nimport { ScrollArea as BaseScrollArea } from \"@base-ui/react/scroll-area\";\nimport { Collapsible as BaseCollapsible } from \"@base-ui/react/collapsible\";\nimport { cn } from \"../lib/cn\";\nimport { Icon } from \"./Icon\";\n\n/* ============================================================================\n SEPARATOR · SCROLL AREA · COLLAPSIBLE · EMPTY STATE\n The small structural pieces. Individually unremarkable, collectively the\n difference between a set of components and a system.\n ========================================================================= */\n\nexport interface SeparatorProps {\n orientation?: \"horizontal\" | \"vertical\";\n /** Text or a chip centred on the line — \"or\", \"Today\", a count. */\n label?: ReactNode;\n className?: string;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * A rule.\n *\n * With a label it becomes two rules with content between them, which is the\n * only correct way to do it — a background-coloured span sitting on top of one\n * continuous line looks right until the surface behind it changes, and then\n * the patch is visible.\n */\nexport function Separator({ orientation = \"horizontal\", label, className, ref }: SeparatorProps) {\n if (label) {\n return (\n <div className={cn(\"flex items-center gap-3\", className)} role=\"separator\">\n <span className=\"h-px flex-1 bg-border-subtle\" />\n <span className=\"text-2xs font-semibold tracking-widest text-tertiary uppercase\">\n {label}\n </span>\n <span className=\"h-px flex-1 bg-border-subtle\" />\n </div>\n );\n }\n\n return (\n <BaseSeparator\n ref={ref}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border-subtle\",\n orientation === \"horizontal\" ? \"h-px w-full\" : \"h-full w-px\",\n className,\n )}\n />\n );\n}\n\nexport interface ScrollAreaProps {\n children: ReactNode;\n /** Caps the height and scrolls internally. */\n maxHeight?: string;\n className?: string;\n}\n\n/**\n * A scrollable region with a styled, always-consistent scrollbar.\n *\n * Native scrollbars differ per platform: macOS overlays and hides them, Windows\n * reserves a permanent 17px gutter. That difference silently changes your\n * content width between platforms, which is why a layout that fits on a Mac\n * wraps on Windows. This reserves nothing and draws its own.\n *\n * The scrollbar FADES IN on hover and interaction rather than sitting there —\n * present when you are steering, invisible when you are reading.\n */\nexport function ScrollArea({ children, maxHeight, className }: ScrollAreaProps) {\n return (\n <BaseScrollArea.Root className={cn(\"relative min-w-0\", className)}>\n <BaseScrollArea.Viewport\n className=\"size-full overscroll-contain rounded-[inherit]\"\n style={maxHeight ? { maxHeight } : undefined}\n >\n <BaseScrollArea.Content>{children}</BaseScrollArea.Content>\n </BaseScrollArea.Viewport>\n\n <BaseScrollArea.Scrollbar\n orientation=\"vertical\"\n className={cn(\n \"flex w-2.5 touch-none justify-center p-0.5 select-none\",\n \"opacity-0 transition-[var(--tx-colors),opacity] duration-(--dur-base)\",\n \"data-hovering:opacity-100 data-scrolling:opacity-100\",\n )}\n >\n <BaseScrollArea.Thumb className=\"w-1.5 rounded-full bg-border-strong transition-colors duration-(--dur-fast) hover:bg-border-interactive\" />\n </BaseScrollArea.Scrollbar>\n\n <BaseScrollArea.Scrollbar\n orientation=\"horizontal\"\n className={cn(\n \"flex h-2.5 touch-none flex-col justify-center p-0.5 select-none\",\n \"opacity-0 transition-[var(--tx-colors),opacity] duration-(--dur-base)\",\n \"data-hovering:opacity-100 data-scrolling:opacity-100\",\n )}\n >\n <BaseScrollArea.Thumb className=\"h-1.5 rounded-full bg-border-strong transition-colors duration-(--dur-fast) hover:bg-border-interactive\" />\n </BaseScrollArea.Scrollbar>\n </BaseScrollArea.Root>\n );\n}\n\n/* ----------------------------------------------------------------------------\n COLLAPSIBLE, HEADLESS PARTS (DX-3406).\n\n `Collapsible` below is the fully-composed disclosure: one wrapper renders\n the trigger row (chevron + content) and the panel nested directly under\n it, in that fixed shape. That shape is wrong for a consumer whose trigger\n needs to share its row with something else — an action button, a badge —\n and whose panel needs to render full-width below the ROW, not indented\n under the trigger button itself. Three consumers (`CardDisclosure.tsx` in\n the `danxbot` repo's board UI, and the two `docs-step-list` diagrams\n before their own gap closes separately) hand-rolled that shape themselves\n for exactly this reason, each re-deriving Base UI's linkage by hand.\n\n These three parts are that gap closed: `CollapsibleRoot` /\n `CollapsibleTrigger` / `CollapsiblePanel` wrap the identical\n `BaseCollapsible.Root` / `.Trigger` / `.Panel` primitives `Collapsible`\n itself uses, so `aria-controls` / the panel's `id` are the REAL Base UI\n pairing — computed from React context, not DOM adjacency — never a\n hand-rolled `useId()` a consumer has to reimplement. Because the pairing\n is context-based, `CollapsibleTrigger` and `CollapsiblePanel` only need to\n share a `CollapsibleRoot` ancestor; they can be independent siblings with\n arbitrary other content between them, in any layout the consumer wants.\n\n Each part carries only the styling its bare DOM role needs (interactivity\n cues on the trigger, the height-animation recipe on the panel) — no\n forced flex row, no auto-chevron, no wrapping padding div. `Collapsible`\n is rebuilt on top of these three so the animation/interaction recipe is\n defined in exactly one place; its own public shape and rendered output\n are unchanged for its existing consumers (`Message.tsx`'s tool-output and\n reasoning disclosures, `SettingRow.tsx`, the demo pages).\n -------------------------------------------------------------------------- */\n\nexport interface CollapsibleRootProps\n extends Omit<ComponentProps<typeof BaseCollapsible.Root>, \"render\"> {}\n\n/**\n * Groups a `CollapsibleTrigger` and a `CollapsiblePanel` (or several of\n * either) that can live anywhere as siblings underneath it — the headless\n * counterpart to the fully-composed `Collapsible` below. Renders a plain\n * `<div>` (Base UI's own default); pass `className` for whatever layout the\n * trigger row and panel need to share, or leave it unset to render no box\n * at all beyond that default.\n */\nexport function CollapsibleRoot({ className, ...props }: CollapsibleRootProps) {\n return <BaseCollapsible.Root className={cn(className)} {...props} />;\n}\n\nexport interface CollapsibleTriggerProps\n extends Omit<ComponentProps<typeof BaseCollapsible.Trigger>, \"render\"> {}\n\n/**\n * The bare trigger `<button>` half of the headless `Collapsible` parts —\n * real Base UI `aria-controls`/`aria-expanded` wiring, zero imposed layout.\n * Unlike `Collapsible`'s own trigger, this draws no chevron and forces no\n * flex row: the caller's `children` are the ENTIRE button content, laid out\n * however the caller wants (e.g. sharing a row with an unrelated `action`\n * control that is NOT itself part of this button, rendered as a sibling\n * outside it).\n */\nexport function CollapsibleTrigger({ className, ...props }: CollapsibleTriggerProps) {\n return (\n <BaseCollapsible.Trigger\n className={cn(\n \"cursor-pointer text-left outline-none transition-colors duration-(--dur-fast)\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport interface CollapsiblePanelProps\n extends Omit<ComponentProps<typeof BaseCollapsible.Panel>, \"render\"> {}\n\n/**\n * The bare panel half of the headless `Collapsible` parts — same\n * height-animation recipe `Collapsible`'s own panel uses, with no forced\n * inner padding wrapper, so the caller controls its own spacing.\n */\nexport function CollapsiblePanel({ className, ...props }: CollapsiblePanelProps) {\n return (\n <BaseCollapsible.Panel\n className={cn(\n \"overflow-hidden\",\n \"h-(--collapsible-panel-height) transition-[var(--tx-colors),height,opacity] duration-(--dur-slow) ease-emphasis\",\n \"data-starting-style:h-0 data-starting-style:opacity-0\",\n \"data-ending-style:h-0 data-ending-style:opacity-0 data-ending-style:duration-(--dur-exit-slow)\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport interface CollapsibleProps {\n /**\n * The trigger's CONTENT — not a button.\n *\n * This component supplies the button itself, so passing one nests a button\n * inside a button: invalid HTML, and unreachable by keyboard past the outer\n * one. The prop is content-only by design, which removes the possibility\n * rather than documenting against it.\n */\n trigger: ReactNode;\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n /**\n * Restyles the trigger — for disclosures whose header is a full-width row\n * rather than a line of text, which is most of them outside prose.\n */\n triggerClassName?: string;\n /**\n * Draws the leading chevron. Turn it off when the trigger places its own\n * (trailing, usually) and rotate it with\n * `group-data-panel-open/collapsible:rotate-90`.\n */\n chevron?: boolean;\n children: ReactNode;\n className?: string;\n}\n\n/**\n * One disclosure, without the accordion around it.\n *\n * Height animates from `--collapsible-panel-height`, which Base UI publishes —\n * no measuring, no effect, no frame of lag on first open. Built on the\n * headless `CollapsibleRoot`/`CollapsibleTrigger`/`CollapsiblePanel` parts\n * above — see their own doc if this fixed trigger-row-plus-nested-panel\n * shape doesn't fit your consumer.\n */\nexport function Collapsible({\n trigger,\n defaultOpen,\n open,\n onOpenChange,\n triggerClassName,\n chevron = true,\n children,\n className,\n}: CollapsibleProps) {\n return (\n <CollapsibleRoot\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={onOpenChange}\n className={cn(\"flex min-w-0 flex-col\", className)}\n >\n <CollapsibleTrigger\n className={cn(\n \"group/collapsible flex items-center gap-2 self-start rounded-md\",\n \"text-sm font-medium text-secondary\",\n \"hover:text-primary\",\n triggerClassName,\n )}\n >\n {chevron && (\n <Icon\n name=\"chevron-right\"\n size=\"sm\"\n className=\"transition-[var(--tx-colors),transform,translate,scale,rotate] duration-(--dur-base) ease-snappy group-data-panel-open/collapsible:rotate-90\"\n />\n )}\n {trigger}\n </CollapsibleTrigger>\n\n <CollapsiblePanel>\n <div className=\"pt-3\">{children}</div>\n </CollapsiblePanel>\n </CollapsibleRoot>\n );\n}\n\nexport interface EmptyStateProps {\n icon?: ReactNode;\n title: ReactNode;\n description?: ReactNode;\n /** The primary way out. An empty state without one is a dead end. */\n action?: ReactNode;\n /** A quieter alternative — \"learn more\", \"clear filters\". */\n secondaryAction?: ReactNode;\n className?: string;\n}\n\n/**\n * Nothing here — and what to do about it.\n *\n * The action is the point. An empty state that only apologises leaves someone\n * exactly where they started; the two questions worth answering are \"why is\n * this empty\" and \"what do I press\". \"No results\" with a Clear filters button\n * is a different experience from \"No results\" alone, and it is the same amount\n * of screen.\n */\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n secondaryAction,\n className,\n}: EmptyStateProps) {\n return (\n <div\n className={cn(\n \"flex flex-col items-center justify-center gap-3 px-6 py-16 text-center\",\n className,\n )}\n >\n <span className=\"grid size-14 place-items-center rounded-2xl bg-surface-hover text-tertiary\">\n {icon ?? <Icon name=\"folder-open\" size=\"lg\" />}\n </span>\n <div className=\"flex flex-col gap-1\">\n <p className=\"font-display text-md font-semibold text-primary text-balance\">{title}</p>\n {/* `div` for the same reason as `Timeline`'s description below: the\n prop is `ReactNode`, so block-level content is legal to pass and\n illegal to nest in a `<p>`. */}\n {description && (\n <div className=\"mx-auto max-w-sm text-sm leading-relaxed text-tertiary text-pretty\">\n {description}\n </div>\n )}\n </div>\n {(action || secondaryAction) && (\n <div className=\"mt-1 flex flex-wrap items-center justify-center gap-2.5\">\n {action}\n {secondaryAction}\n </div>\n )}\n </div>\n );\n}\n\nexport interface TimelineItem {\n id: string;\n title: ReactNode;\n description?: ReactNode;\n timestamp?: ReactNode;\n icon?: ReactNode;\n tone?: \"neutral\" | \"accent\" | \"success\" | \"warning\" | \"danger\";\n}\n\nconst TIMELINE_TONE: Record<string, string> = {\n neutral: \"border-border bg-surface text-tertiary\",\n accent: \"border-accent-border bg-accent-subtle text-accent-text\",\n success: \"border-success-border bg-success-subtle text-success-text\",\n warning: \"border-warning-border bg-warning-subtle text-warning-text\",\n danger: \"border-danger-border bg-danger-subtle text-danger-text\",\n};\n\nexport interface TimelineProps {\n items: TimelineItem[];\n className?: string;\n}\n\n/**\n * A vertical sequence of events.\n *\n * The connecting line is drawn per item and stops at the LAST one, rather than\n * being one line behind everything. A single full-height line runs past the\n * final marker into empty space, which reads as \"and then something else\n * happened\" — the opposite of what a finished timeline means.\n */\nexport function Timeline({ items, className }: TimelineProps) {\n return (\n <ol className={cn(\"flex min-w-0 flex-col\", className)}>\n {items.map((item, i) => (\n <li key={item.id} className=\"relative flex min-w-0 gap-4 pb-6 last:pb-0\">\n {i < items.length - 1 && (\n <span\n aria-hidden\n className=\"absolute top-9 bottom-0 left-4 w-px -translate-x-1/2 bg-border-subtle\"\n />\n )}\n <span\n className={cn(\n \"relative z-1 grid size-8 shrink-0 place-items-center rounded-full border\",\n TIMELINE_TONE[item.tone ?? \"neutral\"],\n )}\n >\n {item.icon ?? <Icon name=\"circle-dot\" size=\"sm\" />}\n </span>\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5 pt-1\">\n <div className=\"flex flex-wrap items-baseline justify-between gap-x-4 gap-y-0.5\">\n <span className=\"text-sm font-medium text-primary\">{item.title}</span>\n {item.timestamp && (\n <span className=\"font-mono text-2xs tabular-nums text-tertiary\">\n {item.timestamp}\n </span>\n )}\n </div>\n {/* A `div`, NOT a `p`, and the type is why. `description` is declared\n `ReactNode`, so a consumer is entitled to pass a disclosure, a\n code block, anything — and all of those are block-level\n content, which is INVALID inside a `<p>`. The cost is not\n theoretical: the first consumer that needed one abandoned this\n component and hand-rolled the same markup rather than fight it.\n Identical classes, so nothing renders differently. */}\n {item.description && (\n <div className=\"text-sm text-secondary text-pretty\">{item.description}</div>\n )}\n </div>\n </li>\n ))}\n </ol>\n );\n}\n\n"],"names":["Separator","orientation","label","className","ref","jsxs","cn","jsx","BaseSeparator","ScrollArea","children","maxHeight","BaseScrollArea","CollapsibleRoot","props","BaseCollapsible","CollapsibleTrigger","CollapsiblePanel","Collapsible","trigger","defaultOpen","open","onOpenChange","triggerClassName","chevron","Icon","EmptyState","icon","title","description","action","secondaryAction","TIMELINE_TONE","Timeline","items","item","i"],"mappings":"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"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { jsxs as u, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useState as R, useMemo as Q } from "react";
|
|
3
|
+
import { useReactTable as X, getPaginationRowModel as Y, getFilteredRowModel as ee, getSortedRowModel as te, getCoreRowModel as oe, flexRender as b } from "@tanstack/react-table";
|
|
4
|
+
import { cn as s } from "../lib/cn.js";
|
|
5
|
+
import { Checkbox as A } from "./Choice.js";
|
|
6
|
+
import { Icon as ne } from "./Icon.js";
|
|
7
|
+
import { LoadingOverlay as ae, Skeleton as re } from "./Loading.js";
|
|
8
|
+
import { PaginationBar as le } from "./PaginationBar.js";
|
|
9
|
+
import { EmptyState as se } from "./Surface.js";
|
|
10
|
+
import { useUiStrings as E } from "../lib/i18n/provider.js";
|
|
11
|
+
import { useNumberFormat as ie } from "../lib/i18n/number-format.js";
|
|
12
|
+
const ce = (l) => /* @__PURE__ */ o("span", { className: "font-semibold text-accent-text", children: l }), de = [10, 25, 50, 100], _ = {
|
|
13
|
+
comfortable: "h-16",
|
|
14
|
+
cozy: "h-[3.25rem]",
|
|
15
|
+
compact: "h-11"
|
|
16
|
+
}, x = {
|
|
17
|
+
comfortable: "px-5 text-sm",
|
|
18
|
+
cozy: "px-4 text-sm",
|
|
19
|
+
compact: "px-3 text-xs"
|
|
20
|
+
};
|
|
21
|
+
function me(l, i) {
|
|
22
|
+
const r = [];
|
|
23
|
+
for (let a = 0; a < l.length; ) {
|
|
24
|
+
const m = Math.max(1, Math.min(i(l[a].column.id) ?? 1, l.length - a));
|
|
25
|
+
r.push({ cell: l[a], span: m }), a += m;
|
|
26
|
+
}
|
|
27
|
+
return r;
|
|
28
|
+
}
|
|
29
|
+
function Ne({
|
|
30
|
+
data: l,
|
|
31
|
+
columns: i,
|
|
32
|
+
density: r = "cozy",
|
|
33
|
+
selectable: a = !1,
|
|
34
|
+
maxHeight: m,
|
|
35
|
+
zebra: F = !1,
|
|
36
|
+
loading: g = !1,
|
|
37
|
+
refreshing: T = !1,
|
|
38
|
+
loadingRows: O = 6,
|
|
39
|
+
pageSize: S,
|
|
40
|
+
pageSizeOptions: L,
|
|
41
|
+
onPageSizeChange: $,
|
|
42
|
+
emptyState: j,
|
|
43
|
+
getRowClassName: B,
|
|
44
|
+
onRowClick: w,
|
|
45
|
+
getCellSpan: U,
|
|
46
|
+
toolbar: V,
|
|
47
|
+
className: G,
|
|
48
|
+
getRowId: P
|
|
49
|
+
}) {
|
|
50
|
+
const p = E().table, h = ie(), [z, H] = R([]), [C, W] = R({}), v = typeof S == "number" && S > 0, [f, k] = R({
|
|
51
|
+
pageIndex: 0,
|
|
52
|
+
pageSize: S ?? 0
|
|
53
|
+
}), M = Q(() => a ? [{
|
|
54
|
+
id: "__select",
|
|
55
|
+
size: 52,
|
|
56
|
+
meta: { width: "52px" },
|
|
57
|
+
enableSorting: !1,
|
|
58
|
+
header: ({ table: e }) => /* @__PURE__ */ o(
|
|
59
|
+
A,
|
|
60
|
+
{
|
|
61
|
+
size: "sm",
|
|
62
|
+
checked: e.getIsAllPageRowsSelected(),
|
|
63
|
+
indeterminate: e.getIsSomePageRowsSelected(),
|
|
64
|
+
onCheckedChange: (n) => e.toggleAllPageRowsSelected(n),
|
|
65
|
+
"aria-label": p.selectAll
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
cell: ({ row: e }) => (
|
|
69
|
+
/* stopPropagation so ticking a row inside a clickable table does not
|
|
70
|
+
also fire the row's navigation handler. */
|
|
71
|
+
/* @__PURE__ */ o("div", { onClick: (n) => n.stopPropagation(), children: /* @__PURE__ */ o(
|
|
72
|
+
A,
|
|
73
|
+
{
|
|
74
|
+
size: "sm",
|
|
75
|
+
checked: e.getIsSelected(),
|
|
76
|
+
onCheckedChange: (n) => e.toggleSelected(n),
|
|
77
|
+
"aria-label": p.selectRow(h(e.index + 1))
|
|
78
|
+
}
|
|
79
|
+
) })
|
|
80
|
+
)
|
|
81
|
+
}, ...i] : i, [i, a, p, h]), d = X({
|
|
82
|
+
data: l,
|
|
83
|
+
columns: M,
|
|
84
|
+
state: v ? { sorting: z, rowSelection: C, pagination: f } : { sorting: z, rowSelection: C },
|
|
85
|
+
onSortingChange: H,
|
|
86
|
+
onRowSelectionChange: W,
|
|
87
|
+
enableRowSelection: a,
|
|
88
|
+
getCoreRowModel: oe(),
|
|
89
|
+
getSortedRowModel: te(),
|
|
90
|
+
getFilteredRowModel: ee(),
|
|
91
|
+
/* CONDITIONAL ON PURPOSE. TanStack paginates whenever this row model is
|
|
92
|
+
registered — there is no "register it but leave it off". Registering it
|
|
93
|
+
unconditionally would silently truncate every existing table that never
|
|
94
|
+
asked for pages, which is exactly the regression `pageSize` being
|
|
95
|
+
opt-in is meant to prevent. */
|
|
96
|
+
...v ? { getPaginationRowModel: Y(), onPaginationChange: k } : {},
|
|
97
|
+
...P ? { getRowId: P } : {}
|
|
98
|
+
}), D = d.getRowModel().rows, Z = !g && D.length === 0, I = M.length, y = d.getFilteredRowModel().rows.length, N = i.some((t) => t.meta?.width !== void 0), q = d.getAllLeafColumns().some((t) => t.columnDef.footer !== void 0), J = Array.from(
|
|
99
|
+
/* @__PURE__ */ new Set([...L ?? de, f.pageSize])
|
|
100
|
+
).sort((t, e) => t - e);
|
|
101
|
+
function K(t) {
|
|
102
|
+
k({ pageIndex: 0, pageSize: t }), $?.(t);
|
|
103
|
+
}
|
|
104
|
+
return /* @__PURE__ */ u("div", { className: s("flex min-w-0 flex-col gap-3", G), children: [
|
|
105
|
+
V?.(d),
|
|
106
|
+
/* @__PURE__ */ o(
|
|
107
|
+
ae,
|
|
108
|
+
{
|
|
109
|
+
active: T && !g,
|
|
110
|
+
message: p.updating,
|
|
111
|
+
className: s(
|
|
112
|
+
"min-w-0 overflow-hidden rounded-xl border border-border bg-surface",
|
|
113
|
+
"shadow-sm"
|
|
114
|
+
),
|
|
115
|
+
children: /* @__PURE__ */ o(
|
|
116
|
+
"div",
|
|
117
|
+
{
|
|
118
|
+
className: "w-full overflow-auto overscroll-x-contain",
|
|
119
|
+
style: m ? { maxHeight: m } : void 0,
|
|
120
|
+
children: /* @__PURE__ */ u("table", { className: s("w-full border-collapse text-left", N && "table-fixed"), children: [
|
|
121
|
+
N && /* @__PURE__ */ o("colgroup", { children: d.getVisibleLeafColumns().map((t) => /* @__PURE__ */ o(
|
|
122
|
+
"col",
|
|
123
|
+
{
|
|
124
|
+
style: { width: t.columnDef.meta?.width }
|
|
125
|
+
},
|
|
126
|
+
t.id
|
|
127
|
+
)) }),
|
|
128
|
+
/* @__PURE__ */ o("thead", { className: "sticky top-0 z-10", children: d.getHeaderGroups().map((t) => /* @__PURE__ */ o("tr", { children: t.headers.map((e) => {
|
|
129
|
+
const n = e.column.getCanSort(), c = e.column.getIsSorted();
|
|
130
|
+
return /* @__PURE__ */ o(
|
|
131
|
+
"th",
|
|
132
|
+
{
|
|
133
|
+
scope: "col",
|
|
134
|
+
colSpan: e.colSpan,
|
|
135
|
+
style: !N && e.column.columnDef.size ? { width: `${e.column.columnDef.size}px` } : void 0,
|
|
136
|
+
"aria-sort": c === "asc" ? "ascending" : c === "desc" ? "descending" : n ? "none" : void 0,
|
|
137
|
+
className: s(
|
|
138
|
+
"h-12 whitespace-nowrap border-b border-border bg-surface-raised",
|
|
139
|
+
"font-semibold uppercase tracking-widest text-2xs text-tertiary",
|
|
140
|
+
x[r]
|
|
141
|
+
),
|
|
142
|
+
children: e.isPlaceholder ? null : n ? /* @__PURE__ */ u(
|
|
143
|
+
"button",
|
|
144
|
+
{
|
|
145
|
+
type: "button",
|
|
146
|
+
onClick: e.column.getToggleSortingHandler(),
|
|
147
|
+
className: s(
|
|
148
|
+
"dx-tap group/sort -mx-1.5 flex h-8 items-center gap-1.5 rounded-sm px-1.5",
|
|
149
|
+
"uppercase tracking-widest transition-colors duration-(--dur-fast)",
|
|
150
|
+
"hover:text-primary",
|
|
151
|
+
c && "text-accent-text"
|
|
152
|
+
),
|
|
153
|
+
children: [
|
|
154
|
+
b(e.column.columnDef.header, e.getContext()),
|
|
155
|
+
/* @__PURE__ */ o(
|
|
156
|
+
ne,
|
|
157
|
+
{
|
|
158
|
+
name: "arrow-up",
|
|
159
|
+
size: "xs",
|
|
160
|
+
className: s(
|
|
161
|
+
"transition-[var(--tx-colors),rotate,opacity] duration-(--dur-base) ease-snappy",
|
|
162
|
+
c === "desc" && "rotate-180",
|
|
163
|
+
!c && "opacity-0 group-hover/sort:opacity-40"
|
|
164
|
+
)
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
) : b(e.column.columnDef.header, e.getContext())
|
|
170
|
+
},
|
|
171
|
+
e.id
|
|
172
|
+
);
|
|
173
|
+
}) }, t.id)) }),
|
|
174
|
+
/* @__PURE__ */ u("tbody", { children: [
|
|
175
|
+
g && Array.from({ length: O }).map((t, e) => /* @__PURE__ */ o("tr", { className: _[r], children: Array.from({ length: I }).map((n, c) => /* @__PURE__ */ o("td", { className: s("border-b border-border-subtle", x[r]), children: /* @__PURE__ */ o(
|
|
176
|
+
re,
|
|
177
|
+
{
|
|
178
|
+
shape: "pill",
|
|
179
|
+
height: "0.875rem",
|
|
180
|
+
width: `${[68, 44, 82, 55, 72, 38][c % 6]}%`,
|
|
181
|
+
style: { animationDelay: `${Math.min(e, 8) * 40}ms` }
|
|
182
|
+
}
|
|
183
|
+
) }, c)) }, `skeleton-${e}`)),
|
|
184
|
+
!g && D.map((t) => {
|
|
185
|
+
const e = t.getIsSelected();
|
|
186
|
+
return /* @__PURE__ */ o(
|
|
187
|
+
"tr",
|
|
188
|
+
{
|
|
189
|
+
"data-selected": e || void 0,
|
|
190
|
+
onClick: w ? () => w(t.original) : void 0,
|
|
191
|
+
className: s(
|
|
192
|
+
_[r],
|
|
193
|
+
"border-b border-border-subtle transition-colors duration-(--dur-fast)",
|
|
194
|
+
"last:border-b-0",
|
|
195
|
+
F && "even:bg-surface-sunken/40",
|
|
196
|
+
w && "cursor-pointer",
|
|
197
|
+
/* One hover fill per row, picked here. As two classes
|
|
198
|
+
they weigh the same and CLASS ORDER decided which a
|
|
199
|
+
hovered selected row got; when the neutral one won,
|
|
200
|
+
the row lost its selection while the pointer was on
|
|
201
|
+
it. */
|
|
202
|
+
e ? "bg-surface-selected hover:bg-surface-selected-hover" : "hover:bg-surface-hover",
|
|
203
|
+
/* LAST, so the consumer's mark beats everything above
|
|
204
|
+
it — see the prop's own doc for what that costs. */
|
|
205
|
+
B?.(t.original, t.index)
|
|
206
|
+
),
|
|
207
|
+
children: me(t.getVisibleCells(), (n) => U?.(t.original, n)).map(
|
|
208
|
+
({ cell: n, span: c }) => /* @__PURE__ */ o(
|
|
209
|
+
"td",
|
|
210
|
+
{
|
|
211
|
+
colSpan: c > 1 ? c : void 0,
|
|
212
|
+
className: s("align-middle text-primary", x[r]),
|
|
213
|
+
children: b(n.column.columnDef.cell, n.getContext())
|
|
214
|
+
},
|
|
215
|
+
n.id
|
|
216
|
+
)
|
|
217
|
+
)
|
|
218
|
+
},
|
|
219
|
+
t.id
|
|
220
|
+
);
|
|
221
|
+
}),
|
|
222
|
+
Z && /* @__PURE__ */ o("tr", { children: /* @__PURE__ */ o("td", { colSpan: I, className: "p-0", children: j ?? /* @__PURE__ */ o(ge, {}) }) })
|
|
223
|
+
] }),
|
|
224
|
+
q && !g && /* @__PURE__ */ o("tfoot", { children: d.getFooterGroups().map((t) => /* @__PURE__ */ o("tr", { children: t.headers.map((e) => /* @__PURE__ */ o(
|
|
225
|
+
"td",
|
|
226
|
+
{
|
|
227
|
+
colSpan: e.colSpan,
|
|
228
|
+
className: s(
|
|
229
|
+
/* PINNED ON THE CELLS, not on the `<tfoot>`. The
|
|
230
|
+
opaque background has to sit on whatever is pinned
|
|
231
|
+
— a translucent sticky element lets the rows scroll
|
|
232
|
+
through it, which reads as a rendering bug — and
|
|
233
|
+
these are the elements that paint. Splitting the
|
|
234
|
+
two across different elements is how they end up
|
|
235
|
+
disagreeing. */
|
|
236
|
+
"sticky bottom-0 z-10 h-12 whitespace-nowrap bg-surface-raised",
|
|
237
|
+
"border-t border-border font-semibold text-primary tabular-nums",
|
|
238
|
+
x[r]
|
|
239
|
+
),
|
|
240
|
+
children: e.isPlaceholder ? null : b(e.column.columnDef.footer, e.getContext())
|
|
241
|
+
},
|
|
242
|
+
e.id
|
|
243
|
+
)) }, t.id)) })
|
|
244
|
+
] })
|
|
245
|
+
}
|
|
246
|
+
)
|
|
247
|
+
}
|
|
248
|
+
),
|
|
249
|
+
a && Object.keys(C).length > 0 && /* @__PURE__ */ o("p", { className: "text-xs text-secondary animate-fade-in", "aria-live": "polite", children: p.selectedCount(d.getSelectedRowModel().rows.length, h(d.getSelectedRowModel().rows.length), h(y), ce) }),
|
|
250
|
+
v && !g && y > 0 && /* @__PURE__ */ o(
|
|
251
|
+
le,
|
|
252
|
+
{
|
|
253
|
+
mode: "numbered",
|
|
254
|
+
label: p.paginationLabel,
|
|
255
|
+
page: f.pageIndex + 1,
|
|
256
|
+
pageSize: f.pageSize,
|
|
257
|
+
pageSizeOptions: J,
|
|
258
|
+
total: y,
|
|
259
|
+
onPageChange: (t) => d.setPageIndex(t - 1),
|
|
260
|
+
onPageSizeChange: K
|
|
261
|
+
}
|
|
262
|
+
)
|
|
263
|
+
] });
|
|
264
|
+
}
|
|
265
|
+
function ge({
|
|
266
|
+
icon: l,
|
|
267
|
+
title: i,
|
|
268
|
+
description: r,
|
|
269
|
+
action: a
|
|
270
|
+
}) {
|
|
271
|
+
const m = E().table;
|
|
272
|
+
return /* @__PURE__ */ o(se, { icon: l, title: i ?? m.emptyTitle, description: r, action: a });
|
|
273
|
+
}
|
|
274
|
+
function Re({
|
|
275
|
+
primary: l,
|
|
276
|
+
secondary: i,
|
|
277
|
+
mono: r = !1,
|
|
278
|
+
wrapSecondary: a = !1
|
|
279
|
+
}) {
|
|
280
|
+
return /* @__PURE__ */ u("div", { className: "min-w-0", children: [
|
|
281
|
+
/* @__PURE__ */ o("div", { className: s("truncate font-medium text-primary", r && "font-mono text-xs"), children: l }),
|
|
282
|
+
i && /* @__PURE__ */ o(
|
|
283
|
+
"div",
|
|
284
|
+
{
|
|
285
|
+
className: s(
|
|
286
|
+
"mt-0.5 text-xs text-tertiary",
|
|
287
|
+
a ? "whitespace-normal break-words" : "truncate"
|
|
288
|
+
),
|
|
289
|
+
children: i
|
|
290
|
+
}
|
|
291
|
+
)
|
|
292
|
+
] });
|
|
293
|
+
}
|
|
294
|
+
export {
|
|
295
|
+
Re as CellStack,
|
|
296
|
+
Ne as DataTable,
|
|
297
|
+
ge as TableEmptyState,
|
|
298
|
+
me as visibleBodyCells
|
|
299
|
+
};
|
|
300
|
+
//# sourceMappingURL=Table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../src/components/Table.tsx"],"sourcesContent":["import {\n useMemo,\n useState,\n type ReactNode,\n} from \"react\";\nimport {\n flexRender,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n type ColumnDef,\n type PaginationState,\n type RowData,\n type RowSelectionState,\n type SortingState,\n type Table as TanstackTable,\n} from \"@tanstack/react-table\";\nimport { cn } from \"../lib/cn\";\nimport { useNumberFormat, useUiStrings, type Emphasis } from \"../lib/i18n\";\n\n/* The count in \"N of M selected\" keeps the accent the table has always given it. */\nconst selectedCountEmphasis: Emphasis = (count) => <span className=\"font-semibold text-accent-text\">{count}</span>;\nimport { Checkbox } from \"./Choice\";\nimport { Icon } from \"./Icon\";\nimport { LoadingOverlay, Skeleton } from \"./Loading\";\nimport { PaginationBar } from \"./PaginationBar\";\nimport { EmptyState } from \"./Surface\";\n\n/** Offered whenever a paginated table does not name its own options. */\nconst DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100] as const;\n\n/* ----------------------------------------------------------------------------\n DataTable\n\n Headless logic (TanStack Table) + our presentation. The two decisions that\n make a table read as designed rather than defaulted:\n\n 1. NO VERTICAL GRID LINES. Column separators are the single biggest driver\n of the \"spreadsheet\" look. Alignment and spacing carry the columns; a\n horizontal hairline carries the rows.\n 2. The header is sticky and OPAQUE. A translucent sticky header lets row\n text bleed through as it scrolls under, which reads as a rendering bug.\n\n Density is a first-class prop rather than a fixed height: the same table\n must serve a roomy 8-row summary and a 500-row audit log.\n -------------------------------------------------------------------------- */\n\n/* DX-5185 — a column's width, in the column def's own `meta`. */\ndeclare module \"@tanstack/react-table\" {\n /* The augmentation must repeat TanStack's type parameters, used or not. */\n interface ColumnMeta<TData extends RowData, TValue> {\n /**\n * A CSS length (`\"12rem\"`, `\"30%\"`) this column is drawn at. The first\n * column to carry one switches the table to a fixed layout: a column with\n * a width is drawn at it, and the columns without one share what is left\n * equally. Two tables of the same width whose column carries the same\n * `width` therefore start the next column at the same x, which a\n * content-sized (auto-layout) table cannot do: it sizes every column from\n * its own cells. Widths that add up to more than the container scroll\n * inside the table's wrapper. `size` only applies to a table with no\n * `meta.width`, as a hint to the auto layout.\n */\n width?: string;\n }\n}\n\nexport type TableDensity = \"comfortable\" | \"cozy\" | \"compact\";\n\nconst densityRow: Record<TableDensity, string> = {\n comfortable: \"h-16\",\n cozy: \"h-[3.25rem]\",\n compact: \"h-11\",\n};\n\nconst densityCell: Record<TableDensity, string> = {\n comfortable: \"px-5 text-sm\",\n cozy: \"px-4 text-sm\",\n compact: \"px-3 text-xs\",\n};\n\nexport interface DataTableProps<TData> {\n data: TData[];\n columns: ColumnDef<TData, unknown>[];\n density?: TableDensity;\n /** Adds a leading checkbox column with header select-all. */\n selectable?: boolean;\n /** Constrain height and scroll internally, keeping the header pinned. */\n maxHeight?: string;\n /** Tint alternating rows. Off by default — hairlines usually suffice. */\n zebra?: boolean;\n /**\n * First load — no data yet. Draws skeleton rows.\n *\n * Distinct from `refreshing` on purpose: a skeleton REPLACES content, which\n * is right when there is none and wrong the moment there is. Collapsing the\n * two into one `loading` flag is what produces the table that flashes to grey\n * bars on every filter change.\n */\n loading?: boolean;\n /** Refetching with data already on screen. Dims the rows under a card. */\n refreshing?: boolean;\n /** Skeleton row count while `loading`. */\n loadingRows?: number;\n /**\n * Rows per page. **Omit for no pagination** — that is the default and it is\n * what every existing consumer already gets, unchanged.\n *\n * WHY OPT-IN RATHER THAN A DEFAULT PAGE SIZE: paginating a table nobody\n * asked to paginate hides rows. A short table that suddenly grows a footer\n * and a \"1 of 3\" is a worse regression than a long table, because the rows\n * that vanished were on screen yesterday. So the caller says when the list\n * is long enough to warrant it.\n *\n * The `Pagination` control this renders has existed in this library since\n * long before `DataTable` did, as a fully independent component that was\n * never connected to anything. This is that connection.\n */\n pageSize?: number;\n /**\n * The sizes offered by the footer's per-page picker. Defaults to\n * `[10, 25, 50, 100]` (with `pageSize` folded in if it names a value not\n * already on that list), so a caller that only ever set `pageSize` still\n * gets a real picker rather than none at all — DX-2947 added this menu to\n * every paginated table, not as an opt-in.\n */\n pageSizeOptions?: readonly number[];\n /**\n * Told when the footer's per-page picker changes the size, in addition to\n * the table re-paginating itself immediately. Pagination stays entirely\n * internal either way — this is for a caller that wants to remember the\n * choice (e.g. persist it), not something that has to be wired for paging\n * to work.\n */\n onPageSizeChange?: (size: number) => void;\n emptyState?: ReactNode;\n /**\n * An extra class for the rows a consumer needs to mark — \"this figure could\n * not be read from the source document\", \"this record is superseded\". Return\n * `undefined` for the rows that are unremarkable.\n *\n * WHY A HOOK AND NOT A `tone` UNION. The reasons a row deserves a tint are\n * the consumer's domain and there is no useful shortlist of them; a fixed set\n * would be wrong for the second consumer and every one after. This is the\n * same call `getRowId` makes about identity.\n *\n * THE CLASS IS APPLIED LAST, so it beats the density, zebra and selection\n * styling the table picked — `cn` is tailwind-merge, and the last conflicting\n * utility wins. That is deliberate: a tint that loses to the zebra fill is a\n * tint nobody sees. It also means a background handed over here REPLACES the\n * row's hover fill, so pass the hover with it (`bg-danger-subtle\n * hover:bg-danger-subtle-hover`) if the row should still respond.\n *\n * THAT EXAMPLE USED TO NAME `warning`, WHICH HAD NO HOVER STEP AT THE TIME.\n * `-subtle` exists for every semantic family; `-subtle-hover` exists for\n * `accent`, `danger`, and (since SG-833 slice 7, which needed it for\n * `Button`'s new `warning` variant) `warning` too. A consumer following the\n * old wording got a hover class that compiled to nothing — no rule, no\n * fill, no error anywhere, which is the same silent-nothing failure the\n * theme bridge in `postbuild-css.mjs` exists to prevent one level up.\n * Naming `warning` here would work today; pick whichever family actually\n * fits your row, or supply the hover colour yourself. `token-parity.test.ts`\n * now sweeps this docblock.\n *\n * `index` is the row's position in `data`, not on the current page — the same\n * number `getRowId` receives, so the two never disagree about which row is\n * being talked about.\n *\n * NOT CALLED FOR SKELETON ROWS. A skeleton stands in for a record nobody has\n * yet, so there is nothing to classify and nothing to hand over.\n */\n getRowClassName?: (row: TData, index: number) => string | undefined;\n onRowClick?: (row: TData) => void;\n /**\n * DX-4062 — opt-in column span. Called for every body cell with its row and\n * column id; return how many columns the cell covers (including its own) and\n * the table renders it with that `colSpan` and drops the cells it covers.\n * Return `undefined` or `1` for an ordinary cell. A span past the last column\n * is clamped to it.\n *\n * For a row that says one thing across several columns — \"None yet\" under\n * both Person and Agent — which a per-column cell cannot express. Header\n * cells are not affected. Off by default: no existing table changes.\n */\n getCellSpan?: (row: TData, columnId: string) => number | undefined;\n /** Rendered above the table; receives the table instance for counts/filters. */\n toolbar?: (table: TanstackTable<TData>) => ReactNode;\n className?: string;\n getRowId?: (row: TData, index: number) => string;\n}\n\n/**\n * DX-4062 — the cells a row actually renders once spans are applied: a cell\n * with span N is kept (carrying N) and the N-1 cells after it are dropped.\n * Exported for its test only; not part of the public surface.\n */\nexport function visibleBodyCells<C extends { column: { id: string } }>(\n cells: C[],\n spanOf: (columnId: string) => number | undefined,\n): { cell: C; span: number }[] {\n const out: { cell: C; span: number }[] = [];\n for (let i = 0; i < cells.length; ) {\n const span = Math.max(1, Math.min(spanOf(cells[i]!.column.id) ?? 1, cells.length - i));\n out.push({ cell: cells[i]!, span });\n i += span;\n }\n return out;\n}\n\nexport function DataTable<TData>({\n data,\n columns,\n density = \"cozy\",\n selectable = false,\n maxHeight,\n zebra = false,\n loading = false,\n refreshing = false,\n loadingRows = 6,\n pageSize,\n pageSizeOptions,\n onPageSizeChange,\n emptyState,\n getRowClassName,\n onRowClick,\n getCellSpan,\n toolbar,\n className,\n getRowId,\n}: DataTableProps<TData>) {\n const strings = useUiStrings().table;\n const fmt = useNumberFormat();\n const [sorting, setSorting] = useState<SortingState>([]);\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n /* A page size of 0 or undefined means \"do not paginate\" — one flag derived\n once, so the row model, the state shape and the footer can never disagree\n about whether this table is paginated. */\n const paginated = typeof pageSize === \"number\" && pageSize > 0;\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: pageSize ?? 0,\n });\n\n const allColumns = useMemo<ColumnDef<TData, unknown>[]>(() => {\n if (!selectable) return columns;\n\n const selectColumn: ColumnDef<TData, unknown> = {\n id: \"__select\",\n size: 52,\n meta: { width: \"52px\" },\n enableSorting: false,\n header: ({ table }) => (\n <Checkbox\n size=\"sm\"\n checked={table.getIsAllPageRowsSelected()}\n /* A separate flag rather than a third `checked` value. Indeterminate\n is not a value the control holds — it is a display state layered\n over an unchecked box — and modelling it as a value is what forces\n every consumer to widen their boolean to a union. */\n indeterminate={table.getIsSomePageRowsSelected()}\n onCheckedChange={(v) => table.toggleAllPageRowsSelected(v)}\n aria-label={strings.selectAll}\n />\n ),\n cell: ({ row }) => (\n /* stopPropagation so ticking a row inside a clickable table does not\n also fire the row's navigation handler. */\n <div onClick={(e) => e.stopPropagation()}>\n <Checkbox\n size=\"sm\"\n checked={row.getIsSelected()}\n onCheckedChange={(v) => row.toggleSelected(v)}\n aria-label={strings.selectRow(fmt(row.index + 1))}\n />\n </div>\n ),\n };\n return [selectColumn, ...columns];\n }, [columns, selectable, strings, fmt]);\n\n const table = useReactTable({\n data,\n columns: allColumns,\n state: paginated\n ? { sorting, rowSelection, pagination }\n : { sorting, rowSelection },\n onSortingChange: setSorting,\n onRowSelectionChange: setRowSelection,\n enableRowSelection: selectable,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n /* CONDITIONAL ON PURPOSE. TanStack paginates whenever this row model is\n registered — there is no \"register it but leave it off\". Registering it\n unconditionally would silently truncate every existing table that never\n asked for pages, which is exactly the regression `pageSize` being\n opt-in is meant to prevent. */\n ...(paginated\n ? { getPaginationRowModel: getPaginationRowModel(), onPaginationChange: setPagination }\n : {}),\n ...(getRowId ? { getRowId } : {}),\n });\n\n const rows = table.getRowModel().rows;\n const isEmpty = !loading && rows.length === 0;\n const colCount = allColumns.length;\n /* `rows` is only the current PAGE once paginated. Every count outside the\n <tbody> means the whole filtered set, so it reads from there instead — a\n 100-row table must not report \"3 of 10 selected\" because ten happen to be\n on screen. */\n const totalRows = table.getFilteredRowModel().rows.length;\n /* A fixed layout only when a column named a width — every other table stays\n content-sized, as it has always been. */\n const hasColumnWidths = columns.some((column) => column.meta?.width !== undefined);\n /* A `<tfoot>` ONLY WHEN A COLUMN ASKED FOR ONE. Rendering it unconditionally\n would put an empty bordered strip under every table in every consuming\n app — and the opt-in costs the caller nothing, because `footer` is already\n part of the `ColumnDef` they are writing. There is no separate footer prop\n for the same reason there is no separate header one: the column is where a\n column's business lives. */\n const hasFooter = table.getAllLeafColumns().some((column) => column.columnDef.footer !== undefined);\n\n /* The picker's own options — `pageSize` folded in and de-duplicated, so a\n caller who set an unusual `pageSize` (say 20) still sees it as a selectable\n choice rather than watching their own initial value vanish the moment they\n open the menu. */\n const resolvedPageSizeOptions = Array.from(\n new Set([...(pageSizeOptions ?? DEFAULT_PAGE_SIZE_OPTIONS), pagination.pageSize]),\n ).sort((a, b) => a - b);\n\n function handlePageSizeChange(size: number) {\n /* Page 1, not the current index — a page index that made sense at the old\n size can easily be past the end at the new one (page 4 of 10-per-page\n does not exist once the size becomes 50). */\n setPagination({ pageIndex: 0, pageSize: size });\n onPageSizeChange?.(size);\n }\n\n return (\n <div className={cn(\"flex min-w-0 flex-col gap-3\", className)}>\n {toolbar?.(table)}\n\n <LoadingOverlay\n active={refreshing && !loading}\n message={strings.updating}\n className={cn(\n \"min-w-0 overflow-hidden rounded-xl border border-border bg-surface\",\n \"shadow-sm\",\n )}\n >\n {/* Horizontal scroll lives here so the rounded border never clips\n mid-scroll and the header can stay sticky inside it. */}\n <div\n className=\"w-full overflow-auto overscroll-x-contain\"\n style={maxHeight ? { maxHeight } : undefined}\n >\n <table className={cn(\"w-full border-collapse text-left\", hasColumnWidths && \"table-fixed\")}>\n {/* DX-5185: a fixed layout takes its widths from this group (the\n header cells carry none), so a width is the column's own rather\n than a hint the cells can outgrow. */}\n {hasColumnWidths && (\n <colgroup>\n {table.getVisibleLeafColumns().map((column) => (\n <col\n key={column.id}\n style={{ width: column.columnDef.meta?.width }}\n />\n ))}\n </colgroup>\n )}\n <thead className=\"sticky top-0 z-10\">\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const canSort = header.column.getCanSort();\n const sorted = header.column.getIsSorted();\n\n return (\n <th\n key={header.id}\n scope=\"col\"\n colSpan={header.colSpan}\n /* DX-5185: with column widths the colgroup owns them.\n TanStack gives every column a default `size` (150),\n and in a fixed layout a header cell's width counts as\n specified, which made the free space be shared in\n proportion instead of going to the columns without a\n width. */\n style={\n !hasColumnWidths && header.column.columnDef.size\n ? { width: `${header.column.columnDef.size}px` }\n : undefined\n }\n aria-sort={\n sorted === \"asc\"\n ? \"ascending\"\n : sorted === \"desc\"\n ? \"descending\"\n : canSort\n ? \"none\"\n : undefined\n }\n className={cn(\n \"h-12 whitespace-nowrap border-b border-border bg-surface-raised\",\n \"font-semibold uppercase tracking-widest text-2xs text-tertiary\",\n densityCell[density],\n )}\n >\n {header.isPlaceholder ? null : canSort ? (\n <button\n type=\"button\"\n onClick={header.column.getToggleSortingHandler()}\n className={cn(\n \"dx-tap group/sort -mx-1.5 flex h-8 items-center gap-1.5 rounded-sm px-1.5\",\n \"uppercase tracking-widest transition-colors duration-(--dur-fast)\",\n \"hover:text-primary\",\n sorted && \"text-accent-text\",\n )}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n {/* ONE arrow that rotates, rather than swapping\n between an up and a down glyph. The rotation is\n the only thing on screen that actually shows the\n direction REVERSING; two separate icons just\n blink, and at 14px a blink is invisible.\n\n Space is reserved at all times (the idle state\n is the same glyph at low opacity), so applying a\n sort never shifts the header label. */}\n <Icon\n name=\"arrow-up\"\n size=\"xs\"\n className={cn(\n \"transition-[var(--tx-colors),rotate,opacity] duration-(--dur-base) ease-snappy\",\n sorted === \"desc\" && \"rotate-180\",\n !sorted && \"opacity-0 group-hover/sort:opacity-40\",\n )}\n />\n </button>\n ) : (\n flexRender(header.column.columnDef.header, header.getContext())\n )}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n\n <tbody>\n {loading &&\n Array.from({ length: loadingRows }).map((_, i) => (\n <tr key={`skeleton-${i}`} className={densityRow[density]}>\n {Array.from({ length: colCount }).map((__, j) => (\n <td key={j} className={cn(\"border-b border-border-subtle\", densityCell[density])}>\n {/* Varied widths, not uniform bars. A skeleton table of\n identical rectangles reads as a loading GRAPHIC; a\n ragged one reads as the actual data arriving. */}\n <Skeleton\n shape=\"pill\"\n height=\"0.875rem\"\n width={`${[68, 44, 82, 55, 72, 38][j % 6]}%`}\n /* Stagger capped at 8 steps so a long skeleton never\n turns into a slow cascade down the page. */\n style={{ animationDelay: `${Math.min(i, 8) * 40}ms` }}\n />\n </td>\n ))}\n </tr>\n ))}\n\n {!loading &&\n rows.map((row) => {\n const selected = row.getIsSelected();\n return (\n <tr\n key={row.id}\n data-selected={selected || undefined}\n onClick={onRowClick ? () => onRowClick(row.original) : undefined}\n className={cn(\n densityRow[density],\n \"border-b border-border-subtle transition-colors duration-(--dur-fast)\",\n \"last:border-b-0\",\n zebra && \"even:bg-surface-sunken/40\",\n onRowClick && \"cursor-pointer\",\n /* One hover fill per row, picked here. As two classes\n they weigh the same and CLASS ORDER decided which a\n hovered selected row got; when the neutral one won,\n the row lost its selection while the pointer was on\n it. */\n selected\n ? \"bg-surface-selected hover:bg-surface-selected-hover\"\n : \"hover:bg-surface-hover\",\n /* LAST, so the consumer's mark beats everything above\n it — see the prop's own doc for what that costs. */\n getRowClassName?.(row.original, row.index),\n )}\n >\n {visibleBodyCells(row.getVisibleCells(), (id) => getCellSpan?.(row.original, id)).map(\n ({ cell, span }) => (\n <td\n key={cell.id}\n colSpan={span > 1 ? span : undefined}\n className={cn(\"align-middle text-primary\", densityCell[density])}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n ),\n )}\n </tr>\n );\n })}\n\n {isEmpty && (\n <tr>\n <td colSpan={colCount} className=\"p-0\">\n {emptyState ?? <TableEmptyState />}\n </td>\n </tr>\n )}\n </tbody>\n\n {/* THE TOTALS ROW IS NOT A ROW. Put a total in `data` and it sorts\n with the records, can be selected, and lands on whichever page\n it happens to fall on — wrong three ways. A `<tfoot>` is outside\n every one of those, and a column's `footer` receives the table\n instance, so a sum reads `getFilteredRowModel()` and describes\n the WHOLE filtered set rather than the page on screen. */}\n {hasFooter && !loading && (\n <tfoot>\n {table.getFooterGroups().map((footerGroup) => (\n <tr key={footerGroup.id}>\n {footerGroup.headers.map((header) => (\n <td\n key={header.id}\n colSpan={header.colSpan}\n className={cn(\n /* PINNED ON THE CELLS, not on the `<tfoot>`. The\n opaque background has to sit on whatever is pinned\n — a translucent sticky element lets the rows scroll\n through it, which reads as a rendering bug — and\n these are the elements that paint. Splitting the\n two across different elements is how they end up\n disagreeing. */\n \"sticky bottom-0 z-10 h-12 whitespace-nowrap bg-surface-raised\",\n \"border-t border-border font-semibold text-primary tabular-nums\",\n densityCell[density],\n )}\n >\n {header.isPlaceholder\n ? null\n : flexRender(header.column.columnDef.footer, header.getContext())}\n </td>\n ))}\n </tr>\n ))}\n </tfoot>\n )}\n </table>\n </div>\n </LoadingOverlay>\n\n {selectable && Object.keys(rowSelection).length > 0 && (\n <p className=\"text-xs text-secondary animate-fade-in\" aria-live=\"polite\">\n {strings.selectedCount(table.getSelectedRowModel().rows.length, fmt(table.getSelectedRowModel().rows.length), fmt(totalRows), selectedCountEmphasis)}\n </p>\n )}\n\n {/* One page is not a pagination problem, so it gets no control — but the\n range line stays regardless, since \"1-25 of 240\" is the answer to\n \"did it cut something off\", which the page numbers alone never give.\n `PaginationBar` in `\"numbered\"` mode already omits the numbered\n control by itself once `pageCount <= 1`, so nothing extra is needed\n here to reproduce that. */}\n {paginated && !loading && totalRows > 0 && (\n <PaginationBar\n mode=\"numbered\"\n label={strings.paginationLabel}\n page={pagination.pageIndex + 1}\n pageSize={pagination.pageSize}\n pageSizeOptions={resolvedPageSizeOptions}\n total={totalRows}\n onPageChange={(page) => table.setPageIndex(page - 1)}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </div>\n );\n}\n\n/** `DataTable`'s own default empty state — a thin `EmptyState` wrapper (DX-3254:\n * this used to be a second, independently hand-written copy of `EmptyState`'s\n * markup) whose one real addition is a table-appropriate default title, since\n * `EmptyState.title` has none. */\nexport function TableEmptyState({\n icon,\n title,\n description,\n action,\n}: {\n icon?: ReactNode;\n title?: string;\n description?: string;\n action?: ReactNode;\n}) {\n const strings = useUiStrings().table;\n return <EmptyState icon={icon} title={title ?? strings.emptyTitle} description={description} action={action} />;\n}\n\n/**\n * Two-line cell: a strong primary value with a muted secondary beneath.\n * The secondary truncates to one row by default; `wrapSecondary` lets it wrap\n * onto as many rows as it needs (DX-4456), for a cell whose second line is the\n * point of the column and must be readable in place, not behind a tooltip.\n */\nexport function CellStack({\n primary,\n secondary,\n mono = false,\n wrapSecondary = false,\n}: {\n primary: ReactNode;\n secondary?: ReactNode;\n mono?: boolean;\n wrapSecondary?: boolean;\n}) {\n return (\n <div className=\"min-w-0\">\n <div className={cn(\"truncate font-medium text-primary\", mono && \"font-mono text-xs\")}>\n {primary}\n </div>\n {secondary && (\n <div\n className={cn(\n \"mt-0.5 text-xs text-tertiary\",\n wrapSecondary ? \"whitespace-normal break-words\" : \"truncate\",\n )}\n >\n {secondary}\n </div>\n )}\n </div>\n );\n}\n"],"names":["selectedCountEmphasis","count","DEFAULT_PAGE_SIZE_OPTIONS","densityRow","densityCell","visibleBodyCells","cells","spanOf","out","i","span","DataTable","data","columns","density","selectable","maxHeight","zebra","loading","refreshing","loadingRows","pageSize","pageSizeOptions","onPageSizeChange","emptyState","getRowClassName","onRowClick","getCellSpan","toolbar","className","getRowId","strings","useUiStrings","fmt","useNumberFormat","sorting","setSorting","useState","rowSelection","setRowSelection","paginated","pagination","setPagination","allColumns","useMemo","table","jsx","Checkbox","v","row","e","useReactTable","getCoreRowModel","getSortedRowModel","getFilteredRowModel","getPaginationRowModel","rows","isEmpty","colCount","totalRows","hasColumnWidths","column","hasFooter","resolvedPageSizeOptions","a","b","handlePageSizeChange","size","cn","LoadingOverlay","headerGroup","header","canSort","sorted","jsxs","flexRender","Icon","_","__","j","Skeleton","selected","id","cell","TableEmptyState","footerGroup","PaginationBar","page","icon","title","description","action","EmptyState","CellStack","primary","secondary","mono","wrapSecondary"],"mappings":";;;;;;;;;;;AAuBA,MAAMA,KAAkC,CAACC,wBAAW,QAAA,EAAK,WAAU,kCAAkC,UAAAA,GAAM,GAQrGC,KAA4B,CAAC,IAAI,IAAI,IAAI,GAAG,GAuC5CC,IAA2C;AAAA,EAC/C,aAAa;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AACX,GAEMC,IAA4C;AAAA,EAChD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AACX;AAqHO,SAASC,GACdC,GACAC,GAC6B;AAC7B,QAAMC,IAAmC,CAAA;AACzC,WAASC,IAAI,GAAGA,IAAIH,EAAM,UAAU;AAClC,UAAMI,IAAO,KAAK,IAAI,GAAG,KAAK,IAAIH,EAAOD,EAAMG,CAAC,EAAG,OAAO,EAAE,KAAK,GAAGH,EAAM,SAASG,CAAC,CAAC;AACrF,IAAAD,EAAI,KAAK,EAAE,MAAMF,EAAMG,CAAC,GAAI,MAAAC,GAAM,GAClCD,KAAKC;AAAA,EACP;AACA,SAAOF;AACT;AAEO,SAASG,GAAiB;AAAA,EAC/B,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,WAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,GAA0B;AACxB,QAAMC,IAAUC,IAAe,OACzBC,IAAMC,GAAA,GACN,CAACC,GAASC,CAAU,IAAIC,EAAuB,CAAA,CAAE,GACjD,CAACC,GAAcC,CAAe,IAAIF,EAA4B,CAAA,CAAE,GAIhEG,IAAY,OAAOnB,KAAa,YAAYA,IAAW,GACvD,CAACoB,GAAYC,CAAa,IAAIL,EAA0B;AAAA,IAC5D,WAAW;AAAA,IACX,UAAUhB,KAAY;AAAA,EAAA,CACvB,GAEKsB,IAAaC,EAAqC,MACjD7B,IAiCE,CA/ByC;AAAA,IAC9C,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,OAAA;AAAA,IACf,eAAe;AAAA,IACf,QAAQ,CAAC,EAAE,OAAA8B,QACT,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASF,EAAM,yBAAA;AAAA,QAKf,eAAeA,EAAM,0BAAA;AAAA,QACrB,iBAAiB,CAACG,MAAMH,EAAM,0BAA0BG,CAAC;AAAA,QACzD,cAAYjB,EAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxB,MAAM,CAAC,EAAE,KAAAkB,EAAA;AAAA;AAAA;AAAA,wBAGN,OAAA,EAAI,SAAS,CAACC,MAAMA,EAAE,mBACrB,UAAA,gBAAAJ;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAASE,EAAI,cAAA;AAAA,UACb,iBAAiB,CAACD,MAAMC,EAAI,eAAeD,CAAC;AAAA,UAC5C,cAAYjB,EAAQ,UAAUE,EAAIgB,EAAI,QAAQ,CAAC,CAAC;AAAA,QAAA;AAAA,MAAA,EAClD,CACF;AAAA;AAAA,EAAA,GAGkB,GAAGpC,CAAO,IAjCRA,GAkCvB,CAACA,GAASE,GAAYgB,GAASE,CAAG,CAAC,GAEhCY,IAAQM,EAAc;AAAA,IAC1B,MAAAvC;AAAA,IACA,SAAS+B;AAAA,IACT,OAAOH,IACH,EAAE,SAAAL,GAAS,cAAAG,GAAc,YAAAG,MACzB,EAAE,SAAAN,GAAS,cAAAG,EAAA;AAAA,IACf,iBAAiBF;AAAA,IACjB,sBAAsBG;AAAA,IACtB,oBAAoBxB;AAAA,IACpB,iBAAiBqC,GAAA;AAAA,IACjB,mBAAmBC,GAAA;AAAA,IACnB,qBAAqBC,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrB,GAAId,IACA,EAAE,uBAAuBe,KAAyB,oBAAoBb,EAAA,IACtE,CAAA;AAAA,IACJ,GAAIZ,IAAW,EAAE,UAAAA,MAAa,CAAA;AAAA,EAAC,CAChC,GAEK0B,IAAOX,EAAM,YAAA,EAAc,MAC3BY,IAAU,CAACvC,KAAWsC,EAAK,WAAW,GACtCE,IAAWf,EAAW,QAKtBgB,IAAYd,EAAM,oBAAA,EAAsB,KAAK,QAG7Ce,IAAkB/C,EAAQ,KAAK,CAACgD,MAAWA,EAAO,MAAM,UAAU,MAAS,GAO3EC,IAAYjB,EAAM,kBAAA,EAAoB,KAAK,CAACgB,MAAWA,EAAO,UAAU,WAAW,MAAS,GAM5FE,IAA0B,MAAM;AAAA,IACpC,oBAAI,IAAI,CAAC,GAAIzC,KAAmBpB,IAA4BuC,EAAW,QAAQ,CAAC;AAAA,EAAA,EAChF,KAAK,CAACuB,GAAGC,MAAMD,IAAIC,CAAC;AAEtB,WAASC,EAAqBC,GAAc;AAI1C,IAAAzB,EAAc,EAAE,WAAW,GAAG,UAAUyB,GAAM,GAC9C5C,IAAmB4C,CAAI;AAAA,EACzB;AAEA,2BACG,OAAA,EAAI,WAAWC,EAAG,+BAA+BvC,CAAS,GACxD,UAAA;AAAA,IAAAD,IAAUiB,CAAK;AAAA,IAEhB,gBAAAC;AAAA,MAACuB;AAAA,MAAA;AAAA,QACC,QAAQlD,KAAc,CAACD;AAAA,QACvB,SAASa,EAAQ;AAAA,QACjB,WAAWqC;AAAA,UACT;AAAA,UACA;AAAA,QAAA;AAAA,QAKF,UAAA,gBAAAtB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO9B,IAAY,EAAE,WAAAA,EAAA,IAAc;AAAA,YAEnC,4BAAC,SAAA,EAAM,WAAWoD,EAAG,oCAAoCR,KAAmB,aAAa,GAItF,UAAA;AAAA,cAAAA,uBACE,YAAA,EACE,UAAAf,EAAM,wBAAwB,IAAI,CAACgB,MAClC,gBAAAf;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,OAAO,EAAE,OAAOe,EAAO,UAAU,MAAM,MAAA;AAAA,gBAAM;AAAA,gBADxCA,EAAO;AAAA,cAAA,CAGf,GACH;AAAA,gCAED,SAAA,EAAM,WAAU,qBACd,UAAAhB,EAAM,kBAAkB,IAAI,CAACyB,wBAC3B,MAAA,EACE,UAAAA,EAAY,QAAQ,IAAI,CAACC,MAAW;AACnC,sBAAMC,IAAUD,EAAO,OAAO,WAAA,GACxBE,IAASF,EAAO,OAAO,YAAA;AAE7B,uBACE,gBAAAzB;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBAEC,OAAM;AAAA,oBACN,SAASyB,EAAO;AAAA,oBAOhB,OACE,CAACX,KAAmBW,EAAO,OAAO,UAAU,OACxC,EAAE,OAAO,GAAGA,EAAO,OAAO,UAAU,IAAI,SACxC;AAAA,oBAEN,aACEE,MAAW,QACP,cACAA,MAAW,SACT,eACAD,IACE,SACA;AAAA,oBAEV,WAAWJ;AAAA,sBACT;AAAA,sBACA;AAAA,sBACAhE,EAAYU,CAAO;AAAA,oBAAA;AAAA,oBAGpB,UAAAyD,EAAO,gBAAgB,OAAOC,IAC7B,gBAAAE;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,SAASH,EAAO,OAAO,wBAAA;AAAA,wBACvB,WAAWH;AAAA,0BACT;AAAA,0BACA;AAAA,0BACA;AAAA,0BACAK,KAAU;AAAA,wBAAA;AAAA,wBAGX,UAAA;AAAA,0BAAAE,EAAWJ,EAAO,OAAO,UAAU,QAAQA,EAAO,YAAY;AAAA,0BAU/D,gBAAAzB;AAAA,4BAAC8B;AAAA,4BAAA;AAAA,8BACC,MAAK;AAAA,8BACL,MAAK;AAAA,8BACL,WAAWR;AAAA,gCACT;AAAA,gCACAK,MAAW,UAAU;AAAA,gCACrB,CAACA,KAAU;AAAA,8BAAA;AAAA,4BACb;AAAA,0BAAA;AAAA,wBACF;AAAA,sBAAA;AAAA,oBAAA,IAGFE,EAAWJ,EAAO,OAAO,UAAU,QAAQA,EAAO,YAAY;AAAA,kBAAA;AAAA,kBA7D3DA,EAAO;AAAA,gBAAA;AAAA,cAiElB,CAAC,EAAA,GAxEMD,EAAY,EAyErB,CACD,EAAA,CACH;AAAA,gCAEC,SAAA,EACE,UAAA;AAAA,gBAAApD,KACC,MAAM,KAAK,EAAE,QAAQE,EAAA,CAAa,EAAE,IAAI,CAACyD,GAAGpE,MAC1C,gBAAAqC,EAAC,MAAA,EAAyB,WAAW3C,EAAWW,CAAO,GACpD,UAAA,MAAM,KAAK,EAAE,QAAQ4C,EAAA,CAAU,EAAE,IAAI,CAACoB,GAAIC,MACzC,gBAAAjC,EAAC,MAAA,EAAW,WAAWsB,EAAG,iCAAiChE,EAAYU,CAAO,CAAC,GAI7E,UAAA,gBAAAgC;AAAA,kBAACkC;AAAA,kBAAA;AAAA,oBACC,OAAM;AAAA,oBACN,QAAO;AAAA,oBACP,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAED,IAAI,CAAC,CAAC;AAAA,oBAGzC,OAAO,EAAE,gBAAgB,GAAG,KAAK,IAAItE,GAAG,CAAC,IAAI,EAAE,KAAA;AAAA,kBAAK;AAAA,gBAAA,KAV/CsE,CAYT,CACD,KAfM,YAAYtE,CAAC,EAgBtB,CACD;AAAA,gBAEF,CAACS,KACAsC,EAAK,IAAI,CAACP,MAAQ;AAChB,wBAAMgC,IAAWhC,EAAI,cAAA;AACrB,yBACE,gBAAAH;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBAEC,iBAAemC,KAAY;AAAA,sBAC3B,SAASvD,IAAa,MAAMA,EAAWuB,EAAI,QAAQ,IAAI;AAAA,sBACvD,WAAWmB;AAAA,wBACTjE,EAAWW,CAAO;AAAA,wBAClB;AAAA,wBACA;AAAA,wBACAG,KAAS;AAAA,wBACTS,KAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMduD,IACI,wDACA;AAAA;AAAA;AAAA,wBAGJxD,IAAkBwB,EAAI,UAAUA,EAAI,KAAK;AAAA,sBAAA;AAAA,sBAG1C,UAAA5C,GAAiB4C,EAAI,gBAAA,GAAmB,CAACiC,MAAOvD,IAAcsB,EAAI,UAAUiC,CAAE,CAAC,EAAE;AAAA,wBAChF,CAAC,EAAE,MAAAC,GAAM,MAAAzE,EAAA,MACP,gBAAAoC;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BAEC,SAASpC,IAAO,IAAIA,IAAO;AAAA,4BAC3B,WAAW0D,EAAG,6BAA6BhE,EAAYU,CAAO,CAAC;AAAA,4BAE9D,YAAWqE,EAAK,OAAO,UAAU,MAAMA,EAAK,YAAY;AAAA,0BAAA;AAAA,0BAJpDA,EAAK;AAAA,wBAAA;AAAA,sBAKZ;AAAA,oBAEJ;AAAA,oBAhCKlC,EAAI;AAAA,kBAAA;AAAA,gBAmCf,CAAC;AAAA,gBAEFQ,KACC,gBAAAX,EAAC,MAAA,EACC,UAAA,gBAAAA,EAAC,MAAA,EAAG,SAASY,GAAU,WAAU,OAC9B,UAAAlC,KAAc,gBAAAsB,EAACsC,IAAA,CAAA,CAAgB,GAClC,EAAA,CACF;AAAA,cAAA,GAEJ;AAAA,cAQCtB,KAAa,CAAC5C,KACb,gBAAA4B,EAAC,SAAA,EACE,YAAM,gBAAA,EAAkB,IAAI,CAACuC,MAC5B,gBAAAvC,EAAC,MAAA,EACE,YAAY,QAAQ,IAAI,CAACyB,MACxB,gBAAAzB;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,SAASyB,EAAO;AAAA,kBAChB,WAAWH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQT;AAAA,oBACA;AAAA,oBACAhE,EAAYU,CAAO;AAAA,kBAAA;AAAA,kBAGpB,UAAAyD,EAAO,gBACJ,OACAI,EAAWJ,EAAO,OAAO,UAAU,QAAQA,EAAO,WAAA,CAAY;AAAA,gBAAA;AAAA,gBAjB7DA,EAAO;AAAA,cAAA,CAmBf,KAtBMc,EAAY,EAuBrB,CACD,EAAA,CACH;AAAA,YAAA,EAAA,CAEJ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAGDtE,KAAc,OAAO,KAAKuB,CAAY,EAAE,SAAS,KAChD,gBAAAQ,EAAC,KAAA,EAAE,WAAU,0CAAyC,aAAU,UAC7D,UAAAf,EAAQ,cAAcc,EAAM,oBAAA,EAAsB,KAAK,QAAQZ,EAAIY,EAAM,oBAAA,EAAsB,KAAK,MAAM,GAAGZ,EAAI0B,CAAS,GAAG3D,EAAqB,GACrJ;AAAA,IASDwC,KAAa,CAACtB,KAAWyC,IAAY,KACpC,gBAAAb;AAAA,MAACwC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOvD,EAAQ;AAAA,QACf,MAAMU,EAAW,YAAY;AAAA,QAC7B,UAAUA,EAAW;AAAA,QACrB,iBAAiBsB;AAAA,QACjB,OAAOJ;AAAA,QACP,cAAc,CAAC4B,MAAS1C,EAAM,aAAa0C,IAAO,CAAC;AAAA,QACnD,kBAAkBrB;AAAA,MAAA;AAAA,IAAA;AAAA,EACpB,GAEJ;AAEJ;AAMO,SAASkB,GAAgB;AAAA,EAC9B,MAAAI;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC;AACF,GAKG;AACD,QAAM5D,IAAUC,IAAe;AAC/B,SAAO,gBAAAc,EAAC8C,MAAW,MAAAJ,GAAY,OAAOC,KAAS1D,EAAQ,YAAY,aAAA2D,GAA0B,QAAAC,GAAgB;AAC/G;AAQO,SAASE,GAAU;AAAA,EACxB,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,eAAAC,IAAgB;AAClB,GAKG;AACD,SACE,gBAAAvB,EAAC,OAAA,EAAI,WAAU,WACb,UAAA;AAAA,IAAA,gBAAA5B,EAAC,SAAI,WAAWsB,EAAG,qCAAqC4B,KAAQ,mBAAmB,GAChF,UAAAF,GACH;AAAA,IACCC,KACC,gBAAAjD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWsB;AAAA,UACT;AAAA,UACA6B,IAAgB,kCAAkC;AAAA,QAAA;AAAA,QAGnD,UAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GAEJ;AAEJ;"}
|