selva-shared 0.8.1
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 +45 -0
- package/dist/components/AppLayout.svelte +439 -0
- package/dist/components/AppLayout.svelte.d.ts +17 -0
- package/dist/components/CollapsedPanelStrip.svelte +67 -0
- package/dist/components/CollapsedPanelStrip.svelte.d.ts +11 -0
- package/dist/components/ComputeMessages.svelte +172 -0
- package/dist/components/ComputeMessages.svelte.d.ts +7 -0
- package/dist/components/ErrorScreen.svelte +55 -0
- package/dist/components/ErrorScreen.svelte.d.ts +9 -0
- package/dist/components/StateManager.svelte +318 -0
- package/dist/components/StateManager.svelte.d.ts +9 -0
- package/dist/components/Viewer.svelte +207 -0
- package/dist/components/Viewer.svelte.d.ts +12 -0
- package/dist/components/layout/FooterItemRenderer.svelte +20 -0
- package/dist/components/layout/FooterItemRenderer.svelte.d.ts +7 -0
- package/dist/components/layout/PageContainer.svelte +36 -0
- package/dist/components/layout/PageContainer.svelte.d.ts +12 -0
- package/dist/components/layout/PageFooter.svelte +223 -0
- package/dist/components/layout/PageFooter.svelte.d.ts +9 -0
- package/dist/components/layout/PageHeader.svelte +89 -0
- package/dist/components/layout/PageHeader.svelte.d.ts +12 -0
- package/dist/components/layout/index.d.ts +3 -0
- package/dist/components/layout/index.js +4 -0
- package/dist/components/preview/ChartOutput.svelte +257 -0
- package/dist/components/preview/ChartOutput.svelte.d.ts +8 -0
- package/dist/components/preview/Group.svelte +121 -0
- package/dist/components/preview/Group.svelte.d.ts +23 -0
- package/dist/components/preview/InputControl.svelte +119 -0
- package/dist/components/preview/InputControl.svelte.d.ts +11 -0
- package/dist/components/preview/OutputDisplay.svelte +296 -0
- package/dist/components/preview/OutputDisplay.svelte.d.ts +9 -0
- package/dist/components/preview/TabBar.svelte +36 -0
- package/dist/components/preview/TabBar.svelte.d.ts +8 -0
- package/dist/components/preview/TabContent.svelte +124 -0
- package/dist/components/preview/TabContent.svelte.d.ts +13 -0
- package/dist/components/preview/TabLayout.svelte +109 -0
- package/dist/components/preview/TabLayout.svelte.d.ts +13 -0
- package/dist/components/preview/index.d.ts +3 -0
- package/dist/components/preview/index.js +4 -0
- package/dist/components/preview/inputs/CheckboxInput.svelte +29 -0
- package/dist/components/preview/inputs/CheckboxInput.svelte.d.ts +10 -0
- package/dist/components/preview/inputs/ColorInput.svelte +21 -0
- package/dist/components/preview/inputs/ColorInput.svelte.d.ts +7 -0
- package/dist/components/preview/inputs/DropdownInput.svelte +40 -0
- package/dist/components/preview/inputs/DropdownInput.svelte.d.ts +10 -0
- package/dist/components/preview/inputs/FileInput.svelte +358 -0
- package/dist/components/preview/inputs/FileInput.svelte.d.ts +10 -0
- package/dist/components/preview/inputs/NumberInput.svelte +152 -0
- package/dist/components/preview/inputs/NumberInput.svelte.d.ts +11 -0
- package/dist/components/preview/inputs/TextInput.svelte +74 -0
- package/dist/components/preview/inputs/TextInput.svelte.d.ts +11 -0
- package/dist/components/preview/inputs/index.d.ts +6 -0
- package/dist/components/preview/inputs/index.js +6 -0
- package/dist/components/ui/CalculateButton.svelte +56 -0
- package/dist/components/ui/CalculateButton.svelte.d.ts +9 -0
- package/dist/components/ui/SolvingIndicator.svelte +55 -0
- package/dist/components/ui/SolvingIndicator.svelte.d.ts +6 -0
- package/dist/components/ui/StateDisplay.svelte +106 -0
- package/dist/components/ui/StateDisplay.svelte.d.ts +10 -0
- package/dist/components/ui/alert/alert-description.svelte +23 -0
- package/dist/components/ui/alert/alert-description.svelte.d.ts +5 -0
- package/dist/components/ui/alert/alert-title.svelte +20 -0
- package/dist/components/ui/alert/alert-title.svelte.d.ts +5 -0
- package/dist/components/ui/alert/alert.svelte +44 -0
- package/dist/components/ui/alert/alert.svelte.d.ts +26 -0
- package/dist/components/ui/alert/index.d.ts +5 -0
- package/dist/components/ui/alert/index.js +7 -0
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +18 -0
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +18 -0
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +27 -0
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +8 -0
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +17 -0
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +20 -0
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +5 -0
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +20 -0
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +5 -0
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +20 -0
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +17 -0
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte +7 -0
- package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/index.d.ts +12 -0
- package/dist/components/ui/alert-dialog/index.js +15 -0
- package/dist/components/ui/badge/badge.svelte +50 -0
- package/dist/components/ui/badge/badge.svelte.d.ts +32 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/badge/index.js +2 -0
- package/dist/components/ui/button/button.svelte +83 -0
- package/dist/components/ui/button/button.svelte.d.ts +67 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button/index.js +4 -0
- package/dist/components/ui/button-group/button-group-separator.svelte +20 -0
- package/dist/components/ui/button-group/button-group-separator.svelte.d.ts +13 -0
- package/dist/components/ui/button-group/button-group-text.svelte +30 -0
- package/dist/components/ui/button-group/button-group-text.svelte.d.ts +11 -0
- package/dist/components/ui/button-group/button-group.svelte +46 -0
- package/dist/components/ui/button-group/button-group.svelte.d.ts +26 -0
- package/dist/components/ui/button-group/index.d.ts +4 -0
- package/dist/components/ui/button-group/index.js +6 -0
- package/dist/components/ui/card/card-action.svelte +20 -0
- package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-content.svelte +15 -0
- package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-description.svelte +20 -0
- package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-footer.svelte +20 -0
- package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-header.svelte +23 -0
- package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-title.svelte +20 -0
- package/dist/components/ui/card/card-title.svelte.d.ts +5 -0
- package/dist/components/ui/card/card.svelte +23 -0
- package/dist/components/ui/card/card.svelte.d.ts +5 -0
- package/dist/components/ui/card/index.d.ts +8 -0
- package/dist/components/ui/card/index.js +10 -0
- package/dist/components/ui/checkbox/checkbox.svelte +36 -0
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.js +4 -0
- package/dist/components/ui/collapsible/collapsible-content.svelte +7 -0
- package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +4 -0
- package/dist/components/ui/collapsible/collapsible-trigger.svelte +7 -0
- package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/collapsible/collapsible.svelte +11 -0
- package/dist/components/ui/collapsible/collapsible.svelte.d.ts +4 -0
- package/dist/components/ui/collapsible/index.d.ts +4 -0
- package/dist/components/ui/collapsible/index.js +6 -0
- package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +38 -0
- package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +9 -0
- package/dist/components/ui/context-menu/context-menu-content.svelte +25 -0
- package/dist/components/ui/context-menu/context-menu-content.svelte.d.ts +7 -0
- package/dist/components/ui/context-menu/context-menu-group-heading.svelte +21 -0
- package/dist/components/ui/context-menu/context-menu-group-heading.svelte.d.ts +7 -0
- package/dist/components/ui/context-menu/context-menu-group.svelte +7 -0
- package/dist/components/ui/context-menu/context-menu-group.svelte.d.ts +4 -0
- package/dist/components/ui/context-menu/context-menu-item.svelte +27 -0
- package/dist/components/ui/context-menu/context-menu-item.svelte.d.ts +8 -0
- package/dist/components/ui/context-menu/context-menu-label.svelte +24 -0
- package/dist/components/ui/context-menu/context-menu-label.svelte.d.ts +8 -0
- package/dist/components/ui/context-menu/context-menu-radio-group.svelte +16 -0
- package/dist/components/ui/context-menu/context-menu-radio-group.svelte.d.ts +4 -0
- package/dist/components/ui/context-menu/context-menu-radio-item.svelte +31 -0
- package/dist/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +4 -0
- package/dist/components/ui/context-menu/context-menu-separator.svelte +17 -0
- package/dist/components/ui/context-menu/context-menu-separator.svelte.d.ts +4 -0
- package/dist/components/ui/context-menu/context-menu-shortcut.svelte +20 -0
- package/dist/components/ui/context-menu/context-menu-shortcut.svelte.d.ts +5 -0
- package/dist/components/ui/context-menu/context-menu-sub-content.svelte +20 -0
- package/dist/components/ui/context-menu/context-menu-sub-content.svelte.d.ts +4 -0
- package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +29 -0
- package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte.d.ts +8 -0
- package/dist/components/ui/context-menu/context-menu-trigger.svelte +7 -0
- package/dist/components/ui/context-menu/context-menu-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/context-menu/index.d.ts +16 -0
- package/dist/components/ui/context-menu/index.js +19 -0
- package/dist/components/ui/dialog/dialog-close.svelte +7 -0
- package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-content.svelte +43 -0
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +11 -0
- package/dist/components/ui/dialog/dialog-description.svelte +17 -0
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-footer.svelte +20 -0
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
- package/dist/components/ui/dialog/dialog-header.svelte +20 -0
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
- package/dist/components/ui/dialog/dialog-overlay.svelte +20 -0
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-title.svelte +17 -0
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-trigger.svelte +7 -0
- package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/index.d.ts +11 -0
- package/dist/components/ui/dialog/index.js +14 -0
- package/dist/components/ui/field/field-content.svelte +20 -0
- package/dist/components/ui/field/field-content.svelte.d.ts +5 -0
- package/dist/components/ui/field/field-description.svelte +25 -0
- package/dist/components/ui/field/field-description.svelte.d.ts +5 -0
- package/dist/components/ui/field/field-error.svelte +58 -0
- package/dist/components/ui/field/field-error.svelte.d.ts +12 -0
- package/dist/components/ui/field/field-group.svelte +23 -0
- package/dist/components/ui/field/field-group.svelte.d.ts +5 -0
- package/dist/components/ui/field/field-label.svelte +26 -0
- package/dist/components/ui/field/field-label.svelte.d.ts +10 -0
- package/dist/components/ui/field/field-legend.svelte +29 -0
- package/dist/components/ui/field/field-legend.svelte.d.ts +8 -0
- package/dist/components/ui/field/field-separator.svelte +38 -0
- package/dist/components/ui/field/field-separator.svelte.d.ts +9 -0
- package/dist/components/ui/field/field-set.svelte +24 -0
- package/dist/components/ui/field/field-set.svelte.d.ts +5 -0
- package/dist/components/ui/field/field-title.svelte +23 -0
- package/dist/components/ui/field/field-title.svelte.d.ts +5 -0
- package/dist/components/ui/field/field.svelte +53 -0
- package/dist/components/ui/field/field.svelte.d.ts +29 -0
- package/dist/components/ui/field/index.d.ts +11 -0
- package/dist/components/ui/field/index.js +13 -0
- package/dist/components/ui/index.d.ts +21 -0
- package/dist/components/ui/index.js +24 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/index.js +4 -0
- package/dist/components/ui/input/input.svelte +52 -0
- package/dist/components/ui/input/input.svelte.d.ts +13 -0
- package/dist/components/ui/label/index.d.ts +2 -0
- package/dist/components/ui/label/index.js +4 -0
- package/dist/components/ui/label/label.svelte +20 -0
- package/dist/components/ui/label/label.svelte.d.ts +4 -0
- package/dist/components/ui/mode-toggle/index.d.ts +1 -0
- package/dist/components/ui/mode-toggle/index.js +1 -0
- package/dist/components/ui/mode-toggle/mode-toggle.svelte +16 -0
- package/dist/components/ui/mode-toggle/mode-toggle.svelte.d.ts +18 -0
- package/dist/components/ui/resizable/index.d.ts +4 -0
- package/dist/components/ui/resizable/index.js +6 -0
- package/dist/components/ui/resizable/resizable-handle.svelte +30 -0
- package/dist/components/ui/resizable/resizable-handle.svelte.d.ts +8 -0
- package/dist/components/ui/resizable/resizable-pane-group.svelte +20 -0
- package/dist/components/ui/resizable/resizable-pane-group.svelte.d.ts +7 -0
- package/dist/components/ui/scroll-area/index.d.ts +3 -0
- package/dist/components/ui/scroll-area/index.js +5 -0
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +31 -0
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
- package/dist/components/ui/scroll-area/scroll-area.svelte +43 -0
- package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +11 -0
- package/dist/components/ui/select/index.d.ts +11 -0
- package/dist/components/ui/select/index.js +14 -0
- package/dist/components/ui/select/select-content.svelte +40 -0
- package/dist/components/ui/select/select-content.svelte.d.ts +8 -0
- package/dist/components/ui/select/select-group-heading.svelte +21 -0
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
- package/dist/components/ui/select/select-group.svelte +7 -0
- package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-item.svelte +38 -0
- package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-label.svelte +20 -0
- package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte +20 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte +20 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-separator.svelte +18 -0
- package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-trigger.svelte +29 -0
- package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/index.js +4 -0
- package/dist/components/ui/separator/separator.svelte +21 -0
- package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
- package/dist/components/ui/slider/index.d.ts +2 -0
- package/dist/components/ui/slider/index.js +4 -0
- package/dist/components/ui/slider/slider.svelte +52 -0
- package/dist/components/ui/slider/slider.svelte.d.ts +5 -0
- package/dist/components/ui/sonner/index.d.ts +2 -0
- package/dist/components/ui/sonner/index.js +2 -0
- package/dist/components/ui/sonner/sonner.svelte +13 -0
- package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
- package/dist/components/ui/switch/index.d.ts +2 -0
- package/dist/components/ui/switch/index.js +4 -0
- package/dist/components/ui/switch/switch.svelte +29 -0
- package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/index.d.ts +5 -0
- package/dist/components/ui/tabs/index.js +7 -0
- package/dist/components/ui/tabs/tabs-content.svelte +17 -0
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-list.svelte +16 -0
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte +20 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs.svelte +19 -0
- package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/index.js +4 -0
- package/dist/components/ui/textarea/textarea.svelte +23 -0
- package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
- package/dist/components/ui/theme-switcher/ThemeSwitcher.svelte +39 -0
- package/dist/components/ui/theme-switcher/ThemeSwitcher.svelte.d.ts +3 -0
- package/dist/components/ui/theme-switcher/index.d.ts +1 -0
- package/dist/components/ui/theme-switcher/index.js +1 -0
- package/dist/composables/useFooterItem.svelte.d.ts +15 -0
- package/dist/composables/useFooterItem.svelte.js +31 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.js +6 -0
- package/dist/contexts/FOOTER_USAGE.md +164 -0
- package/dist/contexts/footerContext.svelte.d.ts +17 -0
- package/dist/contexts/footerContext.svelte.js +24 -0
- package/dist/dummy-output-values.d.ts +3 -0
- package/dist/dummy-output-values.js +53 -0
- package/dist/dummy-surface-chart.json +13 -0
- package/dist/example-schema-left-only.json +367 -0
- package/dist/example-schema-right-only.json +322 -0
- package/dist/example-schema.json +1582 -0
- package/dist/features/preview/handlers.d.ts +55 -0
- package/dist/features/preview/handlers.js +175 -0
- package/dist/features/preview/index.d.ts +2 -0
- package/dist/features/preview/index.js +2 -0
- package/dist/features/preview/notifications.d.ts +11 -0
- package/dist/features/preview/notifications.js +41 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +39 -0
- package/dist/stores/themeStore.svelte.d.ts +12 -0
- package/dist/stores/themeStore.svelte.js +42 -0
- package/dist/styles/base.css +142 -0
- package/dist/styles/themes/cyberpunk.css +98 -0
- package/dist/styles/themes/neutral.css +72 -0
- package/dist/styles/themes/ocean.css +75 -0
- package/dist/styles/themes/selva.css +105 -0
- package/dist/themes.d.ts +5 -0
- package/dist/themes.js +13 -0
- package/dist/types/generated/index.d.ts +6 -0
- package/dist/types/generated/index.js +6 -0
- package/dist/types/generated/preset.d.ts +80 -0
- package/dist/types/generated/preset.js +7 -0
- package/dist/types/generated/schema.d.ts +451 -0
- package/dist/types/generated/schema.js +48 -0
- package/dist/utils/computeThrottle.svelte.d.ts +28 -0
- package/dist/utils/computeThrottle.svelte.js +93 -0
- package/dist/utils/debounce.d.ts +14 -0
- package/dist/utils/debounce.js +25 -0
- package/dist/utils/file-download.d.ts +26 -0
- package/dist/utils/file-download.js +76 -0
- package/dist/utils/loadScript.d.ts +14 -0
- package/dist/utils/loadScript.js +41 -0
- package/dist/utils/param-exporter.d.ts +30 -0
- package/dist/utils/param-exporter.js +186 -0
- package/dist/utils/solving.svelte.d.ts +12 -0
- package/dist/utils/solving.svelte.js +86 -0
- package/dist/utils/utils-shared.d.ts +9 -0
- package/dist/utils/utils-shared.js +53 -0
- package/dist/utils/visibility-rules.d.ts +12 -0
- package/dist/utils/visibility-rules.js +52 -0
- package/dist/utils.d.ts +12 -0
- package/dist/utils.js +5 -0
- package/package.json +70 -0
- package/src/lib/components/AppLayout.svelte +439 -0
- package/src/lib/components/CollapsedPanelStrip.svelte +67 -0
- package/src/lib/components/ComputeMessages.svelte +172 -0
- package/src/lib/components/ErrorScreen.svelte +55 -0
- package/src/lib/components/StateManager.svelte +318 -0
- package/src/lib/components/Viewer.svelte +207 -0
- package/src/lib/components/layout/FooterItemRenderer.svelte +20 -0
- package/src/lib/components/layout/PageContainer.svelte +36 -0
- package/src/lib/components/layout/PageFooter.svelte +223 -0
- package/src/lib/components/layout/PageHeader.svelte +89 -0
- package/src/lib/components/layout/index.ts +4 -0
- package/src/lib/components/preview/ChartOutput.svelte +257 -0
- package/src/lib/components/preview/Group.svelte +121 -0
- package/src/lib/components/preview/InputControl.svelte +119 -0
- package/src/lib/components/preview/OutputDisplay.svelte +296 -0
- package/src/lib/components/preview/TabBar.svelte +36 -0
- package/src/lib/components/preview/TabContent.svelte +124 -0
- package/src/lib/components/preview/TabLayout.svelte +109 -0
- package/src/lib/components/preview/index.ts +4 -0
- package/src/lib/components/preview/inputs/CheckboxInput.svelte +29 -0
- package/src/lib/components/preview/inputs/ColorInput.svelte +21 -0
- package/src/lib/components/preview/inputs/DropdownInput.svelte +40 -0
- package/src/lib/components/preview/inputs/FileInput.svelte +358 -0
- package/src/lib/components/preview/inputs/NumberInput.svelte +152 -0
- package/src/lib/components/preview/inputs/TextInput.svelte +74 -0
- package/src/lib/components/preview/inputs/index.ts +6 -0
- package/src/lib/components/ui/CalculateButton.svelte +56 -0
- package/src/lib/components/ui/SolvingIndicator.svelte +55 -0
- package/src/lib/components/ui/StateDisplay.svelte +106 -0
- package/src/lib/components/ui/alert/alert-description.svelte +23 -0
- package/src/lib/components/ui/alert/alert-title.svelte +20 -0
- package/src/lib/components/ui/alert/alert.svelte +44 -0
- package/src/lib/components/ui/alert/index.ts +14 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte +18 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte +18 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte +27 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte +17 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte +20 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte +20 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte +20 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte +17 -0
- package/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte +7 -0
- package/src/lib/components/ui/alert-dialog/index.ts +39 -0
- package/src/lib/components/ui/badge/badge.svelte +50 -0
- package/src/lib/components/ui/badge/index.ts +2 -0
- package/src/lib/components/ui/button/button.svelte +83 -0
- package/src/lib/components/ui/button/index.ts +17 -0
- package/src/lib/components/ui/button-group/button-group-separator.svelte +20 -0
- package/src/lib/components/ui/button-group/button-group-text.svelte +30 -0
- package/src/lib/components/ui/button-group/button-group.svelte +46 -0
- package/src/lib/components/ui/button-group/index.ts +13 -0
- package/src/lib/components/ui/card/card-action.svelte +20 -0
- package/src/lib/components/ui/card/card-content.svelte +15 -0
- package/src/lib/components/ui/card/card-description.svelte +20 -0
- package/src/lib/components/ui/card/card-footer.svelte +20 -0
- package/src/lib/components/ui/card/card-header.svelte +23 -0
- package/src/lib/components/ui/card/card-title.svelte +20 -0
- package/src/lib/components/ui/card/card.svelte +23 -0
- package/src/lib/components/ui/card/index.ts +25 -0
- package/src/lib/components/ui/checkbox/checkbox.svelte +36 -0
- package/src/lib/components/ui/checkbox/index.ts +6 -0
- package/src/lib/components/ui/collapsible/collapsible-content.svelte +7 -0
- package/src/lib/components/ui/collapsible/collapsible-trigger.svelte +7 -0
- package/src/lib/components/ui/collapsible/collapsible.svelte +11 -0
- package/src/lib/components/ui/collapsible/index.ts +13 -0
- package/src/lib/components/ui/context-menu/context-menu-checkbox-item.svelte +38 -0
- package/src/lib/components/ui/context-menu/context-menu-content.svelte +25 -0
- package/src/lib/components/ui/context-menu/context-menu-group-heading.svelte +21 -0
- package/src/lib/components/ui/context-menu/context-menu-group.svelte +7 -0
- package/src/lib/components/ui/context-menu/context-menu-item.svelte +27 -0
- package/src/lib/components/ui/context-menu/context-menu-label.svelte +24 -0
- package/src/lib/components/ui/context-menu/context-menu-radio-group.svelte +16 -0
- package/src/lib/components/ui/context-menu/context-menu-radio-item.svelte +31 -0
- package/src/lib/components/ui/context-menu/context-menu-separator.svelte +17 -0
- package/src/lib/components/ui/context-menu/context-menu-shortcut.svelte +20 -0
- package/src/lib/components/ui/context-menu/context-menu-sub-content.svelte +20 -0
- package/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte +29 -0
- package/src/lib/components/ui/context-menu/context-menu-trigger.svelte +7 -0
- package/src/lib/components/ui/context-menu/index.ts +51 -0
- package/src/lib/components/ui/dialog/dialog-close.svelte +7 -0
- package/src/lib/components/ui/dialog/dialog-content.svelte +43 -0
- package/src/lib/components/ui/dialog/dialog-description.svelte +17 -0
- package/src/lib/components/ui/dialog/dialog-footer.svelte +20 -0
- package/src/lib/components/ui/dialog/dialog-header.svelte +20 -0
- package/src/lib/components/ui/dialog/dialog-overlay.svelte +20 -0
- package/src/lib/components/ui/dialog/dialog-title.svelte +17 -0
- package/src/lib/components/ui/dialog/dialog-trigger.svelte +7 -0
- package/src/lib/components/ui/dialog/index.ts +37 -0
- package/src/lib/components/ui/field/field-content.svelte +20 -0
- package/src/lib/components/ui/field/field-description.svelte +25 -0
- package/src/lib/components/ui/field/field-error.svelte +58 -0
- package/src/lib/components/ui/field/field-group.svelte +23 -0
- package/src/lib/components/ui/field/field-label.svelte +26 -0
- package/src/lib/components/ui/field/field-legend.svelte +29 -0
- package/src/lib/components/ui/field/field-separator.svelte +38 -0
- package/src/lib/components/ui/field/field-set.svelte +24 -0
- package/src/lib/components/ui/field/field-title.svelte +23 -0
- package/src/lib/components/ui/field/field.svelte +53 -0
- package/src/lib/components/ui/field/index.ts +33 -0
- package/src/lib/components/ui/index.ts +33 -0
- package/src/lib/components/ui/input/index.ts +7 -0
- package/src/lib/components/ui/input/input.svelte +52 -0
- package/src/lib/components/ui/label/index.ts +7 -0
- package/src/lib/components/ui/label/label.svelte +20 -0
- package/src/lib/components/ui/mode-toggle/index.ts +1 -0
- package/src/lib/components/ui/mode-toggle/mode-toggle.svelte +16 -0
- package/src/lib/components/ui/resizable/index.ts +13 -0
- package/src/lib/components/ui/resizable/resizable-handle.svelte +30 -0
- package/src/lib/components/ui/resizable/resizable-pane-group.svelte +20 -0
- package/src/lib/components/ui/scroll-area/index.ts +10 -0
- package/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte +31 -0
- package/src/lib/components/ui/scroll-area/scroll-area.svelte +43 -0
- package/src/lib/components/ui/select/index.ts +37 -0
- package/src/lib/components/ui/select/select-content.svelte +40 -0
- package/src/lib/components/ui/select/select-group-heading.svelte +21 -0
- package/src/lib/components/ui/select/select-group.svelte +7 -0
- package/src/lib/components/ui/select/select-item.svelte +38 -0
- package/src/lib/components/ui/select/select-label.svelte +20 -0
- package/src/lib/components/ui/select/select-scroll-down-button.svelte +20 -0
- package/src/lib/components/ui/select/select-scroll-up-button.svelte +20 -0
- package/src/lib/components/ui/select/select-separator.svelte +18 -0
- package/src/lib/components/ui/select/select-trigger.svelte +29 -0
- package/src/lib/components/ui/separator/index.ts +7 -0
- package/src/lib/components/ui/separator/separator.svelte +21 -0
- package/src/lib/components/ui/slider/index.ts +7 -0
- package/src/lib/components/ui/slider/slider.svelte +52 -0
- package/src/lib/components/ui/sonner/index.ts +2 -0
- package/src/lib/components/ui/sonner/sonner.svelte +13 -0
- package/src/lib/components/ui/switch/index.ts +7 -0
- package/src/lib/components/ui/switch/switch.svelte +29 -0
- package/src/lib/components/ui/tabs/index.ts +16 -0
- package/src/lib/components/ui/tabs/tabs-content.svelte +17 -0
- package/src/lib/components/ui/tabs/tabs-list.svelte +16 -0
- package/src/lib/components/ui/tabs/tabs-trigger.svelte +20 -0
- package/src/lib/components/ui/tabs/tabs.svelte +19 -0
- package/src/lib/components/ui/textarea/index.ts +7 -0
- package/src/lib/components/ui/textarea/textarea.svelte +23 -0
- package/src/lib/components/ui/theme-switcher/ThemeSwitcher.svelte +39 -0
- package/src/lib/components/ui/theme-switcher/index.ts +1 -0
- package/src/lib/composables/useFooterItem.svelte.ts +39 -0
- package/src/lib/constants.ts +6 -0
- package/src/lib/contexts/FOOTER_USAGE.md +164 -0
- package/src/lib/contexts/footerContext.svelte.ts +52 -0
- package/src/lib/dummy-output-values.ts +62 -0
- package/src/lib/dummy-surface-chart.json +13 -0
- package/src/lib/example-schema-left-only.json +367 -0
- package/src/lib/example-schema-right-only.json +322 -0
- package/src/lib/example-schema.json +1582 -0
- package/src/lib/features/preview/handlers.ts +243 -0
- package/src/lib/features/preview/index.ts +2 -0
- package/src/lib/features/preview/notifications.ts +52 -0
- package/src/lib/index.ts +52 -0
- package/src/lib/stores/themeStore.svelte.ts +54 -0
- package/src/lib/styles/base.css +142 -0
- package/src/lib/styles/themes/cyberpunk.css +98 -0
- package/src/lib/styles/themes/neutral.css +72 -0
- package/src/lib/styles/themes/ocean.css +75 -0
- package/src/lib/styles/themes/selva.css +105 -0
- package/src/lib/themes.ts +18 -0
- package/src/lib/types/generated/index.ts +6 -0
- package/src/lib/types/generated/preset.ts +82 -0
- package/src/lib/types/generated/schema.ts +527 -0
- package/src/lib/utils/computeThrottle.svelte.ts +117 -0
- package/src/lib/utils/debounce.ts +30 -0
- package/src/lib/utils/file-download.ts +88 -0
- package/src/lib/utils/loadScript.ts +52 -0
- package/src/lib/utils/param-exporter.ts +242 -0
- package/src/lib/utils/solving.svelte.ts +100 -0
- package/src/lib/utils/utils-shared.ts +57 -0
- package/src/lib/utils/visibility-rules.ts +97 -0
- package/src/lib/utils.ts +13 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Root, {
|
|
2
|
+
type ButtonProps,
|
|
3
|
+
type ButtonSize,
|
|
4
|
+
type ButtonVariant,
|
|
5
|
+
buttonVariants
|
|
6
|
+
} from './button.svelte';
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
Root,
|
|
10
|
+
type ButtonProps as Props,
|
|
11
|
+
//
|
|
12
|
+
Root as Button,
|
|
13
|
+
buttonVariants,
|
|
14
|
+
type ButtonProps,
|
|
15
|
+
type ButtonSize,
|
|
16
|
+
type ButtonVariant
|
|
17
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from "$lib/utils.js";
|
|
3
|
+
import type { ComponentProps } from "svelte";
|
|
4
|
+
import { Separator } from "$lib/components/ui/separator/index.js";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
orientation = "vertical",
|
|
10
|
+
...restProps
|
|
11
|
+
}: ComponentProps<typeof Separator> = $props();
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Separator
|
|
15
|
+
bind:ref
|
|
16
|
+
data-slot="button-group-separator"
|
|
17
|
+
{orientation}
|
|
18
|
+
class={cn("bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto", className)}
|
|
19
|
+
{...restProps}
|
|
20
|
+
/>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
child,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> & {
|
|
12
|
+
child?: Snippet<[{ props: Record<string, unknown> }]>;
|
|
13
|
+
} = $props();
|
|
14
|
+
|
|
15
|
+
const mergedProps = $derived({
|
|
16
|
+
...restProps,
|
|
17
|
+
class: cn(
|
|
18
|
+
"bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
19
|
+
className
|
|
20
|
+
),
|
|
21
|
+
});
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
{#if child}
|
|
25
|
+
{@render child({ props: mergedProps })}
|
|
26
|
+
{:else}
|
|
27
|
+
<div bind:this={ref} {...mergedProps}>
|
|
28
|
+
{@render mergedProps.children?.()}
|
|
29
|
+
</div>
|
|
30
|
+
{/if}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
3
|
+
|
|
4
|
+
export const buttonGroupVariants = tv({
|
|
5
|
+
base: "flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
|
|
6
|
+
variants: {
|
|
7
|
+
orientation: {
|
|
8
|
+
horizontal:
|
|
9
|
+
"[&>*:not(:first-child)]:rounded-s-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-e-none",
|
|
10
|
+
vertical:
|
|
11
|
+
"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: {
|
|
15
|
+
orientation: "horizontal",
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export type ButtonGroupOrientation = VariantProps<typeof buttonGroupVariants>["orientation"];
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<script lang="ts">
|
|
23
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
24
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
25
|
+
|
|
26
|
+
let {
|
|
27
|
+
ref = $bindable(null),
|
|
28
|
+
class: className,
|
|
29
|
+
children,
|
|
30
|
+
orientation = "horizontal",
|
|
31
|
+
...restProps
|
|
32
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> & {
|
|
33
|
+
orientation?: ButtonGroupOrientation;
|
|
34
|
+
} = $props();
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<div
|
|
38
|
+
bind:this={ref}
|
|
39
|
+
role="group"
|
|
40
|
+
data-slot="button-group"
|
|
41
|
+
data-orientation={orientation}
|
|
42
|
+
class={cn(buttonGroupVariants({ orientation }), className)}
|
|
43
|
+
{...restProps}
|
|
44
|
+
>
|
|
45
|
+
{@render children?.()}
|
|
46
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Root from "./button-group.svelte";
|
|
2
|
+
import Text from "./button-group-text.svelte";
|
|
3
|
+
import Separator from "./button-group-separator.svelte";
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
Root,
|
|
7
|
+
Text,
|
|
8
|
+
Separator,
|
|
9
|
+
//
|
|
10
|
+
Root as ButtonGroup,
|
|
11
|
+
Text as ButtonGroupText,
|
|
12
|
+
Separator as ButtonGroupSeparator,
|
|
13
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-action"
|
|
16
|
+
class={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div bind:this={ref} data-slot="card-content" class={cn('px-6', className)} {...restProps}>
|
|
14
|
+
{@render children?.()}
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLParagraphElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<p
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-description"
|
|
16
|
+
class={cn('text-sm text-muted-foreground', className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</p>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-footer"
|
|
16
|
+
class={cn('px-6 [.border-t]:pt-6 flex items-center', className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-header"
|
|
16
|
+
class={cn(
|
|
17
|
+
'gap-1.5 px-6 [.border-b]:pb-6 @container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start has-data-[slot=card-action]:grid-cols-[1fr_auto]',
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-title"
|
|
16
|
+
class={cn('font-semibold leading-none', className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card"
|
|
16
|
+
class={cn(
|
|
17
|
+
'gap-6 py-6 shadow-sm flex flex-col rounded-xl border bg-card text-card-foreground',
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Root from './card.svelte';
|
|
2
|
+
import Content from './card-content.svelte';
|
|
3
|
+
import Description from './card-description.svelte';
|
|
4
|
+
import Footer from './card-footer.svelte';
|
|
5
|
+
import Header from './card-header.svelte';
|
|
6
|
+
import Title from './card-title.svelte';
|
|
7
|
+
import Action from './card-action.svelte';
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
Root,
|
|
11
|
+
Content,
|
|
12
|
+
Description,
|
|
13
|
+
Footer,
|
|
14
|
+
Header,
|
|
15
|
+
Title,
|
|
16
|
+
Action,
|
|
17
|
+
//
|
|
18
|
+
Root as Card,
|
|
19
|
+
Content as CardContent,
|
|
20
|
+
Description as CardDescription,
|
|
21
|
+
Footer as CardFooter,
|
|
22
|
+
Header as CardHeader,
|
|
23
|
+
Title as CardTitle,
|
|
24
|
+
Action as CardAction
|
|
25
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Checkbox as CheckboxPrimitive } from 'bits-ui';
|
|
3
|
+
import CheckIcon from '@lucide/svelte/icons/check';
|
|
4
|
+
import MinusIcon from '@lucide/svelte/icons/minus';
|
|
5
|
+
import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
ref = $bindable(null),
|
|
9
|
+
checked = $bindable(false),
|
|
10
|
+
indeterminate = $bindable(false),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: WithoutChildrenOrChild<CheckboxPrimitive.RootProps> = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<CheckboxPrimitive.Root
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="checkbox"
|
|
19
|
+
class={cn(
|
|
20
|
+
'peer size-4 shadow-xs flex shrink-0 items-center justify-center rounded-[4px] border border-input transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary',
|
|
21
|
+
className
|
|
22
|
+
)}
|
|
23
|
+
bind:checked
|
|
24
|
+
bind:indeterminate
|
|
25
|
+
{...restProps}
|
|
26
|
+
>
|
|
27
|
+
{#snippet children({ checked, indeterminate })}
|
|
28
|
+
<div data-slot="checkbox-indicator" class="text-current transition-none">
|
|
29
|
+
{#if checked}
|
|
30
|
+
<CheckIcon class="size-3.5" />
|
|
31
|
+
{:else if indeterminate}
|
|
32
|
+
<MinusIcon class="size-3.5" />
|
|
33
|
+
{/if}
|
|
34
|
+
</div>
|
|
35
|
+
{/snippet}
|
|
36
|
+
</CheckboxPrimitive.Root>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Collapsible as CollapsiblePrimitive } from 'bits-ui';
|
|
3
|
+
|
|
4
|
+
let { ref = $bindable(null), ...restProps }: CollapsiblePrimitive.ContentProps = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<CollapsiblePrimitive.Content bind:ref data-slot="collapsible-content" {...restProps} />
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Collapsible as CollapsiblePrimitive } from 'bits-ui';
|
|
3
|
+
|
|
4
|
+
let { ref = $bindable(null), ...restProps }: CollapsiblePrimitive.TriggerProps = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<CollapsiblePrimitive.Trigger bind:ref data-slot="collapsible-trigger" {...restProps} />
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Collapsible as CollapsiblePrimitive } from 'bits-ui';
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
ref = $bindable(null),
|
|
6
|
+
open = $bindable(false),
|
|
7
|
+
...restProps
|
|
8
|
+
}: CollapsiblePrimitive.RootProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<CollapsiblePrimitive.Root bind:ref bind:open data-slot="collapsible" {...restProps} />
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Root from './collapsible.svelte';
|
|
2
|
+
import Trigger from './collapsible-trigger.svelte';
|
|
3
|
+
import Content from './collapsible-content.svelte';
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
Root,
|
|
7
|
+
Content,
|
|
8
|
+
Trigger,
|
|
9
|
+
//
|
|
10
|
+
Root as Collapsible,
|
|
11
|
+
Content as CollapsibleContent,
|
|
12
|
+
Trigger as CollapsibleTrigger
|
|
13
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import CheckIcon from '@lucide/svelte/icons/check';
|
|
4
|
+
import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';
|
|
5
|
+
import type { Snippet } from 'svelte';
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
ref = $bindable(null),
|
|
9
|
+
checked = $bindable(false),
|
|
10
|
+
indeterminate = $bindable(false),
|
|
11
|
+
class: className,
|
|
12
|
+
children: childrenProp,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithoutChildrenOrChild<ContextMenuPrimitive.CheckboxItemProps> & {
|
|
15
|
+
children?: Snippet;
|
|
16
|
+
} = $props();
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<ContextMenuPrimitive.CheckboxItem
|
|
20
|
+
bind:ref
|
|
21
|
+
bind:checked
|
|
22
|
+
bind:indeterminate
|
|
23
|
+
data-slot="context-menu-checkbox-item"
|
|
24
|
+
class={cn(
|
|
25
|
+
"gap-2 py-1.5 pe-2 ps-8 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center rounded-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
26
|
+
className
|
|
27
|
+
)}
|
|
28
|
+
{...restProps}
|
|
29
|
+
>
|
|
30
|
+
{#snippet children({ checked })}
|
|
31
|
+
<span class="start-2 size-3.5 pointer-events-none absolute flex items-center justify-center">
|
|
32
|
+
{#if checked}
|
|
33
|
+
<CheckIcon class="size-4" />
|
|
34
|
+
{/if}
|
|
35
|
+
</span>
|
|
36
|
+
{@render childrenProp?.()}
|
|
37
|
+
{/snippet}
|
|
38
|
+
</ContextMenuPrimitive.CheckboxItem>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import { cn } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
portalProps,
|
|
8
|
+
class: className,
|
|
9
|
+
...restProps
|
|
10
|
+
}: ContextMenuPrimitive.ContentProps & {
|
|
11
|
+
portalProps?: ContextMenuPrimitive.PortalProps;
|
|
12
|
+
} = $props();
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<ContextMenuPrimitive.Portal {...portalProps}>
|
|
16
|
+
<ContextMenuPrimitive.Content
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="context-menu-content"
|
|
19
|
+
class={cn(
|
|
20
|
+
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 p-1 shadow-md z-50 max-h-(--bits-context-menu-content-available-height) min-w-[8rem] origin-(--bits-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground',
|
|
21
|
+
className
|
|
22
|
+
)}
|
|
23
|
+
{...restProps}
|
|
24
|
+
/>
|
|
25
|
+
</ContextMenuPrimitive.Portal>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import { cn } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
inset,
|
|
9
|
+
...restProps
|
|
10
|
+
}: ContextMenuPrimitive.GroupHeadingProps & {
|
|
11
|
+
inset?: boolean;
|
|
12
|
+
} = $props();
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<ContextMenuPrimitive.GroupHeading
|
|
16
|
+
bind:ref
|
|
17
|
+
data-slot="context-menu-group-heading"
|
|
18
|
+
data-inset={inset}
|
|
19
|
+
class={cn('px-2 py-1.5 text-sm font-medium data-[inset]:ps-8 text-foreground', className)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
/>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
|
|
4
|
+
let { ref = $bindable(null), ...restProps }: ContextMenuPrimitive.GroupProps = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<ContextMenuPrimitive.Group bind:ref data-slot="context-menu-group" {...restProps} />
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import { cn } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
inset,
|
|
9
|
+
variant = 'default',
|
|
10
|
+
...restProps
|
|
11
|
+
}: ContextMenuPrimitive.ItemProps & {
|
|
12
|
+
inset?: boolean;
|
|
13
|
+
variant?: 'default' | 'destructive';
|
|
14
|
+
} = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<ContextMenuPrimitive.Item
|
|
18
|
+
bind:ref
|
|
19
|
+
data-slot="context-menu-item"
|
|
20
|
+
data-inset={inset}
|
|
21
|
+
data-variant={variant}
|
|
22
|
+
class={cn(
|
|
23
|
+
"gap-2 px-2 py-1.5 text-sm data-[inset]:ps-8 [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center rounded-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive",
|
|
24
|
+
className
|
|
25
|
+
)}
|
|
26
|
+
{...restProps}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
inset,
|
|
9
|
+
children,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> & {
|
|
12
|
+
inset?: boolean;
|
|
13
|
+
} = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<div
|
|
17
|
+
bind:this={ref}
|
|
18
|
+
data-slot="context-menu-label"
|
|
19
|
+
data-inset={inset}
|
|
20
|
+
class={cn('px-2 py-1.5 text-sm font-medium data-[inset]:ps-8 text-foreground', className)}
|
|
21
|
+
{...restProps}
|
|
22
|
+
>
|
|
23
|
+
{@render children?.()}
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
ref = $bindable(null),
|
|
6
|
+
value = $bindable(''),
|
|
7
|
+
...restProps
|
|
8
|
+
}: ContextMenuPrimitive.RadioGroupProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<ContextMenuPrimitive.RadioGroup
|
|
12
|
+
bind:ref
|
|
13
|
+
bind:value
|
|
14
|
+
data-slot="context-menu-radio-group"
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import CircleIcon from '@lucide/svelte/icons/circle';
|
|
4
|
+
import { cn, type WithoutChild } from '$lib/utils.js';
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
ref = $bindable(null),
|
|
8
|
+
class: className,
|
|
9
|
+
children: childrenProp,
|
|
10
|
+
...restProps
|
|
11
|
+
}: WithoutChild<ContextMenuPrimitive.RadioItemProps> = $props();
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<ContextMenuPrimitive.RadioItem
|
|
15
|
+
bind:ref
|
|
16
|
+
data-slot="context-menu-radio-item"
|
|
17
|
+
class={cn(
|
|
18
|
+
"gap-2 py-1.5 pe-2 ps-8 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center rounded-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
19
|
+
className
|
|
20
|
+
)}
|
|
21
|
+
{...restProps}
|
|
22
|
+
>
|
|
23
|
+
{#snippet children({ checked })}
|
|
24
|
+
<span class="start-2 size-3.5 pointer-events-none absolute flex items-center justify-center">
|
|
25
|
+
{#if checked}
|
|
26
|
+
<CircleIcon class="size-2 fill-current" />
|
|
27
|
+
{/if}
|
|
28
|
+
</span>
|
|
29
|
+
{@render childrenProp?.({ checked })}
|
|
30
|
+
{/snippet}
|
|
31
|
+
</ContextMenuPrimitive.RadioItem>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import { cn } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: ContextMenuPrimitive.SeparatorProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<ContextMenuPrimitive.Separator
|
|
13
|
+
bind:ref
|
|
14
|
+
data-slot="context-menu-separator"
|
|
15
|
+
class={cn('-mx-1 my-1 h-px bg-border', className)}
|
|
16
|
+
{...restProps}
|
|
17
|
+
/>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLSpanElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<span
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="context-menu-shortcut"
|
|
16
|
+
class={cn('text-xs tracking-widest ms-auto text-muted-foreground', className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</span>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
|
3
|
+
import { cn } from '$lib/utils.js';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: ContextMenuPrimitive.SubContentProps = $props();
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<ContextMenuPrimitive.SubContent
|
|
13
|
+
bind:ref
|
|
14
|
+
data-slot="context-menu-sub-content"
|
|
15
|
+
class={cn(
|
|
16
|
+
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 p-1 shadow-lg z-50 min-w-[8rem] origin-(--bits-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover text-popover-foreground',
|
|
17
|
+
className
|
|
18
|
+
)}
|
|
19
|
+
{...restProps}
|
|
20
|
+
/>
|