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
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { Tabes, TabesOption, TabesVariant } from '@/components/Tabes'
|
|
4
|
-
|
|
5
|
-
// Demo 1: Basic
|
|
6
|
-
const selectedMode = ref('write')
|
|
7
|
-
const basicOptions: TabesOption[] = [
|
|
8
|
-
{ label: 'Write', value: 'write', icon: 'lucide:pen-line' },
|
|
9
|
-
{ label: 'Preview', value: 'preview', icon: 'lucide:eye' },
|
|
10
|
-
{ label: 'Settings', value: 'settings', icon: 'lucide:settings' },
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
// Demo 2: Block (Full Width)
|
|
14
|
-
const selectedPlan = ref('monthly')
|
|
15
|
-
const planOptions: TabesOption[] = [
|
|
16
|
-
{ label: 'Monthly', value: 'monthly' },
|
|
17
|
-
{ label: 'Yearly', value: 'yearly' },
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
// Demo 3: Sizes
|
|
21
|
-
const sizeVal = ref('small')
|
|
22
|
-
const sizeOptions: TabesOption[] = [
|
|
23
|
-
{ label: 'Small', value: 'small' },
|
|
24
|
-
{ label: 'Medium', value: 'medium' },
|
|
25
|
-
{ label: 'Large', value: 'large' },
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
// Demo 4: Variants
|
|
29
|
-
const variantVal = ref('1')
|
|
30
|
-
const variantOptions: TabesOption[] = [
|
|
31
|
-
{ label: 'Option 1', value: '1' },
|
|
32
|
-
{ label: 'Option 2', value: '2' },
|
|
33
|
-
{ label: 'Option 3', value: '3' },
|
|
34
|
-
]
|
|
35
|
-
</script>
|
|
36
|
-
|
|
37
|
-
<template>
|
|
38
|
-
<div class="space-y-12">
|
|
39
|
-
<!-- Header -->
|
|
40
|
-
<div>
|
|
41
|
-
<h2 class="text-2xl font-bold text-gray-900">
|
|
42
|
-
Tabes
|
|
43
|
-
<span
|
|
44
|
-
class="text-xs font-normal text-gray-400 align-middle ml-2"
|
|
45
|
-
>(Segmented Control)</span
|
|
46
|
-
>
|
|
47
|
-
</h2>
|
|
48
|
-
<p class="mt-2 text-gray-500">
|
|
49
|
-
A premium segmented control for switching modes or views.
|
|
50
|
-
</p>
|
|
51
|
-
</div>
|
|
52
|
-
|
|
53
|
-
<!-- Basic Usage -->
|
|
54
|
-
<div class="space-y-4">
|
|
55
|
-
<h3 class="text-lg font-semibold text-gray-900">Basic Usage</h3>
|
|
56
|
-
<div
|
|
57
|
-
class="p-8 border rounded-xl bg-white shadow-sm flex flex-col items-center gap-6">
|
|
58
|
-
<Tabes
|
|
59
|
-
v-model="selectedMode"
|
|
60
|
-
:options="basicOptions" />
|
|
61
|
-
<div class="text-sm text-gray-500">
|
|
62
|
-
Selected: {{ selectedMode }}
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
<!-- Block Usage -->
|
|
68
|
-
<div class="space-y-4">
|
|
69
|
-
<h3 class="text-lg font-semibold text-gray-900">
|
|
70
|
-
Full Width (Block)
|
|
71
|
-
</h3>
|
|
72
|
-
<div
|
|
73
|
-
class="p-8 border rounded-xl bg-white shadow-sm w-full max-w-md mx-auto">
|
|
74
|
-
<Tabes
|
|
75
|
-
v-model="selectedPlan"
|
|
76
|
-
:options="planOptions"
|
|
77
|
-
block />
|
|
78
|
-
</div>
|
|
79
|
-
</div>
|
|
80
|
-
|
|
81
|
-
<!-- Sizes -->
|
|
82
|
-
<div class="space-y-4">
|
|
83
|
-
<h3 class="text-lg font-semibold text-gray-900">Sizes</h3>
|
|
84
|
-
<div
|
|
85
|
-
class="p-8 border rounded-xl bg-white shadow-sm flex flex-col items-center gap-6">
|
|
86
|
-
<Tabes
|
|
87
|
-
v-model="sizeVal"
|
|
88
|
-
:options="sizeOptions"
|
|
89
|
-
size="sm" />
|
|
90
|
-
<Tabes
|
|
91
|
-
v-model="sizeVal"
|
|
92
|
-
:options="sizeOptions"
|
|
93
|
-
size="md" />
|
|
94
|
-
<Tabes
|
|
95
|
-
v-model="sizeVal"
|
|
96
|
-
:options="sizeOptions"
|
|
97
|
-
size="lg" />
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
|
|
101
|
-
<!-- Variants -->
|
|
102
|
-
<div class="space-y-4">
|
|
103
|
-
<h3 class="text-lg font-semibold text-gray-900">Variants</h3>
|
|
104
|
-
<div
|
|
105
|
-
class="flex flex-col w-full gap-8 p-8 border rounded-xl bg-white shadow-sm">
|
|
106
|
-
<div class="space-y-2">
|
|
107
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
108
|
-
>Surface (Default)</span
|
|
109
|
-
>
|
|
110
|
-
<Tabes
|
|
111
|
-
v-model="variantVal"
|
|
112
|
-
:options="variantOptions"
|
|
113
|
-
variant="surface" />
|
|
114
|
-
</div>
|
|
115
|
-
|
|
116
|
-
<div class="space-y-2">
|
|
117
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
118
|
-
>Primary</span
|
|
119
|
-
>
|
|
120
|
-
<Tabes
|
|
121
|
-
v-model="variantVal"
|
|
122
|
-
:options="variantOptions"
|
|
123
|
-
variant="primary" />
|
|
124
|
-
</div>
|
|
125
|
-
|
|
126
|
-
<div class="space-y-2">
|
|
127
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
128
|
-
>Secondary</span
|
|
129
|
-
>
|
|
130
|
-
<Tabes
|
|
131
|
-
v-model="variantVal"
|
|
132
|
-
:options="variantOptions"
|
|
133
|
-
variant="secondary" />
|
|
134
|
-
</div>
|
|
135
|
-
|
|
136
|
-
<div class="space-y-2">
|
|
137
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
138
|
-
>Outline</span
|
|
139
|
-
>
|
|
140
|
-
<Tabes
|
|
141
|
-
v-model="variantVal"
|
|
142
|
-
:options="variantOptions"
|
|
143
|
-
variant="outline" />
|
|
144
|
-
</div>
|
|
145
|
-
|
|
146
|
-
<div class="space-y-2">
|
|
147
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
148
|
-
>Danger</span
|
|
149
|
-
>
|
|
150
|
-
<Tabes
|
|
151
|
-
v-model="variantVal"
|
|
152
|
-
:options="variantOptions"
|
|
153
|
-
variant="danger" />
|
|
154
|
-
</div>
|
|
155
|
-
|
|
156
|
-
<div class="space-y-2">
|
|
157
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
158
|
-
>Success</span
|
|
159
|
-
>
|
|
160
|
-
<Tabes
|
|
161
|
-
v-model="variantVal"
|
|
162
|
-
:options="variantOptions"
|
|
163
|
-
variant="success" />
|
|
164
|
-
</div>
|
|
165
|
-
|
|
166
|
-
<div class="space-y-2 md:col-span-2">
|
|
167
|
-
<span class="text-xs font-medium text-gray-500 uppercase"
|
|
168
|
-
>Line (Underline)</span
|
|
169
|
-
>
|
|
170
|
-
<Tabes
|
|
171
|
-
v-model="variantVal"
|
|
172
|
-
:options="variantOptions"
|
|
173
|
-
variant="line" />
|
|
174
|
-
</div>
|
|
175
|
-
</div>
|
|
176
|
-
</div>
|
|
177
|
-
</div>
|
|
178
|
-
</template>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import Textarea from '@/components/Textarea.vue'
|
|
3
|
-
import { ref } from 'vue'
|
|
4
|
-
|
|
5
|
-
const val = ref('')
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<template>
|
|
9
|
-
<div class="space-y-10">
|
|
10
|
-
<div class="space-y-2">
|
|
11
|
-
<h2 class="text-2xl font-bold">Textarea</h2>
|
|
12
|
-
<p class="text-gray-500">Multi-line text input component.</p>
|
|
13
|
-
</div>
|
|
14
|
-
|
|
15
|
-
<section class="space-y-4">
|
|
16
|
-
<h3 class="text-lg font-semibold">Basic Usage</h3>
|
|
17
|
-
<div class="max-w-xl space-y-4">
|
|
18
|
-
<Textarea placeholder="Type your message here..." v-model="val" :rows="4" />
|
|
19
|
-
<p class="text-sm text-gray-500">Value: {{ val }}</p>
|
|
20
|
-
</div>
|
|
21
|
-
</section>
|
|
22
|
-
|
|
23
|
-
<section class="space-y-4">
|
|
24
|
-
<h3 class="text-lg font-semibold">States</h3>
|
|
25
|
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
26
|
-
<Textarea disabled placeholder="This textarea is disabled" :rows="3" />
|
|
27
|
-
<Textarea error="This field is required" placeholder="Error state" :rows="3" />
|
|
28
|
-
</div>
|
|
29
|
-
</section>
|
|
30
|
-
</div>
|
|
31
|
-
</template>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import ThemeToggle from '@/components/ThemeToggle.vue'
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
<div class="space-y-10">
|
|
7
|
-
<div class="space-y-2">
|
|
8
|
-
<h2 class="text-2xl font-bold">ThemeToggle</h2>
|
|
9
|
-
<p class="text-gray-500">A dedicated button to toggle between light and dark modes.</p>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<section class="space-y-4">
|
|
13
|
-
<h3 class="text-lg font-semibold">Usage</h3>
|
|
14
|
-
<div class="flex items-center gap-4">
|
|
15
|
-
<ThemeToggle />
|
|
16
|
-
<span class="text-sm text-gray-500">Click to switch theme</span>
|
|
17
|
-
</div>
|
|
18
|
-
</section>
|
|
19
|
-
</div>
|
|
20
|
-
</template>
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import Timeline from '@/components/Timeline.vue'
|
|
3
|
-
import Button from '@/components/Button.vue'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
const activeStep = ref(1)
|
|
7
|
-
const steps = [
|
|
8
|
-
{ id: 1, title: 'Ordered', icon: 'lucide:shopping-cart' },
|
|
9
|
-
{ id: 2, title: 'Processing', icon: 'lucide:settings' },
|
|
10
|
-
{ id: 3, title: 'Shipped', icon: 'lucide:truck' },
|
|
11
|
-
{ id: 4, title: 'Delivered', icon: 'lucide:check' },
|
|
12
|
-
]
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<template>
|
|
16
|
-
<div class="space-y-10">
|
|
17
|
-
<div class="space-y-2">
|
|
18
|
-
<h2 class="text-2xl font-bold">Timeline</h2>
|
|
19
|
-
<p class="text-gray-500">Visualizes a sequence of events or steps.</p>
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<section class="space-y-4">
|
|
23
|
-
<div class="flex items-center justify-between max-w-2xl">
|
|
24
|
-
<h3 class="text-lg font-semibold">Horizontal</h3>
|
|
25
|
-
<div class="flex gap-2">
|
|
26
|
-
<Button size="sm" variant="outline" :disabled="activeStep <= 0" @click="activeStep--">Prev</Button>
|
|
27
|
-
<Button size="sm" variant="outline" :disabled="activeStep >= steps.length" @click="activeStep++">Next</Button>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
<div class="p-6 border rounded-lg max-w-2xl">
|
|
32
|
-
<Timeline :steps="steps" :active-step="activeStep" />
|
|
33
|
-
</div>
|
|
34
|
-
</section>
|
|
35
|
-
|
|
36
|
-
<section class="space-y-4">
|
|
37
|
-
<h3 class="text-lg font-semibold">Vertical</h3>
|
|
38
|
-
<div class="p-6 border rounded-lg max-w-xs">
|
|
39
|
-
<Timeline :steps="steps" :active-step="activeStep" direction="vertical" />
|
|
40
|
-
</div>
|
|
41
|
-
</section>
|
|
42
|
-
</div>
|
|
43
|
-
</template>
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { showToast, useNotifications, type ToastPosition } from '@/composables/useNotifications'
|
|
4
|
-
import Button from '@/components/Button.vue'
|
|
5
|
-
import ToastNotification from '@/components/ToastNotification.vue'
|
|
6
|
-
|
|
7
|
-
const { toast, configure } = useNotifications()
|
|
8
|
-
|
|
9
|
-
// Global Config State for Demo
|
|
10
|
-
const globalPos = ref<ToastPosition>('bottom-right')
|
|
11
|
-
|
|
12
|
-
const applyGlobalConfig = (pos: ToastPosition) => {
|
|
13
|
-
globalPos.value = pos
|
|
14
|
-
configure({ position: pos })
|
|
15
|
-
toast.info('Global position updated!')
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const triggerToast = (position: ToastPosition, type: 'success' | 'info' | 'error' = 'success') => {
|
|
19
|
-
// Pass undefined for position to use global default
|
|
20
|
-
showToast(`Login Successful`, type, {
|
|
21
|
-
duration: 3000,
|
|
22
|
-
position,
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const triggerActionToast = () => {
|
|
27
|
-
toast('File deleted successfully', {
|
|
28
|
-
description: 'You can undo this action within 5 seconds.',
|
|
29
|
-
action: {
|
|
30
|
-
label: 'Undo',
|
|
31
|
-
onClick: () => toast.success('Undo action clicked!'),
|
|
32
|
-
},
|
|
33
|
-
position: 'bottom-right',
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const triggerStack = () => {
|
|
38
|
-
// Quickly add multiple toasts to show stacking
|
|
39
|
-
;['Event Created', 'Email Sent', 'Profile Updated'].forEach((msg, i) => {
|
|
40
|
-
setTimeout(() => {
|
|
41
|
-
toast.success(msg, { description: 'Just now' })
|
|
42
|
-
}, i * 200)
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const triggerPromise = () => {
|
|
47
|
-
toast.promise(new Promise((resolve) => setTimeout(() => resolve({ name: 'Document' }), 2000)), {
|
|
48
|
-
loading: 'Uploading...',
|
|
49
|
-
success: (data: any) => `${data.name} uploaded successfully`,
|
|
50
|
-
error: 'Upload failed',
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
</script>
|
|
54
|
-
|
|
55
|
-
<template>
|
|
56
|
-
<div class="space-y-10">
|
|
57
|
-
<!-- Ensure the global provider is present for the demo -->
|
|
58
|
-
<ToastNotification />
|
|
59
|
-
|
|
60
|
-
<div class="space-y-2">
|
|
61
|
-
<h2 class="text-2xl font-bold">Toast Notification</h2>
|
|
62
|
-
<p class="text-gray-500">Global notification system with stacked layout and animations.</p>
|
|
63
|
-
</div>
|
|
64
|
-
|
|
65
|
-
<section class="space-y-6">
|
|
66
|
-
<h3 class="text-lg font-semibold">Global Configuration</h3>
|
|
67
|
-
<div class="p-6 border rounded-xl bg-gray-50 space-y-4">
|
|
68
|
-
<p class="text-sm text-gray-500">Set the default position for all future toasts.</p>
|
|
69
|
-
<div class="flex flex-wrap gap-2">
|
|
70
|
-
<Button
|
|
71
|
-
v-for="pos in ['top-left', 'top-right', 'bottom-left', 'bottom-right']"
|
|
72
|
-
:key="pos"
|
|
73
|
-
:variant="globalPos === pos ? 'primary' : 'outline'"
|
|
74
|
-
size="sm"
|
|
75
|
-
@click="applyGlobalConfig(pos as ToastPosition)">
|
|
76
|
-
{{ pos }}
|
|
77
|
-
</Button>
|
|
78
|
-
</div>
|
|
79
|
-
<div class="pt-4 border-t">
|
|
80
|
-
<Button @click="showToast('This uses the global default position')">
|
|
81
|
-
Test Default Toast
|
|
82
|
-
</Button>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</section>
|
|
86
|
-
|
|
87
|
-
<section class="space-y-6">
|
|
88
|
-
<h3 class="text-lg font-semibold">Positions</h3>
|
|
89
|
-
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 max-w-2xl">
|
|
90
|
-
<Button @click="triggerToast('top-left')">Top Left</Button>
|
|
91
|
-
<Button @click="triggerToast('top-center')">Top Center</Button>
|
|
92
|
-
<Button @click="triggerToast('top-right')">Top Right</Button>
|
|
93
|
-
|
|
94
|
-
<Button @click="triggerToast('bottom-left', 'info')">Bottom Left</Button>
|
|
95
|
-
<Button @click="triggerToast('bottom-center', 'info')">Bottom Center</Button>
|
|
96
|
-
<Button @click="triggerToast('bottom-right', 'info')">Bottom Right</Button>
|
|
97
|
-
</div>
|
|
98
|
-
</section>
|
|
99
|
-
|
|
100
|
-
<section class="space-y-6">
|
|
101
|
-
<h3 class="text-lg font-semibold">Types & Features</h3>
|
|
102
|
-
<div class="flex flex-wrap gap-4">
|
|
103
|
-
<Button variant="success" @click="triggerToast('bottom-right', 'success')">Success</Button>
|
|
104
|
-
<Button variant="danger" @click="triggerToast('bottom-right', 'error')">Error</Button>
|
|
105
|
-
<Button variant="outline" @click="triggerActionToast">With Action & Desc</Button>
|
|
106
|
-
<Button variant="outline" @click="triggerStack">Trigger Stack</Button>
|
|
107
|
-
<Button variant="outline" @click="triggerPromise">Promise Toast</Button>
|
|
108
|
-
</div>
|
|
109
|
-
</section>
|
|
110
|
-
</div>
|
|
111
|
-
</template>
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import Tooltip from '@/components/Tooltip.vue'
|
|
3
|
-
import Button from '@/components/Button.vue'
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<template>
|
|
7
|
-
<div class="space-y-10">
|
|
8
|
-
<div class="space-y-2">
|
|
9
|
-
<h2 class="text-2xl font-bold">Tooltip</h2>
|
|
10
|
-
<p class="text-gray-500">A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.</p>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<section class="space-y-4">
|
|
14
|
-
<h3 class="text-lg font-semibold">Usage</h3>
|
|
15
|
-
<div class="flex gap-4">
|
|
16
|
-
<Tooltip content="Add to Library">
|
|
17
|
-
<Button variant="ghost" size="sm" icon="lucide:plus" />
|
|
18
|
-
</Tooltip>
|
|
19
|
-
|
|
20
|
-
<Tooltip content="Delete Item">
|
|
21
|
-
<Button variant="danger" size="sm" icon="lucide:trash" />
|
|
22
|
-
</Tooltip>
|
|
23
|
-
|
|
24
|
-
<Tooltip content="This is a much longer tooltip description needed for complex contexts.">
|
|
25
|
-
<Button variant="outline">Hover for details</Button>
|
|
26
|
-
</Tooltip>
|
|
27
|
-
</div>
|
|
28
|
-
</section>
|
|
29
|
-
</div>
|
|
30
|
-
</template>
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { Workbook, WorkbookSheet, AddButtonPosition } from '@/components/Workbook'
|
|
4
|
-
import Button from '@/components/Button.vue'
|
|
5
|
-
import Input from '@/components/Input.vue'
|
|
6
|
-
import { Dropdown } from '@/components/Dropdown'
|
|
7
|
-
|
|
8
|
-
// --- Demo 1: Basic Usage ---
|
|
9
|
-
const activeSheet1 = ref('1')
|
|
10
|
-
const sheets1 = ref<WorkbookSheet[]>([
|
|
11
|
-
{ id: '1', title: 'Dashboard', icon: 'lucide:layout-dashboard' },
|
|
12
|
-
{ id: '2', title: 'Projects', icon: 'lucide:folder-kanban' },
|
|
13
|
-
{ id: '3', title: 'Settings', icon: 'lucide:settings' },
|
|
14
|
-
])
|
|
15
|
-
|
|
16
|
-
const handleAdd1 = () => {
|
|
17
|
-
const newId = Date.now().toString()
|
|
18
|
-
sheets1.value.push({ id: newId, title: 'New Sheet', icon: 'lucide:file' })
|
|
19
|
-
activeSheet1.value = newId
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// --- Demo 2: Full Featured (Editable, Draggable, Attached) ---
|
|
23
|
-
const activeSheet2 = ref('doc1')
|
|
24
|
-
const sheets2 = ref<WorkbookSheet[]>([
|
|
25
|
-
{ id: 'doc1', title: 'Project Proposal.docx', icon: 'lucide:file-text' },
|
|
26
|
-
{ id: 'sheet1', title: 'Budget 2024.xlsx', icon: 'lucide:sheet' },
|
|
27
|
-
{ id: 'pres1', title: 'Q1 Review.pptx', icon: 'lucide:presentation' },
|
|
28
|
-
])
|
|
29
|
-
const addButtonPos = ref<AddButtonPosition>('attached')
|
|
30
|
-
|
|
31
|
-
const handleAdd2 = () => {
|
|
32
|
-
const newId = Date.now().toString()
|
|
33
|
-
sheets2.value.push({ id: newId, title: 'Untitled', icon: 'lucide:file' })
|
|
34
|
-
activeSheet2.value = newId
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const handleDelete2 = (id: string) => {
|
|
38
|
-
const idx = sheets2.value.findIndex((t) => t.id === id)
|
|
39
|
-
if (idx !== -1) {
|
|
40
|
-
sheets2.value.splice(idx, 1)
|
|
41
|
-
// Select nearest
|
|
42
|
-
if (activeSheet2.value === id && sheets2.value.length > 0) {
|
|
43
|
-
activeSheet2.value = sheets2.value[Math.max(0, idx - 1)].id
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const handleDuplicate2 = (id: string) => {
|
|
49
|
-
const original = sheets2.value.find((t) => t.id === id)
|
|
50
|
-
if (original) {
|
|
51
|
-
const newId = Date.now().toString()
|
|
52
|
-
const newSheet = {
|
|
53
|
-
...original,
|
|
54
|
-
id: newId,
|
|
55
|
-
title: `${original.title} (Copy)`,
|
|
56
|
-
}
|
|
57
|
-
sheets2.value.push(newSheet)
|
|
58
|
-
activeSheet2.value = newId
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// --- Demo 3: Overflow Handling ---
|
|
63
|
-
const activeSheet3 = ref('1')
|
|
64
|
-
const sheets3 = ref<WorkbookSheet[]>(
|
|
65
|
-
Array.from({ length: 20 }, (_, i) => ({
|
|
66
|
-
id: String(i + 1),
|
|
67
|
-
title: `Sheet ${i + 1}`,
|
|
68
|
-
icon: 'lucide:file',
|
|
69
|
-
})),
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
const handleAdd3 = () => {
|
|
73
|
-
const newId = String(sheets3.value.length + 1)
|
|
74
|
-
sheets3.value.push({ id: newId, title: `Sheet ${newId}`, icon: 'lucide:file' })
|
|
75
|
-
activeSheet3.value = newId
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// --- Demo 4: Slots & Custom Content ---
|
|
79
|
-
// Removed as it was identical logic
|
|
80
|
-
</script>
|
|
81
|
-
|
|
82
|
-
<template>
|
|
83
|
-
<div class="space-y-12">
|
|
84
|
-
<!-- Title -->
|
|
85
|
-
<div>
|
|
86
|
-
<h2 class="text-2xl font-bold text-gray-900">Workbook</h2>
|
|
87
|
-
<p class="mt-2 text-gray-500">
|
|
88
|
-
Dynamic, Excel-like workbook with drag & drop, renaming, and
|
|
89
|
-
overflow support.
|
|
90
|
-
</p>
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
<!-- Demo 1: Basic -->
|
|
94
|
-
<div class="space-y-4">
|
|
95
|
-
<div class="flex items-center justify-between">
|
|
96
|
-
<h3 class="text-lg font-semibold text-gray-900">Basic Usage</h3>
|
|
97
|
-
</div>
|
|
98
|
-
<div
|
|
99
|
-
class="p-6 border rounded-xl bg-white shadow-sm overflow-hidden">
|
|
100
|
-
<div
|
|
101
|
-
class="p-6 border rounded-xl bg-white shadow-sm overflow-hidden">
|
|
102
|
-
<Workbook
|
|
103
|
-
v-model="activeSheet1"
|
|
104
|
-
v-model:sheets="sheets1"
|
|
105
|
-
:editable="false"
|
|
106
|
-
:draggable="false"
|
|
107
|
-
add-button-position="fixed-right"
|
|
108
|
-
@add="handleAdd1">
|
|
109
|
-
<div
|
|
110
|
-
class="p-8 bg-gray-50/50 rounded-lg border border-dashed text-center text-gray-500 mt-4 h-32 flex items-center justify-center">
|
|
111
|
-
Content for sheet:
|
|
112
|
-
<strong class="ml-1 text-gray-700">{{
|
|
113
|
-
activeSheet1
|
|
114
|
-
}}</strong>
|
|
115
|
-
</div>
|
|
116
|
-
</Workbook>
|
|
117
|
-
</div>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
|
|
121
|
-
<!-- Demo 2: Full Featured -->
|
|
122
|
-
<div class="space-y-4">
|
|
123
|
-
<div class="flex items-center justify-between">
|
|
124
|
-
<h3 class="text-lg font-semibold text-gray-900">
|
|
125
|
-
Full Interactive (Draggable, Editable)
|
|
126
|
-
</h3>
|
|
127
|
-
<div class="flex items-center gap-2">
|
|
128
|
-
<span class="text-sm text-gray-500">Add Button:</span>
|
|
129
|
-
<Dropdown
|
|
130
|
-
:selected="addButtonPos"
|
|
131
|
-
:options="[
|
|
132
|
-
{ label: 'Fixed Right', value: 'fixed-right' },
|
|
133
|
-
{ label: 'Attached', value: 'attached' },
|
|
134
|
-
]"
|
|
135
|
-
@onSelect="(opt) => (addButtonPos = opt.value)" />
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
<div
|
|
139
|
-
class="p-6 border rounded-xl bg-white shadow-sm overflow-hidden">
|
|
140
|
-
<!-- Simulation of a document editor header -->
|
|
141
|
-
<div
|
|
142
|
-
class="p-6 border rounded-xl bg-white shadow-sm overflow-hidden">
|
|
143
|
-
<!-- Simulation of a document editor header -->
|
|
144
|
-
<Workbook
|
|
145
|
-
v-model="activeSheet2"
|
|
146
|
-
v-model:sheets="sheets2"
|
|
147
|
-
:editable="true"
|
|
148
|
-
:draggable="true"
|
|
149
|
-
:add-button-position="addButtonPos"
|
|
150
|
-
@add="handleAdd2"
|
|
151
|
-
confirmDelete
|
|
152
|
-
@delete="handleDelete2"
|
|
153
|
-
@duplicate="handleDuplicate2">
|
|
154
|
-
<!-- Left Slot Example -->
|
|
155
|
-
<template #left-addons>
|
|
156
|
-
<div
|
|
157
|
-
class="w-8 h-8 rounded bg-blue-600 text-white flex items-center justify-center font-bold mr-2 ml-1 shadow-sm">
|
|
158
|
-
B
|
|
159
|
-
</div>
|
|
160
|
-
</template>
|
|
161
|
-
|
|
162
|
-
<!-- Right Slot Example -->
|
|
163
|
-
<template #right-addons>
|
|
164
|
-
<Button
|
|
165
|
-
size="xs"
|
|
166
|
-
variant="ghost"
|
|
167
|
-
icon="lucide:more-horizontal" />
|
|
168
|
-
</template>
|
|
169
|
-
|
|
170
|
-
<div class="mt-4 border rounded-lg h-64 bg-white relative">
|
|
171
|
-
<!-- Toolbar Simulation -->
|
|
172
|
-
<div class="border-b p-2 flex gap-2">
|
|
173
|
-
<Button
|
|
174
|
-
size="xs"
|
|
175
|
-
variant="ghost"
|
|
176
|
-
icon="lucide:bold" />
|
|
177
|
-
<Button
|
|
178
|
-
size="xs"
|
|
179
|
-
variant="ghost"
|
|
180
|
-
icon="lucide:italic" />
|
|
181
|
-
<Button
|
|
182
|
-
size="xs"
|
|
183
|
-
variant="ghost"
|
|
184
|
-
icon="lucide:align-left" />
|
|
185
|
-
</div>
|
|
186
|
-
<div class="p-8 text-gray-500">
|
|
187
|
-
Editing document:
|
|
188
|
-
<span class="text-primary font-medium">{{
|
|
189
|
-
sheets2.find((t) => t.id === activeSheet2)?.title
|
|
190
|
-
}}</span>
|
|
191
|
-
<p class="mt-2 text-sm text-gray-400">
|
|
192
|
-
Try renaming the sheet by double-clicking it!
|
|
193
|
-
</p>
|
|
194
|
-
</div>
|
|
195
|
-
</div>
|
|
196
|
-
</Workbook>
|
|
197
|
-
</div>
|
|
198
|
-
</div>
|
|
199
|
-
</div>
|
|
200
|
-
|
|
201
|
-
<!-- Demo 3: Overflow -->
|
|
202
|
-
<div class="space-y-4">
|
|
203
|
-
<div class="flex items-center justify-between">
|
|
204
|
-
<h3 class="text-lg font-semibold text-gray-900">
|
|
205
|
-
Overflow Handling
|
|
206
|
-
</h3>
|
|
207
|
-
</div>
|
|
208
|
-
<div
|
|
209
|
-
class="p-6 border rounded-xl bg-white shadow-sm overflow-hidden">
|
|
210
|
-
<div
|
|
211
|
-
class="p-6 border rounded-xl bg-white shadow-sm overflow-hidden">
|
|
212
|
-
<Workbook
|
|
213
|
-
v-model="activeSheet3"
|
|
214
|
-
v-model:sheets="sheets3"
|
|
215
|
-
:editable="true"
|
|
216
|
-
add-button-position="attached"
|
|
217
|
-
@add="handleAdd3">
|
|
218
|
-
<div
|
|
219
|
-
class="p-8 bg-gray-50/50 rounded-lg border border-dashed text-center text-gray-500 mt-4">
|
|
220
|
-
Selected: {{ activeSheet3 }}
|
|
221
|
-
</div>
|
|
222
|
-
</Workbook>
|
|
223
|
-
</div>
|
|
224
|
-
</div>
|
|
225
|
-
</div>
|
|
226
|
-
</div>
|
|
227
|
-
</template>
|
package/src/types/alert.type.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type AlertVariant = 'primary' | 'success' | 'warning' | 'danger'
|
|
2
|
-
|
|
3
|
-
export interface AlertProps {
|
|
4
|
-
title: string
|
|
5
|
-
description?: string
|
|
6
|
-
icon?: string
|
|
7
|
-
variant?: AlertVariant
|
|
8
|
-
closable?: boolean
|
|
9
|
-
role?: 'alert' | 'status' | 'none'
|
|
10
|
-
class?: string
|
|
11
|
-
}
|