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,300 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { MultiSelect } from '@/components/MultiSelect'
|
|
4
|
-
import Icon from '@/components/Icon.vue'
|
|
5
|
-
|
|
6
|
-
// --- Data ---
|
|
7
|
-
const options = [
|
|
8
|
-
{ label: 'Vue.js', value: 'vue' },
|
|
9
|
-
{ label: 'React', value: 'react' },
|
|
10
|
-
{ label: 'Angular', value: 'angular' },
|
|
11
|
-
{ label: 'Svelte', value: 'svelte' },
|
|
12
|
-
{ label: 'Solid', value: 'solid' },
|
|
13
|
-
{ label: 'Qwik', value: 'qwik' },
|
|
14
|
-
{ label: 'Nuxt', value: 'nuxt' },
|
|
15
|
-
{ label: 'Next.js', value: 'next' },
|
|
16
|
-
{ label: 'Remix', value: 'remix' },
|
|
17
|
-
{ label: 'Astro', value: 'astro' },
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
const groupedOptions = [
|
|
21
|
-
{
|
|
22
|
-
label: 'Frontend',
|
|
23
|
-
children: [
|
|
24
|
-
{ label: 'Vue.js', value: 'vue' },
|
|
25
|
-
{ label: 'React', value: 'react' },
|
|
26
|
-
{ label: 'Angular', value: 'angular' },
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
label: 'Backend',
|
|
31
|
-
children: [
|
|
32
|
-
{ label: 'Node.js', value: 'node' },
|
|
33
|
-
{ label: 'Python', value: 'python' },
|
|
34
|
-
{ label: 'Go', value: 'go' },
|
|
35
|
-
]
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
|
|
39
|
-
// --- State ---
|
|
40
|
-
const selectedFrameworks = ref(['vue', 'nuxt'])
|
|
41
|
-
const selectedEmpty = ref([])
|
|
42
|
-
const selectedMany = ref(['vue', 'react', 'angular', 'svelte', 'solid'])
|
|
43
|
-
const selectedGrouped = ref(['vue', 'node'])
|
|
44
|
-
|
|
45
|
-
// Remote Search State
|
|
46
|
-
const remoteOptions = ref<{label: string, value: string}[]>([])
|
|
47
|
-
const remoteSelected = ref([])
|
|
48
|
-
const isLoading = ref(false)
|
|
49
|
-
|
|
50
|
-
// Rich Options
|
|
51
|
-
const richOptions = [
|
|
52
|
-
{ label: 'Profile', value: 'profile', subtitle: '⌘P', icon: 'lucide:user' },
|
|
53
|
-
{ label: 'Settings', value: 'settings', subtitle: '⌘,', icon: 'lucide:settings' },
|
|
54
|
-
{ label: 'Print (Native)', value: 'print', description: 'Recommended for high fidelity', icon: 'lucide:printer' },
|
|
55
|
-
{ label: 'Export PDF', value: 'export', description: 'Best for digital sharing', subtitle: '⌘E', icon: 'lucide:file-down' },
|
|
56
|
-
]
|
|
57
|
-
const selectedRich = ref(['profile'])
|
|
58
|
-
|
|
59
|
-
// --- Methods ---
|
|
60
|
-
const handleChange = (label: string, val: any) => {
|
|
61
|
-
console.log(`[${label}] Changed:`, val)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const handleSearch = (query: string) => {
|
|
65
|
-
console.log('Searching:', query)
|
|
66
|
-
isLoading.value = true
|
|
67
|
-
// Simulate API call
|
|
68
|
-
setTimeout(() => {
|
|
69
|
-
if (!query) {
|
|
70
|
-
remoteOptions.value = []
|
|
71
|
-
} else {
|
|
72
|
-
remoteOptions.value = [
|
|
73
|
-
{ label: `${query} Result 1`, value: `${query}-1` },
|
|
74
|
-
{ label: `${query} Result 2`, value: `${query}-2` },
|
|
75
|
-
{ label: `${query} Result 3`, value: `${query}-3` },
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
isLoading.value = false
|
|
79
|
-
}, 1000)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Pagination State
|
|
83
|
-
const pagedOptions = ref([...options, ...Array.from({ length: 40 }, (_, i) => ({ label: `Item ${i + 11}`, value: `item-${i + 11}` }))])
|
|
84
|
-
const hasMore = ref(true)
|
|
85
|
-
const isPageLoading = ref(false)
|
|
86
|
-
const selectedPaged = ref([])
|
|
87
|
-
|
|
88
|
-
const handleLoadMore = () => {
|
|
89
|
-
if (isPageLoading.value || !hasMore.value) return
|
|
90
|
-
console.log('Loading more...')
|
|
91
|
-
isPageLoading.value = true
|
|
92
|
-
|
|
93
|
-
setTimeout(() => {
|
|
94
|
-
const currentLength = pagedOptions.value.length
|
|
95
|
-
const nextBatch = Array.from({ length: 20 }, (_, i) => ({
|
|
96
|
-
label: `Deferred Item ${currentLength + i + 1}`,
|
|
97
|
-
value: `deferred-${currentLength + i + 1}`
|
|
98
|
-
}))
|
|
99
|
-
pagedOptions.value.push(...nextBatch)
|
|
100
|
-
|
|
101
|
-
if (pagedOptions.value.length >= 100) {
|
|
102
|
-
hasMore.value = false
|
|
103
|
-
}
|
|
104
|
-
isPageLoading.value = false
|
|
105
|
-
}, 1000)
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
</script>
|
|
109
|
-
|
|
110
|
-
<template>
|
|
111
|
-
<div class="space-y-8 p-4 max-w-3xl mx-auto">
|
|
112
|
-
<div>
|
|
113
|
-
<h2 class="text-2xl font-bold mb-2">MultiSelect Component</h2>
|
|
114
|
-
<p class="text-gray-500 mb-6">
|
|
115
|
-
A robust multi-select dropdown with tag display, search, and
|
|
116
|
-
virtualization support via DropdownMenu.
|
|
117
|
-
</p>
|
|
118
|
-
</div>
|
|
119
|
-
|
|
120
|
-
<!-- 1. Basic Usage -->
|
|
121
|
-
<section class="space-y-4">
|
|
122
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
123
|
-
<Icon
|
|
124
|
-
icon="lucide:check-square"
|
|
125
|
-
class="text-primary" />
|
|
126
|
-
Basic Usage
|
|
127
|
-
</h3>
|
|
128
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
129
|
-
<MultiSelect
|
|
130
|
-
v-model="selectedFrameworks"
|
|
131
|
-
:options="options"
|
|
132
|
-
@change="(v) => handleChange('Basic', v)" />
|
|
133
|
-
<div
|
|
134
|
-
class="mt-4 text-xs text-gray-500 font-mono bg-white p-2 rounded border">
|
|
135
|
-
Model: {{ selectedFrameworks }}
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
</section>
|
|
139
|
-
|
|
140
|
-
<!-- 2. Remote Search -->
|
|
141
|
-
<section class="space-y-4">
|
|
142
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
143
|
-
<Icon
|
|
144
|
-
icon="lucide:search"
|
|
145
|
-
class="text-primary" />
|
|
146
|
-
Remote Search (Async)
|
|
147
|
-
</h3>
|
|
148
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
149
|
-
<MultiSelect
|
|
150
|
-
v-model="remoteSelected"
|
|
151
|
-
:options="remoteOptions"
|
|
152
|
-
placeholder="Type to search..."
|
|
153
|
-
remote
|
|
154
|
-
:loading="isLoading"
|
|
155
|
-
@search="handleSearch"
|
|
156
|
-
@change="(v) => handleChange('Remote', v)"
|
|
157
|
-
/>
|
|
158
|
-
<div class="mt-2 text-xs text-gray-500">
|
|
159
|
-
Type anything to simulate an API search.
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
</section>
|
|
163
|
-
|
|
164
|
-
<!-- 3. Rich Options (Subtitle & Description) -->
|
|
165
|
-
<section class="space-y-4">
|
|
166
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
167
|
-
<Icon
|
|
168
|
-
icon="lucide:layout-list"
|
|
169
|
-
class="text-primary" />
|
|
170
|
-
Rich Options
|
|
171
|
-
</h3>
|
|
172
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
173
|
-
<MultiSelect
|
|
174
|
-
v-model="selectedRich"
|
|
175
|
-
:options="richOptions"
|
|
176
|
-
placeholder="Select actions..."
|
|
177
|
-
@change="(v) => handleChange('Rich', v)"
|
|
178
|
-
/>
|
|
179
|
-
<div class="mt-2 text-xs text-gray-500">
|
|
180
|
-
Options with subtitles (shortcuts) and descriptions.
|
|
181
|
-
</div>
|
|
182
|
-
</div>
|
|
183
|
-
</section>
|
|
184
|
-
|
|
185
|
-
<!-- 4. Pagination / Infinite Scroll -->
|
|
186
|
-
<section class="space-y-4">
|
|
187
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
188
|
-
<Icon
|
|
189
|
-
icon="lucide:list-plus"
|
|
190
|
-
class="text-primary" />
|
|
191
|
-
Pagination (Load More)
|
|
192
|
-
</h3>
|
|
193
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
194
|
-
<MultiSelect
|
|
195
|
-
v-model="selectedPaged"
|
|
196
|
-
:options="pagedOptions"
|
|
197
|
-
placeholder="Scroll for more..."
|
|
198
|
-
:has-more="hasMore"
|
|
199
|
-
:loading="isPageLoading"
|
|
200
|
-
@load-more="handleLoadMore"
|
|
201
|
-
@change="(v) => handleChange('Paged', v)"
|
|
202
|
-
/>
|
|
203
|
-
<div class="mt-2 text-xs text-gray-500">
|
|
204
|
-
Scroll to the bottom of the list to load more items.
|
|
205
|
-
</div>
|
|
206
|
-
</div>
|
|
207
|
-
</section>
|
|
208
|
-
|
|
209
|
-
<!-- 4. Grouped Options -->
|
|
210
|
-
<section class="space-y-4">
|
|
211
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
212
|
-
<Icon
|
|
213
|
-
icon="lucide:layers"
|
|
214
|
-
class="text-primary" />
|
|
215
|
-
Grouped Options
|
|
216
|
-
</h3>
|
|
217
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
218
|
-
<MultiSelect
|
|
219
|
-
v-model="selectedGrouped"
|
|
220
|
-
:options="groupedOptions"
|
|
221
|
-
layout="grouped"
|
|
222
|
-
placeholder="Select from groups..."
|
|
223
|
-
@change="(v) => handleChange('Grouped', v)"
|
|
224
|
-
/>
|
|
225
|
-
<div
|
|
226
|
-
class="mt-4 text-xs text-gray-500 font-mono bg-white p-2 rounded border">
|
|
227
|
-
Model: {{ selectedGrouped }}
|
|
228
|
-
</div>
|
|
229
|
-
</div>
|
|
230
|
-
</section>
|
|
231
|
-
|
|
232
|
-
<!-- 5. Empty State & Placeholder -->
|
|
233
|
-
<section class="space-y-4">
|
|
234
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
235
|
-
<Icon
|
|
236
|
-
icon="lucide:message-square"
|
|
237
|
-
class="text-primary" />
|
|
238
|
-
Placeholder
|
|
239
|
-
</h3>
|
|
240
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
241
|
-
<MultiSelect
|
|
242
|
-
v-model="selectedEmpty"
|
|
243
|
-
:options="options"
|
|
244
|
-
placeholder="Choose your stack..."
|
|
245
|
-
@change="(v) => handleChange('Empty', v)" />
|
|
246
|
-
</div>
|
|
247
|
-
</section>
|
|
248
|
-
|
|
249
|
-
<!-- 6. Overflow Handling (+N) -->
|
|
250
|
-
<section class="space-y-4">
|
|
251
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
252
|
-
<Icon
|
|
253
|
-
icon="lucide:more-horizontal"
|
|
254
|
-
class="text-primary" />
|
|
255
|
-
Overflow Handling (+N)
|
|
256
|
-
</h3>
|
|
257
|
-
<div class="p-4 border rounded-xl bg-gray-50/50">
|
|
258
|
-
<MultiSelect
|
|
259
|
-
v-model="selectedMany"
|
|
260
|
-
:options="options"
|
|
261
|
-
:max-visible="3"
|
|
262
|
-
@change="(v) => handleChange('Overflow', v)" />
|
|
263
|
-
<p class="mt-2 text-xs text-gray-500">
|
|
264
|
-
Max visible set to 3. Selection has 5 items.
|
|
265
|
-
</p>
|
|
266
|
-
</div>
|
|
267
|
-
</section>
|
|
268
|
-
|
|
269
|
-
<!-- 7. States -->
|
|
270
|
-
<section class="space-y-4">
|
|
271
|
-
<h3 class="text-lg font-semibold flex items-center gap-2">
|
|
272
|
-
<Icon
|
|
273
|
-
icon="lucide:toggle-left"
|
|
274
|
-
class="text-primary" />
|
|
275
|
-
States
|
|
276
|
-
</h3>
|
|
277
|
-
<div
|
|
278
|
-
class="grid grid-cols-1 md:grid-cols-2 gap-4 p-4 border rounded-xl bg-gray-50/50">
|
|
279
|
-
<div>
|
|
280
|
-
<label class="text-sm font-medium mb-1 block"
|
|
281
|
-
>Disabled</label
|
|
282
|
-
>
|
|
283
|
-
<MultiSelect
|
|
284
|
-
v-model="selectedFrameworks"
|
|
285
|
-
:options="options"
|
|
286
|
-
disabled />
|
|
287
|
-
</div>
|
|
288
|
-
<div>
|
|
289
|
-
<label class="text-sm font-medium mb-1 block"
|
|
290
|
-
>Solid Variant</label
|
|
291
|
-
>
|
|
292
|
-
<MultiSelect
|
|
293
|
-
v-model="selectedFrameworks"
|
|
294
|
-
:options="options"
|
|
295
|
-
variant="solid" />
|
|
296
|
-
</div>
|
|
297
|
-
</div>
|
|
298
|
-
</section>
|
|
299
|
-
</div>
|
|
300
|
-
</template>
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { Navbar, NavbarItem, NavbarGroup } from '@/components/Navbar'
|
|
3
|
-
import Avatar from '@/components/Avatar.vue'
|
|
4
|
-
import Input from '@/components/Input.vue'
|
|
5
|
-
import Button from '@/components/Button.vue'
|
|
6
|
-
import Icon from '@/components/Icon.vue'
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<template>
|
|
10
|
-
<div class="space-y-10">
|
|
11
|
-
<div class="space-y-2">
|
|
12
|
-
<h2 class="text-2xl font-bold">Navbar</h2>
|
|
13
|
-
<p class="text-gray-500">Navigation headers and sidebars.</p>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<section class="space-y-4">
|
|
17
|
-
<h3 class="text-lg font-semibold">Top Navigation</h3>
|
|
18
|
-
<div class="border rounded-lg overflow-hidden bg-gray-100 h-[200px] relative">
|
|
19
|
-
<Navbar position="absolute" class="w-full bg-white border-b">
|
|
20
|
-
<template #logo>
|
|
21
|
-
<div class="flex items-center gap-2 font-bold text-lg">Builto</div>
|
|
22
|
-
</template>
|
|
23
|
-
<template #left>
|
|
24
|
-
<NavbarGroup>
|
|
25
|
-
<NavbarItem label="Home" active />
|
|
26
|
-
<NavbarItem label="Features" />
|
|
27
|
-
</NavbarGroup>
|
|
28
|
-
</template>
|
|
29
|
-
<template #right>
|
|
30
|
-
<Button size="sm">Get Started</Button>
|
|
31
|
-
</template>
|
|
32
|
-
</Navbar>
|
|
33
|
-
</div>
|
|
34
|
-
</section>
|
|
35
|
-
|
|
36
|
-
<section class="space-y-4">
|
|
37
|
-
<h3 class="text-lg font-semibold">Sidebar Navigation</h3>
|
|
38
|
-
<div class="border rounded-lg overflow-hidden bg-gray-50 h-[300px] flex">
|
|
39
|
-
<Navbar variant="sidebar" position="relative" width="w-48" class="bg-white border-r h-full flex flex-col">
|
|
40
|
-
<template #logo>
|
|
41
|
-
<div class="flex items-center gap-2 font-bold px-4 py-2">
|
|
42
|
-
<Icon icon="lucide:box" /> Dashboard
|
|
43
|
-
</div>
|
|
44
|
-
</template>
|
|
45
|
-
<template #default>
|
|
46
|
-
<div class="flex-1 py-4">
|
|
47
|
-
<NavbarGroup orientation="vertical">
|
|
48
|
-
<NavbarItem icon="lucide:home" label="Overview" active />
|
|
49
|
-
<NavbarItem icon="lucide:users" label="Team" />
|
|
50
|
-
<NavbarItem icon="lucide:settings" label="Settings" />
|
|
51
|
-
</NavbarGroup>
|
|
52
|
-
</div>
|
|
53
|
-
</template>
|
|
54
|
-
</Navbar>
|
|
55
|
-
<div class="p-8 text-gray-400">Main Content</div>
|
|
56
|
-
</div>
|
|
57
|
-
</section>
|
|
58
|
-
</div>
|
|
59
|
-
</template>
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { Navbar, NavbarItem, NavbarGroup } from '@/components/Navbar'
|
|
4
|
-
import Avatar from '@/components/Avatar.vue'
|
|
5
|
-
import Input from '@/components/Input.vue'
|
|
6
|
-
import Button from '@/components/Button.vue'
|
|
7
|
-
import Label from '@/components/Label.vue'
|
|
8
|
-
import Icon from '@/components/Icon.vue'
|
|
9
|
-
|
|
10
|
-
const centerPosition = ref<'center' | 'left' | 'right'>('center')
|
|
11
|
-
</script>
|
|
12
|
-
|
|
13
|
-
<template>
|
|
14
|
-
<section class="space-y-8">
|
|
15
|
-
<div class="space-y-2">
|
|
16
|
-
<h2 class="text-xl font-semibold tracking-tight">Navigation</h2>
|
|
17
|
-
<p class="text-sm text-gray-500">
|
|
18
|
-
Navbars, sidebars, and other navigational structures.
|
|
19
|
-
</p>
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<!-- Top Navbar Demo -->
|
|
23
|
-
<div class="space-y-4">
|
|
24
|
-
<h3 class="text-sm font-medium text-gray-500 uppercase tracking-wider">Top Navbar</h3>
|
|
25
|
-
|
|
26
|
-
<div class="border border-border rounded-lg overflow-hidden bg-gray-100 h-[250px] relative flex flex-col">
|
|
27
|
-
<Navbar position="absolute" :center-position="centerPosition" class="w-full bg-body border-b">
|
|
28
|
-
<template #logo>
|
|
29
|
-
<div class="flex items-center gap-2 font-bold text-lg">
|
|
30
|
-
<div class="w-8 h-8 bg-primary text-primary-fg rounded-md flex items-center justify-center">B</div>
|
|
31
|
-
Builto
|
|
32
|
-
</div>
|
|
33
|
-
</template>
|
|
34
|
-
|
|
35
|
-
<template #left>
|
|
36
|
-
<NavbarGroup>
|
|
37
|
-
<NavbarItem label="Dashboard" active />
|
|
38
|
-
<NavbarItem label="Projects" />
|
|
39
|
-
<NavbarItem label="Team" />
|
|
40
|
-
</NavbarGroup>
|
|
41
|
-
</template>
|
|
42
|
-
|
|
43
|
-
<template #center>
|
|
44
|
-
<div class="w-full max-w-[240px]">
|
|
45
|
-
<Input placeholder="Search..." icon="lucide:search" size="sm" rounded="full" class="bg-gray-100 border-transparent focus:bg-white" />
|
|
46
|
-
</div>
|
|
47
|
-
</template>
|
|
48
|
-
|
|
49
|
-
<template #right>
|
|
50
|
-
<NavbarGroup>
|
|
51
|
-
<Button variant="ghost" size="sm" icon="lucide:bell" rounded="full" />
|
|
52
|
-
<Button variant="ghost" size="sm" icon="lucide:settings" rounded="full" />
|
|
53
|
-
<Avatar size="sm" src="https://i.pravatar.cc/150?u=1" />
|
|
54
|
-
</NavbarGroup>
|
|
55
|
-
</template>
|
|
56
|
-
</Navbar>
|
|
57
|
-
|
|
58
|
-
<div class="flex-1 flex items-center justify-center text-gray-400">
|
|
59
|
-
Content Area
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
|
|
64
|
-
<!-- Sidebar Demo -->
|
|
65
|
-
<div class="space-y-4">
|
|
66
|
-
<h3 class="text-sm font-medium text-gray-500 uppercase tracking-wider">Sidebar Layout</h3>
|
|
67
|
-
|
|
68
|
-
<div class="border border-border rounded-lg overflow-hidden bg-gray-50 h-[400px] flex">
|
|
69
|
-
<Navbar variant="sidebar" position="relative" width="w-64" class="bg-body border-r h-full flex flex-col">
|
|
70
|
-
<template #logo>
|
|
71
|
-
<div class="flex items-center gap-2 font-bold text-lg px-2">
|
|
72
|
-
<Icon icon="lucide:hexagon" class="w-6 h-6 text-primary" />
|
|
73
|
-
Sidebar
|
|
74
|
-
</div>
|
|
75
|
-
</template>
|
|
76
|
-
|
|
77
|
-
<template #default>
|
|
78
|
-
<div class="flex-1 overflow-y-auto py-4">
|
|
79
|
-
<NavbarGroup orientation="vertical">
|
|
80
|
-
<Label class="px-2 mb-2 text-xs uppercase text-gray-500">Main</Label>
|
|
81
|
-
<NavbarItem icon="lucide:layout-dashboard" label="Dashboard" active />
|
|
82
|
-
<NavbarItem icon="lucide:users" label="Users" />
|
|
83
|
-
<NavbarItem icon="lucide:shopping-bag" label="Products" />
|
|
84
|
-
</NavbarGroup>
|
|
85
|
-
|
|
86
|
-
<div class="my-4 h-px bg-border mx-2"></div>
|
|
87
|
-
|
|
88
|
-
<NavbarGroup orientation="vertical">
|
|
89
|
-
<Label class="px-2 mb-2 text-xs uppercase text-gray-500">Settings</Label>
|
|
90
|
-
<NavbarItem icon="lucide:settings" label="General" />
|
|
91
|
-
<NavbarItem icon="lucide:shield" label="Security" />
|
|
92
|
-
</NavbarGroup>
|
|
93
|
-
</div>
|
|
94
|
-
</template>
|
|
95
|
-
|
|
96
|
-
<template #right>
|
|
97
|
-
<div class="mt-auto border-t pt-4">
|
|
98
|
-
<div class="flex items-center gap-3 p-2 rounded-md hover:bg-gray-100 cursor-pointer transition-colors">
|
|
99
|
-
<Avatar size="sm" fallback="JD" />
|
|
100
|
-
<div class="flex flex-col text-sm overflow-hidden">
|
|
101
|
-
<span class="font-medium truncate">John Doe</span>
|
|
102
|
-
<span class="text-xs text-gray-500 truncate">admin@builto.com</span>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
</template>
|
|
107
|
-
</Navbar>
|
|
108
|
-
|
|
109
|
-
<div class="flex-1 flex items-center justify-center text-gray-400 bg-gray-50">
|
|
110
|
-
Main Content
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
</section>
|
|
116
|
-
</template>
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
3
|
-
import { OTPInput } from '@/components/OTPInput'
|
|
4
|
-
import Button from '@/components/Button.vue'
|
|
5
|
-
|
|
6
|
-
const code1 = ref('')
|
|
7
|
-
const code2 = ref('')
|
|
8
|
-
const code3 = ref('')
|
|
9
|
-
const code4 = ref('')
|
|
10
|
-
const code5 = ref('')
|
|
11
|
-
const code6 = ref('')
|
|
12
|
-
const code7 = ref('')
|
|
13
|
-
|
|
14
|
-
const handleComplete = (val: string) => {
|
|
15
|
-
console.log('OTP Complete:', val)
|
|
16
|
-
}
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<div class="space-y-10 p-4">
|
|
21
|
-
<div class="space-y-2">
|
|
22
|
-
<h2 class="text-2xl font-bold">OTP Input</h2>
|
|
23
|
-
<p class="text-gray-500">
|
|
24
|
-
For entering one-time passwords, verification codes, and PINs.
|
|
25
|
-
</p>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<!-- Default -->
|
|
29
|
-
<section class="space-y-4">
|
|
30
|
-
<h3 class="text-lg font-semibold">Default</h3>
|
|
31
|
-
<div class="p-4 border rounded-lg">
|
|
32
|
-
<OTPInput
|
|
33
|
-
v-model="code1"
|
|
34
|
-
@complete="handleComplete" />
|
|
35
|
-
<p class="mt-2 text-sm text-gray-500">Value: {{ code1 }}</p>
|
|
36
|
-
</div>
|
|
37
|
-
</section>
|
|
38
|
-
|
|
39
|
-
<!-- Variants -->
|
|
40
|
-
<section class="space-y-4">
|
|
41
|
-
<h3 class="text-lg font-semibold">Variants</h3>
|
|
42
|
-
<div class="grid gap-6">
|
|
43
|
-
<div>
|
|
44
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
45
|
-
Outline (Default)
|
|
46
|
-
</p>
|
|
47
|
-
<OTPInput
|
|
48
|
-
v-model="code2"
|
|
49
|
-
variant="outline" />
|
|
50
|
-
</div>
|
|
51
|
-
<div>
|
|
52
|
-
<p class="text-sm font-medium mb-2 text-gray-600">Solid</p>
|
|
53
|
-
<OTPInput
|
|
54
|
-
v-model="code2"
|
|
55
|
-
variant="solid" />
|
|
56
|
-
</div>
|
|
57
|
-
<div>
|
|
58
|
-
<p class="text-sm font-medium mb-2 text-gray-600">Ghost</p>
|
|
59
|
-
<OTPInput
|
|
60
|
-
v-model="code2"
|
|
61
|
-
variant="ghost" />
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
</section>
|
|
65
|
-
|
|
66
|
-
<!-- Attached -->
|
|
67
|
-
<section class="space-y-4">
|
|
68
|
-
<h3 class="text-lg font-semibold">Attached / Grouped</h3>
|
|
69
|
-
<div class="grid gap-6">
|
|
70
|
-
<div>
|
|
71
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
72
|
-
Attached Outline
|
|
73
|
-
</p>
|
|
74
|
-
<OTPInput
|
|
75
|
-
v-model="code3"
|
|
76
|
-
attached
|
|
77
|
-
variant="outline" />
|
|
78
|
-
</div>
|
|
79
|
-
<div>
|
|
80
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
81
|
-
Attached Solid
|
|
82
|
-
</p>
|
|
83
|
-
<OTPInput
|
|
84
|
-
v-model="code3"
|
|
85
|
-
attached
|
|
86
|
-
variant="solid" />
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
</section>
|
|
90
|
-
|
|
91
|
-
<!-- Sizes -->
|
|
92
|
-
<section class="space-y-4">
|
|
93
|
-
<h3 class="text-lg font-semibold">Sizes</h3>
|
|
94
|
-
<div class="flex flex-col gap-4">
|
|
95
|
-
<div class="flex items-center gap-4">
|
|
96
|
-
<span class="w-20 text-sm text-gray-500">Small</span>
|
|
97
|
-
<OTPInput
|
|
98
|
-
v-model="code4"
|
|
99
|
-
size="sm" />
|
|
100
|
-
</div>
|
|
101
|
-
<div class="flex items-center gap-4">
|
|
102
|
-
<span class="w-20 text-sm text-gray-500">Medium</span>
|
|
103
|
-
<OTPInput
|
|
104
|
-
v-model="code4"
|
|
105
|
-
size="md" />
|
|
106
|
-
</div>
|
|
107
|
-
<div class="flex items-center gap-4">
|
|
108
|
-
<span class="w-20 text-sm text-gray-500">Large</span>
|
|
109
|
-
<OTPInput
|
|
110
|
-
v-model="code4"
|
|
111
|
-
size="lg" />
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
</section>
|
|
115
|
-
|
|
116
|
-
<!-- Custom Length & Type -->
|
|
117
|
-
<section class="space-y-4">
|
|
118
|
-
<h3 class="text-lg font-semibold">Custom configuration</h3>
|
|
119
|
-
<div class="grid gap-6">
|
|
120
|
-
<div>
|
|
121
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
122
|
-
4 Digits (Number only)
|
|
123
|
-
</p>
|
|
124
|
-
<OTPInput
|
|
125
|
-
v-model="code5"
|
|
126
|
-
:length="4" />
|
|
127
|
-
</div>
|
|
128
|
-
<div>
|
|
129
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
130
|
-
8 Chars (Text allowed - e.g. License Plate)
|
|
131
|
-
</p>
|
|
132
|
-
<OTPInput
|
|
133
|
-
v-model="code6"
|
|
134
|
-
:length="8"
|
|
135
|
-
type="text"
|
|
136
|
-
class="uppercase" />
|
|
137
|
-
<p class="text-xs text-gray-400 mt-1">Try typing letters</p>
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
</section>
|
|
141
|
-
|
|
142
|
-
<!-- States -->
|
|
143
|
-
<section class="space-y-4">
|
|
144
|
-
<h3 class="text-lg font-semibold">States</h3>
|
|
145
|
-
<div class="grid gap-6">
|
|
146
|
-
<div>
|
|
147
|
-
<p class="text-sm font-medium mb-2 text-gray-600">Error</p>
|
|
148
|
-
<OTPInput
|
|
149
|
-
v-model="code7"
|
|
150
|
-
error />
|
|
151
|
-
<p class="text-xs text-danger mt-1">Verification failed</p>
|
|
152
|
-
</div>
|
|
153
|
-
<div>
|
|
154
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
155
|
-
Disabled
|
|
156
|
-
</p>
|
|
157
|
-
<OTPInput
|
|
158
|
-
modelValue="123456"
|
|
159
|
-
disabled />
|
|
160
|
-
</div>
|
|
161
|
-
<div>
|
|
162
|
-
<p class="text-sm font-medium mb-2 text-gray-600">
|
|
163
|
-
Autofocus (chk console/reload)
|
|
164
|
-
</p>
|
|
165
|
-
<OTPInput autofocus />
|
|
166
|
-
</div>
|
|
167
|
-
</div>
|
|
168
|
-
</section>
|
|
169
|
-
</div>
|
|
170
|
-
</template>
|