vlite3 0.1.0 → 0.1.2
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/_virtual/_plugin-vue_export-helper.js +9 -0
- package/components/Accordion/Accordion.vue.d.ts +44 -0
- package/components/Accordion/Accordion.vue.js +95 -0
- package/components/Accordion/Accordion.vue2.js +4 -0
- package/components/Accordion/AccordionContent.vue.d.ts +22 -0
- package/components/Accordion/AccordionContent.vue.js +7 -0
- package/components/Accordion/AccordionContent.vue2.js +47 -0
- package/components/Accordion/AccordionItem.vue.d.ts +56 -0
- package/components/Accordion/AccordionItem.vue.js +115 -0
- package/components/Accordion/AccordionItem.vue2.js +4 -0
- package/components/Accordion/AccordionTrigger.vue.d.ts +43 -0
- package/components/Accordion/AccordionTrigger.vue.js +94 -0
- package/components/Accordion/AccordionTrigger.vue2.js +4 -0
- package/components/Accordion/index.d.ts +5 -0
- package/components/Accordion/types.d.ts +33 -0
- package/components/Alert.vue.d.ts +36 -0
- package/components/Alert.vue.js +84 -0
- package/components/Alert.vue2.js +4 -0
- package/components/Avatar.vue.d.ts +32 -0
- package/components/Avatar.vue.js +78 -0
- package/components/Avatar.vue2.js +4 -0
- package/components/AvatarUploader/AvatarUploader.vue.d.ts +32 -0
- package/components/AvatarUploader/AvatarUploader.vue.js +99 -0
- package/components/AvatarUploader/AvatarUploader.vue2.js +4 -0
- package/{src/components/AvatarUploader/index.ts → components/AvatarUploader/index.d.ts} +2 -2
- package/components/Badge.vue.d.ts +25 -0
- package/components/Badge.vue.js +27 -0
- package/components/Badge.vue2.js +4 -0
- package/components/Button.vue.d.ts +26 -0
- package/components/Button.vue.js +107 -0
- package/components/Button.vue2.js +4 -0
- package/components/ButtonGroup.vue.d.ts +29 -0
- package/components/ButtonGroup.vue.js +7 -0
- package/components/ButtonGroup.vue2.js +30 -0
- package/components/Carousel/Carousel.vue.d.ts +847 -0
- package/components/Carousel/Carousel.vue.js +7 -0
- package/components/Carousel/Carousel.vue2.js +68 -0
- package/components/Carousel/index.d.ts +2 -0
- package/components/Carousel/types.d.ts +24 -0
- package/components/CheckBox.vue.d.ts +27 -0
- package/components/CheckBox.vue.js +115 -0
- package/components/CheckBox.vue2.js +4 -0
- package/components/Chip/Chip.vue.d.ts +33 -0
- package/components/Chip/Chip.vue.js +113 -0
- package/components/Chip/Chip.vue2.js +4 -0
- package/components/Chip/index.d.ts +2 -0
- package/components/Chip/types.d.ts +12 -0
- package/components/ChoiceBox/ChoiceBox.vue.d.ts +32 -0
- package/components/ChoiceBox/ChoiceBox.vue.js +141 -0
- package/components/ChoiceBox/ChoiceBox.vue2.js +4 -0
- package/components/ChoiceBox/index.d.ts +2 -0
- package/components/ColorPicker/ColorIro.vue.d.ts +18 -0
- package/components/ColorPicker/ColorIro.vue.js +142 -0
- package/components/ColorPicker/ColorIro.vue3.js +5 -0
- package/components/ColorPicker/ColorPicker.vue.d.ts +22 -0
- package/components/ColorPicker/ColorPicker.vue.js +56 -0
- package/components/ColorPicker/ColorPicker.vue2.js +4 -0
- package/components/ConfirmationModal.vue.d.ts +39 -0
- package/components/ConfirmationModal.vue.js +55 -0
- package/components/ConfirmationModal.vue2.js +4 -0
- package/components/DataTable/DataTable.vue.d.ts +60 -0
- package/components/DataTable/DataTable.vue.js +7 -0
- package/components/DataTable/DataTable.vue2.js +310 -0
- package/components/DataTable/DataTableHeader.vue.d.ts +14 -0
- package/components/DataTable/DataTableHeader.vue.js +49 -0
- package/components/DataTable/DataTableHeader.vue2.js +4 -0
- package/components/DataTable/DataTableRow.vue.d.ts +51 -0
- package/components/DataTable/DataTableRow.vue.js +114 -0
- package/components/DataTable/DataTableRow.vue2.js +4 -0
- package/components/DataTable/DataTableToolbar.vue.d.ts +31 -0
- package/components/DataTable/DataTableToolbar.vue.js +45 -0
- package/components/DataTable/DataTableToolbar.vue2.js +4 -0
- package/components/DataTable/index.d.ts +4 -0
- package/components/DataTable/types.d.ts +75 -0
- package/components/DatePicker.vue.d.ts +44 -0
- package/components/DatePicker.vue.js +84 -0
- package/components/DatePicker.vue2.js +4 -0
- package/components/Dropdown/Dropdown.vue.d.ts +105 -0
- package/components/Dropdown/Dropdown.vue.js +206 -0
- package/components/Dropdown/Dropdown.vue2.js +4 -0
- package/components/Dropdown/DropdownBooleanItem.vue.d.ts +12 -0
- package/components/Dropdown/DropdownBooleanItem.vue.js +41 -0
- package/components/Dropdown/DropdownBooleanItem.vue2.js +4 -0
- package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +21 -0
- package/components/Dropdown/DropdownGroupedLayout.vue.js +73 -0
- package/components/Dropdown/DropdownGroupedLayout.vue2.js +4 -0
- package/components/Dropdown/DropdownItem.vue.d.ts +35 -0
- package/components/Dropdown/DropdownItem.vue.js +56 -0
- package/components/Dropdown/DropdownItem.vue2.js +4 -0
- package/components/Dropdown/DropdownMenu.vue.d.ts +73 -0
- package/components/Dropdown/DropdownMenu.vue.js +232 -0
- package/components/Dropdown/DropdownMenu.vue2.js +4 -0
- package/components/Dropdown/DropdownTrigger.vue.d.ts +15 -0
- package/components/Dropdown/DropdownTrigger.vue.js +26 -0
- package/components/Dropdown/DropdownTrigger.vue2.js +4 -0
- package/components/Dropdown/composables/useDropdownIds.d.ts +5 -0
- package/components/Dropdown/composables/useDropdownIds.js +20 -0
- package/components/Dropdown/composables/useDropdownNavigation.d.ts +19 -0
- package/components/Dropdown/composables/useDropdownNavigation.js +49 -0
- package/components/Dropdown/composables/useDropdownSelection.d.ts +16 -0
- package/components/Dropdown/composables/useDropdownSelection.js +41 -0
- package/components/Dropdown/index.d.ts +6 -0
- package/components/FilePicker/FilePicker.vue.d.ts +65 -0
- package/components/FilePicker/FilePicker.vue.js +285 -0
- package/components/FilePicker/FilePicker.vue2.js +4 -0
- package/components/FilePicker/index.d.ts +2 -0
- package/components/FileTree/FileTree.vue.d.ts +20 -0
- package/components/FileTree/FileTree.vue.js +139 -0
- package/components/FileTree/FileTree.vue2.js +4 -0
- package/components/FileTree/FileTreeNode.vue.d.ts +28 -0
- package/components/FileTree/FileTreeNode.vue.js +184 -0
- package/components/FileTree/FileTreeNode.vue2.js +4 -0
- package/components/FileTree/index.d.ts +4 -0
- package/components/FileTree/types.d.ts +36 -0
- package/components/FileTree/useTreeSelection.d.ts +12 -0
- package/components/FileTree/useTreeSelection.js +25 -0
- package/components/Form/CustomFields.vue.d.ts +38 -0
- package/components/Form/CustomFields.vue.js +7 -0
- package/components/Form/CustomFields.vue2.js +161 -0
- package/components/Form/Form.vue.d.ts +94 -0
- package/components/Form/Form.vue.js +7 -0
- package/components/Form/Form.vue2.js +238 -0
- package/components/Form/FormField.vue.d.ts +28 -0
- package/components/Form/FormField.vue.js +207 -0
- package/components/Form/FormField.vue2.js +4 -0
- package/components/Form/FormFields.vue.d.ts +29 -0
- package/components/Form/FormFields.vue.js +7 -0
- package/components/Form/FormFields.vue2.js +95 -0
- package/components/Form/composables/useFileUpload.d.ts +24 -0
- package/components/Form/composables/useFileUpload.js +40 -0
- package/components/Form/composables/useForm.d.ts +48 -0
- package/components/Form/composables/useForm.js +109 -0
- package/components/Form/index.d.ts +9 -0
- package/components/Form/types.d.ts +167 -0
- package/components/Form/utils/form.utils.d.ts +44 -0
- package/components/Form/utils/form.utils.js +97 -0
- package/components/Heatmap/Heatmap.vue.d.ts +26 -0
- package/components/Heatmap/Heatmap.vue.js +7 -0
- package/components/Heatmap/Heatmap.vue2.js +326 -0
- package/components/Heatmap/index.d.ts +2 -0
- package/components/Heatmap/types.d.ts +66 -0
- package/components/Icon.vue.d.ts +7 -0
- package/components/Icon.vue.js +25 -0
- package/components/Icon.vue2.js +4 -0
- package/components/IconPicker.vue.d.ts +38 -0
- package/components/IconPicker.vue.js +124 -0
- package/components/IconPicker.vue2.js +4 -0
- package/components/Input.vue.d.ts +54 -0
- package/components/Input.vue.js +267 -0
- package/components/Input.vue2.js +4 -0
- package/components/Label.vue.d.ts +23 -0
- package/components/Label.vue.js +23 -0
- package/components/Label.vue2.js +4 -0
- package/components/Logo.vue.d.ts +2 -0
- package/components/Logo.vue.js +10 -0
- package/components/Logo.vue2.js +4 -0
- package/components/Masonry/Masonry.vue.d.ts +31 -0
- package/components/Masonry/Masonry.vue.js +7 -0
- package/components/Masonry/Masonry.vue2.js +83 -0
- package/components/Masonry/index.d.ts +2 -0
- package/components/Masonry/types.d.ts +33 -0
- package/components/Masonry/types.js +10 -0
- package/components/Modal.vue.d.ts +52 -0
- package/components/Modal.vue.js +116 -0
- package/components/Modal.vue2.js +4 -0
- package/components/MultiSelect/MultiSelect.vue.d.ts +40 -0
- package/components/MultiSelect/MultiSelect.vue.js +126 -0
- package/components/MultiSelect/MultiSelect.vue2.js +4 -0
- package/components/MultiSelect/index.d.ts +1 -0
- package/components/Navbar/Navbar.vue.d.ts +51 -0
- package/components/Navbar/Navbar.vue.js +198 -0
- package/components/Navbar/Navbar.vue2.js +4 -0
- package/components/Navbar/NavbarGroup.vue.d.ts +24 -0
- package/components/Navbar/NavbarGroup.vue.js +23 -0
- package/components/Navbar/NavbarGroup.vue2.js +4 -0
- package/components/Navbar/NavbarItem.vue.d.ts +40 -0
- package/components/Navbar/NavbarItem.vue.js +104 -0
- package/components/Navbar/NavbarItem.vue2.js +4 -0
- package/components/Navbar/index.d.ts +3 -0
- package/components/OTPInput/OTPInput.vue.d.ts +33 -0
- package/components/OTPInput/OTPInput.vue.js +115 -0
- package/components/OTPInput/OTPInput.vue2.js +4 -0
- package/components/OTPInput/index.d.ts +1 -0
- package/components/Pagination/Pagination.vue.d.ts +34 -0
- package/components/Pagination/Pagination.vue.js +196 -0
- package/components/Pagination/Pagination.vue2.js +4 -0
- package/components/Pagination/index.d.ts +1 -0
- package/components/PricingPlan/PricingPlan.vue.d.ts +22 -0
- package/components/PricingPlan/PricingPlan.vue.js +55 -0
- package/components/PricingPlan/PricingPlan.vue2.js +4 -0
- package/components/PricingPlan/PricingPlanItem.vue.d.ts +17 -0
- package/components/PricingPlan/PricingPlanItem.vue.js +94 -0
- package/components/PricingPlan/PricingPlanItem.vue2.js +4 -0
- package/components/PricingPlan/index.d.ts +3 -0
- package/components/PricingPlan/types.d.ts +25 -0
- package/components/SidePanel.vue.d.ts +64 -0
- package/components/SidePanel.vue.js +7 -0
- package/components/SidePanel.vue2.js +131 -0
- package/components/SidebarMenu/SidebarMenu.vue.d.ts +11 -0
- package/components/SidebarMenu/SidebarMenu.vue.js +78 -0
- package/components/SidebarMenu/SidebarMenu.vue2.js +4 -0
- package/components/SidebarMenu/SidebarMenuItem.vue.d.ts +9 -0
- package/components/SidebarMenu/SidebarMenuItem.vue.js +269 -0
- package/components/SidebarMenu/SidebarMenuItem.vue3.js +5 -0
- package/components/SidebarMenu/index.d.ts +3 -0
- package/components/SidebarMenu/types.d.ts +35 -0
- package/components/Slider.vue.d.ts +31 -0
- package/components/Slider.vue.js +157 -0
- package/components/Slider.vue2.js +4 -0
- package/components/Switch.vue.d.ts +16 -0
- package/components/Switch.vue.js +40 -0
- package/components/Switch.vue2.js +4 -0
- package/components/Tabes/Tabes.vue.d.ts +21 -0
- package/components/Tabes/Tabes.vue.js +75 -0
- package/components/Tabes/Tabes.vue2.js +4 -0
- package/components/Tabes/index.d.ts +2 -0
- package/components/Tabes/types.d.ts +8 -0
- package/components/Textarea.vue.d.ts +22 -0
- package/components/Textarea.vue.js +34 -0
- package/components/Textarea.vue2.js +4 -0
- package/components/ThemeToggle.vue.d.ts +2 -0
- package/components/ThemeToggle.vue.js +18 -0
- package/components/ThemeToggle.vue2.js +4 -0
- package/components/Timeline.vue.d.ts +39 -0
- package/components/Timeline.vue.js +174 -0
- package/components/Timeline.vue2.js +4 -0
- package/components/ToastNotification.vue.d.ts +7 -0
- package/components/ToastNotification.vue.js +7 -0
- package/components/ToastNotification.vue2.js +151 -0
- package/components/Tooltip.vue.d.ts +31 -0
- package/components/Tooltip.vue.js +45 -0
- package/components/Tooltip.vue2.js +4 -0
- package/components/Workbook/Sheet.vue.d.ts +38 -0
- package/components/Workbook/Sheet.vue.js +141 -0
- package/components/Workbook/Sheet.vue2.js +4 -0
- package/components/Workbook/Workbook.vue.d.ts +54 -0
- package/components/Workbook/Workbook.vue.js +7 -0
- package/components/Workbook/Workbook.vue2.js +146 -0
- package/components/Workbook/WorkbookAddButton.vue.d.ts +6 -0
- package/components/Workbook/WorkbookAddButton.vue.js +20 -0
- package/components/Workbook/WorkbookAddButton.vue2.js +4 -0
- package/components/Workbook/index.d.ts +3 -0
- package/components/Workbook/types.d.ts +34 -0
- package/composables/useKeyStroke.d.ts +21 -0
- package/composables/useKeyStroke.js +93 -0
- package/composables/useNotifications.d.ts +113 -0
- package/composables/useNotifications.js +99 -0
- package/composables/useTheme.d.ts +6 -0
- package/composables/useTheme.js +32 -0
- package/core/config.d.ts +29 -0
- package/core/config.js +12 -0
- package/core/index.d.ts +31 -0
- package/core/index.js +15 -0
- package/directives/vRipple.d.ts +4 -0
- package/directives/vRipple.js +17 -0
- package/index.d.ts +49 -0
- package/index.js +156 -0
- package/package.json +2 -2
- package/style.css +590 -0
- package/types/alert.type.d.ts +10 -0
- package/{src/types/avatar.type.ts → types/avatar.type.d.ts} +8 -9
- package/types/button.d.ts +15 -0
- package/types/buttongroup.type.d.ts +1 -0
- package/{src/types/config.type.ts → types/config.type.d.ts} +13 -16
- package/types/form.type.d.ts +45 -0
- package/types/index.d.ts +10 -0
- package/types/navbar.type.d.ts +27 -0
- package/types/sidepanel.type.d.ts +13 -0
- package/types/styles.d.ts +28 -0
- package/types/timeline.type.d.ts +9 -0
- package/{src/utils/functions.ts → utils/functions.d.ts} +1 -9
- package/utils/functions.js +11 -0
- package/utils/index.d.ts +2 -0
- package/utils/object.d.ts +6 -0
- package/utils/object.js +14 -0
- package/.vscode/extensions.json +0 -3
- package/LICENSE +0 -21
- package/index.html +0 -16
- package/scripts/bundle-css.js +0 -45
- package/src/App.vue +0 -7
- package/src/components/Accordion/Accordion.vue +0 -139
- package/src/components/Accordion/AccordionContent.vue +0 -63
- package/src/components/Accordion/AccordionItem.vue +0 -163
- package/src/components/Accordion/AccordionTrigger.vue +0 -125
- package/src/components/Accordion/index.ts +0 -5
- package/src/components/Accordion/types.ts +0 -41
- package/src/components/Alert.vue +0 -112
- package/src/components/Avatar.vue +0 -110
- package/src/components/AvatarUploader/AvatarUploader.vue +0 -129
- package/src/components/Badge.vue +0 -45
- package/src/components/Button.vue +0 -122
- package/src/components/ButtonGroup.vue +0 -173
- package/src/components/Carousel/Carousel.vue +0 -84
- package/src/components/Carousel/index.ts +0 -2
- package/src/components/Carousel/types.ts +0 -25
- package/src/components/CheckBox.vue +0 -132
- package/src/components/Chip/Chip.vue +0 -158
- package/src/components/Chip/index.ts +0 -2
- package/src/components/Chip/types.ts +0 -23
- package/src/components/ChoiceBox/ChoiceBox.vue +0 -181
- package/src/components/ChoiceBox/index.ts +0 -2
- package/src/components/ColorPicker/ColorIro.vue +0 -207
- package/src/components/ColorPicker/ColorPicker.vue +0 -61
- package/src/components/ConfirmationModal.vue +0 -46
- package/src/components/DataTable/DataTable.vue +0 -478
- package/src/components/DataTable/DataTableHeader.vue +0 -78
- package/src/components/DataTable/DataTableRow.vue +0 -171
- package/src/components/DataTable/DataTableToolbar.vue +0 -45
- package/src/components/DataTable/index.ts +0 -5
- package/src/components/DataTable/types.ts +0 -85
- package/src/components/DatePicker.vue +0 -102
- package/src/components/Dropdown/Dropdown.vue +0 -348
- package/src/components/Dropdown/DropdownBooleanItem.vue +0 -40
- package/src/components/Dropdown/DropdownGroupedLayout.vue +0 -115
- package/src/components/Dropdown/DropdownItem.vue +0 -56
- package/src/components/Dropdown/DropdownMenu.vue +0 -374
- package/src/components/Dropdown/DropdownTrigger.vue +0 -27
- package/src/components/Dropdown/composables/useDropdownIds.ts +0 -27
- package/src/components/Dropdown/composables/useDropdownNavigation.ts +0 -109
- package/src/components/Dropdown/composables/useDropdownSelection.ts +0 -106
- package/src/components/Dropdown/index.ts +0 -6
- package/src/components/FilePicker/FilePicker.vue +0 -459
- package/src/components/FilePicker/index.ts +0 -2
- package/src/components/FileTree/FileTree.vue +0 -334
- package/src/components/FileTree/FileTreeNode.vue +0 -225
- package/src/components/FileTree/index.ts +0 -2
- package/src/components/FileTree/types.ts +0 -31
- package/src/components/FileTree/useTreeSelection.ts +0 -66
- package/src/components/Form/CustomFields.vue +0 -294
- package/src/components/Form/Form.vue +0 -406
- package/src/components/Form/FormField.vue +0 -404
- package/src/components/Form/FormFields.vue +0 -161
- package/src/components/Form/composables/useFileUpload.ts +0 -112
- package/src/components/Form/composables/useForm.ts +0 -356
- package/src/components/Form/index.ts +0 -16
- package/src/components/Form/types.ts +0 -203
- package/src/components/Form/utils/form.utils.ts +0 -209
- package/src/components/Heatmap/Heatmap.vue +0 -629
- package/src/components/Heatmap/index.ts +0 -2
- package/src/components/Heatmap/types.ts +0 -84
- package/src/components/Icon.vue +0 -47
- package/src/components/IconPicker.vue +0 -138
- package/src/components/Input.vue +0 -366
- package/src/components/Label.vue +0 -25
- package/src/components/Logo.vue +0 -5
- package/src/components/Masonry/Masonry.vue +0 -148
- package/src/components/Masonry/index.ts +0 -2
- package/src/components/Masonry/types.ts +0 -44
- package/src/components/Modal.vue +0 -135
- package/src/components/MultiSelect/MultiSelect.vue +0 -176
- package/src/components/MultiSelect/index.ts +0 -1
- package/src/components/Navbar/Navbar.vue +0 -277
- package/src/components/Navbar/NavbarGroup.vue +0 -27
- package/src/components/Navbar/NavbarItem.vue +0 -124
- package/src/components/Navbar/index.ts +0 -3
- package/src/components/OTPInput/OTPInput.vue +0 -220
- package/src/components/OTPInput/index.ts +0 -1
- package/src/components/Pagination/Pagination.vue +0 -238
- package/src/components/Pagination/index.ts +0 -1
- package/src/components/PricingPlan/PricingPlan.vue +0 -102
- package/src/components/PricingPlan/PricingPlanItem.vue +0 -148
- package/src/components/PricingPlan/index.ts +0 -3
- package/src/components/PricingPlan/types.ts +0 -29
- package/src/components/SidePanel.vue +0 -184
- package/src/components/SidebarMenu/SidebarMenu.vue +0 -146
- package/src/components/SidebarMenu/SidebarMenuItem.vue +0 -333
- package/src/components/SidebarMenu/index.ts +0 -3
- package/src/components/SidebarMenu/types.ts +0 -54
- package/src/components/Slider.vue +0 -181
- package/src/components/Switch.vue +0 -51
- package/src/components/Tabes/Tabes.vue +0 -112
- package/src/components/Tabes/index.ts +0 -2
- package/src/components/Tabes/types.ts +0 -17
- package/src/components/Textarea.vue +0 -48
- package/src/components/ThemeToggle.vue +0 -14
- package/src/components/Timeline.vue +0 -250
- package/src/components/ToastNotification.vue +0 -257
- package/src/components/Tooltip.vue +0 -25
- package/src/components/Workbook/Sheet.vue +0 -185
- package/src/components/Workbook/Workbook.vue +0 -231
- package/src/components/Workbook/WorkbookAddButton.vue +0 -17
- package/src/components/Workbook/index.ts +0 -3
- package/src/components/Workbook/types.ts +0 -43
- package/src/composables/useKeyStroke.ts +0 -291
- package/src/composables/useNotifications.ts +0 -206
- package/src/composables/useTheme.ts +0 -55
- package/src/core/config.ts +0 -37
- package/src/core/index.ts +0 -49
- package/src/css/base.css +0 -148
- package/src/css/input.css +0 -61
- package/src/css/main.css +0 -6
- package/src/css/theme.css +0 -344
- package/src/directives/vRipple.ts +0 -38
- package/src/index.ts +0 -53
- package/src/main.ts +0 -5
- package/src/playground/Playground.vue +0 -429
- package/src/playground/composables/useGetUsers.ts +0 -538
- package/src/playground/demos/AccordionDemo.vue +0 -361
- package/src/playground/demos/AlertDemo.vue +0 -36
- package/src/playground/demos/AvatarDemo.vue +0 -41
- package/src/playground/demos/AvatarUploaderDemo.vue +0 -133
- package/src/playground/demos/BadgeDemo.vue +0 -31
- package/src/playground/demos/BadgesDemo.vue +0 -26
- package/src/playground/demos/ButtonDemo.vue +0 -99
- package/src/playground/demos/ButtonGroupDemo.vue +0 -39
- package/src/playground/demos/ButtonsDemo.vue +0 -111
- package/src/playground/demos/CarouselDemo.vue +0 -135
- package/src/playground/demos/CheckBoxDemo.vue +0 -43
- package/src/playground/demos/ChipDemo.vue +0 -190
- package/src/playground/demos/ChoiceBoxDemo.vue +0 -160
- package/src/playground/demos/ColorPickerDemo.vue +0 -30
- package/src/playground/demos/ColorsDemo.vue +0 -295
- package/src/playground/demos/DataTableDemo.vue +0 -215
- package/src/playground/demos/DatePickerDemo.vue +0 -43
- package/src/playground/demos/DisplayDemo.vue +0 -101
- package/src/playground/demos/DropdownDemo.vue +0 -651
- package/src/playground/demos/FilePickerDemo.vue +0 -175
- package/src/playground/demos/FileTreeDemo.vue +0 -150
- package/src/playground/demos/FormDemo.vue +0 -1144
- package/src/playground/demos/HeatmapDemo.vue +0 -467
- package/src/playground/demos/IconPickerDemo.vue +0 -27
- package/src/playground/demos/InputDemo.vue +0 -80
- package/src/playground/demos/InputsDemo.vue +0 -127
- package/src/playground/demos/LabelDemo.vue +0 -32
- package/src/playground/demos/MasonryDemo.vue +0 -241
- package/src/playground/demos/ModalDemo.vue +0 -67
- package/src/playground/demos/MultiSelectDemo.vue +0 -300
- package/src/playground/demos/NavbarDemo.vue +0 -59
- package/src/playground/demos/NavigationDemo.vue +0 -116
- package/src/playground/demos/OTPInputDemo.vue +0 -170
- package/src/playground/demos/OverlaysDemo.vue +0 -104
- package/src/playground/demos/PaginationDemo.vue +0 -130
- package/src/playground/demos/PricingPlanDemo.vue +0 -110
- package/src/playground/demos/SidePanelDemo.vue +0 -45
- package/src/playground/demos/SidebarMenuDemo.vue +0 -170
- package/src/playground/demos/SliderDemo.vue +0 -48
- package/src/playground/demos/SwitchDemo.vue +0 -40
- package/src/playground/demos/TabesDemo.vue +0 -178
- package/src/playground/demos/TextareaDemo.vue +0 -31
- package/src/playground/demos/ThemeToggleDemo.vue +0 -20
- package/src/playground/demos/TimelineDemo.vue +0 -43
- package/src/playground/demos/ToastDemo.vue +0 -111
- package/src/playground/demos/TooltipDemo.vue +0 -30
- package/src/playground/demos/WorkbookDemo.vue +0 -227
- package/src/types/alert.type.ts +0 -11
- package/src/types/button.ts +0 -36
- package/src/types/buttongroup.type.ts +0 -1
- package/src/types/form.type.ts +0 -75
- package/src/types/index.ts +0 -11
- package/src/types/navbar.type.ts +0 -28
- package/src/types/sidepanel.type.ts +0 -14
- package/src/types/styles.ts +0 -42
- package/src/types/timeline.type.ts +0 -11
- package/src/utils/index.ts +0 -2
- package/src/utils/object.ts +0 -40
- package/tsconfig.app.json +0 -27
- package/tsconfig.json +0 -48
- package/tsconfig.node.json +0 -18
- package/tsconfig.node.tsbuildinfo +0 -1
- package/tsconfig.tsbuildinfo +0 -1
- package/vercel.json +0 -8
- package/vite.config.d.ts +0 -2
- package/vite.config.js +0 -63
- package/vite.config.ts +0 -64
- package/vite.config.vercel.ts +0 -17
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { defineComponent as J, inject as Q, computed as c, resolveComponent as U, openBlock as l, createElementBlock as m, createBlock as p, unref as r, withCtx as h, resolveDynamicComponent as j, createCommentVNode as d, createElementVNode as v, toDisplayString as y, normalizeClass as s, createVNode as w, mergeProps as A, createTextVNode as W, Fragment as D, withKeys as X, withModifiers as Y, Transition as Z, normalizeStyle as O, renderList as _ } from "vue";
|
|
2
|
+
import g from "../Icon.vue.js";
|
|
3
|
+
import P from "../Tooltip.vue.js";
|
|
4
|
+
import ee from "../Dropdown/Dropdown.vue.js";
|
|
5
|
+
const te = { class: "w-full relative sidebar-manu-item" }, ne = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "px-3 py-1.5 text-sm flex items-center gap-2 font-medium border-b bg-muted-light rounded-t-md text-center truncate"
|
|
8
|
+
}, ae = { class: "w-full" }, ie = { class: "truncate flex-1" }, oe = ["onKeydown"], le = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "overflow-hidden transition-all duration-300 ease-in-out relative"
|
|
11
|
+
}, re = { class: "mt-0.5 space-y-0.5" }, me = /* @__PURE__ */ J({
|
|
12
|
+
__name: "SidebarMenuItem",
|
|
13
|
+
props: {
|
|
14
|
+
item: {},
|
|
15
|
+
depth: { default: 0 }
|
|
16
|
+
},
|
|
17
|
+
setup(i) {
|
|
18
|
+
const n = i, e = Q("sidebar-menu-ctx");
|
|
19
|
+
if (!e)
|
|
20
|
+
throw new Error("SidebarMenuItem must be used within a SidebarMenu");
|
|
21
|
+
const V = c(() => e.compact && b.value ? "popover" : n.item.renderMode || e.renderMode || "tree"), k = c(() => V.value === "popover" && b.value), x = c(() => n.item.id ? n.item.id : n.item.to && typeof n.item.to == "string" ? n.item.to : n.item.label), b = c(() => !!n.item.children?.length), E = c(() => k.value ? !1 : e.expandedItems.includes(x.value)), C = c(() => e.activeItem === x.value), $ = (a) => {
|
|
22
|
+
n.item.disabled || (b.value && !n.item.to && !n.item.href && (k.value || e.toggleExpand(x.value)), n.item.action && n.item.action(n.item), (!b.value || n.item.to) && e.setActive(x.value));
|
|
23
|
+
}, I = (a) => {
|
|
24
|
+
a.stopPropagation(), k.value || e.toggleExpand(x.value);
|
|
25
|
+
}, S = c(() => e.indentSize || 12), M = c(() => e.compact ? { width: "100%" } : {
|
|
26
|
+
marginLeft: `${n.depth * S.value}px`,
|
|
27
|
+
width: `calc(100% - ${n.depth * S.value}px)`
|
|
28
|
+
}), L = c(() => {
|
|
29
|
+
const a = "group flex items-center justify-between text-sm font-medium rounded-md transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50 relative border border-transparent select-none cursor-pointer w-full", t = e.compact ? "justify-center py-2 px-1" : "justify-between py-2 px-2";
|
|
30
|
+
let f = "";
|
|
31
|
+
return C.value ? f = "bg-primary/5 text-primary" : f = "text-muted-foreground hover:bg-accent/80 hover:text-foreground", n.item.disabled && (f = "opacity-50 cursor-not-allowed pointer-events-none"), `${a} ${t} ${f} ${n.item.class || ""}`;
|
|
32
|
+
}), u = c(() => e.compact && e.showCompactLabels), B = (a) => ({
|
|
33
|
+
label: a.label,
|
|
34
|
+
value: a.id || a.label,
|
|
35
|
+
icon: a.icon,
|
|
36
|
+
disabled: a.disabled,
|
|
37
|
+
children: a.children ? a.children.map(B) : void 0,
|
|
38
|
+
data: a
|
|
39
|
+
}), K = c(() => n.item.children ? n.item.children.map(B) : []), T = (a) => {
|
|
40
|
+
const t = a.data;
|
|
41
|
+
if (t) {
|
|
42
|
+
t.action && t.action(t);
|
|
43
|
+
const f = t.id || t.label || (typeof t.to == "string" ? t.to : "");
|
|
44
|
+
f && e.setActive(f);
|
|
45
|
+
}
|
|
46
|
+
}, H = (a) => {
|
|
47
|
+
const t = a;
|
|
48
|
+
t.style.height = "0", t.style.opacity = "0";
|
|
49
|
+
}, F = (a) => {
|
|
50
|
+
const t = a;
|
|
51
|
+
t.style.height = t.scrollHeight + "px", t.style.opacity = "1";
|
|
52
|
+
}, R = (a) => {
|
|
53
|
+
const t = a;
|
|
54
|
+
t.style.height = "auto", t.style.overflow = "visible";
|
|
55
|
+
}, q = (a) => {
|
|
56
|
+
const t = a;
|
|
57
|
+
t.style.height = t.scrollHeight + "px", t.style.overflow = "hidden", t.style.opacity = "1";
|
|
58
|
+
}, G = (a) => {
|
|
59
|
+
const t = a;
|
|
60
|
+
t.style.height = "0", t.style.opacity = "0";
|
|
61
|
+
}, N = c(() => n.item.to ? "router-link" : n.item.href ? "a" : "button"), z = c(() => n.item.to ? { to: n.item.to } : n.item.href ? {
|
|
62
|
+
href: n.item.href,
|
|
63
|
+
target: "_blank",
|
|
64
|
+
rel: "noopener noreferrer"
|
|
65
|
+
} : { type: "button" });
|
|
66
|
+
return (a, t) => {
|
|
67
|
+
const f = U("SidebarMenuItem", !0);
|
|
68
|
+
return l(), m("div", te, [
|
|
69
|
+
k.value ? (l(), p(r(ee), {
|
|
70
|
+
key: 0,
|
|
71
|
+
position: "right-start",
|
|
72
|
+
offset: [0, 10],
|
|
73
|
+
class: "w-full",
|
|
74
|
+
searchable: !1,
|
|
75
|
+
width: "220px",
|
|
76
|
+
options: K.value,
|
|
77
|
+
onOnSelect: T
|
|
78
|
+
}, {
|
|
79
|
+
header: h(() => [
|
|
80
|
+
r(e).compact ? (l(), m("div", ne, [
|
|
81
|
+
i.item.icon ? (l(), p(g, {
|
|
82
|
+
key: 0,
|
|
83
|
+
icon: i.item.icon,
|
|
84
|
+
class: "shrink-0 transition-colors opacity-80 group-hover:opacity-100"
|
|
85
|
+
}, null, 8, ["icon"])) : d("", !0),
|
|
86
|
+
W(" " + y(i.item.label), 1)
|
|
87
|
+
])) : d("", !0)
|
|
88
|
+
]),
|
|
89
|
+
trigger: h(({ isOpen: o }) => [
|
|
90
|
+
w(P, {
|
|
91
|
+
content: i.item.label,
|
|
92
|
+
placement: "right",
|
|
93
|
+
className: "sidebar-menu-tooltip",
|
|
94
|
+
disabled: !r(e).compact || o,
|
|
95
|
+
class: "w-full block"
|
|
96
|
+
}, {
|
|
97
|
+
default: h(() => [
|
|
98
|
+
v("div", ae, [
|
|
99
|
+
(l(), p(j(N.value), A(z.value, {
|
|
100
|
+
class: [L.value, o ? "bg-muted text-foreground" : ""],
|
|
101
|
+
style: M.value,
|
|
102
|
+
"aria-haspopup": !0,
|
|
103
|
+
"aria-expanded": o,
|
|
104
|
+
onClick: $
|
|
105
|
+
}), {
|
|
106
|
+
default: h(() => [
|
|
107
|
+
v("div", {
|
|
108
|
+
class: s(["min-w-0 flex-1 flex", [
|
|
109
|
+
u.value ? "flex-col items-center justify-center gap-1" : r(e).compact ? "justify-center" : "items-center gap-2.5"
|
|
110
|
+
]])
|
|
111
|
+
}, [
|
|
112
|
+
i.item.icon ? (l(), p(g, {
|
|
113
|
+
key: 0,
|
|
114
|
+
icon: i.item.icon,
|
|
115
|
+
class: s(["shrink-0 transition-colors opacity-70 group-hover:opacity-100", [
|
|
116
|
+
C.value || o ? "opacity-100" : "",
|
|
117
|
+
r(e).compact ? "h-5 w-5" : "h-4 w-4"
|
|
118
|
+
]])
|
|
119
|
+
}, null, 8, ["icon", "class"])) : d("", !0),
|
|
120
|
+
v("span", {
|
|
121
|
+
class: s(["truncate leading-none pt-0.5", {
|
|
122
|
+
"text-[10px]": u.value,
|
|
123
|
+
hidden: r(e).compact && !u.value,
|
|
124
|
+
"md:hidden": r(e).compact && !u.value
|
|
125
|
+
}])
|
|
126
|
+
}, y(i.item.label), 3),
|
|
127
|
+
i.item.badge && (!r(e).compact || !u.value) ? (l(), m("span", {
|
|
128
|
+
key: 1,
|
|
129
|
+
class: s(["ml-auto inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium", [
|
|
130
|
+
i.item.badgeClass || "bg-muted text-muted-foreground",
|
|
131
|
+
{ "md:hidden": r(e).compact }
|
|
132
|
+
]])
|
|
133
|
+
}, y(i.item.badge), 3)) : d("", !0)
|
|
134
|
+
], 2),
|
|
135
|
+
v("div", {
|
|
136
|
+
class: s(["ml-1.5 flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground", { "md:hidden": r(e).compact }])
|
|
137
|
+
}, [
|
|
138
|
+
w(g, {
|
|
139
|
+
icon: "lucide:chevron-right",
|
|
140
|
+
class: "h-3 w-3"
|
|
141
|
+
})
|
|
142
|
+
], 2)
|
|
143
|
+
]),
|
|
144
|
+
_: 2
|
|
145
|
+
}, 1040, ["class", "style", "aria-expanded"]))
|
|
146
|
+
])
|
|
147
|
+
]),
|
|
148
|
+
_: 2
|
|
149
|
+
}, 1032, ["content", "disabled"])
|
|
150
|
+
]),
|
|
151
|
+
item: h(({ option: o }) => [
|
|
152
|
+
(l(), p(j(o.data?.to ? "router-link" : o.data?.href ? "a" : "div"), {
|
|
153
|
+
to: o.data?.to,
|
|
154
|
+
href: o.data?.href,
|
|
155
|
+
target: "option.data?.href ? '_blank' : undefined",
|
|
156
|
+
class: "flex items-center w-full gap-2 text-sm"
|
|
157
|
+
}, {
|
|
158
|
+
default: h(() => [
|
|
159
|
+
o.icon ? (l(), p(g, {
|
|
160
|
+
key: 0,
|
|
161
|
+
icon: o.icon,
|
|
162
|
+
class: "h-4 w-4 shrink-0 opacity-70"
|
|
163
|
+
}, null, 8, ["icon"])) : d("", !0),
|
|
164
|
+
v("span", ie, y(o.label), 1),
|
|
165
|
+
o.data?.badge ? (l(), m("span", {
|
|
166
|
+
key: 1,
|
|
167
|
+
class: s(["ml-auto inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium", o.data?.badgeClass || "bg-muted text-muted-foreground"])
|
|
168
|
+
}, y(o.data.badge), 3)) : d("", !0)
|
|
169
|
+
]),
|
|
170
|
+
_: 2
|
|
171
|
+
}, 1032, ["to", "href"]))
|
|
172
|
+
]),
|
|
173
|
+
_: 1
|
|
174
|
+
}, 8, ["options"])) : (l(), m(D, { key: 1 }, [
|
|
175
|
+
w(P, {
|
|
176
|
+
content: i.item.label,
|
|
177
|
+
placement: "right",
|
|
178
|
+
disabled: !r(e).compact,
|
|
179
|
+
class: "w-full block"
|
|
180
|
+
}, {
|
|
181
|
+
default: h(() => [
|
|
182
|
+
(l(), p(j(N.value), A(z.value, {
|
|
183
|
+
class: L.value,
|
|
184
|
+
style: M.value,
|
|
185
|
+
"aria-expanded": b.value ? E.value : void 0,
|
|
186
|
+
"aria-current": C.value ? "page" : void 0,
|
|
187
|
+
onClick: $
|
|
188
|
+
}), {
|
|
189
|
+
default: h(() => [
|
|
190
|
+
v("div", {
|
|
191
|
+
class: s(["min-w-0 flex-1 flex", [
|
|
192
|
+
u.value ? "flex-col items-center justify-center gap-1" : r(e).compact ? "justify-center" : "items-center gap-2.5"
|
|
193
|
+
]])
|
|
194
|
+
}, [
|
|
195
|
+
i.item.icon ? (l(), p(g, {
|
|
196
|
+
key: 0,
|
|
197
|
+
icon: i.item.icon,
|
|
198
|
+
class: s(["shrink-0 transition-colors opacity-70 group-hover:opacity-100", [C.value ? "opacity-100" : "", r(e).compact ? "h-5 w-5" : "h-4 w-4"]])
|
|
199
|
+
}, null, 8, ["icon", "class"])) : d("", !0),
|
|
200
|
+
v("span", {
|
|
201
|
+
class: s(["truncate leading-none pt-0.5", {
|
|
202
|
+
"text-[10px]": u.value,
|
|
203
|
+
hidden: r(e).compact && !u.value,
|
|
204
|
+
"md:hidden": r(e).compact && !u.value
|
|
205
|
+
}])
|
|
206
|
+
}, y(i.item.label), 3),
|
|
207
|
+
i.item.badge && (!r(e).compact || !u.value) ? (l(), m("span", {
|
|
208
|
+
key: 1,
|
|
209
|
+
class: s(["ml-auto inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium", [
|
|
210
|
+
i.item.badgeClass || "bg-muted text-muted-foreground",
|
|
211
|
+
{ "md:hidden": r(e).compact }
|
|
212
|
+
]])
|
|
213
|
+
}, y(i.item.badge), 3)) : d("", !0)
|
|
214
|
+
], 2),
|
|
215
|
+
b.value ? (l(), m("div", {
|
|
216
|
+
key: 0,
|
|
217
|
+
role: "button",
|
|
218
|
+
tabindex: "0",
|
|
219
|
+
class: s(["ml-1.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent/50 hover:text-foreground transition-all", { "md:hidden": r(e).compact }]),
|
|
220
|
+
onClick: I,
|
|
221
|
+
onKeydown: X(Y(I, ["prevent"]), ["enter", "space"])
|
|
222
|
+
}, [
|
|
223
|
+
w(g, {
|
|
224
|
+
icon: "lucide:chevron-down",
|
|
225
|
+
class: s(["h-3 w-3 transition-transform duration-200", { "rotate-180": E.value }])
|
|
226
|
+
}, null, 8, ["class"])
|
|
227
|
+
], 42, oe)) : d("", !0)
|
|
228
|
+
]),
|
|
229
|
+
_: 1
|
|
230
|
+
}, 16, ["class", "style", "aria-expanded", "aria-current"]))
|
|
231
|
+
]),
|
|
232
|
+
_: 1
|
|
233
|
+
}, 8, ["content", "disabled"]),
|
|
234
|
+
w(Z, {
|
|
235
|
+
name: "sidebar-slide",
|
|
236
|
+
onBeforeEnter: H,
|
|
237
|
+
onEnter: F,
|
|
238
|
+
onAfterEnter: R,
|
|
239
|
+
onBeforeLeave: q,
|
|
240
|
+
onLeave: G
|
|
241
|
+
}, {
|
|
242
|
+
default: h(() => [
|
|
243
|
+
b.value && E.value ? (l(), m("div", le, [
|
|
244
|
+
r(e).variant === "default" ? (l(), m("div", {
|
|
245
|
+
key: 0,
|
|
246
|
+
class: "absolute top-0 bottom-2 w-px bg-border",
|
|
247
|
+
style: O({
|
|
248
|
+
left: `${(i.depth + 1) * S.value - S.value / 2}px`
|
|
249
|
+
})
|
|
250
|
+
}, null, 4)) : d("", !0),
|
|
251
|
+
v("div", re, [
|
|
252
|
+
(l(!0), m(D, null, _(i.item.children, (o) => (l(), p(f, {
|
|
253
|
+
key: o.id || o.label,
|
|
254
|
+
item: o,
|
|
255
|
+
depth: i.depth + 1
|
|
256
|
+
}, null, 8, ["item", "depth"]))), 128))
|
|
257
|
+
])
|
|
258
|
+
])) : d("", !0)
|
|
259
|
+
]),
|
|
260
|
+
_: 1
|
|
261
|
+
})
|
|
262
|
+
], 64))
|
|
263
|
+
]);
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
export {
|
|
268
|
+
me as default
|
|
269
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface SidebarMenuItemSchema {
|
|
2
|
+
id?: string;
|
|
3
|
+
label: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
to?: string | Record<string, any>;
|
|
6
|
+
href?: string;
|
|
7
|
+
children?: SidebarMenuItemSchema[];
|
|
8
|
+
badge?: string | number;
|
|
9
|
+
badgeClass?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
class?: string;
|
|
12
|
+
action?: (item: SidebarMenuItemSchema) => void;
|
|
13
|
+
renderMode?: 'tree' | 'popover';
|
|
14
|
+
}
|
|
15
|
+
export interface SidebarMenuProps {
|
|
16
|
+
items: SidebarMenuItemSchema[];
|
|
17
|
+
allowMultiple?: boolean;
|
|
18
|
+
indentSize?: number;
|
|
19
|
+
variant?: 'default' | 'ghost';
|
|
20
|
+
defaultExpanded?: string[];
|
|
21
|
+
compact?: boolean;
|
|
22
|
+
renderMode?: 'tree' | 'popover';
|
|
23
|
+
showCompactLabels?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface SidebarMenuContext {
|
|
26
|
+
activeItem: string | null;
|
|
27
|
+
expandedItems: string[];
|
|
28
|
+
toggleExpand: (id: string) => void;
|
|
29
|
+
setActive: (id: string | null) => void;
|
|
30
|
+
indentSize: number;
|
|
31
|
+
variant: 'default' | 'ghost';
|
|
32
|
+
renderMode: 'tree' | 'popover';
|
|
33
|
+
compact: boolean;
|
|
34
|
+
showCompactLabels: boolean;
|
|
35
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
min?: number;
|
|
3
|
+
max?: number;
|
|
4
|
+
step?: number;
|
|
5
|
+
label?: string;
|
|
6
|
+
icon?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
showValue?: boolean;
|
|
9
|
+
modelValue?: number;
|
|
10
|
+
labelClass?: string;
|
|
11
|
+
centerOrigin?: boolean;
|
|
12
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
13
|
+
};
|
|
14
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
|
+
"update:modelValue": (value: number) => any;
|
|
16
|
+
change: (value: number) => any;
|
|
17
|
+
iconClick: () => any;
|
|
18
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
19
|
+
"onUpdate:modelValue"?: (value: number) => any;
|
|
20
|
+
onChange?: (value: number) => any;
|
|
21
|
+
onIconClick?: () => any;
|
|
22
|
+
}>, {
|
|
23
|
+
size: "xs" | "sm" | "md" | "lg";
|
|
24
|
+
modelValue: number;
|
|
25
|
+
min: number;
|
|
26
|
+
max: number;
|
|
27
|
+
step: number;
|
|
28
|
+
showValue: boolean;
|
|
29
|
+
centerOrigin: boolean;
|
|
30
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { defineComponent as T, ref as k, watch as E, computed as o, openBlock as i, createElementBlock as v, normalizeClass as u, createBlock as I, createCommentVNode as f, toDisplayString as V, createElementVNode as b, normalizeStyle as y, withDirectives as N, vModelText as F } from "vue";
|
|
2
|
+
import H from "./Icon.vue.js";
|
|
3
|
+
const R = {
|
|
4
|
+
key: 1,
|
|
5
|
+
class: "text-sm font-medium whitespace-nowrap cursor-pointer"
|
|
6
|
+
}, U = ["min", "max", "step", "disabled"], A = /* @__PURE__ */ T({
|
|
7
|
+
__name: "Slider",
|
|
8
|
+
props: {
|
|
9
|
+
min: { default: 0 },
|
|
10
|
+
max: { default: 100 },
|
|
11
|
+
step: { default: 1 },
|
|
12
|
+
label: {},
|
|
13
|
+
icon: {},
|
|
14
|
+
disabled: { type: Boolean },
|
|
15
|
+
showValue: { type: Boolean, default: !0 },
|
|
16
|
+
modelValue: { default: 0 },
|
|
17
|
+
labelClass: {},
|
|
18
|
+
centerOrigin: { type: Boolean, default: void 0 },
|
|
19
|
+
size: { default: "md" }
|
|
20
|
+
},
|
|
21
|
+
emits: ["update:modelValue", "change", "iconClick"],
|
|
22
|
+
setup(t, { emit: C }) {
|
|
23
|
+
const l = t, d = C, s = k(!1), h = k(!1), r = k(l.modelValue);
|
|
24
|
+
E(
|
|
25
|
+
() => l.modelValue,
|
|
26
|
+
(a) => {
|
|
27
|
+
r.value = a;
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
const g = o(() => l.centerOrigin !== void 0 ? l.centerOrigin : l.min < 0 && l.max > 0), x = o(() => l.max - l.min), p = o(() => (r.value - l.min) / x.value * 100), w = o(() => (0 - l.min) / x.value * 100), c = (a) => `calc(${a}% + (8px - ${a * 0.16}px))`, $ = o(() => {
|
|
31
|
+
if (g.value) {
|
|
32
|
+
const a = Math.min(p.value, w.value), e = Math.max(p.value, w.value), n = c(a), O = c(e);
|
|
33
|
+
return {
|
|
34
|
+
left: n,
|
|
35
|
+
width: `calc(${O} - ${n})`
|
|
36
|
+
};
|
|
37
|
+
} else
|
|
38
|
+
return {
|
|
39
|
+
left: "0%",
|
|
40
|
+
width: c(p.value)
|
|
41
|
+
};
|
|
42
|
+
}), z = o(() => ({
|
|
43
|
+
left: c(p.value)
|
|
44
|
+
})), M = () => {
|
|
45
|
+
d("update:modelValue", r.value);
|
|
46
|
+
}, B = () => {
|
|
47
|
+
d("change", r.value), s.value = !1;
|
|
48
|
+
}, S = o(() => Math.abs(l.modelValue) > 1e-3), D = () => {
|
|
49
|
+
if (l.disabled) return;
|
|
50
|
+
const a = g.value ? 0 : l.min;
|
|
51
|
+
r.value = a, d("update:modelValue", a), d("change", a);
|
|
52
|
+
}, P = o(() => {
|
|
53
|
+
const a = l.step.toString().split(".")[1]?.length || 0;
|
|
54
|
+
return r.value.toFixed(a);
|
|
55
|
+
}), m = o(() => ({
|
|
56
|
+
xs: {
|
|
57
|
+
track: "h-0.5",
|
|
58
|
+
thumb: "w-2.5 h-2.5",
|
|
59
|
+
wrapper: "h-4",
|
|
60
|
+
tick: "h-2.5"
|
|
61
|
+
},
|
|
62
|
+
sm: {
|
|
63
|
+
track: "h-1",
|
|
64
|
+
thumb: "w-3 h-3",
|
|
65
|
+
wrapper: "h-4",
|
|
66
|
+
tick: "h-3"
|
|
67
|
+
},
|
|
68
|
+
md: {
|
|
69
|
+
track: "h-1.5",
|
|
70
|
+
thumb: "w-3.5 h-3.5",
|
|
71
|
+
wrapper: "h-6",
|
|
72
|
+
tick: "h-3.5"
|
|
73
|
+
},
|
|
74
|
+
lg: {
|
|
75
|
+
track: "h-2",
|
|
76
|
+
thumb: "w-4 h-4",
|
|
77
|
+
wrapper: "h-7",
|
|
78
|
+
tick: "h-4"
|
|
79
|
+
}
|
|
80
|
+
})[l.size]);
|
|
81
|
+
return (a, e) => (i(), v("div", {
|
|
82
|
+
class: u(["slider-wrapper flex items-center gap-3 w-full select-none touch-none", { "opacity-50 pointer-events-none": t.disabled }]),
|
|
83
|
+
onMouseenter: e[6] || (e[6] = (n) => h.value = !0),
|
|
84
|
+
onMouseleave: e[7] || (e[7] = (n) => h.value = !1)
|
|
85
|
+
}, [
|
|
86
|
+
t.label || t.icon ? (i(), v("div", {
|
|
87
|
+
key: 0,
|
|
88
|
+
class: u(["flex items-center gap-2 min-w-fit cursor-pointer transition-colors", [{ "text-primary": s.value || h.value }, t.labelClass || "text-muted-foreground"]]),
|
|
89
|
+
onClick: e[0] || (e[0] = (n) => d("iconClick")),
|
|
90
|
+
title: "Double-click to reset"
|
|
91
|
+
}, [
|
|
92
|
+
t.icon ? (i(), I(H, {
|
|
93
|
+
key: 0,
|
|
94
|
+
icon: t.icon,
|
|
95
|
+
class: "h-4 w-4"
|
|
96
|
+
}, null, 8, ["icon"])) : f("", !0),
|
|
97
|
+
t.label ? (i(), v("label", R, V(t.label), 1)) : f("", !0)
|
|
98
|
+
], 2)) : f("", !0),
|
|
99
|
+
b("div", {
|
|
100
|
+
class: u(["relative flex-1 flex items-center group", m.value.wrapper])
|
|
101
|
+
}, [
|
|
102
|
+
b("div", {
|
|
103
|
+
class: u(["absolute w-full bg-secondary rounded-full overflow-hidden", m.value.track])
|
|
104
|
+
}, null, 2),
|
|
105
|
+
g.value ? (i(), v("div", {
|
|
106
|
+
key: 0,
|
|
107
|
+
class: u(["absolute top-1/2 w-0.5 bg-muted-foreground/30 rounded transform -translate-y-1/2 z-0", m.value.tick]),
|
|
108
|
+
style: y({ left: c(w.value) })
|
|
109
|
+
}, null, 6)) : f("", !0),
|
|
110
|
+
b("div", {
|
|
111
|
+
class: u(["absolute bg-primary rounded-full transition-all duration-75 ease-out will-change-transform", [{ "bg-muted-foreground": t.disabled }, m.value.track]]),
|
|
112
|
+
style: y($.value)
|
|
113
|
+
}, null, 6),
|
|
114
|
+
b("div", {
|
|
115
|
+
class: u(["absolute top-1/2 bg-background border border-border shadow-sm rounded-full transform -translate-y-1/2 -translate-x-1/2 pointer-events-none transition-transform duration-100 ease-out z-10", [
|
|
116
|
+
{
|
|
117
|
+
"border-primary shadow-md scale-110": s.value,
|
|
118
|
+
"border-primary": S.value
|
|
119
|
+
},
|
|
120
|
+
m.value.thumb
|
|
121
|
+
]]),
|
|
122
|
+
style: y(z.value)
|
|
123
|
+
}, null, 6),
|
|
124
|
+
N(b("input", {
|
|
125
|
+
type: "range",
|
|
126
|
+
"onUpdate:modelValue": e[1] || (e[1] = (n) => r.value = n),
|
|
127
|
+
min: t.min,
|
|
128
|
+
max: t.max,
|
|
129
|
+
step: t.step,
|
|
130
|
+
disabled: t.disabled,
|
|
131
|
+
onInput: M,
|
|
132
|
+
onChange: B,
|
|
133
|
+
onMousedown: e[2] || (e[2] = (n) => s.value = !0),
|
|
134
|
+
onTouchstart: e[3] || (e[3] = (n) => s.value = !0),
|
|
135
|
+
onMouseup: e[4] || (e[4] = (n) => s.value = !1),
|
|
136
|
+
onTouchend: e[5] || (e[5] = (n) => s.value = !1),
|
|
137
|
+
class: "slider-input absolute inset-0 w-full h-full opacity-0 cursor-pointer z-20 m-0 p-0"
|
|
138
|
+
}, null, 40, U), [
|
|
139
|
+
[
|
|
140
|
+
F,
|
|
141
|
+
r.value,
|
|
142
|
+
void 0,
|
|
143
|
+
{ number: !0 }
|
|
144
|
+
]
|
|
145
|
+
])
|
|
146
|
+
], 2),
|
|
147
|
+
t.showValue ? (i(), v("span", {
|
|
148
|
+
key: 1,
|
|
149
|
+
onDblclick: D,
|
|
150
|
+
class: "font-mono tabular-nums text-muted-foreground text-right min-w-6 text-sm"
|
|
151
|
+
}, V(P.value), 33)) : f("", !0)
|
|
152
|
+
], 34));
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
export {
|
|
156
|
+
A as default
|
|
157
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue?: boolean;
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
label?: string;
|
|
5
|
+
class?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
8
|
+
"update:modelValue": (value: boolean) => any;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
10
|
+
"onUpdate:modelValue"?: (value: boolean) => any;
|
|
11
|
+
}>, {
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
class: string;
|
|
14
|
+
modelValue: boolean;
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { defineComponent as d, openBlock as o, createElementBlock as n, createElementVNode as i, normalizeClass as a, toDisplayString as c, createCommentVNode as u } from "vue";
|
|
2
|
+
const b = { class: "flex items-center gap-2" }, m = ["aria-checked", "aria-label", "disabled"], k = /* @__PURE__ */ d({
|
|
3
|
+
__name: "Switch",
|
|
4
|
+
props: {
|
|
5
|
+
modelValue: { type: Boolean, default: !1 },
|
|
6
|
+
disabled: { type: Boolean, default: !1 },
|
|
7
|
+
label: {},
|
|
8
|
+
class: { default: "" }
|
|
9
|
+
},
|
|
10
|
+
emits: ["update:modelValue"],
|
|
11
|
+
setup(e, { emit: s }) {
|
|
12
|
+
const l = e, r = s, t = () => {
|
|
13
|
+
l.disabled || r("update:modelValue", !l.modelValue);
|
|
14
|
+
};
|
|
15
|
+
return (f, g) => (o(), n("div", b, [
|
|
16
|
+
i("button", {
|
|
17
|
+
type: "button",
|
|
18
|
+
role: "switch",
|
|
19
|
+
"aria-checked": e.modelValue,
|
|
20
|
+
"aria-label": e.label || "Toggle",
|
|
21
|
+
disabled: e.disabled,
|
|
22
|
+
class: a(["relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", [e.modelValue ? "bg-primary" : "bg-input", l.class]]),
|
|
23
|
+
onClick: t
|
|
24
|
+
}, [
|
|
25
|
+
i("span", {
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
class: a(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-background shadow-lg ring-0 transition duration-200 ease-in-out", e.modelValue ? "translate-x-5" : "translate-x-0"])
|
|
28
|
+
}, null, 2)
|
|
29
|
+
], 10, m),
|
|
30
|
+
e.label ? (o(), n("label", {
|
|
31
|
+
key: 0,
|
|
32
|
+
class: a([e.disabled ? "opacity-50" : "", "text-sm font-medium text-foreground cursor-pointer"]),
|
|
33
|
+
onClick: t
|
|
34
|
+
}, c(e.label), 3)) : u("", !0)
|
|
35
|
+
]));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
export {
|
|
39
|
+
k as default
|
|
40
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TabesOption, TabesSize, TabesVariant } from './types';
|
|
2
|
+
interface Props {
|
|
3
|
+
options: TabesOption[];
|
|
4
|
+
modelValue: string | number;
|
|
5
|
+
size?: TabesSize;
|
|
6
|
+
variant?: TabesVariant;
|
|
7
|
+
block?: boolean;
|
|
8
|
+
textClass?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
11
|
+
"update:modelValue": (value: string | number) => any;
|
|
12
|
+
change: (value: string | number) => any;
|
|
13
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: (value: string | number) => any;
|
|
15
|
+
onChange?: (value: string | number) => any;
|
|
16
|
+
}>, {
|
|
17
|
+
size: TabesSize;
|
|
18
|
+
variant: TabesVariant;
|
|
19
|
+
block: boolean;
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { defineComponent as x, computed as d, openBlock as n, createElementBlock as l, normalizeClass as o, Fragment as h, renderList as w, createBlock as C, createCommentVNode as k, createElementVNode as S, toDisplayString as V } from "vue";
|
|
2
|
+
import z from "../Icon.vue.js";
|
|
3
|
+
const B = ["aria-selected", "disabled", "onClick"], j = /* @__PURE__ */ x({
|
|
4
|
+
__name: "Tabes",
|
|
5
|
+
props: {
|
|
6
|
+
options: {},
|
|
7
|
+
modelValue: {},
|
|
8
|
+
size: { default: "md" },
|
|
9
|
+
variant: { default: "surface" },
|
|
10
|
+
block: { type: Boolean, default: !1 },
|
|
11
|
+
textClass: {}
|
|
12
|
+
},
|
|
13
|
+
emits: ["update:modelValue", "change"],
|
|
14
|
+
setup(a, { emit: u }) {
|
|
15
|
+
const s = a, c = u, m = (e) => {
|
|
16
|
+
e.disabled || (c("update:modelValue", e.value), c("change", e.value));
|
|
17
|
+
}, b = d(() => ["inline-flex rounded-lg relative isolate transition-all duration-200", {
|
|
18
|
+
surface: "bg-secondary p-1",
|
|
19
|
+
primary: "bg-secondary p-1",
|
|
20
|
+
secondary: "bg-secondary p-1",
|
|
21
|
+
// Default secondary container
|
|
22
|
+
danger: "bg-danger/10 p-1",
|
|
23
|
+
success: "bg-success/10 p-1",
|
|
24
|
+
outline: "bg-transparent border border-border p-1",
|
|
25
|
+
line: "bg-transparent gap-6 rounded-none p-0 border-b border-border w-full"
|
|
26
|
+
// Tabs style
|
|
27
|
+
}[s.variant], s.block ? "flex w-full" : ""]), g = {
|
|
28
|
+
sm: "text-xs px-2.5 py-1",
|
|
29
|
+
md: "text-xs px-3 py-1",
|
|
30
|
+
lg: "text-base px-4 py-1.5"
|
|
31
|
+
}, f = d(() => [s.variant === "line" ? "relative z-10 flex items-center justify-center gap-2 font-medium transition-all duration-200 ease-out cursor-pointer select-none outline-none focus-visible:ring-2 focus-visible:ring-primary/50 -mb-[1px] border-b-2 border-transparent hover:text-foreground" : "relative z-10 flex-1 flex items-center justify-center gap-2 font-medium transition-all duration-200 ease-out cursor-pointer select-none rounded-md outline-none focus-visible:ring-2 focus-visible:ring-primary/50"]), p = (e) => {
|
|
32
|
+
const r = e.value === s.modelValue, t = s.variant === "line";
|
|
33
|
+
let i = "";
|
|
34
|
+
r || (i = t ? "text-muted-foreground" : "text-muted-foreground hover:text-foreground/80");
|
|
35
|
+
const y = e.disabled ? "opacity-50 cursor-not-allowed" : "";
|
|
36
|
+
return [f.value, i, y].join(" ");
|
|
37
|
+
}, v = (e) => e.value !== s.modelValue ? "" : {
|
|
38
|
+
surface: "bg-background text-foreground shadow-sm",
|
|
39
|
+
primary: "bg-primary text-primary-foreground shadow-sm",
|
|
40
|
+
secondary: "bg-secondary-foreground text-secondary shadow-sm",
|
|
41
|
+
// Inverted for contrast
|
|
42
|
+
danger: "bg-danger text-danger-fg shadow-sm",
|
|
43
|
+
success: "bg-success text-success-fg shadow-sm",
|
|
44
|
+
outline: "bg-accent/50 text-accent-foreground ring-1 ring-border shadow-sm",
|
|
45
|
+
line: "text-primary border-primary"
|
|
46
|
+
// Border-b-2 handled by base class + border color here
|
|
47
|
+
}[s.variant];
|
|
48
|
+
return (e, r) => (n(), l("div", {
|
|
49
|
+
class: o(b.value),
|
|
50
|
+
role: "tablist"
|
|
51
|
+
}, [
|
|
52
|
+
(n(!0), l(h, null, w(a.options, (t) => (n(), l("button", {
|
|
53
|
+
key: t.value,
|
|
54
|
+
role: "tab",
|
|
55
|
+
"aria-selected": a.modelValue === t.value,
|
|
56
|
+
disabled: t.disabled,
|
|
57
|
+
class: o([p(t), v(t), g[s.size]]),
|
|
58
|
+
onClick: (i) => m(t),
|
|
59
|
+
type: "button"
|
|
60
|
+
}, [
|
|
61
|
+
t.icon ? (n(), C(z, {
|
|
62
|
+
key: 0,
|
|
63
|
+
icon: t.icon,
|
|
64
|
+
class: o(a.size === "sm" ? "w-3.5 h-3.5" : "w-4 h-4")
|
|
65
|
+
}, null, 8, ["icon", "class"])) : k("", !0),
|
|
66
|
+
S("span", {
|
|
67
|
+
class: o(["whitespace-nowrap", a.textClass])
|
|
68
|
+
}, V(t.label), 3)
|
|
69
|
+
], 10, B))), 128))
|
|
70
|
+
], 2));
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
export {
|
|
74
|
+
j as default
|
|
75
|
+
};
|