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,104 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import Button from '@/components/Button.vue'
|
|
4
|
-
import { Dropdown } from '@/components/Dropdown'
|
|
5
|
-
import Modal from '@/components/Modal.vue'
|
|
6
|
-
import ConfirmationModal from '@/components/ConfirmationModal.vue'
|
|
7
|
-
import Tooltip from '@/components/Tooltip.vue'
|
|
8
|
-
import SidePanel from '@/components/SidePanel.vue'
|
|
9
|
-
import Input from '@/components/Input.vue'
|
|
10
|
-
import Avatar from '@/components/Avatar.vue'
|
|
11
|
-
|
|
12
|
-
const dropdownValue = ref('1')
|
|
13
|
-
const showModal = ref(false)
|
|
14
|
-
const showConfirm = ref(false)
|
|
15
|
-
const showSidePanel = ref(false)
|
|
16
|
-
</script>
|
|
17
|
-
|
|
18
|
-
<template>
|
|
19
|
-
<section class="space-y-6">
|
|
20
|
-
<div class="space-y-2">
|
|
21
|
-
<h2 class="text-xl font-semibold tracking-tight">Overlays & Popups</h2>
|
|
22
|
-
<p class="text-sm text-gray-500">
|
|
23
|
-
Components that appear on top of other content.
|
|
24
|
-
</p>
|
|
25
|
-
</div>
|
|
26
|
-
|
|
27
|
-
<div class="flex flex-wrap gap-4 items-center">
|
|
28
|
-
<!-- Dropdown -->
|
|
29
|
-
<Dropdown
|
|
30
|
-
@on-select="(props) => { dropdownValue = props?.value }"
|
|
31
|
-
:options="[
|
|
32
|
-
{ value: '1', label: 'Profile', icon: 'lucide:user' },
|
|
33
|
-
{ value: '2', label: 'Billing', icon: 'lucide:credit-card' },
|
|
34
|
-
{ value: '3', label: 'Settings', icon: 'lucide:settings' },
|
|
35
|
-
{ value: '4', label: 'Logout', icon: 'lucide:log-out', disabled: true },
|
|
36
|
-
]"
|
|
37
|
-
:selected="dropdownValue"
|
|
38
|
-
>
|
|
39
|
-
<template #trigger>
|
|
40
|
-
<Button variant="outline" icon-right="lucide:chevron-down">Options Menu</Button>
|
|
41
|
-
</template>
|
|
42
|
-
</Dropdown>
|
|
43
|
-
|
|
44
|
-
<!-- Tooltip -->
|
|
45
|
-
<Tooltip content="Tooltip content helps users">
|
|
46
|
-
<Button variant="secondary">Hover for Tooltip</Button>
|
|
47
|
-
</Tooltip>
|
|
48
|
-
|
|
49
|
-
<!-- Modal Trigger -->
|
|
50
|
-
<Button @click="showModal = true">Standard Modal</Button>
|
|
51
|
-
|
|
52
|
-
<!-- Confirmation Trigger -->
|
|
53
|
-
<Button variant="danger" @click="showConfirm = true">Delete Action</Button>
|
|
54
|
-
|
|
55
|
-
<!-- SidePanel Trigger -->
|
|
56
|
-
<Button variant="primary" @click="showSidePanel = true">Open Side Panel</Button>
|
|
57
|
-
</div>
|
|
58
|
-
|
|
59
|
-
<!-- Modals (Hidden by default) -->
|
|
60
|
-
<Modal v-model:show="showModal" title="Edit Profile" description="Make changes to your profile here.">
|
|
61
|
-
<div class="space-y-4 py-2">
|
|
62
|
-
<Input label="Name" placeholder="John Doe" />
|
|
63
|
-
<Input label="Email" placeholder="john@example.com" />
|
|
64
|
-
</div>
|
|
65
|
-
<template #footer="{ close }">
|
|
66
|
-
<div class="flex justify-end gap-2 w-full">
|
|
67
|
-
<Button variant="outline" @click="close">Cancel</Button>
|
|
68
|
-
<Button @click="close">Save Changes</Button>
|
|
69
|
-
</div>
|
|
70
|
-
</template>
|
|
71
|
-
</Modal>
|
|
72
|
-
|
|
73
|
-
<ConfirmationModal
|
|
74
|
-
v-model:show="showConfirm"
|
|
75
|
-
title="Delete Item?"
|
|
76
|
-
description="This action cannot be undone. Are you sure you want to proceed?"
|
|
77
|
-
confirm-text="Yes, Delete"
|
|
78
|
-
@confirm="showConfirm = false"
|
|
79
|
-
@cancel="showConfirm = false"
|
|
80
|
-
/>
|
|
81
|
-
|
|
82
|
-
<SidePanel
|
|
83
|
-
v-model:show="showSidePanel"
|
|
84
|
-
title="Notifications"
|
|
85
|
-
description="Manage your notification preferences."
|
|
86
|
-
position="right"
|
|
87
|
-
>
|
|
88
|
-
<div class="space-y-4">
|
|
89
|
-
<div class="bg-gray-50 p-4 rounded-lg flex items-start gap-3">
|
|
90
|
-
<Avatar size="sm" fallback="Sys" />
|
|
91
|
-
<div>
|
|
92
|
-
<p class="text-sm font-medium">System Update</p>
|
|
93
|
-
<p class="text-xs text-gray-500">Your system was updated successfully.</p>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
<Input label="Quick Note" type="textarea" :rows="3" placeholder="Add a note..." />
|
|
97
|
-
</div>
|
|
98
|
-
<template #footer="{ close }">
|
|
99
|
-
<Button class="w-full" @click="close">Done</Button>
|
|
100
|
-
</template>
|
|
101
|
-
</SidePanel>
|
|
102
|
-
|
|
103
|
-
</section>
|
|
104
|
-
</template>
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { Pagination } from '@/components/Pagination'
|
|
4
|
-
import Icon from '@/components/Icon.vue'
|
|
5
|
-
|
|
6
|
-
const page1 = ref(1)
|
|
7
|
-
const page2 = ref(5)
|
|
8
|
-
const page3 = ref(1)
|
|
9
|
-
const page4 = ref(1)
|
|
10
|
-
const page5 = ref(1)
|
|
11
|
-
|
|
12
|
-
// Full Featured state
|
|
13
|
-
const itemsPerPage = ref(10)
|
|
14
|
-
const totalItems = 100 // Hypothetical total
|
|
15
|
-
// const totalPages is derived in real apps, but here we just mock it or calculate
|
|
16
|
-
// totalPages = Math.ceil(totalItems / itemsPerPage.value)
|
|
17
|
-
|
|
18
|
-
const handleChange = (label: string, val: number) => {
|
|
19
|
-
console.log(`[${label}] Page changed to:`, val)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const handlePerPageChange = (val: number) => {
|
|
23
|
-
console.log('[Full Featured] Items per page changed to:', val)
|
|
24
|
-
// In real app, you'd fetch new data and update total pages if needed
|
|
25
|
-
}
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
<template>
|
|
29
|
-
<div class="space-y-8 p-4 max-w-4xl mx-auto">
|
|
30
|
-
<div>
|
|
31
|
-
<h2 class="text-2xl font-bold mb-2">Pagination Component</h2>
|
|
32
|
-
<p class="text-gray-500 mb-6">
|
|
33
|
-
Navigate through large lists of data with ease. Now with page
|
|
34
|
-
info, items per page selector, and configurable navigation
|
|
35
|
-
styles.
|
|
36
|
-
</p>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
|
-
<!-- 1. Full Featured -->
|
|
40
|
-
<section class="space-y-4">
|
|
41
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
42
|
-
<Icon
|
|
43
|
-
icon="lucide:star"
|
|
44
|
-
class="text-primary" />
|
|
45
|
-
Full Featured
|
|
46
|
-
</h3>
|
|
47
|
-
<div
|
|
48
|
-
class="p-6 border rounded-xl bg-gray-50/50 flex flex-col items-center gap-4">
|
|
49
|
-
<Pagination
|
|
50
|
-
v-model:current-page="page5"
|
|
51
|
-
v-model:items-per-page="itemsPerPage"
|
|
52
|
-
:total-pages="10"
|
|
53
|
-
show-items-per-page
|
|
54
|
-
show-edges
|
|
55
|
-
@change="(v) => handleChange('Full', v)"
|
|
56
|
-
@change:items-per-page="handlePerPageChange" />
|
|
57
|
-
</div>
|
|
58
|
-
</section>
|
|
59
|
-
|
|
60
|
-
<!-- 2. Icon Navigation -->
|
|
61
|
-
<section class="space-y-4">
|
|
62
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
63
|
-
<Icon
|
|
64
|
-
icon="lucide:arrow-right-circle"
|
|
65
|
-
class="text-primary" />
|
|
66
|
-
Icon Only Navigation
|
|
67
|
-
</h3>
|
|
68
|
-
<div
|
|
69
|
-
class="p-6 border rounded-xl bg-gray-50/50 flex flex-col items-center gap-4">
|
|
70
|
-
<Pagination
|
|
71
|
-
v-model:current-page="page1"
|
|
72
|
-
:total-pages="5"
|
|
73
|
-
nav-type="icon"
|
|
74
|
-
@change="(v) => handleChange('Icon Only', v)" />
|
|
75
|
-
</div>
|
|
76
|
-
</section>
|
|
77
|
-
|
|
78
|
-
<!-- 3. Smart Truncation -->
|
|
79
|
-
<section class="space-y-4">
|
|
80
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
81
|
-
<Icon
|
|
82
|
-
icon="lucide:more-horizontal"
|
|
83
|
-
class="text-primary" />
|
|
84
|
-
Smart Truncation
|
|
85
|
-
</h3>
|
|
86
|
-
<div
|
|
87
|
-
class="p-6 border rounded-xl bg-gray-50/50 flex flex-col items-center gap-4">
|
|
88
|
-
<Pagination
|
|
89
|
-
v-model:current-page="page2"
|
|
90
|
-
:total-pages="20"
|
|
91
|
-
@change="(v) => handleChange('Truncation', v)" />
|
|
92
|
-
</div>
|
|
93
|
-
</section>
|
|
94
|
-
|
|
95
|
-
<!-- 4. With Edges (First/Last) -->
|
|
96
|
-
<section class="space-y-4">
|
|
97
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
98
|
-
<Icon
|
|
99
|
-
icon="lucide:chevrons-left-right"
|
|
100
|
-
class="text-primary" />
|
|
101
|
-
With First/Last Buttons
|
|
102
|
-
</h3>
|
|
103
|
-
<div
|
|
104
|
-
class="p-6 border rounded-xl bg-gray-50/50 flex flex-col items-center gap-4">
|
|
105
|
-
<Pagination
|
|
106
|
-
v-model:current-page="page3"
|
|
107
|
-
:total-pages="15"
|
|
108
|
-
show-edges
|
|
109
|
-
@change="(v) => handleChange('Edges', v)" />
|
|
110
|
-
</div>
|
|
111
|
-
</section>
|
|
112
|
-
|
|
113
|
-
<!-- 5. Disabled -->
|
|
114
|
-
<section class="space-y-4">
|
|
115
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
116
|
-
<Icon
|
|
117
|
-
icon="lucide:ban"
|
|
118
|
-
class="text-primary" />
|
|
119
|
-
Disabled State
|
|
120
|
-
</h3>
|
|
121
|
-
<div
|
|
122
|
-
class="p-6 border rounded-xl bg-gray-50/50 flex flex-col items-center gap-4">
|
|
123
|
-
<Pagination
|
|
124
|
-
v-model:current-page="page4"
|
|
125
|
-
:total-pages="10"
|
|
126
|
-
disabled />
|
|
127
|
-
</div>
|
|
128
|
-
</section>
|
|
129
|
-
</div>
|
|
130
|
-
</template>
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { PricingPlan } from '@/components/PricingPlan'
|
|
4
|
-
import type { PricingPlanItemSchema } from '@/components/PricingPlan/types'
|
|
5
|
-
|
|
6
|
-
const selectedPlan = ref<string | number>('pro')
|
|
7
|
-
const selectedEnterprise = ref<string | number>('ent-2')
|
|
8
|
-
|
|
9
|
-
const plans: PricingPlanItemSchema[] = [
|
|
10
|
-
{
|
|
11
|
-
id: 'basic',
|
|
12
|
-
title: 'Basic',
|
|
13
|
-
price: '$0',
|
|
14
|
-
period: '/month',
|
|
15
|
-
description: 'Perfect for getting started.',
|
|
16
|
-
buttonText: 'Start for Free',
|
|
17
|
-
features: [
|
|
18
|
-
'5 Projects',
|
|
19
|
-
'Basic Analytics',
|
|
20
|
-
{ text: 'Custom Domain', included: false },
|
|
21
|
-
{ text: 'Priority Support', included: false },
|
|
22
|
-
]
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: 'pro',
|
|
26
|
-
title: 'Pro',
|
|
27
|
-
price: '$29',
|
|
28
|
-
period: '/month',
|
|
29
|
-
description: 'Best for growing teams.',
|
|
30
|
-
popular: true,
|
|
31
|
-
buttonText: 'Get Started',
|
|
32
|
-
features: [
|
|
33
|
-
'Unlimited Projects',
|
|
34
|
-
'Advanced Analytics',
|
|
35
|
-
'Custom Domain',
|
|
36
|
-
{ text: 'Priority Support', included: false },
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
id: 'enterprise',
|
|
41
|
-
title: 'Enterprise',
|
|
42
|
-
price: '$99',
|
|
43
|
-
period: '/month',
|
|
44
|
-
description: 'For large scale organizations.',
|
|
45
|
-
buttonText: 'Contact Sales',
|
|
46
|
-
features: [
|
|
47
|
-
'Unlimited Projects',
|
|
48
|
-
'Advanced Analytics',
|
|
49
|
-
'Custom Domain',
|
|
50
|
-
'Priority Support',
|
|
51
|
-
]
|
|
52
|
-
}
|
|
53
|
-
]
|
|
54
|
-
|
|
55
|
-
const enterprisePlans: PricingPlanItemSchema[] = [
|
|
56
|
-
{
|
|
57
|
-
id: 'ent-1',
|
|
58
|
-
title: 'Startup',
|
|
59
|
-
price: '$499',
|
|
60
|
-
features: ['All Pro Features', 'Dedicated Support']
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
id: 'ent-2',
|
|
64
|
-
title: 'Scale',
|
|
65
|
-
price: '$999',
|
|
66
|
-
recommended: true,
|
|
67
|
-
variant: 'solid',
|
|
68
|
-
features: ['All Startup Features', 'SLA', 'Account Manager']
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
|
|
72
|
-
</script>
|
|
73
|
-
|
|
74
|
-
<template>
|
|
75
|
-
<div class="space-y-12 p-10">
|
|
76
|
-
|
|
77
|
-
<!-- Outline Variant (Default) -->
|
|
78
|
-
<section>
|
|
79
|
-
<h2 class="text-2xl font-bold mb-6">Pricing Plans (Outline)</h2>
|
|
80
|
-
<div class="bg-background p-6 rounded-xl border">
|
|
81
|
-
<PricingPlan
|
|
82
|
-
v-model="selectedPlan"
|
|
83
|
-
:items="plans"
|
|
84
|
-
variant="outline"
|
|
85
|
-
/>
|
|
86
|
-
|
|
87
|
-
<div class="mt-4 p-4 bg-muted rounded">
|
|
88
|
-
Selected Plan ID: <strong>{{ selectedPlan }}</strong>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
</section>
|
|
92
|
-
|
|
93
|
-
<!-- Solid Variant -->
|
|
94
|
-
<section>
|
|
95
|
-
<h2 class="text-2xl font-bold mb-6">Pricing Plans (Solid & Custom Grid)</h2>
|
|
96
|
-
<div class="bg-background p-6 rounded-xl border">
|
|
97
|
-
<PricingPlan
|
|
98
|
-
v-model="selectedEnterprise"
|
|
99
|
-
:items="enterprisePlans"
|
|
100
|
-
variant="solid"
|
|
101
|
-
:columns="2"
|
|
102
|
-
/>
|
|
103
|
-
<div class="mt-4 p-4 bg-muted rounded">
|
|
104
|
-
Selected Enterprise ID: <strong>{{ selectedEnterprise }}</strong>
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
107
|
-
</section>
|
|
108
|
-
|
|
109
|
-
</div>
|
|
110
|
-
</template>
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import SidePanel from '@/components/SidePanel.vue'
|
|
3
|
-
import Button from '@/components/Button.vue'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
const showRight = ref(false)
|
|
7
|
-
const showLeft = ref(false)
|
|
8
|
-
const showLg = ref(false)
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<template>
|
|
12
|
-
<div class="space-y-10">
|
|
13
|
-
<div class="space-y-2">
|
|
14
|
-
<h2 class="text-2xl font-bold">SidePanel</h2>
|
|
15
|
-
<p class="text-gray-500">A panel that slides in from the edge of the screen.</p>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<section class="space-y-4">
|
|
19
|
-
<h3 class="text-lg font-semibold">Positions</h3>
|
|
20
|
-
<div class="flex gap-4">
|
|
21
|
-
<Button @click="showRight = true">Right (Default)</Button>
|
|
22
|
-
<Button @click="showLeft = true" variant="outline">Left</Button>
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
<SidePanel v-model:show="showRight" title="Right Panel" position="right">
|
|
26
|
-
<p class="text-gray-600">Content goes here...</p>
|
|
27
|
-
</SidePanel>
|
|
28
|
-
|
|
29
|
-
<SidePanel v-model:show="showLeft" title="Left Panel" position="left">
|
|
30
|
-
<p class="text-gray-600">Content goes here...</p>
|
|
31
|
-
</SidePanel>
|
|
32
|
-
</section>
|
|
33
|
-
|
|
34
|
-
<section class="space-y-4">
|
|
35
|
-
<h3 class="text-lg font-semibold">Sizes</h3>
|
|
36
|
-
<Button @click="showLg = true">Large Panel</Button>
|
|
37
|
-
|
|
38
|
-
<SidePanel v-model:show="showLg" title="Large Panel" size="lg">
|
|
39
|
-
<div class="space-y-4">
|
|
40
|
-
<p v-for="i in 5" :key="i">Some substantial content requiring more width...</p>
|
|
41
|
-
</div>
|
|
42
|
-
</SidePanel>
|
|
43
|
-
</section>
|
|
44
|
-
</div>
|
|
45
|
-
</template>
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { SidebarMenu } from '@/components/SidebarMenu'
|
|
4
|
-
import { SidebarMenuItemSchema } from '@/components/SidebarMenu/types'
|
|
5
|
-
import Button from '@/components/Button.vue'
|
|
6
|
-
import CheckBox from '@/components/CheckBox.vue'
|
|
7
|
-
|
|
8
|
-
// Demo Configuration
|
|
9
|
-
const allowMultiple = ref(true)
|
|
10
|
-
const variant = ref<'default' | 'ghost'>('default')
|
|
11
|
-
const renderMode = ref<'tree' | 'popover'>('tree')
|
|
12
|
-
|
|
13
|
-
const toggleVariant = () => {
|
|
14
|
-
variant.value = variant.value === 'default' ? 'ghost' : 'default'
|
|
15
|
-
}
|
|
16
|
-
const toggleMode = () => {
|
|
17
|
-
renderMode.value = renderMode.value === 'tree' ? 'popover' : 'tree'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Mock Items
|
|
21
|
-
const menuItems: SidebarMenuItemSchema[] = [
|
|
22
|
-
{
|
|
23
|
-
label: 'Dashboard',
|
|
24
|
-
icon: 'lucide:layout-dashboard',
|
|
25
|
-
to: '/dashboard',
|
|
26
|
-
badge: 'New',
|
|
27
|
-
badgeClass: 'bg-primary/10 text-primary',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
label: 'Analytics',
|
|
31
|
-
icon: 'lucide:bar-chart-3',
|
|
32
|
-
// Example of mixed mode: Force dropdown on this specific item if needed?
|
|
33
|
-
renderMode: 'popover',
|
|
34
|
-
children: [
|
|
35
|
-
{ label: 'Overview', to: '/analytics/overview' },
|
|
36
|
-
{ label: 'Performance', to: '/analytics/performance' },
|
|
37
|
-
{
|
|
38
|
-
label: 'Real-time',
|
|
39
|
-
to: '/analytics/realtime',
|
|
40
|
-
badge: 'Live',
|
|
41
|
-
badgeClass: 'bg-green-100 text-green-700',
|
|
42
|
-
},
|
|
43
|
-
],
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
label: 'Projects',
|
|
47
|
-
icon: 'lucide:folder',
|
|
48
|
-
children: [
|
|
49
|
-
{
|
|
50
|
-
label: 'Active Projects',
|
|
51
|
-
children: [
|
|
52
|
-
{ label: 'Website Redesign', to: '/projects/website' },
|
|
53
|
-
{ label: 'Mobile App', to: '/projects/app' },
|
|
54
|
-
],
|
|
55
|
-
},
|
|
56
|
-
{ label: 'Archived', to: '/projects/archived', disabled: true },
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
label: 'Team',
|
|
61
|
-
icon: 'lucide:users',
|
|
62
|
-
children: [
|
|
63
|
-
{ label: 'Members', to: '/team/members' },
|
|
64
|
-
{ label: 'Permissions', to: '/team/permissions' },
|
|
65
|
-
],
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
label: 'Documents',
|
|
69
|
-
icon: 'lucide:file-text',
|
|
70
|
-
// Example of simple action instead of route
|
|
71
|
-
action: () => alert('Documents clicked!'),
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
label: 'Settings',
|
|
75
|
-
icon: 'lucide:settings',
|
|
76
|
-
children: [
|
|
77
|
-
{ label: 'Account', to: '/settings/account' },
|
|
78
|
-
{ label: 'Billing', to: '/settings/billing' },
|
|
79
|
-
{ label: 'Notifications', to: '/settings/notifications' },
|
|
80
|
-
],
|
|
81
|
-
},
|
|
82
|
-
]
|
|
83
|
-
</script>
|
|
84
|
-
|
|
85
|
-
<template>
|
|
86
|
-
<div class="space-y-6">
|
|
87
|
-
<div class="flex items-center justify-between border-b pb-4">
|
|
88
|
-
<div>
|
|
89
|
-
<h2 class="text-2xl font-bold tracking-tight">Sidebar Menu</h2>
|
|
90
|
-
<p class="text-gray-500">
|
|
91
|
-
A recursive, accessible navigation menu with smooth
|
|
92
|
-
animations.
|
|
93
|
-
</p>
|
|
94
|
-
</div>
|
|
95
|
-
<div class="flex items-center gap-4">
|
|
96
|
-
<CheckBox
|
|
97
|
-
v-model="allowMultiple"
|
|
98
|
-
label="Allow Multiple Expanded" />
|
|
99
|
-
<Button
|
|
100
|
-
size="sm"
|
|
101
|
-
variant="outline"
|
|
102
|
-
@click="toggleMode">
|
|
103
|
-
Mode: {{ renderMode }}
|
|
104
|
-
</Button>
|
|
105
|
-
<Button
|
|
106
|
-
size="sm"
|
|
107
|
-
variant="outline"
|
|
108
|
-
@click="toggleVariant">
|
|
109
|
-
Variant: {{ variant }}
|
|
110
|
-
</Button>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
|
|
114
|
-
<!-- Layout Simulation -->
|
|
115
|
-
<div
|
|
116
|
-
class="flex h-[600px] border rounded-xl overflow-hidden bg-white shadow-sm">
|
|
117
|
-
<!-- Sidebar -->
|
|
118
|
-
<div class="w-64 border-r bg-gray-50/50 flex flex-col">
|
|
119
|
-
<div
|
|
120
|
-
class="p-4 border-b h-16 flex items-center font-bold text-lg px-6">
|
|
121
|
-
Acme Inc.
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
<div class="flex-1 overflow-y-auto p-3">
|
|
125
|
-
<SidebarMenu
|
|
126
|
-
:items="menuItems"
|
|
127
|
-
:allow-multiple="allowMultiple"
|
|
128
|
-
:variant="variant"
|
|
129
|
-
:render-mode="renderMode" />
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
<div class="p-4 border-t bg-gray-50">
|
|
133
|
-
<div class="flex items-center gap-3">
|
|
134
|
-
<div
|
|
135
|
-
class="h-8 w-8 rounded-full bg-primary/20 flex items-center justify-center text-primary font-bold">
|
|
136
|
-
U
|
|
137
|
-
</div>
|
|
138
|
-
<div class="text-sm">
|
|
139
|
-
<div class="font-medium">User Name</div>
|
|
140
|
-
<div class="text-gray-500 text-xs">
|
|
141
|
-
user@example.com
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
</div>
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
<!-- Main Content -->
|
|
149
|
-
<div class="flex-1 flex flex-col bg-white">
|
|
150
|
-
<div
|
|
151
|
-
class="h-16 border-b flex items-center px-6 text-gray-400 text-sm">
|
|
152
|
-
Header
|
|
153
|
-
</div>
|
|
154
|
-
<div
|
|
155
|
-
class="flex-1 p-8 flex items-center justify-center text-gray-400 bg-gray-50/20">
|
|
156
|
-
<div class="text-center space-y-2">
|
|
157
|
-
<div class="text-4xl">👋</div>
|
|
158
|
-
<p>
|
|
159
|
-
Select an item from the sidebar to see active
|
|
160
|
-
states.
|
|
161
|
-
</p>
|
|
162
|
-
<p class="text-xs text-gray-400">
|
|
163
|
-
(Routing is simulated in this demo)
|
|
164
|
-
</p>
|
|
165
|
-
</div>
|
|
166
|
-
</div>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
</template>
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import Slider from '@/components/Slider.vue'
|
|
3
|
-
import { ref } from 'vue'
|
|
4
|
-
|
|
5
|
-
const val1 = ref(50)
|
|
6
|
-
const val2 = ref(75)
|
|
7
|
-
const val3 = ref(0)
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<template>
|
|
11
|
-
<div class="space-y-10">
|
|
12
|
-
<div class="space-y-2">
|
|
13
|
-
<h2 class="text-2xl font-bold">Slider</h2>
|
|
14
|
-
<p class="text-gray-500">An input where the user selects a value from within a given range.</p>
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<section class="space-y-8 max-w-xl">
|
|
18
|
-
<h3 class="text-lg font-semibold">Examples</h3>
|
|
19
|
-
|
|
20
|
-
<Slider
|
|
21
|
-
label="Standard (0-100)"
|
|
22
|
-
v-model="val1"
|
|
23
|
-
/>
|
|
24
|
-
|
|
25
|
-
<Slider
|
|
26
|
-
label="Range (50-200)"
|
|
27
|
-
:min="50"
|
|
28
|
-
:max="200"
|
|
29
|
-
v-model="val2"
|
|
30
|
-
icon="lucide:maximize"
|
|
31
|
-
/>
|
|
32
|
-
|
|
33
|
-
<Slider
|
|
34
|
-
label="Bipolar / Balance (-50 to 50)"
|
|
35
|
-
:min="-50"
|
|
36
|
-
:max="50"
|
|
37
|
-
v-model="val3"
|
|
38
|
-
icon="lucide:scale"
|
|
39
|
-
/>
|
|
40
|
-
|
|
41
|
-
<Slider
|
|
42
|
-
label="Disabled"
|
|
43
|
-
:model-value="30"
|
|
44
|
-
disabled
|
|
45
|
-
/>
|
|
46
|
-
</section>
|
|
47
|
-
</div>
|
|
48
|
-
</template>
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import Switch from '@/components/Switch.vue'
|
|
3
|
-
import Label from '@/components/Label.vue'
|
|
4
|
-
import { ref } from 'vue'
|
|
5
|
-
|
|
6
|
-
const active = ref(false)
|
|
7
|
-
const active2 = ref(true)
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<template>
|
|
11
|
-
<div class="space-y-10">
|
|
12
|
-
<div class="space-y-2">
|
|
13
|
-
<h2 class="text-2xl font-bold">Switch</h2>
|
|
14
|
-
<p class="text-gray-500">A control that allows the user to toggle between two states.</p>
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<section class="space-y-4">
|
|
18
|
-
<h3 class="text-lg font-semibold">Basic Usage</h3>
|
|
19
|
-
<div class="flex items-center justify-between max-w-sm p-4 border rounded-lg">
|
|
20
|
-
<Label>Airplane Mode</Label>
|
|
21
|
-
<Switch v-model="active" />
|
|
22
|
-
</div>
|
|
23
|
-
<p class="text-xs text-gray-400">Value: {{ active }}</p>
|
|
24
|
-
</section>
|
|
25
|
-
|
|
26
|
-
<section class="space-y-4">
|
|
27
|
-
<h3 class="text-lg font-semibold">States</h3>
|
|
28
|
-
<div class="grid gap-4 max-w-sm">
|
|
29
|
-
<div class="flex items-center justify-between p-4 border rounded-lg bg-gray-50">
|
|
30
|
-
<Label class="text-gray-400">Disabled Off</Label>
|
|
31
|
-
<Switch :model-value="false" disabled />
|
|
32
|
-
</div>
|
|
33
|
-
<div class="flex items-center justify-between p-4 border rounded-lg bg-gray-50">
|
|
34
|
-
<Label class="text-gray-400">Disabled On</Label>
|
|
35
|
-
<Switch :model-value="true" disabled />
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
</section>
|
|
39
|
-
</div>
|
|
40
|
-
</template>
|