@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 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentStrip.js","sources":["../../../src/components/markdown/AttachmentStrip.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState, type FormEvent } from \"react\";\nimport { useUiStrings } from \"../../lib/i18n\";\nimport { attachmentsOf, type AttachmentRow } from \"../../lib/markdown/attachments\";\nimport type { LocalFileInfo } from \"../../lib/markdown/image-pipeline\";\nimport { isUnstoredImageSrc, sanitizeImageSrc } from \"../../lib/markdown/images\";\nimport type { Projection } from \"../../lib/markdown/project\";\nimport { sanitizeHref } from \"../../lib/syntax/markdown/render\";\nimport { AttachmentAction, AttachmentList } from \"../chat/Attachment\";\nimport { downloadChatFile } from \"../chat/download-file\";\nimport { isImageFile } from \"../chat/file-icon\";\nimport type { ChatFile } from \"../chat/types\";\nimport { FileViewer } from \"../file-viewer\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Input } from \"../Input\";\nimport { Menu, MenuItem } from \"../Menu\";\nimport { Popover } from \"../Popover\";\n\n/* ============================================================================\n THE ATTACHMENT STRIP - the tiles under a MarkdownEditor's text (DXUI-74).\n\n THE TEXT IS THE ONLY RECORD. The rows are computed from the markdown on every\n render (`attachmentsOf`), never kept in state beside it: deleting a reference\n in the text removes its tile, an undo brings it back, and a typed ordinary\n link is never a tile because `attachmentsOf` says it is not one. A tile that\n is still being stored takes its picture and state from the pipeline's registry\n (`resolve`); a stored one takes them from its URL.\n\n NOTHING NEW DRAWS A TILE: `AttachmentList layout=\"strip\"` and `Attachment` do,\n with `AttachmentAction` in their action slot, exactly as the chat composer's\n strip does.\n\n ONE CONTROL PER TILE (DEC-262). A tile is 64px square, and four buttons do not\n fit on it (measured: Retry 0px visible at every width, Rename 0px on a phone),\n so the tile shows its thumbnail and name and ONE corner control, a menu that\n holds Download, Rename, Retry (a failed file this editor can upload again) and\n Remove. Pressing the tile previews it. The chat composer's strip keeps its\n single remove button: that is `Attachment`'s own cluster, which this does not\n use.\n ========================================================================= */\n\nexport interface AttachmentStripProps {\n /** The parse of the markdown the strip is computed from: the one the editor's surface already holds. */\n projection: Projection;\n /** Whether a link's destination is a stored file (an image construct always is). */\n isFileUrl: (url: string) => boolean;\n /** What the editor knows about an object URL it minted; null for any other URL. */\n resolve: (url: string) => LocalFileInfo | null;\n /** A name for the file at `url` that does not change when its upload finishes and its object URL is swapped for the stored one: the tile is keyed on it, so an open menu or rename survives the swap. */\n identify: (url: string) => string;\n /** A read-only editor offers a tile's preview and download only. */\n readOnly?: boolean;\n /** Inset the row from the editor's frame; the padding belongs to the strip so an editor with no files has none. */\n padded?: boolean;\n /** The editor's text surface: where focus goes after a tile is removed. */\n textFocus: () => HTMLElement | null;\n /** Gives every construct pointing at `url` a new reference name. */\n onRename: (url: string, name: string) => void;\n /** Deletes every construct pointing at `url`. */\n onRemove: (url: string) => void;\n /** Uploads a failed file again. */\n onRetry: (url: string) => void;\n}\n\n/** The file name a URL ends in, or \"\" when it has none. */\nfunction fileNameOf(url: string): string {\n /* A `data:` URL holds the file, not a name: a piece of its base64 is no file name. */\n if (/^data:/i.test(url.trimStart())) return \"\";\n const path = url.split(/[?#]/, 1)[0];\n const last = path.slice(path.lastIndexOf(\"/\") + 1);\n try {\n return decodeURIComponent(last);\n } catch {\n return last;\n }\n}\n\n/** The tile for one row: what the library's `Attachment` is handed. */\nfunction toChatFile(row: AttachmentRow, id: string, info: LocalFileInfo | null): ChatFile {\n const fileName = info?.file.name ?? (fileNameOf(row.url) || undefined);\n /* `` names nothing: the tile takes the name its URL ends in, else the URL. */\n const name = row.name || fileName || row.url;\n /* An image construct is a picture whatever its URL ends in; any other row is what its file name and type say. */\n const mimeType = info?.file.type || (row.image ? \"image/*\" : undefined);\n /* A minted object URL is vouched for by the registry and is the only `blob:` that may be loaded; every other URL\n goes through the same policy the stored-URL check uses. */\n const picture = info ? row.url : sanitizeImageSrc(row.url) ?? undefined;\n const isPicture = isImageFile({ name, fileName, mimeType });\n /* A picture's `url` is the image policy's answer, so a picture stored at a `data:image` URL still previews and\n downloads. Only a picture gets it: the viewer's open-in-new-tab link belongs to a file with no preview, and an\n SVG `data:` URL must never be offered there. */\n const href = info ? row.url : (isPicture ? picture : sanitizeHref(row.url)) ?? undefined;\n return {\n id,\n name,\n fileName,\n size: info?.file.size,\n mimeType,\n url: href,\n thumbnailUrl: isPicture ? picture : undefined,\n /* A `blob:` this editor did not mint can never be stored: it is a failed file, with no reason to give. */\n status: info?.state === \"uploading\" ? \"uploading\" : info?.state === \"failed\" || (!info && isUnstoredImageSrc(row.url)) ? \"error\" : \"ready\",\n error: info?.state === \"failed\" ? info.message : undefined,\n };\n}\n\nexport function AttachmentStrip({ projection, isFileUrl, resolve, identify, textFocus, readOnly = false, padded = false, onRename, onRemove, onRetry }: AttachmentStripProps) {\n const strings = useUiStrings().markdownEditor.attachment;\n const fileStrings = useUiStrings().chat.attachment;\n const rows = useMemo(() => attachmentsOf(projection, { isFileUrl }), [projection, isFileUrl]);\n /* What is open is held by the file's identity, which survives the upload finishing and swapping its object URL for\n the stored one under an open rename or viewer; the URL an action needs is looked up when it runs. */\n const [viewing, setViewing] = useState<string | null>(null);\n const [renaming, setRenaming] = useState<{ id: string; draft: string } | null>(null);\n const [anchor, setAnchor] = useState<Element | null>(null);\n const root = useRef<HTMLDivElement>(null);\n /* Where focus goes when the menu closes. The page behind an open menu is inert, so a row that removes its own tile\n cannot focus the text itself: it asks the menu to, after it closes. A row that opens the rename field leaves focus\n on that field. Any other close returns to the trigger. */\n const closeTo = useRef<\"trigger\" | \"text\" | \"field\">(\"trigger\");\n const renamingId = renaming?.id ?? null;\n\n /* The rename popover opens beside the file's tile. */\n useLayoutEffect(() => {\n const tiles = [...(root.current?.querySelectorAll(\"[data-attachment]\") ?? [])];\n setAnchor(renamingId === null ? null : (tiles.find((tile) => tile.getAttribute(\"data-attachment\") === renamingId) ?? null));\n }, [renamingId, rows]);\n\n if (rows.length === 0) return null;\n const infos = rows.map((row) => resolve(row.url));\n const files = rows.map((row, i) => toChatFile(row, identify(row.url), infos[i]));\n /* The URL each tile's file has in the text right now. */\n const urlOf = new Map(rows.map((row, i) => [files[i].id, row.url]));\n /* Retry exists only for a file this editor minted and holds: a `blob:` it did not mint cannot be uploaded again. */\n const retryable = new Set(rows.flatMap((_, i) => (infos[i]?.state === \"failed\" ? [files[i].id] : [])));\n\n const saveRename = (event: FormEvent) => {\n event.preventDefault();\n /* The form lives in a portal, and React bubbles its submit to a form around the editor: it is this form's alone. */\n event.stopPropagation();\n const name = renaming?.draft.trim();\n const url = renaming ? urlOf.get(renaming.id) : undefined;\n if (url !== undefined && name) onRename(url, name);\n setRenaming(null);\n };\n\n /* The tile's one control: a menu of everything that can be done to the file (DEC-262). */\n const menuOf = (file: ChatFile) => {\n const download = file.status !== \"uploading\" && file.url !== undefined;\n if (readOnly && !download) return undefined;\n return (\n <Menu\n side=\"bottom\"\n align=\"end\"\n className=\"min-w-44\"\n finalFocus={() => {\n const to = closeTo.current;\n closeTo.current = \"trigger\";\n return to === \"text\" ? textFocus() : to === \"trigger\";\n }}\n trigger={<AttachmentAction icon=\"more-vertical\" label={strings.actions(file.name)} tinted={Boolean(file.thumbnailUrl)} />}\n >\n {file.status === \"error\" && file.error && (\n /* The reason a picture's upload failed: its tile has room for an icon only, and a tooltip is out of reach\n of touch and keyboard, so the menu says it. */\n <p role=\"note\" className=\"max-w-60 px-2.5 py-1.5 text-xs text-danger-text [overflow-wrap:anywhere]\">\n {file.error}\n </p>\n )}\n {download && (\n <MenuItem icon={<Icon name=\"download\" size=\"sm\" />} onClick={() => downloadChatFile(file)}>\n {fileStrings.download(file.name)}\n </MenuItem>\n )}\n {!readOnly && (\n <MenuItem icon={<Icon name=\"pencil\" size=\"sm\" />} onClick={() => {\n closeTo.current = \"field\";\n setRenaming({ id: file.id, draft: file.name });\n }}>\n {strings.rename(file.name)}\n </MenuItem>\n )}\n {!readOnly && retryable.has(file.id) && (\n <MenuItem icon={<Icon name=\"rotate-ccw\" size=\"sm\" />} onClick={() => onRetry(urlOf.get(file.id)!)}>\n {strings.retry(file.name)}\n </MenuItem>\n )}\n {!readOnly && (\n <MenuItem tone=\"danger\" icon={<Icon name=\"trash-2\" size=\"sm\" />} onClick={() => {\n closeTo.current = \"text\";\n onRemove(urlOf.get(file.id)!);\n }}>\n {fileStrings.remove(file.name)}\n </MenuItem>\n )}\n </Menu>\n );\n };\n return (\n <div ref={root} role=\"group\" aria-label={strings.strip} data-md-attachment-strip=\"\" className={padded ? \"px-3 pb-2\" : undefined}>\n <AttachmentList\n files={files}\n layout=\"strip\"\n caption\n action={menuOf}\n onPreview={(file) => setViewing(file.id)}\n />\n <FileViewer\n open={viewing !== null}\n onOpenChange={(open) => !open && setViewing(null)}\n files={files}\n initialFileId={viewing}\n onDownload={downloadChatFile}\n />\n <Popover\n anchor={anchor}\n open={renaming !== null && anchor !== null}\n onOpenChange={(open) => !open && setRenaming(null)}\n side=\"top\"\n aria-label={renaming ? strings.rename(files.find((file) => file.id === renamingId)?.name ?? \"\") : undefined}\n >\n {renaming && (\n <form onSubmit={saveRename} className=\"flex items-center gap-2\">\n <Input\n autoFocus\n value={renaming.draft}\n aria-label={strings.renameField}\n onChange={(event) => setRenaming({ ...renaming, draft: event.target.value })}\n />\n <Button type=\"submit\" size=\"sm\" disabled={renaming.draft.trim() === \"\"}>\n {strings.renameSave}\n </Button>\n </form>\n )}\n </Popover>\n </div>\n );\n}\n"],"names":["fileNameOf","url","path","last","toChatFile","row","id","info","fileName","name","mimeType","picture","sanitizeImageSrc","isPicture","isImageFile","href","sanitizeHref","isUnstoredImageSrc","AttachmentStrip","projection","isFileUrl","resolve","identify","textFocus","readOnly","padded","onRename","onRemove","onRetry","strings","useUiStrings","fileStrings","rows","useMemo","attachmentsOf","viewing","setViewing","useState","renaming","setRenaming","anchor","setAnchor","root","useRef","closeTo","renamingId","useLayoutEffect","tiles","tile","infos","files","i","urlOf","retryable","_","saveRename","event","menuOf","file","download","jsxs","Menu","to","jsx","AttachmentAction","MenuItem","Icon","downloadChatFile","AttachmentList","FileViewer","open","Popover","Input","Button"],"mappings":";;;;;;;;;;;;;;;AAiEA,SAASA,EAAWC,GAAqB;AAEvC,MAAI,UAAU,KAAKA,EAAI,UAAA,CAAW,EAAG,QAAO;AAC5C,QAAMC,IAAOD,EAAI,MAAM,QAAQ,CAAC,EAAE,CAAC,GAC7BE,IAAOD,EAAK,MAAMA,EAAK,YAAY,GAAG,IAAI,CAAC;AACjD,MAAI;AACF,WAAO,mBAAmBC,CAAI;AAAA,EAChC,QAAQ;AACN,WAAOA;AAAA,EACT;AACF;AAGA,SAASC,GAAWC,GAAoBC,GAAYC,GAAsC;AACxF,QAAMC,IAAWD,GAAM,KAAK,SAASP,EAAWK,EAAI,GAAG,KAAK,SAEtDI,IAAOJ,EAAI,QAAQG,KAAYH,EAAI,KAEnCK,IAAWH,GAAM,KAAK,SAASF,EAAI,QAAQ,YAAY,SAGvDM,IAAUJ,IAAOF,EAAI,MAAMO,EAAiBP,EAAI,GAAG,KAAK,QACxDQ,IAAYC,EAAY,EAAE,MAAAL,GAAM,UAAAD,GAAU,UAAAE,GAAU,GAIpDK,IAAOR,IAAOF,EAAI,OAAOQ,IAAYF,IAAUK,EAAaX,EAAI,GAAG,MAAM;AAC/E,SAAO;AAAA,IACL,IAAAC;AAAA,IACA,MAAAG;AAAA,IACA,UAAAD;AAAA,IACA,MAAMD,GAAM,KAAK;AAAA,IACjB,UAAAG;AAAA,IACA,KAAKK;AAAA,IACL,cAAcF,IAAYF,IAAU;AAAA;AAAA,IAEpC,QAAQJ,GAAM,UAAU,cAAc,cAAcA,GAAM,UAAU,YAAa,CAACA,KAAQU,EAAmBZ,EAAI,GAAG,IAAK,UAAU;AAAA,IACnI,OAAOE,GAAM,UAAU,WAAWA,EAAK,UAAU;AAAA,EAAA;AAErD;AAEO,SAASW,GAAgB,EAAE,YAAAC,GAAY,WAAAC,GAAW,SAAAC,GAAS,UAAAC,GAAU,WAAAC,GAAW,UAAAC,IAAW,IAAO,QAAAC,IAAS,IAAO,UAAAC,GAAU,UAAAC,GAAU,SAAAC,KAAiC;AAC5K,QAAMC,IAAUC,IAAe,eAAe,YACxCC,IAAcD,IAAe,KAAK,YAClCE,IAAOC,EAAQ,MAAMC,EAAcf,GAAY,EAAE,WAAAC,EAAA,CAAW,GAAG,CAACD,GAAYC,CAAS,CAAC,GAGtF,CAACe,GAASC,CAAU,IAAIC,EAAwB,IAAI,GACpD,CAACC,GAAUC,CAAW,IAAIF,EAA+C,IAAI,GAC7E,CAACG,GAAQC,CAAS,IAAIJ,EAAyB,IAAI,GACnDK,IAAOC,EAAuB,IAAI,GAIlCC,IAAUD,EAAqC,SAAS,GACxDE,IAAaP,GAAU,MAAM;AAQnC,MALAQ,EAAgB,MAAM;AACpB,UAAMC,IAAQ,CAAC,GAAIL,EAAK,SAAS,iBAAiB,mBAAmB,KAAK,EAAG;AAC7E,IAAAD,EAAUI,MAAe,OAAO,OAAQE,EAAM,KAAK,CAACC,MAASA,EAAK,aAAa,iBAAiB,MAAMH,CAAU,KAAK,IAAK;AAAA,EAC5H,GAAG,CAACA,GAAYb,CAAI,CAAC,GAEjBA,EAAK,WAAW,EAAG,QAAO;AAC9B,QAAMiB,IAAQjB,EAAK,IAAI,CAAC3B,MAAQgB,EAAQhB,EAAI,GAAG,CAAC,GAC1C6C,IAAQlB,EAAK,IAAI,CAAC3B,GAAK8C,MAAM/C,GAAWC,GAAKiB,EAASjB,EAAI,GAAG,GAAG4C,EAAME,CAAC,CAAC,CAAC,GAEzEC,IAAQ,IAAI,IAAIpB,EAAK,IAAI,CAAC3B,GAAK8C,MAAM,CAACD,EAAMC,CAAC,EAAE,IAAI9C,EAAI,GAAG,CAAC,CAAC,GAE5DgD,IAAY,IAAI,IAAIrB,EAAK,QAAQ,CAACsB,GAAGH,MAAOF,EAAME,CAAC,GAAG,UAAU,WAAW,CAACD,EAAMC,CAAC,EAAE,EAAE,IAAI,CAAA,CAAG,CAAC,GAE/FI,IAAa,CAACC,MAAqB;AACvC,IAAAA,EAAM,eAAA,GAENA,EAAM,gBAAA;AACN,UAAM/C,IAAO6B,GAAU,MAAM,KAAA,GACvBrC,IAAMqC,IAAWc,EAAM,IAAId,EAAS,EAAE,IAAI;AAChD,IAAIrC,MAAQ,UAAaQ,KAAMiB,EAASzB,GAAKQ,CAAI,GACjD8B,EAAY,IAAI;AAAA,EAClB,GAGMkB,IAAS,CAACC,MAAmB;AACjC,UAAMC,IAAWD,EAAK,WAAW,eAAeA,EAAK,QAAQ;AAC7D,QAAI,EAAAlC,KAAY,CAACmC;AACjB,aACE,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAM;AAAA,UACN,WAAU;AAAA,UACV,YAAY,MAAM;AAChB,kBAAMC,IAAKlB,EAAQ;AACnB,mBAAAA,EAAQ,UAAU,WACXkB,MAAO,SAASvC,EAAA,IAAcuC,MAAO;AAAA,UAC9C;AAAA,UACA,SAAS,gBAAAC,EAACC,GAAA,EAAiB,MAAK,iBAAgB,OAAOnC,EAAQ,QAAQ6B,EAAK,IAAI,GAAG,QAAQ,EAAQA,EAAK,cAAe;AAAA,UAEtH,UAAA;AAAA,YAAAA,EAAK,WAAW,WAAWA,EAAK;AAAA;AAAA,8BAG9B,KAAA,EAAE,MAAK,QAAO,WAAU,4EACtB,YAAK,OACR;AAAA,YAEDC,uBACEM,GAAA,EAAS,wBAAOC,GAAA,EAAK,MAAK,YAAW,MAAK,MAAK,GAAI,SAAS,MAAMC,EAAiBT,CAAI,GACrF,YAAY,SAASA,EAAK,IAAI,GACjC;AAAA,YAED,CAAClC,KACA,gBAAAuC,EAACE,GAAA,EAAS,MAAM,gBAAAF,EAACG,GAAA,EAAK,MAAK,UAAS,MAAK,KAAA,CAAK,GAAI,SAAS,MAAM;AAC7D,cAAAtB,EAAQ,UAAU,SAClBL,EAAY,EAAE,IAAImB,EAAK,IAAI,OAAOA,EAAK,MAAM;AAAA,YAC/C,GACC,UAAA7B,EAAQ,OAAO6B,EAAK,IAAI,GAC3B;AAAA,YAED,CAAClC,KAAY6B,EAAU,IAAIK,EAAK,EAAE,KACjC,gBAAAK,EAACE,GAAA,EAAS,MAAM,gBAAAF,EAACG,GAAA,EAAK,MAAK,cAAa,MAAK,KAAA,CAAK,GAAI,SAAS,MAAMtC,EAAQwB,EAAM,IAAIM,EAAK,EAAE,CAAE,GAC7F,UAAA7B,EAAQ,MAAM6B,EAAK,IAAI,EAAA,CAC1B;AAAA,YAED,CAAClC,KACA,gBAAAuC,EAACE,GAAA,EAAS,MAAK,UAAS,MAAM,gBAAAF,EAACG,GAAA,EAAK,MAAK,WAAU,MAAK,KAAA,CAAK,GAAI,SAAS,MAAM;AAC5E,cAAAtB,EAAQ,UAAU,QAClBjB,EAASyB,EAAM,IAAIM,EAAK,EAAE,CAAE;AAAA,YAC9B,GACC,UAAA3B,EAAY,OAAO2B,EAAK,IAAI,EAAA,CAC/B;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,EAIR;AACA,SACE,gBAAAE,EAAC,OAAA,EAAI,KAAKlB,GAAM,MAAK,SAAQ,cAAYb,EAAQ,OAAO,4BAAyB,IAAG,WAAWJ,IAAS,cAAc,QACpH,UAAA;AAAA,IAAA,gBAAAsC;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,OAAAlB;AAAA,QACA,QAAO;AAAA,QACP,SAAO;AAAA,QACP,QAAQO;AAAA,QACR,WAAW,CAACC,MAAStB,EAAWsB,EAAK,EAAE;AAAA,MAAA;AAAA,IAAA;AAAA,IAEzC,gBAAAK;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,MAAMlC,MAAY;AAAA,QAClB,cAAc,CAACmC,MAAS,CAACA,KAAQlC,EAAW,IAAI;AAAA,QAChD,OAAAc;AAAA,QACA,eAAef;AAAA,QACf,YAAYgC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEd,gBAAAJ;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,QAAA/B;AAAA,QACA,MAAMF,MAAa,QAAQE,MAAW;AAAA,QACtC,cAAc,CAAC8B,MAAS,CAACA,KAAQ/B,EAAY,IAAI;AAAA,QACjD,MAAK;AAAA,QACL,cAAYD,IAAWT,EAAQ,OAAOqB,EAAM,KAAK,CAACQ,MAASA,EAAK,OAAOb,CAAU,GAAG,QAAQ,EAAE,IAAI;AAAA,QAEjG,eACC,gBAAAe,EAAC,QAAA,EAAK,UAAUL,GAAY,WAAU,2BACpC,UAAA;AAAA,UAAA,gBAAAQ;AAAA,YAACS;AAAA,YAAA;AAAA,cACC,WAAS;AAAA,cACT,OAAOlC,EAAS;AAAA,cAChB,cAAYT,EAAQ;AAAA,cACpB,UAAU,CAAC2B,MAAUjB,EAAY,EAAE,GAAGD,GAAU,OAAOkB,EAAM,OAAO,MAAA,CAAO;AAAA,YAAA;AAAA,UAAA;AAAA,UAE7E,gBAAAO,EAACU,GAAA,EAAO,MAAK,UAAS,MAAK,MAAK,UAAUnC,EAAS,MAAM,KAAA,MAAW,IACjE,YAAQ,WAAA,CACX;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,GACF;AAEJ;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as a, useContext as n, createContext as p } from "react";
|
|
3
|
+
import { Callout as u } from "../Callout.js";
|
|
4
|
+
import { Icon as s } from "../Icon.js";
|
|
5
|
+
import { useUiStrings as c } from "../../lib/i18n/provider.js";
|
|
6
|
+
import { useNumberFormat as g } from "../../lib/i18n/number-format.js";
|
|
7
|
+
const f = { uploadImage: null, uploadFile: null, imageTypes: void 0, isFileUrl: void 0 }, t = p(f);
|
|
8
|
+
function T({ uploadImage: o, uploadFile: e, imageTypes: l, isFileUrl: r, children: d }) {
|
|
9
|
+
const m = a(
|
|
10
|
+
() => ({ uploadImage: o, uploadFile: e ?? null, imageTypes: l, isFileUrl: r }),
|
|
11
|
+
[o, e, l, r]
|
|
12
|
+
);
|
|
13
|
+
return /* @__PURE__ */ i(t.Provider, { value: m, children: d });
|
|
14
|
+
}
|
|
15
|
+
function b(o) {
|
|
16
|
+
const e = n(t);
|
|
17
|
+
return a(
|
|
18
|
+
() => ({
|
|
19
|
+
uploadImage: o.uploadImage ?? e.uploadImage,
|
|
20
|
+
uploadFile: o.uploadFile ?? e.uploadFile,
|
|
21
|
+
imageTypes: o.imageTypes ?? e.imageTypes,
|
|
22
|
+
isFileUrl: o.isFileUrl ?? e.isFileUrl
|
|
23
|
+
}),
|
|
24
|
+
[o.uploadImage, o.uploadFile, o.imageTypes, o.isFileUrl, e]
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function C({ state: o }) {
|
|
28
|
+
const e = c().imageUpload, l = g();
|
|
29
|
+
return /* @__PURE__ */ i("div", { "aria-live": "polite", "data-md-image-strip": o.local > 0 ? "" : void 0, className: "flex flex-col", children: o.local > 0 && /* @__PURE__ */ i(
|
|
30
|
+
u,
|
|
31
|
+
{
|
|
32
|
+
tone: "warning",
|
|
33
|
+
className: "rounded-none border-x-0 border-b-0 px-3 py-2",
|
|
34
|
+
icon: /* @__PURE__ */ i(s, { name: "cloud-off", size: "sm" }),
|
|
35
|
+
title: e.unstoredTitle(o.local, l(o.local)),
|
|
36
|
+
children: e.unstoredBody(o.local)
|
|
37
|
+
}
|
|
38
|
+
) });
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
C as ImageUploadStrip,
|
|
42
|
+
T as MarkdownImageUploadProvider,
|
|
43
|
+
b as useMarkdownFileStorage
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=ImageUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageUpload.js","sources":["../../../src/components/markdown/ImageUpload.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, type ReactNode } from \"react\";\nimport { useNumberFormat, useUiStrings } from \"../../lib/i18n\";\nimport type { ImagePipelineSnapshot, ImageUploader } from \"../../lib/markdown/image-pipeline\";\nimport { Callout } from \"../Callout\";\nimport { Icon } from \"../Icon\";\n\n/* ============================================================================\n FILE STORAGE FOR MARKDOWN EDITORS - the app-wide half of the upload\n contract, and the warning the editor shows while a file cannot be stored.\n\n DX-3134 / DXUI-74 / PLN-10 \"Library API\". An app stores files ONE way -\n danxbot posts them to its own upload routes, gpt-manager runs a presigned\n three-step upload - and every editor on every screen should use it without\n each screen wiring it again. So the uploaders are mounted ONCE, at the app\n root, through `MarkdownImageUploadProvider`; an individual editor can still\n override each with its own prop, which wins.\n ========================================================================= */\n\n/** What a `MarkdownEditor` stores files with, and how it tells which links are files. */\nexport interface MarkdownFileStorage {\n uploadImage: ImageUploader | null;\n uploadFile: ImageUploader | null;\n imageTypes: readonly string[] | undefined;\n isFileUrl: ((url: string) => boolean) | undefined;\n}\n\nconst NO_STORAGE: MarkdownFileStorage = { uploadImage: null, uploadFile: null, imageTypes: undefined, isFileUrl: undefined };\n\nconst MarkdownImageUploadContext = createContext<MarkdownFileStorage>(NO_STORAGE);\n\nexport interface MarkdownImageUploadProviderProps {\n /**\n * Stores one picture and resolves with the URL it can be loaded from. Every\n * `MarkdownEditor` below this provider uses it unless it passes its own\n * `uploadImage`. It should honour `signal`, which aborts when the editor\n * unmounts.\n */\n uploadImage: ImageUploader;\n /**\n * Stores any other file (same contract as `uploadImage`). With it, an editor takes every file type and writes a\n * non-picture as a link, `[PDF 2](url)`; without it, a file that is not a picture is ignored. SET IT WITH\n * `isFileUrl`: a stored file's tile is found by `isFileUrl` accepting its link, so without it the tile vanishes\n * when the upload finishes.\n */\n uploadFile?: ImageUploader;\n /**\n * The picture types `uploadImage` stores (MIME types, e.g. `[\"image/png\", \"image/jpeg\"]`); default every `image/*`.\n * A picture of another type (an SVG, say) goes to `uploadFile` as a link, or is ignored when there is none.\n */\n imageTypes?: readonly string[];\n /**\n * Whether a link's destination is a file this app stores, so the link is an attachment tile in the strip under\n * the text. An image construct is always an attachment; an ordinary link someone typed is never one. Default: no link is.\n * Required alongside `uploadFile`.\n */\n isFileUrl?: (url: string) => boolean;\n children?: ReactNode;\n}\n\n/** Makes one file storage available to every `MarkdownEditor` beneath it. */\nexport function MarkdownImageUploadProvider({ uploadImage, uploadFile, imageTypes, isFileUrl, children }: MarkdownImageUploadProviderProps) {\n const value = useMemo<MarkdownFileStorage>(\n () => ({ uploadImage, uploadFile: uploadFile ?? null, imageTypes, isFileUrl }),\n [uploadImage, uploadFile, imageTypes, isFileUrl],\n );\n return <MarkdownImageUploadContext.Provider value={value}>{children}</MarkdownImageUploadContext.Provider>;\n}\n\n/**\n * The storage an editor uses: each of its own props when given, otherwise the nearest provider's, otherwise none -\n * in which case pasted pictures are local-only and the editor says so.\n */\nexport function useMarkdownFileStorage(own: Partial<MarkdownFileStorage>): MarkdownFileStorage {\n const provided = useContext(MarkdownImageUploadContext);\n return useMemo(\n () => ({\n uploadImage: own.uploadImage ?? provided.uploadImage,\n uploadFile: own.uploadFile ?? provided.uploadFile,\n imageTypes: own.imageTypes ?? provided.imageTypes,\n isFileUrl: own.isFileUrl ?? provided.isFileUrl,\n }),\n [own.uploadImage, own.uploadFile, own.imageTypes, own.isFileUrl, provided],\n );\n}\n\n/* --- The warning strip ---------------------------------------------------- */\n\nexport interface ImageUploadStripProps {\n state: ImagePipelineSnapshot;\n}\n\n/**\n * The editor-chrome warning for files that cannot be stored (PLN-10 R-1): shown whenever the document holds a\n * reference to a file that exists only in this tab. A file uploading or failed is on its own tile in the attachment\n * strip; this is the one state no tile can explain, because the cause is the app's configuration.\n *\n * `aria-live=\"polite\"` on the container, never `role=\"alert\"` on the row: a file being pasted is news the author\n * should hear about without being interrupted mid-sentence.\n */\nexport function ImageUploadStrip({ state }: ImageUploadStripProps) {\n const strings = useUiStrings().imageUpload;\n const fmt = useNumberFormat();\n const compact = \"rounded-none border-x-0 border-b-0 px-3 py-2\";\n /* The live region is ALWAYS in the tree, and only its content comes and\n goes: a region inserted together with its first message is not yet being\n watched by assistive tech, so that first message would never be announced. */\n return (\n <div aria-live=\"polite\" data-md-image-strip={state.local > 0 ? \"\" : undefined} className=\"flex flex-col\">\n {state.local > 0 && (\n <Callout\n tone=\"warning\"\n className={compact}\n icon={<Icon name=\"cloud-off\" size=\"sm\" />}\n title={strings.unstoredTitle(state.local, fmt(state.local))}\n >\n {strings.unstoredBody(state.local)}\n </Callout>\n )}\n </div>\n );\n}\n"],"names":["NO_STORAGE","MarkdownImageUploadContext","createContext","MarkdownImageUploadProvider","uploadImage","uploadFile","imageTypes","isFileUrl","children","value","useMemo","jsx","useMarkdownFileStorage","own","provided","useContext","ImageUploadStrip","state","strings","useUiStrings","fmt","useNumberFormat","Callout","Icon"],"mappings":";;;;;;AA0BA,MAAMA,IAAkC,EAAE,aAAa,MAAM,YAAY,MAAM,YAAY,QAAW,WAAW,OAAA,GAE3GC,IAA6BC,EAAmCF,CAAU;AAgCzE,SAASG,EAA4B,EAAE,aAAAC,GAAa,YAAAC,GAAY,YAAAC,GAAY,WAAAC,GAAW,UAAAC,KAA8C;AAC1I,QAAMC,IAAQC;AAAA,IACZ,OAAO,EAAE,aAAAN,GAAa,YAAYC,KAAc,MAAM,YAAAC,GAAY,WAAAC;IAClE,CAACH,GAAaC,GAAYC,GAAYC,CAAS;AAAA,EAAA;AAEjD,SAAO,gBAAAI,EAACV,EAA2B,UAA3B,EAAoC,OAAAQ,GAAe,UAAAD,EAAA,CAAS;AACtE;AAMO,SAASI,EAAuBC,GAAwD;AAC7F,QAAMC,IAAWC,EAAWd,CAA0B;AACtD,SAAOS;AAAA,IACL,OAAO;AAAA,MACL,aAAaG,EAAI,eAAeC,EAAS;AAAA,MACzC,YAAYD,EAAI,cAAcC,EAAS;AAAA,MACvC,YAAYD,EAAI,cAAcC,EAAS;AAAA,MACvC,WAAWD,EAAI,aAAaC,EAAS;AAAA,IAAA;AAAA,IAEvC,CAACD,EAAI,aAAaA,EAAI,YAAYA,EAAI,YAAYA,EAAI,WAAWC,CAAQ;AAAA,EAAA;AAE7E;AAgBO,SAASE,EAAiB,EAAE,OAAAC,KAAgC;AACjE,QAAMC,IAAUC,IAAe,aACzBC,IAAMC,EAAA;AAKZ,SACE,gBAAAV,EAAC,OAAA,EAAI,aAAU,UAAS,uBAAqBM,EAAM,QAAQ,IAAI,KAAK,QAAW,WAAU,iBACtF,UAAAA,EAAM,QAAQ,KACb,gBAAAN;AAAA,IAACW;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WATQ;AAAA,MAUR,MAAM,gBAAAX,EAACY,GAAA,EAAK,MAAK,aAAY,MAAK,MAAK;AAAA,MACvC,OAAOL,EAAQ,cAAcD,EAAM,OAAOG,EAAIH,EAAM,KAAK,CAAC;AAAA,MAEzD,UAAAC,EAAQ,aAAaD,EAAM,KAAK;AAAA,IAAA;AAAA,EAAA,GAGvC;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-error.js","sources":["../../src/components/media-error.ts"],"sourcesContent":["/**\n * A ref callback that reports a media element which had ALREADY failed when\n * React committed it. DX-3982.\n *\n * A source the browser rejects at once fails BEFORE React commits the element,\n * and React drops an event for an uncommitted node — so `onError` never runs\n * and the element sits at 0:00 forever. The element's own `error` is the\n * record of that, read at commit. Pair it with `onError` for failures that\n * arrive after.\n */\nexport const reportCommittedError =\n (onFailed: () => void) =>\n (el: HTMLMediaElement | null): void => {\n if (el?.error) onFailed();\n };\n"],"names":["reportCommittedError","onFailed","el"],"mappings":"AAUO,MAAMA,IACX,CAACC,MACD,CAACC,MAAsC;AACrC,EAAIA,GAAI,SAAOD,EAAA;AACjB;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as a, Fragment as l, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { cn as f } from "../lib/cn.js";
|
|
3
|
+
import { Icon as d } from "./Icon.js";
|
|
4
|
+
import { Tooltip as m } from "./Popover.js";
|
|
5
|
+
function g({ sections: e, activeId: n, collapsed: r = !1, onNavigate: s }) {
|
|
6
|
+
return /* @__PURE__ */ a(l, { children: e.map((t, o) => /* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5", children: [
|
|
7
|
+
t.label && !r && /* @__PURE__ */ a("span", { className: "px-2 pt-1 pb-1.5 text-2xs font-semibold tracking-widest text-tertiary uppercase", children: t.label }),
|
|
8
|
+
t.items.map((c) => /* @__PURE__ */ a(
|
|
9
|
+
h,
|
|
10
|
+
{
|
|
11
|
+
item: c,
|
|
12
|
+
active: c.id === n,
|
|
13
|
+
collapsed: r,
|
|
14
|
+
onNavigate: s
|
|
15
|
+
},
|
|
16
|
+
c.id
|
|
17
|
+
))
|
|
18
|
+
] }, o)) });
|
|
19
|
+
}
|
|
20
|
+
function h({
|
|
21
|
+
item: e,
|
|
22
|
+
active: n,
|
|
23
|
+
collapsed: r,
|
|
24
|
+
onNavigate: s
|
|
25
|
+
}) {
|
|
26
|
+
const t = /* @__PURE__ */ i(
|
|
27
|
+
"a",
|
|
28
|
+
{
|
|
29
|
+
href: e.href ?? "#",
|
|
30
|
+
onClick: (o) => {
|
|
31
|
+
e.href || o.preventDefault(), e.onClick?.(o), s?.();
|
|
32
|
+
},
|
|
33
|
+
"aria-current": n ? "page" : void 0,
|
|
34
|
+
className: f(
|
|
35
|
+
/* HEIGHT floor only (the coarse-pointer tap target). `dx-tap` also floors
|
|
36
|
+
the WIDTH at 44px, and the collapsed rail leaves a row 40px (`w-14` less
|
|
37
|
+
`px-2`), so it overflowed by 4px. An expanded row is full width anyway. */
|
|
38
|
+
"min-h-(--tap-target) flex h-control-md items-center gap-3 rounded-md px-2.5",
|
|
39
|
+
"text-sm font-medium",
|
|
40
|
+
"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover",
|
|
41
|
+
/* The current page keeps a hover of its own — a nav item is
|
|
42
|
+
still a link, and reverting it to the neutral hover fill
|
|
43
|
+
makes the page you are on look like the page you are not. */
|
|
44
|
+
n ? "bg-surface-selected text-accent-text hover:bg-surface-selected-hover" : "text-secondary hover:bg-surface-hover hover:text-primary",
|
|
45
|
+
r && "justify-center px-0"
|
|
46
|
+
),
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ a(d, { name: e.icon, size: "sm", className: "shrink-0" }),
|
|
49
|
+
!r && /* @__PURE__ */ i(l, { children: [
|
|
50
|
+
/* @__PURE__ */ a("span", { className: "min-w-0 flex-1 truncate", children: e.label }),
|
|
51
|
+
e.badge
|
|
52
|
+
] })
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
return r ? /* @__PURE__ */ a(m, { content: e.label, side: "right", children: t }) : t;
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
g as NavSections
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=nav-sections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-sections.js","sources":["../../src/components/nav-sections.tsx"],"sourcesContent":["import type { NavItem, NavSection } from \"./AppShell\";\nimport { cn } from \"../lib/cn\";\nimport { Icon } from \"./Icon\";\nimport { Tooltip } from \"./Popover\";\n\n/* ============================================================================\n THE ONE DRAWING OF A NAV SECTION — group heading, link row, current-page\n marker, click contract. DX-4001.\n\n `AppShell`'s sidebar and `SectionNav` (a page's own grouped sub-navigation)\n both render a `NavSection[]`. They used to be one private function; a second\n consumer would have been a copy, and the two would have drifted the first\n time one of them got a hover state the other did not. Both import THIS, so a\n row looks and behaves the same wherever a `NavSection[]` is drawn.\n\n Returns the section blocks only, NOT the `<nav>` around them: the shell's\n sidebar and SectionNav's two forms each own a different landmark, and a\n landmark is not part of how a row looks.\n\n THE CLICK CONTRACT lives here once: an item with no `href` is not a link, so\n the browser's own `#` jump is suppressed; an item with one keeps it (hover\n URL, ctrl-click to a new tab) and the consumer's `onClick` receives the event\n to suppress navigation itself. `onNavigate` runs after, for a container that\n closes when something is chosen.\n ========================================================================= */\n\nexport interface NavSectionsProps {\n sections: NavSection[];\n activeId?: string;\n /** Icon-only rows with the label moved into a tooltip. The shell's rail. */\n collapsed?: boolean;\n /** Runs after the item's own `onClick`, on every row click. */\n onNavigate?: () => void;\n}\n\nexport function NavSections({ sections, activeId, collapsed = false, onNavigate }: NavSectionsProps) {\n return (\n <>\n {sections.map((section, i) => (\n <div key={i} className=\"flex flex-col gap-0.5\">\n {section.label && !collapsed && (\n <span className=\"px-2 pt-1 pb-1.5 text-2xs font-semibold tracking-widest text-tertiary uppercase\">\n {section.label}\n </span>\n )}\n {section.items.map((item) => (\n <NavRow\n key={item.id}\n item={item}\n active={item.id === activeId}\n collapsed={collapsed}\n onNavigate={onNavigate}\n />\n ))}\n </div>\n ))}\n </>\n );\n}\n\nfunction NavRow({\n item,\n active,\n collapsed,\n onNavigate,\n}: {\n item: NavItem;\n active: boolean;\n collapsed: boolean;\n onNavigate?: () => void;\n}) {\n const link = (\n <a\n href={item.href ?? \"#\"}\n onClick={(e) => {\n if (!item.href) e.preventDefault();\n item.onClick?.(e);\n onNavigate?.();\n }}\n aria-current={active ? \"page\" : undefined}\n className={cn(\n /* HEIGHT floor only (the coarse-pointer tap target). `dx-tap` also floors\n the WIDTH at 44px, and the collapsed rail leaves a row 40px (`w-14` less\n `px-2`), so it overflowed by 4px. An expanded row is full width anyway. */\n \"min-h-(--tap-target) flex h-control-md items-center gap-3 rounded-md px-2.5\",\n \"text-sm font-medium\",\n \"transition-[var(--tx-colors)] duration-(--dur-fast) ease-hover\",\n /* The current page keeps a hover of its own — a nav item is\n still a link, and reverting it to the neutral hover fill\n makes the page you are on look like the page you are not. */\n active\n ? \"bg-surface-selected text-accent-text hover:bg-surface-selected-hover\"\n : \"text-secondary hover:bg-surface-hover hover:text-primary\",\n collapsed && \"justify-center px-0\",\n )}\n >\n <Icon name={item.icon} size=\"sm\" className=\"shrink-0\" />\n {!collapsed && (\n <>\n <span className=\"min-w-0 flex-1 truncate\">{item.label}</span>\n {item.badge}\n </>\n )}\n </a>\n );\n\n /* Collapsed, the label is gone from the screen — so it moves into a\n tooltip rather than disappearing entirely. That is the whole\n reason icon-only navigation is usable. */\n return collapsed ? (\n <Tooltip content={item.label} side=\"right\">\n {link}\n </Tooltip>\n ) : (\n link\n );\n}\n"],"names":["NavSections","sections","activeId","collapsed","onNavigate","jsx","Fragment","section","i","jsxs","item","NavRow","active","link","e","cn","Icon","Tooltip"],"mappings":";;;;AAmCO,SAASA,EAAY,EAAE,UAAAC,GAAU,UAAAC,GAAU,WAAAC,IAAY,IAAO,YAAAC,KAAgC;AACnG,SACE,gBAAAC,EAAAC,GAAA,EACG,YAAS,IAAI,CAACC,GAASC,MACtB,gBAAAC,EAAC,OAAA,EAAY,WAAU,yBACpB,UAAA;AAAA,IAAAF,EAAQ,SAAS,CAACJ,KACjB,gBAAAE,EAAC,UAAK,WAAU,mFACb,YAAQ,MAAA,CACX;AAAA,IAEDE,EAAQ,MAAM,IAAI,CAACG,MAClB,gBAAAL;AAAA,MAACM;AAAA,MAAA;AAAA,QAEC,MAAAD;AAAA,QACA,QAAQA,EAAK,OAAOR;AAAA,QACpB,WAAAC;AAAA,QACA,YAAAC;AAAA,MAAA;AAAA,MAJKM,EAAK;AAAA,IAAA,CAMb;AAAA,EAAA,KAdOF,CAeV,CACD,GACH;AAEJ;AAEA,SAASG,EAAO;AAAA,EACd,MAAAD;AAAA,EACA,QAAAE;AAAA,EACA,WAAAT;AAAA,EACA,YAAAC;AACF,GAKG;AACD,QAAMS,IACJ,gBAAAJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMC,EAAK,QAAQ;AAAA,MACnB,SAAS,CAACI,MAAM;AACd,QAAKJ,EAAK,QAAMI,EAAE,eAAA,GAClBJ,EAAK,UAAUI,CAAC,GAChBV,IAAA;AAAA,MACF;AAAA,MACA,gBAAcQ,IAAS,SAAS;AAAA,MAChC,WAAWG;AAAA;AAAA;AAAA;AAAA,QAIT;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAAA;AAAA,QAIAH,IACI,yEACA;AAAA,QACJT,KAAa;AAAA,MAAA;AAAA,MAGf,UAAA;AAAA,QAAA,gBAAAE,EAACW,KAAK,MAAMN,EAAK,MAAM,MAAK,MAAK,WAAU,YAAW;AAAA,QACrD,CAACP,KACA,gBAAAM,EAAAH,GAAA,EACE,UAAA;AAAA,UAAA,gBAAAD,EAAC,QAAA,EAAK,WAAU,2BAA2B,UAAAK,EAAK,OAAM;AAAA,UACrDA,EAAK;AAAA,QAAA,EAAA,CACR;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAQN,SAAOP,sBACJc,GAAA,EAAQ,SAASP,EAAK,OAAO,MAAK,SAChC,UAAAG,EAAA,CACH,IAEAA;AAEJ;"}
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import { jsxs as C, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useId as Ve, useState as $, useCallback as g, useMemo as N, useRef as A, useEffect as j } from "react";
|
|
3
|
+
import { cn as E } from "../../lib/cn.js";
|
|
4
|
+
import { Icon as F } from "../Icon.js";
|
|
5
|
+
import { IconButton as Be } from "../IconButton.js";
|
|
6
|
+
import { Breadcrumb as Ke } from "../Navigation.js";
|
|
7
|
+
import { Tooltip as $e } from "../Popover.js";
|
|
8
|
+
import { ToggleGroup as Ee, Toggle as ge } from "../Toggle.js";
|
|
9
|
+
import { layoutGraph as Fe, LAYOUT_DEFAULTS as Pe, neighbourhood as je, edgePath as Ge } from "./layout.js";
|
|
10
|
+
import { useCanvasGestures as _e } from "./use-canvas-gestures.js";
|
|
11
|
+
import { useUiStrings as ve } from "../../lib/i18n/provider.js";
|
|
12
|
+
import { useNumberFormat as ye } from "../../lib/i18n/number-format.js";
|
|
13
|
+
const M = 96, qe = 2;
|
|
14
|
+
function G(s) {
|
|
15
|
+
return s.group !== null || s.cycle;
|
|
16
|
+
}
|
|
17
|
+
function _(s, f, m) {
|
|
18
|
+
return s.node ? s.node.label : s.group ? s.group.label : f.cyclicCluster(m(s.memberCount));
|
|
19
|
+
}
|
|
20
|
+
function be(s, f, m) {
|
|
21
|
+
return s.node ? s.node : { id: s.id, label: _(s, f, m) };
|
|
22
|
+
}
|
|
23
|
+
function He({ label: s, memberCount: f, isGroup: m }) {
|
|
24
|
+
const T = ve().nodeCanvas, z = ye();
|
|
25
|
+
return /* @__PURE__ */ C("div", { className: "flex h-full flex-col justify-center gap-1 px-3 py-2", children: [
|
|
26
|
+
/* @__PURE__ */ i("span", { className: "line-clamp-2 text-sm font-medium text-primary", children: s }),
|
|
27
|
+
m && /* @__PURE__ */ i("span", { className: "tabular text-2xs text-tertiary", children: T.itemCount(f, z(f)) })
|
|
28
|
+
] });
|
|
29
|
+
}
|
|
30
|
+
function it({
|
|
31
|
+
graph: s,
|
|
32
|
+
groups: f = [],
|
|
33
|
+
label: m,
|
|
34
|
+
renderNode: T,
|
|
35
|
+
renderSummary: z,
|
|
36
|
+
edgeClassName: pe,
|
|
37
|
+
orientation: k = Pe.orientation,
|
|
38
|
+
nodeWidth: q,
|
|
39
|
+
nodeHeight: H,
|
|
40
|
+
height: W = "30rem",
|
|
41
|
+
expandedGroupId: O,
|
|
42
|
+
defaultExpandedGroupId: Y = null,
|
|
43
|
+
onExpandedGroupIdChange: J,
|
|
44
|
+
onNodeClick: Q,
|
|
45
|
+
onNodeDragEnd: we,
|
|
46
|
+
disabled: v,
|
|
47
|
+
className: xe
|
|
48
|
+
}) {
|
|
49
|
+
const l = ve().nodeCanvas, y = ye(), P = Ve(), [ke, X] = $(Y), h = O !== void 0 ? O : ke, S = g(
|
|
50
|
+
(e) => {
|
|
51
|
+
O === void 0 && X(e), J?.(e);
|
|
52
|
+
},
|
|
53
|
+
[O, J]
|
|
54
|
+
), [c, R] = $(null), Z = N(
|
|
55
|
+
() => c ? { cycleMemberIds: c } : h,
|
|
56
|
+
[c, h]
|
|
57
|
+
), [D, p] = $(null), [ee, te] = $("canvas"), ne = A(!1);
|
|
58
|
+
j(() => {
|
|
59
|
+
ne.current || (ne.current = !0, typeof window < "u" && window.matchMedia("(max-width: 640px)").matches && te("list"));
|
|
60
|
+
}, []);
|
|
61
|
+
const oe = A(s.nodes), re = A(s.edges);
|
|
62
|
+
(oe.current !== s.nodes || re.current !== s.edges) && (oe.current = s.nodes, re.current = s.edges, O === void 0 && X(Y), R(null), p(null));
|
|
63
|
+
const o = N(
|
|
64
|
+
() => Fe(s, f, Z, { orientation: k, nodeWidth: q, nodeHeight: H }),
|
|
65
|
+
[s, f, Z, k, q, H]
|
|
66
|
+
), U = N(() => new Map(o.nodes.map((e) => [e.id, e])), [o.nodes]), V = h ? f.find((e) => e.id === h) ?? null : null, b = N(
|
|
67
|
+
() => ({ width: o.width + M * 2, height: o.height + M * 2 }),
|
|
68
|
+
[o]
|
|
69
|
+
), I = N(() => {
|
|
70
|
+
const e = /* @__PURE__ */ new Map();
|
|
71
|
+
for (const t of o.nodes)
|
|
72
|
+
e.set(t.id, { ...t, x: t.x + M, y: t.y + M });
|
|
73
|
+
return e;
|
|
74
|
+
}, [o]), Ne = g(
|
|
75
|
+
(e) => {
|
|
76
|
+
const t = I.get(e);
|
|
77
|
+
return t ? { x: t.x, y: t.y, width: t.width, height: t.height } : null;
|
|
78
|
+
},
|
|
79
|
+
[I]
|
|
80
|
+
), B = g(
|
|
81
|
+
(e) => {
|
|
82
|
+
const t = U.get(e);
|
|
83
|
+
if (t) {
|
|
84
|
+
if (t.group) {
|
|
85
|
+
S(t.group.id), p(e);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (t.cycle) {
|
|
89
|
+
R(t.memberIds), p(null);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
p(e), t.node && Q?.(t.node);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
[U, Q, S]
|
|
96
|
+
), w = _e({
|
|
97
|
+
layoutBoxOf: Ne,
|
|
98
|
+
planeSize: b,
|
|
99
|
+
onNodeClick: B,
|
|
100
|
+
onNodeDragEnd: we,
|
|
101
|
+
disabled: v
|
|
102
|
+
}), { clearOffsets: se } = w, K = `${h ?? ""}:${c?.join(",") ?? ""}:${k}`, ie = A(K);
|
|
103
|
+
j(() => {
|
|
104
|
+
ie.current !== K && (ie.current = K, se());
|
|
105
|
+
}, [K, se]);
|
|
106
|
+
const Ce = g(
|
|
107
|
+
(e) => {
|
|
108
|
+
const t = I.get(e);
|
|
109
|
+
if (!t) return null;
|
|
110
|
+
const n = w.offsets[e];
|
|
111
|
+
return {
|
|
112
|
+
x: t.x + (n?.x ?? 0),
|
|
113
|
+
y: t.y + (n?.y ?? 0),
|
|
114
|
+
width: t.width,
|
|
115
|
+
height: t.height
|
|
116
|
+
};
|
|
117
|
+
},
|
|
118
|
+
[I, w.offsets]
|
|
119
|
+
), x = N(
|
|
120
|
+
() => D ? je(D, o.edges, qe) : null,
|
|
121
|
+
[D, o.edges]
|
|
122
|
+
), le = A(null), Se = N(() => {
|
|
123
|
+
if (o.nodes.length === 0) return null;
|
|
124
|
+
const e = new Set(o.edges.map((r) => r.to)), t = o.nodes.filter((r) => !e.has(r.id));
|
|
125
|
+
return [...t.length > 0 ? t : o.nodes].sort((r, a) => r.y - a.y || r.x - a.x)[0].id;
|
|
126
|
+
}, [o.nodes, o.edges]), ce = D && I.has(D) ? D : Se, De = g((e) => {
|
|
127
|
+
p(e), queueMicrotask(() => {
|
|
128
|
+
const t = le.current?.querySelector(
|
|
129
|
+
`[data-canvas-node="${CSS.escape(e)}"]`
|
|
130
|
+
);
|
|
131
|
+
t?.focus(), t?.scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
132
|
+
});
|
|
133
|
+
}, []), ae = g(() => {
|
|
134
|
+
if (c) {
|
|
135
|
+
R(null), p(null);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
h !== null && (S(null), p(null));
|
|
139
|
+
}, [c, h, S]), ue = g(
|
|
140
|
+
(e) => Math.round(k === "vertical" ? e.y : e.x),
|
|
141
|
+
[k]
|
|
142
|
+
);
|
|
143
|
+
function de(e, t) {
|
|
144
|
+
const n = I.get(e);
|
|
145
|
+
if (!n) return null;
|
|
146
|
+
const r = ue(n), a = o.nodes.filter((d) => ue(d) === r).sort((d, u) => k === "vertical" ? d.x - u.x : d.y - u.y), L = a.findIndex((d) => d.id === e);
|
|
147
|
+
return a[L + t]?.id ?? null;
|
|
148
|
+
}
|
|
149
|
+
function Ie(e) {
|
|
150
|
+
return o.edges.find((t) => t.to === e)?.from ?? null;
|
|
151
|
+
}
|
|
152
|
+
function Ae(e) {
|
|
153
|
+
return o.edges.find((t) => t.from === e)?.to ?? null;
|
|
154
|
+
}
|
|
155
|
+
function Me(e, t) {
|
|
156
|
+
const n = k === "vertical", r = n ? "ArrowLeft" : "ArrowUp", a = n ? "ArrowRight" : "ArrowDown", L = n ? "ArrowUp" : "ArrowLeft", d = n ? "ArrowDown" : "ArrowRight";
|
|
157
|
+
let u = null;
|
|
158
|
+
switch (e.key) {
|
|
159
|
+
case r:
|
|
160
|
+
u = de(t, -1);
|
|
161
|
+
break;
|
|
162
|
+
case a:
|
|
163
|
+
u = de(t, 1);
|
|
164
|
+
break;
|
|
165
|
+
case L:
|
|
166
|
+
u = Ie(t);
|
|
167
|
+
break;
|
|
168
|
+
case d:
|
|
169
|
+
u = Ae(t);
|
|
170
|
+
break;
|
|
171
|
+
case "Enter":
|
|
172
|
+
case " ":
|
|
173
|
+
e.preventDefault(), v || B(t);
|
|
174
|
+
return;
|
|
175
|
+
case "Backspace":
|
|
176
|
+
e.preventDefault(), v || ae();
|
|
177
|
+
return;
|
|
178
|
+
default:
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
u && (e.preventDefault(), De(u));
|
|
182
|
+
}
|
|
183
|
+
const fe = A(null), { bindViewport: me } = w, Oe = g(
|
|
184
|
+
(e) => {
|
|
185
|
+
fe.current = e, me(e);
|
|
186
|
+
},
|
|
187
|
+
[me]
|
|
188
|
+
);
|
|
189
|
+
j(() => {
|
|
190
|
+
const e = fe.current;
|
|
191
|
+
!e || o.nodes.length === 0 || (e.scrollLeft = Math.max(0, b.width / 2 - e.clientWidth / 2), e.scrollTop = Math.max(0, b.height / 2 - e.clientHeight / 2));
|
|
192
|
+
}, [h, c, b.width, b.height]);
|
|
193
|
+
const Re = g(() => {
|
|
194
|
+
S(null), R(null);
|
|
195
|
+
}, [S]), Le = [
|
|
196
|
+
{ label: m, onClick: h === null && !c ? void 0 : Re },
|
|
197
|
+
...V ? [{ label: V.label, onClick: c ? () => R(null) : void 0 }] : [],
|
|
198
|
+
...c ? [{ label: l.cyclicCluster(y(c.length)), onClick: void 0 }] : []
|
|
199
|
+
], Te = g(
|
|
200
|
+
(e) => o.edges.filter((n) => n.from === e).map((n) => U.get(n.to)).filter((n) => !!n),
|
|
201
|
+
[o.edges, U]
|
|
202
|
+
), he = (e, t, n) => {
|
|
203
|
+
const r = be(e, l, y), a = {
|
|
204
|
+
isGroup: G(e),
|
|
205
|
+
memberCount: e.memberCount,
|
|
206
|
+
isFocused: t,
|
|
207
|
+
isDragging: n,
|
|
208
|
+
focusDistance: x?.get(e.id) ?? null
|
|
209
|
+
};
|
|
210
|
+
return T ? T(r, a) : /* @__PURE__ */ i(He, { label: r.label, memberCount: e.memberCount, isGroup: a.isGroup });
|
|
211
|
+
}, ze = (e) => {
|
|
212
|
+
const t = be(e, l, y);
|
|
213
|
+
return z ? z(t) : t.label;
|
|
214
|
+
};
|
|
215
|
+
return /* @__PURE__ */ C(
|
|
216
|
+
"div",
|
|
217
|
+
{
|
|
218
|
+
className: E(
|
|
219
|
+
"relative flex min-w-0 flex-col overflow-hidden rounded-xl border border-border bg-surface",
|
|
220
|
+
xe
|
|
221
|
+
),
|
|
222
|
+
children: [
|
|
223
|
+
/* @__PURE__ */ C("div", { className: "flex flex-wrap items-center gap-2 border-b border-border-subtle px-3 py-2", children: [
|
|
224
|
+
/* @__PURE__ */ i(
|
|
225
|
+
Be,
|
|
226
|
+
{
|
|
227
|
+
icon: /* @__PURE__ */ i(F, { name: "arrow-up", size: "sm" }),
|
|
228
|
+
label: l.goUp,
|
|
229
|
+
size: "sm",
|
|
230
|
+
onClick: ae,
|
|
231
|
+
disabledReason: v ? l.readOnly : h === null && !c ? l.atTop : void 0
|
|
232
|
+
}
|
|
233
|
+
),
|
|
234
|
+
/* @__PURE__ */ i(Ke, { items: Le, className: "min-w-0 flex-1" }),
|
|
235
|
+
/* @__PURE__ */ C(
|
|
236
|
+
Ee,
|
|
237
|
+
{
|
|
238
|
+
variant: "segmented",
|
|
239
|
+
multiple: !1,
|
|
240
|
+
"aria-label": l.view,
|
|
241
|
+
value: [ee],
|
|
242
|
+
onValueChange: (e) => te(e[0] === "list" ? "list" : "canvas"),
|
|
243
|
+
children: [
|
|
244
|
+
/* @__PURE__ */ i(ge, { value: "canvas", iconOnly: !0, "aria-label": l.chartView, children: /* @__PURE__ */ i(F, { name: "git-branch", size: "xs" }) }),
|
|
245
|
+
/* @__PURE__ */ i(ge, { value: "list", iconOnly: !0, "aria-label": l.listView, children: /* @__PURE__ */ i(F, { name: "list", size: "xs" }) })
|
|
246
|
+
]
|
|
247
|
+
}
|
|
248
|
+
)
|
|
249
|
+
] }),
|
|
250
|
+
ee === "list" ? /* @__PURE__ */ i(
|
|
251
|
+
"div",
|
|
252
|
+
{
|
|
253
|
+
role: "list",
|
|
254
|
+
"aria-label": m,
|
|
255
|
+
"aria-describedby": P,
|
|
256
|
+
className: "min-w-0 flex-1 divide-y divide-border-subtle overflow-auto",
|
|
257
|
+
style: { height: W },
|
|
258
|
+
children: o.nodes.map((e) => {
|
|
259
|
+
const t = Te(e.id), n = G(e);
|
|
260
|
+
return /* @__PURE__ */ C(
|
|
261
|
+
"div",
|
|
262
|
+
{
|
|
263
|
+
role: "listitem",
|
|
264
|
+
tabIndex: 0,
|
|
265
|
+
onClick: () => B(e.id),
|
|
266
|
+
onKeyDown: (r) => {
|
|
267
|
+
(r.key === "Enter" || r.key === " ") && (r.preventDefault(), B(e.id));
|
|
268
|
+
},
|
|
269
|
+
className: E(
|
|
270
|
+
"flex flex-col gap-1 px-3 py-2 outline-none",
|
|
271
|
+
"focus-visible:ring-2 focus-visible:ring-accent-border focus-visible:ring-inset",
|
|
272
|
+
n && !v ? "cursor-pointer hover:bg-surface-hover" : "cursor-default"
|
|
273
|
+
),
|
|
274
|
+
children: [
|
|
275
|
+
/* @__PURE__ */ C("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
276
|
+
he(e, !1, !1),
|
|
277
|
+
n && /* @__PURE__ */ i(F, { name: "chevron-right", size: "xs", className: "shrink-0 text-tertiary" })
|
|
278
|
+
] }),
|
|
279
|
+
t.length > 0 && /* @__PURE__ */ i("p", { className: "pl-3 text-2xs text-tertiary", children: l.connectsTo(t.map((r) => _(r, l, y))) })
|
|
280
|
+
]
|
|
281
|
+
},
|
|
282
|
+
e.id
|
|
283
|
+
);
|
|
284
|
+
})
|
|
285
|
+
}
|
|
286
|
+
) : /* @__PURE__ */ i(
|
|
287
|
+
"div",
|
|
288
|
+
{
|
|
289
|
+
ref: Oe,
|
|
290
|
+
"data-canvas-viewport": !0,
|
|
291
|
+
className: E(
|
|
292
|
+
"relative min-w-0 overflow-auto overscroll-contain bg-canvas-subtle",
|
|
293
|
+
"select-none",
|
|
294
|
+
v ? "cursor-default" : w.panning ? "cursor-grabbing" : "cursor-grab"
|
|
295
|
+
),
|
|
296
|
+
style: { height: W },
|
|
297
|
+
children: /* @__PURE__ */ C("div", { className: "relative", style: { width: b.width, height: b.height }, children: [
|
|
298
|
+
/* @__PURE__ */ i(
|
|
299
|
+
"svg",
|
|
300
|
+
{
|
|
301
|
+
"aria-hidden": "true",
|
|
302
|
+
"data-canvas-edges": !0,
|
|
303
|
+
className: "pointer-events-none absolute inset-0 text-border-strong",
|
|
304
|
+
width: b.width,
|
|
305
|
+
height: b.height,
|
|
306
|
+
children: o.edges.map((e) => {
|
|
307
|
+
const t = {
|
|
308
|
+
...e,
|
|
309
|
+
points: e.points.map((r) => ({ x: r.x + M, y: r.y + M }))
|
|
310
|
+
}, n = x !== null && x.has(e.from) && x.has(e.to);
|
|
311
|
+
return /* @__PURE__ */ i(
|
|
312
|
+
"path",
|
|
313
|
+
{
|
|
314
|
+
d: Ge(t),
|
|
315
|
+
fill: "none",
|
|
316
|
+
stroke: "currentColor",
|
|
317
|
+
strokeWidth: x ? n ? 2 : 1 : 1.5,
|
|
318
|
+
opacity: x ? n ? 1 : 0.35 : 1,
|
|
319
|
+
className: pe?.(e)
|
|
320
|
+
},
|
|
321
|
+
`${e.from}->${e.to}`
|
|
322
|
+
);
|
|
323
|
+
})
|
|
324
|
+
}
|
|
325
|
+
),
|
|
326
|
+
/* @__PURE__ */ i(
|
|
327
|
+
"div",
|
|
328
|
+
{
|
|
329
|
+
ref: le,
|
|
330
|
+
role: "tree",
|
|
331
|
+
"aria-label": m,
|
|
332
|
+
"aria-describedby": P,
|
|
333
|
+
className: "pointer-events-none absolute inset-0",
|
|
334
|
+
children: o.nodes.map((e) => {
|
|
335
|
+
const t = Ce(e.id);
|
|
336
|
+
if (!t) return null;
|
|
337
|
+
const n = w.draggingId === e.id, r = G(e), a = x?.get(e.id) ?? null, L = x !== null && a === null, d = ze(e), u = /* @__PURE__ */ i(
|
|
338
|
+
"div",
|
|
339
|
+
{
|
|
340
|
+
ref: w.bindNode(e.id),
|
|
341
|
+
role: "treeitem",
|
|
342
|
+
"aria-label": _(e, l, y),
|
|
343
|
+
"aria-expanded": r ? !1 : void 0,
|
|
344
|
+
"data-canvas-node": e.id,
|
|
345
|
+
"data-canvas-dragging": n || void 0,
|
|
346
|
+
tabIndex: e.id === ce ? 0 : -1,
|
|
347
|
+
onFocus: () => p(e.id),
|
|
348
|
+
onKeyDown: (Ue) => Me(Ue, e.id),
|
|
349
|
+
className: E(
|
|
350
|
+
"pointer-events-auto absolute rounded-lg border bg-surface-raised outline-none",
|
|
351
|
+
"transition-[var(--tx-colors),box-shadow,scale,opacity] duration-(--dur-fast) ease-snappy",
|
|
352
|
+
"focus-visible:ring-2 focus-visible:ring-accent-border",
|
|
353
|
+
r && !v ? "cursor-pointer border-border hover:border-accent-border hover:bg-surface-hover" : "cursor-default border-border-subtle",
|
|
354
|
+
n ? "z-20 scale-[1.02] border-accent-border elevate-lg" : "elevate-sm",
|
|
355
|
+
!n && w.offsets[e.id] && "z-10",
|
|
356
|
+
L && "opacity-40"
|
|
357
|
+
),
|
|
358
|
+
style: {
|
|
359
|
+
left: t.x,
|
|
360
|
+
top: t.y,
|
|
361
|
+
width: t.width,
|
|
362
|
+
height: t.height,
|
|
363
|
+
touchAction: v ? void 0 : "pan-x pan-y"
|
|
364
|
+
},
|
|
365
|
+
children: he(e, e.id === ce, n)
|
|
366
|
+
},
|
|
367
|
+
e.id
|
|
368
|
+
);
|
|
369
|
+
return d != null ? /* @__PURE__ */ i($e, { content: d, children: u }, e.id) : u;
|
|
370
|
+
})
|
|
371
|
+
}
|
|
372
|
+
)
|
|
373
|
+
] })
|
|
374
|
+
}
|
|
375
|
+
),
|
|
376
|
+
/* @__PURE__ */ i("p", { id: P, role: "status", "aria-live": "polite", className: "sr-only", children: c ? l.showingCycle(o.nodes.length, y(o.nodes.length), y(c.length)) : l.showing(o.nodes.length, y(o.nodes.length), V ? V.label : m) })
|
|
377
|
+
]
|
|
378
|
+
}
|
|
379
|
+
);
|
|
380
|
+
}
|
|
381
|
+
export {
|
|
382
|
+
it as NodeCanvas
|
|
383
|
+
};
|
|
384
|
+
//# sourceMappingURL=NodeCanvas.js.map
|