@sewadah/selaras 0.1.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 +131 -0
- package/dist/module.d.mts +22 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +127 -0
- package/dist/runtime/components/Accordion.d.vue.ts +59 -0
- package/dist/runtime/components/Accordion.vue +65 -0
- package/dist/runtime/components/Accordion.vue.d.ts +59 -0
- package/dist/runtime/components/Alert.d.vue.ts +39 -0
- package/dist/runtime/components/Alert.vue +64 -0
- package/dist/runtime/components/Alert.vue.d.ts +39 -0
- package/dist/runtime/components/AlertDialog.d.vue.ts +66 -0
- package/dist/runtime/components/AlertDialog.vue +116 -0
- package/dist/runtime/components/AlertDialog.vue.d.ts +66 -0
- package/dist/runtime/components/App.d.vue.ts +32 -0
- package/dist/runtime/components/App.vue +26 -0
- package/dist/runtime/components/App.vue.d.ts +32 -0
- package/dist/runtime/components/Autocomplete.d.vue.ts +61 -0
- package/dist/runtime/components/Autocomplete.vue +41 -0
- package/dist/runtime/components/Autocomplete.vue.d.ts +61 -0
- package/dist/runtime/components/Avatar.d.vue.ts +46 -0
- package/dist/runtime/components/Avatar.vue +64 -0
- package/dist/runtime/components/Avatar.vue.d.ts +46 -0
- package/dist/runtime/components/AvatarGroup.d.vue.ts +14 -0
- package/dist/runtime/components/AvatarGroup.vue +41 -0
- package/dist/runtime/components/AvatarGroup.vue.d.ts +14 -0
- package/dist/runtime/components/Badge.d.vue.ts +37 -0
- package/dist/runtime/components/Badge.vue +47 -0
- package/dist/runtime/components/Badge.vue.d.ts +37 -0
- package/dist/runtime/components/Breadcrumb.d.vue.ts +37 -0
- package/dist/runtime/components/Breadcrumb.vue +109 -0
- package/dist/runtime/components/Breadcrumb.vue.d.ts +37 -0
- package/dist/runtime/components/Button.d.vue.ts +45 -0
- package/dist/runtime/components/Button.vue +67 -0
- package/dist/runtime/components/Button.vue.d.ts +45 -0
- package/dist/runtime/components/ButtonGroup.d.vue.ts +22 -0
- package/dist/runtime/components/ButtonGroup.vue +21 -0
- package/dist/runtime/components/ButtonGroup.vue.d.ts +22 -0
- package/dist/runtime/components/Callout.d.vue.ts +27 -0
- package/dist/runtime/components/Callout.vue +47 -0
- package/dist/runtime/components/Callout.vue.d.ts +27 -0
- package/dist/runtime/components/Card.d.vue.ts +25 -0
- package/dist/runtime/components/Card.vue +30 -0
- package/dist/runtime/components/Card.vue.d.ts +25 -0
- package/dist/runtime/components/CardGroup.d.vue.ts +23 -0
- package/dist/runtime/components/CardGroup.vue +19 -0
- package/dist/runtime/components/CardGroup.vue.d.ts +23 -0
- package/dist/runtime/components/Checkbox.d.vue.ts +45 -0
- package/dist/runtime/components/Checkbox.vue +76 -0
- package/dist/runtime/components/Checkbox.vue.d.ts +45 -0
- package/dist/runtime/components/Chip.d.vue.ts +50 -0
- package/dist/runtime/components/Chip.vue +75 -0
- package/dist/runtime/components/Chip.vue.d.ts +50 -0
- package/dist/runtime/components/CodeButton.d.vue.ts +21 -0
- package/dist/runtime/components/CodeButton.vue +33 -0
- package/dist/runtime/components/CodeButton.vue.d.ts +21 -0
- package/dist/runtime/components/CodeGroup.d.vue.ts +3 -0
- package/dist/runtime/components/CodeGroup.vue +46 -0
- package/dist/runtime/components/CodeGroup.vue.d.ts +3 -0
- package/dist/runtime/components/CodeTree.d.vue.ts +17 -0
- package/dist/runtime/components/CodeTree.vue +56 -0
- package/dist/runtime/components/CodeTree.vue.d.ts +17 -0
- package/dist/runtime/components/Collapsible.d.vue.ts +44 -0
- package/dist/runtime/components/Collapsible.vue +52 -0
- package/dist/runtime/components/Collapsible.vue.d.ts +44 -0
- package/dist/runtime/components/ColorModeToggle.d.vue.ts +3 -0
- package/dist/runtime/components/ColorModeToggle.vue +24 -0
- package/dist/runtime/components/ColorModeToggle.vue.d.ts +3 -0
- package/dist/runtime/components/ColorPicker.d.vue.ts +30 -0
- package/dist/runtime/components/ColorPicker.vue +112 -0
- package/dist/runtime/components/ColorPicker.vue.d.ts +30 -0
- package/dist/runtime/components/Column.d.ts +72 -0
- package/dist/runtime/components/Column.js +34 -0
- package/dist/runtime/components/ColumnGroup.d.ts +33 -0
- package/dist/runtime/components/ColumnGroup.js +17 -0
- package/dist/runtime/components/CommandPalette.d.vue.ts +41 -0
- package/dist/runtime/components/CommandPalette.vue +208 -0
- package/dist/runtime/components/CommandPalette.vue.d.ts +41 -0
- package/dist/runtime/components/Container.d.vue.ts +22 -0
- package/dist/runtime/components/Container.vue +21 -0
- package/dist/runtime/components/Container.vue.d.ts +22 -0
- package/dist/runtime/components/ContentNavigation.d.vue.ts +31 -0
- package/dist/runtime/components/ContentNavigation.vue +64 -0
- package/dist/runtime/components/ContentNavigation.vue.d.ts +31 -0
- package/dist/runtime/components/ContentSurround.d.vue.ts +16 -0
- package/dist/runtime/components/ContentSurround.vue +46 -0
- package/dist/runtime/components/ContentSurround.vue.d.ts +16 -0
- package/dist/runtime/components/ContentToc.d.vue.ts +35 -0
- package/dist/runtime/components/ContentToc.vue +265 -0
- package/dist/runtime/components/ContentToc.vue.d.ts +35 -0
- package/dist/runtime/components/ContextMenu.d.vue.ts +33 -0
- package/dist/runtime/components/ContextMenu.vue +49 -0
- package/dist/runtime/components/ContextMenu.vue.d.ts +33 -0
- package/dist/runtime/components/DashboardGroup.d.vue.ts +24 -0
- package/dist/runtime/components/DashboardGroup.vue +52 -0
- package/dist/runtime/components/DashboardGroup.vue.d.ts +24 -0
- package/dist/runtime/components/DashboardNavbar.d.vue.ts +23 -0
- package/dist/runtime/components/DashboardNavbar.vue +33 -0
- package/dist/runtime/components/DashboardNavbar.vue.d.ts +23 -0
- package/dist/runtime/components/DashboardPanel.d.vue.ts +22 -0
- package/dist/runtime/components/DashboardPanel.vue +26 -0
- package/dist/runtime/components/DashboardPanel.vue.d.ts +22 -0
- package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +8 -0
- package/dist/runtime/components/DashboardResizeHandle.vue +19 -0
- package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +8 -0
- package/dist/runtime/components/DashboardSidebar.d.vue.ts +40 -0
- package/dist/runtime/components/DashboardSidebar.vue +117 -0
- package/dist/runtime/components/DashboardSidebar.vue.d.ts +40 -0
- package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +21 -0
- package/dist/runtime/components/DashboardSidebarToggle.vue +42 -0
- package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +21 -0
- package/dist/runtime/components/DatePicker.d.vue.ts +165 -0
- package/dist/runtime/components/DatePicker.vue +796 -0
- package/dist/runtime/components/DatePicker.vue.d.ts +165 -0
- package/dist/runtime/components/Drawer.d.vue.ts +74 -0
- package/dist/runtime/components/Drawer.vue +157 -0
- package/dist/runtime/components/Drawer.vue.d.ts +74 -0
- package/dist/runtime/components/DrawerRenderer.d.vue.ts +3 -0
- package/dist/runtime/components/DrawerRenderer.vue +30 -0
- package/dist/runtime/components/DrawerRenderer.vue.d.ts +3 -0
- package/dist/runtime/components/Dropdown.d.vue.ts +35 -0
- package/dist/runtime/components/Dropdown.vue +51 -0
- package/dist/runtime/components/Dropdown.vue.d.ts +35 -0
- package/dist/runtime/components/FileTree.d.vue.ts +28 -0
- package/dist/runtime/components/FileTree.vue +68 -0
- package/dist/runtime/components/FileTree.vue.d.ts +28 -0
- package/dist/runtime/components/FileUpload.d.vue.ts +68 -0
- package/dist/runtime/components/FileUpload.vue +226 -0
- package/dist/runtime/components/FileUpload.vue.d.ts +68 -0
- package/dist/runtime/components/FormField.d.vue.ts +37 -0
- package/dist/runtime/components/FormField.vue +72 -0
- package/dist/runtime/components/FormField.vue.d.ts +37 -0
- package/dist/runtime/components/Header.d.vue.ts +20 -0
- package/dist/runtime/components/Header.vue +23 -0
- package/dist/runtime/components/Header.vue.d.ts +20 -0
- package/dist/runtime/components/Icon.d.vue.ts +14 -0
- package/dist/runtime/components/Icon.vue +18 -0
- package/dist/runtime/components/Icon.vue.d.ts +14 -0
- package/dist/runtime/components/Input.d.vue.ts +41 -0
- package/dist/runtime/components/Input.vue +86 -0
- package/dist/runtime/components/Input.vue.d.ts +41 -0
- package/dist/runtime/components/InputGroup.d.vue.ts +22 -0
- package/dist/runtime/components/InputGroup.vue +21 -0
- package/dist/runtime/components/InputGroup.vue.d.ts +22 -0
- package/dist/runtime/components/InputNumber.d.vue.ts +37 -0
- package/dist/runtime/components/InputNumber.vue +173 -0
- package/dist/runtime/components/InputNumber.vue.d.ts +37 -0
- package/dist/runtime/components/Kbd.d.vue.ts +24 -0
- package/dist/runtime/components/Kbd.vue +42 -0
- package/dist/runtime/components/Kbd.vue.d.ts +24 -0
- package/dist/runtime/components/Modal.d.vue.ts +72 -0
- package/dist/runtime/components/Modal.vue +178 -0
- package/dist/runtime/components/Modal.vue.d.ts +72 -0
- package/dist/runtime/components/ModalRenderer.d.vue.ts +3 -0
- package/dist/runtime/components/ModalRenderer.vue +25 -0
- package/dist/runtime/components/ModalRenderer.vue.d.ts +3 -0
- package/dist/runtime/components/NavigationMenu.d.vue.ts +108 -0
- package/dist/runtime/components/NavigationMenu.vue +166 -0
- package/dist/runtime/components/NavigationMenu.vue.d.ts +108 -0
- package/dist/runtime/components/NavigationMenuAccordionItem.d.vue.ts +23 -0
- package/dist/runtime/components/NavigationMenuAccordionItem.vue +106 -0
- package/dist/runtime/components/NavigationMenuAccordionItem.vue.d.ts +23 -0
- package/dist/runtime/components/NavigationMenuFlyoutList.d.vue.ts +19 -0
- package/dist/runtime/components/NavigationMenuFlyoutList.vue +44 -0
- package/dist/runtime/components/NavigationMenuFlyoutList.vue.d.ts +19 -0
- package/dist/runtime/components/NavigationMenuFlyoutTrigger.d.vue.ts +49 -0
- package/dist/runtime/components/NavigationMenuFlyoutTrigger.vue +116 -0
- package/dist/runtime/components/NavigationMenuFlyoutTrigger.vue.d.ts +49 -0
- package/dist/runtime/components/PageAside.d.vue.ts +20 -0
- package/dist/runtime/components/PageAside.vue +26 -0
- package/dist/runtime/components/PageAside.vue.d.ts +20 -0
- package/dist/runtime/components/PageHeader.d.vue.ts +24 -0
- package/dist/runtime/components/PageHeader.vue +30 -0
- package/dist/runtime/components/PageHeader.vue.d.ts +24 -0
- package/dist/runtime/components/Pagination.d.vue.ts +42 -0
- package/dist/runtime/components/Pagination.vue +113 -0
- package/dist/runtime/components/Pagination.vue.d.ts +42 -0
- package/dist/runtime/components/PinInput.d.vue.ts +40 -0
- package/dist/runtime/components/PinInput.vue +66 -0
- package/dist/runtime/components/PinInput.vue.d.ts +40 -0
- package/dist/runtime/components/Popover.d.vue.ts +52 -0
- package/dist/runtime/components/Popover.vue +77 -0
- package/dist/runtime/components/Popover.vue.d.ts +52 -0
- package/dist/runtime/components/Progress.d.vue.ts +32 -0
- package/dist/runtime/components/Progress.vue +76 -0
- package/dist/runtime/components/Progress.vue.d.ts +32 -0
- package/dist/runtime/components/ProseH1.d.vue.ts +18 -0
- package/dist/runtime/components/ProseH1.vue +21 -0
- package/dist/runtime/components/ProseH1.vue.d.ts +18 -0
- package/dist/runtime/components/ProseH2.d.vue.ts +18 -0
- package/dist/runtime/components/ProseH2.vue +21 -0
- package/dist/runtime/components/ProseH2.vue.d.ts +18 -0
- package/dist/runtime/components/ProseH3.d.vue.ts +18 -0
- package/dist/runtime/components/ProseH3.vue +21 -0
- package/dist/runtime/components/ProseH3.vue.d.ts +18 -0
- package/dist/runtime/components/ProseH4.d.vue.ts +18 -0
- package/dist/runtime/components/ProseH4.vue +21 -0
- package/dist/runtime/components/ProseH4.vue.d.ts +18 -0
- package/dist/runtime/components/ProseH5.d.vue.ts +18 -0
- package/dist/runtime/components/ProseH5.vue +21 -0
- package/dist/runtime/components/ProseH5.vue.d.ts +18 -0
- package/dist/runtime/components/ProseH6.d.vue.ts +18 -0
- package/dist/runtime/components/ProseH6.vue +21 -0
- package/dist/runtime/components/ProseH6.vue.d.ts +18 -0
- package/dist/runtime/components/ProsePre.d.vue.ts +20 -0
- package/dist/runtime/components/ProsePre.vue +50 -0
- package/dist/runtime/components/ProsePre.vue.d.ts +20 -0
- package/dist/runtime/components/RadioGroup.d.vue.ts +50 -0
- package/dist/runtime/components/RadioGroup.vue +82 -0
- package/dist/runtime/components/RadioGroup.vue.d.ts +50 -0
- package/dist/runtime/components/Rating.d.vue.ts +36 -0
- package/dist/runtime/components/Rating.vue +83 -0
- package/dist/runtime/components/Rating.vue.d.ts +36 -0
- package/dist/runtime/components/ReadMore.d.vue.ts +20 -0
- package/dist/runtime/components/ReadMore.vue +59 -0
- package/dist/runtime/components/ReadMore.vue.d.ts +20 -0
- package/dist/runtime/components/ScrollArea.d.vue.ts +19 -0
- package/dist/runtime/components/ScrollArea.vue +37 -0
- package/dist/runtime/components/ScrollArea.vue.d.ts +19 -0
- package/dist/runtime/components/Select.d.vue.ts +60 -0
- package/dist/runtime/components/Select.vue +40 -0
- package/dist/runtime/components/Select.vue.d.ts +60 -0
- package/dist/runtime/components/Separator.d.vue.ts +27 -0
- package/dist/runtime/components/Separator.vue +36 -0
- package/dist/runtime/components/Separator.vue.d.ts +27 -0
- package/dist/runtime/components/Skeleton.d.vue.ts +13 -0
- package/dist/runtime/components/Skeleton.vue +17 -0
- package/dist/runtime/components/Skeleton.vue.d.ts +13 -0
- package/dist/runtime/components/Slideover.d.vue.ts +65 -0
- package/dist/runtime/components/Slideover.vue +140 -0
- package/dist/runtime/components/Slideover.vue.d.ts +65 -0
- package/dist/runtime/components/SlideoverRenderer.d.vue.ts +3 -0
- package/dist/runtime/components/SlideoverRenderer.vue +27 -0
- package/dist/runtime/components/SlideoverRenderer.vue.d.ts +3 -0
- package/dist/runtime/components/Slider.d.vue.ts +60 -0
- package/dist/runtime/components/Slider.vue +186 -0
- package/dist/runtime/components/Slider.vue.d.ts +60 -0
- package/dist/runtime/components/Splitter.d.vue.ts +41 -0
- package/dist/runtime/components/Splitter.vue +31 -0
- package/dist/runtime/components/Splitter.vue.d.ts +41 -0
- package/dist/runtime/components/SplitterPanel.d.vue.ts +55 -0
- package/dist/runtime/components/SplitterPanel.vue +52 -0
- package/dist/runtime/components/SplitterPanel.vue.d.ts +55 -0
- package/dist/runtime/components/SplitterResizeHandle.d.vue.ts +14 -0
- package/dist/runtime/components/SplitterResizeHandle.vue +22 -0
- package/dist/runtime/components/SplitterResizeHandle.vue.d.ts +14 -0
- package/dist/runtime/components/Stepper.d.vue.ts +57 -0
- package/dist/runtime/components/Stepper.vue +101 -0
- package/dist/runtime/components/Stepper.vue.d.ts +57 -0
- package/dist/runtime/components/Switch.d.vue.ts +49 -0
- package/dist/runtime/components/Switch.vue +73 -0
- package/dist/runtime/components/Switch.vue.d.ts +49 -0
- package/dist/runtime/components/Table.d.vue.ts +83 -0
- package/dist/runtime/components/Table.vue +339 -0
- package/dist/runtime/components/Table.vue.d.ts +83 -0
- package/dist/runtime/components/Tabs.d.vue.ts +43 -0
- package/dist/runtime/components/Tabs.vue +60 -0
- package/dist/runtime/components/Tabs.vue.d.ts +43 -0
- package/dist/runtime/components/Textarea.d.vue.ts +45 -0
- package/dist/runtime/components/Textarea.vue +110 -0
- package/dist/runtime/components/Textarea.vue.d.ts +45 -0
- package/dist/runtime/components/Theme.d.vue.ts +19 -0
- package/dist/runtime/components/Theme.vue +18 -0
- package/dist/runtime/components/Theme.vue.d.ts +19 -0
- package/dist/runtime/components/Toast.d.vue.ts +8 -0
- package/dist/runtime/components/Toast.vue +58 -0
- package/dist/runtime/components/Toast.vue.d.ts +8 -0
- package/dist/runtime/components/Toggle.d.vue.ts +38 -0
- package/dist/runtime/components/Toggle.vue +44 -0
- package/dist/runtime/components/Toggle.vue.d.ts +38 -0
- package/dist/runtime/components/ToggleGroup.d.vue.ts +48 -0
- package/dist/runtime/components/ToggleGroup.vue +61 -0
- package/dist/runtime/components/ToggleGroup.vue.d.ts +48 -0
- package/dist/runtime/components/Tooltip.d.vue.ts +28 -0
- package/dist/runtime/components/Tooltip.vue +40 -0
- package/dist/runtime/components/Tooltip.vue.d.ts +28 -0
- package/dist/runtime/components/Tree.d.vue.ts +64 -0
- package/dist/runtime/components/Tree.vue +139 -0
- package/dist/runtime/components/Tree.vue.d.ts +64 -0
- package/dist/runtime/composables/use-combobox-select.d.ts +45 -0
- package/dist/runtime/composables/use-combobox-select.js +80 -0
- package/dist/runtime/composables/use-command-palette.d.ts +8 -0
- package/dist/runtime/composables/use-command-palette.js +14 -0
- package/dist/runtime/composables/use-drawer.d.ts +42 -0
- package/dist/runtime/composables/use-drawer.js +44 -0
- package/dist/runtime/composables/use-form-field.d.ts +10 -0
- package/dist/runtime/composables/use-form-field.js +8 -0
- package/dist/runtime/composables/use-icons.d.ts +10 -0
- package/dist/runtime/composables/use-icons.js +7 -0
- package/dist/runtime/composables/use-locale.d.ts +12 -0
- package/dist/runtime/composables/use-locale.js +6 -0
- package/dist/runtime/composables/use-media-query.d.ts +11 -0
- package/dist/runtime/composables/use-media-query.js +15 -0
- package/dist/runtime/composables/use-messages.d.ts +12 -0
- package/dist/runtime/composables/use-messages.js +7 -0
- package/dist/runtime/composables/use-modal.d.ts +32 -0
- package/dist/runtime/composables/use-modal.js +39 -0
- package/dist/runtime/composables/use-ripple.d.ts +15 -0
- package/dist/runtime/composables/use-ripple.js +6 -0
- package/dist/runtime/composables/use-slideover.d.ts +36 -0
- package/dist/runtime/composables/use-slideover.js +41 -0
- package/dist/runtime/composables/use-table.d.ts +63 -0
- package/dist/runtime/composables/use-table.js +142 -0
- package/dist/runtime/composables/use-toast.d.ts +15 -0
- package/dist/runtime/composables/use-toast.js +16 -0
- package/dist/runtime/directives/index.d.ts +1 -0
- package/dist/runtime/directives/index.js +1 -0
- package/dist/runtime/directives/ripple.d.ts +16 -0
- package/dist/runtime/directives/ripple.js +80 -0
- package/dist/runtime/internal/ColorPickerBody.d.vue.ts +26 -0
- package/dist/runtime/internal/ColorPickerBody.vue +111 -0
- package/dist/runtime/internal/ColorPickerBody.vue.d.ts +26 -0
- package/dist/runtime/internal/ComboboxSelectBase.d.vue.ts +122 -0
- package/dist/runtime/internal/ComboboxSelectBase.vue +590 -0
- package/dist/runtime/internal/ComboboxSelectBase.vue.d.ts +122 -0
- package/dist/runtime/internal/ComboboxSelectBody.d.vue.ts +71 -0
- package/dist/runtime/internal/ComboboxSelectBody.vue +146 -0
- package/dist/runtime/internal/ComboboxSelectBody.vue.d.ts +71 -0
- package/dist/runtime/internal/DatePickerCalendarBody.d.vue.ts +71 -0
- package/dist/runtime/internal/DatePickerCalendarBody.vue +215 -0
- package/dist/runtime/internal/DatePickerCalendarBody.vue.d.ts +71 -0
- package/dist/runtime/internal/DatePickerRangeCalendarBody.d.vue.ts +37 -0
- package/dist/runtime/internal/DatePickerRangeCalendarBody.vue +96 -0
- package/dist/runtime/internal/DatePickerRangeCalendarBody.vue.d.ts +37 -0
- package/dist/runtime/internal/DatePickerTimeBody.d.vue.ts +33 -0
- package/dist/runtime/internal/DatePickerTimeBody.vue +53 -0
- package/dist/runtime/internal/DatePickerTimeBody.vue.d.ts +33 -0
- package/dist/runtime/internal/TimeStepper.d.vue.ts +28 -0
- package/dist/runtime/internal/TimeStepper.vue +99 -0
- package/dist/runtime/internal/TimeStepper.vue.d.ts +28 -0
- package/dist/runtime/prose.css +1 -0
- package/dist/runtime/server/tsconfig.json +3 -0
- package/dist/runtime/theme/accordion.d.ts +131 -0
- package/dist/runtime/theme/accordion.js +60 -0
- package/dist/runtime/theme/alert-dialog.d.ts +50 -0
- package/dist/runtime/theme/alert-dialog.js +30 -0
- package/dist/runtime/theme/alert.d.ts +62 -0
- package/dist/runtime/theme/alert.js +52 -0
- package/dist/runtime/theme/avatar-group.d.ts +59 -0
- package/dist/runtime/theme/avatar-group.js +18 -0
- package/dist/runtime/theme/avatar.d.ts +206 -0
- package/dist/runtime/theme/avatar.js +67 -0
- package/dist/runtime/theme/badge.d.ts +140 -0
- package/dist/runtime/theme/badge.js +90 -0
- package/dist/runtime/theme/breadcrumb.d.ts +86 -0
- package/dist/runtime/theme/breadcrumb.js +22 -0
- package/dist/runtime/theme/button-group.d.ts +53 -0
- package/dist/runtime/theme/button-group.js +21 -0
- package/dist/runtime/theme/button.d.ts +155 -0
- package/dist/runtime/theme/button.js +99 -0
- package/dist/runtime/theme/callout.d.ts +74 -0
- package/dist/runtime/theme/callout.js +23 -0
- package/dist/runtime/theme/card-group.d.ts +44 -0
- package/dist/runtime/theme/card-group.js +19 -0
- package/dist/runtime/theme/card.d.ts +62 -0
- package/dist/runtime/theme/card.js +23 -0
- package/dist/runtime/theme/checkbox.d.ts +218 -0
- package/dist/runtime/theme/checkbox.js +113 -0
- package/dist/runtime/theme/chip.d.ts +155 -0
- package/dist/runtime/theme/chip.js +86 -0
- package/dist/runtime/theme/code-button.d.ts +32 -0
- package/dist/runtime/theme/code-button.js +7 -0
- package/dist/runtime/theme/code-tree.d.ts +50 -0
- package/dist/runtime/theme/code-tree.js +13 -0
- package/dist/runtime/theme/collapsible.d.ts +95 -0
- package/dist/runtime/theme/collapsible.js +46 -0
- package/dist/runtime/theme/color-picker.d.ts +152 -0
- package/dist/runtime/theme/color-picker.js +83 -0
- package/dist/runtime/theme/command-palette.d.ts +110 -0
- package/dist/runtime/theme/command-palette.js +23 -0
- package/dist/runtime/theme/container.d.ts +62 -0
- package/dist/runtime/theme/container.js +18 -0
- package/dist/runtime/theme/content-navigation.d.ts +47 -0
- package/dist/runtime/theme/content-navigation.js +38 -0
- package/dist/runtime/theme/content-surround.d.ts +53 -0
- package/dist/runtime/theme/content-surround.js +22 -0
- package/dist/runtime/theme/content-toc.d.ts +56 -0
- package/dist/runtime/theme/content-toc.js +41 -0
- package/dist/runtime/theme/context-menu.d.ts +38 -0
- package/dist/runtime/theme/context-menu.js +21 -0
- package/dist/runtime/theme/dashboard-group.d.ts +26 -0
- package/dist/runtime/theme/dashboard-group.js +9 -0
- package/dist/runtime/theme/dashboard-navbar.d.ts +44 -0
- package/dist/runtime/theme/dashboard-navbar.js +9 -0
- package/dist/runtime/theme/dashboard-panel.d.ts +26 -0
- package/dist/runtime/theme/dashboard-panel.js +6 -0
- package/dist/runtime/theme/dashboard-resize-handle.d.ts +26 -0
- package/dist/runtime/theme/dashboard-resize-handle.js +17 -0
- package/dist/runtime/theme/dashboard-sidebar.d.ts +50 -0
- package/dist/runtime/theme/dashboard-sidebar.js +40 -0
- package/dist/runtime/theme/date-picker.d.ts +119 -0
- package/dist/runtime/theme/date-picker.js +75 -0
- package/dist/runtime/theme/drawer.d.ts +95 -0
- package/dist/runtime/theme/drawer.js +57 -0
- package/dist/runtime/theme/dropdown.d.ts +41 -0
- package/dist/runtime/theme/dropdown.js +21 -0
- package/dist/runtime/theme/file-tree.d.ts +56 -0
- package/dist/runtime/theme/file-tree.js +33 -0
- package/dist/runtime/theme/file-upload.d.ts +233 -0
- package/dist/runtime/theme/file-upload.js +63 -0
- package/dist/runtime/theme/form-field.d.ts +95 -0
- package/dist/runtime/theme/form-field.js +37 -0
- package/dist/runtime/theme/header.d.ts +38 -0
- package/dist/runtime/theme/header.js +8 -0
- package/dist/runtime/theme/icon.d.ts +80 -0
- package/dist/runtime/theme/icon.js +26 -0
- package/dist/runtime/theme/input-group.d.ts +95 -0
- package/dist/runtime/theme/input-group.js +39 -0
- package/dist/runtime/theme/input-number.d.ts +164 -0
- package/dist/runtime/theme/input-number.js +76 -0
- package/dist/runtime/theme/input.d.ts +185 -0
- package/dist/runtime/theme/input.js +72 -0
- package/dist/runtime/theme/kbd.d.ts +44 -0
- package/dist/runtime/theme/kbd.js +16 -0
- package/dist/runtime/theme/modal.d.ts +74 -0
- package/dist/runtime/theme/modal.js +58 -0
- package/dist/runtime/theme/navigation-menu.d.ts +224 -0
- package/dist/runtime/theme/navigation-menu.js +232 -0
- package/dist/runtime/theme/page-aside.d.ts +44 -0
- package/dist/runtime/theme/page-aside.js +17 -0
- package/dist/runtime/theme/page-header.d.ts +38 -0
- package/dist/runtime/theme/page-header.js +8 -0
- package/dist/runtime/theme/pagination.d.ts +68 -0
- package/dist/runtime/theme/pagination.js +21 -0
- package/dist/runtime/theme/pin-input.d.ts +131 -0
- package/dist/runtime/theme/pin-input.js +40 -0
- package/dist/runtime/theme/popover.d.ts +32 -0
- package/dist/runtime/theme/popover.js +7 -0
- package/dist/runtime/theme/progress.d.ts +185 -0
- package/dist/runtime/theme/progress.js +54 -0
- package/dist/runtime/theme/prose.d.ts +92 -0
- package/dist/runtime/theme/prose.js +17 -0
- package/dist/runtime/theme/radio-group.d.ts +239 -0
- package/dist/runtime/theme/radio-group.js +134 -0
- package/dist/runtime/theme/rating.d.ts +167 -0
- package/dist/runtime/theme/rating.js +77 -0
- package/dist/runtime/theme/read-more.d.ts +38 -0
- package/dist/runtime/theme/read-more.js +21 -0
- package/dist/runtime/theme/scroll-area.d.ts +50 -0
- package/dist/runtime/theme/scroll-area.js +10 -0
- package/dist/runtime/theme/select.d.ts +176 -0
- package/dist/runtime/theme/select.js +74 -0
- package/dist/runtime/theme/separator.d.ts +158 -0
- package/dist/runtime/theme/separator.js +63 -0
- package/dist/runtime/theme/skeleton.d.ts +35 -0
- package/dist/runtime/theme/skeleton.js +27 -0
- package/dist/runtime/theme/slideover.d.ts +107 -0
- package/dist/runtime/theme/slideover.js +62 -0
- package/dist/runtime/theme/slider.d.ts +227 -0
- package/dist/runtime/theme/slider.js +73 -0
- package/dist/runtime/theme/splitter-panel.d.ts +26 -0
- package/dist/runtime/theme/splitter-panel.js +9 -0
- package/dist/runtime/theme/splitter-resize-handle.d.ts +44 -0
- package/dist/runtime/theme/splitter-resize-handle.js +18 -0
- package/dist/runtime/theme/splitter.d.ts +35 -0
- package/dist/runtime/theme/splitter.js +15 -0
- package/dist/runtime/theme/stepper.d.ts +221 -0
- package/dist/runtime/theme/stepper.js +106 -0
- package/dist/runtime/theme/switch.d.ts +206 -0
- package/dist/runtime/theme/switch.js +84 -0
- package/dist/runtime/theme/table.d.ts +176 -0
- package/dist/runtime/theme/table.js +59 -0
- package/dist/runtime/theme/tabs.d.ts +59 -0
- package/dist/runtime/theme/tabs.js +44 -0
- package/dist/runtime/theme/textarea.d.ts +212 -0
- package/dist/runtime/theme/textarea.js +56 -0
- package/dist/runtime/theme/toast.d.ts +80 -0
- package/dist/runtime/theme/toast.js +31 -0
- package/dist/runtime/theme/toggle-group.d.ts +110 -0
- package/dist/runtime/theme/toggle-group.js +48 -0
- package/dist/runtime/theme/toggle.d.ts +92 -0
- package/dist/runtime/theme/toggle.js +48 -0
- package/dist/runtime/theme/tooltip.d.ts +44 -0
- package/dist/runtime/theme/tooltip.js +14 -0
- package/dist/runtime/theme/tree.d.ts +80 -0
- package/dist/runtime/theme/tree.js +32 -0
- package/dist/runtime/theme.css +1 -0
- package/dist/runtime/types/app-config.d.ts +15 -0
- package/dist/runtime/types/index.d.ts +82 -0
- package/dist/runtime/types/index.js +2 -0
- package/dist/runtime/utils/format-bytes.d.ts +2 -0
- package/dist/runtime/utils/format-bytes.js +9 -0
- package/dist/runtime/utils/fuzzy-match.d.ts +12 -0
- package/dist/runtime/utils/fuzzy-match.js +21 -0
- package/dist/runtime/utils/icons.d.ts +38 -0
- package/dist/runtime/utils/icons.js +51 -0
- package/dist/runtime/utils/injection-keys.d.ts +69 -0
- package/dist/runtime/utils/injection-keys.js +3 -0
- package/dist/runtime/utils/messages.d.ts +70 -0
- package/dist/runtime/utils/messages.js +68 -0
- package/dist/runtime/utils/navigation-menu.d.ts +32 -0
- package/dist/runtime/utils/navigation-menu.js +5 -0
- package/dist/runtime/utils/table-columns.d.ts +30 -0
- package/dist/runtime/utils/table-columns.js +89 -0
- package/dist/runtime/utils/table-export.d.ts +12 -0
- package/dist/runtime/utils/table-export.js +29 -0
- package/dist/runtime/utils/ui.d.ts +124 -0
- package/dist/runtime/utils/ui.js +74 -0
- package/dist/types.d.mts +3 -0
- package/package.json +99 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, inject } from "vue";
|
|
3
|
+
import { dashboardPanelTheme } from "../theme/dashboard-panel";
|
|
4
|
+
import { DASHBOARD_INJECTION_KEY } from "../utils/injection-keys";
|
|
5
|
+
import { useComponentTheme, useRootProps } from "../utils/ui";
|
|
6
|
+
import SplitterPanel from "./SplitterPanel.vue";
|
|
7
|
+
defineOptions({ inheritAttrs: false });
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
minSize: { type: Number, required: false, default: 30 },
|
|
10
|
+
ui: { type: Object, required: false }
|
|
11
|
+
});
|
|
12
|
+
const dashboard = inject(DASHBOARD_INJECTION_KEY, null);
|
|
13
|
+
const isMobile = computed(() => dashboard?.isMobile.value ?? false);
|
|
14
|
+
const theme = useComponentTheme("dashboardPanel", dashboardPanelTheme);
|
|
15
|
+
const ui = computed(() => theme.value());
|
|
16
|
+
const rootProps = useRootProps(() => ui.value.root, () => props.ui?.root);
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<SplitterPanel v-if="!isMobile" :min-size="minSize" v-bind="rootProps">
|
|
21
|
+
<slot />
|
|
22
|
+
</SplitterPanel>
|
|
23
|
+
<div v-else v-bind="rootProps">
|
|
24
|
+
<slot />
|
|
25
|
+
</div>
|
|
26
|
+
</template>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DashboardPanelThemeSlots } from '../theme/dashboard-panel.js';
|
|
2
|
+
import type { UiProp } from '../utils/ui.js';
|
|
3
|
+
export interface DashboardPanelProps {
|
|
4
|
+
/** Minimum width as a percentage of the group - non-collapsible, just guards against the sidebar squeezing this panel down to nothing. @default 30 */
|
|
5
|
+
minSize?: number;
|
|
6
|
+
ui?: UiProp<DashboardPanelThemeSlots>;
|
|
7
|
+
}
|
|
8
|
+
declare var __VLS_8: {}, __VLS_10: {};
|
|
9
|
+
type __VLS_Slots = {} & {
|
|
10
|
+
default?: (props: typeof __VLS_8) => any;
|
|
11
|
+
} & {
|
|
12
|
+
default?: (props: typeof __VLS_10) => any;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_base: import("vue").DefineComponent<DashboardPanelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardPanelProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
|
+
declare const _default: typeof __VLS_export;
|
|
17
|
+
export default _default;
|
|
18
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
19
|
+
new (): {
|
|
20
|
+
$slots: S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SplitterResizeHandleThemeSlots } from '../theme/splitter-resize-handle.js';
|
|
2
|
+
import type { UiProp } from '../utils/ui.js';
|
|
3
|
+
export interface DashboardResizeHandleProps {
|
|
4
|
+
ui?: UiProp<SplitterResizeHandleThemeSlots>;
|
|
5
|
+
}
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<DashboardResizeHandleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardResizeHandleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, inject } from "vue";
|
|
3
|
+
import { dashboardResizeHandleTheme } from "../theme/dashboard-resize-handle";
|
|
4
|
+
import { DASHBOARD_INJECTION_KEY } from "../utils/injection-keys";
|
|
5
|
+
import { resolveSlot, useComponentTheme } from "../utils/ui";
|
|
6
|
+
import SplitterResizeHandle from "./SplitterResizeHandle.vue";
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
ui: { type: Object, required: false }
|
|
9
|
+
});
|
|
10
|
+
const dashboard = inject(DASHBOARD_INJECTION_KEY, null);
|
|
11
|
+
const isMobile = computed(() => dashboard?.isMobile.value ?? false);
|
|
12
|
+
const theme = useComponentTheme("dashboardResizeHandle", dashboardResizeHandleTheme);
|
|
13
|
+
const ui = computed(() => theme.value());
|
|
14
|
+
const rootUi = computed(() => resolveSlot(ui.value.root, props.ui?.root));
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<SplitterResizeHandle v-if="!isMobile" direction="horizontal" :ui="{ root: rootUi, line: props.ui?.line }" />
|
|
19
|
+
</template>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SplitterResizeHandleThemeSlots } from '../theme/splitter-resize-handle.js';
|
|
2
|
+
import type { UiProp } from '../utils/ui.js';
|
|
3
|
+
export interface DashboardResizeHandleProps {
|
|
4
|
+
ui?: UiProp<SplitterResizeHandleThemeSlots>;
|
|
5
|
+
}
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<DashboardResizeHandleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardResizeHandleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DashboardSidebarThemeSlots } from '../theme/dashboard-sidebar.js';
|
|
2
|
+
import type { UiProp } from '../utils/ui.js';
|
|
3
|
+
type __VLS_Slots = DashboardSidebarSlots;
|
|
4
|
+
export interface DashboardSidebarProps {
|
|
5
|
+
/** @default 260 */
|
|
6
|
+
defaultSize?: number;
|
|
7
|
+
/** @default 200 */
|
|
8
|
+
minSize?: number;
|
|
9
|
+
/** @default 400 */
|
|
10
|
+
maxSize?: number;
|
|
11
|
+
/** How wide the panel stays once collapsed - an icon-rail width by default, `0` to hide it entirely instead. @default 64 */
|
|
12
|
+
collapsedSize?: number;
|
|
13
|
+
/** @default true */
|
|
14
|
+
collapsible?: boolean;
|
|
15
|
+
/** @default 'px' */
|
|
16
|
+
sizeUnit?: 'px' | '%';
|
|
17
|
+
ui?: UiProp<DashboardSidebarThemeSlots>;
|
|
18
|
+
}
|
|
19
|
+
export interface DashboardSidebarSlots {
|
|
20
|
+
/** `isCollapsed` lets a header (a logo mark, say) swap to a narrower version once the sidebar collapses to its icon rail - always `false` on mobile, where there's no in-between state, just the drawer open or closed. */
|
|
21
|
+
header?: (props: {
|
|
22
|
+
isCollapsed: boolean;
|
|
23
|
+
}) => any;
|
|
24
|
+
/** Same `isCollapsed` scoping - hide a nav item's own label text once collapsed, keeping just its icon. */
|
|
25
|
+
default?: (props: {
|
|
26
|
+
isCollapsed: boolean;
|
|
27
|
+
}) => any;
|
|
28
|
+
footer?: (props: {
|
|
29
|
+
isCollapsed: boolean;
|
|
30
|
+
}) => any;
|
|
31
|
+
}
|
|
32
|
+
declare const __VLS_base: import("vue").DefineComponent<DashboardSidebarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardSidebarProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
33
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
34
|
+
declare const _default: typeof __VLS_export;
|
|
35
|
+
export default _default;
|
|
36
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
37
|
+
new (): {
|
|
38
|
+
$slots: S;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, inject, onMounted, onUnmounted, ref, watch } from "vue";
|
|
3
|
+
import { dashboardSidebarTheme } from "../theme/dashboard-sidebar";
|
|
4
|
+
import { DASHBOARD_INJECTION_KEY } from "../utils/injection-keys";
|
|
5
|
+
import { resolveSlot, useComponentTheme, useRootProps } from "../utils/ui";
|
|
6
|
+
import Drawer from "./Drawer.vue";
|
|
7
|
+
import ScrollArea from "./ScrollArea.vue";
|
|
8
|
+
import SplitterPanel from "./SplitterPanel.vue";
|
|
9
|
+
defineOptions({ inheritAttrs: false });
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
defaultSize: { type: Number, required: false, default: 260 },
|
|
12
|
+
minSize: { type: Number, required: false, default: 200 },
|
|
13
|
+
maxSize: { type: Number, required: false, default: 400 },
|
|
14
|
+
collapsedSize: { type: Number, required: false, default: 64 },
|
|
15
|
+
collapsible: { type: Boolean, required: false, default: true },
|
|
16
|
+
sizeUnit: { type: String, required: false, default: "px" },
|
|
17
|
+
ui: { type: Object, required: false }
|
|
18
|
+
});
|
|
19
|
+
defineSlots();
|
|
20
|
+
const dashboard = inject(DASHBOARD_INJECTION_KEY, null);
|
|
21
|
+
const isMobile = computed(() => dashboard?.isMobile.value ?? false);
|
|
22
|
+
const panelRef = ref();
|
|
23
|
+
const mobileOpen = ref(false);
|
|
24
|
+
function toggle() {
|
|
25
|
+
if (isMobile.value) {
|
|
26
|
+
mobileOpen.value = !mobileOpen.value;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (panelRef.value?.isCollapsed)
|
|
30
|
+
panelRef.value.expand();
|
|
31
|
+
else
|
|
32
|
+
panelRef.value?.collapse();
|
|
33
|
+
}
|
|
34
|
+
function handleResize(size) {
|
|
35
|
+
if (dashboard)
|
|
36
|
+
dashboard.lastDesktopWidthPx.value = size;
|
|
37
|
+
}
|
|
38
|
+
onMounted(() => {
|
|
39
|
+
const targetWidthPx = dashboard?.lastDesktopWidthPx.value;
|
|
40
|
+
if (isMobile.value || targetWidthPx === void 0)
|
|
41
|
+
return;
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
panelRef.value?.resize(targetWidthPx);
|
|
44
|
+
}, 50);
|
|
45
|
+
});
|
|
46
|
+
if (dashboard)
|
|
47
|
+
dashboard.toggleSidebar.value = toggle;
|
|
48
|
+
const isSidebarCollapsed = computed(() => isMobile.value ? !mobileOpen.value : panelRef.value?.isCollapsed ?? false);
|
|
49
|
+
if (dashboard) {
|
|
50
|
+
watch(isSidebarCollapsed, (value) => {
|
|
51
|
+
dashboard.isSidebarCollapsed.value = value;
|
|
52
|
+
}, { immediate: true });
|
|
53
|
+
}
|
|
54
|
+
onUnmounted(() => {
|
|
55
|
+
if (dashboard && dashboard.toggleSidebar.value === toggle)
|
|
56
|
+
dashboard.toggleSidebar.value = void 0;
|
|
57
|
+
});
|
|
58
|
+
const theme = useComponentTheme("dashboardSidebar", dashboardSidebarTheme);
|
|
59
|
+
const ui = computed(() => theme.value());
|
|
60
|
+
const rootProps = useRootProps(() => ui.value.root, () => props.ui?.root);
|
|
61
|
+
const headerProps = computed(() => resolveSlot(ui.value.header, props.ui?.header));
|
|
62
|
+
const scrollAreaProps = computed(() => resolveSlot(ui.value.scrollArea, props.ui?.scrollArea));
|
|
63
|
+
const bodyProps = computed(() => resolveSlot(ui.value.body, props.ui?.body));
|
|
64
|
+
const footerProps = computed(() => resolveSlot(ui.value.footer, props.ui?.footer));
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<template>
|
|
68
|
+
<SplitterPanel
|
|
69
|
+
v-if="!isMobile"
|
|
70
|
+
ref="panelRef"
|
|
71
|
+
:default-size="defaultSize"
|
|
72
|
+
:min-size="minSize"
|
|
73
|
+
:max-size="maxSize"
|
|
74
|
+
:collapsed-size="collapsedSize"
|
|
75
|
+
:collapsible="collapsible"
|
|
76
|
+
:size-unit="sizeUnit"
|
|
77
|
+
v-bind="rootProps"
|
|
78
|
+
@resize="handleResize"
|
|
79
|
+
>
|
|
80
|
+
<template #default="{ isCollapsed }">
|
|
81
|
+
<div v-if="$slots.header" v-bind="headerProps">
|
|
82
|
+
<slot name="header" :is-collapsed="isCollapsed" />
|
|
83
|
+
</div>
|
|
84
|
+
<ScrollArea v-bind="scrollAreaProps">
|
|
85
|
+
<div v-bind="bodyProps">
|
|
86
|
+
<slot :is-collapsed="isCollapsed" />
|
|
87
|
+
</div>
|
|
88
|
+
</ScrollArea>
|
|
89
|
+
<div v-if="$slots.footer" v-bind="footerProps">
|
|
90
|
+
<slot name="footer" :is-collapsed="isCollapsed" />
|
|
91
|
+
</div>
|
|
92
|
+
</template>
|
|
93
|
+
</SplitterPanel>
|
|
94
|
+
<!--
|
|
95
|
+
Drawer's own default slot is its *trigger* (see its own source) -
|
|
96
|
+
not used here, since open/close is driven entirely by mobileOpen
|
|
97
|
+
instead of a rendered trigger element. header/body/footer forward
|
|
98
|
+
straight through to Drawer's own matching slots (and its own
|
|
99
|
+
theming) rather than DashboardSidebar's own header/body/footer
|
|
100
|
+
classes above - Drawer already handles its own chrome (including
|
|
101
|
+
the accessible-name warning its dev-mode console check does when
|
|
102
|
+
neither a `title` prop nor a `header` slot is present), and an
|
|
103
|
+
overlay reads differently from an inline panel anyway, so there's
|
|
104
|
+
no real reason to force the split-pane's exact classes onto it.
|
|
105
|
+
-->
|
|
106
|
+
<Drawer v-else v-model:open="mobileOpen" side="left" :handle="false" :ui="{ content: 'bg-[var(--ui-bg-elevated)]' }">
|
|
107
|
+
<template v-if="$slots.header" #header>
|
|
108
|
+
<slot name="header" :is-collapsed="false" />
|
|
109
|
+
</template>
|
|
110
|
+
<template #body>
|
|
111
|
+
<slot :is-collapsed="false" />
|
|
112
|
+
</template>
|
|
113
|
+
<template v-if="$slots.footer" #footer>
|
|
114
|
+
<slot name="footer" :is-collapsed="false" />
|
|
115
|
+
</template>
|
|
116
|
+
</Drawer>
|
|
117
|
+
</template>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DashboardSidebarThemeSlots } from '../theme/dashboard-sidebar.js';
|
|
2
|
+
import type { UiProp } from '../utils/ui.js';
|
|
3
|
+
type __VLS_Slots = DashboardSidebarSlots;
|
|
4
|
+
export interface DashboardSidebarProps {
|
|
5
|
+
/** @default 260 */
|
|
6
|
+
defaultSize?: number;
|
|
7
|
+
/** @default 200 */
|
|
8
|
+
minSize?: number;
|
|
9
|
+
/** @default 400 */
|
|
10
|
+
maxSize?: number;
|
|
11
|
+
/** How wide the panel stays once collapsed - an icon-rail width by default, `0` to hide it entirely instead. @default 64 */
|
|
12
|
+
collapsedSize?: number;
|
|
13
|
+
/** @default true */
|
|
14
|
+
collapsible?: boolean;
|
|
15
|
+
/** @default 'px' */
|
|
16
|
+
sizeUnit?: 'px' | '%';
|
|
17
|
+
ui?: UiProp<DashboardSidebarThemeSlots>;
|
|
18
|
+
}
|
|
19
|
+
export interface DashboardSidebarSlots {
|
|
20
|
+
/** `isCollapsed` lets a header (a logo mark, say) swap to a narrower version once the sidebar collapses to its icon rail - always `false` on mobile, where there's no in-between state, just the drawer open or closed. */
|
|
21
|
+
header?: (props: {
|
|
22
|
+
isCollapsed: boolean;
|
|
23
|
+
}) => any;
|
|
24
|
+
/** Same `isCollapsed` scoping - hide a nav item's own label text once collapsed, keeping just its icon. */
|
|
25
|
+
default?: (props: {
|
|
26
|
+
isCollapsed: boolean;
|
|
27
|
+
}) => any;
|
|
28
|
+
footer?: (props: {
|
|
29
|
+
isCollapsed: boolean;
|
|
30
|
+
}) => any;
|
|
31
|
+
}
|
|
32
|
+
declare const __VLS_base: import("vue").DefineComponent<DashboardSidebarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardSidebarProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
33
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
34
|
+
declare const _default: typeof __VLS_export;
|
|
35
|
+
export default _default;
|
|
36
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
37
|
+
new (): {
|
|
38
|
+
$slots: S;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type __VLS_Slots = DashboardSidebarToggleSlots;
|
|
2
|
+
export interface DashboardSidebarToggleProps {
|
|
3
|
+
/** @default icons.sidebarCollapse */
|
|
4
|
+
icon?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface DashboardSidebarToggleSlots {
|
|
7
|
+
/** Replaces the themed Button entirely with a fully custom trigger - `toggle`/`isCollapsed` are the exact values the default Button already wires up internally, so a replacement still behaves correctly (call `toggle` on click, style off `isCollapsed`). Not rendered at all outside a DashboardGroup/DashboardSidebar, same as the default. */
|
|
8
|
+
default?: (props: {
|
|
9
|
+
toggle: () => void;
|
|
10
|
+
isCollapsed: boolean;
|
|
11
|
+
}) => any;
|
|
12
|
+
}
|
|
13
|
+
declare const __VLS_base: import("vue").DefineComponent<DashboardSidebarToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardSidebarToggleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { inject } from "vue";
|
|
3
|
+
import { useIcons } from "../composables/use-icons";
|
|
4
|
+
import { useMessages } from "../composables/use-messages";
|
|
5
|
+
import { DASHBOARD_INJECTION_KEY } from "../utils/injection-keys";
|
|
6
|
+
import { applyClassPrefix } from "../utils/ui";
|
|
7
|
+
import Button from "./Button.vue";
|
|
8
|
+
import Icon from "./Icon.vue";
|
|
9
|
+
const props = defineProps({
|
|
10
|
+
icon: { type: String, required: false }
|
|
11
|
+
});
|
|
12
|
+
defineSlots();
|
|
13
|
+
const dashboard = inject(DASHBOARD_INJECTION_KEY, null);
|
|
14
|
+
const icons = useIcons();
|
|
15
|
+
const messages = useMessages();
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<template>
|
|
19
|
+
<slot
|
|
20
|
+
v-if="dashboard?.toggleSidebar.value"
|
|
21
|
+
:toggle="dashboard.toggleSidebar.value"
|
|
22
|
+
:is-collapsed="dashboard.isSidebarCollapsed.value"
|
|
23
|
+
>
|
|
24
|
+
<Button variant="ghost" color="neutral" :aria-label="messages.toggleSidebar" @click="dashboard.toggleSidebar.value?.()">
|
|
25
|
+
<!--
|
|
26
|
+
A slot override (not Button's own `icon` prop + `:ui.leadingIcon`) -
|
|
27
|
+
that `:ui` object would collide with a consumer's own fallthrough
|
|
28
|
+
`:ui` override on this component (plain props overwrite rather than
|
|
29
|
+
merge), silently dropping this flip. The slot still gets Button's
|
|
30
|
+
own size-driven class via the scoped `klass`, same as Button's own
|
|
31
|
+
icon prop path.
|
|
32
|
+
-->
|
|
33
|
+
<template #icon="{ class: klass }">
|
|
34
|
+
<Icon
|
|
35
|
+
:name="props.icon ?? icons.sidebarCollapse"
|
|
36
|
+
:data-collapsed="dashboard.isSidebarCollapsed.value ? '' : void 0"
|
|
37
|
+
:class="[applyClassPrefix('transition-transform duration-200 rtl:scale-x-[-1] data-[collapsed]:scale-x-[-1] rtl:data-[collapsed]:scale-x-100'), klass]"
|
|
38
|
+
/>
|
|
39
|
+
</template>
|
|
40
|
+
</Button>
|
|
41
|
+
</slot>
|
|
42
|
+
</template>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type __VLS_Slots = DashboardSidebarToggleSlots;
|
|
2
|
+
export interface DashboardSidebarToggleProps {
|
|
3
|
+
/** @default icons.sidebarCollapse */
|
|
4
|
+
icon?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface DashboardSidebarToggleSlots {
|
|
7
|
+
/** Replaces the themed Button entirely with a fully custom trigger - `toggle`/`isCollapsed` are the exact values the default Button already wires up internally, so a replacement still behaves correctly (call `toggle` on click, style off `isCollapsed`). Not rendered at all outside a DashboardGroup/DashboardSidebar, same as the default. */
|
|
8
|
+
default?: (props: {
|
|
9
|
+
toggle: () => void;
|
|
10
|
+
isCollapsed: boolean;
|
|
11
|
+
}) => any;
|
|
12
|
+
}
|
|
13
|
+
declare const __VLS_base: import("vue").DefineComponent<DashboardSidebarToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashboardSidebarToggleProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import type { DateValue } from '@internationalized/date';
|
|
2
|
+
import type { DateRange } from 'reka-ui';
|
|
3
|
+
import type { VariantProps } from 'tailwind-variants';
|
|
4
|
+
import type { buttonTheme } from '../theme/button.js';
|
|
5
|
+
import type { DatePickerThemeSlots } from '../theme/date-picker.js';
|
|
6
|
+
import type { UiProp } from '../utils/ui.js';
|
|
7
|
+
import { Time } from '@internationalized/date';
|
|
8
|
+
import { datePickerTheme } from '../theme/date-picker.js';
|
|
9
|
+
type DatePickerVariants = VariantProps<typeof datePickerTheme>;
|
|
10
|
+
type ButtonVariants = VariantProps<typeof buttonTheme>;
|
|
11
|
+
export interface DatePickerProps {
|
|
12
|
+
id?: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
/** A single DateValue, Reka's own `{ start?, end? }` DateRange shape when `range` is set, or a bare date-less Time when `timeOnly` is set - Vue props can't express a type that depends on a sibling prop's value, so this stays a plain union documented here rather than enforced by the type checker. */
|
|
15
|
+
modelValue?: DateValue | DateRange | Time;
|
|
16
|
+
/** Switches to picking a start+end pair instead of one date - a real fork in which Reka primitive family renders (RangeCalendar/DateRangePicker vs Calendar/DatePicker), not just a different modelValue shape. */
|
|
17
|
+
range?: boolean;
|
|
18
|
+
/** Drops the date entirely - just a time-of-day picker. modelValue becomes a bare `Time` (no date component at all, not a DateValue). A third top-level mode alongside `range`; every date-grid-specific prop below (minValue/maxValue/isDateUnavailable/isDateDisabled/numberOfMonths/pagedNavigation/weekStartsOn/weekdayFormat/fixedWeeks/view) is simply inert here. `granularity` still applies ('hour'/'minute' only - defaults to 'minute' for a dedicated time picker). */
|
|
19
|
+
timeOnly?: boolean;
|
|
20
|
+
minValue?: DateValue;
|
|
21
|
+
maxValue?: DateValue;
|
|
22
|
+
isDateUnavailable?: (date: DateValue) => boolean;
|
|
23
|
+
isDateDisabled?: (date: DateValue) => boolean;
|
|
24
|
+
/** Range mode only - highlights a date without marking it unavailable or disabled. */
|
|
25
|
+
isDateHighlightable?: (date: DateValue) => boolean;
|
|
26
|
+
locale?: string;
|
|
27
|
+
/** Default 1 normally, 2 when `range` is set (overridable either way) - see effectiveNumberOfMonths. */
|
|
28
|
+
numberOfMonths?: number;
|
|
29
|
+
pagedNavigation?: boolean;
|
|
30
|
+
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
31
|
+
weekdayFormat?: 'narrow' | 'short' | 'long';
|
|
32
|
+
fixedWeeks?: boolean;
|
|
33
|
+
/** Closes the popover once a selection is complete - unlike Reka's own Root components, this defaults true. In range mode "complete" means both start and end are set (Reka's own internal watcher already gates on that), so picking just a start date correctly leaves the popover open. */
|
|
34
|
+
closeOnSelect?: boolean;
|
|
35
|
+
/** 'field' (default) is the typeable day/month/year segmented input; 'button' is a single button showing the formatted date, matching a plainer "click to open" trigger. */
|
|
36
|
+
triggerMode?: 'field' | 'button';
|
|
37
|
+
/** Which grid the popover shows - 'date' (default), or drill up to 'month'/'year' by clicking the heading. Single-date mode only; range mode's heading stays static. */
|
|
38
|
+
view?: 'date' | 'month' | 'year';
|
|
39
|
+
/** The value's own precision - 'day' (default) keeps picking a full date. 'month'/'year' make picking a month/year the terminal action (day fixed to 1, and month too for 'year') instead of a waypoint to the day grid - the day grid never renders in that case. 'hour'/'minute' add a time-of-day section below the day grid instead (value becomes a time-capable CalendarDateTime, still just a plain DateValue). Single-date mode only. */
|
|
40
|
+
granularity?: 'year' | 'month' | 'day' | 'hour' | 'minute';
|
|
41
|
+
/** hour/minute granularity only - the minute stepper's ±click/arrow-key increment (default 1); typing still commits any exact minute. Pass 5/15/etc for a coarser "pick an appointment time" step. */
|
|
42
|
+
minuteStep?: number;
|
|
43
|
+
/** hour/minute granularity only - forces the hour stepper (and the typed field's own hour/dayPeriod segments) to 12-hour or 24-hour. Defaults to whatever `locale` itself resolves to (e.g. 12-hour for en-US, 24-hour for de-DE) - passed straight through to the underlying primitive, which already drives the typed field's own hour cycle. */
|
|
44
|
+
hourCycle?: 12 | 24;
|
|
45
|
+
/** Only meaningful in triggerMode "button" - the segmented field's own per-segment display is already locale-shaped by Reka's own DateFieldInput. Default: `{ dateStyle: 'medium' }`. */
|
|
46
|
+
format?: Intl.DateTimeFormatOptions;
|
|
47
|
+
/** Range mode only - lets the two ends of a range land in different, non-adjacent selections. */
|
|
48
|
+
allowNonContiguousRanges?: boolean;
|
|
49
|
+
/** Range mode only - locks one end of the range in place while re-picking the other. */
|
|
50
|
+
fixedDate?: 'start' | 'end';
|
|
51
|
+
/** Range mode only - caps how many days can separate start and end. */
|
|
52
|
+
maximumDays?: number;
|
|
53
|
+
disabled?: boolean;
|
|
54
|
+
/** Shows the value and blocks edits without disabling the control - unlike `disabled`, it stays focusable/readable, just not changeable. Not applicable to `timeOnly` (Reka's own TimeField has no readonly concept). */
|
|
55
|
+
readonly?: boolean;
|
|
56
|
+
/** Stops a click on the only selected day from deselecting it - not applicable to `timeOnly` (there's no calendar day to click). */
|
|
57
|
+
preventDeselect?: boolean;
|
|
58
|
+
/** `view="month"` only - disables a specific month in addition to whatever minValue/maxValue already disable (doesn't replace that check). */
|
|
59
|
+
isMonthDisabled?: (date: DateValue) => boolean;
|
|
60
|
+
/** `view="year"` only - disables a specific year in addition to whatever minValue/maxValue already disable (doesn't replace that check). */
|
|
61
|
+
isYearDisabled?: (year: number) => boolean;
|
|
62
|
+
invalid?: boolean;
|
|
63
|
+
clearable?: boolean;
|
|
64
|
+
/** Chrome color - the clear/trigger buttons and prev/next month nav. Only the color changes; each button keeps its own deliberately-different variant (icon-only buttons use `text`, nav arrows use `ghost`). */
|
|
65
|
+
color?: ButtonVariants['color'];
|
|
66
|
+
/** The color of whatever's currently "active" - the selected day/month/year cell and the Done button. */
|
|
67
|
+
activeColor?: ButtonVariants['color'];
|
|
68
|
+
size?: DatePickerVariants['size'];
|
|
69
|
+
/** Shows a small pointer triangle connecting the panel to its trigger. */
|
|
70
|
+
arrow?: boolean;
|
|
71
|
+
/** Below 768px viewport width, presents the calendar as a centered Modal instead of a small anchored panel - easier to tap with a finger. Opt-in (defaults `false`) rather than automatic, so an existing usage's look never changes without asking for it. */
|
|
72
|
+
mobileModal?: boolean;
|
|
73
|
+
ui?: UiProp<DatePickerThemeSlots>;
|
|
74
|
+
}
|
|
75
|
+
export interface DatePickerEmits {
|
|
76
|
+
'update:modelValue': [value: DateValue | DateRange | Time | undefined];
|
|
77
|
+
'update:view': [view: 'date' | 'month' | 'year'];
|
|
78
|
+
}
|
|
79
|
+
declare var __VLS_43: {}, __VLS_63: {}, __VLS_83: {}, __VLS_99: {}, __VLS_119: {
|
|
80
|
+
date: DateValue;
|
|
81
|
+
dayValue: string;
|
|
82
|
+
selected: boolean;
|
|
83
|
+
disabled: boolean;
|
|
84
|
+
selectionStart: boolean;
|
|
85
|
+
selectionEnd: boolean;
|
|
86
|
+
highlighted: boolean;
|
|
87
|
+
}, __VLS_122: {}, __VLS_145: {
|
|
88
|
+
date: DateValue;
|
|
89
|
+
dayValue: string;
|
|
90
|
+
selected: boolean;
|
|
91
|
+
disabled: boolean;
|
|
92
|
+
selectionStart: boolean;
|
|
93
|
+
selectionEnd: boolean;
|
|
94
|
+
highlighted: boolean;
|
|
95
|
+
}, __VLS_148: {}, __VLS_186: {}, __VLS_206: {}, __VLS_226: {}, __VLS_242: {}, __VLS_268: {}, __VLS_291: {}, __VLS_329: {}, __VLS_349: {}, __VLS_369: {}, __VLS_385: {}, __VLS_405: {
|
|
96
|
+
date: DateValue;
|
|
97
|
+
dayValue: string;
|
|
98
|
+
selected: boolean;
|
|
99
|
+
disabled: boolean;
|
|
100
|
+
}, __VLS_408: {}, __VLS_431: {
|
|
101
|
+
date: DateValue;
|
|
102
|
+
dayValue: string;
|
|
103
|
+
selected: boolean;
|
|
104
|
+
disabled: boolean;
|
|
105
|
+
}, __VLS_434: {};
|
|
106
|
+
type __VLS_Slots = {} & {
|
|
107
|
+
'clear-icon'?: (props: typeof __VLS_43) => any;
|
|
108
|
+
} & {
|
|
109
|
+
'trigger-icon'?: (props: typeof __VLS_63) => any;
|
|
110
|
+
} & {
|
|
111
|
+
'trigger-icon'?: (props: typeof __VLS_83) => any;
|
|
112
|
+
} & {
|
|
113
|
+
'clear-icon'?: (props: typeof __VLS_99) => any;
|
|
114
|
+
} & {
|
|
115
|
+
day?: (props: typeof __VLS_119) => any;
|
|
116
|
+
} & {
|
|
117
|
+
footer?: (props: typeof __VLS_122) => any;
|
|
118
|
+
} & {
|
|
119
|
+
day?: (props: typeof __VLS_145) => any;
|
|
120
|
+
} & {
|
|
121
|
+
footer?: (props: typeof __VLS_148) => any;
|
|
122
|
+
} & {
|
|
123
|
+
'clear-icon'?: (props: typeof __VLS_186) => any;
|
|
124
|
+
} & {
|
|
125
|
+
'trigger-icon'?: (props: typeof __VLS_206) => any;
|
|
126
|
+
} & {
|
|
127
|
+
'trigger-icon'?: (props: typeof __VLS_226) => any;
|
|
128
|
+
} & {
|
|
129
|
+
'clear-icon'?: (props: typeof __VLS_242) => any;
|
|
130
|
+
} & {
|
|
131
|
+
footer?: (props: typeof __VLS_268) => any;
|
|
132
|
+
} & {
|
|
133
|
+
footer?: (props: typeof __VLS_291) => any;
|
|
134
|
+
} & {
|
|
135
|
+
'clear-icon'?: (props: typeof __VLS_329) => any;
|
|
136
|
+
} & {
|
|
137
|
+
'trigger-icon'?: (props: typeof __VLS_349) => any;
|
|
138
|
+
} & {
|
|
139
|
+
'trigger-icon'?: (props: typeof __VLS_369) => any;
|
|
140
|
+
} & {
|
|
141
|
+
'clear-icon'?: (props: typeof __VLS_385) => any;
|
|
142
|
+
} & {
|
|
143
|
+
day?: (props: typeof __VLS_405) => any;
|
|
144
|
+
} & {
|
|
145
|
+
footer?: (props: typeof __VLS_408) => any;
|
|
146
|
+
} & {
|
|
147
|
+
day?: (props: typeof __VLS_431) => any;
|
|
148
|
+
} & {
|
|
149
|
+
footer?: (props: typeof __VLS_434) => any;
|
|
150
|
+
};
|
|
151
|
+
declare const __VLS_base: import("vue").DefineComponent<DatePickerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
152
|
+
"update:modelValue": (value: DateValue | DateRange | Time | undefined) => any;
|
|
153
|
+
"update:view": (view: "month" | "year" | "date") => any;
|
|
154
|
+
}, string, import("vue").PublicProps, Readonly<DatePickerProps> & Readonly<{
|
|
155
|
+
"onUpdate:modelValue"?: ((value: DateValue | DateRange | Time | undefined) => any) | undefined;
|
|
156
|
+
"onUpdate:view"?: ((view: "month" | "year" | "date") => any) | undefined;
|
|
157
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
158
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
159
|
+
declare const _default: typeof __VLS_export;
|
|
160
|
+
export default _default;
|
|
161
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
162
|
+
new (): {
|
|
163
|
+
$slots: S;
|
|
164
|
+
};
|
|
165
|
+
};
|