@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,384 @@
|
|
|
1
|
+
import { jsx as e, jsxs as h } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as E, useState as _, useRef as oe, useCallback as ce } from "react";
|
|
3
|
+
import { cn as d } from "../lib/cn.js";
|
|
4
|
+
import { copyText as le } from "../lib/clipboard.js";
|
|
5
|
+
import { indentSelection as ue, autoIndentNewline as me, handlePairBackspace as pe, handleAutoPair as fe } from "./code-editor/editing.js";
|
|
6
|
+
import { CodeEditorProvider as he, useCodeEditor as x } from "./code-editor/context.js";
|
|
7
|
+
import { useTokens as we, CodeEditorGutterNumbers as ve, CodeEditorTokens as ge } from "./code-editor/highlight.js";
|
|
8
|
+
import { code as m } from "./code-editor/recipe.js";
|
|
9
|
+
import { useControllable as j } from "../lib/use-controllable.js";
|
|
10
|
+
import { Icon as V } from "./Icon.js";
|
|
11
|
+
import { Tooltip as F } from "./Popover.js";
|
|
12
|
+
import { ToggleGroup as Ce, Toggle as te } from "./Toggle.js";
|
|
13
|
+
import { useUiStrings as w } from "../lib/i18n/provider.js";
|
|
14
|
+
import { useNumberFormat as be } from "../lib/i18n/number-format.js";
|
|
15
|
+
import { parseMarkdown as Ee } from "../lib/syntax/markdown/parse.js";
|
|
16
|
+
import { MarkdownNodes as xe } from "../lib/syntax/markdown/render.js";
|
|
17
|
+
import { markdown as ee } from "../lib/syntax/markdown/grammar.js";
|
|
18
|
+
const Ne = /* @__PURE__ */ new Set([ee.name, ...ee.aliases ?? []]), ke = (o) => !!o && Ne.has(o.trim().toLowerCase());
|
|
19
|
+
function ye({
|
|
20
|
+
value: o,
|
|
21
|
+
defaultValue: i,
|
|
22
|
+
onValueChange: s,
|
|
23
|
+
readOnly: t = !0,
|
|
24
|
+
language: a,
|
|
25
|
+
filename: n,
|
|
26
|
+
label: l,
|
|
27
|
+
startLine: N,
|
|
28
|
+
maxLines: W,
|
|
29
|
+
previewLines: v,
|
|
30
|
+
wrap: z,
|
|
31
|
+
defaultWrap: L = !1,
|
|
32
|
+
onWrapChange: I,
|
|
33
|
+
view: u,
|
|
34
|
+
defaultView: K,
|
|
35
|
+
onViewChange: k,
|
|
36
|
+
indent: g = " ",
|
|
37
|
+
placeholder: M,
|
|
38
|
+
toolbar: C,
|
|
39
|
+
className: p,
|
|
40
|
+
ref: B,
|
|
41
|
+
...r
|
|
42
|
+
}) {
|
|
43
|
+
const [c, re] = j(o, i ?? "", s), [P, G] = j(z, L, I), A = ke(a), H = E(
|
|
44
|
+
() => A ? t ? ["source", "rendered"] : ["source", "rendered", "split"] : ["source"],
|
|
45
|
+
[A, t]
|
|
46
|
+
), [R, U] = j(
|
|
47
|
+
u,
|
|
48
|
+
K ?? (A && t ? "rendered" : "source"),
|
|
49
|
+
k
|
|
50
|
+
), f = H.includes(R) ? R : "source", b = E(() => c.split(`
|
|
51
|
+
`).length, [c]), [$, q] = _(!1), J = oe(void 0), Q = ce(() => {
|
|
52
|
+
le(c).then(() => {
|
|
53
|
+
q(!0), clearTimeout(J.current), J.current = setTimeout(() => q(!1), 1600);
|
|
54
|
+
}).catch(() => {
|
|
55
|
+
});
|
|
56
|
+
}, [c]), X = t && v !== void 0 && b > v, [y, ae] = _(!1), T = w().codeEditor, se = be(), S = X && !y, [Y, ie] = _(!1), ne = E(
|
|
57
|
+
() => ({
|
|
58
|
+
value: c,
|
|
59
|
+
language: a ?? null,
|
|
60
|
+
filename: n,
|
|
61
|
+
readOnly: t,
|
|
62
|
+
wrap: P,
|
|
63
|
+
setWrap: G,
|
|
64
|
+
view: f,
|
|
65
|
+
setView: U,
|
|
66
|
+
views: H,
|
|
67
|
+
copy: Q,
|
|
68
|
+
copied: $,
|
|
69
|
+
lineCount: b
|
|
70
|
+
}),
|
|
71
|
+
[
|
|
72
|
+
c,
|
|
73
|
+
a,
|
|
74
|
+
n,
|
|
75
|
+
t,
|
|
76
|
+
P,
|
|
77
|
+
G,
|
|
78
|
+
f,
|
|
79
|
+
U,
|
|
80
|
+
H,
|
|
81
|
+
Q,
|
|
82
|
+
$,
|
|
83
|
+
b
|
|
84
|
+
]
|
|
85
|
+
), D = m(), Z = S ? v : W, O = Z === void 0 ? void 0 : { maxHeight: `calc(${Z} * 1lh + 2 * var(--code-pad-y))` };
|
|
86
|
+
return /* @__PURE__ */ e(he, { value: ne, children: /* @__PURE__ */ h(
|
|
87
|
+
"div",
|
|
88
|
+
{
|
|
89
|
+
ref: B,
|
|
90
|
+
"data-code-root": "",
|
|
91
|
+
"data-view": f,
|
|
92
|
+
"data-read-only": t ? "" : void 0,
|
|
93
|
+
className: d(D.root(), p),
|
|
94
|
+
...r,
|
|
95
|
+
children: [
|
|
96
|
+
C ?? /* @__PURE__ */ e(Ke, {}),
|
|
97
|
+
/* @__PURE__ */ h("div", { className: "relative min-w-0", children: [
|
|
98
|
+
/* @__PURE__ */ h("div", { className: D.body(), children: [
|
|
99
|
+
f !== "rendered" && /* @__PURE__ */ e(
|
|
100
|
+
Te,
|
|
101
|
+
{
|
|
102
|
+
text: c,
|
|
103
|
+
onText: re,
|
|
104
|
+
language: a,
|
|
105
|
+
label: l ?? n ?? (t ? T.readOnlyLabel : T.editableLabel),
|
|
106
|
+
readOnly: t,
|
|
107
|
+
startLine: N,
|
|
108
|
+
wrap: P,
|
|
109
|
+
indent: g,
|
|
110
|
+
placeholder: M,
|
|
111
|
+
style: O,
|
|
112
|
+
collapsed: S,
|
|
113
|
+
tabLeaves: Y,
|
|
114
|
+
onTabLeavesChange: ie
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
f !== "source" && /* The divider belongs to the SECOND pane so a single-pane view
|
|
118
|
+
never carries a stray edge. Horizontal only from `md` up: two
|
|
119
|
+
panes on a phone is two unreadable columns, while stacking is
|
|
120
|
+
the same content in the order it is read. */
|
|
121
|
+
/* @__PURE__ */ e(
|
|
122
|
+
"div",
|
|
123
|
+
{
|
|
124
|
+
className: d(
|
|
125
|
+
"flex min-w-0 flex-1",
|
|
126
|
+
f === "split" && "border-t border-border-subtle md:border-t-0 md:border-l"
|
|
127
|
+
),
|
|
128
|
+
children: /* @__PURE__ */ e(Se, { text: c, style: O, collapsed: S })
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
] }),
|
|
132
|
+
S && /* @__PURE__ */ e("div", { "aria-hidden": "true", className: D.fade() })
|
|
133
|
+
] }),
|
|
134
|
+
X && /* @__PURE__ */ h(
|
|
135
|
+
"button",
|
|
136
|
+
{
|
|
137
|
+
type: "button",
|
|
138
|
+
onClick: () => ae((de) => !de),
|
|
139
|
+
"aria-expanded": y,
|
|
140
|
+
"data-code-expand": "",
|
|
141
|
+
className: D.expand(),
|
|
142
|
+
children: [
|
|
143
|
+
/* @__PURE__ */ e(V, { name: y ? "chevron-up" : "chevron-down", size: "xs" }),
|
|
144
|
+
y ? T.collapse : T.showAllLines(b, se(b))
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
!t && /* @__PURE__ */ e(Me, { tabLeaves: Y })
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
) });
|
|
152
|
+
}
|
|
153
|
+
function Te({
|
|
154
|
+
text: o,
|
|
155
|
+
onText: i,
|
|
156
|
+
language: s,
|
|
157
|
+
label: t,
|
|
158
|
+
readOnly: a,
|
|
159
|
+
startLine: n,
|
|
160
|
+
wrap: l,
|
|
161
|
+
indent: N,
|
|
162
|
+
placeholder: W,
|
|
163
|
+
style: v,
|
|
164
|
+
collapsed: z,
|
|
165
|
+
tabLeaves: L,
|
|
166
|
+
onTabLeavesChange: I
|
|
167
|
+
}) {
|
|
168
|
+
const u = m(), K = we(o, s), k = E(() => o.split(`
|
|
169
|
+
`).length, [o]), g = n !== void 0 && !l, M = g ? String(n + k - 1).length : 0, C = oe(L), p = (r) => {
|
|
170
|
+
C.current = r, I(r);
|
|
171
|
+
}, B = (r) => {
|
|
172
|
+
const c = r.currentTarget;
|
|
173
|
+
if (!r.nativeEvent.isComposing) {
|
|
174
|
+
if (r.key === "Escape") {
|
|
175
|
+
p(!0);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (r.key === "Tab") {
|
|
179
|
+
if (C.current) {
|
|
180
|
+
p(!1);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
r.preventDefault(), ue(c, N, r.shiftKey);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (C.current && p(!1), !(r.ctrlKey || r.metaKey || r.altKey)) {
|
|
187
|
+
if (r.key === "Enter") {
|
|
188
|
+
r.preventDefault(), me(c, N);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (r.key === "Backspace") {
|
|
192
|
+
pe(c) && r.preventDefault();
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
r.key.length === 1 && fe(c, r.key) && r.preventDefault();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
return /* @__PURE__ */ e(
|
|
200
|
+
"div",
|
|
201
|
+
{
|
|
202
|
+
"data-code-scroller": "",
|
|
203
|
+
style: v,
|
|
204
|
+
className: d(u.scroller(), z && "overflow-hidden"),
|
|
205
|
+
...a ? { tabIndex: 0, role: "group", "aria-label": t } : {},
|
|
206
|
+
children: /* @__PURE__ */ h(
|
|
207
|
+
"div",
|
|
208
|
+
{
|
|
209
|
+
"data-code-layers": "",
|
|
210
|
+
...g ? { "data-gutter": "" } : {},
|
|
211
|
+
style: { "--code-digits": M },
|
|
212
|
+
className: d(u.layers(), l ? "w-full" : "w-max min-w-full"),
|
|
213
|
+
children: [
|
|
214
|
+
g && /* @__PURE__ */ e("div", { "data-code-gutter": "", "aria-hidden": "true", className: d(u.gutter(), "dx-code-nowrap"), children: /* @__PURE__ */ e(ve, { count: k, from: n }) }),
|
|
215
|
+
/* @__PURE__ */ e(
|
|
216
|
+
"pre",
|
|
217
|
+
{
|
|
218
|
+
"data-code-pre": "",
|
|
219
|
+
"aria-hidden": a ? void 0 : "true",
|
|
220
|
+
className: d(
|
|
221
|
+
u.pre(),
|
|
222
|
+
l ? "dx-code-wrap min-w-0 flex-1" : "dx-code-nowrap w-max shrink-0"
|
|
223
|
+
),
|
|
224
|
+
children: /* @__PURE__ */ e(ge, { source: o, tokens: K })
|
|
225
|
+
}
|
|
226
|
+
),
|
|
227
|
+
!a && /* @__PURE__ */ e(
|
|
228
|
+
"textarea",
|
|
229
|
+
{
|
|
230
|
+
"data-code-textarea": "",
|
|
231
|
+
value: o,
|
|
232
|
+
onChange: (r) => i(r.target.value),
|
|
233
|
+
onKeyDown: B,
|
|
234
|
+
onBlur: () => p(!1),
|
|
235
|
+
"aria-label": t,
|
|
236
|
+
placeholder: W,
|
|
237
|
+
spellCheck: !1,
|
|
238
|
+
autoCapitalize: "off",
|
|
239
|
+
autoCorrect: "off",
|
|
240
|
+
autoComplete: "off",
|
|
241
|
+
"data-gramm": "false",
|
|
242
|
+
"data-gramm_editor": "false",
|
|
243
|
+
"data-enable-grammarly": "false",
|
|
244
|
+
wrap: l ? "soft" : "off",
|
|
245
|
+
style: { left: "var(--code-gutter-w)" },
|
|
246
|
+
className: d(u.textarea(), l ? "dx-code-wrap" : "dx-code-nowrap")
|
|
247
|
+
}
|
|
248
|
+
)
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
)
|
|
252
|
+
}
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
function Se({
|
|
256
|
+
text: o,
|
|
257
|
+
style: i,
|
|
258
|
+
collapsed: s
|
|
259
|
+
}) {
|
|
260
|
+
const t = m(), a = E(() => Ee(o), [o]);
|
|
261
|
+
return /* @__PURE__ */ e(
|
|
262
|
+
"div",
|
|
263
|
+
{
|
|
264
|
+
"data-code-preview": "",
|
|
265
|
+
style: i,
|
|
266
|
+
className: d(t.rendered(), s && "overflow-hidden"),
|
|
267
|
+
children: /* @__PURE__ */ e(
|
|
268
|
+
xe,
|
|
269
|
+
{
|
|
270
|
+
nodes: a,
|
|
271
|
+
renderCode: (n) => (
|
|
272
|
+
/* THE NESTING, and it is the feature rather than a convenience: a
|
|
273
|
+
fence inside rendered markdown is rendered by the same component,
|
|
274
|
+
in its own language, with its own toolbar and copy button. The
|
|
275
|
+
markdown renderer takes this as a prop precisely so it never has to
|
|
276
|
+
import this file — that direction would be a cycle.
|
|
277
|
+
|
|
278
|
+
`view="source"` is pinned rather than left to the default. A ```md
|
|
279
|
+
fence would otherwise render as prose inside prose, and a reader
|
|
280
|
+
would have no way to see where the quoted document begins. */
|
|
281
|
+
/* @__PURE__ */ e(
|
|
282
|
+
ye,
|
|
283
|
+
{
|
|
284
|
+
value: n.code,
|
|
285
|
+
language: n.language ?? void 0,
|
|
286
|
+
view: "source",
|
|
287
|
+
className: "my-3"
|
|
288
|
+
}
|
|
289
|
+
)
|
|
290
|
+
)
|
|
291
|
+
}
|
|
292
|
+
)
|
|
293
|
+
}
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
function De({ children: o, className: i }) {
|
|
297
|
+
const s = m();
|
|
298
|
+
return /* @__PURE__ */ e("div", { "data-code-toolbar": "", className: d(s.toolbar(), i), children: o });
|
|
299
|
+
}
|
|
300
|
+
function Ve({ className: o }) {
|
|
301
|
+
const { filename: i, language: s } = x("CodeEditorCaption"), t = m(), a = w().codeEditor;
|
|
302
|
+
return /* @__PURE__ */ e("span", { "data-code-caption": "", className: d(t.caption(), o), children: i ?? s ?? a.captionFallback });
|
|
303
|
+
}
|
|
304
|
+
function We({ className: o }) {
|
|
305
|
+
const { copy: i, copied: s } = x("CodeEditorCopyButton"), t = m(), a = w().codeEditor;
|
|
306
|
+
return /* @__PURE__ */ e(F, { content: s ? a.copied : a.copy, children: /* @__PURE__ */ e(
|
|
307
|
+
"button",
|
|
308
|
+
{
|
|
309
|
+
type: "button",
|
|
310
|
+
onClick: i,
|
|
311
|
+
"data-code-copy": "",
|
|
312
|
+
"aria-label": s ? a.copied : a.copyCode,
|
|
313
|
+
className: d(t.control(), o),
|
|
314
|
+
children: /* @__PURE__ */ e(V, { name: s ? "check" : "copy", size: "xs" })
|
|
315
|
+
}
|
|
316
|
+
) });
|
|
317
|
+
}
|
|
318
|
+
function ze({ className: o }) {
|
|
319
|
+
const { wrap: i, setWrap: s } = x("CodeEditorWrapToggle"), t = w().codeEditor;
|
|
320
|
+
return /* @__PURE__ */ e(F, { content: i ? t.stopWrapping : t.wrapLongLines, children: /* @__PURE__ */ e(
|
|
321
|
+
te,
|
|
322
|
+
{
|
|
323
|
+
size: "sm",
|
|
324
|
+
iconOnly: !0,
|
|
325
|
+
pressed: i,
|
|
326
|
+
onPressedChange: s,
|
|
327
|
+
"aria-label": t.softWrap,
|
|
328
|
+
className: d("dx-tap shrink-0", o),
|
|
329
|
+
children: /* @__PURE__ */ e(V, { name: "corner-down-left", size: "xs" })
|
|
330
|
+
}
|
|
331
|
+
) });
|
|
332
|
+
}
|
|
333
|
+
const Le = { source: "code", rendered: "file-text", split: "columns-3" };
|
|
334
|
+
function Ie({ className: o }) {
|
|
335
|
+
const { view: i, setView: s, views: t } = x("CodeEditorViewSwitch"), a = w().codeEditor;
|
|
336
|
+
return t.length < 2 ? null : /* @__PURE__ */ e(
|
|
337
|
+
Ce,
|
|
338
|
+
{
|
|
339
|
+
variant: "segmented",
|
|
340
|
+
multiple: !1,
|
|
341
|
+
value: [i],
|
|
342
|
+
onValueChange: (n) => {
|
|
343
|
+
const l = n[0];
|
|
344
|
+
typeof l == "string" && s(l);
|
|
345
|
+
},
|
|
346
|
+
"aria-label": a.view,
|
|
347
|
+
"data-code-views": "",
|
|
348
|
+
className: d("shrink-0 p-0.5", o),
|
|
349
|
+
children: t.map((n) => /* @__PURE__ */ e(F, { content: a.views[n], children: /* @__PURE__ */ e(
|
|
350
|
+
te,
|
|
351
|
+
{
|
|
352
|
+
size: "sm",
|
|
353
|
+
iconOnly: !0,
|
|
354
|
+
value: n,
|
|
355
|
+
"aria-label": a.views[n],
|
|
356
|
+
className: d("dx-tap shrink-0", n === "split" && "hidden md:inline-flex"),
|
|
357
|
+
children: /* @__PURE__ */ e(V, { name: Le[n], size: "xs" })
|
|
358
|
+
}
|
|
359
|
+
) }, n))
|
|
360
|
+
}
|
|
361
|
+
);
|
|
362
|
+
}
|
|
363
|
+
function Ke() {
|
|
364
|
+
const { view: o } = x("CodeEditorDefaultToolbar");
|
|
365
|
+
return /* @__PURE__ */ h(De, { children: [
|
|
366
|
+
/* @__PURE__ */ e(Ve, {}),
|
|
367
|
+
/* @__PURE__ */ e(Ie, {}),
|
|
368
|
+
o !== "rendered" && /* @__PURE__ */ e(ze, {}),
|
|
369
|
+
/* @__PURE__ */ e(We, {})
|
|
370
|
+
] });
|
|
371
|
+
}
|
|
372
|
+
function Me({ tabLeaves: o }) {
|
|
373
|
+
const i = m(), s = w().codeEditor;
|
|
374
|
+
return /* @__PURE__ */ e("div", { className: i.footer(), children: /* @__PURE__ */ e("span", { "data-code-hint": "", "aria-live": "polite", className: i.hint(), children: o ? s.tabLeavesHint : s.tabIndentsHint }) });
|
|
375
|
+
}
|
|
376
|
+
export {
|
|
377
|
+
ye as CodeEditor,
|
|
378
|
+
Ve as CodeEditorCaption,
|
|
379
|
+
We as CodeEditorCopyButton,
|
|
380
|
+
De as CodeEditorToolbar,
|
|
381
|
+
Ie as CodeEditorViewSwitch,
|
|
382
|
+
ze as CodeEditorWrapToggle
|
|
383
|
+
};
|
|
384
|
+
//# sourceMappingURL=CodeEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","sources":["../../src/components/CodeEditor.tsx"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type CSSProperties,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { cn } from \"../lib/cn\";\nimport { copyText } from \"../lib/clipboard\";\nimport { useNumberFormat, useUiStrings } from \"../lib/i18n\";\nimport { MarkdownNodes, markdown, parseMarkdown } from \"../lib/syntax/markdown\";\nimport {\n autoIndentNewline,\n handleAutoPair,\n handlePairBackspace,\n indentSelection,\n} from \"./code-editor/editing\";\nimport {\n CodeEditorProvider,\n useCodeEditor,\n type CodeEditorContextValue,\n type CodeEditorView,\n} from \"./code-editor/context\";\nimport { CodeEditorGutterNumbers, CodeEditorTokens, useTokens } from \"./code-editor/highlight\";\nimport { code } from \"./code-editor/recipe\";\nimport { useControllable } from \"../lib/use-controllable\";\nimport { Icon } from \"./Icon\";\nimport { Tooltip } from \"./Popover\";\nimport { Toggle, ToggleGroup } from \"./Toggle\";\n\n/* ============================================================================\n CODE EDITOR\n One component that is a viewer when `readOnly` and an editor when it is not.\n\n IT IS AN \"EDITOR\" EVEN READ-ONLY, because read-only does not change what a\n control IS — `<input readOnly>` is still an input, and both Monaco and\n CodeMirror call a read-only instance an editor. \"CodeViewer\" would name the\n quieter half and hide the harder one.\n\n `readOnly` DEFAULTS TO TRUE. Viewing is the common case, and a `value` with\n no change handler on an editable surface is the standard React\n controlled-input trap — the field silently refuses every keystroke and\n nothing reports why. Defaulting to read-only makes that state unreachable by\n accident; turning a surface editable is an explicit act.\n\n THE MECHANISM: a transparent `<textarea>` sitting exactly on top of a `<pre>`\n of the same text, both inside ONE scroll container. NOT `contenteditable` —\n the Vue original this replaces uses it and consequently needs a whole\n cursor-restoration module, because re-highlighting destroys and rebuilds the\n DOM under the caret. A textarea keeps selection, undo, IME composition,\n autocorrect and mobile keyboards for free, by being a real form control\n rather than by re-implementing one.\n\n ALIGNMENT IS THE WHOLE GAME. If the two layers disagree about any metric by\n any amount, the caret drifts off the character it appears to sit on. Three\n things enforce that here and none of them is vigilance:\n\n * ONE CSS class (`dx-code-metrics`, `src/styles/syntax.css`) carries every\n metric, and every layer takes that same class rather than the same list\n of utilities — so \"someone adds tracking-tight to one of them\" is not a\n thing that can be expressed;\n * the layers share ONE scroller, so scroll sync is structural. There is no\n `onScroll` handler, and therefore no frame where one layer has moved and\n the other has not;\n * tokens are offsets into the source, so the highlighted text is provably\n the same characters in the same order as the textarea's.\n\n `scripts/probe-code.mjs` measures the result in a real browser rather than\n trusting any of the above.\n\n THERE IS NO `showToolbar` / `showLineNumbers` BOOLEAN. Following `Chat.tsx`:\n the configuration IS the switch. `startLine` gives you a gutter,\n `previewLines` gives you a collapsed preview, a markdown `language` gives you\n the rendered view, and an editable instance gives you the editing chrome.\n ========================================================================= */\n\nexport type { CodeEditorView } from \"./code-editor/context\";\n\n/** Every name the markdown grammar answers to, read off the grammar itself so\n this cannot drift from the language it describes. */\nconst MARKDOWN_NAMES = new Set<string>([markdown.name, ...(markdown.aliases ?? [])]);\n\nconst isMarkdown = (language: string | null | undefined): boolean =>\n !!language && MARKDOWN_NAMES.has(language.trim().toLowerCase());\n\n/* ----------------------------------------------------------------------------\n ROOT\n -------------------------------------------------------------------------- */\n\nexport interface CodeEditorProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"children\" | \"title\" | \"onChange\"> {\n /** The text, when the consumer owns it. */\n value?: string;\n /** The starting text, when the component owns it. */\n defaultValue?: string;\n /** Called with the whole document after every edit. */\n onValueChange?: (next: string) => void;\n /**\n * No textarea, no editing chrome — a viewer. Defaults to TRUE; see the banner\n * for why that direction and not the other.\n */\n readOnly?: boolean;\n /** Grammar to highlight with. Unknown or absent renders as plain text. */\n language?: string;\n /** Caption for the toolbar — a filename, usually. */\n filename?: string;\n /** Accessible name for the editable surface or the scrollable viewer. */\n label?: string;\n /**\n * Number to print beside the FIRST line. Supplying one is what renders the\n * gutter, so an excerpt lifted from the middle of a file numbers itself\n * honestly and there is no second boolean to disagree with it.\n */\n startLine?: number;\n /** Tallest the surface may grow, in lines, before it scrolls. */\n maxLines?: number;\n /**\n * Start collapsed to this many lines, with a control to open it. Read-only\n * only: collapsing a surface someone is typing into hides their own caret.\n */\n previewLines?: number;\n /** Soft wrap, when the consumer owns it. */\n wrap?: boolean;\n /** Soft wrap at mount, when the component owns it. */\n defaultWrap?: boolean;\n onWrapChange?: (next: boolean) => void;\n /** Presentation, when the consumer owns it. */\n view?: CodeEditorView;\n /** Presentation at mount, when the component owns it. */\n defaultView?: CodeEditorView;\n onViewChange?: (next: CodeEditorView) => void;\n /** What Tab inserts and what auto-indent repeats. */\n indent?: string;\n /** Shown in an empty editable surface. */\n placeholder?: string;\n /**\n * Replaces the default toolbar. Compose `CodeEditorCaption`,\n * `CodeEditorViewSwitch`, `CodeEditorWrapToggle` and `CodeEditorCopyButton`\n * inside a `CodeEditorToolbar` — they read the same context the default one\n * does — or render anything else entirely.\n */\n toolbar?: ReactNode;\n className?: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function CodeEditor({\n value,\n defaultValue,\n onValueChange,\n readOnly = true,\n language,\n filename,\n label,\n startLine,\n maxLines,\n previewLines,\n wrap,\n defaultWrap = false,\n onWrapChange,\n view,\n defaultView,\n onViewChange,\n indent = \" \",\n placeholder,\n toolbar,\n className,\n ref,\n ...props\n}: CodeEditorProps) {\n const [text, setText] = useControllable(value, defaultValue ?? \"\", onValueChange);\n const [soft, setSoft] = useControllable(wrap, defaultWrap, onWrapChange);\n\n const renders = isMarkdown(language);\n /* The switch offers what THIS instance can actually do. A viewer gains\n nothing from `split` — both halves would be read-only renderings of the\n same text — so it appears only where there is a caret worth watching the\n preview update against. */\n const views: CodeEditorView[] = useMemo(\n () =>\n !renders ? [\"source\"] : readOnly ? [\"source\", \"rendered\"] : [\"source\", \"rendered\", \"split\"],\n [renders, readOnly],\n );\n const [rawView, setView] = useControllable(\n view,\n defaultView ?? (renders && readOnly ? \"rendered\" : \"source\"),\n onViewChange,\n );\n /* A view this instance cannot offer resolves to source rather than rendering\n nothing: `language` can change under a pinned `defaultView`, and a blank\n panel with no control to leave it would be the only symptom. */\n // I18N-ALLOW: view id fallback, compared against the view ids the caller enables\n const activeView = views.includes(rawView) ? rawView : \"source\";\n\n const lineCount = useMemo(() => text.split(\"\\n\").length, [text]);\n\n const [copied, setCopied] = useState(false);\n const copyTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const copy = useCallback(() => {\n void copyText(text)\n .then(() => {\n setCopied(true);\n clearTimeout(copyTimer.current);\n copyTimer.current = setTimeout(() => setCopied(false), 1600);\n })\n .catch(() => {\n /* Both the async Clipboard API and the execCommand fallback failed —\n a genuine, unrecoverable copy failure (DX-3661). The button then\n does not confirm; nothing else breaks. */\n });\n }, [text]);\n\n const collapsible = readOnly && previewLines !== undefined && lineCount > previewLines;\n const [expanded, setExpanded] = useState(false);\n const strings = useUiStrings().codeEditor;\n const fmt = useNumberFormat();\n const collapsed = collapsible && !expanded;\n\n /* Lives here rather than inside the surface because the FOOTER is what says\n it out loud, and the footer is a sibling of the surface. A hint that is\n one component away from the state it describes is a hint that goes stale. */\n const [tabLeaves, setTabLeaves] = useState(false);\n\n const context: CodeEditorContextValue = useMemo(\n () => ({\n value: text,\n language: language ?? null,\n filename,\n readOnly,\n wrap: soft,\n setWrap: setSoft,\n view: activeView,\n setView,\n views,\n copy,\n copied,\n lineCount,\n }),\n [\n text,\n language,\n filename,\n readOnly,\n soft,\n setSoft,\n activeView,\n setView,\n views,\n copy,\n copied,\n lineCount,\n ],\n );\n\n const s = code();\n const visibleLines = collapsed ? previewLines : maxLines;\n /* `1lh` resolves against the scroller's own line-height, which comes from the\n same `dx-code-metrics` rule the text layers use — so a height stated in\n LINES stays a whole number of lines when `--ui-scale` moves the type. A\n pixel figure would cut the last row in half at every scale but one. */\n const heightStyle: CSSProperties | undefined =\n visibleLines === undefined\n ? undefined\n : { maxHeight: `calc(${visibleLines} * 1lh + 2 * var(--code-pad-y))` };\n\n return (\n <CodeEditorProvider value={context}>\n <div\n ref={ref}\n data-code-root=\"\"\n data-view={activeView}\n data-read-only={readOnly ? \"\" : undefined}\n className={cn(s.root(), className)}\n {...props}\n >\n {toolbar ?? <CodeEditorDefaultToolbar />}\n\n {/* `relative` so the collapsed fade can be positioned against the\n VISIBLE box. Inside the scroller it would anchor to the scrolled\n content instead and sit below the fold, which looks exactly like a\n fade that was never rendered. */}\n <div className=\"relative min-w-0\">\n <div className={s.body()}>\n {activeView !== \"rendered\" && (\n <CodeEditorSurface\n text={text}\n onText={setText}\n language={language}\n label={label ?? filename ?? (readOnly ? strings.readOnlyLabel : strings.editableLabel)}\n readOnly={readOnly}\n startLine={startLine}\n wrap={soft}\n indent={indent}\n placeholder={placeholder}\n style={heightStyle}\n collapsed={collapsed}\n tabLeaves={tabLeaves}\n onTabLeavesChange={setTabLeaves}\n />\n )}\n {activeView !== \"source\" && (\n /* The divider belongs to the SECOND pane so a single-pane view\n never carries a stray edge. Horizontal only from `md` up: two\n panes on a phone is two unreadable columns, while stacking is\n the same content in the order it is read. */\n <div\n className={cn(\n \"flex min-w-0 flex-1\",\n activeView === \"split\" && \"border-t border-border-subtle md:border-t-0 md:border-l\",\n )}\n >\n <CodeEditorPreview text={text} style={heightStyle} collapsed={collapsed} />\n </div>\n )}\n </div>\n {collapsed && <div aria-hidden=\"true\" className={s.fade()} />}\n </div>\n\n {collapsible && (\n <button\n type=\"button\"\n onClick={() => setExpanded((open) => !open)}\n aria-expanded={expanded}\n data-code-expand=\"\"\n className={s.expand()}\n >\n <Icon name={expanded ? \"chevron-up\" : \"chevron-down\"} size=\"xs\" />\n {expanded ? strings.collapse : strings.showAllLines(lineCount, fmt(lineCount))}\n </button>\n )}\n\n {!readOnly && <CodeEditorHint tabLeaves={tabLeaves} />}\n </div>\n </CodeEditorProvider>\n );\n}\n\n/* ----------------------------------------------------------------------------\n THE SURFACE — highlight layer, optional gutter, and the textarea over both\n -------------------------------------------------------------------------- */\n\ninterface SurfaceProps {\n text: string;\n onText: (next: string) => void;\n language?: string;\n label: string;\n readOnly: boolean;\n startLine?: number;\n wrap: boolean;\n indent: string;\n placeholder?: string;\n style?: CSSProperties;\n collapsed: boolean;\n tabLeaves: boolean;\n onTabLeavesChange: (next: boolean) => void;\n}\n\nfunction CodeEditorSurface({\n text,\n onText,\n language,\n label,\n readOnly,\n startLine,\n wrap,\n indent,\n placeholder,\n style,\n collapsed,\n tabLeaves,\n onTabLeavesChange,\n}: SurfaceProps) {\n const s = code();\n const tokens = useTokens(text, language);\n const lineCount = useMemo(() => text.split(\"\\n\").length, [text]);\n\n /* See `CodeEditorGutterNumbers`: numbers beside wrapped lines drift a row\n further out of true for every line that wraps, and a number printed beside\n the wrong line is worse than no number because it is believed. */\n const gutter = startLine !== undefined && !wrap;\n const digits = gutter ? String(startLine + lineCount - 1).length : 0;\n\n /* Read synchronously in the handler; the state above is what the footer\n renders. Two keystrokes inside one frame would otherwise both see the\n pre-Escape value, and the Tab that was supposed to leave would indent. */\n const leaves = useRef(tabLeaves);\n const arm = (next: boolean) => {\n leaves.current = next;\n onTabLeavesChange(next);\n };\n\n const onKeyDown = (event: ReactKeyboardEvent<HTMLTextAreaElement>) => {\n const el = event.currentTarget;\n /* An IME is mid-composition: every key belongs to the input method, and\n intercepting one drops a character out of the middle of a word in every\n language that needs composition to be typed at all. */\n if (event.nativeEvent.isComposing) return;\n\n if (event.key === \"Escape\") {\n /* Deliberately NOT prevented: Escape must still close a dialog this\n editor happens to sit inside. Arming and bubbling do not conflict. */\n arm(true);\n return;\n }\n\n if (event.key === \"Tab\") {\n /* THE ESCAPE FROM THE KEYBOARD TRAP. A Tab that always indents makes the\n surface enterable and not leavable, which fails WCAG 2.1.2 outright.\n Escape-then-Tab is the Monaco/Ace convention rather than CodeMirror's\n inverse (Tab always leaves, a chord indents) because Tab-to-indent is\n what a person typing code reaches for first — the escape only has to\n exist, be documented, and be the rarer of the two. The footer states\n it in words and updates the moment it is armed, because an escape\n hatch nobody can discover is not one. */\n if (leaves.current) {\n arm(false);\n return;\n }\n event.preventDefault();\n indentSelection(el, indent, event.shiftKey);\n return;\n }\n\n if (leaves.current) arm(false);\n\n /* Ctrl/Cmd/Alt belong to the browser and the host application — undo,\n redo, select-all, save. Intercepting a printable key here is how a code\n editor eats Ctrl+Z, which is the defect people notice first. */\n if (event.ctrlKey || event.metaKey || event.altKey) return;\n\n if (event.key === \"Enter\") {\n event.preventDefault();\n autoIndentNewline(el, indent);\n return;\n }\n if (event.key === \"Backspace\") {\n if (handlePairBackspace(el)) event.preventDefault();\n return;\n }\n if (event.key.length === 1 && handleAutoPair(el, event.key)) {\n event.preventDefault();\n }\n };\n\n return (\n <div\n data-code-scroller=\"\"\n style={style}\n className={cn(s.scroller(), collapsed && \"overflow-hidden\")}\n /* A region that can only be panned with a pointer is unreachable by\n keyboard, and long lines of code are the single most common place that\n happens — the axe scan found exactly this defect in this package once.\n In EDIT mode the textarea is already the tab stop and already scrolls\n with the caret, so a second one here would only cost a Tab press. */\n /* GROUP, NOT REGION: `region` is a landmark, so a page showing several\n code blocks offered several identical navigation destinations —\n axe's `landmark-unique`. `group` keeps the name and the\n announcement without adding a destination. */\n {...(readOnly ? { tabIndex: 0, role: \"group\", \"aria-label\": label } : {})}\n >\n <div\n data-code-layers=\"\"\n {...(gutter ? { \"data-gutter\": \"\" } : {})}\n style={{ \"--code-digits\": digits } as CSSProperties}\n className={cn(s.layers(), wrap ? \"w-full\" : \"w-max min-w-full\")}\n >\n {gutter && (\n <div data-code-gutter=\"\" aria-hidden=\"true\" className={cn(s.gutter(), \"dx-code-nowrap\")}>\n <CodeEditorGutterNumbers count={lineCount} from={startLine} />\n </div>\n )}\n\n <pre\n data-code-pre=\"\"\n /* Hidden from assistive tech ONLY when a textarea holds the same\n characters — otherwise this IS the content, and hiding it leaves a\n viewer that announces nothing at all. */\n aria-hidden={readOnly ? undefined : \"true\"}\n className={cn(\n s.pre(),\n wrap ? \"dx-code-wrap min-w-0 flex-1\" : \"dx-code-nowrap w-max shrink-0\",\n )}\n >\n <CodeEditorTokens source={text} tokens={tokens} />\n </pre>\n\n {!readOnly && (\n <textarea\n data-code-textarea=\"\"\n value={text}\n onChange={(event) => onText(event.target.value)}\n onKeyDown={onKeyDown}\n onBlur={() => arm(false)}\n aria-label={label}\n placeholder={placeholder}\n /* Every one of these is a browser feature that is right for prose\n and wrong for code: a red underline beneath every identifier, an\n apostrophe silently turned into a typographic quote inside a\n string literal, a capital added to the front of a variable. */\n spellCheck={false}\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n autoComplete=\"off\"\n /* Grammarly and its relatives inject an overlay INTO the textarea's\n box, which shifts the text off the highlight layer beneath it. */\n data-gramm=\"false\"\n data-gramm_editor=\"false\"\n data-enable-grammarly=\"false\"\n /* The attribute AND the CSS class. `wrap` is what the form control\n itself honours; `white-space` is what the `<pre>` obeys. Setting\n only one leaves the two layers wrapping at different widths,\n which puts every line after the first long one on the wrong row. */\n wrap={wrap ? \"soft\" : \"off\"}\n style={{ left: \"var(--code-gutter-w)\" }}\n className={cn(s.textarea(), wrap ? \"dx-code-wrap\" : \"dx-code-nowrap\")}\n />\n )}\n </div>\n </div>\n );\n}\n\n/* ----------------------------------------------------------------------------\n RENDERED MARKDOWN\n -------------------------------------------------------------------------- */\n\nfunction CodeEditorPreview({\n text,\n style,\n collapsed,\n}: {\n text: string;\n style?: CSSProperties;\n collapsed: boolean;\n}) {\n const s = code();\n const nodes = useMemo(() => parseMarkdown(text), [text]);\n\n return (\n <div\n data-code-preview=\"\"\n style={style}\n className={cn(s.rendered(), collapsed && \"overflow-hidden\")}\n >\n <MarkdownNodes\n nodes={nodes}\n renderCode={(block) => (\n /* THE NESTING, and it is the feature rather than a convenience: a\n fence inside rendered markdown is rendered by the same component,\n in its own language, with its own toolbar and copy button. The\n markdown renderer takes this as a prop precisely so it never has to\n import this file — that direction would be a cycle.\n\n `view=\"source\"` is pinned rather than left to the default. A ```md\n fence would otherwise render as prose inside prose, and a reader\n would have no way to see where the quoted document begins. */\n <CodeEditor\n value={block.code}\n language={block.language ?? undefined}\n view=\"source\"\n className=\"my-3\"\n />\n )}\n />\n </div>\n );\n}\n\n/* ----------------------------------------------------------------------------\n TOOLBAR PARTS — flat siblings, never `CodeEditor.Toolbar`\n\n Each reads the shared context and throws outside a `<CodeEditor>`, so a\n replacement toolbar composes them without re-declaring the whole surface.\n -------------------------------------------------------------------------- */\n\nexport interface CodeEditorToolbarProps {\n children: ReactNode;\n className?: string;\n}\n\n/** The bar itself. WRAPS rather than scrolls — at 375px the caption drops onto\n its own line instead of pushing the copy button off the screen. */\nexport function CodeEditorToolbar({ children, className }: CodeEditorToolbarProps) {\n const s = code();\n return (\n <div data-code-toolbar=\"\" className={cn(s.toolbar(), className)}>\n {children}\n </div>\n );\n}\n\n/** Filename, or the language when there is no filename — whichever names it. */\nexport function CodeEditorCaption({ className }: { className?: string }) {\n const { filename, language } = useCodeEditor(\"CodeEditorCaption\");\n const s = code();\n const strings = useUiStrings().codeEditor;\n return (\n <span data-code-caption=\"\" className={cn(s.caption(), className)}>\n {filename ?? language ?? strings.captionFallback}\n </span>\n );\n}\n\nexport function CodeEditorCopyButton({ className }: { className?: string }) {\n const { copy, copied } = useCodeEditor(\"CodeEditorCopyButton\");\n const s = code();\n const strings = useUiStrings().codeEditor;\n return (\n <Tooltip content={copied ? strings.copied : strings.copy}>\n <button\n type=\"button\"\n onClick={copy}\n data-code-copy=\"\"\n aria-label={copied ? strings.copied : strings.copyCode}\n className={cn(s.control(), className)}\n >\n <Icon name={copied ? \"check\" : \"copy\"} size=\"xs\" />\n </button>\n </Tooltip>\n );\n}\n\nexport function CodeEditorWrapToggle({ className }: { className?: string }) {\n const { wrap, setWrap } = useCodeEditor(\"CodeEditorWrapToggle\");\n const strings = useUiStrings().codeEditor;\n return (\n <Tooltip content={wrap ? strings.stopWrapping : strings.wrapLongLines}>\n <Toggle\n size=\"sm\"\n iconOnly\n pressed={wrap}\n onPressedChange={setWrap}\n aria-label={strings.softWrap}\n className={cn(\"dx-tap shrink-0\", className)}\n >\n <Icon name=\"corner-down-left\" size=\"xs\" />\n </Toggle>\n </Tooltip>\n );\n}\n\nconst VIEW_ICON = { source: \"code\", rendered: \"file-text\", split: \"columns-3\" } as const;\n\n/**\n * Source / Preview / Split.\n *\n * RENDERS NOTHING when the instance has only one view. A switch with a single\n * position is a control that teaches people it does not work — and that is the\n * configuration being the switch, not a `showViewSwitch` prop.\n */\nexport function CodeEditorViewSwitch({ className }: { className?: string }) {\n const { view, setView, views } = useCodeEditor(\"CodeEditorViewSwitch\");\n const strings = useUiStrings().codeEditor;\n if (views.length < 2) return null;\n\n return (\n <ToggleGroup\n variant=\"segmented\"\n multiple={false}\n value={[view]}\n /* Base UI hands back the group's whole value. An empty array is the press\n that would have turned the ACTIVE entry off; ignoring it is what makes\n three toggles behave as one choice, instead of leaving an empty panel\n with no control to get back from. */\n onValueChange={(next: unknown[]) => {\n const chosen = next[0];\n if (typeof chosen === \"string\") setView(chosen as CodeEditorView);\n }}\n aria-label={strings.view}\n data-code-views=\"\"\n className={cn(\"shrink-0 p-0.5\", className)}\n >\n {views.map((entry) => (\n <Tooltip key={entry} content={strings.views[entry]}>\n <Toggle\n size=\"sm\"\n iconOnly\n value={entry}\n aria-label={strings.views[entry]}\n /* Split is a two-column layout; below `md` there is no room for two\n readable columns, so the option is not offered rather than being\n offered and collapsing to something else. */\n className={cn(\"dx-tap shrink-0\", entry === \"split\" && \"hidden md:inline-flex\")}\n >\n <Icon name={VIEW_ICON[entry]} size=\"xs\" />\n </Toggle>\n </Tooltip>\n ))}\n </ToggleGroup>\n );\n}\n\nfunction CodeEditorDefaultToolbar() {\n const { view } = useCodeEditor(\"CodeEditorDefaultToolbar\");\n return (\n <CodeEditorToolbar>\n <CodeEditorCaption />\n <CodeEditorViewSwitch />\n {/* Wrapping is a property of the SOURCE layer, so its control leaves with\n the layer rather than sitting inert above rendered prose. */}\n {view !== \"rendered\" && <CodeEditorWrapToggle />}\n <CodeEditorCopyButton />\n </CodeEditorToolbar>\n );\n}\n\n/**\n * The keyboard-escape hint.\n *\n * A VISIBLE, PERMANENT LINE rather than a tooltip on something. WCAG 2.1.2\n * asks for a documented way out of a keyboard trap, and \"documented\" cannot\n * mean a hover target — the person who needs it is not using a pointer. The\n * live region is what makes pressing Escape produce feedback at all for\n * someone who cannot see the line change.\n */\nfunction CodeEditorHint({ tabLeaves }: { tabLeaves: boolean }) {\n const s = code();\n const strings = useUiStrings().codeEditor;\n return (\n <div className={s.footer()}>\n <span data-code-hint=\"\" aria-live=\"polite\" className={s.hint()}>\n {tabLeaves ? strings.tabLeavesHint : strings.tabIndentsHint}\n </span>\n </div>\n );\n}\n"],"names":["MARKDOWN_NAMES","markdown","isMarkdown","language","CodeEditor","value","defaultValue","onValueChange","readOnly","filename","label","startLine","maxLines","previewLines","wrap","defaultWrap","onWrapChange","view","defaultView","onViewChange","indent","placeholder","toolbar","className","ref","props","text","setText","useControllable","soft","setSoft","renders","views","useMemo","rawView","setView","activeView","lineCount","copied","setCopied","useState","copyTimer","useRef","copy","useCallback","copyText","collapsible","expanded","setExpanded","strings","useUiStrings","fmt","useNumberFormat","collapsed","tabLeaves","setTabLeaves","context","s","code","visibleLines","heightStyle","jsx","CodeEditorProvider","jsxs","cn","CodeEditorDefaultToolbar","CodeEditorSurface","CodeEditorPreview","open","Icon","CodeEditorHint","onText","style","onTabLeavesChange","tokens","useTokens","gutter","digits","leaves","arm","next","onKeyDown","event","el","indentSelection","autoIndentNewline","handlePairBackspace","handleAutoPair","CodeEditorGutterNumbers","CodeEditorTokens","nodes","parseMarkdown","MarkdownNodes","block","CodeEditorToolbar","children","CodeEditorCaption","useCodeEditor","CodeEditorCopyButton","Tooltip","CodeEditorWrapToggle","setWrap","Toggle","VIEW_ICON","CodeEditorViewSwitch","ToggleGroup","chosen","entry"],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { jsx as n, jsxs as U } from "react/jsx-runtime";
|
|
2
|
+
import { useState as x, useRef as M, useEffect as z } from "react";
|
|
3
|
+
import { cn as h } from "../lib/cn.js";
|
|
4
|
+
import { hexToHsv as y, hsvToHex as w, isHexColor as F } from "../lib/color.js";
|
|
5
|
+
import { Button as R } from "./Button.js";
|
|
6
|
+
import { Field as O } from "./Field.js";
|
|
7
|
+
import { Input as $ } from "./Input.js";
|
|
8
|
+
import { Popover as j } from "./Popover.js";
|
|
9
|
+
import { useUiStrings as I } from "../lib/i18n/provider.js";
|
|
10
|
+
const B = 0.01, G = 0.1, V = 1, W = 10, p = (r, g, a) => Math.min(a, Math.max(g, r)), X = "linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)";
|
|
11
|
+
function _(r, g) {
|
|
12
|
+
const a = M(!1), i = (o) => {
|
|
13
|
+
const t = o.currentTarget.getBoundingClientRect();
|
|
14
|
+
t.width === 0 || t.height === 0 || r(p((o.clientX - t.left) / t.width, 0, 1), p((o.clientY - t.top) / t.height, 0, 1));
|
|
15
|
+
}, l = (o) => {
|
|
16
|
+
a.current && (a.current = !1, o.currentTarget.hasPointerCapture?.(o.pointerId) && o.currentTarget.releasePointerCapture(o.pointerId), g());
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
onPointerDown: (o) => {
|
|
20
|
+
o.button === 0 && (a.current = !0, o.currentTarget.setPointerCapture?.(o.pointerId), o.currentTarget.focus(), i(o));
|
|
21
|
+
},
|
|
22
|
+
onPointerMove: (o) => {
|
|
23
|
+
a.current && i(o);
|
|
24
|
+
},
|
|
25
|
+
onPointerUp: l,
|
|
26
|
+
onPointerCancel: l
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const Y = { sm: "size-3.5", md: "size-4.5", lg: "size-5.5" }, S = [
|
|
30
|
+
"absolute size-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-control-knob shadow-knob pointer-events-none",
|
|
31
|
+
"group-focus-visible/surface:shadow-[0_0_0_3px_var(--control-focus-halo)]"
|
|
32
|
+
], T = "group/surface relative touch-none select-none outline-none rounded-md border border-border";
|
|
33
|
+
function q({ hsv: r, value: g, presets: a, onPreview: i, onCommit: l, onRelease: o }) {
|
|
34
|
+
const t = I().colorPicker, d = w(r), [c, k] = x(d), [m, u] = x(!1), [D, H] = x(d);
|
|
35
|
+
d !== D && (H(d), k(d), u(!1));
|
|
36
|
+
const C = _((e, s) => i({ ...r, s: e, v: 1 - s }), o), A = _((e) => i({ ...r, h: e * 360 }), o), L = (e) => {
|
|
37
|
+
const s = e.shiftKey ? G : B, b = e.key === "ArrowLeft" ? { ...r, s: p(r.s - s, 0, 1) } : e.key === "ArrowRight" ? { ...r, s: p(r.s + s, 0, 1) } : e.key === "ArrowUp" ? { ...r, v: p(r.v + s, 0, 1) } : e.key === "ArrowDown" ? { ...r, v: p(r.v - s, 0, 1) } : null;
|
|
38
|
+
b && (e.preventDefault(), l(b));
|
|
39
|
+
}, f = (e) => {
|
|
40
|
+
const s = e.shiftKey ? W : V, b = e.key === "ArrowLeft" || e.key === "ArrowDown" ? { ...r, h: p(r.h - s, 0, 360) } : e.key === "ArrowRight" || e.key === "ArrowUp" ? { ...r, h: p(r.h + s, 0, 360) } : null;
|
|
41
|
+
b && (e.preventDefault(), l(b));
|
|
42
|
+
}, P = (e) => {
|
|
43
|
+
if (e.key === "Enter") {
|
|
44
|
+
if (e.preventDefault(), !F(c)) {
|
|
45
|
+
u(!0);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
u(!1), l(y(c));
|
|
49
|
+
}
|
|
50
|
+
}, N = Math.round(r.h), v = Math.round(r.s * 100), K = Math.round(r.v * 100), E = w({ h: r.h, s: 1, v: 1 });
|
|
51
|
+
return /* @__PURE__ */ U("div", { className: "flex w-64 max-w-full flex-col gap-3", children: [
|
|
52
|
+
a && a.length > 0 && /* @__PURE__ */ n("div", { role: "group", "aria-label": t.presets, className: "flex flex-wrap gap-2", children: a.map((e) => {
|
|
53
|
+
const s = e.toLowerCase() === g.toLowerCase();
|
|
54
|
+
return /* @__PURE__ */ n(
|
|
55
|
+
R,
|
|
56
|
+
{
|
|
57
|
+
variant: "outline",
|
|
58
|
+
iconOnly: !0,
|
|
59
|
+
size: "xs",
|
|
60
|
+
"aria-label": t.colour(e),
|
|
61
|
+
"aria-pressed": s,
|
|
62
|
+
onClick: () => l(y(e)),
|
|
63
|
+
className: h(s && "border-control shadow-[0_0_0_2px_var(--control-focus-halo)]"),
|
|
64
|
+
children: /* @__PURE__ */ n("span", { "aria-hidden": !0, className: "size-3 rounded-full border border-border", style: { backgroundColor: e } })
|
|
65
|
+
},
|
|
66
|
+
e
|
|
67
|
+
);
|
|
68
|
+
}) }),
|
|
69
|
+
/* @__PURE__ */ n(
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
role: "slider",
|
|
73
|
+
tabIndex: 0,
|
|
74
|
+
"aria-label": t.area,
|
|
75
|
+
"aria-valuemin": 0,
|
|
76
|
+
"aria-valuemax": 100,
|
|
77
|
+
"aria-valuenow": v,
|
|
78
|
+
"aria-valuetext": t.areaValue(v, K),
|
|
79
|
+
onKeyDown: L,
|
|
80
|
+
...C,
|
|
81
|
+
className: h(T, "h-36 cursor-crosshair"),
|
|
82
|
+
style: {
|
|
83
|
+
backgroundColor: E,
|
|
84
|
+
backgroundImage: "linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent)"
|
|
85
|
+
},
|
|
86
|
+
children: /* @__PURE__ */ n("span", { className: h(S), style: { left: `${r.s * 100}%`, top: `${(1 - r.v) * 100}%`, backgroundColor: d } })
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
/* @__PURE__ */ n(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
role: "slider",
|
|
93
|
+
tabIndex: 0,
|
|
94
|
+
"aria-label": t.hue,
|
|
95
|
+
"aria-valuemin": 0,
|
|
96
|
+
"aria-valuemax": 360,
|
|
97
|
+
"aria-valuenow": N,
|
|
98
|
+
"aria-valuetext": t.hueValue(N),
|
|
99
|
+
onKeyDown: f,
|
|
100
|
+
...A,
|
|
101
|
+
className: h(T, "h-4 cursor-ew-resize"),
|
|
102
|
+
style: { backgroundImage: X },
|
|
103
|
+
children: /* @__PURE__ */ n("span", { className: h(S, "top-1/2"), style: { left: `${r.h / 360 * 100}%`, backgroundColor: E } })
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
/* @__PURE__ */ n(O, { label: t.hexField, error: m ? t.invalidHex : void 0, children: /* @__PURE__ */ n(
|
|
107
|
+
$,
|
|
108
|
+
{
|
|
109
|
+
size: "sm",
|
|
110
|
+
value: c,
|
|
111
|
+
spellCheck: !1,
|
|
112
|
+
autoComplete: "off",
|
|
113
|
+
onChange: (e) => {
|
|
114
|
+
k(e.target.value), u(!1);
|
|
115
|
+
},
|
|
116
|
+
onKeyDown: P
|
|
117
|
+
}
|
|
118
|
+
) })
|
|
119
|
+
] });
|
|
120
|
+
}
|
|
121
|
+
function sr({ value: r, onChange: g, presets: a, label: i, disabled: l = !1, size: o = "md", className: t }) {
|
|
122
|
+
const d = I().colorPicker, [c, k] = x(() => y(r)), m = M(c);
|
|
123
|
+
z(() => {
|
|
124
|
+
m.current = c;
|
|
125
|
+
});
|
|
126
|
+
const u = (f) => {
|
|
127
|
+
m.current = f, k(f);
|
|
128
|
+
}, [D, H] = x(r);
|
|
129
|
+
r !== D && (H(r), w(c) !== r.toLowerCase() && u(y(r)));
|
|
130
|
+
const C = (f) => {
|
|
131
|
+
u(f);
|
|
132
|
+
const P = w(f);
|
|
133
|
+
P !== r.toLowerCase() && g(P);
|
|
134
|
+
}, A = w(c), L = d.colour(A);
|
|
135
|
+
return /* @__PURE__ */ n(
|
|
136
|
+
j,
|
|
137
|
+
{
|
|
138
|
+
align: "start",
|
|
139
|
+
"aria-label": i,
|
|
140
|
+
className: t,
|
|
141
|
+
onOpenChange: (f) => {
|
|
142
|
+
!f && w(m.current) !== r.toLowerCase() && u(y(r));
|
|
143
|
+
},
|
|
144
|
+
trigger: /* @__PURE__ */ n(
|
|
145
|
+
R,
|
|
146
|
+
{
|
|
147
|
+
variant: "outline",
|
|
148
|
+
iconOnly: !0,
|
|
149
|
+
size: o,
|
|
150
|
+
className: "self-start",
|
|
151
|
+
disabled: l,
|
|
152
|
+
"aria-label": i ?? L,
|
|
153
|
+
"aria-description": i ? L : void 0,
|
|
154
|
+
children: /* @__PURE__ */ n("span", { "aria-hidden": !0, className: h(Y[o], "rounded-sm border border-border"), style: { backgroundColor: A } })
|
|
155
|
+
}
|
|
156
|
+
),
|
|
157
|
+
children: /* @__PURE__ */ n(
|
|
158
|
+
q,
|
|
159
|
+
{
|
|
160
|
+
hsv: c,
|
|
161
|
+
value: r,
|
|
162
|
+
presets: a,
|
|
163
|
+
onPreview: u,
|
|
164
|
+
onCommit: C,
|
|
165
|
+
onRelease: () => C(m.current)
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
export {
|
|
172
|
+
sr as ColorPicker
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=ColorPicker.js.map
|