@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,430 @@
|
|
|
1
|
+
import { jsxs as h, jsx as a, Fragment as ue } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as te, useState as we, useMemo as $, useEffect as re, useCallback as Ne } from "react";
|
|
3
|
+
import { tv as $e } from "tailwind-variants";
|
|
4
|
+
import { cn as v } from "../../lib/cn.js";
|
|
5
|
+
import { packLanes as ke } from "../../lib/calendar/lane-packer.js";
|
|
6
|
+
import { packBand as De } from "../../lib/calendar/band-packer.js";
|
|
7
|
+
import { daySlots as oe, allDayBandSegment as Ce, timedBandSegment as ae, timeSegments as Se } from "../../lib/calendar/segments.js";
|
|
8
|
+
import { zoneLabel as Le, weekdayName as Ie, dayNumber as Be, eventLabel as ne, timeOfDay as ie, longDate as Ee } from "./format.js";
|
|
9
|
+
import { paletteFor as le } from "./palette.js";
|
|
10
|
+
import { useNow as Pe } from "./use-now.js";
|
|
11
|
+
import { useCalendarDrag as Re } from "./use-calendar-drag.js";
|
|
12
|
+
import { EventActions as Ke } from "./EventActions.js";
|
|
13
|
+
import { useEventKeyboard as Te } from "./use-event-keyboard.js";
|
|
14
|
+
import { Popover as Ge } from "../Popover.js";
|
|
15
|
+
import { attachEdgeAutoScroll as Oe } from "../../lib/dnd/autoscroll.js";
|
|
16
|
+
import { fractionOf as k } from "../../lib/calendar/drag.js";
|
|
17
|
+
import { useUiLocale as _e, useUiStrings as je } from "../../lib/i18n/provider.js";
|
|
18
|
+
import { isoDateString as A } from "../../lib/time/types.js";
|
|
19
|
+
import { startOfDay as F, dayFraction as se, nextDay as Ae } from "../../lib/time/zone.js";
|
|
20
|
+
import { isSameDate as de } from "../../lib/time/plain.js";
|
|
21
|
+
const Fe = $e({
|
|
22
|
+
slots: {
|
|
23
|
+
/* `relative` is what makes `overflow-hidden` true for the grid's
|
|
24
|
+
out-of-flow contents — the live-region announcements are `sr-only`,
|
|
25
|
+
which is `position: absolute`, and an unpositioned clipper is not in
|
|
26
|
+
their containing-block chain. See `scripts/probe-containment.mjs`. */
|
|
27
|
+
root: "relative flex min-w-0 flex-col overflow-hidden rounded-xl border border-border bg-surface",
|
|
28
|
+
header: "flex shrink-0 flex-col border-b border-border-subtle bg-surface",
|
|
29
|
+
headerRow: "flex",
|
|
30
|
+
gutter: "shrink-0 border-r border-border-subtle",
|
|
31
|
+
dayHead: [
|
|
32
|
+
"flex min-w-0 flex-1 flex-col items-center gap-0.5 py-2",
|
|
33
|
+
"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover"
|
|
34
|
+
],
|
|
35
|
+
dayName: "text-2xs font-semibold tracking-widest text-tertiary uppercase",
|
|
36
|
+
dayDigit: [
|
|
37
|
+
"grid size-7 place-items-center rounded-full text-sm tabular-nums",
|
|
38
|
+
"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover"
|
|
39
|
+
],
|
|
40
|
+
zoneLabel: "flex h-full items-end justify-end pr-1.5 pb-1 text-2xs text-tertiary tabular-nums",
|
|
41
|
+
allDayRow: "flex border-t border-border-subtle",
|
|
42
|
+
allDayLabel: "shrink-0 border-r border-border-subtle pt-1 pr-1.5 text-right text-2xs text-tertiary",
|
|
43
|
+
allDayLanes: "relative min-w-0 flex-1 overflow-y-auto py-1",
|
|
44
|
+
scroller: "relative flex min-h-0 flex-1 overflow-y-auto",
|
|
45
|
+
railLabel: "relative -top-1.5 pr-1.5 text-right text-2xs text-tertiary tabular-nums",
|
|
46
|
+
columns: "relative flex min-w-0 flex-1",
|
|
47
|
+
column: "relative min-w-0 flex-1 border-r border-border-subtle last:border-r-0",
|
|
48
|
+
event: [
|
|
49
|
+
"absolute flex flex-col overflow-hidden rounded-md px-1.5 py-0.5 text-left",
|
|
50
|
+
"text-2xs leading-tight",
|
|
51
|
+
"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover",
|
|
52
|
+
"focus-visible:z-30 focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-(--focus-ring)",
|
|
53
|
+
/* TOUCH-ACTION PAN-Y, not none. The column scrolls vertically and a chip
|
|
54
|
+
fills most of it, so `none` would make the grid unscrollable by finger
|
|
55
|
+
— the long-press dwell is what distinguishes a drag from a scroll, and
|
|
56
|
+
the non-passive touchmove guard in the gesture takes the pan back once
|
|
57
|
+
the press has proved itself. */
|
|
58
|
+
"touch-pan-y select-none"
|
|
59
|
+
],
|
|
60
|
+
bandBar: [
|
|
61
|
+
"absolute flex h-6 items-center gap-1 overflow-hidden rounded-sm px-1.5 text-left",
|
|
62
|
+
"text-2xs leading-none whitespace-nowrap",
|
|
63
|
+
"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover",
|
|
64
|
+
"focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-(--focus-ring)"
|
|
65
|
+
],
|
|
66
|
+
/* RESIZE HANDLES. clamp(10px, 20px, 50%) so a 15-minute event still has a
|
|
67
|
+
clickable BODY — a handle that covers the whole chip means the event can
|
|
68
|
+
be resized but never moved. Hit area only; the visual cue is the cursor. */
|
|
69
|
+
resizeHandle: "absolute inset-x-0 z-10 h-[clamp(10px,20px,50%)] cursor-ns-resize",
|
|
70
|
+
ghost: [
|
|
71
|
+
"pointer-events-none absolute z-30 rounded-md border-2 border-dashed border-accent",
|
|
72
|
+
"bg-accent-subtle/60"
|
|
73
|
+
],
|
|
74
|
+
nowLine: "pointer-events-none absolute right-0 left-0 z-20 h-px bg-danger",
|
|
75
|
+
nowDot: "absolute -top-1 -left-1 size-2 rounded-full bg-danger"
|
|
76
|
+
}
|
|
77
|
+
}), L = 56, H = 26, ce = 24;
|
|
78
|
+
function He({
|
|
79
|
+
enabled: o,
|
|
80
|
+
actions: r,
|
|
81
|
+
children: x
|
|
82
|
+
}) {
|
|
83
|
+
return o ? /* @__PURE__ */ a(Ge, { side: "right", align: "start", trigger: x, children: r }) : /* @__PURE__ */ a(ue, { children: x });
|
|
84
|
+
}
|
|
85
|
+
function ct({
|
|
86
|
+
days: o,
|
|
87
|
+
zone: r,
|
|
88
|
+
events: x,
|
|
89
|
+
today: M,
|
|
90
|
+
onSelectEvent: U,
|
|
91
|
+
slotMinutes: D = 60,
|
|
92
|
+
slotHeightPx: I = 48,
|
|
93
|
+
scrollToHour: X = 8,
|
|
94
|
+
maxAllDayRows: B = 3,
|
|
95
|
+
maxLanes: W,
|
|
96
|
+
overlapMode: V = "cascade",
|
|
97
|
+
nowInstant: me,
|
|
98
|
+
snapMinutes: E = 15,
|
|
99
|
+
onEventChange: w,
|
|
100
|
+
onCreate: P,
|
|
101
|
+
onAnnounce: q,
|
|
102
|
+
eventActions: fe = !0,
|
|
103
|
+
renderEvent: J,
|
|
104
|
+
className: he,
|
|
105
|
+
label: pe
|
|
106
|
+
}) {
|
|
107
|
+
const b = _e(), g = je().calendar, n = Fe(), R = te(null), Q = te([]), [be, Y] = we(""), C = Pe({ fixed: me }), xe = $(
|
|
108
|
+
() => o.length > 0 ? oe(r, o[0], D) : [],
|
|
109
|
+
[o, r, D]
|
|
110
|
+
), u = $(() => o.reduce(
|
|
111
|
+
(t, l) => Math.max(t, oe(r, l, D).length),
|
|
112
|
+
1
|
|
113
|
+
) * I, [o, r, D, I]), S = $(() => {
|
|
114
|
+
const e = [];
|
|
115
|
+
for (const s of x)
|
|
116
|
+
if (s.allDay) {
|
|
117
|
+
const c = Ce(o, s);
|
|
118
|
+
c && e.push(c);
|
|
119
|
+
} else {
|
|
120
|
+
const c = ae(r, o, s);
|
|
121
|
+
c && c.endColumn > c.startColumn && e.push(c);
|
|
122
|
+
}
|
|
123
|
+
const t = e.map((s, c) => ({
|
|
124
|
+
key: `${s.event.id}:${c}`,
|
|
125
|
+
startColumn: s.startColumn,
|
|
126
|
+
endColumn: s.endColumn,
|
|
127
|
+
priority: s.event.allDay ? 0 : 1
|
|
128
|
+
})), l = De(t, { columns: o.length, maxRows: B }), f = new Map(t.map((s, c) => [s.key, e[c]]));
|
|
129
|
+
return {
|
|
130
|
+
placed: l.placed.map((s) => ({ ...f.get(s.key), row: s.row })),
|
|
131
|
+
hidden: l.hidden.length,
|
|
132
|
+
rows: l.rows
|
|
133
|
+
};
|
|
134
|
+
}, [o, x, r, B]), ge = $(() => {
|
|
135
|
+
const e = ce / Math.max(1, u);
|
|
136
|
+
return o.map((t, l) => {
|
|
137
|
+
const f = [];
|
|
138
|
+
for (const d of x) {
|
|
139
|
+
if (d.allDay) continue;
|
|
140
|
+
const p = ae(r, o, d);
|
|
141
|
+
p && p.endColumn > p.startColumn || f.push(...Se(r, [t], d));
|
|
142
|
+
}
|
|
143
|
+
const s = f.map((d, p) => ({
|
|
144
|
+
key: `${d.event.id}:${p}`,
|
|
145
|
+
start: d.top,
|
|
146
|
+
end: d.bottom
|
|
147
|
+
})), c = ke(s, { mode: V, minSpan: e, maxLanes: W, minWidth: 0.16 }), m = new Map(s.map((d, p) => [d.key, f[p]]));
|
|
148
|
+
return {
|
|
149
|
+
day: t,
|
|
150
|
+
dayIndex: l,
|
|
151
|
+
events: c.map((d) => ({
|
|
152
|
+
...m.get(d.key),
|
|
153
|
+
placement: d
|
|
154
|
+
}))
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
}, [o, x, r, V, W, u]), ve = o.map(A).join(","), K = $(() => {
|
|
158
|
+
if (o.length === 0) return null;
|
|
159
|
+
const e = o[0], t = F(r, e) + X * 36e5;
|
|
160
|
+
return Math.max(0, Math.min(1, se(r, e, t))) * u;
|
|
161
|
+
}, [ve, r, X, u]);
|
|
162
|
+
re(() => {
|
|
163
|
+
const e = R.current;
|
|
164
|
+
!e || K === null || (e.scrollTop = K);
|
|
165
|
+
}, [K]);
|
|
166
|
+
const ye = Ne(() => {
|
|
167
|
+
const e = [];
|
|
168
|
+
for (let t = 0; t < o.length; t++) {
|
|
169
|
+
const l = Q.current[t];
|
|
170
|
+
if (!l) continue;
|
|
171
|
+
const f = l.getBoundingClientRect();
|
|
172
|
+
e.push({ day: o[t], left: f.left, right: f.right, top: f.top, bottom: f.bottom });
|
|
173
|
+
}
|
|
174
|
+
return e;
|
|
175
|
+
}, [o]), i = Re({
|
|
176
|
+
zone: r,
|
|
177
|
+
days: o,
|
|
178
|
+
snapMinutes: E,
|
|
179
|
+
measure: ye,
|
|
180
|
+
disabled: !w,
|
|
181
|
+
onCommit: (e, t) => w?.(e, t),
|
|
182
|
+
onCreate: P ? (e) => P({ start: e.start, endExclusive: e.endExclusive }) : void 0,
|
|
183
|
+
onAnnounce: (e) => {
|
|
184
|
+
Y(e), q?.(e);
|
|
185
|
+
}
|
|
186
|
+
}), T = Te({
|
|
187
|
+
zone: r,
|
|
188
|
+
snapMinutes: E,
|
|
189
|
+
days: o,
|
|
190
|
+
onCommit: (e, t) => w?.(e, t),
|
|
191
|
+
onAnnounce: (e) => {
|
|
192
|
+
Y(e), q?.(e);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
re(() => {
|
|
196
|
+
if (!(!i.draft && !i.creating || !R.current))
|
|
197
|
+
return Oe({ getPoint: i.getPoint, onScrolled: i.onScrolled });
|
|
198
|
+
}, [i.draft, i.creating, i.getPoint, i.onScrolled]);
|
|
199
|
+
const G = o.findIndex((e) => {
|
|
200
|
+
const t = F(r, e);
|
|
201
|
+
return C >= t && C < F(r, Ae(e));
|
|
202
|
+
}), O = G >= 0 ? se(r, o[G], C) : -1;
|
|
203
|
+
return /* @__PURE__ */ h("div", { className: v(n.root(), he), "aria-label": pe ?? g.timeGrid.label, children: [
|
|
204
|
+
/* @__PURE__ */ h("div", { className: n.header(), children: [
|
|
205
|
+
/* @__PURE__ */ h("div", { className: n.headerRow(), children: [
|
|
206
|
+
/* @__PURE__ */ a("div", { className: n.gutter(), style: { width: L }, children: /* @__PURE__ */ a("div", { className: n.zoneLabel(), children: Le(r, C, b) }) }),
|
|
207
|
+
o.map((e) => {
|
|
208
|
+
const t = M ? de(e, M) : !1;
|
|
209
|
+
return /* @__PURE__ */ h("div", { className: n.dayHead(), children: [
|
|
210
|
+
/* @__PURE__ */ a("span", { className: n.dayName(), children: Ie(e, "short", b) }),
|
|
211
|
+
/* @__PURE__ */ a(
|
|
212
|
+
"span",
|
|
213
|
+
{
|
|
214
|
+
className: v(
|
|
215
|
+
n.dayDigit(),
|
|
216
|
+
t ? "bg-accent font-semibold text-accent-contrast" : "text-primary"
|
|
217
|
+
),
|
|
218
|
+
children: Be(e, b)
|
|
219
|
+
}
|
|
220
|
+
)
|
|
221
|
+
] }, A(e));
|
|
222
|
+
})
|
|
223
|
+
] }),
|
|
224
|
+
(S.placed.length > 0 || S.hidden > 0) && /* @__PURE__ */ h("div", { className: n.allDayRow(), children: [
|
|
225
|
+
/* @__PURE__ */ a("div", { className: n.allDayLabel(), style: { width: L }, children: g.timeGrid.allDay }),
|
|
226
|
+
/* @__PURE__ */ a(
|
|
227
|
+
"div",
|
|
228
|
+
{
|
|
229
|
+
className: n.allDayLanes(),
|
|
230
|
+
style: { maxHeight: B * H + 8 },
|
|
231
|
+
children: /* @__PURE__ */ a("div", { style: { height: Math.max(1, S.rows) * H }, children: S.placed.map((e) => {
|
|
232
|
+
const t = e.endColumn - e.startColumn + 1, l = le(e.event.paletteKey);
|
|
233
|
+
return /* @__PURE__ */ a(
|
|
234
|
+
"button",
|
|
235
|
+
{
|
|
236
|
+
type: "button",
|
|
237
|
+
className: v(
|
|
238
|
+
n.bandBar(),
|
|
239
|
+
!e.isStart && "rounded-l-none",
|
|
240
|
+
!e.isEnd && "rounded-r-none"
|
|
241
|
+
),
|
|
242
|
+
"aria-label": ne(e.event, r, g.colors[l.key], b, g),
|
|
243
|
+
style: {
|
|
244
|
+
top: e.row * H,
|
|
245
|
+
left: `calc(${e.startColumn} / ${o.length} * 100% + 2px)`,
|
|
246
|
+
width: `calc(${t} / ${o.length} * 100% - 4px)`,
|
|
247
|
+
background: l.fill,
|
|
248
|
+
color: l.text,
|
|
249
|
+
borderLeft: e.isStart ? `3px solid ${l.edge}` : void 0,
|
|
250
|
+
boxShadow: `inset 0 0 0 1px ${l.edge}`
|
|
251
|
+
},
|
|
252
|
+
onClick: () => U?.(e.event),
|
|
253
|
+
children: e.event.title
|
|
254
|
+
},
|
|
255
|
+
`${e.event.id}:${e.row}:${e.startColumn}`
|
|
256
|
+
);
|
|
257
|
+
}) })
|
|
258
|
+
}
|
|
259
|
+
)
|
|
260
|
+
] })
|
|
261
|
+
] }),
|
|
262
|
+
/* @__PURE__ */ a("div", { className: "sr-only", role: "status", "aria-live": "assertive", "aria-atomic": "true", children: be }),
|
|
263
|
+
/* @__PURE__ */ h("div", { className: n.scroller(), ref: R, children: [
|
|
264
|
+
/* @__PURE__ */ a(
|
|
265
|
+
"div",
|
|
266
|
+
{
|
|
267
|
+
className: n.gutter(),
|
|
268
|
+
style: { width: L, height: u },
|
|
269
|
+
"aria-hidden": "true",
|
|
270
|
+
children: xe.map((e, t) => /* @__PURE__ */ a(
|
|
271
|
+
"div",
|
|
272
|
+
{
|
|
273
|
+
className: n.railLabel(),
|
|
274
|
+
style: { position: "absolute", top: e.fraction * u, width: L },
|
|
275
|
+
children: t === 0 ? "" : ie(e.instant, r, b, e.minute !== 0)
|
|
276
|
+
},
|
|
277
|
+
`${e.instant}:${t}`
|
|
278
|
+
))
|
|
279
|
+
}
|
|
280
|
+
),
|
|
281
|
+
/* @__PURE__ */ h("div", { className: n.columns(), style: { height: u }, children: [
|
|
282
|
+
/* @__PURE__ */ a(
|
|
283
|
+
"div",
|
|
284
|
+
{
|
|
285
|
+
"aria-hidden": "true",
|
|
286
|
+
className: "pointer-events-none absolute inset-0",
|
|
287
|
+
style: {
|
|
288
|
+
backgroundImage: `repeating-linear-gradient(to bottom, var(--border-subtle) 0 1px, transparent 1px ${I}px)`
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
),
|
|
292
|
+
ge.map((e) => /* @__PURE__ */ h(
|
|
293
|
+
"div",
|
|
294
|
+
{
|
|
295
|
+
className: n.column(),
|
|
296
|
+
ref: (t) => {
|
|
297
|
+
Q.current[e.dayIndex] = t;
|
|
298
|
+
},
|
|
299
|
+
children: [
|
|
300
|
+
P && /* @__PURE__ */ a(
|
|
301
|
+
"div",
|
|
302
|
+
{
|
|
303
|
+
"aria-hidden": "true",
|
|
304
|
+
className: "absolute inset-0 z-0",
|
|
305
|
+
ref: i.bindCanvas()
|
|
306
|
+
}
|
|
307
|
+
),
|
|
308
|
+
/* @__PURE__ */ h(
|
|
309
|
+
"ul",
|
|
310
|
+
{
|
|
311
|
+
className: "contents",
|
|
312
|
+
"aria-label": g.timeGrid.eventsOn(Ee(e.day, b)),
|
|
313
|
+
children: [
|
|
314
|
+
e.events.map(({ event: t, top: l, bottom: f, isStart: s, isEnd: c, placement: m }) => {
|
|
315
|
+
const d = le(t.paletteKey), p = T.preview(i.preview(t)), Z = T.grabbedId === t.id, N = i.draft?.id === t.id || Z, _ = N ? k(r, e.day, p.start) : m.start, z = N ? k(r, e.day, p.endExclusive) : m.end, ee = (f - l) * u < 30, y = !!w && t.editable !== !1;
|
|
316
|
+
return /* @__PURE__ */ h("li", { className: "contents", children: [
|
|
317
|
+
/* @__PURE__ */ a(
|
|
318
|
+
He,
|
|
319
|
+
{
|
|
320
|
+
enabled: y && fe,
|
|
321
|
+
actions: /* @__PURE__ */ a(
|
|
322
|
+
Ke,
|
|
323
|
+
{
|
|
324
|
+
event: t,
|
|
325
|
+
zone: r,
|
|
326
|
+
days: o,
|
|
327
|
+
snapMinutes: E,
|
|
328
|
+
onApply: (j) => w?.(t, j)
|
|
329
|
+
}
|
|
330
|
+
),
|
|
331
|
+
children: /* @__PURE__ */ a(
|
|
332
|
+
"button",
|
|
333
|
+
{
|
|
334
|
+
type: "button",
|
|
335
|
+
className: v(
|
|
336
|
+
n.event(),
|
|
337
|
+
ee && "flex-row items-center gap-1",
|
|
338
|
+
y && "cursor-grab",
|
|
339
|
+
N && "z-40 cursor-grabbing shadow-lg",
|
|
340
|
+
/* A REFUSED RESIZE IS SHOWN, not silently ignored. The
|
|
341
|
+
user is still holding the pointer and needs to know
|
|
342
|
+
the gesture will not take. */
|
|
343
|
+
N && i.invalid && "opacity-50 ring-2 ring-danger",
|
|
344
|
+
!s && "rounded-t-none",
|
|
345
|
+
!c && "rounded-b-none"
|
|
346
|
+
),
|
|
347
|
+
"aria-label": ne(t, r, g.colors[d.key], b, g),
|
|
348
|
+
ref: y ? i.bindEvent(t, "move") : void 0,
|
|
349
|
+
"data-dragging": N ? "" : void 0,
|
|
350
|
+
style: {
|
|
351
|
+
top: _ * u,
|
|
352
|
+
height: Math.max(ce, (z - _) * u),
|
|
353
|
+
left: `calc(${m.left * 100}% + 1px)`,
|
|
354
|
+
width: `calc(${m.width * 100}% - 2px)`,
|
|
355
|
+
zIndex: 10 + m.zIndex,
|
|
356
|
+
background: d.fill,
|
|
357
|
+
color: d.text,
|
|
358
|
+
borderLeft: `3px solid ${d.edge}`,
|
|
359
|
+
/* A 1px rim on any lane past the first is what stops a
|
|
360
|
+
cascade becoming mush — the overlapping chips need
|
|
361
|
+
an edge to read against each other. */
|
|
362
|
+
boxShadow: m.column > 0 ? `inset 0 0 0 1px ${d.edge}` : void 0
|
|
363
|
+
},
|
|
364
|
+
onClick: () => U?.(t),
|
|
365
|
+
onKeyDown: y ? (j) => T.onKeyDown(t, j) : void 0,
|
|
366
|
+
"data-grabbed": Z ? "" : void 0,
|
|
367
|
+
children: J ? J(t) : /* @__PURE__ */ h(ue, { children: [
|
|
368
|
+
/* @__PURE__ */ a("span", { className: "truncate font-medium", children: t.title }),
|
|
369
|
+
/* @__PURE__ */ a("span", { className: v("truncate opacity-80", ee && "shrink-0"), children: ie(t.start, r, b) })
|
|
370
|
+
] })
|
|
371
|
+
}
|
|
372
|
+
)
|
|
373
|
+
}
|
|
374
|
+
),
|
|
375
|
+
y && s && /* @__PURE__ */ a(
|
|
376
|
+
"span",
|
|
377
|
+
{
|
|
378
|
+
"aria-hidden": "true",
|
|
379
|
+
className: v(n.resizeHandle(), "top-0"),
|
|
380
|
+
style: { top: _ * u, left: `calc(${m.left * 100}% + 1px)`, width: `calc(${m.width * 100}% - 2px)`, position: "absolute", zIndex: 20 + m.zIndex },
|
|
381
|
+
ref: i.bindEvent(t, "resize-start")
|
|
382
|
+
}
|
|
383
|
+
),
|
|
384
|
+
y && c && /* @__PURE__ */ a(
|
|
385
|
+
"span",
|
|
386
|
+
{
|
|
387
|
+
"aria-hidden": "true",
|
|
388
|
+
className: v(n.resizeHandle()),
|
|
389
|
+
style: { top: z * u - 20, left: `calc(${m.left * 100}% + 1px)`, width: `calc(${m.width * 100}% - 2px)`, position: "absolute", zIndex: 20 + m.zIndex },
|
|
390
|
+
ref: i.bindEvent(t, "resize-end")
|
|
391
|
+
}
|
|
392
|
+
)
|
|
393
|
+
] }, `${t.id}:${m.column}`);
|
|
394
|
+
}),
|
|
395
|
+
i.creating && de(i.creating.day, e.day) && /* @__PURE__ */ a("li", { "aria-hidden": "true", className: "contents", children: /* @__PURE__ */ a(
|
|
396
|
+
"span",
|
|
397
|
+
{
|
|
398
|
+
className: n.ghost(),
|
|
399
|
+
style: {
|
|
400
|
+
top: k(r, e.day, i.creating.start) * u,
|
|
401
|
+
height: (k(r, e.day, i.creating.endExclusive) - k(r, e.day, i.creating.start)) * u,
|
|
402
|
+
left: 2,
|
|
403
|
+
right: 2
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
) })
|
|
407
|
+
]
|
|
408
|
+
}
|
|
409
|
+
),
|
|
410
|
+
G === e.dayIndex && O >= 0 && O <= 1 && /* @__PURE__ */ a(
|
|
411
|
+
"div",
|
|
412
|
+
{
|
|
413
|
+
className: n.nowLine(),
|
|
414
|
+
style: { top: O * u },
|
|
415
|
+
"aria-hidden": "true",
|
|
416
|
+
children: /* @__PURE__ */ a("span", { className: n.nowDot() })
|
|
417
|
+
}
|
|
418
|
+
)
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
A(e.day)
|
|
422
|
+
))
|
|
423
|
+
] })
|
|
424
|
+
] })
|
|
425
|
+
] });
|
|
426
|
+
}
|
|
427
|
+
export {
|
|
428
|
+
ct as CalendarTimeGrid
|
|
429
|
+
};
|
|
430
|
+
//# sourceMappingURL=CalendarTimeGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarTimeGrid.js","sources":["../../../src/components/calendar/CalendarTimeGrid.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState, type ReactNode } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"@/lib/cn\";\nimport {\n dayFraction,\n isSameDate,\n isoDateString,\n nextDay,\n startOfDay,\n type PlainDate,\n type TimeZone,\n} from \"@/lib/time\";\nimport { packLanes, type LaneInput } from \"@/lib/calendar/lane-packer\";\nimport { packBand, type BandInput } from \"@/lib/calendar/band-packer\";\nimport {\n allDayBandSegment,\n daySlots,\n timeSegments,\n timedBandSegment,\n type BandSegment,\n type TimeSegment,\n} from \"@/lib/calendar/segments\";\nimport type { CalendarEvent, TimedEvent } from \"@/lib/calendar/types\";\nimport { dayNumber, eventLabel, longDate, timeOfDay, weekdayName, zoneLabel } from \"./format\";\nimport { paletteFor } from \"./palette\";\nimport { useUiLocale, useUiStrings } from \"@/lib/i18n\";\nimport { useNow } from \"./use-now\";\nimport { useCalendarDrag } from \"./use-calendar-drag\";\nimport { EventActions } from \"./EventActions\";\nimport { useEventKeyboard } from \"./use-event-keyboard\";\nimport { Popover } from \"@/components/Popover\";\nimport { attachEdgeAutoScroll } from \"@/lib/dnd/autoscroll\";\nimport { fractionOf, type ColumnRect } from \"@/lib/calendar/drag\";\nimport type { Instant } from \"@/lib/time\";\n\n/* ============================================================================\n THE TIME GRID — Day and Week are the same component with a different number\n of columns.\n\n IT IS NOT A GRID, AND THE OBVIOUS ARIA IS WRONG. An event spans six\n 15-minute cells; overlapping events stack in sub-columns that have no row or\n column meaning; and the chips are absolutely positioned OUTSIDE any row,\n which breaks `role=\"grid\"`'s required children outright. `aria-owns` is the\n usual escape and has poor real-world support. FullCalendar rejected\n `role=\"grid\"` here deliberately and ships `role=\"table\"`; its ticket is still\n open.\n\n So: THE RAILS ARE PRESENTATIONAL AND `aria-hidden`, and the accessible form\n of a day is an ORDERED LIST of its events, each carrying its own time as\n text. That is not a compromise — it is where every credible implementation\n lands, and it is the one shape a screen-reader user can actually work\n through. The MONTH view is a real grid and is treated as one; these two are\n not, and pretending otherwise buys nothing.\n\n VERTICAL POSITION IS A FRACTION OF THE DAY'S REAL LENGTH. Never\n `hour * rowHeight`. The whole time layer exists so this file can divide, and\n the payoff is that a 23-hour day compresses and a 25-hour day stretches with\n no branch anywhere in this file.\n ========================================================================= */\n\nconst grid = tv({\n slots: {\n /* `relative` is what makes `overflow-hidden` true for the grid's\n out-of-flow contents — the live-region announcements are `sr-only`,\n which is `position: absolute`, and an unpositioned clipper is not in\n their containing-block chain. See `scripts/probe-containment.mjs`. */\n root: \"relative flex min-w-0 flex-col overflow-hidden rounded-xl border border-border bg-surface\",\n header: \"flex shrink-0 flex-col border-b border-border-subtle bg-surface\",\n headerRow: \"flex\",\n gutter: \"shrink-0 border-r border-border-subtle\",\n dayHead: [\n \"flex min-w-0 flex-1 flex-col items-center gap-0.5 py-2\",\n \"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover\",\n ],\n dayName: \"text-2xs font-semibold tracking-widest text-tertiary uppercase\",\n dayDigit: [\n \"grid size-7 place-items-center rounded-full text-sm tabular-nums\",\n \"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover\",\n ],\n zoneLabel: \"flex h-full items-end justify-end pr-1.5 pb-1 text-2xs text-tertiary tabular-nums\",\n allDayRow: \"flex border-t border-border-subtle\",\n allDayLabel: \"shrink-0 border-r border-border-subtle pt-1 pr-1.5 text-right text-2xs text-tertiary\",\n allDayLanes: \"relative min-w-0 flex-1 overflow-y-auto py-1\",\n scroller: \"relative flex min-h-0 flex-1 overflow-y-auto\",\n railLabel: \"relative -top-1.5 pr-1.5 text-right text-2xs text-tertiary tabular-nums\",\n columns: \"relative flex min-w-0 flex-1\",\n column: \"relative min-w-0 flex-1 border-r border-border-subtle last:border-r-0\",\n event: [\n \"absolute flex flex-col overflow-hidden rounded-md px-1.5 py-0.5 text-left\",\n \"text-2xs leading-tight\",\n \"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover\",\n \"focus-visible:z-30 focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-(--focus-ring)\",\n /* TOUCH-ACTION PAN-Y, not none. The column scrolls vertically and a chip\n fills most of it, so `none` would make the grid unscrollable by finger\n — the long-press dwell is what distinguishes a drag from a scroll, and\n the non-passive touchmove guard in the gesture takes the pan back once\n the press has proved itself. */\n \"touch-pan-y select-none\",\n ],\n bandBar: [\n \"absolute flex h-6 items-center gap-1 overflow-hidden rounded-sm px-1.5 text-left\",\n \"text-2xs leading-none whitespace-nowrap\",\n \"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover\",\n \"focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-(--focus-ring)\",\n ],\n /* RESIZE HANDLES. clamp(10px, 20px, 50%) so a 15-minute event still has a\n clickable BODY — a handle that covers the whole chip means the event can\n be resized but never moved. Hit area only; the visual cue is the cursor. */\n resizeHandle: \"absolute inset-x-0 z-10 h-[clamp(10px,20px,50%)] cursor-ns-resize\",\n ghost: [\n \"pointer-events-none absolute z-30 rounded-md border-2 border-dashed border-accent\",\n \"bg-accent-subtle/60\",\n ],\n nowLine: \"pointer-events-none absolute right-0 left-0 z-20 h-px bg-danger\",\n nowDot: \"absolute -top-1 -left-1 size-2 rounded-full bg-danger\",\n },\n});\n\n/** Gutter width, and the all-day band's row pitch. Shared with the packers. */\nconst GUTTER_PX = 56;\nconst BAND_ROW_PX = 26;\n\n/**\n * A 24px chip on a 26px pitch, expressed as a fraction of the column.\n *\n * The lane packer works in fractions and must not learn what a pixel is, so the\n * caller converts. 24px of a 1440px column is the floor a five-minute event is\n * inflated to — below it the chip is unclickable, and SC 2.5.8 asks for 24.\n */\nconst MIN_EVENT_PX = 24;\n\nexport interface CalendarTimeGridProps {\n /** The days to show. One for Day view, seven for Week. */\n days: readonly PlainDate[];\n zone: TimeZone;\n events: readonly CalendarEvent[];\n today?: PlainDate;\n onSelectEvent?: (event: CalendarEvent) => void;\n /** Minutes per rail. 60 by default — see `snapMinutes` for why they differ. */\n slotMinutes?: number;\n /** Pixel height of one rail. The column's total height is derived from it. */\n slotHeightPx?: number;\n /**\n * Hour the grid scrolls to on load. 8 by default.\n *\n * Applied on the RANGE's identity, not on every render. react-big-calendar\n * re-runs its scroll effect on render, so selecting an event snaps the user\n * back to 8am — an open issue, and a genuinely maddening one.\n */\n scrollToHour?: number;\n /**\n * Rows the all-day band may show before it scrolls internally.\n *\n * REQUIRED TO BE FINITE. An uncapped band eats the container and makes the\n * time grid unreachable — an open FullCalendar bug, and react-big-calendar's\n * default is literally `Infinity`.\n */\n maxAllDayRows?: number;\n /** Most lanes a batch of overlapping events may divide into. */\n maxLanes?: number;\n /** `cascade` is the Google look and the default. */\n overlapMode?: \"cascade\" | \"split\";\n /** Fix the now-indicator for a screenshot. */\n nowInstant?: number;\n /**\n * Minutes a drag snaps to. DELIBERATELY INDEPENDENT of `slotMinutes`.\n *\n * FullCalendar, react-big-calendar and Schedule-X all couple snap to the rail\n * spacing; Google and Mobiscroll do not, and Google is 15-minute snap on\n * 60-minute rails — the combination that feels right. Retrofitting the split\n * is a rewrite, so the two are separate values.\n */\n snapMinutes?: number;\n /** Commit a move or a resize. Omit to make the grid read-only. */\n onEventChange?: (event: CalendarEvent, next: CalendarEvent) => void;\n /** Commit a drag-to-create. Omit to disable creating. */\n onCreate?: (range: { start: Instant; endExclusive: Instant }) => void;\n /** Announcements for the live region. The grid renders its own if omitted. */\n onAnnounce?: (message: string) => void;\n /**\n * Whether clicking an editable event opens the move/resize action menu.\n *\n * ON BY DEFAULT WHEN THE GRID IS EDITABLE, AND TURNING IT OFF FAILS WCAG 2.2\n * SC 2.5.7 unless you provide an equivalent. That criterion asks for a\n * single-pointer, NON-DRAGGING route to every outcome a drag can produce, and\n * it is assessed independently of keyboard access — a keyboard equivalent does\n * not satisfy it. This menu is that route. See `EventActions` for why the\n * pointer path is tier one and the keyboard is not.\n *\n * Set false ONLY when your `onSelectEvent` opens something that offers the\n * same three outcomes: a new day, a new start, a new length.\n */\n eventActions?: boolean;\n renderEvent?: (event: CalendarEvent) => ReactNode;\n className?: string;\n label?: string;\n}\n\n/**\n * Wraps an event chip in its action menu, or in nothing at all.\n *\n * A COMPONENT RATHER THAN AN INLINE TERNARY because the alternative is writing\n * the chip's forty lines of JSX twice, and the second copy is the one that\n * stops matching. `Popover` renders its trigger through a render prop, so the\n * chip keeps its own ref, its own handlers and its own drag binding either way.\n */\nfunction EventChipShell({\n enabled,\n actions,\n children,\n}: {\n enabled: boolean;\n actions: ReactNode;\n children: ReactNode;\n}) {\n if (!enabled) return <>{children}</>;\n return (\n <Popover side=\"right\" align=\"start\" trigger={children}>\n {actions}\n </Popover>\n );\n}\n\nexport function CalendarTimeGrid({\n days,\n zone,\n events,\n today,\n onSelectEvent,\n slotMinutes = 60,\n slotHeightPx = 48,\n scrollToHour = 8,\n maxAllDayRows = 3,\n maxLanes,\n overlapMode = \"cascade\",\n nowInstant,\n snapMinutes = 15,\n onEventChange,\n onCreate,\n onAnnounce,\n eventActions = true,\n renderEvent,\n className,\n label,\n}: CalendarTimeGridProps) {\n const locale = useUiLocale();\n const strings = useUiStrings().calendar;\n const s = grid();\n const scrollerRef = useRef<HTMLDivElement>(null);\n const columnRefs = useRef<(HTMLElement | null)[]>([]);\n const [announcement, setAnnouncement] = useState(\"\");\n\n const now = useNow({ fixed: nowInstant });\n\n /* Rails come from the FIRST day, walked through the zone. On a 25-hour day\n that is 25 of them with 1 AM twice; on Lord Howe's short day it is 24 with\n the last a half-step. Nothing branches. */\n const rails = useMemo(\n () => (days.length > 0 ? daySlots(zone, days[0], slotMinutes) : []),\n [days, zone, slotMinutes],\n );\n\n /* Column height is derived from the LONGEST day in view, so a week\n containing a 25-hour day is tall enough for it and the other six simply\n use less of their own column. Each column still divides by its OWN length,\n which is what keeps every event on the right rail. */\n const columnHeightPx = useMemo(() => {\n const maxSlots = days.reduce(\n (most, day) => Math.max(most, daySlots(zone, day, slotMinutes).length),\n 1,\n );\n return maxSlots * slotHeightPx;\n }, [days, zone, slotMinutes, slotHeightPx]);\n\n /* --- the all-day band ---------------------------------------------------- */\n const band = useMemo(() => {\n const segments: BandSegment[] = [];\n for (const event of events) {\n if (event.allDay) {\n const segment = allDayBandSegment(days, event);\n if (segment) segments.push(segment);\n } else {\n /* A TIMED event that spans more than one day belongs in the band too:\n drawn in the grid it would be a full-height rectangle in every column\n it touches, which hides everything underneath it. */\n const spans = timedBandSegment(zone, days, event);\n if (spans && spans.endColumn > spans.startColumn) segments.push(spans);\n }\n }\n const inputs: BandInput[] = segments.map((segment, index) => ({\n key: `${segment.event.id}:${index}`,\n startColumn: segment.startColumn,\n endColumn: segment.endColumn,\n priority: segment.event.allDay ? 0 : 1,\n }));\n const result = packBand(inputs, { columns: days.length, maxRows: maxAllDayRows });\n const byKey = new Map(inputs.map((input, index) => [input.key, segments[index]]));\n return {\n placed: result.placed.map((p) => ({ ...byKey.get(p.key)!, row: p.row })),\n hidden: result.hidden.length,\n rows: result.rows,\n };\n }, [days, events, zone, maxAllDayRows]);\n\n /* --- the timed events, per column --------------------------------------- */\n const columns = useMemo(() => {\n const minSpan = MIN_EVENT_PX / Math.max(1, columnHeightPx);\n\n return days.map((day, dayIndex) => {\n const segments: TimeSegment[] = [];\n for (const event of events) {\n if (event.allDay) continue;\n /* Multi-day timed events went to the band above; drawing them here as\n well would double them. */\n const spans = timedBandSegment(zone, days, event);\n if (spans && spans.endColumn > spans.startColumn) continue;\n segments.push(...timeSegments(zone, [day], event as TimedEvent));\n }\n\n const inputs: LaneInput[] = segments.map((segment, index) => ({\n key: `${segment.event.id}:${index}`,\n start: segment.top,\n end: segment.bottom,\n }));\n const placed = packLanes(inputs, { mode: overlapMode, minSpan, maxLanes, minWidth: 0.16 });\n const byKey = new Map(inputs.map((input, index) => [input.key, segments[index]]));\n\n return {\n day,\n dayIndex,\n events: placed.map((placement) => ({\n ...byKey.get(placement.key)!,\n placement,\n })),\n };\n });\n }, [days, events, zone, overlapMode, maxLanes, columnHeightPx]);\n\n /* --- scroll to the working day, ONCE per range --------------------------- */\n\n /* THE SCROLL POSITION IS A NUMBER, AND THE EFFECT DEPENDS ONLY ON IT.\n *\n * My first version keyed the effect on `rangeKey` — correct — and then also\n * listed `days` in the same dependency array. `days` is a fresh array on\n * every render, so the effect ran on every render and the scroll snapped back\n * the instant anything changed. That is precisely the react-big-calendar bug\n * the comment underneath it warned about, shipped in the act of warning about\n * it, and a test asserting the scroll position SURVIVES a re-render is what\n * found it.\n *\n * Resolving to a number first is what makes the dependency honest: two\n * renders of the same range produce the same number, so the effect cannot\n * fire, whatever else re-rendered. */\n const rangeKey = days.map(isoDateString).join(\",\");\n const scrollTargetPx = useMemo(() => {\n if (days.length === 0) return null;\n const day = days[0];\n const target = startOfDay(zone, day) + scrollToHour * 3_600_000;\n const fraction = Math.max(0, Math.min(1, dayFraction(zone, day, target)));\n return fraction * columnHeightPx;\n /* `rangeKey` stands in for `days` deliberately — see above. */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [rangeKey, zone, scrollToHour, columnHeightPx]);\n\n useEffect(() => {\n const node = scrollerRef.current;\n if (!node || scrollTargetPx === null) return;\n node.scrollTop = scrollTargetPx;\n }, [scrollTargetPx]);\n\n /* MEASURED FROM THE DOM, not computed from the props. The columns move when\n the grid scrolls, the window resizes, or a sibling reflows, and only the\n browser knows where they actually are. */\n const measure = useCallback((): ColumnRect[] => {\n const out: ColumnRect[] = [];\n for (let i = 0; i < days.length; i++) {\n const node = columnRefs.current[i];\n if (!node) continue;\n const rect = node.getBoundingClientRect();\n out.push({ day: days[i], left: rect.left, right: rect.right, top: rect.top, bottom: rect.bottom });\n }\n return out;\n }, [days]);\n\n const drag = useCalendarDrag({\n zone,\n days,\n snapMinutes,\n measure,\n disabled: !onEventChange,\n onCommit: (event, next) => onEventChange?.(event, next),\n onCreate: onCreate\n ? (range) => onCreate({ start: range.start, endExclusive: range.endExclusive })\n : undefined,\n onAnnounce: (message) => {\n setAnnouncement(message);\n onAnnounce?.(message);\n },\n });\n\n /* KEYBOARD GRABBED-MODE, the TIER-TWO path. `EventActions` above is what\n satisfies SC 2.5.7; this is faster for a sighted keyboard user and does\n nothing for that criterion. See its file header. */\n const keyboard = useEventKeyboard({\n zone,\n snapMinutes,\n days,\n onCommit: (event, next) => onEventChange?.(event, next),\n onAnnounce: (message) => {\n setAnnouncement(message);\n onAnnounce?.(message);\n },\n });\n\n /* EDGE AUTO-SCROLL, imported from the drag engine unchanged. Reaching an\n event at 8pm while holding one from 9am is otherwise impossible: the\n pointer is captured, so the wheel and the scrollbar are both unavailable. */\n useEffect(() => {\n if (!drag.draft && !drag.creating) return;\n const node = scrollerRef.current;\n if (!node) return;\n void node;\n return attachEdgeAutoScroll({ getPoint: drag.getPoint, onScrolled: drag.onScrolled });\n }, [drag.draft, drag.creating, drag.getPoint, drag.onScrolled]);\n\n const nowColumn = days.findIndex((day) => {\n const from = startOfDay(zone, day);\n return now >= from && now < startOfDay(zone, nextDay(day));\n });\n const nowFraction = nowColumn >= 0 ? dayFraction(zone, days[nowColumn], now) : -1;\n\n return (\n <div className={cn(s.root(), className)} aria-label={label ?? strings.timeGrid.label}>\n <div className={s.header()}>\n <div className={s.headerRow()}>\n <div className={s.gutter()} style={{ width: GUTTER_PX }}>\n <div className={s.zoneLabel()}>{zoneLabel(zone, now, locale)}</div>\n </div>\n {days.map((day) => {\n const isToday = today ? isSameDate(day, today) : false;\n return (\n <div key={isoDateString(day)} className={s.dayHead()}>\n <span className={s.dayName()}>{weekdayName(day, \"short\", locale)}</span>\n <span\n className={cn(\n s.dayDigit(),\n isToday ? \"bg-accent font-semibold text-accent-contrast\" : \"text-primary\",\n )}\n >\n {dayNumber(day, locale)}\n </span>\n </div>\n );\n })}\n </div>\n\n {(band.placed.length > 0 || band.hidden > 0) && (\n <div className={s.allDayRow()}>\n <div className={s.allDayLabel()} style={{ width: GUTTER_PX }}>\n {strings.timeGrid.allDay}\n </div>\n <div\n className={s.allDayLanes()}\n /* ITS OWN SCROLLER AND ITS OWN CAP. Without both, a week with\n nine overlapping trips pushes the time grid off the bottom of\n the container and the calendar becomes unusable. */\n style={{ maxHeight: maxAllDayRows * BAND_ROW_PX + 8 }}\n >\n <div style={{ height: Math.max(1, band.rows) * BAND_ROW_PX }}>\n {band.placed.map((segment) => {\n const span = segment.endColumn - segment.startColumn + 1;\n const swatch = paletteFor(segment.event.paletteKey);\n return (\n <button\n key={`${segment.event.id}:${segment.row}:${segment.startColumn}`}\n type=\"button\"\n className={cn(\n s.bandBar(),\n !segment.isStart && \"rounded-l-none\",\n !segment.isEnd && \"rounded-r-none\",\n )}\n aria-label={eventLabel(segment.event, zone, strings.colors[swatch.key], locale, strings)}\n style={{\n top: segment.row * BAND_ROW_PX,\n left: `calc(${segment.startColumn} / ${days.length} * 100% + 2px)`,\n width: `calc(${span} / ${days.length} * 100% - 4px)`,\n background: swatch.fill,\n color: swatch.text,\n borderLeft: segment.isStart ? `3px solid ${swatch.edge}` : undefined,\n boxShadow: `inset 0 0 0 1px ${swatch.edge}`,\n }}\n onClick={() => onSelectEvent?.(segment.event)}\n >\n {segment.event.title}\n </button>\n );\n })}\n </div>\n </div>\n </div>\n )}\n </div>\n\n {/* PRESENT AND EMPTY BEFORE CONTENT — a region created at the moment it\n first has something to say is not announced at all by several screen\n readers. ASSERTIVE because a drag is a modal gesture and polite waits\n for a stable render state, which a continuous reflow never reaches. */}\n <div className=\"sr-only\" role=\"status\" aria-live=\"assertive\" aria-atomic=\"true\">\n {announcement}\n </div>\n\n <div className={s.scroller()} ref={scrollerRef}>\n {/* THE RAILS ARE PRESENTATIONAL. They are the chrome of the widget, not\n its content, and a screen reader announcing \"1 AM, 2 AM, 3 AM…\"\n between every event is noise the user cannot switch off. The times\n live on the events themselves. */}\n <div\n className={s.gutter()}\n style={{ width: GUTTER_PX, height: columnHeightPx }}\n aria-hidden=\"true\"\n >\n {rails.map((rail, index) => (\n <div\n key={`${rail.instant}:${index}`}\n className={s.railLabel()}\n style={{ position: \"absolute\", top: rail.fraction * columnHeightPx, width: GUTTER_PX }}\n >\n {index === 0 ? \"\" : timeOfDay(rail.instant, zone, locale, rail.minute !== 0)}\n </div>\n ))}\n </div>\n\n <div className={s.columns()} style={{ height: columnHeightPx }}>\n {/* The horizontal rules, drawn once across every column as a repeating\n gradient rather than as one element per rail per day — a week at\n 15-minute rails would otherwise be 672 divs. */}\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0\"\n style={{\n backgroundImage: `repeating-linear-gradient(to bottom, var(--border-subtle) 0 1px, transparent 1px ${slotHeightPx}px)`,\n }}\n />\n\n {columns.map((column) => (\n <div\n key={isoDateString(column.day)}\n className={s.column()}\n ref={(node) => {\n columnRefs.current[column.dayIndex] = node;\n }}\n >\n {/* THE CREATE CANVAS sits UNDER the chips, filling the column, so\n a press on empty space starts a new event and a press on a\n chip belongs to the chip. It is aria-hidden and not focusable:\n creating by keyboard is the action menu's job, not a\n rubber-band gesture nobody can see. */}\n {onCreate && (\n <div\n aria-hidden=\"true\"\n className=\"absolute inset-0 z-0\"\n ref={drag.bindCanvas()}\n />\n )}\n {/* AN ORDERED LIST, which is the accessible form of a day. The\n visual position is decoration on top of it. */}\n <ul\n className=\"contents\"\n aria-label={strings.timeGrid.eventsOn(longDate(column.day, locale))}\n >\n {column.events.map(({ event, top, bottom, isStart, isEnd, placement }) => {\n const swatch = paletteFor(event.paletteKey);\n\n /* POSITIONED FROM THE PREVIEW, so the chip follows the pointer\n rather than waiting for the drop. The preview is the event\n with the draft delta composed onto it — recomputed from\n whatever the event says NOW, never from a snapshot taken at\n pointer-down. */\n /* BOTH PREVIEWS, composed. Only one can be live at a time —\n a pointer gesture and a keyboard grab are mutually\n exclusive — but composing rather than branching means\n neither has to know the other exists. */\n const shown = keyboard.preview(drag.preview(event));\n const grabbed = keyboard.grabbedId === event.id;\n const dragging = drag.draft?.id === event.id || grabbed;\n const liveTop = dragging ? fractionOf(zone, column.day, shown.start) : placement.start;\n const liveBottom = dragging\n ? fractionOf(zone, column.day, shown.endExclusive)\n : placement.end;\n\n const heightPx = (bottom - top) * columnHeightPx;\n const short = heightPx < 30;\n const editable = Boolean(onEventChange) && event.editable !== false;\n return (\n <li key={`${event.id}:${placement.column}`} className=\"contents\">\n <EventChipShell\n enabled={editable && eventActions}\n actions={\n <EventActions\n event={event}\n zone={zone}\n days={days}\n snapMinutes={snapMinutes}\n onApply={(next) => onEventChange?.(event, next)}\n />\n }\n >\n <button\n type=\"button\"\n className={cn(\n s.event(),\n short && \"flex-row items-center gap-1\",\n editable && \"cursor-grab\",\n dragging && \"z-40 cursor-grabbing shadow-lg\",\n /* A REFUSED RESIZE IS SHOWN, not silently ignored. The\n user is still holding the pointer and needs to know\n the gesture will not take. */\n dragging && drag.invalid && \"opacity-50 ring-2 ring-danger\",\n !isStart && \"rounded-t-none\",\n !isEnd && \"rounded-b-none\",\n )}\n aria-label={eventLabel(event, zone, strings.colors[swatch.key], locale, strings)}\n ref={editable ? drag.bindEvent(event, \"move\") : undefined}\n data-dragging={dragging ? \"\" : undefined}\n style={{\n top: liveTop * columnHeightPx,\n height: Math.max(MIN_EVENT_PX, (liveBottom - liveTop) * columnHeightPx),\n left: `calc(${placement.left * 100}% + 1px)`,\n width: `calc(${placement.width * 100}% - 2px)`,\n zIndex: 10 + placement.zIndex,\n background: swatch.fill,\n color: swatch.text,\n borderLeft: `3px solid ${swatch.edge}`,\n /* A 1px rim on any lane past the first is what stops a\n cascade becoming mush — the overlapping chips need\n an edge to read against each other. */\n boxShadow:\n placement.column > 0 ? `inset 0 0 0 1px ${swatch.edge}` : undefined,\n }}\n onClick={() => onSelectEvent?.(event)}\n onKeyDown={editable ? (e) => keyboard.onKeyDown(event, e) : undefined}\n data-grabbed={grabbed ? \"\" : undefined}\n >\n {renderEvent ? (\n renderEvent(event)\n ) : (\n <>\n <span className=\"truncate font-medium\">{event.title}</span>\n {/* SHORT EVENTS PUT TITLE AND TIME ON ONE LINE. Below\n 30px there is no room for two, and stacking them\n clips the title to nothing. */}\n <span className={cn(\"truncate opacity-80\", short && \"shrink-0\")}>\n {timeOfDay(event.start, zone, locale)}\n </span>\n </>\n )}\n </button>\n </EventChipShell>\n {/* OUTSIDE the button, so a press on an edge is a resize\n and never also a click on the event. Only on the ends\n that are really this event's — a chip clipped by the\n day boundary has no edge to grab there. */}\n {editable && isStart && (\n <span\n aria-hidden=\"true\"\n className={cn(s.resizeHandle(), \"top-0\")}\n style={{ top: liveTop * columnHeightPx, left: `calc(${placement.left * 100}% + 1px)`, width: `calc(${placement.width * 100}% - 2px)`, position: \"absolute\", zIndex: 20 + placement.zIndex }}\n ref={drag.bindEvent(event, \"resize-start\")}\n />\n )}\n {editable && isEnd && (\n <span\n aria-hidden=\"true\"\n className={cn(s.resizeHandle())}\n style={{ top: liveBottom * columnHeightPx - 20, left: `calc(${placement.left * 100}% + 1px)`, width: `calc(${placement.width * 100}% - 2px)`, position: \"absolute\", zIndex: 20 + placement.zIndex }}\n ref={drag.bindEvent(event, \"resize-end\")}\n />\n )}\n </li>\n );\n })}\n\n {/* The rubber band, while a create gesture is in flight. */}\n {drag.creating && isSameDate(drag.creating.day, column.day) && (\n <li aria-hidden=\"true\" className=\"contents\">\n <span\n className={s.ghost()}\n style={{\n top: fractionOf(zone, column.day, drag.creating.start) * columnHeightPx,\n height:\n (fractionOf(zone, column.day, drag.creating.endExclusive) -\n fractionOf(zone, column.day, drag.creating.start)) *\n columnHeightPx,\n left: 2,\n right: 2,\n }}\n />\n </li>\n )}\n </ul>\n\n {nowColumn === column.dayIndex && nowFraction >= 0 && nowFraction <= 1 && (\n <div\n className={s.nowLine()}\n style={{ top: nowFraction * columnHeightPx }}\n aria-hidden=\"true\"\n >\n <span className={s.nowDot()} />\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["grid","tv","GUTTER_PX","BAND_ROW_PX","MIN_EVENT_PX","EventChipShell","enabled","actions","children","jsx","Popover","Fragment","CalendarTimeGrid","days","zone","events","today","onSelectEvent","slotMinutes","slotHeightPx","scrollToHour","maxAllDayRows","maxLanes","overlapMode","nowInstant","snapMinutes","onEventChange","onCreate","onAnnounce","eventActions","renderEvent","className","label","locale","useUiLocale","strings","useUiStrings","s","scrollerRef","useRef","columnRefs","announcement","setAnnouncement","useState","now","useNow","rails","useMemo","daySlots","columnHeightPx","most","day","band","segments","event","segment","allDayBandSegment","spans","timedBandSegment","inputs","index","result","packBand","byKey","input","p","columns","minSpan","dayIndex","timeSegments","placed","packLanes","placement","rangeKey","isoDateString","scrollTargetPx","target","startOfDay","dayFraction","useEffect","node","measure","useCallback","out","i","rect","drag","useCalendarDrag","next","range","message","keyboard","useEventKeyboard","attachEdgeAutoScroll","nowColumn","from","nextDay","nowFraction","jsxs","cn","isToday","isSameDate","weekdayName","dayNumber","span","swatch","paletteFor","eventLabel","rail","timeOfDay","column","longDate","top","bottom","isStart","isEnd","shown","grabbed","dragging","liveTop","fractionOf","liveBottom","short","editable","EventActions","e"],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { jsxs as o, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as x } from "react";
|
|
3
|
+
import { tv as R } from "tailwind-variants";
|
|
4
|
+
import { cn as q } from "../../lib/cn.js";
|
|
5
|
+
import { Button as E } from "../Button.js";
|
|
6
|
+
import { Select as b, SelectItem as S } from "../Select.js";
|
|
7
|
+
import { timeOfDay as N, longDate as K } from "./format.js";
|
|
8
|
+
import { useUiLocale as G, useUiStrings as H } from "../../lib/i18n/provider.js";
|
|
9
|
+
import { useNumberFormat as J } from "../../lib/i18n/number-format.js";
|
|
10
|
+
import { instantToPlainDateTime as M, startOfDay as D, plainDateTimeToInstant as Q, addDuration as W } from "../../lib/time/zone.js";
|
|
11
|
+
import { isoDateString as p } from "../../lib/time/types.js";
|
|
12
|
+
const X = R({
|
|
13
|
+
slots: {
|
|
14
|
+
root: "flex min-w-64 flex-col gap-3",
|
|
15
|
+
title: "text-sm font-semibold text-primary",
|
|
16
|
+
meta: "text-2xs text-tertiary",
|
|
17
|
+
row: "flex items-center justify-between gap-3",
|
|
18
|
+
label: "text-xs text-secondary",
|
|
19
|
+
footer: "flex justify-end gap-2 border-t border-border-subtle pt-3"
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function Y(e, a, c, y) {
|
|
23
|
+
const m = D(e, a), g = D(e, { ...a, day: a.day + 1 }) - m, d = c * 6e4, u = [];
|
|
24
|
+
for (let s = 0; s < g; s += d) {
|
|
25
|
+
const l = m + s;
|
|
26
|
+
u.push({ value: String(s), label: N(l, e, y), instant: l });
|
|
27
|
+
}
|
|
28
|
+
return u;
|
|
29
|
+
}
|
|
30
|
+
const Z = [15, 30, 45, 60, 90, 120, 180, 240, 300, 360, 480, 600, 720];
|
|
31
|
+
function lt({
|
|
32
|
+
event: e,
|
|
33
|
+
zone: a,
|
|
34
|
+
days: c,
|
|
35
|
+
snapMinutes: y = 15,
|
|
36
|
+
maxDurationMinutes: m = 720,
|
|
37
|
+
onApply: g,
|
|
38
|
+
onClose: d,
|
|
39
|
+
className: u
|
|
40
|
+
}) {
|
|
41
|
+
const s = G(), l = J(), i = H().calendar.actions, n = X(), f = (() => {
|
|
42
|
+
const t = M(a, e.start);
|
|
43
|
+
return { year: t.year, month: t.month, day: t.day };
|
|
44
|
+
})(), [w, I] = x(p(f)), T = c.find((t) => p(t) === w) ?? f, v = Y(a, T, y, s), U = e.start - D(a, f), [O, V] = x(String(U)), C = Math.round((e.endExclusive - e.start) / 6e4), [j, k] = x(String(C)), B = Array.from(/* @__PURE__ */ new Set([...Z, C])).filter((t) => t > 0 && t <= m).sort((t, h) => t - h), F = () => {
|
|
45
|
+
const t = v.find((P) => P.value === O) ?? v[0], h = M(a, t.instant), A = Q(a, {
|
|
46
|
+
...T,
|
|
47
|
+
hour: h.hour,
|
|
48
|
+
minute: h.minute,
|
|
49
|
+
second: 0,
|
|
50
|
+
millisecond: 0
|
|
51
|
+
}), L = Number(j);
|
|
52
|
+
g({
|
|
53
|
+
...e,
|
|
54
|
+
start: A,
|
|
55
|
+
endExclusive: W(a, A, { minutes: L })
|
|
56
|
+
}), d?.();
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ o("div", { className: q(n.root(), u), children: [
|
|
59
|
+
/* @__PURE__ */ o("div", { children: [
|
|
60
|
+
/* @__PURE__ */ r("div", { className: n.title(), children: e.title }),
|
|
61
|
+
/* @__PURE__ */ o("div", { className: n.meta(), children: [
|
|
62
|
+
N(e.start, a, s),
|
|
63
|
+
" – ",
|
|
64
|
+
N(e.endExclusive, a, s),
|
|
65
|
+
",",
|
|
66
|
+
" ",
|
|
67
|
+
K(f, s)
|
|
68
|
+
] })
|
|
69
|
+
] }),
|
|
70
|
+
/* @__PURE__ */ o("div", { className: n.row(), children: [
|
|
71
|
+
/* @__PURE__ */ r("span", { className: n.label(), id: "cal-actions-day", children: i.moveTo }),
|
|
72
|
+
/* @__PURE__ */ r(
|
|
73
|
+
b,
|
|
74
|
+
{
|
|
75
|
+
value: w,
|
|
76
|
+
onValueChange: (t) => {
|
|
77
|
+
I(String(t));
|
|
78
|
+
},
|
|
79
|
+
"aria-label": i.day,
|
|
80
|
+
children: c.map((t) => /* @__PURE__ */ r(S, { value: p(t), children: K(t, s) }, p(t)))
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
] }),
|
|
84
|
+
/* @__PURE__ */ o("div", { className: n.row(), children: [
|
|
85
|
+
/* @__PURE__ */ r("span", { className: n.label(), children: i.startAt }),
|
|
86
|
+
/* @__PURE__ */ r(b, { value: O, onValueChange: (t) => V(String(t)), "aria-label": i.startTime, children: v.map((t) => /* @__PURE__ */ r(S, { value: t.value, children: t.label }, t.value)) })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ o("div", { className: n.row(), children: [
|
|
89
|
+
/* @__PURE__ */ r("span", { className: n.label(), children: i.lasting }),
|
|
90
|
+
/* @__PURE__ */ r(b, { value: j, onValueChange: (t) => k(String(t)), "aria-label": i.duration, children: B.map((t) => /* @__PURE__ */ r(S, { value: String(t), children: i.minutes(Math.floor(t / 60), l(Math.floor(t / 60)), t % 60, l(t % 60)) }, t)) })
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ o("div", { className: n.footer(), children: [
|
|
93
|
+
/* @__PURE__ */ r(E, { size: "sm", variant: "ghost", onClick: () => d?.(), children: i.cancel }),
|
|
94
|
+
/* @__PURE__ */ r(E, { size: "sm", onClick: F, children: i.apply })
|
|
95
|
+
] })
|
|
96
|
+
] });
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
lt as EventActions
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=EventActions.js.map
|