@stephen-netu/design-system 0.1.0 → 0.2.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 +25 -0
- package/README.md +53 -14
- package/{src → dist}/b0-app-shell/clarification-overlay/ClarificationOverlay.svelte +8 -8
- package/dist/b0-app-shell/clarification-overlay/ClarificationOverlay.svelte.d.ts +19 -0
- package/dist/b0-app-shell/clarification-overlay/ClarificationOverlay.svelte.d.ts.map +1 -0
- package/dist/b0-app-shell/clarification-overlay/index.d.ts +2 -0
- package/dist/b0-app-shell/clarification-overlay/index.d.ts.map +1 -0
- package/{src → dist}/b0-app-shell/command-bar/CommandBar.svelte +29 -29
- package/dist/b0-app-shell/command-bar/CommandBar.svelte.d.ts +35 -0
- package/dist/b0-app-shell/command-bar/CommandBar.svelte.d.ts.map +1 -0
- package/dist/b0-app-shell/index.d.ts +14 -0
- package/dist/b0-app-shell/index.d.ts.map +1 -0
- package/{src/b0-app-shell/index.ts → dist/b0-app-shell/index.js} +0 -1
- package/dist/base.css +138 -0
- package/{src → dist}/d0-data-viz/BarChart.svelte +2 -2
- package/dist/d0-data-viz/BarChart.svelte.d.ts +13 -0
- package/dist/d0-data-viz/BarChart.svelte.d.ts.map +1 -0
- package/{src → dist}/d0-data-viz/CheckpointBar.svelte +12 -12
- package/dist/d0-data-viz/CheckpointBar.svelte.d.ts +15 -0
- package/dist/d0-data-viz/CheckpointBar.svelte.d.ts.map +1 -0
- package/{src → dist}/d0-data-viz/CheckpointPill.svelte +14 -12
- package/dist/d0-data-viz/CheckpointPill.svelte.d.ts +14 -0
- package/dist/d0-data-viz/CheckpointPill.svelte.d.ts.map +1 -0
- package/dist/d0-data-viz/ConnectionHealth.svelte +366 -0
- package/dist/d0-data-viz/ConnectionHealth.svelte.d.ts +40 -0
- package/dist/d0-data-viz/ConnectionHealth.svelte.d.ts.map +1 -0
- package/{src → dist}/d0-data-viz/MetricCard.svelte +5 -5
- package/dist/d0-data-viz/MetricCard.svelte.d.ts +5 -0
- package/dist/d0-data-viz/MetricCard.svelte.d.ts.map +1 -0
- package/{src → dist}/d0-data-viz/SparkLine.svelte +1 -1
- package/dist/d0-data-viz/SparkLine.svelte.d.ts +12 -0
- package/dist/d0-data-viz/SparkLine.svelte.d.ts.map +1 -0
- package/{src → dist}/d0-data-viz/StorageMap.svelte +6 -6
- package/dist/d0-data-viz/StorageMap.svelte.d.ts +12 -0
- package/dist/d0-data-viz/StorageMap.svelte.d.ts.map +1 -0
- package/{src → dist}/d0-data-viz/Timeline.svelte +2 -2
- package/dist/d0-data-viz/Timeline.svelte.d.ts +10 -0
- package/dist/d0-data-viz/Timeline.svelte.d.ts.map +1 -0
- package/dist/d0-data-viz/WorldLineTimeline.svelte +329 -0
- package/dist/d0-data-viz/WorldLineTimeline.svelte.d.ts +11 -0
- package/dist/d0-data-viz/WorldLineTimeline.svelte.d.ts.map +1 -0
- package/dist/d0-data-viz/checkpoint-types.d.ts +104 -0
- package/dist/d0-data-viz/checkpoint-types.d.ts.map +1 -0
- package/dist/d0-data-viz/checkpoint-types.js +49 -0
- package/dist/d0-data-viz/d0-tokens.css +32 -0
- package/dist/d0-data-viz/index.d.ts +17 -0
- package/dist/d0-data-viz/index.d.ts.map +1 -0
- package/dist/d0-data-viz/index.js +18 -0
- package/dist/d0-data-viz/storage-map-types.d.ts +50 -0
- package/dist/d0-data-viz/storage-map-types.d.ts.map +1 -0
- package/dist/d0-data-viz/storage-map-types.js +81 -0
- package/dist/d0-data-viz/theme-integration.d.ts +106 -0
- package/dist/d0-data-viz/theme-integration.d.ts.map +1 -0
- package/dist/d0-data-viz/theme-integration.js +116 -0
- package/dist/d0-data-viz/types.d.ts +38 -0
- package/dist/d0-data-viz/types.d.ts.map +1 -0
- package/dist/d0-data-viz/types.js +3 -0
- package/dist/d0-data-viz/world-line-types.d.ts +27 -0
- package/dist/d0-data-viz/world-line-types.d.ts.map +1 -0
- package/dist/d0-data-viz/world-line-types.js +2 -0
- package/{src → dist}/demos/BspSizingInfographic.svelte +7 -7
- package/dist/demos/BspSizingInfographic.svelte.d.ts +19 -0
- package/dist/demos/BspSizingInfographic.svelte.d.ts.map +1 -0
- package/{src → dist}/demos/BspZoneDemo.svelte +4 -4
- package/dist/demos/BspZoneDemo.svelte.d.ts +4 -0
- package/dist/demos/BspZoneDemo.svelte.d.ts.map +1 -0
- package/dist/demos/ControlRoomDemo.svelte.d.ts +8 -0
- package/dist/demos/ControlRoomDemo.svelte.d.ts.map +1 -0
- package/{src → dist}/demos/NodepadBlocksShowcase.svelte +7 -7
- package/dist/demos/NodepadBlocksShowcase.svelte.d.ts +4 -0
- package/dist/demos/NodepadBlocksShowcase.svelte.d.ts.map +1 -0
- package/dist/demos/index.d.ts +5 -0
- package/dist/demos/index.d.ts.map +1 -0
- package/{src/demos/index.ts → dist/demos/index.js} +0 -1
- package/{src → dist}/editor/CodeEditor.svelte +15 -3
- package/dist/editor/CodeEditor.svelte.d.ts +16 -0
- package/dist/editor/CodeEditor.svelte.d.ts.map +1 -0
- package/{src → dist}/editor/FindReplaceDialog.svelte +15 -15
- package/dist/editor/FindReplaceDialog.svelte.d.ts +11 -0
- package/dist/editor/FindReplaceDialog.svelte.d.ts.map +1 -0
- package/{src → dist}/editor/MarkdownEditor.svelte +59 -44
- package/dist/editor/MarkdownEditor.svelte.d.ts +16 -0
- package/dist/editor/MarkdownEditor.svelte.d.ts.map +1 -0
- package/dist/editor/components/CorrectionTooltip.svelte +167 -0
- package/dist/editor/components/CorrectionTooltip.svelte.d.ts +33 -0
- package/dist/editor/components/CorrectionTooltip.svelte.d.ts.map +1 -0
- package/dist/editor/extensions/autocomplete.d.ts +10 -0
- package/dist/editor/extensions/autocomplete.d.ts.map +1 -0
- package/dist/editor/extensions/autocomplete.js +9 -0
- package/dist/editor/extensions/autoformat.d.ts +2 -0
- package/dist/editor/extensions/autoformat.d.ts.map +1 -0
- package/dist/editor/extensions/autoformat.js +69 -0
- package/dist/editor/extensions/autoformat.test.js +344 -0
- package/dist/editor/extensions/expansion.d.ts +5 -0
- package/dist/editor/extensions/expansion.d.ts.map +1 -0
- package/dist/editor/extensions/expansion.js +58 -0
- package/dist/editor/extensions/expansion.test.js +174 -0
- package/dist/editor/extensions/spellcheck.d.ts +7 -0
- package/dist/editor/extensions/spellcheck.d.ts.map +1 -0
- package/dist/editor/extensions/spellcheck.js +44 -0
- package/dist/editor/extensions/types.d.ts +3 -0
- package/dist/editor/extensions/types.d.ts.map +1 -0
- package/dist/editor/extensions/types.js +1 -0
- package/dist/editor/index.d.ts +9 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +6 -0
- package/{src → dist}/entity-graph-view/WorldView.svelte +3 -3
- package/dist/entity-graph-view/WorldView.svelte.d.ts +11 -0
- package/dist/entity-graph-view/WorldView.svelte.d.ts.map +1 -0
- package/dist/entity-graph-view/index.d.ts +3 -0
- package/dist/entity-graph-view/index.d.ts.map +1 -0
- package/{src/entity-graph-view/index.ts → dist/entity-graph-view/index.js} +0 -1
- package/dist/entity-graph-view/types.d.ts +161 -0
- package/dist/entity-graph-view/types.d.ts.map +1 -0
- package/dist/entity-graph-view/types.js +213 -0
- package/dist/epistemic/index.d.ts +3 -0
- package/dist/epistemic/index.d.ts.map +1 -0
- package/dist/epistemic/types.d.ts +132 -0
- package/dist/epistemic/types.d.ts.map +1 -0
- package/dist/epistemic/types.js +18 -0
- package/dist/epistemic/utils.d.ts +7 -0
- package/dist/epistemic/utils.d.ts.map +1 -0
- package/dist/epistemic/utils.js +29 -0
- package/{src → dist}/f0-forms/checkbox/Checkbox.svelte +3 -3
- package/dist/f0-forms/checkbox/Checkbox.svelte.d.ts +14 -0
- package/dist/f0-forms/checkbox/Checkbox.svelte.d.ts.map +1 -0
- package/dist/f0-forms/checkbox/Checkbox.test.js +41 -0
- package/{src → dist}/f0-forms/field/FormField.svelte +1 -1
- package/dist/f0-forms/field/FormField.svelte.d.ts +13 -0
- package/dist/f0-forms/field/FormField.svelte.d.ts.map +1 -0
- package/dist/f0-forms/field/FormField.test.js +103 -0
- package/dist/f0-forms/index.d.ts +17 -0
- package/dist/f0-forms/index.d.ts.map +1 -0
- package/{src/f0-forms/index.ts → dist/f0-forms/index.js} +0 -2
- package/{src → dist}/f0-forms/radio/RadioGroup.svelte +3 -3
- package/dist/f0-forms/radio/RadioGroup.svelte.d.ts +18 -0
- package/dist/f0-forms/radio/RadioGroup.svelte.d.ts.map +1 -0
- package/dist/f0-forms/radio/RadioGroup.test.js +54 -0
- package/{src → dist}/f0-forms/search/SearchBar.svelte +1 -1
- package/dist/f0-forms/search/SearchBar.svelte.d.ts +12 -0
- package/dist/f0-forms/search/SearchBar.svelte.d.ts.map +1 -0
- package/dist/f0-forms/search/SearchBar.test.js +46 -0
- package/{src → dist}/f0-forms/select/Select.svelte +5 -5
- package/dist/f0-forms/select/Select.svelte.d.ts +21 -0
- package/dist/f0-forms/select/Select.svelte.d.ts.map +1 -0
- package/dist/f0-forms/select/Select.test.js +51 -0
- package/{src → dist}/f0-forms/textarea/TextArea.svelte +2 -2
- package/dist/f0-forms/textarea/TextArea.svelte.d.ts +18 -0
- package/dist/f0-forms/textarea/TextArea.svelte.d.ts.map +1 -0
- package/{src → dist}/f0-forms/toggle/FormToggle.svelte +3 -3
- package/dist/f0-forms/toggle/FormToggle.svelte.d.ts +14 -0
- package/dist/f0-forms/toggle/FormToggle.svelte.d.ts.map +1 -0
- package/dist/f0-forms/toggle/FormToggle.test.js +73 -0
- package/dist/f0-forms/validation/validate.d.ts +12 -0
- package/dist/f0-forms/validation/validate.d.ts.map +1 -0
- package/dist/f0-forms/validation/validate.js +44 -0
- package/dist/f0-forms/validation/validate.test.js +87 -0
- package/{src → dist}/fabric/ai/ChatPanel.svelte +49 -49
- package/dist/fabric/ai/ChatPanel.svelte.d.ts +39 -0
- package/dist/fabric/ai/ChatPanel.svelte.d.ts.map +1 -0
- package/dist/fabric/ai/ResearchPanel.svelte +503 -0
- package/dist/fabric/ai/ResearchPanel.svelte.d.ts +44 -0
- package/dist/fabric/ai/ResearchPanel.svelte.d.ts.map +1 -0
- package/dist/fabric/ai/index.d.ts +12 -0
- package/dist/fabric/ai/index.d.ts.map +1 -0
- package/{src/fabric/ai/index.ts → dist/fabric/ai/index.js} +3 -4
- package/dist/fabric/data/index.d.ts +15 -0
- package/dist/fabric/data/index.d.ts.map +1 -0
- package/dist/fabric/data/index.js +6 -0
- package/{src → dist}/fabric/feedback/StatusBar.svelte +93 -69
- package/dist/fabric/feedback/StatusBar.svelte.d.ts +24 -0
- package/dist/fabric/feedback/StatusBar.svelte.d.ts.map +1 -0
- package/dist/fabric/feedback/StatusBar.test.js +52 -0
- package/dist/fabric/feedback/ToastContainer.svelte +153 -0
- package/dist/fabric/feedback/ToastContainer.svelte.d.ts +16 -0
- package/dist/fabric/feedback/ToastContainer.svelte.d.ts.map +1 -0
- package/dist/fabric/feedback/ToastContainer.test.js +85 -0
- package/{src/fabric/feedback/index.ts → dist/fabric/feedback/index.d.ts} +5 -4
- package/dist/fabric/feedback/index.d.ts.map +1 -0
- package/dist/fabric/feedback/index.js +10 -0
- package/{src/fabric/index.ts → dist/fabric/index.d.ts} +10 -19
- package/dist/fabric/index.d.ts.map +1 -0
- package/dist/fabric/index.js +23 -0
- package/dist/fabric/input/CommandBar.svelte +96 -0
- package/dist/fabric/input/CommandBar.svelte.d.ts +23 -0
- package/dist/fabric/input/CommandBar.svelte.d.ts.map +1 -0
- package/dist/fabric/input/CommandBar.test.js +46 -0
- package/{src → dist}/fabric/input/KeyboardShortcuts.svelte +17 -18
- package/dist/fabric/input/KeyboardShortcuts.svelte.d.ts +22 -0
- package/dist/fabric/input/KeyboardShortcuts.svelte.d.ts.map +1 -0
- package/dist/fabric/input/KeyboardShortcuts.test.js +89 -0
- package/{src/fabric/input/index.ts → dist/fabric/input/index.d.ts} +4 -3
- package/dist/fabric/input/index.d.ts.map +1 -0
- package/dist/fabric/input/index.js +10 -0
- package/dist/fabric/layout/CollapsiblePanel.svelte +378 -0
- package/dist/fabric/layout/CollapsiblePanel.svelte.d.ts +74 -0
- package/dist/fabric/layout/CollapsiblePanel.svelte.d.ts.map +1 -0
- package/dist/fabric/layout/GlassBox.svelte +206 -0
- package/dist/fabric/layout/GlassBox.svelte.d.ts +23 -0
- package/dist/fabric/layout/GlassBox.svelte.d.ts.map +1 -0
- package/{src → dist}/fabric/layout/KanbanBoard.svelte +15 -15
- package/dist/fabric/layout/KanbanBoard.svelte.d.ts +30 -0
- package/dist/fabric/layout/KanbanBoard.svelte.d.ts.map +1 -0
- package/dist/fabric/layout/KanbanBoard.test.js +25 -0
- package/{src → dist}/fabric/layout/KanbanCard.svelte +30 -30
- package/dist/fabric/layout/KanbanCard.svelte.d.ts +23 -0
- package/dist/fabric/layout/KanbanCard.svelte.d.ts.map +1 -0
- package/{src → dist}/fabric/layout/KanbanColumn.svelte +30 -30
- package/dist/fabric/layout/KanbanColumn.svelte.d.ts +26 -0
- package/dist/fabric/layout/KanbanColumn.svelte.d.ts.map +1 -0
- package/dist/fabric/layout/index.d.ts +20 -0
- package/dist/fabric/layout/index.d.ts.map +1 -0
- package/{src/fabric/layout/index.ts → dist/fabric/layout/index.js} +4 -6
- package/{src → dist}/fabric/navigation/ActivityRail.svelte +44 -31
- package/dist/fabric/navigation/ActivityRail.svelte.d.ts +34 -0
- package/dist/fabric/navigation/ActivityRail.svelte.d.ts.map +1 -0
- package/dist/fabric/navigation/ActivityRail.test.js +82 -0
- package/{src/fabric/navigation/index.ts → dist/fabric/navigation/index.d.ts} +3 -3
- package/dist/fabric/navigation/index.d.ts.map +1 -0
- package/dist/fabric/navigation/index.js +9 -0
- package/dist/g0-generative/index.d.ts +18 -0
- package/dist/g0-generative/index.d.ts.map +1 -0
- package/dist/g0-generative/index.js +15 -0
- package/dist/g0-generative/library/ComponentLibrary.d.ts +36 -0
- package/dist/g0-generative/library/ComponentLibrary.d.ts.map +1 -0
- package/dist/g0-generative/library/ComponentLibrary.js +172 -0
- package/dist/g0-generative/library/types.d.ts +30 -0
- package/dist/g0-generative/library/types.d.ts.map +1 -0
- package/dist/g0-generative/library/types.js +6 -0
- package/dist/g0-generative/parser/parseOpenUILang.d.ts +17 -0
- package/dist/g0-generative/parser/parseOpenUILang.d.ts.map +1 -0
- package/dist/g0-generative/parser/parseOpenUILang.js +319 -0
- package/dist/g0-generative/parser/types.d.ts +41 -0
- package/dist/g0-generative/parser/types.d.ts.map +1 -0
- package/dist/g0-generative/parser/types.js +12 -0
- package/dist/g0-generative/prompt-gen/generateSystemPrompt.d.ts +18 -0
- package/dist/g0-generative/prompt-gen/generateSystemPrompt.d.ts.map +1 -0
- package/dist/g0-generative/prompt-gen/generateSystemPrompt.js +28 -0
- package/dist/g0-generative/renderer/OpenUIRenderer.svelte +188 -0
- package/dist/g0-generative/renderer/OpenUIRenderer.svelte.d.ts +20 -0
- package/dist/g0-generative/renderer/OpenUIRenderer.svelte.d.ts.map +1 -0
- package/dist/g0-generative/streaming/StreamingAdapter.d.ts +36 -0
- package/dist/g0-generative/streaming/StreamingAdapter.d.ts.map +1 -0
- package/dist/g0-generative/streaming/StreamingAdapter.js +110 -0
- package/{src → dist}/g0-geo/SovereignMap.svelte +2 -2
- package/dist/g0-geo/SovereignMap.svelte.d.ts +22 -0
- package/dist/g0-geo/SovereignMap.svelte.d.ts.map +1 -0
- package/dist/g0-geo/index.d.ts +2 -0
- package/dist/g0-geo/index.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/l0-layout/SectionSplitter.svelte +83 -0
- package/dist/l0-layout/SectionSplitter.svelte.d.ts +8 -0
- package/dist/l0-layout/SectionSplitter.svelte.d.ts.map +1 -0
- package/dist/l0-layout/SnapPanel.svelte +286 -0
- package/dist/l0-layout/SnapPanel.svelte.d.ts +38 -0
- package/dist/l0-layout/SnapPanel.svelte.d.ts.map +1 -0
- package/dist/l0-layout/ValidityScoreDisplay.svelte +155 -0
- package/dist/l0-layout/ValidityScoreDisplay.svelte.d.ts +13 -0
- package/dist/l0-layout/ValidityScoreDisplay.svelte.d.ts.map +1 -0
- package/dist/l0-layout/VirtualGrid.svelte +225 -0
- package/dist/l0-layout/VirtualGrid.svelte.d.ts +47 -0
- package/dist/l0-layout/VirtualGrid.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/block-writer/BlockConnectionLines.svelte +1 -1
- package/dist/l0-layout/block-writer/BlockConnectionLines.svelte.d.ts +11 -0
- package/dist/l0-layout/block-writer/BlockConnectionLines.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/block-writer/BlockContent.svelte +6 -6
- package/dist/l0-layout/block-writer/BlockContent.svelte.d.ts +11 -0
- package/dist/l0-layout/block-writer/BlockContent.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/block-writer/BlockHeader.svelte +1 -1
- package/dist/l0-layout/block-writer/BlockHeader.svelte.d.ts +17 -0
- package/dist/l0-layout/block-writer/BlockHeader.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/block-writer/BlockItem.svelte +7 -7
- package/dist/l0-layout/block-writer/BlockItem.svelte.d.ts +22 -0
- package/dist/l0-layout/block-writer/BlockItem.svelte.d.ts.map +1 -0
- package/dist/l0-layout/block-writer/BlockWriter.svelte.d.ts +23 -0
- package/dist/l0-layout/block-writer/BlockWriter.svelte.d.ts.map +1 -0
- package/dist/l0-layout/block-writer/block-writer-types.d.ts +48 -0
- package/dist/l0-layout/block-writer/block-writer-types.d.ts.map +1 -0
- package/dist/l0-layout/block-writer/block-writer-types.js +13 -0
- package/dist/l0-layout/block-writer/index.d.ts +9 -0
- package/dist/l0-layout/block-writer/index.d.ts.map +1 -0
- package/{src/l0-layout/block-writer/index.ts → dist/l0-layout/block-writer/index.js} +0 -13
- package/dist/l0-layout/block-writer/markdown.d.ts +16 -0
- package/dist/l0-layout/block-writer/markdown.d.ts.map +1 -0
- package/dist/l0-layout/block-writer/markdown.js +96 -0
- package/dist/l0-layout/card/CompactCard.svelte +114 -0
- package/dist/l0-layout/card/CompactCard.svelte.d.ts +11 -0
- package/dist/l0-layout/card/CompactCard.svelte.d.ts.map +1 -0
- package/dist/l0-layout/chat-view/ChatViewLayout.svelte.d.ts +11 -0
- package/dist/l0-layout/chat-view/ChatViewLayout.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/AllayDetailPanel.svelte +3 -5
- package/dist/l0-layout/epistemic/AllayDetailPanel.svelte.d.ts +9 -0
- package/dist/l0-layout/epistemic/AllayDetailPanel.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/AssayDetailPanel.svelte +10 -9
- package/dist/l0-layout/epistemic/AssayDetailPanel.svelte.d.ts +11 -0
- package/dist/l0-layout/epistemic/AssayDetailPanel.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/AvenueTrace.svelte +1 -1
- package/dist/l0-layout/epistemic/AvenueTrace.svelte.d.ts +10 -0
- package/dist/l0-layout/epistemic/AvenueTrace.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/KnowledgeDetailPanel.svelte +4 -7
- package/dist/l0-layout/epistemic/KnowledgeDetailPanel.svelte.d.ts +10 -0
- package/dist/l0-layout/epistemic/KnowledgeDetailPanel.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/ParadigmLens.svelte +1 -1
- package/dist/l0-layout/epistemic/ParadigmLens.svelte.d.ts +10 -0
- package/dist/l0-layout/epistemic/ParadigmLens.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/ProvenanceChain.svelte +2 -3
- package/dist/l0-layout/epistemic/ProvenanceChain.svelte.d.ts +10 -0
- package/dist/l0-layout/epistemic/ProvenanceChain.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/epistemic/TrustView.svelte +4 -8
- package/dist/l0-layout/epistemic/TrustView.svelte.d.ts +10 -0
- package/dist/l0-layout/epistemic/TrustView.svelte.d.ts.map +1 -0
- package/dist/l0-layout/epistemic/index.d.ts +8 -0
- package/dist/l0-layout/epistemic/index.d.ts.map +1 -0
- package/dist/l0-layout/grant/GrantCard.svelte +179 -0
- package/dist/l0-layout/grant/GrantCard.svelte.d.ts +18 -0
- package/dist/l0-layout/grant/GrantCard.svelte.d.ts.map +1 -0
- package/dist/l0-layout/grant/GrantDraftEditor.svelte +413 -0
- package/dist/l0-layout/grant/GrantDraftEditor.svelte.d.ts +28 -0
- package/dist/l0-layout/grant/GrantDraftEditor.svelte.d.ts.map +1 -0
- package/dist/l0-layout/grant/index.d.ts +3 -0
- package/dist/l0-layout/grant/index.d.ts.map +1 -0
- package/dist/l0-layout/grant/index.js +2 -0
- package/dist/l0-layout/grove/AccordCard.svelte.d.ts +12 -0
- package/dist/l0-layout/grove/AccordCard.svelte.d.ts.map +1 -0
- package/dist/l0-layout/grove/GroveCard.svelte.d.ts +16 -0
- package/dist/l0-layout/grove/GroveCard.svelte.d.ts.map +1 -0
- package/dist/l0-layout/grove/MemberBadge.svelte.d.ts +12 -0
- package/dist/l0-layout/grove/MemberBadge.svelte.d.ts.map +1 -0
- package/dist/l0-layout/grove/MemberList.svelte.d.ts +10 -0
- package/dist/l0-layout/grove/MemberList.svelte.d.ts.map +1 -0
- package/dist/l0-layout/grove/grove-types.d.ts +24 -0
- package/dist/l0-layout/grove/grove-types.d.ts.map +1 -0
- package/dist/l0-layout/grove/grove-types.js +2 -0
- package/dist/l0-layout/grove/index.d.ts +6 -0
- package/dist/l0-layout/grove/index.d.ts.map +1 -0
- package/{src/l0-layout/grove/index.ts → dist/l0-layout/grove/index.js} +0 -9
- package/dist/l0-layout/index.d.ts +23 -0
- package/dist/l0-layout/index.d.ts.map +1 -0
- package/{src/l0-layout/index.ts → dist/l0-layout/index.js} +11 -30
- package/{src → dist}/l0-layout/kanban/KanbanBoard.svelte +2 -2
- package/dist/l0-layout/kanban/KanbanBoard.svelte.d.ts +9 -0
- package/dist/l0-layout/kanban/KanbanBoard.svelte.d.ts.map +1 -0
- package/dist/l0-layout/kanban/KanbanCard.svelte.d.ts +28 -0
- package/dist/l0-layout/kanban/KanbanCard.svelte.d.ts.map +1 -0
- package/{src → dist}/l0-layout/kanban/KanbanColumn.svelte +1 -1
- package/dist/l0-layout/kanban/KanbanColumn.svelte.d.ts +18 -0
- package/dist/l0-layout/kanban/KanbanColumn.svelte.d.ts.map +1 -0
- package/dist/l0-layout/kanban/KanbanViewLayout.svelte.d.ts +10 -0
- package/dist/l0-layout/kanban/KanbanViewLayout.svelte.d.ts.map +1 -0
- package/dist/l0-layout/workspace/WorkspaceLayout.svelte.d.ts +12 -0
- package/dist/l0-layout/workspace/WorkspaceLayout.svelte.d.ts.map +1 -0
- package/dist/map/index.d.ts +3 -0
- package/dist/map/index.d.ts.map +1 -0
- package/dist/map/index.js +4 -0
- package/dist/n0-node-graph/GraphEditor.svelte.d.ts +16 -0
- package/dist/n0-node-graph/GraphEditor.svelte.d.ts.map +1 -0
- package/dist/n0-node-graph/GraphHistory.svelte.d.ts +22 -0
- package/dist/n0-node-graph/GraphHistory.svelte.d.ts.map +1 -0
- package/{src → dist}/n0-node-graph/Node.svelte +3 -3
- package/dist/n0-node-graph/Node.svelte.d.ts +20 -0
- package/dist/n0-node-graph/Node.svelte.d.ts.map +1 -0
- package/dist/n0-node-graph/NodeCanvas.svelte.d.ts +12 -0
- package/dist/n0-node-graph/NodeCanvas.svelte.d.ts.map +1 -0
- package/dist/n0-node-graph/NodeEdge.svelte.d.ts +20 -0
- package/dist/n0-node-graph/NodeEdge.svelte.d.ts.map +1 -0
- package/{src → dist}/n0-node-graph/NodePalette.svelte +5 -5
- package/dist/n0-node-graph/NodePalette.svelte.d.ts +9 -0
- package/dist/n0-node-graph/NodePalette.svelte.d.ts.map +1 -0
- package/dist/n0-node-graph/NodePort.svelte.d.ts +18 -0
- package/dist/n0-node-graph/NodePort.svelte.d.ts.map +1 -0
- package/{src/n0-node-graph/index.ts → dist/n0-node-graph/index.d.ts} +2 -24
- package/dist/n0-node-graph/index.d.ts.map +1 -0
- package/dist/n0-node-graph/index.js +11 -0
- package/dist/n0-node-graph/n0-tokens.css +29 -0
- package/dist/n0-node-graph/node-port-types.d.ts +18 -0
- package/dist/n0-node-graph/node-port-types.d.ts.map +1 -0
- package/dist/n0-node-graph/node-port-types.js +3 -0
- package/dist/n0-node-graph/types.d.ts +61 -0
- package/dist/n0-node-graph/types.d.ts.map +1 -0
- package/dist/n0-node-graph/types.js +3 -0
- package/dist/n0-node-graph/validate.d.ts +11 -0
- package/dist/n0-node-graph/validate.d.ts.map +1 -0
- package/dist/n0-node-graph/validate.js +270 -0
- package/dist/n0-node-graph/validate.test.js +646 -0
- package/{src → dist}/n1-flow-canvas/FlowCanvas.svelte +4 -12
- package/dist/n1-flow-canvas/FlowCanvas.svelte.d.ts +11 -0
- package/dist/n1-flow-canvas/FlowCanvas.svelte.d.ts.map +1 -0
- package/dist/n1-flow-canvas/graph-state.svelte.d.ts +18 -0
- package/dist/n1-flow-canvas/graph-state.svelte.d.ts.map +1 -0
- package/dist/n1-flow-canvas/graph-state.svelte.js +81 -0
- package/dist/n1-flow-canvas/index.d.ts +6 -0
- package/dist/n1-flow-canvas/index.d.ts.map +1 -0
- package/{src/n1-flow-canvas/index.ts → dist/n1-flow-canvas/index.js} +0 -15
- package/dist/n1-flow-canvas/layout.d.ts +4 -0
- package/dist/n1-flow-canvas/layout.d.ts.map +1 -0
- package/dist/n1-flow-canvas/layout.js +95 -0
- package/dist/n1-flow-canvas/layout.worker.d.ts +2 -0
- package/dist/n1-flow-canvas/layout.worker.d.ts.map +1 -0
- package/dist/n1-flow-canvas/layout.worker.js +106 -0
- package/dist/n1-flow-canvas/types.d.ts +65 -0
- package/dist/n1-flow-canvas/types.d.ts.map +1 -0
- package/dist/n1-flow-canvas/types.js +6 -0
- package/dist/n1-flow-canvas/utils.d.ts +50 -0
- package/dist/n1-flow-canvas/utils.d.ts.map +1 -0
- package/dist/n1-flow-canvas/utils.js +113 -0
- package/dist/n2-manifold-disk/ManifoldDisk.svelte.d.ts +21 -0
- package/dist/n2-manifold-disk/ManifoldDisk.svelte.d.ts.map +1 -0
- package/dist/n2-manifold-disk/index.d.ts +4 -0
- package/dist/n2-manifold-disk/index.d.ts.map +1 -0
- package/{src/n2-manifold-disk/index.ts → dist/n2-manifold-disk/index.js} +0 -2
- package/dist/n2-manifold-disk/poincare.d.ts +67 -0
- package/dist/n2-manifold-disk/poincare.d.ts.map +1 -0
- package/dist/n2-manifold-disk/poincare.js +134 -0
- package/{src → dist}/n3-force-graph/ForceGraph.svelte +19 -18
- package/dist/n3-force-graph/ForceGraph.svelte.d.ts +36 -0
- package/dist/n3-force-graph/ForceGraph.svelte.d.ts.map +1 -0
- package/dist/n3-force-graph/GraphTooltip.svelte.d.ts +19 -0
- package/dist/n3-force-graph/GraphTooltip.svelte.d.ts.map +1 -0
- package/dist/n3-force-graph/animated-edge.d.ts +18 -0
- package/dist/n3-force-graph/animated-edge.d.ts.map +1 -0
- package/dist/n3-force-graph/animated-edge.js +87 -0
- package/dist/n3-force-graph/health-node.d.ts +20 -0
- package/dist/n3-force-graph/health-node.d.ts.map +1 -0
- package/dist/n3-force-graph/health-node.js +110 -0
- package/dist/n3-force-graph/index.d.ts +7 -0
- package/dist/n3-force-graph/index.d.ts.map +1 -0
- package/{src/n3-force-graph/index.ts → dist/n3-force-graph/index.js} +1 -19
- package/dist/n3-force-graph/types.d.ts +60 -0
- package/dist/n3-force-graph/types.d.ts.map +1 -0
- package/dist/n3-force-graph/types.js +22 -0
- package/{src → dist}/n4-adaptive-manifold/AdaptiveManifold.svelte +1 -1
- package/dist/n4-adaptive-manifold/AdaptiveManifold.svelte.d.ts +24 -0
- package/dist/n4-adaptive-manifold/AdaptiveManifold.svelte.d.ts.map +1 -0
- package/{src → dist}/n4-adaptive-manifold/DetailCard.svelte +9 -9
- package/dist/n4-adaptive-manifold/DetailCard.svelte.d.ts +10 -0
- package/dist/n4-adaptive-manifold/DetailCard.svelte.d.ts.map +1 -0
- package/{src → dist}/n4-adaptive-manifold/SuggestionIndicator.svelte +8 -8
- package/dist/n4-adaptive-manifold/SuggestionIndicator.svelte.d.ts +11 -0
- package/dist/n4-adaptive-manifold/SuggestionIndicator.svelte.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/classifier.d.ts +6 -0
- package/dist/n4-adaptive-manifold/classifier.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/classifier.js +123 -0
- package/dist/n4-adaptive-manifold/index.d.ts +12 -0
- package/dist/n4-adaptive-manifold/index.d.ts.map +1 -0
- package/{src/n4-adaptive-manifold/index.ts → dist/n4-adaptive-manifold/index.js} +0 -33
- package/dist/n4-adaptive-manifold/n4-tokens.css +155 -0
- package/dist/n4-adaptive-manifold/orchestrator.d.ts +61 -0
- package/dist/n4-adaptive-manifold/orchestrator.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/orchestrator.js +231 -0
- package/dist/n4-adaptive-manifold/phase-theme.d.ts +9 -0
- package/dist/n4-adaptive-manifold/phase-theme.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/phase-theme.js +82 -0
- package/dist/n4-adaptive-manifold/pinnacle-events.d.ts +34 -0
- package/dist/n4-adaptive-manifold/pinnacle-events.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/pinnacle-events.js +108 -0
- package/dist/n4-adaptive-manifold/providers/gravitational-provider.d.ts +16 -0
- package/dist/n4-adaptive-manifold/providers/gravitational-provider.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/providers/gravitational-provider.js +162 -0
- package/dist/n4-adaptive-manifold/providers/manifold-provider.d.ts +7 -0
- package/dist/n4-adaptive-manifold/providers/manifold-provider.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/providers/manifold-provider.js +222 -0
- package/dist/n4-adaptive-manifold/transition.d.ts +19 -0
- package/dist/n4-adaptive-manifold/transition.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/transition.js +71 -0
- package/dist/n4-adaptive-manifold/types.d.ts +233 -0
- package/dist/n4-adaptive-manifold/types.d.ts.map +1 -0
- package/dist/n4-adaptive-manifold/types.js +17 -0
- package/dist/p0-primitives/ThemeProvider.svelte +183 -0
- package/dist/p0-primitives/ThemeProvider.svelte.d.ts +69 -0
- package/dist/p0-primitives/ThemeProvider.svelte.d.ts.map +1 -0
- package/dist/p0-primitives/canvas-theme.d.ts +17 -0
- package/dist/p0-primitives/canvas-theme.d.ts.map +1 -0
- package/dist/p0-primitives/canvas-theme.js +36 -0
- package/dist/p0-primitives/index.d.ts +8 -0
- package/dist/p0-primitives/index.d.ts.map +1 -0
- package/{src/p0-primitives/index.ts → dist/p0-primitives/index.js} +4 -1
- package/dist/p0-primitives/theme.d.ts +38 -0
- package/dist/p0-primitives/theme.d.ts.map +1 -0
- package/dist/p0-primitives/theme.js +150 -0
- package/dist/p0-primitives/tokens/contrast-audit.d.ts +42 -0
- package/dist/p0-primitives/tokens/contrast-audit.d.ts.map +1 -0
- package/dist/p0-primitives/tokens/contrast-audit.js +331 -0
- package/dist/p0-primitives/tokens/contrast-audit.test.js +84 -0
- package/dist/p0-primitives/tokens/control-room.css +309 -0
- package/dist/p0-primitives/tokens/index.d.ts +2 -0
- package/dist/p0-primitives/tokens/index.d.ts.map +1 -0
- package/dist/p0-primitives/tokens/index.js +2 -0
- package/dist/p0-primitives/tokens/tokens.css +247 -0
- package/dist/p0-primitives/tokens/validity-tokens.css +83 -0
- package/dist/p0-primitives/types/geometry.d.ts +18 -0
- package/dist/p0-primitives/types/geometry.d.ts.map +1 -0
- package/dist/p0-primitives/types/geometry.js +4 -0
- package/dist/p0-primitives/types/index.d.ts +113 -0
- package/dist/p0-primitives/types/index.d.ts.map +1 -0
- package/dist/p0-primitives/types/index.js +5 -0
- package/dist/p0-primitives/types/plugin-types.d.ts +46 -0
- package/dist/p0-primitives/types/plugin-types.d.ts.map +1 -0
- package/dist/p0-primitives/types/plugin-types.js +7 -0
- package/dist/p0-primitives/utils/index.d.ts +13 -0
- package/dist/p0-primitives/utils/index.d.ts.map +1 -0
- package/dist/p0-primitives/utils/index.js +30 -0
- package/dist/platform/hud-protocol.d.ts +14 -0
- package/dist/platform/hud-protocol.d.ts.map +1 -0
- package/dist/platform/hud-protocol.js +6 -0
- package/dist/platform/index.d.ts +2 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/{src/platform/index.ts → dist/platform/index.js} +1 -2
- package/dist/s0-lifecycle/CanvasRenderContext.d.ts +20 -0
- package/dist/s0-lifecycle/CanvasRenderContext.d.ts.map +1 -0
- package/dist/s0-lifecycle/CanvasRenderContext.js +90 -0
- package/dist/s0-lifecycle/ConstraintContext.d.ts +27 -0
- package/dist/s0-lifecycle/ConstraintContext.d.ts.map +1 -0
- package/dist/s0-lifecycle/ConstraintContext.js +3 -0
- package/dist/s0-lifecycle/InteractionContext.d.ts +38 -0
- package/dist/s0-lifecycle/InteractionContext.d.ts.map +1 -0
- package/dist/s0-lifecycle/InteractionContext.js +3 -0
- package/dist/s0-lifecycle/LayoutContext.d.ts +19 -0
- package/dist/s0-lifecycle/LayoutContext.d.ts.map +1 -0
- package/dist/s0-lifecycle/LayoutContext.js +3 -0
- package/dist/s0-lifecycle/Lifecycle.d.ts +60 -0
- package/dist/s0-lifecycle/Lifecycle.d.ts.map +1 -0
- package/dist/s0-lifecycle/Lifecycle.js +38 -0
- package/dist/s0-lifecycle/RenderContext.d.ts +48 -0
- package/dist/s0-lifecycle/RenderContext.d.ts.map +1 -0
- package/dist/s0-lifecycle/RenderContext.js +3 -0
- package/dist/s0-lifecycle/Scene.d.ts +61 -0
- package/dist/s0-lifecycle/Scene.d.ts.map +1 -0
- package/dist/s0-lifecycle/Scene.js +58 -0
- package/dist/s0-lifecycle/index.d.ts +8 -0
- package/dist/s0-lifecycle/index.d.ts.map +1 -0
- package/dist/s0-lifecycle/index.js +19 -0
- package/dist/s0-state/SyncStatus.svelte +275 -0
- package/dist/s0-state/SyncStatus.svelte.d.ts +33 -0
- package/dist/s0-state/SyncStatus.svelte.d.ts.map +1 -0
- package/dist/s0-state/ThemeStore.svelte.d.ts +12 -0
- package/dist/s0-state/ThemeStore.svelte.d.ts.map +1 -0
- package/dist/s0-state/ThemeStore.svelte.js +61 -0
- package/dist/s0-state/ThemeStore.test.js +68 -0
- package/dist/s0-state/create-store.d.ts +23 -0
- package/dist/s0-state/create-store.d.ts.map +1 -0
- package/dist/s0-state/create-store.js +58 -0
- package/dist/s0-state/derived.d.ts +13 -0
- package/dist/s0-state/derived.d.ts.map +1 -0
- package/dist/s0-state/derived.js +25 -0
- package/dist/s0-state/index.d.ts +10 -0
- package/dist/s0-state/index.d.ts.map +1 -0
- package/dist/s0-state/index.js +7 -0
- package/dist/s0-state/modal-stack-store.svelte.d.ts +43 -0
- package/dist/s0-state/modal-stack-store.svelte.d.ts.map +1 -0
- package/dist/s0-state/modal-stack-store.svelte.js +63 -0
- package/dist/s0-state/virtual.d.ts +154 -0
- package/dist/s0-state/virtual.d.ts.map +1 -0
- package/dist/s0-state/virtual.js +207 -0
- package/{src → dist}/showcase/Showcase.svelte +1 -1
- package/dist/showcase/Showcase.svelte.d.ts +4 -0
- package/dist/showcase/Showcase.svelte.d.ts.map +1 -0
- package/dist/spatial/BspTilingCanvas.svelte +194 -0
- package/dist/spatial/BspTilingCanvas.svelte.d.ts +11 -0
- package/dist/spatial/BspTilingCanvas.svelte.d.ts.map +1 -0
- package/dist/spatial/BspTilingSimulation.svelte.d.ts +43 -0
- package/dist/spatial/BspTilingSimulation.svelte.d.ts.map +1 -0
- package/dist/spatial/BspTilingSimulation.svelte.js +183 -0
- package/dist/spatial/CameraController.svelte.d.ts +39 -0
- package/dist/spatial/CameraController.svelte.d.ts.map +1 -0
- package/dist/spatial/CameraController.svelte.js +174 -0
- package/dist/spatial/ForceCanvas.svelte +149 -0
- package/dist/spatial/ForceCanvas.svelte.d.ts +15 -0
- package/dist/spatial/ForceCanvas.svelte.d.ts.map +1 -0
- package/dist/spatial/ForceSimulation.svelte.d.ts +23 -0
- package/dist/spatial/ForceSimulation.svelte.d.ts.map +1 -0
- package/dist/spatial/ForceSimulation.svelte.js +131 -0
- package/{src → dist}/spatial/LodRenderer.svelte +1 -1
- package/dist/spatial/LodRenderer.svelte.d.ts +34 -0
- package/dist/spatial/LodRenderer.svelte.d.ts.map +1 -0
- package/dist/spatial/SnapZoomCamera.svelte +185 -0
- package/dist/spatial/SnapZoomCamera.svelte.d.ts +13 -0
- package/dist/spatial/SnapZoomCamera.svelte.d.ts.map +1 -0
- package/{src → dist}/spatial/ZoneTiler.svelte +24 -7
- package/dist/spatial/ZoneTiler.svelte.d.ts +26 -0
- package/dist/spatial/ZoneTiler.svelte.d.ts.map +1 -0
- package/dist/spatial/camera-types.d.ts +34 -0
- package/dist/spatial/camera-types.d.ts.map +1 -0
- package/dist/spatial/camera-types.js +10 -0
- package/dist/spatial/content-proportional-bsp.d.ts +46 -0
- package/dist/spatial/content-proportional-bsp.d.ts.map +1 -0
- package/dist/spatial/content-proportional-bsp.js +166 -0
- package/dist/spatial/force-canvas-types.d.ts +65 -0
- package/dist/spatial/force-canvas-types.d.ts.map +1 -0
- package/dist/spatial/force-canvas-types.js +32 -0
- package/dist/spatial/index.d.ts +9 -0
- package/dist/spatial/index.d.ts.map +1 -0
- package/{src/spatial/index.ts → dist/spatial/index.js} +4 -2
- package/dist/spatial/lod-types.d.ts +39 -0
- package/dist/spatial/lod-types.d.ts.map +1 -0
- package/dist/spatial/lod-types.js +34 -0
- package/dist/spatial/zone-tiler-types.d.ts +70 -0
- package/dist/spatial/zone-tiler-types.d.ts.map +1 -0
- package/dist/spatial/zone-tiler-types.js +92 -0
- package/dist/stores/vaultStore.svelte.d.ts +24 -0
- package/dist/stores/vaultStore.svelte.d.ts.map +1 -0
- package/dist/t0-transport/connection.d.ts +11 -0
- package/dist/t0-transport/connection.d.ts.map +1 -0
- package/dist/t0-transport/connection.js +22 -0
- package/dist/t0-transport/error.d.ts +13 -0
- package/dist/t0-transport/error.d.ts.map +1 -0
- package/dist/t0-transport/error.js +31 -0
- package/dist/t0-transport/events.d.ts +13 -0
- package/dist/t0-transport/events.d.ts.map +1 -0
- package/dist/t0-transport/events.js +37 -0
- package/dist/t0-transport/index.d.ts +6 -0
- package/dist/t0-transport/index.d.ts.map +1 -0
- package/dist/t0-transport/index.js +7 -0
- package/dist/t0-transport/invoke.d.ts +25 -0
- package/dist/t0-transport/invoke.d.ts.map +1 -0
- package/dist/t0-transport/invoke.js +47 -0
- package/dist/t0-transport/quality.d.ts +39 -0
- package/dist/t0-transport/quality.d.ts.map +1 -0
- package/dist/t0-transport/quality.js +238 -0
- package/dist/tauri/index.d.ts +3 -0
- package/dist/tauri/index.d.ts.map +1 -0
- package/{src/tauri/index.ts → dist/tauri/index.js} +2 -4
- package/dist/types/tauri.d.ts +18 -0
- package/dist/u0-primitives/AccordionSection.svelte +186 -0
- package/dist/u0-primitives/AccordionSection.svelte.d.ts +28 -0
- package/dist/u0-primitives/AccordionSection.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/LockIndicator.svelte +244 -0
- package/dist/u0-primitives/LockIndicator.svelte.d.ts +31 -0
- package/dist/u0-primitives/LockIndicator.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/VerticalToolbar.svelte +208 -0
- package/dist/u0-primitives/VerticalToolbar.svelte.d.ts +32 -0
- package/dist/u0-primitives/VerticalToolbar.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/accordion/Accordion.svelte +185 -0
- package/dist/u0-primitives/accordion/Accordion.svelte.d.ts +34 -0
- package/dist/u0-primitives/accordion/Accordion.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/accordion/Accordion.test.js +99 -0
- package/dist/u0-primitives/accordion/index.d.ts +3 -0
- package/dist/u0-primitives/accordion/index.d.ts.map +1 -0
- package/dist/u0-primitives/accordion/index.js +1 -0
- package/dist/u0-primitives/allay-gauge/AllayGauge.svelte +58 -0
- package/dist/u0-primitives/allay-gauge/AllayGauge.svelte.d.ts +10 -0
- package/dist/u0-primitives/allay-gauge/AllayGauge.svelte.d.ts.map +1 -0
- package/{src → dist}/u0-primitives/animated-icon/AnimatedIcon.svelte +7 -7
- package/dist/u0-primitives/animated-icon/AnimatedIcon.svelte.d.ts +22 -0
- package/dist/u0-primitives/animated-icon/AnimatedIcon.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/animated-icon/README.md +70 -0
- package/dist/u0-primitives/animated-icon/index.d.ts +9 -0
- package/dist/u0-primitives/animated-icon/index.d.ts.map +1 -0
- package/dist/u0-primitives/animated-icon/index.js +9 -0
- package/{src → dist}/u0-primitives/avatar/Avatar.svelte +3 -3
- package/dist/u0-primitives/avatar/Avatar.svelte.d.ts +11 -0
- package/dist/u0-primitives/avatar/Avatar.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/avatar/index.d.ts +3 -0
- package/dist/u0-primitives/avatar/index.d.ts.map +1 -0
- package/dist/u0-primitives/avatar/index.js +1 -0
- package/{src → dist}/u0-primitives/badge/Badge.svelte +11 -11
- package/dist/u0-primitives/badge/Badge.svelte.d.ts +12 -0
- package/dist/u0-primitives/badge/Badge.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/badge/Badge.test.js +50 -0
- package/dist/u0-primitives/badge/ValidityBadge.svelte +153 -0
- package/dist/u0-primitives/badge/ValidityBadge.svelte.d.ts +13 -0
- package/dist/u0-primitives/badge/ValidityBadge.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/badge/ValidityBadge.test.js +57 -0
- package/dist/u0-primitives/badge/index.d.ts +3 -0
- package/dist/u0-primitives/badge/index.d.ts.map +1 -0
- package/dist/u0-primitives/badge/index.js +1 -0
- package/dist/u0-primitives/badge/validity-utils.d.ts +8 -0
- package/dist/u0-primitives/badge/validity-utils.d.ts.map +1 -0
- package/dist/u0-primitives/badge/validity-utils.js +18 -0
- package/{src → dist}/u0-primitives/button/Button.svelte +42 -104
- package/dist/u0-primitives/button/Button.svelte.d.ts +18 -0
- package/dist/u0-primitives/button/Button.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/button/Button.test.js +58 -0
- package/dist/u0-primitives/button/index.d.ts +3 -0
- package/dist/u0-primitives/button/index.d.ts.map +1 -0
- package/dist/u0-primitives/button/index.js +1 -0
- package/{src → dist}/u0-primitives/card/Card.svelte +71 -48
- package/dist/u0-primitives/card/Card.svelte.d.ts +18 -0
- package/dist/u0-primitives/card/Card.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/card/index.d.ts +3 -0
- package/dist/u0-primitives/card/index.d.ts.map +1 -0
- package/dist/u0-primitives/card/index.js +1 -0
- package/dist/u0-primitives/command-palette/CommandPalette.svelte +542 -0
- package/dist/u0-primitives/command-palette/CommandPalette.svelte.d.ts +25 -0
- package/dist/u0-primitives/command-palette/CommandPalette.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/command-palette/command-types.d.ts +109 -0
- package/dist/u0-primitives/command-palette/command-types.d.ts.map +1 -0
- package/dist/u0-primitives/command-palette/command-types.js +7 -0
- package/dist/u0-primitives/command-palette/commandStore.svelte.d.ts +100 -0
- package/dist/u0-primitives/command-palette/commandStore.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/command-palette/commandStore.svelte.js +278 -0
- package/dist/u0-primitives/command-palette/index.d.ts +16 -0
- package/dist/u0-primitives/command-palette/index.d.ts.map +1 -0
- package/dist/u0-primitives/command-palette/index.js +14 -0
- package/{src → dist}/u0-primitives/dropdown/Dropdown.svelte +7 -4
- package/dist/u0-primitives/dropdown/Dropdown.svelte.d.ts +21 -0
- package/dist/u0-primitives/dropdown/Dropdown.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/dropdown/Dropdown.test.js +108 -0
- package/dist/u0-primitives/dropdown/index.d.ts +3 -0
- package/dist/u0-primitives/dropdown/index.d.ts.map +1 -0
- package/dist/u0-primitives/dropdown/index.js +1 -0
- package/dist/u0-primitives/grant-badge/GrantStatusBadge.svelte +80 -0
- package/dist/u0-primitives/grant-badge/GrantStatusBadge.svelte.d.ts +9 -0
- package/dist/u0-primitives/grant-badge/GrantStatusBadge.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/grant-badge/index.d.ts +2 -0
- package/dist/u0-primitives/grant-badge/index.d.ts.map +1 -0
- package/dist/u0-primitives/grant-badge/index.js +1 -0
- package/dist/u0-primitives/index.d.ts +27 -0
- package/dist/u0-primitives/index.d.ts.map +1 -0
- package/{src/u0-primitives/index.ts → dist/u0-primitives/index.js} +12 -22
- package/dist/u0-primitives/input/Input.svelte +410 -0
- package/dist/u0-primitives/input/Input.svelte.d.ts +32 -0
- package/dist/u0-primitives/input/Input.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/input/Input.test.js +64 -0
- package/dist/u0-primitives/input/index.d.ts +3 -0
- package/dist/u0-primitives/input/index.d.ts.map +1 -0
- package/dist/u0-primitives/input/index.js +1 -0
- package/{src → dist}/u0-primitives/modal/Modal.svelte +1 -1
- package/dist/u0-primitives/modal/Modal.svelte.d.ts +31 -0
- package/dist/u0-primitives/modal/Modal.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/modal/Modal.test.js +94 -0
- package/dist/u0-primitives/modal/index.d.ts +3 -0
- package/dist/u0-primitives/modal/index.d.ts.map +1 -0
- package/dist/u0-primitives/rsvp/RsvpReader.svelte +256 -0
- package/dist/u0-primitives/rsvp/RsvpReader.svelte.d.ts +13 -0
- package/dist/u0-primitives/rsvp/RsvpReader.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/rsvp/rsvp-utils.d.ts +46 -0
- package/dist/u0-primitives/rsvp/rsvp-utils.d.ts.map +1 -0
- package/dist/u0-primitives/rsvp/rsvp-utils.js +92 -0
- package/{src → dist}/u0-primitives/spinner/Spinner.svelte +3 -3
- package/dist/u0-primitives/spinner/Spinner.svelte.d.ts +9 -0
- package/dist/u0-primitives/spinner/Spinner.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/spinner/Spinner.test.js +58 -0
- package/dist/u0-primitives/spinner/index.d.ts +3 -0
- package/dist/u0-primitives/spinner/index.d.ts.map +1 -0
- package/dist/u0-primitives/spinner/index.js +1 -0
- package/dist/u0-primitives/steps/Steps.svelte +186 -0
- package/dist/u0-primitives/steps/Steps.svelte.d.ts +18 -0
- package/dist/u0-primitives/steps/Steps.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/steps/index.d.ts +3 -0
- package/dist/u0-primitives/steps/index.d.ts.map +1 -0
- package/dist/u0-primitives/steps/index.js +1 -0
- package/{src → dist}/u0-primitives/tabs/Tabs.svelte +2 -2
- package/dist/u0-primitives/tabs/Tabs.svelte.d.ts +14 -0
- package/dist/u0-primitives/tabs/Tabs.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/tabs/Tabs.test.js +81 -0
- package/dist/u0-primitives/tabs/index.d.ts +3 -0
- package/dist/u0-primitives/tabs/index.d.ts.map +1 -0
- package/dist/u0-primitives/tabs/index.js +1 -0
- package/dist/u0-primitives/tabs/tabs-types.d.ts +8 -0
- package/dist/u0-primitives/tabs/tabs-types.d.ts.map +1 -0
- package/dist/u0-primitives/tabs/tabs-types.js +3 -0
- package/{src → dist}/u0-primitives/toggle/Toggle.svelte +8 -10
- package/dist/u0-primitives/toggle/Toggle.svelte.d.ts +13 -0
- package/dist/u0-primitives/toggle/Toggle.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/toggle/Toggle.test.js +46 -0
- package/dist/u0-primitives/toggle/index.d.ts +3 -0
- package/dist/u0-primitives/toggle/index.d.ts.map +1 -0
- package/dist/u0-primitives/toggle/index.js +1 -0
- package/{src → dist}/u0-primitives/tooltip/Tooltip.svelte +1 -1
- package/dist/u0-primitives/tooltip/Tooltip.svelte.d.ts +12 -0
- package/dist/u0-primitives/tooltip/Tooltip.svelte.d.ts.map +1 -0
- package/dist/u0-primitives/tooltip/Tooltip.test.js +150 -0
- package/dist/u0-primitives/tooltip/index.d.ts +3 -0
- package/dist/u0-primitives/tooltip/index.d.ts.map +1 -0
- package/dist/u0-primitives/tooltip/index.js +1 -0
- package/dist/u0-primitives/web-components/button-component.d.ts +13 -0
- package/dist/u0-primitives/web-components/button-component.d.ts.map +1 -0
- package/dist/u0-primitives/web-components/button-component.js +87 -0
- package/dist/u0-primitives/web-components/input-component.d.ts +13 -0
- package/dist/u0-primitives/web-components/input-component.d.ts.map +1 -0
- package/dist/u0-primitives/web-components/input-component.js +91 -0
- package/{src → dist}/v0-diagrams/DiagramPanel.svelte +1 -1
- package/dist/v0-diagrams/DiagramPanel.svelte.d.ts +10 -0
- package/dist/v0-diagrams/DiagramPanel.svelte.d.ts.map +1 -0
- package/dist/v0-diagrams/MarkmapDiagram.svelte.d.ts +9 -0
- package/dist/v0-diagrams/MarkmapDiagram.svelte.d.ts.map +1 -0
- package/dist/v0-diagrams/MermaidDiagram.svelte.d.ts +9 -0
- package/dist/v0-diagrams/MermaidDiagram.svelte.d.ts.map +1 -0
- package/{src/v0-diagrams/index.ts → dist/v0-diagrams/index.d.ts} +1 -0
- package/dist/v0-diagrams/index.d.ts.map +1 -0
- package/dist/v0-diagrams/index.js +3 -0
- package/dist/v0-diagrams/types.d.ts +25 -0
- package/dist/v0-diagrams/types.d.ts.map +1 -0
- package/dist/v0-diagrams/types.js +1 -0
- package/dist/v0-diagrams/v0-tokens.css +6 -0
- package/{src → dist}/x0-enchanted-blocks/components/EnchantedBlock.svelte +15 -15
- package/dist/x0-enchanted-blocks/components/EnchantedBlock.svelte.d.ts +28 -0
- package/dist/x0-enchanted-blocks/components/EnchantedBlock.svelte.d.ts.map +1 -0
- package/{src → dist}/x0-enchanted-blocks/components/NodepadBlock.svelte +13 -13
- package/dist/x0-enchanted-blocks/components/NodepadBlock.svelte.d.ts +11 -0
- package/dist/x0-enchanted-blocks/components/NodepadBlock.svelte.d.ts.map +1 -0
- package/dist/x0-enchanted-blocks/core/block-layout.d.ts +79 -0
- package/dist/x0-enchanted-blocks/core/block-layout.d.ts.map +1 -0
- package/dist/x0-enchanted-blocks/core/block-layout.js +135 -0
- package/dist/x0-enchanted-blocks/core/block-types.d.ts +56 -0
- package/dist/x0-enchanted-blocks/core/block-types.d.ts.map +1 -0
- package/dist/x0-enchanted-blocks/core/block-types.js +151 -0
- package/dist/x0-enchanted-blocks/index.d.ts +7 -0
- package/dist/x0-enchanted-blocks/index.d.ts.map +1 -0
- package/dist/x0-enchanted-blocks/index.js +13 -0
- package/package.json +128 -68
- package/src/base.css +48 -62
- package/src/d0-data-viz/d0-tokens.css +5 -5
- package/src/n0-node-graph/n0-tokens.css +4 -4
- package/src/n4-adaptive-manifold/n4-tokens.css +7 -7
- package/src/p0-primitives/tokens/control-room.css +6 -6
- package/src/p0-primitives/tokens/tokens.css +194 -87
- package/src/p0-primitives/tokens/tokens.json +114 -28
- package/src/p0-primitives/tokens/validity-tokens.css +83 -0
- package/src/u0-primitives/animated-icon/README.md +20 -3
- package/src/d0-data-viz/checkpoint-types.ts +0 -162
- package/src/d0-data-viz/index.ts +0 -58
- package/src/d0-data-viz/storage-map-types.ts +0 -142
- package/src/d0-data-viz/theme-integration.ts +0 -134
- package/src/d0-data-viz/types.ts +0 -53
- package/src/editor/index.ts +0 -2
- package/src/entity-graph-view/types.ts +0 -364
- package/src/epistemic/types.ts +0 -134
- package/src/epistemic/utils.ts +0 -32
- package/src/f0-forms/validation/validate.ts +0 -47
- package/src/fabric/data/index.ts +0 -21
- package/src/fabric/feedback/ToastContainer.svelte +0 -122
- package/src/fabric/input/CommandBar.svelte +0 -79
- package/src/fabric/layout/GlassBox.svelte +0 -193
- package/src/index.ts +0 -68
- package/src/l0-layout/block-writer/block-writer-types.ts +0 -63
- package/src/l0-layout/block-writer/markdown.ts +0 -110
- package/src/l0-layout/grove/grove-types.ts +0 -29
- package/src/n0-node-graph/node-port-types.ts +0 -19
- package/src/n0-node-graph/types.ts +0 -96
- package/src/n0-node-graph/validate.test.ts +0 -722
- package/src/n0-node-graph/validate.ts +0 -371
- package/src/n1-flow-canvas/graph-state.svelte.ts +0 -95
- package/src/n1-flow-canvas/layout.ts +0 -118
- package/src/n1-flow-canvas/layout.worker.ts +0 -128
- package/src/n1-flow-canvas/types.ts +0 -102
- package/src/n1-flow-canvas/utils.ts +0 -146
- package/src/n2-manifold-disk/poincare.ts +0 -184
- package/src/n3-force-graph/animated-edge.ts +0 -107
- package/src/n3-force-graph/health-node.ts +0 -128
- package/src/n3-force-graph/types.ts +0 -94
- package/src/n4-adaptive-manifold/classifier.ts +0 -139
- package/src/n4-adaptive-manifold/orchestrator.ts +0 -301
- package/src/n4-adaptive-manifold/phase-theme.ts +0 -92
- package/src/n4-adaptive-manifold/pinnacle-events.ts +0 -135
- package/src/n4-adaptive-manifold/providers/gravitational-provider.ts +0 -191
- package/src/n4-adaptive-manifold/providers/manifold-provider.ts +0 -276
- package/src/n4-adaptive-manifold/transition.ts +0 -90
- package/src/n4-adaptive-manifold/types.ts +0 -313
- package/src/p0-primitives/tokens/index.ts +0 -6
- package/src/p0-primitives/types/index.ts +0 -123
- package/src/p0-primitives/types/plugin-types.ts +0 -74
- package/src/p0-primitives/utils/index.ts +0 -39
- package/src/platform/hud-protocol.ts +0 -20
- package/src/s0-state/create-store.ts +0 -84
- package/src/s0-state/derived.ts +0 -41
- package/src/s0-state/index.ts +0 -6
- package/src/spatial/BspTilingCanvas.svelte +0 -232
- package/src/spatial/ForceCanvas.svelte +0 -289
- package/src/spatial/SnapZoomCamera.svelte +0 -185
- package/src/spatial/camera-types.ts +0 -45
- package/src/spatial/content-proportional-bsp.ts +0 -253
- package/src/spatial/force-canvas-types.ts +0 -102
- package/src/spatial/lod-types.ts +0 -70
- package/src/spatial/zone-tiler-types.ts +0 -177
- package/src/t0-transport/connection.ts +0 -34
- package/src/t0-transport/error.ts +0 -37
- package/src/t0-transport/events.ts +0 -50
- package/src/t0-transport/index.ts +0 -6
- package/src/t0-transport/invoke.ts +0 -30
- package/src/u0-primitives/allay-gauge/AllayGauge.svelte +0 -90
- package/src/u0-primitives/allay-gauge/index.ts +0 -1
- package/src/u0-primitives/animated-icon/index.ts +0 -31
- package/src/u0-primitives/assay-badge/AssayBadge.svelte +0 -121
- package/src/u0-primitives/assay-badge/AssaySignalBar.svelte +0 -83
- package/src/u0-primitives/assay-badge/index.ts +0 -2
- package/src/u0-primitives/expert-badge/ExpertBadge.svelte +0 -89
- package/src/u0-primitives/expert-badge/index.ts +0 -1
- package/src/u0-primitives/input/Input.svelte +0 -237
- package/src/u0-primitives/tabs/tabs-types.ts +0 -11
- package/src/v0-diagrams/types.ts +0 -28
- package/src/x0-enchanted-blocks/ENCHANTED_BLOCKS_SPEC.md +0 -457
- package/src/x0-enchanted-blocks/core/block-layout.ts +0 -211
- package/src/x0-enchanted-blocks/core/block-types.ts +0 -227
- package/src/x0-enchanted-blocks/index.ts +0 -46
- /package/{src/b0-app-shell/clarification-overlay/index.ts → dist/b0-app-shell/clarification-overlay/index.js} +0 -0
- /package/{src → dist}/demos/ControlRoomDemo.svelte +0 -0
- /package/{src/epistemic/index.ts → dist/epistemic/index.js} +0 -0
- /package/{src/g0-geo/index.ts → dist/g0-geo/index.js} +0 -0
- /package/{src → dist}/l0-layout/block-writer/BlockWriter.svelte +0 -0
- /package/{src → dist}/l0-layout/chat-view/ChatViewLayout.svelte +0 -0
- /package/{src/l0-layout/epistemic/index.ts → dist/l0-layout/epistemic/index.js} +0 -0
- /package/{src → dist}/l0-layout/grove/AccordCard.svelte +0 -0
- /package/{src → dist}/l0-layout/grove/GroveCard.svelte +0 -0
- /package/{src → dist}/l0-layout/grove/MemberBadge.svelte +0 -0
- /package/{src → dist}/l0-layout/grove/MemberList.svelte +0 -0
- /package/{src → dist}/l0-layout/kanban/KanbanCard.svelte +0 -0
- /package/{src → dist}/l0-layout/kanban/KanbanViewLayout.svelte +0 -0
- /package/{src → dist}/l0-layout/workspace/WorkspaceLayout.svelte +0 -0
- /package/{src → dist}/n0-node-graph/GraphEditor.svelte +0 -0
- /package/{src → dist}/n0-node-graph/GraphHistory.svelte +0 -0
- /package/{src → dist}/n0-node-graph/NodeCanvas.svelte +0 -0
- /package/{src → dist}/n0-node-graph/NodeEdge.svelte +0 -0
- /package/{src → dist}/n0-node-graph/NodePort.svelte +0 -0
- /package/{src → dist}/n2-manifold-disk/ManifoldDisk.svelte +0 -0
- /package/{src → dist}/n3-force-graph/GraphTooltip.svelte +0 -0
- /package/{src → dist}/stores/vaultStore.svelte +0 -0
- /package/{src/u0-primitives/modal/index.ts → dist/u0-primitives/modal/index.js} +0 -0
- /package/{src → dist}/v0-diagrams/MarkmapDiagram.svelte +0 -0
- /package/{src → dist}/v0-diagrams/MermaidDiagram.svelte +0 -0
- /package/{src → dist}/vite-env.d.ts +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { afterEach, describe, it, expect } from 'vitest';
|
|
2
|
+
import { cleanup, render } from '@testing-library/svelte';
|
|
3
|
+
import Input from './Input.svelte';
|
|
4
|
+
describe('Input', () => {
|
|
5
|
+
afterEach(() => cleanup());
|
|
6
|
+
it('renders an <input> element', () => {
|
|
7
|
+
const { container } = render(Input);
|
|
8
|
+
expect(container.querySelector('input')).not.toBeNull();
|
|
9
|
+
});
|
|
10
|
+
it('applies placeholder', () => {
|
|
11
|
+
const { container } = render(Input, { placeholder: 'Search...' });
|
|
12
|
+
expect(container.querySelector('input[placeholder="Search..."]')).not.toBeNull();
|
|
13
|
+
});
|
|
14
|
+
it('sets disabled attribute', () => {
|
|
15
|
+
const { container } = render(Input, { disabled: true });
|
|
16
|
+
expect(container.querySelector('input')?.hasAttribute('disabled')).toBe(true);
|
|
17
|
+
});
|
|
18
|
+
it('respects the type prop', () => {
|
|
19
|
+
const { container } = render(Input, { type: 'password' });
|
|
20
|
+
expect(container.querySelector('input[type="password"]')).not.toBeNull();
|
|
21
|
+
});
|
|
22
|
+
it('applies error class wrapper when error is true', () => {
|
|
23
|
+
const { container } = render(Input, { error: true });
|
|
24
|
+
expect(container.querySelector('.has-error')).not.toBeNull();
|
|
25
|
+
});
|
|
26
|
+
it('applies custom id to the native input', () => {
|
|
27
|
+
const { container } = render(Input, { id: 'my-input' });
|
|
28
|
+
expect(container.querySelector('#my-input')).not.toBeNull();
|
|
29
|
+
});
|
|
30
|
+
it('applies custom name to the native input', () => {
|
|
31
|
+
const { container } = render(Input, { name: 'email' });
|
|
32
|
+
expect(container.querySelector('input')?.getAttribute('name')).toBe('email');
|
|
33
|
+
});
|
|
34
|
+
it('applies custom class to wrapper', () => {
|
|
35
|
+
const { container } = render(Input, { class: 'custom-input' });
|
|
36
|
+
expect(container.querySelector('.custom-input')).not.toBeNull();
|
|
37
|
+
});
|
|
38
|
+
it('displays leading icon element when iconLeading is provided', () => {
|
|
39
|
+
const { container } = render(Input, {
|
|
40
|
+
iconLeading: () => '<svg class="test-icon"></svg>'
|
|
41
|
+
});
|
|
42
|
+
expect(container.querySelector('.ds-input-icon.leading')).not.toBeNull();
|
|
43
|
+
});
|
|
44
|
+
it('has a show/hide button when type is password', () => {
|
|
45
|
+
const { container } = render(Input, { type: 'password' });
|
|
46
|
+
expect(container.querySelector('.ds-input-action')).not.toBeNull();
|
|
47
|
+
});
|
|
48
|
+
it('applies disabled class to wrapper when disabled', () => {
|
|
49
|
+
const { container } = render(Input, { disabled: true });
|
|
50
|
+
expect(container.querySelector('.is-disabled')).not.toBeNull();
|
|
51
|
+
});
|
|
52
|
+
it('sets aria-invalid when error is true', () => {
|
|
53
|
+
const { container } = render(Input, { error: true });
|
|
54
|
+
expect(container.querySelector('input')?.getAttribute('aria-invalid')).toBe('true');
|
|
55
|
+
});
|
|
56
|
+
it('sets aria-disabled when disabled', () => {
|
|
57
|
+
const { container } = render(Input, { disabled: true });
|
|
58
|
+
expect(container.querySelector('input')?.getAttribute('aria-disabled')).toBe('true');
|
|
59
|
+
});
|
|
60
|
+
it('does not set aria-invalid when no error', () => {
|
|
61
|
+
const { container } = render(Input, {});
|
|
62
|
+
expect(container.querySelector('input')?.getAttribute('aria-invalid')).toBeNull();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Input } from './Input.svelte';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface Props {
|
|
2
|
+
/** Controls modal visibility */
|
|
3
|
+
isOpen?: boolean;
|
|
4
|
+
/** Modal title (optional) */
|
|
5
|
+
title?: string;
|
|
6
|
+
/** Called when modal is closed */
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
/** Additional CSS class for the modal container */
|
|
9
|
+
class?: string;
|
|
10
|
+
/** Whether to show the close button (default: true) */
|
|
11
|
+
showCloseButton?: boolean;
|
|
12
|
+
/** Whether to close on overlay click (default: true) */
|
|
13
|
+
closeOnOverlayClick?: boolean;
|
|
14
|
+
/** Whether to close on Escape key (default: true) */
|
|
15
|
+
closeOnEscape?: boolean;
|
|
16
|
+
/** Z-index for the modal (default: 9980) */
|
|
17
|
+
zIndex?: number;
|
|
18
|
+
/** Modal content */
|
|
19
|
+
children?: import('svelte').Snippet;
|
|
20
|
+
/** Additional actions for the header (optional) */
|
|
21
|
+
headerActions?: import('svelte').Snippet;
|
|
22
|
+
/** Footer content (optional) */
|
|
23
|
+
footer?: import('svelte').Snippet;
|
|
24
|
+
}
|
|
25
|
+
declare const Modal: import("svelte").Component<Props, {
|
|
26
|
+
open: () => void;
|
|
27
|
+
close: () => void;
|
|
28
|
+
}, "isOpen">;
|
|
29
|
+
type Modal = ReturnType<typeof Modal>;
|
|
30
|
+
export default Modal;
|
|
31
|
+
//# sourceMappingURL=Modal.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.svelte.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/modal/Modal.svelte.ts"],"names":[],"mappings":"AAiBE,MAAM,WAAW,KAAK;IACpB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;IACpC,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;IACzC,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC;CACnC;AAyJH,QAAA,MAAM,KAAK;;;YAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
|
2
|
+
import { render, fireEvent, cleanup } from '@testing-library/svelte';
|
|
3
|
+
import Modal from './Modal.svelte';
|
|
4
|
+
afterEach(() => {
|
|
5
|
+
cleanup();
|
|
6
|
+
});
|
|
7
|
+
describe('Modal', () => {
|
|
8
|
+
it('renders dialog when open', () => {
|
|
9
|
+
const { container } = render(Modal, { isOpen: true, title: 'Test', children: () => 'body' });
|
|
10
|
+
const dialog = container.querySelector('[role="dialog"]');
|
|
11
|
+
expect(dialog).not.toBeNull();
|
|
12
|
+
});
|
|
13
|
+
it('sets aria-modal="true"', () => {
|
|
14
|
+
const { container } = render(Modal, { isOpen: true, children: () => 'body' });
|
|
15
|
+
const dialog = container.querySelector('[role="dialog"]');
|
|
16
|
+
expect(dialog?.getAttribute('aria-modal')).toBe('true');
|
|
17
|
+
});
|
|
18
|
+
it('has aria-labelledby when title is provided', () => {
|
|
19
|
+
const { container } = render(Modal, { isOpen: true, title: 'Titled', children: () => 'body' });
|
|
20
|
+
const dialog = container.querySelector('[role="dialog"]');
|
|
21
|
+
const labelledBy = dialog.getAttribute('aria-labelledby');
|
|
22
|
+
expect(labelledBy).toBeTruthy();
|
|
23
|
+
});
|
|
24
|
+
it('renders close button when showCloseButton is true', () => {
|
|
25
|
+
const { container } = render(Modal, {
|
|
26
|
+
isOpen: true,
|
|
27
|
+
title: 'Test',
|
|
28
|
+
children: () => 'body',
|
|
29
|
+
showCloseButton: true,
|
|
30
|
+
});
|
|
31
|
+
expect(container.querySelector('.modal-close-btn')).not.toBeNull();
|
|
32
|
+
});
|
|
33
|
+
it('does not render close button when showCloseButton is false', () => {
|
|
34
|
+
const { container } = render(Modal, {
|
|
35
|
+
isOpen: true,
|
|
36
|
+
title: 'Test',
|
|
37
|
+
children: () => 'body',
|
|
38
|
+
showCloseButton: false,
|
|
39
|
+
});
|
|
40
|
+
expect(container.querySelector('.modal-close-btn')).toBeNull();
|
|
41
|
+
});
|
|
42
|
+
it('applies custom class', () => {
|
|
43
|
+
const { container } = render(Modal, { isOpen: true, class: 'my-modal', children: () => 'body' });
|
|
44
|
+
expect(container.querySelector('.my-modal')).not.toBeNull();
|
|
45
|
+
});
|
|
46
|
+
it('applies z-index style from prop', () => {
|
|
47
|
+
const { container } = render(Modal, { isOpen: true, zIndex: 5000, children: () => 'body' });
|
|
48
|
+
const modalContainer = container.querySelector('.modal-container');
|
|
49
|
+
expect(modalContainer?.style.zIndex).toBe('5000');
|
|
50
|
+
});
|
|
51
|
+
it('calls onClose callback when close button is clicked', async () => {
|
|
52
|
+
let closed = false;
|
|
53
|
+
const { container } = render(Modal, {
|
|
54
|
+
isOpen: true,
|
|
55
|
+
title: 'Test',
|
|
56
|
+
children: () => 'body',
|
|
57
|
+
onClose: () => { closed = true; },
|
|
58
|
+
showCloseButton: true,
|
|
59
|
+
});
|
|
60
|
+
const closeBtn = container.querySelector('.modal-close-btn');
|
|
61
|
+
await fireEvent.click(closeBtn);
|
|
62
|
+
expect(closed).toBe(true);
|
|
63
|
+
});
|
|
64
|
+
it('applies open class when isOpen is true', () => {
|
|
65
|
+
const { container } = render(Modal, { isOpen: true, children: () => 'body' });
|
|
66
|
+
expect(container.querySelector('.modal-container')?.classList.contains('open')).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
it('does not apply open class when isOpen is false', () => {
|
|
69
|
+
const { container } = render(Modal, { isOpen: false, children: () => 'body' });
|
|
70
|
+
expect(container.querySelector('.modal-container')?.classList.contains('open')).toBe(false);
|
|
71
|
+
});
|
|
72
|
+
it('contains a focusable close button for focus trap when open', () => {
|
|
73
|
+
const { container } = render(Modal, { isOpen: true, title: 'Test', children: () => 'body', showCloseButton: true });
|
|
74
|
+
const closeBtn = container.querySelector('.modal-close-btn');
|
|
75
|
+
expect(closeBtn).not.toBeNull();
|
|
76
|
+
closeBtn?.focus();
|
|
77
|
+
expect(document.activeElement).toBe(closeBtn);
|
|
78
|
+
});
|
|
79
|
+
it('close button has aria-label', () => {
|
|
80
|
+
const { container } = render(Modal, { isOpen: true, title: 'Test', children: () => 'body', showCloseButton: true });
|
|
81
|
+
const closeBtn = container.querySelector('.modal-close-btn');
|
|
82
|
+
expect(closeBtn?.getAttribute('aria-label')).toBeTruthy();
|
|
83
|
+
});
|
|
84
|
+
it('container renders when closed', () => {
|
|
85
|
+
const { container } = render(Modal, { isOpen: false, children: () => 'body' });
|
|
86
|
+
const modalContainer = container.querySelector('.modal-container');
|
|
87
|
+
expect(modalContainer).not.toBeNull();
|
|
88
|
+
expect(modalContainer?.classList.contains('open')).toBe(false);
|
|
89
|
+
});
|
|
90
|
+
it('has an overlay element', () => {
|
|
91
|
+
const { container } = render(Modal, { isOpen: true, title: 'Test', children: () => 'body' });
|
|
92
|
+
expect(container.querySelector('.modal-overlay')).not.toBeNull();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Button from '../button/Button.svelte';
|
|
3
|
+
import { segmentForRsvp, calculateOrp, getWordDisplayTime, type RsvpWord } from './rsvp-utils';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
text = '',
|
|
7
|
+
mode = 'preview',
|
|
8
|
+
initialWpm = 300,
|
|
9
|
+
maxWpm = mode === 'preview' ? 600 : 1000,
|
|
10
|
+
autoStart = false,
|
|
11
|
+
onComplete = () => {},
|
|
12
|
+
onPause = () => {}
|
|
13
|
+
}: {
|
|
14
|
+
text?: string;
|
|
15
|
+
mode?: 'preview' | 'full';
|
|
16
|
+
initialWpm?: number;
|
|
17
|
+
maxWpm?: number;
|
|
18
|
+
autoStart?: boolean;
|
|
19
|
+
onComplete?: () => void;
|
|
20
|
+
onPause?: () => void;
|
|
21
|
+
} = $props();
|
|
22
|
+
|
|
23
|
+
let isPlaying = $state(false);
|
|
24
|
+
let currentWpm = $state(initialWpm);
|
|
25
|
+
let wordIndex = $state(0);
|
|
26
|
+
let words: RsvpWord[] = $derived(segmentForRsvp(text));
|
|
27
|
+
|
|
28
|
+
// Bounds-safe current word with fallback
|
|
29
|
+
let currentWord = $derived(words[wordIndex] || {
|
|
30
|
+
text: '',
|
|
31
|
+
prefix: '',
|
|
32
|
+
pivot: '',
|
|
33
|
+
suffix: ''
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
let orpPosition = $derived(calculateOrp(currentWord.text));
|
|
37
|
+
let progressText = $derived(words.length > 0
|
|
38
|
+
? `Word ${wordIndex + 1} of ${words.length}`
|
|
39
|
+
: 'No content');
|
|
40
|
+
|
|
41
|
+
// Reset state when text changes
|
|
42
|
+
$effect(() => {
|
|
43
|
+
if (text) {
|
|
44
|
+
wordIndex = 0;
|
|
45
|
+
isPlaying = false;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Dynamic timer using word-specific delays
|
|
50
|
+
$effect(() => {
|
|
51
|
+
if (!isPlaying || !words.length || wordIndex >= words.length) return;
|
|
52
|
+
|
|
53
|
+
const word = words[wordIndex];
|
|
54
|
+
const displayTime = getWordDisplayTime(currentWpm, word);
|
|
55
|
+
|
|
56
|
+
const timer = setTimeout(() => {
|
|
57
|
+
if (wordIndex >= words.length - 1) {
|
|
58
|
+
isPlaying = false;
|
|
59
|
+
onComplete();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
wordIndex++;
|
|
63
|
+
}, displayTime);
|
|
64
|
+
|
|
65
|
+
return () => clearTimeout(timer);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Auto-start when enabled
|
|
69
|
+
$effect(() => {
|
|
70
|
+
if (autoStart && !isPlaying && text.length > 0 && words.length > 0) {
|
|
71
|
+
isPlaying = true;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Keyboard controls
|
|
76
|
+
function handleKeydown(event: KeyboardEvent) {
|
|
77
|
+
switch (event.key) {
|
|
78
|
+
case ' ':
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
isPlaying = !isPlaying;
|
|
81
|
+
if (!isPlaying) onPause();
|
|
82
|
+
break;
|
|
83
|
+
case 'ArrowLeft':
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
wordIndex = Math.max(0, wordIndex - 10);
|
|
86
|
+
break;
|
|
87
|
+
case 'Escape':
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
isPlaying = false;
|
|
90
|
+
onComplete();
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Toggle play/pause with tracking
|
|
96
|
+
function togglePlayback() {
|
|
97
|
+
isPlaying = !isPlaying;
|
|
98
|
+
if (!isPlaying) onPause();
|
|
99
|
+
}
|
|
100
|
+
</script>
|
|
101
|
+
|
|
102
|
+
<svelte:window on:keydown={handleKeydown} />
|
|
103
|
+
|
|
104
|
+
<div
|
|
105
|
+
class="rsvp-container"
|
|
106
|
+
role="region"
|
|
107
|
+
aria-label="Rapid serial visual presentation reader"
|
|
108
|
+
tabindex="0"
|
|
109
|
+
>
|
|
110
|
+
<!-- Screen reader announcement of current word -->
|
|
111
|
+
<span class="sr-only" aria-live="polite" aria-atomic="true">
|
|
112
|
+
{currentWord.text || 'No content'}
|
|
113
|
+
</span>
|
|
114
|
+
|
|
115
|
+
<!-- Visual display (hidden from screen readers to avoid double announcement) -->
|
|
116
|
+
<div class="rsvp-display" style="--orp-offset: {orpPosition}ch" aria-hidden="true">
|
|
117
|
+
{#if words.length > 0 && currentWord.text}
|
|
118
|
+
<span class="rsvp-prefix">{currentWord.prefix}</span>
|
|
119
|
+
<span class="rsvp-pivot">{currentWord.pivot}</span>
|
|
120
|
+
<span class="rsvp-suffix">{currentWord.suffix}</span>
|
|
121
|
+
{:else}
|
|
122
|
+
<span class="rsvp-empty">—</span>
|
|
123
|
+
{/if}
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div class="rsvp-progress" aria-hidden="true">
|
|
127
|
+
<span class="rsvp-progress-text">{progressText}</span>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<div class="rsvp-controls">
|
|
131
|
+
<Button
|
|
132
|
+
variant="ghost"
|
|
133
|
+
size="sm"
|
|
134
|
+
onclick={togglePlayback}
|
|
135
|
+
aria-label={isPlaying ? 'Pause' : 'Play'}
|
|
136
|
+
>
|
|
137
|
+
{isPlaying ? '⏸' : '▶'}
|
|
138
|
+
</Button>
|
|
139
|
+
<input
|
|
140
|
+
type="range"
|
|
141
|
+
min="200"
|
|
142
|
+
max={maxWpm}
|
|
143
|
+
bind:value={currentWpm}
|
|
144
|
+
aria-label="Reading speed (words per minute)"
|
|
145
|
+
disabled={words.length === 0}
|
|
146
|
+
/>
|
|
147
|
+
<span class="rsvp-wpm" aria-label="Current speed">{currentWpm} WPM</span>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="rsvp-help" aria-hidden="true">
|
|
151
|
+
<span class="rsvp-help-text">Space: pause/resume • ←: back 10 • Esc: close</span>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
<style>
|
|
156
|
+
.rsvp-container {
|
|
157
|
+
display: flex;
|
|
158
|
+
flex-direction: column;
|
|
159
|
+
align-items: center;
|
|
160
|
+
gap: var(--space-4);
|
|
161
|
+
padding: var(--space-6);
|
|
162
|
+
background: var(--color-bg-panel);
|
|
163
|
+
border-radius: var(--radius-lg);
|
|
164
|
+
min-width: 320px;
|
|
165
|
+
box-shadow: var(--shadow-card);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.rsvp-display {
|
|
169
|
+
font-family: var(--font-sans);
|
|
170
|
+
font-size: var(--text-2xl);
|
|
171
|
+
font-weight: 500;
|
|
172
|
+
color: var(--color-text-primary);
|
|
173
|
+
position: relative;
|
|
174
|
+
min-height: 3rem;
|
|
175
|
+
display: flex;
|
|
176
|
+
align-items: center;
|
|
177
|
+
justify-content: center;
|
|
178
|
+
width: 100%;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.rsvp-prefix,
|
|
182
|
+
.rsvp-pivot,
|
|
183
|
+
.rsvp-suffix {
|
|
184
|
+
display: inline-block;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.rsvp-pivot {
|
|
188
|
+
color: var(--color-accent); /* Brass/copper var(--color-accent) */
|
|
189
|
+
font-weight: 600;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.rsvp-controls {
|
|
193
|
+
display: flex;
|
|
194
|
+
align-items: center;
|
|
195
|
+
gap: var(--space-3);
|
|
196
|
+
width: 100%;
|
|
197
|
+
max-width: 400px;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
input[type="range"] {
|
|
201
|
+
flex-grow: 1;
|
|
202
|
+
accent-color: var(--color-accent);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.rsvp-wpm {
|
|
206
|
+
font-variant-numeric: tabular-nums;
|
|
207
|
+
min-width: 5ch;
|
|
208
|
+
text-align: right;
|
|
209
|
+
color: var(--color-text-secondary);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.rsvp-progress {
|
|
213
|
+
font-size: var(--text-sm);
|
|
214
|
+
color: var(--color-text-muted);
|
|
215
|
+
text-align: center;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.rsvp-progress-text {
|
|
219
|
+
font-variant-numeric: tabular-nums;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.rsvp-help {
|
|
223
|
+
font-size: var(--text-xs);
|
|
224
|
+
color: var(--color-text-muted);
|
|
225
|
+
text-align: center;
|
|
226
|
+
margin-top: var(--space-2);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.rsvp-help-text {
|
|
230
|
+
opacity: 0.7;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.rsvp-empty {
|
|
234
|
+
color: var(--color-text-muted);
|
|
235
|
+
font-style: italic;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/* Screen reader only */
|
|
239
|
+
.sr-only {
|
|
240
|
+
position: absolute;
|
|
241
|
+
width: 1px;
|
|
242
|
+
height: 1px;
|
|
243
|
+
padding: 0;
|
|
244
|
+
margin: -1px;
|
|
245
|
+
overflow: hidden;
|
|
246
|
+
clip: rect(0, 0, 0, 0);
|
|
247
|
+
white-space: nowrap;
|
|
248
|
+
border-width: 0;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/* Disabled state */
|
|
252
|
+
input[type="range"]:disabled {
|
|
253
|
+
opacity: 0.5;
|
|
254
|
+
cursor: not-allowed;
|
|
255
|
+
}
|
|
256
|
+
</style>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type $$ComponentProps = {
|
|
2
|
+
text?: string;
|
|
3
|
+
mode?: 'preview' | 'full';
|
|
4
|
+
initialWpm?: number;
|
|
5
|
+
maxWpm?: number;
|
|
6
|
+
autoStart?: boolean;
|
|
7
|
+
onComplete?: () => void;
|
|
8
|
+
onPause?: () => void;
|
|
9
|
+
};
|
|
10
|
+
declare const RsvpReader: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
11
|
+
type RsvpReader = ReturnType<typeof RsvpReader>;
|
|
12
|
+
export default RsvpReader;
|
|
13
|
+
//# sourceMappingURL=RsvpReader.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RsvpReader.svelte.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/rsvp/RsvpReader.svelte.ts"],"names":[],"mappings":"AAMC,KAAK,gBAAgB,GAAI;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAqIJ,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RSVP Utility Functions
|
|
3
|
+
* Handles text segmentation, ORP calculation, and delay mapping for RSVP display
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Interface for RSVP word data
|
|
7
|
+
*/
|
|
8
|
+
export interface RsvpWord {
|
|
9
|
+
text: string;
|
|
10
|
+
prefix: string;
|
|
11
|
+
pivot: string;
|
|
12
|
+
suffix: string;
|
|
13
|
+
delayMs: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Calculate Optimal Recognition Point (ORP) position in a word
|
|
17
|
+
* Based on research: ORP is typically left of center, adjusted for word length
|
|
18
|
+
*
|
|
19
|
+
* @param word - The word to calculate ORP for
|
|
20
|
+
* @returns Index of the ORP character (0-based)
|
|
21
|
+
*/
|
|
22
|
+
export declare function calculateOrp(word: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* Segment text into RSVP words with ORP information and delay mapping
|
|
25
|
+
*
|
|
26
|
+
* @param text - Input text to segment
|
|
27
|
+
* @returns Array of RsvpWord objects ready for RSVP display
|
|
28
|
+
*/
|
|
29
|
+
export declare function segmentForRsvp(text: string): RsvpWord[];
|
|
30
|
+
/**
|
|
31
|
+
* Calculate delay multiplier for a word based on complexity
|
|
32
|
+
* Longer words and punctuation get slightly more display time
|
|
33
|
+
*
|
|
34
|
+
* @param word - The word to calculate delay for
|
|
35
|
+
* @returns Delay multiplier (1.0 = base time)
|
|
36
|
+
*/
|
|
37
|
+
export declare function calculateDelay(word: string): number;
|
|
38
|
+
/**
|
|
39
|
+
* Calculate actual display time for a word in milliseconds
|
|
40
|
+
*
|
|
41
|
+
* @param wpm - Words per minute setting
|
|
42
|
+
* @param word - The RSVP word object
|
|
43
|
+
* @returns Display time in milliseconds
|
|
44
|
+
*/
|
|
45
|
+
export declare function getWordDisplayTime(wpm: number, word: RsvpWord): number;
|
|
46
|
+
//# sourceMappingURL=rsvp-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsvp-utils.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/rsvp/rsvp-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAyBvD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBnD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAGtE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RSVP Utility Functions
|
|
3
|
+
* Handles text segmentation, ORP calculation, and delay mapping for RSVP display
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Calculate Optimal Recognition Point (ORP) position in a word
|
|
7
|
+
* Based on research: ORP is typically left of center, adjusted for word length
|
|
8
|
+
*
|
|
9
|
+
* @param word - The word to calculate ORP for
|
|
10
|
+
* @returns Index of the ORP character (0-based)
|
|
11
|
+
*/
|
|
12
|
+
export function calculateOrp(word) {
|
|
13
|
+
const len = word.length;
|
|
14
|
+
// ORP positioning based on empirical research:
|
|
15
|
+
// - Very short words (1 char): ORP at position 0
|
|
16
|
+
// - Short words (2-5 chars): ORP at position 1
|
|
17
|
+
// - Medium words (6-9 chars): ORP at position 2
|
|
18
|
+
// - Longer words (10-13 chars): ORP at position 3
|
|
19
|
+
// - Very long words (14+ chars): ORP at position 4
|
|
20
|
+
if (len <= 1)
|
|
21
|
+
return 0;
|
|
22
|
+
if (len <= 5)
|
|
23
|
+
return 1;
|
|
24
|
+
if (len <= 9)
|
|
25
|
+
return 2;
|
|
26
|
+
if (len <= 13)
|
|
27
|
+
return 3;
|
|
28
|
+
return 4;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Segment text into RSVP words with ORP information and delay mapping
|
|
32
|
+
*
|
|
33
|
+
* @param text - Input text to segment
|
|
34
|
+
* @returns Array of RsvpWord objects ready for RSVP display
|
|
35
|
+
*/
|
|
36
|
+
export function segmentForRsvp(text) {
|
|
37
|
+
// Normalize dashes and split on whitespace
|
|
38
|
+
return text
|
|
39
|
+
.replace(/[—–]/g, ' — ') // Normalize em/en dashes to spaces around dash
|
|
40
|
+
.split(/\s+/)
|
|
41
|
+
.filter(w => w.length > 0)
|
|
42
|
+
.map(word => {
|
|
43
|
+
const orp = calculateOrp(word);
|
|
44
|
+
// Split word into prefix, pivot, suffix based on ORP
|
|
45
|
+
const prefix = word.slice(0, orp);
|
|
46
|
+
const pivot = word[orp] || '';
|
|
47
|
+
const suffix = word.slice(orp + 1);
|
|
48
|
+
// Calculate base delay multiplier for this word
|
|
49
|
+
const delayMs = calculateDelay(word);
|
|
50
|
+
return {
|
|
51
|
+
text: word,
|
|
52
|
+
prefix,
|
|
53
|
+
pivot,
|
|
54
|
+
suffix,
|
|
55
|
+
delayMs
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Calculate delay multiplier for a word based on complexity
|
|
61
|
+
* Longer words and punctuation get slightly more display time
|
|
62
|
+
*
|
|
63
|
+
* @param word - The word to calculate delay for
|
|
64
|
+
* @returns Delay multiplier (1.0 = base time)
|
|
65
|
+
*/
|
|
66
|
+
export function calculateDelay(word) {
|
|
67
|
+
let delay = 1.0;
|
|
68
|
+
// Add pause for punctuation at end of word
|
|
69
|
+
if (/[.,;:!?]$/.test(word)) {
|
|
70
|
+
delay += 0.5; // Half unit pause for sentence punctuation
|
|
71
|
+
}
|
|
72
|
+
// Add pause for dashes
|
|
73
|
+
if (/[—–]$/.test(word)) {
|
|
74
|
+
delay += 1.0; // Full unit pause for dashes
|
|
75
|
+
}
|
|
76
|
+
// Slow down for very long words (over 8 characters)
|
|
77
|
+
if (word.length > 8) {
|
|
78
|
+
delay += 0.3; // Slightly longer for complex words
|
|
79
|
+
}
|
|
80
|
+
return delay;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Calculate actual display time for a word in milliseconds
|
|
84
|
+
*
|
|
85
|
+
* @param wpm - Words per minute setting
|
|
86
|
+
* @param word - The RSVP word object
|
|
87
|
+
* @returns Display time in milliseconds
|
|
88
|
+
*/
|
|
89
|
+
export function getWordDisplayTime(wpm, word) {
|
|
90
|
+
const baseMsPerWord = 60000 / wpm; // Base time per word at given WPM
|
|
91
|
+
return baseMsPerWord * word.delayMs;
|
|
92
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
interface Props {
|
|
2
|
+
export interface Props {
|
|
3
3
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
4
4
|
color?: 'accent' | 'muted' | 'white';
|
|
5
5
|
class?: string;
|
|
@@ -112,8 +112,8 @@
|
|
|
112
112
|
color: var(--color-text-muted);
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
.color-white {
|
|
116
|
-
color:
|
|
115
|
+
.color-white {
|
|
116
|
+
color: var(--color-text-primary);
|
|
117
117
|
filter: drop-shadow(0 0 4px rgba(255,255,255,0.4));
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface Props {
|
|
2
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
3
|
+
color?: 'accent' | 'muted' | 'white';
|
|
4
|
+
class?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const Spinner: import("svelte").Component<Props, {}, "">;
|
|
7
|
+
type Spinner = ReturnType<typeof Spinner>;
|
|
8
|
+
export default Spinner;
|
|
9
|
+
//# sourceMappingURL=Spinner.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.svelte.d.ts","sourceRoot":"","sources":["../../../src/u0-primitives/spinner/Spinner.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwBH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
|