@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,289 @@
|
|
|
1
|
+
import type { RecordPayload, RecordState, StalenessEntry, WriteAllResult, WriteOptions, WriteResult } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Declare which tenant this store is holding records for.
|
|
4
|
+
*
|
|
5
|
+
* Changing it CLEARS the store. The keys are `Type:id` with no tenant in them,
|
|
6
|
+
* so team B's demand #7 would merge onto team A's demand #7 — in an app whose
|
|
7
|
+
* read key is deliberately team-scoped precisely to prevent that. Clearing
|
|
8
|
+
* handles what is already written; the `tenant` parameter on `write` handles
|
|
9
|
+
* what is still in the air.
|
|
10
|
+
*/
|
|
11
|
+
export declare function setRecordStoreTenant(tenant: string | number | undefined): void;
|
|
12
|
+
/** DXUI-84: called when the store's tenant changes (and only then), for state kept outside the store. */
|
|
13
|
+
export declare function subscribeToTenant(listener: () => void): () => void;
|
|
14
|
+
export declare function getRecordStoreTenant(): string | number | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Moves on every accepted change to what the store holds (a write, a layer, a clear). A listener that is called once per changed key in one
|
|
17
|
+
* flush compares it to the version it last looked at, so a burst of N changed keys costs it one look, not N (DXUI-77).
|
|
18
|
+
*/
|
|
19
|
+
export declare function recordStoreVersion(): number;
|
|
20
|
+
/**
|
|
21
|
+
* The single writer. A fetch response, a mutation's returned item and a
|
|
22
|
+
* broadcast all arrive here, so fetch-versus-broadcast reconciliation lives in
|
|
23
|
+
* ONE place rather than split across two modules that would each hold half the
|
|
24
|
+
* rule.
|
|
25
|
+
*/
|
|
26
|
+
export declare function write(payload: RecordPayload, options: WriteOptions): WriteResult;
|
|
27
|
+
/**
|
|
28
|
+
* The plural form — REQUIRED, not a convenience.
|
|
29
|
+
*
|
|
30
|
+
* A list page is fifty payloads, and fifty singular writes are fifty
|
|
31
|
+
* notification passes and fifty render passes for one page load. Every write
|
|
32
|
+
* in one call coalesces into a single notification.
|
|
33
|
+
*/
|
|
34
|
+
export declare function writeAll(payloads: readonly RecordPayload[], options: WriteOptions): WriteAllResult;
|
|
35
|
+
/**
|
|
36
|
+
* One optimistic write, held ON TOP of a record's base rather than merged into it.
|
|
37
|
+
*
|
|
38
|
+
* ==== WHY A LAYER AND NOT A WRITE ====
|
|
39
|
+
*
|
|
40
|
+
* The first optimistic writes built on this store merged the belief into the base with a
|
|
41
|
+
* client-invented `__timestamp`, and each one then had to work around what that did:
|
|
42
|
+
*
|
|
43
|
+
* - the rollback had to be stamped NEWER than the belief, or the out-of-order guard dropped
|
|
44
|
+
* it — and a same-millisecond apply-then-revert is not newer, so a local monotonic clock
|
|
45
|
+
* was needed to get it through;
|
|
46
|
+
* - once a client timestamp was stored, the SERVER's own later answer could lose to it, since
|
|
47
|
+
* a browser clock and a database column are not the same clock;
|
|
48
|
+
* - the rollback snapshot came from a read, which strips the envelope, so `__type` had to be
|
|
49
|
+
* patched back in before the store would take it.
|
|
50
|
+
*
|
|
51
|
+
* A layer has none of those problems by construction. The base — the only thing the ordering
|
|
52
|
+
* guard adjudicates — is never touched by the belief, so the belief can never outrank a server
|
|
53
|
+
* answer and removing it is a removal, not a write that has to win anything.
|
|
54
|
+
*
|
|
55
|
+
* ==== ORDER ====
|
|
56
|
+
*
|
|
57
|
+
* Layers apply oldest first, so the newest belief about a field is the one a reader sees — a
|
|
58
|
+
* set, clear, set, clear on one field shows the last clear the moment it is made, whatever
|
|
59
|
+
* order the four answers come back in. Removing a layer from the middle leaves every later one
|
|
60
|
+
* standing: undoing write 2 of 4 does not undo 3 and 4.
|
|
61
|
+
*/
|
|
62
|
+
export interface OptimisticLayer {
|
|
63
|
+
/** Global and strictly increasing — also the issue order of the writes that made them. */
|
|
64
|
+
readonly id: number;
|
|
65
|
+
/** Data fields, stored as given — never normalized, so a patch cannot mint records. */
|
|
66
|
+
fields: Record<string, unknown>;
|
|
67
|
+
/**
|
|
68
|
+
* When set, `fields` are KEYS OF THE MAP held in this one field (a record's `data_points`,
|
|
69
|
+
* say), merged over whatever that map holds beneath — never a replacement of the whole field.
|
|
70
|
+
* Two beliefs about two different keys of one map then stay independent: undoing one leaves the
|
|
71
|
+
* other standing, and a read that rewrites the map underneath still shows through every key no
|
|
72
|
+
* belief is about.
|
|
73
|
+
*/
|
|
74
|
+
readonly at: string | undefined;
|
|
75
|
+
/** An ISO time when this layer is a delete. */
|
|
76
|
+
readonly tombstone: string | undefined;
|
|
77
|
+
/** True when this layer IS the record — an optimistic create with no server row yet. */
|
|
78
|
+
readonly created: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* True when the write's answer was refused as older than the held version (DXUI-78). The layer
|
|
81
|
+
* is no longer a write in flight: it holds the value the screen keeps showing until a fetch that
|
|
82
|
+
* carries the field lands. It never pins a record against `sweepRecords` and never reads as saving.
|
|
83
|
+
*/
|
|
84
|
+
kept: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Put an optimistic layer on top of `Type:id`, creating a base-less record for a create.
|
|
88
|
+
*
|
|
89
|
+
* Notification is QUEUED here, like every other store change; the optimistic-write primitive
|
|
90
|
+
* flushes synchronously afterwards, because a user-initiated write must never wait on an
|
|
91
|
+
* animation frame (a hidden page never gets one).
|
|
92
|
+
*
|
|
93
|
+
* @returns the layer id, for `removeOptimisticLayer` / `trimOptimisticLayers`
|
|
94
|
+
*/
|
|
95
|
+
export declare function pushOptimisticLayer(type: string, id: string | number, layer: {
|
|
96
|
+
fields?: Record<string, unknown>;
|
|
97
|
+
at?: string;
|
|
98
|
+
tombstone?: string;
|
|
99
|
+
created?: boolean;
|
|
100
|
+
kept?: boolean;
|
|
101
|
+
}): number;
|
|
102
|
+
/**
|
|
103
|
+
* A write's answer was refused as older than the held version, so the base cannot take it — but the
|
|
104
|
+
* screen must not fall back to the value from before the write (DXUI-78, DEC-285). The layer stays,
|
|
105
|
+
* becomes `kept`, and each field the answer carries replaces the client's guess (a server-set value
|
|
106
|
+
* such as `signed_off_at`). For an `at` layer the keys come from the answer's map field. Values are
|
|
107
|
+
* stored normalized (a nested record as `{__ref}`), the shape `write()` stores.
|
|
108
|
+
*
|
|
109
|
+
* @returns the layer's values now, which is what a later, older write's settling restores, or
|
|
110
|
+
* `undefined` when it holds no field to keep: the layer is then the caller's to remove
|
|
111
|
+
*/
|
|
112
|
+
export declare function keepOptimisticLayer(key: string, layerId: number, answer: RecordPayload, tenant: string | number | undefined): Record<string, unknown> | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* A rev-ordered write's answer, at `version`, was refused as older (DXUI-96): the layer gives up
|
|
115
|
+
* every field the base holds at or above that version, as what the base holds there is the truth.
|
|
116
|
+
* A field nothing newer carried stays for `keepOptimisticLayer`: the base never took the write's
|
|
117
|
+
* value. For an `at` layer the map is the field.
|
|
118
|
+
*/
|
|
119
|
+
export declare function trimSupersededFields(key: string, layerId: number, version: number): void;
|
|
120
|
+
/**
|
|
121
|
+
* A create's answer was refused as older than the real row already held: the row must not show
|
|
122
|
+
* empty. A kept layer on the real key holds the answer's data fields the row lacks, never one it
|
|
123
|
+
* holds, which may be newer than the answer (DXUI-78, DEC-285).
|
|
124
|
+
*/
|
|
125
|
+
export declare function pushKeptAnswerLayer(key: string, type: string, id: string | number, answer: RecordPayload, tenant: string | number | undefined): void;
|
|
126
|
+
/**
|
|
127
|
+
* Take one layer off. A record that only ever existed as an optimistic create disappears with
|
|
128
|
+
* its last layer — it reads `unknown` again, exactly as before the create.
|
|
129
|
+
*/
|
|
130
|
+
export declare function removeOptimisticLayer(key: string, layerId: number): void;
|
|
131
|
+
/**
|
|
132
|
+
* A later write's answer has landed: every OLDER layer's belief about the same fields is
|
|
133
|
+
* superseded, whether or not that older request has answered yet. A layer left with nothing to
|
|
134
|
+
* say is dropped. Without this, a set whose answer is still out would keep overlaying a field
|
|
135
|
+
* the server has already confirmed was cleared after it.
|
|
136
|
+
*
|
|
137
|
+
* `at` scopes the trim to beliefs about keys of that one map field — the same granularity the
|
|
138
|
+
* committing write had.
|
|
139
|
+
*/
|
|
140
|
+
export declare function trimOptimisticLayers(key: string, beforeLayerId: number, fields: readonly string[], at?: string): void;
|
|
141
|
+
/**
|
|
142
|
+
* Whether the BASE is tombstoned — what a list slot prunes on. An optimistic delete hides the
|
|
143
|
+
* row from every read but must not cost the slot its key, or a rollback would bring the record
|
|
144
|
+
* back with no list left holding it.
|
|
145
|
+
*/
|
|
146
|
+
export declare function isBaseTombstoned(key: string): boolean;
|
|
147
|
+
/**
|
|
148
|
+
* One field of the BASE, as stored (normalized: a nested record is a `{__ref}`). What a keyed
|
|
149
|
+
* belief is folded into when its write succeeds without an answer to replace it — writing it back
|
|
150
|
+
* through `write()` round-trips the refs untouched.
|
|
151
|
+
*/
|
|
152
|
+
export declare function readBaseField(key: string, field: string): unknown;
|
|
153
|
+
/**
|
|
154
|
+
* DXUI-83: a counter that moves only when a write changes the BASE of `key` (0 for a key the store does not hold). A layer going moves
|
|
155
|
+
* `record.version`, not this, so a commit (the base is written, then the layer removed) and a refusal (the layer is only removed) differ.
|
|
156
|
+
*/
|
|
157
|
+
export declare function readBaseVersion(key: string): number;
|
|
158
|
+
/** DXUI-83: does `key` carry a `kept` layer, a save that succeeded but whose answer was older than the held version (DXUI-78)? */
|
|
159
|
+
export declare function hasKeptLayer(key: string): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* DXUI-83: what `key` reads as WITHOUT the writes in flight: the base, with `kept` layers on it (they are the value on screen). `no-base` is an
|
|
162
|
+
* optimistic create with no server row yet; `unknown` is a base no fetch has satisfied `needs` for. Hydrated fresh each call, never memoized: a
|
|
163
|
+
* window asks it only for a layered record that no page holds.
|
|
164
|
+
*/
|
|
165
|
+
export declare function readBaseState(key: string, needs: string): {
|
|
166
|
+
status: "present";
|
|
167
|
+
record: unknown;
|
|
168
|
+
} | {
|
|
169
|
+
status: "no-base" | "deleted" | "unknown";
|
|
170
|
+
};
|
|
171
|
+
/** Does `key` carry a write in flight right now? A kept layer (DXUI-78) is not one. */
|
|
172
|
+
export declare function hasOptimisticLayers(key: string): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* DXUI-77: the keys of `type` that carry at least one layer that is not `kept` - a write in flight, an optimistic create included. Read-only;
|
|
175
|
+
* a window that must find a record it does not hold (a card moved INTO it) asks here, because the store has no other way to list records by
|
|
176
|
+
* type.
|
|
177
|
+
*/
|
|
178
|
+
export declare function layeredKeys(type: string): readonly string[];
|
|
179
|
+
/**
|
|
180
|
+
* DXUI-77: hear that a layer changed on a record of `type`: pushed, kept, trimmed, removed, or cleared by the fetch that settled it (a layer that
|
|
181
|
+
* IS the record, `created`, included). Delivered with the store's other notifications, once per flush however many layers moved; the listener
|
|
182
|
+
* asks `layeredKeys` what is layered now. Nothing is stored beyond the listener.
|
|
183
|
+
*
|
|
184
|
+
* @returns unsubscribe
|
|
185
|
+
*/
|
|
186
|
+
export declare function subscribeToLayers(type: string, listener: () => void): () => void;
|
|
187
|
+
/**
|
|
188
|
+
* `value` in the shape `normalizeValue` stores it — a nested record as `{__ref: key}` — without
|
|
189
|
+
* writing anything, so a raw answer can be compared with what the base holds (DXUI-89).
|
|
190
|
+
*/
|
|
191
|
+
export declare function storedShape(value: unknown): unknown;
|
|
192
|
+
/**
|
|
193
|
+
* The `unknown` state, as ONE module-level frozen constant.
|
|
194
|
+
*
|
|
195
|
+
* `getServerSnapshot` returns this. A fresh literal there throws under the only
|
|
196
|
+
* condition it exists for.
|
|
197
|
+
*/
|
|
198
|
+
export declare const UNKNOWN_STATE: RecordState<never>;
|
|
199
|
+
export declare function getUnknownState(): RecordState<never>;
|
|
200
|
+
/**
|
|
201
|
+
* What a reader is told about one key, gated on the field set it declared it
|
|
202
|
+
* needs.
|
|
203
|
+
*
|
|
204
|
+
* The gate is what stops a record seeded ONLY by a broadcast from reaching a
|
|
205
|
+
* projection function that assumes absent means empty — which renders a
|
|
206
|
+
* confident "0 documents" for a record with hundreds.
|
|
207
|
+
*/
|
|
208
|
+
export declare function readState(key: string, needs: string): RecordState<unknown>;
|
|
209
|
+
/** Non-reactive read, for callers outside a component. */
|
|
210
|
+
export declare function peekRecord(type: string, id: string | number, needs: string): RecordState<unknown>;
|
|
211
|
+
/**
|
|
212
|
+
* NOTIFICATION IS COALESCED PER ANIMATION FRAME, and that is a requirement.
|
|
213
|
+
*
|
|
214
|
+
* A document transcoding page by page broadcasts once per row. Un-coalesced,
|
|
215
|
+
* every one of those is a separate notification, a separate dep scan per
|
|
216
|
+
* subscriber and a separate render pass. Coalescing collapses a burst into a
|
|
217
|
+
* handful.
|
|
218
|
+
*
|
|
219
|
+
* Exported so a caller that must observe the effect of a write synchronously —
|
|
220
|
+
* a test, or a measurement taken immediately after a write — can flush rather
|
|
221
|
+
* than wait for a frame. The optimistic write (`reads/optimistic.ts`) flushes
|
|
222
|
+
* after every step: a reader's own action is one change, not a burst, and it
|
|
223
|
+
* must reach the screen in the same tick even on a page that gets no frames.
|
|
224
|
+
*/
|
|
225
|
+
export declare function flushRecordNotifications(): void;
|
|
226
|
+
export declare function subscribeToKey(key: string, listener: () => void): () => void;
|
|
227
|
+
export declare function subscribeToStaleness(listener: () => void): () => void;
|
|
228
|
+
/**
|
|
229
|
+
* Affected ROOTS and their now-stale field sets.
|
|
230
|
+
*
|
|
231
|
+
* The signal names ROOTS rather than the key that went stale, because the key
|
|
232
|
+
* that goes stale is often a nested one — a run under a demand — and a list of
|
|
233
|
+
* demands can never match a run's key. Roots come from the hydration memo's
|
|
234
|
+
* deps map, so a root is by definition something a mounted read or a list slot
|
|
235
|
+
* is already holding.
|
|
236
|
+
*
|
|
237
|
+
* The library names no type it understands and no endpoint: the layer that
|
|
238
|
+
* performed the original fetch re-issues it, because it is the only layer that
|
|
239
|
+
* knows which field set it asked for.
|
|
240
|
+
*/
|
|
241
|
+
export declare function readStaleness(): readonly StalenessEntry[];
|
|
242
|
+
/**
|
|
243
|
+
* The roots reached by a stale event since the last call (each key itself, plus every memo root
|
|
244
|
+
* whose deps hold it), and the set emptied. A read holding one of them must run again even when
|
|
245
|
+
* the staleness snapshot did not move: an event during a read is otherwise lost (DXUI-78, DEC-284).
|
|
246
|
+
*/
|
|
247
|
+
export declare function takeStaleEvents(): ReadonlySet<string>;
|
|
248
|
+
export declare function getEmptyStaleness(): readonly StalenessEntry[];
|
|
249
|
+
/**
|
|
250
|
+
* Pin keys as ROOTS for the duration of the returned release.
|
|
251
|
+
*
|
|
252
|
+
* A key is retained if it is REACHABLE from a root, never if it is itself
|
|
253
|
+
* pinned: a file is never independently subscribed — it is reached only by
|
|
254
|
+
* hydrating its demand — so evicting by direct subscription would evict exactly
|
|
255
|
+
* what hydration walks and leave dangling refs everywhere.
|
|
256
|
+
*
|
|
257
|
+
* Release is IDEMPOTENT and exactly paired with acquire, which is what makes
|
|
258
|
+
* StrictMode's mount / unmount / mount survivable. A subscription whose
|
|
259
|
+
* teardown is not idempotent tears down the one it just created — and it
|
|
260
|
+
* misbehaves only in development, which is the worst place for that to live,
|
|
261
|
+
* because that is where it is being debugged.
|
|
262
|
+
*/
|
|
263
|
+
export declare function retainKeys(keys: readonly string[]): () => void;
|
|
264
|
+
/**
|
|
265
|
+
* Mark from the roots, then sweep everything unreachable.
|
|
266
|
+
*
|
|
267
|
+
* AN IDENTITY MAP THAT ONLY GROWS IS A LEAK, and the failure mode is a tab that
|
|
268
|
+
* gets slower over an afternoon with nobody connecting it to this. Browsing ten
|
|
269
|
+
* documents at 435 rows each is roughly 4,000 entries nothing releases.
|
|
270
|
+
*
|
|
271
|
+
* WHEN TO CALL IT IS THE CALLER'S DECISION, and it needs to be more than a
|
|
272
|
+
* navigation boundary: a broadcast can CREATE a key no root reaches, and on a
|
|
273
|
+
* screen nobody navigates away from — a long extraction, say — those accumulate
|
|
274
|
+
* for as long as the tab is open. A navigation boundary AND a bounded schedule.
|
|
275
|
+
* This module deliberately installs no timer of its own; a design-system module
|
|
276
|
+
* that starts an interval on import is a worse defect than the leak.
|
|
277
|
+
*
|
|
278
|
+
* @returns how many keys were dropped
|
|
279
|
+
*/
|
|
280
|
+
export declare function sweepRecords(): number;
|
|
281
|
+
/** Wipes everything, including listeners, roots and the tenant. */
|
|
282
|
+
export declare function resetRecordStore(): void;
|
|
283
|
+
/** What the store holds right now, for a devtools panel or a test. */
|
|
284
|
+
export declare function recordStoreStats(): {
|
|
285
|
+
records: number;
|
|
286
|
+
memos: number;
|
|
287
|
+
roots: number;
|
|
288
|
+
listeners: number;
|
|
289
|
+
};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A payload as it arrives off the wire — from a fetch response, from a
|
|
3
|
+
* mutation's returned item, or from a broadcast.
|
|
4
|
+
*
|
|
5
|
+
* DELIBERATELY LOOSE. The store requires exactly two things of it (`__type`
|
|
6
|
+
* and `id`) and interprets five more (`__timestamp`, `__deleted_at`,
|
|
7
|
+
* `deleted_at`, `__stale`, `__model`). Everything else is data it carries
|
|
8
|
+
* without understanding — which is the whole of this module's claim to being
|
|
9
|
+
* domain-agnostic.
|
|
10
|
+
*/
|
|
11
|
+
export interface RecordPayload {
|
|
12
|
+
readonly [field: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* How a payload arrived. NOT telemetry — each value changes real behaviour:
|
|
16
|
+
*
|
|
17
|
+
* - `"fetch"` may SATISFY a field-set tag and CLEARS staleness on every field
|
|
18
|
+
* it carries. A broadcast can never do either, because a broadcast is
|
|
19
|
+
* partial by whitelist and can never complete a record.
|
|
20
|
+
* - `"broadcast"` is the only source that MARKS a field stale, using the
|
|
21
|
+
* `staleFields` its type declared. Saying so out loud prevents the obvious
|
|
22
|
+
* wrong reading, in which a fetch that omits a stale-declared field re-marks
|
|
23
|
+
* it and the refetch loop never settles.
|
|
24
|
+
*
|
|
25
|
+
* A mutation's returned item is a `"fetch"`: it is a full server answer to a
|
|
26
|
+
* request this client made, so it may satisfy a tag.
|
|
27
|
+
*/
|
|
28
|
+
export type WriteSource = "fetch" | "broadcast";
|
|
29
|
+
/** Options every write carries. */
|
|
30
|
+
export interface WriteOptions {
|
|
31
|
+
readonly source: WriteSource;
|
|
32
|
+
/**
|
|
33
|
+
* The tenant the REQUEST was issued under — stamped by the caller at request
|
|
34
|
+
* time, never read from module state inside `write`.
|
|
35
|
+
*
|
|
36
|
+
* Reading it inside `write` would read the tenant as it is NOW, which is
|
|
37
|
+
* precisely the bug this parameter exists to prevent: a team-A response that
|
|
38
|
+
* resolves after a switch to team B would write team A's records into a
|
|
39
|
+
* store now being read as team B's. A broadcast is stamped with the tenant
|
|
40
|
+
* whose channel delivered it, which the subscription already knows. So both
|
|
41
|
+
* sources carry it and neither infers it.
|
|
42
|
+
*/
|
|
43
|
+
readonly tenant?: string | number;
|
|
44
|
+
/**
|
|
45
|
+
* An OPAQUE field-set name — `"card"`, `"detail"`, whatever the caller's own
|
|
46
|
+
* api layer already calls the selector it asked for. The store never
|
|
47
|
+
* interprets it; it records which tags a key has satisfied and compares them
|
|
48
|
+
* for equality, so the library still knows nothing about any type's fields.
|
|
49
|
+
*
|
|
50
|
+
* Only a `"fetch"` may satisfy a tag. It is what makes `useRecord(…,
|
|
51
|
+
* {needs:"card"})` report `unknown` for a record seeded only by a broadcast,
|
|
52
|
+
* rather than handing a projection function a record with no `files` and no
|
|
53
|
+
* `workflow_runs` — which renders a confident "0 documents" card for a
|
|
54
|
+
* 434-page demand.
|
|
55
|
+
*/
|
|
56
|
+
readonly tag?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* What a write did. Every value is observable so a refusal leaves a trace: the
|
|
60
|
+
* prior art in this codebase records nothing at all on rejection, which is why
|
|
61
|
+
* its out-of-order guard was inert for years without anyone noticing.
|
|
62
|
+
*
|
|
63
|
+
* - `applied` — accepted, and something a reader can observe changed.
|
|
64
|
+
* - `unchanged` — accepted, and nothing changed. NOBODY IS NOTIFIED. A
|
|
65
|
+
* redelivered duplicate must not invalidate every hydration memo that
|
|
66
|
+
* touched the key and re-render every subscriber.
|
|
67
|
+
* - `dropped-older` — strictly older than the record's own stored timestamp.
|
|
68
|
+
* - `dropped-tenant` — stamped for a tenant this store is no longer serving.
|
|
69
|
+
* - `rejected-shape` — not a record at all: no `__type`, no `id`, or a
|
|
70
|
+
* `{__stale:true}` ping, which carries neither.
|
|
71
|
+
*/
|
|
72
|
+
export type WriteVerdict = "applied" | "unchanged" | "dropped-older" | "dropped-tenant" | "rejected-shape";
|
|
73
|
+
/** The result of one `write`. */
|
|
74
|
+
export interface WriteResult {
|
|
75
|
+
readonly verdict: WriteVerdict;
|
|
76
|
+
/**
|
|
77
|
+
* Every key this write touched, INCLUDING nested ones — a demand payload
|
|
78
|
+
* carrying 434 files returns 435 keys.
|
|
79
|
+
*
|
|
80
|
+
* The caller that issued a refetch to clear a staleness signal needs this to
|
|
81
|
+
* decide whether the write it just made actually satisfied what it was
|
|
82
|
+
* issued for. Empty for every dropped or rejected verdict.
|
|
83
|
+
*/
|
|
84
|
+
readonly keys: readonly string[];
|
|
85
|
+
/**
|
|
86
|
+
* The keys of nested records this write refused as strictly older than the version the store
|
|
87
|
+
* holds (DXUI-90). The write's own `verdict` judges only the record it was handed, so an
|
|
88
|
+
* `applied` parent can still carry a nested row the store kept at its newer version: the answer
|
|
89
|
+
* predates a change an event already brought. Empty when none was refused.
|
|
90
|
+
*/
|
|
91
|
+
readonly refusedNested: readonly string[];
|
|
92
|
+
/** Why, for the verdicts that are refusals. Present only when it helps. */
|
|
93
|
+
readonly reason?: string;
|
|
94
|
+
}
|
|
95
|
+
/** The result of one `writeAll`. */
|
|
96
|
+
export interface WriteAllResult {
|
|
97
|
+
/** One entry per payload, in the order they were given. */
|
|
98
|
+
readonly results: readonly WriteResult[];
|
|
99
|
+
/** The union of every payload's touched keys, de-duplicated. */
|
|
100
|
+
readonly keys: readonly string[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* What a reader is told about one key.
|
|
104
|
+
*
|
|
105
|
+
* FOUR ABSENCES, NOT ONE. Never-fetched, deleted and broadcast-partial are
|
|
106
|
+
* different answers and a screen renders each of them differently. The fourth —
|
|
107
|
+
* a 404 — is deliberately NOT a member: a refusal carries a message and a
|
|
108
|
+
* remedy that the store has no way to build, so it belongs to whatever layer
|
|
109
|
+
* performed the request.
|
|
110
|
+
*
|
|
111
|
+
* `stale` is part of the state rather than a side channel because a write that
|
|
112
|
+
* changes no value but marks a field stale must still notify — and notifying
|
|
113
|
+
* for something no reader can observe is worse than not notifying at all.
|
|
114
|
+
*/
|
|
115
|
+
export type RecordState<T> = {
|
|
116
|
+
readonly status: "unknown";
|
|
117
|
+
} | {
|
|
118
|
+
readonly status: "present";
|
|
119
|
+
readonly record: T;
|
|
120
|
+
/** Bumps on every accepted write that changed something observable. */
|
|
121
|
+
readonly version: number;
|
|
122
|
+
/**
|
|
123
|
+
* Fields the last broadcast could not carry. Sorted, so two structurally
|
|
124
|
+
* equal stale sets compare equal.
|
|
125
|
+
*
|
|
126
|
+
* A held stale value can only be stale-LOW for a monotonic high-water
|
|
127
|
+
* mark, never stale-high, so holding the last number on screen while the
|
|
128
|
+
* refetch lands is honest. Dimming it is available, not mandatory.
|
|
129
|
+
*/
|
|
130
|
+
readonly stale: readonly string[];
|
|
131
|
+
} | {
|
|
132
|
+
readonly status: "deleted";
|
|
133
|
+
readonly at: string;
|
|
134
|
+
};
|
|
135
|
+
/** What `useRecord`/`useRecords` require of their caller. */
|
|
136
|
+
export interface ReadOptions {
|
|
137
|
+
/**
|
|
138
|
+
* REQUIRED, not optional. The tag a `"fetch"` must have satisfied before
|
|
139
|
+
* this key reports `present`.
|
|
140
|
+
*
|
|
141
|
+
* The tag mechanism existed once as an optional parameter and nothing forced
|
|
142
|
+
* a caller to use it, which reopened the exact hole it was introduced to
|
|
143
|
+
* close. One word in the signature is the whole fix.
|
|
144
|
+
*/
|
|
145
|
+
readonly needs: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* A registered record type: the runtime string and the compile-time type, so
|
|
149
|
+
* the two can never drift.
|
|
150
|
+
*
|
|
151
|
+
* `_record` is a phantom — it carries `T` through inference and holds no value
|
|
152
|
+
* at runtime.
|
|
153
|
+
*/
|
|
154
|
+
export interface RecordTypeToken<T> {
|
|
155
|
+
/** The NORMALIZED model name. Never carries a `Resource` suffix. */
|
|
156
|
+
readonly type: string;
|
|
157
|
+
/** @see RecordTypeOptions.staleFields */
|
|
158
|
+
readonly staleFields: readonly string[] | "*";
|
|
159
|
+
/** Phantom. Never read. */
|
|
160
|
+
readonly _record?: T;
|
|
161
|
+
}
|
|
162
|
+
/** What a type may declare at registration. */
|
|
163
|
+
export interface RecordTypeOptions {
|
|
164
|
+
/**
|
|
165
|
+
* The fields this type's BROADCAST cannot carry — because they are computed,
|
|
166
|
+
* or deliberately withheld from the whitelist. Everything else in a
|
|
167
|
+
* broadcast merges normally.
|
|
168
|
+
*
|
|
169
|
+
* Staleness is PER FIELD and never a whole-type on/off switch. A per-type
|
|
170
|
+
* binary discards the twelve real fields a broadcast does carry in order to
|
|
171
|
+
* signal the two it does not.
|
|
172
|
+
*
|
|
173
|
+
* `"*"` means every data field — the case where a type's broadcast carries
|
|
174
|
+
* identity and nothing else, and where the field set is not knowable at
|
|
175
|
+
* registration because it is a bag of dynamic attributes. It resolves at
|
|
176
|
+
* write time against the keys the record actually holds; see
|
|
177
|
+
* `resolveStaleFields` in `store.ts` for what that buys and what it costs.
|
|
178
|
+
*/
|
|
179
|
+
readonly staleFields?: readonly string[] | "*";
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* One root affected by a staleness mark, and the fields under it that are now
|
|
183
|
+
* suspect.
|
|
184
|
+
*
|
|
185
|
+
* `key` is a ROOT, not the key that went stale. For a queue, the key that goes
|
|
186
|
+
* stale is a run while the list holds demands; naming the raw key would match
|
|
187
|
+
* no list slot and nothing would ever refetch. Roots are resolved through the
|
|
188
|
+
* hydration memo's deps map, which is safe in a way a maintained reverse index
|
|
189
|
+
* is not: it is rebuilt by the same walk that reads it, so there is no separate
|
|
190
|
+
* maintenance step to get wrong.
|
|
191
|
+
*/
|
|
192
|
+
export interface StalenessEntry {
|
|
193
|
+
readonly key: string;
|
|
194
|
+
readonly fields: readonly string[];
|
|
195
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { RecordPayload } from "./types";
|
|
2
|
+
/** A relation, once normalized: a pointer to another record's key. */
|
|
3
|
+
export interface RecordRef {
|
|
4
|
+
readonly __ref: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function isRecordRef(value: unknown): value is RecordRef;
|
|
7
|
+
/**
|
|
8
|
+
* Strip a trailing `Resource` so a delete and the record it deletes land on
|
|
9
|
+
* the same key.
|
|
10
|
+
*
|
|
11
|
+
* CREATED AND DELETED PAYLOADS DISAGREE ABOUT `__type`, verified in the
|
|
12
|
+
* backend twice: created/updated take it from a resource class name that no
|
|
13
|
+
* resource overrides, so it keeps the suffix (`"WorkflowRunResource"`), while
|
|
14
|
+
* deletes take it from a helper that strips the suffix (`"WorkflowRun"`).
|
|
15
|
+
*
|
|
16
|
+
* A store keyed on the raw string files a delete under a different key than
|
|
17
|
+
* the record it is deleting, so the tombstone never lands and the row stays on
|
|
18
|
+
* screen forever. One line, and without it a whole class of update silently
|
|
19
|
+
* does nothing.
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeTypeName(raw: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* `Type:id`, with the id COERCED TO A STRING.
|
|
24
|
+
*
|
|
25
|
+
* Ids are not uniformly numeric — a file's id is a UUID while a run's is an
|
|
26
|
+
* integer — and a Map keyed on the raw value would file `7` and `"7"`
|
|
27
|
+
* separately. There is deliberately NO `id || name` fallback: that is a quirk
|
|
28
|
+
* of one prior implementation, not part of any contract, and a record keyed on
|
|
29
|
+
* a name silently merges two different rows the day two of them share one.
|
|
30
|
+
*/
|
|
31
|
+
export declare function recordKey(type: string, id: string | number): string;
|
|
32
|
+
/** The identity a payload carries, or `undefined` if it is not a record. */
|
|
33
|
+
export interface PayloadIdentity {
|
|
34
|
+
readonly key: string;
|
|
35
|
+
readonly type: string;
|
|
36
|
+
readonly id: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function payloadIdentity(payload: RecordPayload): PayloadIdentity | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* A `{__stale:true, id, __model}` ping: an invalidation the backend sends
|
|
41
|
+
* under the normal event name with NO `__type` at all.
|
|
42
|
+
*
|
|
43
|
+
* Recognised by name and dropped, because keying it would need a type it does
|
|
44
|
+
* not have — and guessing one from `__model` (a PHP class name) is exactly the
|
|
45
|
+
* sort of inference that produces a store full of records nothing reads.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isStalePing(payload: RecordPayload): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The tombstone marker, or `undefined`.
|
|
50
|
+
*
|
|
51
|
+
* BOTH SPELLINGS, deliberately. A `deleted` event carries `deleted_at`; a
|
|
52
|
+
* soft-delete arriving as an `updated` event carries `__deleted_at`. The prior
|
|
53
|
+
* art in this codebase checks only the second, so its delete handling has never
|
|
54
|
+
* run once — the payload says `deleted_at` and the store asks for
|
|
55
|
+
* `__deleted_at`.
|
|
56
|
+
*/
|
|
57
|
+
export declare function tombstoneAt(payload: RecordPayload): string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* True when the payload says, in so many words, that the record is NOT
|
|
60
|
+
* deleted — which is what un-deletes a tombstoned record.
|
|
61
|
+
*
|
|
62
|
+
* Needed because absent keeps the previous value: without this, a record that
|
|
63
|
+
* was tombstoned could never come back, even when the server says it has.
|
|
64
|
+
*/
|
|
65
|
+
export declare function explicitlyUndeleted(payload: RecordPayload): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Normalize `__timestamp` to milliseconds.
|
|
68
|
+
*
|
|
69
|
+
* IT ARRIVES IN TWO UNITS, 1000x APART, and this is verified rather than
|
|
70
|
+
* theoretical: the backend reads the model's `updated_at` in MILLISECONDS when
|
|
71
|
+
* the model has that column, and falls back to a SECONDS-resolution wall clock
|
|
72
|
+
* when it does not. At least one real model has no `updated_at` column at all.
|
|
73
|
+
*
|
|
74
|
+
* A comparison across the two units is not merely wrong, it is CONSISTENTLY
|
|
75
|
+
* wrong in one direction: a seconds value is ~1000x smaller, so it always
|
|
76
|
+
* loses to a milliseconds value and such a record would never update again.
|
|
77
|
+
*
|
|
78
|
+
* An implausible magnitude — below either window — is a contract violation,
|
|
79
|
+
* and it is surfaced rather than coerced. It returns `undefined`, which means
|
|
80
|
+
* "cannot adjudicate": the write is still ACCEPTED (a bogus tiny number must
|
|
81
|
+
* not be allowed to make a record permanently un-writable), it just cannot
|
|
82
|
+
* refuse anything.
|
|
83
|
+
*/
|
|
84
|
+
export declare function normalizeTimestamp(raw: unknown): number | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Keys the store INTERPRETS rather than stores.
|
|
87
|
+
*
|
|
88
|
+
* Everything `__`-prefixed is envelope by this wire format's own convention,
|
|
89
|
+
* and two of them would actively break the store if kept as data:
|
|
90
|
+
* `__broadcasted_at` moves on every delivery, so storing it would make an
|
|
91
|
+
* identical redelivered payload look like a change and re-render the world —
|
|
92
|
+
* which is the exact cost the notify-only-if-changed rule exists to avoid.
|
|
93
|
+
*
|
|
94
|
+
* `deleted_at` is here because it is the tombstone marker, not a field.
|
|
95
|
+
*/
|
|
96
|
+
export declare function isEnvelopeKey(key: string): boolean;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type HostPlatform = "windows" | "macos" | "ios" | "android" | "unknown";
|
|
2
|
+
/** The parts of `navigator` the detection reads. `userAgentData` is Chromium-only; everything else has `userAgent`. */
|
|
3
|
+
export interface PlatformSource {
|
|
4
|
+
userAgent: string;
|
|
5
|
+
maxTouchPoints?: number;
|
|
6
|
+
userAgentData?: {
|
|
7
|
+
platform?: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Which OS the page runs on: the client-hints platform where the browser has it, else the user-agent string.
|
|
12
|
+
* iPadOS reports a Mac user agent; a "Mac" with a touch screen is an iPad.
|
|
13
|
+
*/
|
|
14
|
+
export declare function detectPlatform(source: PlatformSource): HostPlatform;
|
|
15
|
+
export interface ReducedMotionHelp {
|
|
16
|
+
platform: HostPlatform;
|
|
17
|
+
/** Where the setting is, in that OS's own words. */
|
|
18
|
+
steps: string;
|
|
19
|
+
/** A link that opens the setting directly, where the OS has one. */
|
|
20
|
+
href?: string;
|
|
21
|
+
}
|
|
22
|
+
/** `steps` is the wording per OS (the active `UiLocaleProvider`'s `themeMenu.osSteps`); this picks the one for `platform` and its settings link. */
|
|
23
|
+
export declare function reducedMotionHelp(platform: HostPlatform, steps: Record<HostPlatform, string>): ReducedMotionHelp;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DXUI-33: scrolls `frame` just far enough that the caret is fully inside it. Does nothing when the frame does not
|
|
3
|
+
* scroll (the draft fits), when there is no caret, or when the caret is already in view. `getSelection` is passed in
|
|
4
|
+
* so a test can stub it.
|
|
5
|
+
*/
|
|
6
|
+
export declare function scrollCaretIntoView(frame: HTMLElement, selection?: Selection | null): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimNamespace } from "./types";
|
|
2
|
+
export interface SimStoreOptions {
|
|
3
|
+
/** @default "demo" */
|
|
4
|
+
namespace?: SimNamespace;
|
|
5
|
+
}
|
|
6
|
+
export interface SimStore<T> {
|
|
7
|
+
/** Reactive — re-renders on ANY write to this store, anywhere. */
|
|
8
|
+
useAll(): T[];
|
|
9
|
+
useById(id: string): T | undefined;
|
|
10
|
+
/** Non-reactive escape hatch — reading outside a component, e.g. a seeder. */
|
|
11
|
+
getAll(): T[];
|
|
12
|
+
create(item: T): Promise<T>;
|
|
13
|
+
update(id: string, patch: Partial<T>): Promise<T>;
|
|
14
|
+
remove(id: string): Promise<void>;
|
|
15
|
+
/** Back to `seed`. What "Regenerate demo data" calls, via `resetSimStores`. */
|
|
16
|
+
reset(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export declare function createSimStore<T>(key: string, seed: T[], getId: (item: T) => string, options?: SimStoreOptions): SimStore<T>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class SimNetworkError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Awaits a delay scaled to `recordsTouched` and the Dev popover's current
|
|
6
|
+
* network-speed setting. `Instant` returns immediately rather than awaiting a
|
|
7
|
+
* zero-length timer — the difference between "no perceptible delay" and
|
|
8
|
+
* "every store call pays for a microtask it gets nothing from."
|
|
9
|
+
*/
|
|
10
|
+
export declare function simulateLatency(recordsTouched: number): Promise<void>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SimNamespace } from "./types";
|
|
2
|
+
interface RegisteredStore {
|
|
3
|
+
namespace: SimNamespace;
|
|
4
|
+
reset: () => Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
/** Called once by `createSimStore` itself — not a public store-authoring API. */
|
|
7
|
+
export declare function registerSimStore(entry: RegisteredStore): () => void;
|
|
8
|
+
/**
|
|
9
|
+
* Resets every registered store in `namespace`, or every store at all when
|
|
10
|
+
* omitted. Resolves once every reset has actually written back to
|
|
11
|
+
* LocalStorage and notified its subscribers.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resetSimStores(namespace?: SimNamespace): Promise<void>;
|
|
14
|
+
export {};
|