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,75 @@
|
|
|
1
|
+
export interface PaginationConfig {
|
|
2
|
+
page: number;
|
|
3
|
+
limit: number;
|
|
4
|
+
}
|
|
5
|
+
export interface SortConfig {
|
|
6
|
+
field: string;
|
|
7
|
+
order: 'asc' | 'desc' | '';
|
|
8
|
+
}
|
|
9
|
+
export interface TableState {
|
|
10
|
+
pagination: PaginationConfig;
|
|
11
|
+
sorting: SortConfig;
|
|
12
|
+
search: string;
|
|
13
|
+
}
|
|
14
|
+
export interface FilterConfig {
|
|
15
|
+
search: string;
|
|
16
|
+
sorting: SortConfig;
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
19
|
+
export interface TableFilter {
|
|
20
|
+
pagination: PaginationConfig;
|
|
21
|
+
filter: FilterConfig;
|
|
22
|
+
}
|
|
23
|
+
export interface TableHeader {
|
|
24
|
+
field: string;
|
|
25
|
+
title: string;
|
|
26
|
+
width?: string;
|
|
27
|
+
minWidth?: string;
|
|
28
|
+
sortable?: boolean;
|
|
29
|
+
hideOnMobile?: boolean;
|
|
30
|
+
align?: 'left' | 'center' | 'right';
|
|
31
|
+
format?: (value: any, row?: any) => string;
|
|
32
|
+
class?: string | ((value: any, row?: any) => string);
|
|
33
|
+
capitalize?: boolean;
|
|
34
|
+
addStatusColor?: boolean;
|
|
35
|
+
type?: 'text' | 'price' | 'date' | 'number';
|
|
36
|
+
}
|
|
37
|
+
export interface PageInfo {
|
|
38
|
+
currentPage: number;
|
|
39
|
+
totalPages: number;
|
|
40
|
+
totalItems: number;
|
|
41
|
+
itemsPerPage?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface DataTableProps {
|
|
44
|
+
rows: any[];
|
|
45
|
+
selectedRows?: any[];
|
|
46
|
+
search?: string;
|
|
47
|
+
showSearch?: boolean;
|
|
48
|
+
searchPlaceholder?: string;
|
|
49
|
+
headers: TableHeader[];
|
|
50
|
+
keyField?: string;
|
|
51
|
+
loading?: boolean;
|
|
52
|
+
selectable?: boolean;
|
|
53
|
+
emptyMessage?: string;
|
|
54
|
+
emptyIcon?: string;
|
|
55
|
+
showPagination?: boolean;
|
|
56
|
+
pageInfo?: PageInfo;
|
|
57
|
+
itemsPerPage?: number;
|
|
58
|
+
itemsPerPageOptions?: number[];
|
|
59
|
+
showItemsPerPage?: boolean;
|
|
60
|
+
striped?: boolean;
|
|
61
|
+
hoverable?: boolean;
|
|
62
|
+
bordered?: boolean;
|
|
63
|
+
compact?: boolean;
|
|
64
|
+
tableClass?: string;
|
|
65
|
+
class?: string;
|
|
66
|
+
}
|
|
67
|
+
export interface SelectionState {
|
|
68
|
+
selected: any[];
|
|
69
|
+
all: boolean;
|
|
70
|
+
indeterminate: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface RowClickPayload {
|
|
73
|
+
row: any;
|
|
74
|
+
index: number;
|
|
75
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DatePickerMode } from 'v-datepicker-lite/types';
|
|
2
|
+
import { ButtonSize, ButtonVariant } from '../types';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
modelValue?: any;
|
|
6
|
+
value?: any;
|
|
7
|
+
mode: DatePickerMode;
|
|
8
|
+
minDate?: string;
|
|
9
|
+
icon?: string;
|
|
10
|
+
size?: ButtonSize;
|
|
11
|
+
variant?: ButtonVariant;
|
|
12
|
+
btnProps?: any;
|
|
13
|
+
teleport?: boolean;
|
|
14
|
+
minuteInterval?: number;
|
|
15
|
+
};
|
|
16
|
+
declare function __VLS_template(): {
|
|
17
|
+
attrs: Partial<{}>;
|
|
18
|
+
slots: {
|
|
19
|
+
default?(_: {
|
|
20
|
+
value: any;
|
|
21
|
+
displayValue: string;
|
|
22
|
+
}): any;
|
|
23
|
+
};
|
|
24
|
+
refs: {};
|
|
25
|
+
rootEl: HTMLDivElement;
|
|
26
|
+
};
|
|
27
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
28
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
29
|
+
onChange: (...args: any[]) => void;
|
|
30
|
+
"update:modelValue": (...args: any[]) => void;
|
|
31
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
32
|
+
onOnChange?: (...args: any[]) => any;
|
|
33
|
+
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
34
|
+
}>, {
|
|
35
|
+
teleport: boolean;
|
|
36
|
+
minuteInterval: number;
|
|
37
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
38
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
39
|
+
export default _default;
|
|
40
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
41
|
+
new (): {
|
|
42
|
+
$slots: S;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { defineComponent as v, computed as r, openBlock as h, createBlock as g, unref as u, withCtx as m, createElementVNode as p, createVNode as c, renderSlot as V, mergeProps as w } from "vue";
|
|
2
|
+
import D from "./Button.vue.js";
|
|
3
|
+
import y from "./Dropdown/Dropdown.vue.js";
|
|
4
|
+
import "@iconify/vue";
|
|
5
|
+
import C from "v-datepicker-lite";
|
|
6
|
+
import "v-datepicker-lite/style.css";
|
|
7
|
+
const P = { class: "min-w-[300px] overflow-hidden" }, N = /* @__PURE__ */ v({
|
|
8
|
+
__name: "DatePicker",
|
|
9
|
+
props: {
|
|
10
|
+
placeholder: {},
|
|
11
|
+
modelValue: {},
|
|
12
|
+
value: {},
|
|
13
|
+
mode: {},
|
|
14
|
+
minDate: {},
|
|
15
|
+
icon: {},
|
|
16
|
+
size: {},
|
|
17
|
+
variant: {},
|
|
18
|
+
btnProps: {},
|
|
19
|
+
teleport: { type: Boolean, default: !0 },
|
|
20
|
+
minuteInterval: { default: 5 }
|
|
21
|
+
},
|
|
22
|
+
emits: ["update:modelValue", "onChange"],
|
|
23
|
+
setup(t, { emit: d }) {
|
|
24
|
+
const n = t, i = d, a = r({
|
|
25
|
+
get: () => n.modelValue ?? n.value,
|
|
26
|
+
set: (e) => {
|
|
27
|
+
i("update:modelValue", e), i("onChange", e);
|
|
28
|
+
}
|
|
29
|
+
}), s = (e) => e instanceof Date ? e.getHours() !== 0 || e.getMinutes() !== 0 : typeof e == "string" ? e.includes("T") || /\d{2}:\d{2}/.test(e) : !1, l = r(() => {
|
|
30
|
+
if (!a.value) return "";
|
|
31
|
+
try {
|
|
32
|
+
const e = new Date(a.value);
|
|
33
|
+
if (isNaN(e.getTime())) return String(a.value);
|
|
34
|
+
const o = n.mode === "dateTime" && s(a.value);
|
|
35
|
+
return e.toLocaleDateString("en-US", {
|
|
36
|
+
month: "short",
|
|
37
|
+
day: "numeric",
|
|
38
|
+
year: "numeric",
|
|
39
|
+
...o ? { hour: "2-digit", minute: "2-digit" } : {}
|
|
40
|
+
});
|
|
41
|
+
} catch {
|
|
42
|
+
return String(a.value);
|
|
43
|
+
}
|
|
44
|
+
}), f = (e) => {
|
|
45
|
+
a.value = e;
|
|
46
|
+
};
|
|
47
|
+
return (e, o) => (h(), g(u(y), {
|
|
48
|
+
position: "bottom-start",
|
|
49
|
+
class: "w-full",
|
|
50
|
+
teleport: t.teleport
|
|
51
|
+
}, {
|
|
52
|
+
trigger: m(() => [
|
|
53
|
+
V(e.$slots, "default", {
|
|
54
|
+
value: a.value,
|
|
55
|
+
displayValue: l.value
|
|
56
|
+
}, () => [
|
|
57
|
+
c(D, w({
|
|
58
|
+
text: l.value || t.placeholder || "Select date",
|
|
59
|
+
variant: t.variant || "outline",
|
|
60
|
+
size: t.size || "md",
|
|
61
|
+
icon: t.icon || "lucide:calendar"
|
|
62
|
+
}, t.btnProps, { class: "w-full" }), null, 16, ["text", "variant", "size", "icon"])
|
|
63
|
+
])
|
|
64
|
+
]),
|
|
65
|
+
default: m(() => [
|
|
66
|
+
p("div", P, [
|
|
67
|
+
c(u(C), {
|
|
68
|
+
value: a.value,
|
|
69
|
+
mode: t.mode,
|
|
70
|
+
"min-date": t.minDate,
|
|
71
|
+
class: "w-full",
|
|
72
|
+
minuteInterval: t.minuteInterval,
|
|
73
|
+
timeFormat: "12h",
|
|
74
|
+
onChange: f
|
|
75
|
+
}, null, 8, ["value", "mode", "min-date", "minuteInterval"])
|
|
76
|
+
])
|
|
77
|
+
]),
|
|
78
|
+
_: 3
|
|
79
|
+
}, 8, ["teleport"]));
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
export {
|
|
83
|
+
N as default
|
|
84
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { IDropdownOptions, IDropdownOption } from '../../types/styles';
|
|
2
|
+
import { TooltTipPlacement } from 'v-tooltip-lite/types';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
selected?: any;
|
|
5
|
+
modelValue?: any;
|
|
6
|
+
className?: string;
|
|
7
|
+
emptyMessage?: string;
|
|
8
|
+
position?: TooltTipPlacement;
|
|
9
|
+
closeOnSelect?: boolean;
|
|
10
|
+
toggleSelection?: boolean;
|
|
11
|
+
options?: IDropdownOptions;
|
|
12
|
+
canCloseOutside?: boolean;
|
|
13
|
+
caret?: boolean;
|
|
14
|
+
offset?: [number, number];
|
|
15
|
+
isOpen?: boolean;
|
|
16
|
+
teleport?: boolean;
|
|
17
|
+
selectedIndex?: number | null;
|
|
18
|
+
maxHeight?: string;
|
|
19
|
+
width?: string;
|
|
20
|
+
ignoreClickOutside?: string[];
|
|
21
|
+
menuId?: string;
|
|
22
|
+
nestedPosition?: TooltTipPlacement;
|
|
23
|
+
nestedOffset?: [number, number];
|
|
24
|
+
showSelectedLabel?: boolean;
|
|
25
|
+
selectable?: boolean;
|
|
26
|
+
doubleConfirmation?: boolean;
|
|
27
|
+
layout?: 'default' | 'grouped';
|
|
28
|
+
columns?: number | string;
|
|
29
|
+
loading?: boolean;
|
|
30
|
+
hasMore?: boolean;
|
|
31
|
+
searchable?: boolean;
|
|
32
|
+
remote?: boolean;
|
|
33
|
+
direction?: 'ltr' | 'rtl';
|
|
34
|
+
};
|
|
35
|
+
declare function __VLS_template(): {
|
|
36
|
+
attrs: Partial<{}>;
|
|
37
|
+
slots: {
|
|
38
|
+
trigger?(_: {
|
|
39
|
+
selectedLabel: string;
|
|
40
|
+
isOpen: boolean;
|
|
41
|
+
}): any;
|
|
42
|
+
default?(_: {}): any;
|
|
43
|
+
menu?(_: {}): any;
|
|
44
|
+
item?(_: {
|
|
45
|
+
option: IDropdownOption;
|
|
46
|
+
index: number;
|
|
47
|
+
selected: boolean;
|
|
48
|
+
}): any;
|
|
49
|
+
header?(_: {}): any;
|
|
50
|
+
footer?(_: {}): any;
|
|
51
|
+
};
|
|
52
|
+
refs: {};
|
|
53
|
+
rootEl: HTMLDivElement;
|
|
54
|
+
};
|
|
55
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
56
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
57
|
+
search: (query: string) => any;
|
|
58
|
+
onSelect: (payload: {
|
|
59
|
+
value: any;
|
|
60
|
+
data?: any;
|
|
61
|
+
}) => any;
|
|
62
|
+
"update:modelValue": (value: any) => any;
|
|
63
|
+
onClose: () => any;
|
|
64
|
+
onOpen: () => any;
|
|
65
|
+
"update:isOpen": (value: boolean) => any;
|
|
66
|
+
"load-more": () => any;
|
|
67
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
68
|
+
onSearch?: (query: string) => any;
|
|
69
|
+
onOnSelect?: (payload: {
|
|
70
|
+
value: any;
|
|
71
|
+
data?: any;
|
|
72
|
+
}) => any;
|
|
73
|
+
"onUpdate:modelValue"?: (value: any) => any;
|
|
74
|
+
onOnClose?: () => any;
|
|
75
|
+
onOnOpen?: () => any;
|
|
76
|
+
"onUpdate:isOpen"?: (value: boolean) => any;
|
|
77
|
+
"onLoad-more"?: () => any;
|
|
78
|
+
}>, {
|
|
79
|
+
isOpen: boolean;
|
|
80
|
+
loading: boolean;
|
|
81
|
+
direction: "ltr" | "rtl";
|
|
82
|
+
selectable: boolean;
|
|
83
|
+
columns: number | string;
|
|
84
|
+
canCloseOutside: boolean;
|
|
85
|
+
closeOnSelect: boolean;
|
|
86
|
+
toggleSelection: boolean;
|
|
87
|
+
emptyMessage: string;
|
|
88
|
+
offset: [number, number];
|
|
89
|
+
teleport: boolean;
|
|
90
|
+
selectedIndex: number | null;
|
|
91
|
+
maxHeight: string;
|
|
92
|
+
showSelectedLabel: boolean;
|
|
93
|
+
doubleConfirmation: boolean;
|
|
94
|
+
layout: "default" | "grouped";
|
|
95
|
+
hasMore: boolean;
|
|
96
|
+
searchable: boolean;
|
|
97
|
+
remote: boolean;
|
|
98
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
99
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
100
|
+
export default _default;
|
|
101
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
102
|
+
new (): {
|
|
103
|
+
$slots: S;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { defineComponent as z, ref as d, computed as C, watch as $, reactive as D, toRefs as R, openBlock as S, createElementBlock as j, normalizeStyle as E, createVNode as h, unref as v, withCtx as r, renderSlot as c, createBlock as U, normalizeClass as q, createSlots as F, normalizeProps as k, guardReactiveProps as w, createCommentVNode as G } from "vue";
|
|
2
|
+
import J from "v-tooltip-lite";
|
|
3
|
+
import "v-tooltip-lite/style.css";
|
|
4
|
+
import K from "./DropdownMenu.vue.js";
|
|
5
|
+
import Q from "./DropdownTrigger.vue.js";
|
|
6
|
+
import W from "../ConfirmationModal.vue.js";
|
|
7
|
+
import { useDropdownIds as X } from "./composables/useDropdownIds.js";
|
|
8
|
+
import { useDropdownSelection as Y } from "./composables/useDropdownSelection.js";
|
|
9
|
+
const se = /* @__PURE__ */ z({
|
|
10
|
+
__name: "Dropdown",
|
|
11
|
+
props: {
|
|
12
|
+
selected: {},
|
|
13
|
+
modelValue: {},
|
|
14
|
+
className: {},
|
|
15
|
+
emptyMessage: { default: "No options found" },
|
|
16
|
+
position: {},
|
|
17
|
+
closeOnSelect: { type: Boolean, default: !0 },
|
|
18
|
+
toggleSelection: { type: Boolean, default: !0 },
|
|
19
|
+
options: {},
|
|
20
|
+
canCloseOutside: { type: Boolean, default: !0 },
|
|
21
|
+
caret: { type: Boolean },
|
|
22
|
+
offset: { default: () => [0, 8] },
|
|
23
|
+
isOpen: { type: Boolean, default: void 0 },
|
|
24
|
+
teleport: { type: Boolean, default: !0 },
|
|
25
|
+
selectedIndex: { default: null },
|
|
26
|
+
maxHeight: { default: "300px" },
|
|
27
|
+
width: {},
|
|
28
|
+
ignoreClickOutside: {},
|
|
29
|
+
menuId: {},
|
|
30
|
+
nestedPosition: {},
|
|
31
|
+
nestedOffset: {},
|
|
32
|
+
showSelectedLabel: { type: Boolean, default: !0 },
|
|
33
|
+
selectable: { type: Boolean, default: !0 },
|
|
34
|
+
doubleConfirmation: { type: Boolean, default: !1 },
|
|
35
|
+
layout: { default: "default" },
|
|
36
|
+
columns: { default: 3 },
|
|
37
|
+
loading: { type: Boolean, default: !1 },
|
|
38
|
+
hasMore: { type: Boolean, default: !1 },
|
|
39
|
+
searchable: { type: Boolean, default: !0 },
|
|
40
|
+
remote: { type: Boolean, default: !1 },
|
|
41
|
+
direction: { default: "ltr" }
|
|
42
|
+
},
|
|
43
|
+
emits: ["onSelect", "update:modelValue", "onOpen", "onClose", "update:isOpen", "load-more", "search"],
|
|
44
|
+
setup(t, { emit: B }) {
|
|
45
|
+
const l = t, f = B, m = d(!1), u = d(null), a = d({
|
|
46
|
+
title: "Confirm Selection",
|
|
47
|
+
description: "Are you sure you want to select this option?",
|
|
48
|
+
confirmText: "Confirm",
|
|
49
|
+
cancelText: "Cancel",
|
|
50
|
+
variant: "primary"
|
|
51
|
+
}), I = C(() => l.position ? l.position : l.direction === "rtl" ? "bottom-end" : "bottom-start"), T = C(() => l.nestedPosition ? l.nestedPosition : l.direction === "rtl" ? "left-start" : "right-start"), p = d(l.isOpen || !1);
|
|
52
|
+
$(
|
|
53
|
+
() => l.isOpen,
|
|
54
|
+
(e) => {
|
|
55
|
+
e !== void 0 && (p.value = e);
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
const O = (e) => {
|
|
59
|
+
p.value = e, f("update:isOpen", e), f(e ? "onOpen" : "onClose");
|
|
60
|
+
}, s = d([]);
|
|
61
|
+
$(
|
|
62
|
+
() => l.options,
|
|
63
|
+
(e) => {
|
|
64
|
+
if (e)
|
|
65
|
+
if (l.remote) {
|
|
66
|
+
const n = [...s.value];
|
|
67
|
+
e.forEach((o) => {
|
|
68
|
+
n.some((i) => i.value !== void 0 && o.value !== void 0 ? typeof i.value == "object" && i.key && o.key ? i.key === o.key && i.value[i.key] === o.value[o.key] : i.value === o.value : i.label === o.label) || n.push(o);
|
|
69
|
+
}), s.value = n;
|
|
70
|
+
} else
|
|
71
|
+
s.value = e;
|
|
72
|
+
},
|
|
73
|
+
{ immediate: !0, deep: !0 }
|
|
74
|
+
);
|
|
75
|
+
const { getAllRecursiveIds: P } = X(), N = D({
|
|
76
|
+
...R(l),
|
|
77
|
+
options: s
|
|
78
|
+
}), { currentValue: x, selectedLabel: g, selectOption: M } = Y(
|
|
79
|
+
N,
|
|
80
|
+
// Cast to any to satisfy strict prop types if needed, or define interface
|
|
81
|
+
f
|
|
82
|
+
), H = C(() => {
|
|
83
|
+
const e = l.ignoreClickOutside || [], n = P(s.value);
|
|
84
|
+
return [.../* @__PURE__ */ new Set([...e, ...n])];
|
|
85
|
+
}), L = (e) => {
|
|
86
|
+
l.doubleConfirmation || !!e.confirmation ? (u.value = e, typeof e.confirmation == "object" ? a.value = {
|
|
87
|
+
title: e.confirmation.title || "Confirm Selection",
|
|
88
|
+
description: e.confirmation.description || "Are you sure you want to select this option?",
|
|
89
|
+
confirmText: e.confirmation.confirmText || "Confirm",
|
|
90
|
+
cancelText: e.confirmation.cancelText || "Cancel",
|
|
91
|
+
variant: e.confirmation.variant || "primary"
|
|
92
|
+
} : a.value = {
|
|
93
|
+
title: "Confirm Selection",
|
|
94
|
+
description: `Are you sure you want to select "${e.label}"?`,
|
|
95
|
+
confirmText: "Confirm",
|
|
96
|
+
cancelText: "Cancel",
|
|
97
|
+
variant: "primary"
|
|
98
|
+
}, m.value = !0, y()) : (b(e), l.closeOnSelect && y());
|
|
99
|
+
}, b = (e) => {
|
|
100
|
+
M(e);
|
|
101
|
+
}, A = () => {
|
|
102
|
+
u.value && (b(u.value), u.value = null, m.value = !1);
|
|
103
|
+
}, V = () => {
|
|
104
|
+
u.value = null, m.value = !1;
|
|
105
|
+
}, y = () => {
|
|
106
|
+
O(!1);
|
|
107
|
+
};
|
|
108
|
+
return (e, n) => (S(), j("div", {
|
|
109
|
+
class: "relative inline-block text-left",
|
|
110
|
+
style: E({ direction: t.direction })
|
|
111
|
+
}, [
|
|
112
|
+
h(v(J), {
|
|
113
|
+
content: "",
|
|
114
|
+
trigger: "click",
|
|
115
|
+
arrow: !1,
|
|
116
|
+
teleport: t.teleport,
|
|
117
|
+
offset: t.offset,
|
|
118
|
+
placement: I.value,
|
|
119
|
+
isOpen: p.value,
|
|
120
|
+
menuId: t.menuId,
|
|
121
|
+
ignoreClickOutside: H.value,
|
|
122
|
+
class: "w-full",
|
|
123
|
+
className: "dropdown " + (t.className || ""),
|
|
124
|
+
onOnShow: n[2] || (n[2] = (o) => e.$emit("onOpen")),
|
|
125
|
+
onOnHide: n[3] || (n[3] = (o) => e.$emit("onClose")),
|
|
126
|
+
"onUpdate:isOpen": O,
|
|
127
|
+
triggerClass: "w-full",
|
|
128
|
+
styles: { padding: "0" }
|
|
129
|
+
}, {
|
|
130
|
+
trigger: r(({ isOpen: o }) => [
|
|
131
|
+
c(e.$slots, "trigger", k(w({ selectedLabel: v(g), isOpen: o })), () => [
|
|
132
|
+
h(Q, {
|
|
133
|
+
"selected-label": v(g),
|
|
134
|
+
"is-open": o,
|
|
135
|
+
direction: t.direction,
|
|
136
|
+
class: "w-full"
|
|
137
|
+
}, null, 8, ["selected-label", "is-open", "direction"])
|
|
138
|
+
])
|
|
139
|
+
]),
|
|
140
|
+
default: r(() => [
|
|
141
|
+
c(e.$slots, "default"),
|
|
142
|
+
t.options?.length || s.value.length || e.$slots.menu || e.$slots.item || t.remote || t.searchable ? (S(), U(K, {
|
|
143
|
+
key: 0,
|
|
144
|
+
options: t.options,
|
|
145
|
+
cachedOptions: s.value,
|
|
146
|
+
class: q(t.className),
|
|
147
|
+
selected: v(x),
|
|
148
|
+
selectedIndex: t.selectedIndex,
|
|
149
|
+
maxHeight: t.maxHeight,
|
|
150
|
+
nestedPosition: T.value,
|
|
151
|
+
nestedOffset: t.nestedOffset,
|
|
152
|
+
selectable: t.selectable,
|
|
153
|
+
direction: t.direction,
|
|
154
|
+
layout: t.layout,
|
|
155
|
+
columns: t.columns,
|
|
156
|
+
loading: t.loading,
|
|
157
|
+
hasMore: t.hasMore,
|
|
158
|
+
searchable: t.searchable,
|
|
159
|
+
remote: t.remote,
|
|
160
|
+
onSelect: L,
|
|
161
|
+
onClose: y,
|
|
162
|
+
onLoadMore: n[0] || (n[0] = (o) => e.$emit("load-more")),
|
|
163
|
+
onSearch: n[1] || (n[1] = (o) => e.$emit("search", o))
|
|
164
|
+
}, F({
|
|
165
|
+
menu: r(() => [
|
|
166
|
+
c(e.$slots, "menu")
|
|
167
|
+
]),
|
|
168
|
+
item: r((o) => [
|
|
169
|
+
c(e.$slots, "item", k(w(o)))
|
|
170
|
+
]),
|
|
171
|
+
_: 2
|
|
172
|
+
}, [
|
|
173
|
+
e.$slots.header ? {
|
|
174
|
+
name: "header",
|
|
175
|
+
fn: r(() => [
|
|
176
|
+
c(e.$slots, "header")
|
|
177
|
+
]),
|
|
178
|
+
key: "0"
|
|
179
|
+
} : void 0,
|
|
180
|
+
e.$slots.footer ? {
|
|
181
|
+
name: "footer",
|
|
182
|
+
fn: r(() => [
|
|
183
|
+
c(e.$slots, "footer")
|
|
184
|
+
]),
|
|
185
|
+
key: "1"
|
|
186
|
+
} : void 0
|
|
187
|
+
]), 1032, ["options", "cachedOptions", "class", "selected", "selectedIndex", "maxHeight", "nestedPosition", "nestedOffset", "selectable", "direction", "layout", "columns", "loading", "hasMore", "searchable", "remote"])) : G("", !0)
|
|
188
|
+
]),
|
|
189
|
+
_: 3
|
|
190
|
+
}, 8, ["teleport", "offset", "placement", "isOpen", "menuId", "ignoreClickOutside", "className"]),
|
|
191
|
+
h(W, {
|
|
192
|
+
show: m.value,
|
|
193
|
+
title: a.value.title,
|
|
194
|
+
description: a.value.description,
|
|
195
|
+
"confirm-text": a.value.confirmText,
|
|
196
|
+
"cancel-text": a.value.cancelText,
|
|
197
|
+
variant: a.value.variant,
|
|
198
|
+
onConfirm: A,
|
|
199
|
+
onCancel: V
|
|
200
|
+
}, null, 8, ["show", "title", "description", "confirm-text", "cancel-text", "variant"])
|
|
201
|
+
], 4));
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
export {
|
|
205
|
+
se as default
|
|
206
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDropdownOption } from '../../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
option: IDropdownOption;
|
|
4
|
+
value: boolean;
|
|
5
|
+
focused?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
8
|
+
change: (value: boolean, option: IDropdownOption) => any;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
10
|
+
onChange?: (value: boolean, option: IDropdownOption) => any;
|
|
11
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { defineComponent as r, openBlock as i, createElementBlock as m, withModifiers as d, normalizeClass as u, createElementVNode as c, createBlock as f, createCommentVNode as p, toDisplayString as g, createVNode as h } from "vue";
|
|
2
|
+
import v from "../Switch.vue.js";
|
|
3
|
+
import x from "../Icon.vue.js";
|
|
4
|
+
const k = { class: "flex items-center gap-2 flex-1 min-w-0" }, y = { class: "truncate font-medium" }, V = /* @__PURE__ */ r({
|
|
5
|
+
__name: "DropdownBooleanItem",
|
|
6
|
+
props: {
|
|
7
|
+
option: {},
|
|
8
|
+
value: { type: Boolean },
|
|
9
|
+
focused: { type: Boolean }
|
|
10
|
+
},
|
|
11
|
+
emits: ["change"],
|
|
12
|
+
setup(e, { emit: a }) {
|
|
13
|
+
const l = e, s = a, o = (t) => {
|
|
14
|
+
s("change", t, l.option);
|
|
15
|
+
};
|
|
16
|
+
return (t, n) => (i(), m("div", {
|
|
17
|
+
"data-dropdown-item": "",
|
|
18
|
+
class: u(["relative flex cursor-pointer select-none items-center justify-between rounded-sm px-2 py-1.5 text-sm outline-none transition-colors", [
|
|
19
|
+
e.focused ? "bg-accent text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground"
|
|
20
|
+
]]),
|
|
21
|
+
onClick: n[0] || (n[0] = d((w) => o(!e.value), ["stop"]))
|
|
22
|
+
}, [
|
|
23
|
+
c("div", k, [
|
|
24
|
+
e.option.icon ? (i(), f(x, {
|
|
25
|
+
key: 0,
|
|
26
|
+
icon: e.option.icon,
|
|
27
|
+
class: "h-4 w-4 shrink-0 opacity-70"
|
|
28
|
+
}, null, 8, ["icon"])) : p("", !0),
|
|
29
|
+
c("span", y, g(e.option.label), 1)
|
|
30
|
+
]),
|
|
31
|
+
h(v, {
|
|
32
|
+
"model-value": e.value,
|
|
33
|
+
class: "ml-3 shrink-0 scale-75 origin-right",
|
|
34
|
+
"onUpdate:modelValue": o
|
|
35
|
+
}, null, 8, ["model-value"])
|
|
36
|
+
], 2));
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
export {
|
|
40
|
+
V as default
|
|
41
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IDropdownOptions, IDropdownOption } from '../../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
options: IDropdownOptions;
|
|
4
|
+
selected?: any;
|
|
5
|
+
selectable?: boolean;
|
|
6
|
+
columns?: number | string;
|
|
7
|
+
itemsClass?: string;
|
|
8
|
+
headerClass?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
11
|
+
select: (option: IDropdownOption) => any;
|
|
12
|
+
mouseenter: (payload: any) => any;
|
|
13
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
14
|
+
onSelect?: (option: IDropdownOption) => any;
|
|
15
|
+
onMouseenter?: (payload: any) => any;
|
|
16
|
+
}>, {
|
|
17
|
+
options: IDropdownOptions;
|
|
18
|
+
selectable: boolean;
|
|
19
|
+
columns: number | string;
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { defineComponent as v, computed as _, openBlock as t, createElementBlock as n, normalizeStyle as C, Fragment as a, renderList as i, createElementVNode as m, normalizeClass as $, toDisplayString as h, createBlock as d, createCommentVNode as f, createVNode as w } from "vue";
|
|
2
|
+
import B from "../Icon.vue.js";
|
|
3
|
+
import y from "./DropdownItem.vue.js";
|
|
4
|
+
const N = { class: "font-semibold text-sm text-foreground" }, S = { class: "flex flex-col space-y-1" }, V = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "flex flex-col space-y-1 ml-3 pl-3 border-l border-border mt-0.5 mb-1.5"
|
|
7
|
+
}, g = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "px-2 text-xs text-muted-foreground italic"
|
|
10
|
+
}, j = /* @__PURE__ */ v({
|
|
11
|
+
__name: "DropdownGroupedLayout",
|
|
12
|
+
props: {
|
|
13
|
+
options: { default: () => [] },
|
|
14
|
+
selected: {},
|
|
15
|
+
selectable: { type: Boolean, default: !0 },
|
|
16
|
+
columns: { default: 3 },
|
|
17
|
+
itemsClass: {},
|
|
18
|
+
headerClass: {}
|
|
19
|
+
},
|
|
20
|
+
emits: ["select", "mouseenter"],
|
|
21
|
+
setup(o, { emit: z }) {
|
|
22
|
+
const l = o, k = _(() => {
|
|
23
|
+
const e = l.columns;
|
|
24
|
+
return typeof e == "number" ? { gridTemplateColumns: `repeat(${e}, minmax(0, 1fr))` } : { gridTemplateColumns: e };
|
|
25
|
+
}), u = (e) => l.selected ? Array.isArray(l.selected) ? l.selected.includes(e.value) : typeof l.selected == "object" && l.selected !== null && e.key && e.key in l.selected ? l.selected[e.key] === e.value : l.selected === e.value : !1;
|
|
26
|
+
return (e, A) => (t(), n("div", {
|
|
27
|
+
class: "grid gap-6 p-4",
|
|
28
|
+
style: C(k.value)
|
|
29
|
+
}, [
|
|
30
|
+
(t(!0), n(a, null, i(o.options, (s, p) => (t(), n("div", {
|
|
31
|
+
key: s.key || s.value || p,
|
|
32
|
+
class: "flex flex-col space-y-2 min-w-[150px]"
|
|
33
|
+
}, [
|
|
34
|
+
m("div", {
|
|
35
|
+
class: $(["flex items-center gap-2 px-2 py-1 mb-1", o.headerClass])
|
|
36
|
+
}, [
|
|
37
|
+
m("span", N, h(s.label), 1),
|
|
38
|
+
s.icon ? (t(), d(B, {
|
|
39
|
+
key: 0,
|
|
40
|
+
icon: s.icon,
|
|
41
|
+
class: "w-4 h-4 text-muted-foreground"
|
|
42
|
+
}, null, 8, ["icon"])) : f("", !0)
|
|
43
|
+
], 2),
|
|
44
|
+
m("div", S, [
|
|
45
|
+
s.children && s.children.length ? (t(!0), n(a, { key: 0 }, i(s.children, (c, x) => (t(), n(a, {
|
|
46
|
+
key: c.key || c.value || x
|
|
47
|
+
}, [
|
|
48
|
+
w(y, {
|
|
49
|
+
option: c,
|
|
50
|
+
selected: u(c),
|
|
51
|
+
selectable: o.selectable,
|
|
52
|
+
class: "w-full",
|
|
53
|
+
onClick: (r) => e.$emit("select", c)
|
|
54
|
+
}, null, 8, ["option", "selected", "selectable", "onClick"]),
|
|
55
|
+
c.children && c.children.length ? (t(), n("div", V, [
|
|
56
|
+
(t(!0), n(a, null, i(c.children, (r, b) => (t(), d(y, {
|
|
57
|
+
key: r.key || r.value || b,
|
|
58
|
+
option: r,
|
|
59
|
+
selected: u(r),
|
|
60
|
+
selectable: o.selectable,
|
|
61
|
+
class: "w-full text-xs",
|
|
62
|
+
onClick: (D) => e.$emit("select", r)
|
|
63
|
+
}, null, 8, ["option", "selected", "selectable", "onClick"]))), 128))
|
|
64
|
+
])) : f("", !0)
|
|
65
|
+
], 64))), 128)) : (t(), n("div", g, "No items"))
|
|
66
|
+
])
|
|
67
|
+
]))), 128))
|
|
68
|
+
], 4));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
export {
|
|
72
|
+
j as default
|
|
73
|
+
};
|