@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,75 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const datePickerTheme = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
root: "relative inline-block",
|
|
5
|
+
// Same ring/bg/radius/hover/focus-within language as Input's own `base`
|
|
6
|
+
// (theme/input.ts) - this is an Input-look box wrapping real interactive
|
|
7
|
+
// children (segments + trigger button) rather than a single <input>, so
|
|
8
|
+
// the focus ring keys off :focus-within instead of :focus.
|
|
9
|
+
// not-focus-within: on the hover ring - see input-number.ts's own root
|
|
10
|
+
// slot for why (same fix, same reasoning: hovering while focused is
|
|
11
|
+
// unavoidable here, and would otherwise let the plain gray hover ring
|
|
12
|
+
// beat the primary focus-within ring).
|
|
13
|
+
field: "inline-flex w-full items-center gap-1 rounded-[var(--ui-radius-md)] bg-[var(--ui-bg)] ring-1 ring-inset ring-[var(--ui-border)] transition-[color,background-color,box-shadow] not-focus-within:hover:ring-[var(--ui-border-hover)] hover:bg-[var(--ui-bg-elevated)] focus-within:ring-2 focus-within:ring-[var(--ui-primary)] has-[[data-disabled]]:opacity-50 has-[[data-disabled]]:pointer-events-none",
|
|
14
|
+
// rounded-sm + tabular-nums keeps digit width stable as a segment's
|
|
15
|
+
// value changes; the segment itself is the contenteditable element
|
|
16
|
+
// Reka renders, so focus state is real :focus, not a data-attribute.
|
|
17
|
+
segment: "rounded-[var(--ui-radius-sm)] px-0.5 text-[var(--ui-text)] tabular-nums outline-none focus:bg-[var(--ui-primary)]/15 data-[reka-date-field-segment=literal]:px-0 data-[reka-date-field-segment=literal]:text-[var(--ui-text-muted)]",
|
|
18
|
+
// Between the two segment groups in range mode - a plain en dash, not an
|
|
19
|
+
// arrow glyph, so there's nothing directional to mirror under RTL.
|
|
20
|
+
separator: "px-0.5 text-[var(--ui-text-muted)]",
|
|
21
|
+
// Copied from theme/dropdown.ts's `content` - the more complete of this
|
|
22
|
+
// library's two floating-panel precedents (directional slide-in, not
|
|
23
|
+
// just fade/zoom).
|
|
24
|
+
content: "z-[var(--ui-z-dropdown)] rounded-[var(--ui-radius-md)] bg-[var(--ui-bg)] p-3 shadow-[var(--ui-shadow-md)] ring-1 ring-[var(--ui-border)] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
|
|
25
|
+
// The `mobileModal` path's own content wrapper - none of `content`'s
|
|
26
|
+
// own popover chrome (ring/shadow/rounded/animate-in/slide-in, all
|
|
27
|
+
// tied to a data-[side=] this never gets since it isn't Floating-UI
|
|
28
|
+
// positioned) applies here, since Modal's own card already provides
|
|
29
|
+
// that surface. `p-3` alone carries over - the calendar grid still
|
|
30
|
+
// wants the same breathing room it gets in the popover.
|
|
31
|
+
mobileContent: "p-3",
|
|
32
|
+
header: "mb-2 flex items-center justify-between gap-2",
|
|
33
|
+
heading: "text-sm font-medium text-[var(--ui-text)]",
|
|
34
|
+
// Wraps one <table> per visible month (numberOfMonths>1, e.g. range
|
|
35
|
+
// mode's default of 2) - without it, multiple month tables just stack
|
|
36
|
+
// vertically (block-level default), not side by side.
|
|
37
|
+
grids: "flex flex-col gap-4 sm:flex-row",
|
|
38
|
+
grid: "w-full border-collapse",
|
|
39
|
+
gridHead: "",
|
|
40
|
+
headCell: "size-8 text-xs font-medium text-[var(--ui-text-muted)]",
|
|
41
|
+
// The <td> wrapper - just spacing, not the day's own look (that's the
|
|
42
|
+
// nested Button inside it, styled directly in DatePicker.vue via a
|
|
43
|
+
// plain :ui override string, same as Pagination's page buttons - no
|
|
44
|
+
// separate theme slot for it, since Button already owns variant/size).
|
|
45
|
+
cell: "p-0.5 text-center",
|
|
46
|
+
// Month/year drill-down grids (view mode) - a fixed 3-column layout for
|
|
47
|
+
// both the 12-month and 12-year grids, reusing the same Button
|
|
48
|
+
// composition pattern as day cells.
|
|
49
|
+
viewGrid: "grid grid-cols-3 gap-1",
|
|
50
|
+
// Hour/minute granularity only - sits below the day grid, separated by
|
|
51
|
+
// a divider so it doesn't read as part of the grid itself.
|
|
52
|
+
timeSection: "mt-3 flex items-center justify-center gap-1.5 border-t border-[var(--ui-border)] pt-3",
|
|
53
|
+
arrow: "fill-[var(--ui-bg)] stroke-[var(--ui-border)] stroke-1"
|
|
54
|
+
},
|
|
55
|
+
variants: {
|
|
56
|
+
size: {
|
|
57
|
+
sm: { field: "h-8 px-2.5 text-sm" },
|
|
58
|
+
md: { field: "h-10 px-3 text-sm" },
|
|
59
|
+
lg: { field: "h-11 px-3.5 text-base" }
|
|
60
|
+
},
|
|
61
|
+
invalid: {
|
|
62
|
+
true: { field: "ring-[var(--ui-danger)] hover:ring-[var(--ui-danger)] focus-within:ring-[var(--ui-danger)]" }
|
|
63
|
+
},
|
|
64
|
+
// Range mode's day cells butt up against each other with no horizontal
|
|
65
|
+
// gap, so a highlighted run of days reads as one continuous connected
|
|
66
|
+
// bar instead of separate dashes - single-date mode keeps its own
|
|
67
|
+
// centered p-0.5 spacing untouched.
|
|
68
|
+
range: {
|
|
69
|
+
true: { cell: "p-0 py-0.5" }
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
defaultVariants: {
|
|
73
|
+
size: "md"
|
|
74
|
+
}
|
|
75
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export declare const drawerTheme: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
side: {
|
|
3
|
+
top: {
|
|
4
|
+
content: string;
|
|
5
|
+
};
|
|
6
|
+
bottom: {
|
|
7
|
+
content: string;
|
|
8
|
+
};
|
|
9
|
+
left: {
|
|
10
|
+
content: string;
|
|
11
|
+
};
|
|
12
|
+
right: {
|
|
13
|
+
content: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
transition: {
|
|
17
|
+
true: {
|
|
18
|
+
overlay: string;
|
|
19
|
+
};
|
|
20
|
+
false: {};
|
|
21
|
+
};
|
|
22
|
+
}, {
|
|
23
|
+
overlay: string;
|
|
24
|
+
content: string;
|
|
25
|
+
handle: string;
|
|
26
|
+
header: string;
|
|
27
|
+
title: string;
|
|
28
|
+
description: string;
|
|
29
|
+
close: string;
|
|
30
|
+
body: string;
|
|
31
|
+
footer: string;
|
|
32
|
+
}, undefined, {
|
|
33
|
+
side: {
|
|
34
|
+
top: {
|
|
35
|
+
content: string;
|
|
36
|
+
};
|
|
37
|
+
bottom: {
|
|
38
|
+
content: string;
|
|
39
|
+
};
|
|
40
|
+
left: {
|
|
41
|
+
content: string;
|
|
42
|
+
};
|
|
43
|
+
right: {
|
|
44
|
+
content: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
transition: {
|
|
48
|
+
true: {
|
|
49
|
+
overlay: string;
|
|
50
|
+
};
|
|
51
|
+
false: {};
|
|
52
|
+
};
|
|
53
|
+
}, {
|
|
54
|
+
overlay: string;
|
|
55
|
+
content: string;
|
|
56
|
+
handle: string;
|
|
57
|
+
header: string;
|
|
58
|
+
title: string;
|
|
59
|
+
description: string;
|
|
60
|
+
close: string;
|
|
61
|
+
body: string;
|
|
62
|
+
footer: string;
|
|
63
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
64
|
+
side: {
|
|
65
|
+
top: {
|
|
66
|
+
content: string;
|
|
67
|
+
};
|
|
68
|
+
bottom: {
|
|
69
|
+
content: string;
|
|
70
|
+
};
|
|
71
|
+
left: {
|
|
72
|
+
content: string;
|
|
73
|
+
};
|
|
74
|
+
right: {
|
|
75
|
+
content: string;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
transition: {
|
|
79
|
+
true: {
|
|
80
|
+
overlay: string;
|
|
81
|
+
};
|
|
82
|
+
false: {};
|
|
83
|
+
};
|
|
84
|
+
}, {
|
|
85
|
+
overlay: string;
|
|
86
|
+
content: string;
|
|
87
|
+
handle: string;
|
|
88
|
+
header: string;
|
|
89
|
+
title: string;
|
|
90
|
+
description: string;
|
|
91
|
+
close: string;
|
|
92
|
+
body: string;
|
|
93
|
+
footer: string;
|
|
94
|
+
}>>;
|
|
95
|
+
export type DrawerThemeSlots = keyof (typeof drawerTheme)['slots'];
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const drawerTheme = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
overlay: "fixed inset-0 z-[var(--ui-z-modal-overlay)] bg-black/50",
|
|
5
|
+
content: "fixed z-[var(--ui-z-modal)] flex flex-col bg-[var(--ui-bg)] shadow-[var(--ui-shadow-lg)] focus:outline-none",
|
|
6
|
+
// A small rounded grip bar - purely visual, signals "draggable" the
|
|
7
|
+
// same way a real bottom sheet's handle does. Centered via the
|
|
8
|
+
// header's own flex row would fight the header's title/close layout,
|
|
9
|
+
// so it gets its own row above everything else instead.
|
|
10
|
+
handle: "mx-auto my-2 h-1.5 w-12 shrink-0 rounded-full bg-[var(--ui-border)]",
|
|
11
|
+
header: "flex items-start justify-between gap-4 p-4 sm:px-6",
|
|
12
|
+
title: "text-base font-semibold text-[var(--ui-text)]",
|
|
13
|
+
description: "mt-1 text-sm text-[var(--ui-text-muted)]",
|
|
14
|
+
close: "shrink-0 rounded-full",
|
|
15
|
+
body: "flex-1 overflow-y-auto p-4 sm:px-6",
|
|
16
|
+
footer: "flex items-center justify-end gap-2 p-4 sm:px-6"
|
|
17
|
+
},
|
|
18
|
+
variants: {
|
|
19
|
+
// Same reasoning as slideover.ts's own comment: no explicit h-full/
|
|
20
|
+
// w-full here for any side - inset-x-*/inset-y-* below supply both
|
|
21
|
+
// edges and let the browser derive the size implicitly.
|
|
22
|
+
//
|
|
23
|
+
// Unlike Slideover, every side always gets a rounded corner on its
|
|
24
|
+
// own inner edge (not conditional on a prop) - a drawer's own visual
|
|
25
|
+
// identity, distinct from Slideover's flush-by-default/optional-
|
|
26
|
+
// floating-inset treatment.
|
|
27
|
+
side: {
|
|
28
|
+
top: { content: "rounded-b-[var(--ui-radius-lg)]" },
|
|
29
|
+
bottom: { content: "rounded-t-[var(--ui-radius-lg)]" },
|
|
30
|
+
left: { content: "max-w-md rounded-e-[var(--ui-radius-lg)]" },
|
|
31
|
+
right: { content: "max-w-md rounded-s-[var(--ui-radius-lg)]" }
|
|
32
|
+
},
|
|
33
|
+
// See slideover.ts for why this lives entirely in the variant (and
|
|
34
|
+
// compoundVariants below), not the base slot strings - tailwind-merge
|
|
35
|
+
// doesn't recognize animate-in/animate-none as a conflicting pair.
|
|
36
|
+
transition: {
|
|
37
|
+
true: { overlay: "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" },
|
|
38
|
+
false: {}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
compoundVariants: [
|
|
42
|
+
{ side: "top", class: { content: "inset-x-0 top-0 max-h-full" } },
|
|
43
|
+
{ side: "bottom", class: { content: "inset-x-0 bottom-0 max-h-full" } },
|
|
44
|
+
{ side: "left", class: { content: "inset-y-0 left-0 w-full" } },
|
|
45
|
+
{ side: "right", class: { content: "inset-y-0 right-0 w-full" } },
|
|
46
|
+
{ side: "top", transition: true, class: { content: "data-[state=open]:animate-in data-[state=open]:slide-in-from-top-full data-[state=closed]:animate-out data-[state=closed]:slide-out-to-top-full" } },
|
|
47
|
+
{ side: "bottom", transition: true, class: { content: "data-[state=open]:animate-in data-[state=open]:slide-in-from-bottom-full data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom-full" } },
|
|
48
|
+
{ side: "left", transition: true, class: { content: "data-[state=open]:animate-in data-[state=open]:slide-in-from-left-full data-[state=closed]:animate-out data-[state=closed]:slide-out-to-left-full" } },
|
|
49
|
+
{ side: "right", transition: true, class: { content: "data-[state=open]:animate-in data-[state=open]:slide-in-from-right-full data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right-full" } }
|
|
50
|
+
],
|
|
51
|
+
defaultVariants: {
|
|
52
|
+
// Bottom sheets are the classic drawer use case - unlike Slideover's
|
|
53
|
+
// own 'right' default.
|
|
54
|
+
side: "bottom",
|
|
55
|
+
transition: true
|
|
56
|
+
}
|
|
57
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare const dropdownTheme: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
destructive: {
|
|
3
|
+
true: {
|
|
4
|
+
item: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
}, {
|
|
9
|
+
content: string;
|
|
10
|
+
item: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
separator: string;
|
|
13
|
+
arrow: string;
|
|
14
|
+
}, undefined, {
|
|
15
|
+
destructive: {
|
|
16
|
+
true: {
|
|
17
|
+
item: string;
|
|
18
|
+
icon: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
}, {
|
|
22
|
+
content: string;
|
|
23
|
+
item: string;
|
|
24
|
+
icon: string;
|
|
25
|
+
separator: string;
|
|
26
|
+
arrow: string;
|
|
27
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
28
|
+
destructive: {
|
|
29
|
+
true: {
|
|
30
|
+
item: string;
|
|
31
|
+
icon: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}, {
|
|
35
|
+
content: string;
|
|
36
|
+
item: string;
|
|
37
|
+
icon: string;
|
|
38
|
+
separator: string;
|
|
39
|
+
arrow: string;
|
|
40
|
+
}>>;
|
|
41
|
+
export type DropdownThemeSlots = keyof (typeof dropdownTheme)['slots'];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const dropdownTheme = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
content: "z-[var(--ui-z-dropdown)] min-w-40 rounded-[var(--ui-radius-md)] bg-[var(--ui-bg)] p-1 shadow-[var(--ui-shadow-md)] ring-1 ring-[var(--ui-border)] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
|
|
5
|
+
item: "flex items-center gap-2 rounded-[var(--ui-radius-sm)] px-2 py-1.5 text-sm text-[var(--ui-text)] cursor-pointer select-none outline-none data-[highlighted]:bg-[var(--ui-bg-elevated)] data-[disabled]:opacity-50 data-[disabled]:pointer-events-none",
|
|
6
|
+
icon: "size-4 shrink-0 text-[var(--ui-text-muted)]",
|
|
7
|
+
separator: "-mx-1 my-1 h-px bg-[var(--ui-border)]",
|
|
8
|
+
arrow: "fill-[var(--ui-bg)] stroke-[var(--ui-border)] stroke-1"
|
|
9
|
+
},
|
|
10
|
+
variants: {
|
|
11
|
+
// For a delete/remove-style action - deliberately just this one flag
|
|
12
|
+
// rather than the full 7-color palette Badge/Chip expose, since a menu
|
|
13
|
+
// item realistically only ever needs this one special case.
|
|
14
|
+
destructive: {
|
|
15
|
+
true: {
|
|
16
|
+
item: "text-[var(--ui-danger)] data-[highlighted]:bg-[var(--ui-danger-soft)]",
|
|
17
|
+
icon: "text-[var(--ui-danger)]"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare const fileTreeTheme: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
selected: {
|
|
3
|
+
true: {
|
|
4
|
+
row: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
isNested: {
|
|
8
|
+
true: {
|
|
9
|
+
item: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}, {
|
|
13
|
+
root: string;
|
|
14
|
+
list: string;
|
|
15
|
+
item: string;
|
|
16
|
+
row: string;
|
|
17
|
+
icon: string;
|
|
18
|
+
label: string;
|
|
19
|
+
}, undefined, {
|
|
20
|
+
selected: {
|
|
21
|
+
true: {
|
|
22
|
+
row: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
isNested: {
|
|
26
|
+
true: {
|
|
27
|
+
item: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}, {
|
|
31
|
+
root: string;
|
|
32
|
+
list: string;
|
|
33
|
+
item: string;
|
|
34
|
+
row: string;
|
|
35
|
+
icon: string;
|
|
36
|
+
label: string;
|
|
37
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
38
|
+
selected: {
|
|
39
|
+
true: {
|
|
40
|
+
row: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
isNested: {
|
|
44
|
+
true: {
|
|
45
|
+
item: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
}, {
|
|
49
|
+
root: string;
|
|
50
|
+
list: string;
|
|
51
|
+
item: string;
|
|
52
|
+
row: string;
|
|
53
|
+
icon: string;
|
|
54
|
+
label: string;
|
|
55
|
+
}>>;
|
|
56
|
+
export type FileTreeThemeSlots = keyof (typeof fileTreeTheme)['slots'];
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const fileTreeTheme = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
// The outer box - only the top-level call renders this (see
|
|
5
|
+
// FileTree.vue's own `isNested`); a recursive call for a directory's
|
|
6
|
+
// children renders `list` directly instead, no extra wrapping element.
|
|
7
|
+
root: "flex flex-col gap-0.5 rounded-[var(--ui-radius-md)] border border-[var(--ui-border)] bg-[var(--ui-bg)] p-2 font-mono text-sm",
|
|
8
|
+
// Real indentation, not a border/padding trick - each recursive level
|
|
9
|
+
// renders its own nested <FileTree>, so depth accumulates naturally
|
|
10
|
+
// via this same left padding stacking once per level. `ps-4` also
|
|
11
|
+
// reserves the gutter a nested row's own tree-connector rail (see
|
|
12
|
+
// the `isNested` variant below) reaches back into.
|
|
13
|
+
list: "flex flex-col gap-0.5 ps-4 font-mono text-sm ms-3",
|
|
14
|
+
item: "flex flex-col",
|
|
15
|
+
row: "flex w-full items-center gap-1.5 rounded-[var(--ui-radius-sm)] px-1.5 py-1 text-start text-[var(--ui-text-muted)] transition-colors hover:bg-[var(--ui-bg-elevated)] hover:text-[var(--ui-text)]",
|
|
16
|
+
icon: "size-4 shrink-0",
|
|
17
|
+
label: "truncate"
|
|
18
|
+
},
|
|
19
|
+
variants: {
|
|
20
|
+
selected: {
|
|
21
|
+
true: { row: "bg-[var(--ui-primary-soft)] text-[var(--ui-primary)] hover:bg-[var(--ui-primary-soft)] hover:text-[var(--ui-primary)]" }
|
|
22
|
+
},
|
|
23
|
+
// FileTree.vue recurses into itself for every directory's own
|
|
24
|
+
// children, reusing this exact same `item` slot at every depth -
|
|
25
|
+
// mirrors ContentNavigation's own `isNested` variant exactly (same
|
|
26
|
+
// reasoning: a root-level entry has no parent trunk to its left to
|
|
27
|
+
// branch off of, so the tree-connector rail - see theme.css's own
|
|
28
|
+
// `.selaras-nav-elbow` comment - only applies once nested).
|
|
29
|
+
isNested: {
|
|
30
|
+
true: { item: "selaras-nav-elbow selaras-nav-elbow--file-tree" }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
export declare const fileUploadTheme: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
size: {
|
|
3
|
+
sm: {
|
|
4
|
+
dropzone: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
fileThumbnail: string;
|
|
7
|
+
fileIcon: string;
|
|
8
|
+
fileName: string;
|
|
9
|
+
fileSize: string;
|
|
10
|
+
};
|
|
11
|
+
md: {
|
|
12
|
+
dropzone: string;
|
|
13
|
+
icon: string;
|
|
14
|
+
fileThumbnail: string;
|
|
15
|
+
fileIcon: string;
|
|
16
|
+
fileName: string;
|
|
17
|
+
fileSize: string;
|
|
18
|
+
};
|
|
19
|
+
lg: {
|
|
20
|
+
dropzone: string;
|
|
21
|
+
icon: string;
|
|
22
|
+
fileThumbnail: string;
|
|
23
|
+
fileIcon: string;
|
|
24
|
+
fileName: string;
|
|
25
|
+
fileSize: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
color: {
|
|
29
|
+
primary: {
|
|
30
|
+
icon: string;
|
|
31
|
+
dropzone: string;
|
|
32
|
+
};
|
|
33
|
+
neutral: {
|
|
34
|
+
icon: string;
|
|
35
|
+
dropzone: string;
|
|
36
|
+
};
|
|
37
|
+
secondary: {
|
|
38
|
+
icon: string;
|
|
39
|
+
dropzone: string;
|
|
40
|
+
};
|
|
41
|
+
success: {
|
|
42
|
+
icon: string;
|
|
43
|
+
dropzone: string;
|
|
44
|
+
};
|
|
45
|
+
danger: {
|
|
46
|
+
icon: string;
|
|
47
|
+
dropzone: string;
|
|
48
|
+
};
|
|
49
|
+
info: {
|
|
50
|
+
icon: string;
|
|
51
|
+
dropzone: string;
|
|
52
|
+
};
|
|
53
|
+
warning: {
|
|
54
|
+
icon: string;
|
|
55
|
+
dropzone: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
invalid: {
|
|
59
|
+
true: {
|
|
60
|
+
dropzone: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
}, {
|
|
64
|
+
root: string;
|
|
65
|
+
dropzone: string;
|
|
66
|
+
icon: string;
|
|
67
|
+
label: string;
|
|
68
|
+
description: string;
|
|
69
|
+
input: string;
|
|
70
|
+
fileList: string;
|
|
71
|
+
file: string;
|
|
72
|
+
fileThumbnail: string;
|
|
73
|
+
fileIcon: string;
|
|
74
|
+
fileInfo: string;
|
|
75
|
+
fileName: string;
|
|
76
|
+
fileSize: string;
|
|
77
|
+
fileRemove: string;
|
|
78
|
+
}, undefined, {
|
|
79
|
+
size: {
|
|
80
|
+
sm: {
|
|
81
|
+
dropzone: string;
|
|
82
|
+
icon: string;
|
|
83
|
+
fileThumbnail: string;
|
|
84
|
+
fileIcon: string;
|
|
85
|
+
fileName: string;
|
|
86
|
+
fileSize: string;
|
|
87
|
+
};
|
|
88
|
+
md: {
|
|
89
|
+
dropzone: string;
|
|
90
|
+
icon: string;
|
|
91
|
+
fileThumbnail: string;
|
|
92
|
+
fileIcon: string;
|
|
93
|
+
fileName: string;
|
|
94
|
+
fileSize: string;
|
|
95
|
+
};
|
|
96
|
+
lg: {
|
|
97
|
+
dropzone: string;
|
|
98
|
+
icon: string;
|
|
99
|
+
fileThumbnail: string;
|
|
100
|
+
fileIcon: string;
|
|
101
|
+
fileName: string;
|
|
102
|
+
fileSize: string;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
color: {
|
|
106
|
+
primary: {
|
|
107
|
+
icon: string;
|
|
108
|
+
dropzone: string;
|
|
109
|
+
};
|
|
110
|
+
neutral: {
|
|
111
|
+
icon: string;
|
|
112
|
+
dropzone: string;
|
|
113
|
+
};
|
|
114
|
+
secondary: {
|
|
115
|
+
icon: string;
|
|
116
|
+
dropzone: string;
|
|
117
|
+
};
|
|
118
|
+
success: {
|
|
119
|
+
icon: string;
|
|
120
|
+
dropzone: string;
|
|
121
|
+
};
|
|
122
|
+
danger: {
|
|
123
|
+
icon: string;
|
|
124
|
+
dropzone: string;
|
|
125
|
+
};
|
|
126
|
+
info: {
|
|
127
|
+
icon: string;
|
|
128
|
+
dropzone: string;
|
|
129
|
+
};
|
|
130
|
+
warning: {
|
|
131
|
+
icon: string;
|
|
132
|
+
dropzone: string;
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
invalid: {
|
|
136
|
+
true: {
|
|
137
|
+
dropzone: string;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
}, {
|
|
141
|
+
root: string;
|
|
142
|
+
dropzone: string;
|
|
143
|
+
icon: string;
|
|
144
|
+
label: string;
|
|
145
|
+
description: string;
|
|
146
|
+
input: string;
|
|
147
|
+
fileList: string;
|
|
148
|
+
file: string;
|
|
149
|
+
fileThumbnail: string;
|
|
150
|
+
fileIcon: string;
|
|
151
|
+
fileInfo: string;
|
|
152
|
+
fileName: string;
|
|
153
|
+
fileSize: string;
|
|
154
|
+
fileRemove: string;
|
|
155
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
156
|
+
size: {
|
|
157
|
+
sm: {
|
|
158
|
+
dropzone: string;
|
|
159
|
+
icon: string;
|
|
160
|
+
fileThumbnail: string;
|
|
161
|
+
fileIcon: string;
|
|
162
|
+
fileName: string;
|
|
163
|
+
fileSize: string;
|
|
164
|
+
};
|
|
165
|
+
md: {
|
|
166
|
+
dropzone: string;
|
|
167
|
+
icon: string;
|
|
168
|
+
fileThumbnail: string;
|
|
169
|
+
fileIcon: string;
|
|
170
|
+
fileName: string;
|
|
171
|
+
fileSize: string;
|
|
172
|
+
};
|
|
173
|
+
lg: {
|
|
174
|
+
dropzone: string;
|
|
175
|
+
icon: string;
|
|
176
|
+
fileThumbnail: string;
|
|
177
|
+
fileIcon: string;
|
|
178
|
+
fileName: string;
|
|
179
|
+
fileSize: string;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
color: {
|
|
183
|
+
primary: {
|
|
184
|
+
icon: string;
|
|
185
|
+
dropzone: string;
|
|
186
|
+
};
|
|
187
|
+
neutral: {
|
|
188
|
+
icon: string;
|
|
189
|
+
dropzone: string;
|
|
190
|
+
};
|
|
191
|
+
secondary: {
|
|
192
|
+
icon: string;
|
|
193
|
+
dropzone: string;
|
|
194
|
+
};
|
|
195
|
+
success: {
|
|
196
|
+
icon: string;
|
|
197
|
+
dropzone: string;
|
|
198
|
+
};
|
|
199
|
+
danger: {
|
|
200
|
+
icon: string;
|
|
201
|
+
dropzone: string;
|
|
202
|
+
};
|
|
203
|
+
info: {
|
|
204
|
+
icon: string;
|
|
205
|
+
dropzone: string;
|
|
206
|
+
};
|
|
207
|
+
warning: {
|
|
208
|
+
icon: string;
|
|
209
|
+
dropzone: string;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
invalid: {
|
|
213
|
+
true: {
|
|
214
|
+
dropzone: string;
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
}, {
|
|
218
|
+
root: string;
|
|
219
|
+
dropzone: string;
|
|
220
|
+
icon: string;
|
|
221
|
+
label: string;
|
|
222
|
+
description: string;
|
|
223
|
+
input: string;
|
|
224
|
+
fileList: string;
|
|
225
|
+
file: string;
|
|
226
|
+
fileThumbnail: string;
|
|
227
|
+
fileIcon: string;
|
|
228
|
+
fileInfo: string;
|
|
229
|
+
fileName: string;
|
|
230
|
+
fileSize: string;
|
|
231
|
+
fileRemove: string;
|
|
232
|
+
}>>;
|
|
233
|
+
export type FileUploadThemeSlots = keyof (typeof fileUploadTheme)['slots'];
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const fileUploadTheme = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
root: "flex w-full flex-col gap-3",
|
|
5
|
+
// The real drop target and click-to-browse trigger - a <button>,
|
|
6
|
+
// not a <div>, so keyboard focus/activation (Enter/Space) comes free
|
|
7
|
+
// instead of needing hand-rolled keydown handling. dragging (a
|
|
8
|
+
// component-set data attribute, not a native one) recolors it
|
|
9
|
+
// toward `color` - see the color variant below.
|
|
10
|
+
dropzone: "flex w-full flex-col items-center justify-center gap-2 rounded-[var(--ui-radius-md)] border-2 border-dashed border-[var(--ui-border)] p-6 text-center transition-colors hover:border-[var(--ui-border-hover)] hover:bg-[var(--ui-bg-elevated)] focus-visible:outline-none focus-visible:ring-2 disabled:opacity-50 disabled:pointer-events-none",
|
|
11
|
+
icon: "text-[var(--ui-text-muted)]",
|
|
12
|
+
label: "font-medium text-[var(--ui-text)]",
|
|
13
|
+
description: "text-[var(--ui-text-muted)]",
|
|
14
|
+
// Purely an implementation detail - visually hidden and (via
|
|
15
|
+
// tabindex="-1" in FileUpload.vue) not independently tab-reachable
|
|
16
|
+
// either.
|
|
17
|
+
// The dropzone <button> wrapping it is the real focusable, Enter/
|
|
18
|
+
// Space-activatable control (free native semantics); this input just
|
|
19
|
+
// gets programmatically .click()'d to open the OS file dialog.
|
|
20
|
+
input: "sr-only",
|
|
21
|
+
fileList: "flex w-full flex-col gap-2",
|
|
22
|
+
file: "flex items-center gap-3 rounded-[var(--ui-radius-md)] border border-[var(--ui-border)] p-2",
|
|
23
|
+
fileThumbnail: "size-8 shrink-0 rounded-[var(--ui-radius-sm)] object-cover",
|
|
24
|
+
fileIcon: "size-8 shrink-0 text-[var(--ui-text-muted)]",
|
|
25
|
+
fileInfo: "flex min-w-0 flex-1 flex-col",
|
|
26
|
+
fileName: "truncate text-[var(--ui-text)]",
|
|
27
|
+
fileSize: "text-[var(--ui-text-muted)]",
|
|
28
|
+
fileRemove: "shrink-0"
|
|
29
|
+
},
|
|
30
|
+
variants: {
|
|
31
|
+
size: {
|
|
32
|
+
sm: { dropzone: "p-4 text-xs", icon: "size-6", fileThumbnail: "size-7", fileIcon: "size-7", fileName: "text-xs", fileSize: "text-xs" },
|
|
33
|
+
md: { dropzone: "p-6 text-sm", icon: "size-8", fileThumbnail: "size-8", fileIcon: "size-8", fileName: "text-sm", fileSize: "text-xs" },
|
|
34
|
+
lg: { dropzone: "p-8 text-base", icon: "size-10", fileThumbnail: "size-10", fileIcon: "size-10", fileName: "text-base", fileSize: "text-sm" }
|
|
35
|
+
},
|
|
36
|
+
// Unlike Input/PinInput's own `color` (focus-ring only, resting
|
|
37
|
+
// stays neutral), FileUpload also tints the icon at rest - a
|
|
38
|
+
// dropzone has no "typing" affordance to make a focus-only color
|
|
39
|
+
// legible in practice, and a Color example that only ever shows 7
|
|
40
|
+
// identical-looking boxes until you interact with each one isn't
|
|
41
|
+
// actually demonstrating anything - confirmed as a real problem via
|
|
42
|
+
// direct user feedback, not just a style preference.
|
|
43
|
+
color: {
|
|
44
|
+
primary: { icon: "text-[var(--ui-primary)]", dropzone: "focus-visible:ring-[var(--ui-primary)] data-[dragging]:border-[var(--ui-primary)] data-[dragging]:bg-[var(--ui-primary-soft)]" },
|
|
45
|
+
neutral: { icon: "text-[var(--ui-bg-inverted)]", dropzone: "focus-visible:ring-[var(--ui-bg-inverted)] data-[dragging]:border-[var(--ui-bg-inverted)] data-[dragging]:bg-[var(--ui-bg-elevated)]" },
|
|
46
|
+
secondary: { icon: "text-[var(--ui-secondary)]", dropzone: "focus-visible:ring-[var(--ui-secondary)] data-[dragging]:border-[var(--ui-secondary)] data-[dragging]:bg-[var(--ui-secondary-soft)]" },
|
|
47
|
+
success: { icon: "text-[var(--ui-success)]", dropzone: "focus-visible:ring-[var(--ui-success)] data-[dragging]:border-[var(--ui-success)] data-[dragging]:bg-[var(--ui-success-soft)]" },
|
|
48
|
+
danger: { icon: "text-[var(--ui-danger)]", dropzone: "focus-visible:ring-[var(--ui-danger)] data-[dragging]:border-[var(--ui-danger)] data-[dragging]:bg-[var(--ui-danger-soft)]" },
|
|
49
|
+
info: { icon: "text-[var(--ui-info)]", dropzone: "focus-visible:ring-[var(--ui-info)] data-[dragging]:border-[var(--ui-info)] data-[dragging]:bg-[var(--ui-info-soft)]" },
|
|
50
|
+
warning: { icon: "text-[var(--ui-warning)]", dropzone: "focus-visible:ring-[var(--ui-warning)] data-[dragging]:border-[var(--ui-warning)] data-[dragging]:bg-[var(--ui-warning-soft)]" }
|
|
51
|
+
},
|
|
52
|
+
// Declared last (after color) so tailwind-merge lets its own border
|
|
53
|
+
// override win over color's - matches Input's own documented
|
|
54
|
+
// reasoning for this order.
|
|
55
|
+
invalid: {
|
|
56
|
+
true: { dropzone: "border-[var(--ui-danger)] focus-visible:ring-[var(--ui-danger)]" }
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
defaultVariants: {
|
|
60
|
+
size: "md",
|
|
61
|
+
color: "primary"
|
|
62
|
+
}
|
|
63
|
+
});
|