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.
Files changed (465) hide show
  1. package/_virtual/_plugin-vue_export-helper.js +9 -0
  2. package/components/Accordion/Accordion.vue.d.ts +44 -0
  3. package/components/Accordion/Accordion.vue.js +95 -0
  4. package/components/Accordion/Accordion.vue2.js +4 -0
  5. package/components/Accordion/AccordionContent.vue.d.ts +22 -0
  6. package/components/Accordion/AccordionContent.vue.js +7 -0
  7. package/components/Accordion/AccordionContent.vue2.js +47 -0
  8. package/components/Accordion/AccordionItem.vue.d.ts +56 -0
  9. package/components/Accordion/AccordionItem.vue.js +115 -0
  10. package/components/Accordion/AccordionItem.vue2.js +4 -0
  11. package/components/Accordion/AccordionTrigger.vue.d.ts +43 -0
  12. package/components/Accordion/AccordionTrigger.vue.js +94 -0
  13. package/components/Accordion/AccordionTrigger.vue2.js +4 -0
  14. package/components/Accordion/index.d.ts +5 -0
  15. package/components/Accordion/types.d.ts +33 -0
  16. package/components/Alert.vue.d.ts +36 -0
  17. package/components/Alert.vue.js +84 -0
  18. package/components/Alert.vue2.js +4 -0
  19. package/components/Avatar.vue.d.ts +32 -0
  20. package/components/Avatar.vue.js +78 -0
  21. package/components/Avatar.vue2.js +4 -0
  22. package/components/AvatarUploader/AvatarUploader.vue.d.ts +32 -0
  23. package/components/AvatarUploader/AvatarUploader.vue.js +99 -0
  24. package/components/AvatarUploader/AvatarUploader.vue2.js +4 -0
  25. package/{src/components/AvatarUploader/index.ts → components/AvatarUploader/index.d.ts} +2 -2
  26. package/components/Badge.vue.d.ts +25 -0
  27. package/components/Badge.vue.js +27 -0
  28. package/components/Badge.vue2.js +4 -0
  29. package/components/Button.vue.d.ts +26 -0
  30. package/components/Button.vue.js +107 -0
  31. package/components/Button.vue2.js +4 -0
  32. package/components/ButtonGroup.vue.d.ts +29 -0
  33. package/components/ButtonGroup.vue.js +7 -0
  34. package/components/ButtonGroup.vue2.js +30 -0
  35. package/components/Carousel/Carousel.vue.d.ts +847 -0
  36. package/components/Carousel/Carousel.vue.js +7 -0
  37. package/components/Carousel/Carousel.vue2.js +68 -0
  38. package/components/Carousel/index.d.ts +2 -0
  39. package/components/Carousel/types.d.ts +24 -0
  40. package/components/CheckBox.vue.d.ts +27 -0
  41. package/components/CheckBox.vue.js +115 -0
  42. package/components/CheckBox.vue2.js +4 -0
  43. package/components/Chip/Chip.vue.d.ts +33 -0
  44. package/components/Chip/Chip.vue.js +113 -0
  45. package/components/Chip/Chip.vue2.js +4 -0
  46. package/components/Chip/index.d.ts +2 -0
  47. package/components/Chip/types.d.ts +12 -0
  48. package/components/ChoiceBox/ChoiceBox.vue.d.ts +32 -0
  49. package/components/ChoiceBox/ChoiceBox.vue.js +141 -0
  50. package/components/ChoiceBox/ChoiceBox.vue2.js +4 -0
  51. package/components/ChoiceBox/index.d.ts +2 -0
  52. package/components/ColorPicker/ColorIro.vue.d.ts +18 -0
  53. package/components/ColorPicker/ColorIro.vue.js +142 -0
  54. package/components/ColorPicker/ColorIro.vue3.js +5 -0
  55. package/components/ColorPicker/ColorPicker.vue.d.ts +22 -0
  56. package/components/ColorPicker/ColorPicker.vue.js +56 -0
  57. package/components/ColorPicker/ColorPicker.vue2.js +4 -0
  58. package/components/ConfirmationModal.vue.d.ts +39 -0
  59. package/components/ConfirmationModal.vue.js +55 -0
  60. package/components/ConfirmationModal.vue2.js +4 -0
  61. package/components/DataTable/DataTable.vue.d.ts +60 -0
  62. package/components/DataTable/DataTable.vue.js +7 -0
  63. package/components/DataTable/DataTable.vue2.js +310 -0
  64. package/components/DataTable/DataTableHeader.vue.d.ts +14 -0
  65. package/components/DataTable/DataTableHeader.vue.js +49 -0
  66. package/components/DataTable/DataTableHeader.vue2.js +4 -0
  67. package/components/DataTable/DataTableRow.vue.d.ts +51 -0
  68. package/components/DataTable/DataTableRow.vue.js +114 -0
  69. package/components/DataTable/DataTableRow.vue2.js +4 -0
  70. package/components/DataTable/DataTableToolbar.vue.d.ts +31 -0
  71. package/components/DataTable/DataTableToolbar.vue.js +45 -0
  72. package/components/DataTable/DataTableToolbar.vue2.js +4 -0
  73. package/components/DataTable/index.d.ts +4 -0
  74. package/components/DataTable/types.d.ts +75 -0
  75. package/components/DatePicker.vue.d.ts +44 -0
  76. package/components/DatePicker.vue.js +84 -0
  77. package/components/DatePicker.vue2.js +4 -0
  78. package/components/Dropdown/Dropdown.vue.d.ts +105 -0
  79. package/components/Dropdown/Dropdown.vue.js +206 -0
  80. package/components/Dropdown/Dropdown.vue2.js +4 -0
  81. package/components/Dropdown/DropdownBooleanItem.vue.d.ts +12 -0
  82. package/components/Dropdown/DropdownBooleanItem.vue.js +41 -0
  83. package/components/Dropdown/DropdownBooleanItem.vue2.js +4 -0
  84. package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +21 -0
  85. package/components/Dropdown/DropdownGroupedLayout.vue.js +73 -0
  86. package/components/Dropdown/DropdownGroupedLayout.vue2.js +4 -0
  87. package/components/Dropdown/DropdownItem.vue.d.ts +35 -0
  88. package/components/Dropdown/DropdownItem.vue.js +56 -0
  89. package/components/Dropdown/DropdownItem.vue2.js +4 -0
  90. package/components/Dropdown/DropdownMenu.vue.d.ts +73 -0
  91. package/components/Dropdown/DropdownMenu.vue.js +232 -0
  92. package/components/Dropdown/DropdownMenu.vue2.js +4 -0
  93. package/components/Dropdown/DropdownTrigger.vue.d.ts +15 -0
  94. package/components/Dropdown/DropdownTrigger.vue.js +26 -0
  95. package/components/Dropdown/DropdownTrigger.vue2.js +4 -0
  96. package/components/Dropdown/composables/useDropdownIds.d.ts +5 -0
  97. package/components/Dropdown/composables/useDropdownIds.js +20 -0
  98. package/components/Dropdown/composables/useDropdownNavigation.d.ts +19 -0
  99. package/components/Dropdown/composables/useDropdownNavigation.js +49 -0
  100. package/components/Dropdown/composables/useDropdownSelection.d.ts +16 -0
  101. package/components/Dropdown/composables/useDropdownSelection.js +41 -0
  102. package/components/Dropdown/index.d.ts +6 -0
  103. package/components/FilePicker/FilePicker.vue.d.ts +65 -0
  104. package/components/FilePicker/FilePicker.vue.js +285 -0
  105. package/components/FilePicker/FilePicker.vue2.js +4 -0
  106. package/components/FilePicker/index.d.ts +2 -0
  107. package/components/FileTree/FileTree.vue.d.ts +20 -0
  108. package/components/FileTree/FileTree.vue.js +139 -0
  109. package/components/FileTree/FileTree.vue2.js +4 -0
  110. package/components/FileTree/FileTreeNode.vue.d.ts +28 -0
  111. package/components/FileTree/FileTreeNode.vue.js +184 -0
  112. package/components/FileTree/FileTreeNode.vue2.js +4 -0
  113. package/components/FileTree/index.d.ts +4 -0
  114. package/components/FileTree/types.d.ts +36 -0
  115. package/components/FileTree/useTreeSelection.d.ts +12 -0
  116. package/components/FileTree/useTreeSelection.js +25 -0
  117. package/components/Form/CustomFields.vue.d.ts +38 -0
  118. package/components/Form/CustomFields.vue.js +7 -0
  119. package/components/Form/CustomFields.vue2.js +161 -0
  120. package/components/Form/Form.vue.d.ts +94 -0
  121. package/components/Form/Form.vue.js +7 -0
  122. package/components/Form/Form.vue2.js +238 -0
  123. package/components/Form/FormField.vue.d.ts +28 -0
  124. package/components/Form/FormField.vue.js +207 -0
  125. package/components/Form/FormField.vue2.js +4 -0
  126. package/components/Form/FormFields.vue.d.ts +29 -0
  127. package/components/Form/FormFields.vue.js +7 -0
  128. package/components/Form/FormFields.vue2.js +95 -0
  129. package/components/Form/composables/useFileUpload.d.ts +24 -0
  130. package/components/Form/composables/useFileUpload.js +40 -0
  131. package/components/Form/composables/useForm.d.ts +48 -0
  132. package/components/Form/composables/useForm.js +109 -0
  133. package/components/Form/index.d.ts +9 -0
  134. package/components/Form/types.d.ts +167 -0
  135. package/components/Form/utils/form.utils.d.ts +44 -0
  136. package/components/Form/utils/form.utils.js +97 -0
  137. package/components/Heatmap/Heatmap.vue.d.ts +26 -0
  138. package/components/Heatmap/Heatmap.vue.js +7 -0
  139. package/components/Heatmap/Heatmap.vue2.js +326 -0
  140. package/components/Heatmap/index.d.ts +2 -0
  141. package/components/Heatmap/types.d.ts +66 -0
  142. package/components/Icon.vue.d.ts +7 -0
  143. package/components/Icon.vue.js +25 -0
  144. package/components/Icon.vue2.js +4 -0
  145. package/components/IconPicker.vue.d.ts +38 -0
  146. package/components/IconPicker.vue.js +124 -0
  147. package/components/IconPicker.vue2.js +4 -0
  148. package/components/Input.vue.d.ts +54 -0
  149. package/components/Input.vue.js +267 -0
  150. package/components/Input.vue2.js +4 -0
  151. package/components/Label.vue.d.ts +23 -0
  152. package/components/Label.vue.js +23 -0
  153. package/components/Label.vue2.js +4 -0
  154. package/components/Logo.vue.d.ts +2 -0
  155. package/components/Logo.vue.js +10 -0
  156. package/components/Logo.vue2.js +4 -0
  157. package/components/Masonry/Masonry.vue.d.ts +31 -0
  158. package/components/Masonry/Masonry.vue.js +7 -0
  159. package/components/Masonry/Masonry.vue2.js +83 -0
  160. package/components/Masonry/index.d.ts +2 -0
  161. package/components/Masonry/types.d.ts +33 -0
  162. package/components/Masonry/types.js +10 -0
  163. package/components/Modal.vue.d.ts +52 -0
  164. package/components/Modal.vue.js +116 -0
  165. package/components/Modal.vue2.js +4 -0
  166. package/components/MultiSelect/MultiSelect.vue.d.ts +40 -0
  167. package/components/MultiSelect/MultiSelect.vue.js +126 -0
  168. package/components/MultiSelect/MultiSelect.vue2.js +4 -0
  169. package/components/MultiSelect/index.d.ts +1 -0
  170. package/components/Navbar/Navbar.vue.d.ts +51 -0
  171. package/components/Navbar/Navbar.vue.js +198 -0
  172. package/components/Navbar/Navbar.vue2.js +4 -0
  173. package/components/Navbar/NavbarGroup.vue.d.ts +24 -0
  174. package/components/Navbar/NavbarGroup.vue.js +23 -0
  175. package/components/Navbar/NavbarGroup.vue2.js +4 -0
  176. package/components/Navbar/NavbarItem.vue.d.ts +40 -0
  177. package/components/Navbar/NavbarItem.vue.js +104 -0
  178. package/components/Navbar/NavbarItem.vue2.js +4 -0
  179. package/components/Navbar/index.d.ts +3 -0
  180. package/components/OTPInput/OTPInput.vue.d.ts +33 -0
  181. package/components/OTPInput/OTPInput.vue.js +115 -0
  182. package/components/OTPInput/OTPInput.vue2.js +4 -0
  183. package/components/OTPInput/index.d.ts +1 -0
  184. package/components/Pagination/Pagination.vue.d.ts +34 -0
  185. package/components/Pagination/Pagination.vue.js +196 -0
  186. package/components/Pagination/Pagination.vue2.js +4 -0
  187. package/components/Pagination/index.d.ts +1 -0
  188. package/components/PricingPlan/PricingPlan.vue.d.ts +22 -0
  189. package/components/PricingPlan/PricingPlan.vue.js +55 -0
  190. package/components/PricingPlan/PricingPlan.vue2.js +4 -0
  191. package/components/PricingPlan/PricingPlanItem.vue.d.ts +17 -0
  192. package/components/PricingPlan/PricingPlanItem.vue.js +94 -0
  193. package/components/PricingPlan/PricingPlanItem.vue2.js +4 -0
  194. package/components/PricingPlan/index.d.ts +3 -0
  195. package/components/PricingPlan/types.d.ts +25 -0
  196. package/components/SidePanel.vue.d.ts +64 -0
  197. package/components/SidePanel.vue.js +7 -0
  198. package/components/SidePanel.vue2.js +131 -0
  199. package/components/SidebarMenu/SidebarMenu.vue.d.ts +11 -0
  200. package/components/SidebarMenu/SidebarMenu.vue.js +78 -0
  201. package/components/SidebarMenu/SidebarMenu.vue2.js +4 -0
  202. package/components/SidebarMenu/SidebarMenuItem.vue.d.ts +9 -0
  203. package/components/SidebarMenu/SidebarMenuItem.vue.js +269 -0
  204. package/components/SidebarMenu/SidebarMenuItem.vue3.js +5 -0
  205. package/components/SidebarMenu/index.d.ts +3 -0
  206. package/components/SidebarMenu/types.d.ts +35 -0
  207. package/components/Slider.vue.d.ts +31 -0
  208. package/components/Slider.vue.js +157 -0
  209. package/components/Slider.vue2.js +4 -0
  210. package/components/Switch.vue.d.ts +16 -0
  211. package/components/Switch.vue.js +40 -0
  212. package/components/Switch.vue2.js +4 -0
  213. package/components/Tabes/Tabes.vue.d.ts +21 -0
  214. package/components/Tabes/Tabes.vue.js +75 -0
  215. package/components/Tabes/Tabes.vue2.js +4 -0
  216. package/components/Tabes/index.d.ts +2 -0
  217. package/components/Tabes/types.d.ts +8 -0
  218. package/components/Textarea.vue.d.ts +22 -0
  219. package/components/Textarea.vue.js +34 -0
  220. package/components/Textarea.vue2.js +4 -0
  221. package/components/ThemeToggle.vue.d.ts +2 -0
  222. package/components/ThemeToggle.vue.js +18 -0
  223. package/components/ThemeToggle.vue2.js +4 -0
  224. package/components/Timeline.vue.d.ts +39 -0
  225. package/components/Timeline.vue.js +174 -0
  226. package/components/Timeline.vue2.js +4 -0
  227. package/components/ToastNotification.vue.d.ts +7 -0
  228. package/components/ToastNotification.vue.js +7 -0
  229. package/components/ToastNotification.vue2.js +151 -0
  230. package/components/Tooltip.vue.d.ts +31 -0
  231. package/components/Tooltip.vue.js +45 -0
  232. package/components/Tooltip.vue2.js +4 -0
  233. package/components/Workbook/Sheet.vue.d.ts +38 -0
  234. package/components/Workbook/Sheet.vue.js +141 -0
  235. package/components/Workbook/Sheet.vue2.js +4 -0
  236. package/components/Workbook/Workbook.vue.d.ts +54 -0
  237. package/components/Workbook/Workbook.vue.js +7 -0
  238. package/components/Workbook/Workbook.vue2.js +146 -0
  239. package/components/Workbook/WorkbookAddButton.vue.d.ts +6 -0
  240. package/components/Workbook/WorkbookAddButton.vue.js +20 -0
  241. package/components/Workbook/WorkbookAddButton.vue2.js +4 -0
  242. package/components/Workbook/index.d.ts +3 -0
  243. package/components/Workbook/types.d.ts +34 -0
  244. package/composables/useKeyStroke.d.ts +21 -0
  245. package/composables/useKeyStroke.js +93 -0
  246. package/composables/useNotifications.d.ts +113 -0
  247. package/composables/useNotifications.js +99 -0
  248. package/composables/useTheme.d.ts +6 -0
  249. package/composables/useTheme.js +32 -0
  250. package/core/config.d.ts +29 -0
  251. package/core/config.js +12 -0
  252. package/core/index.d.ts +31 -0
  253. package/core/index.js +15 -0
  254. package/directives/vRipple.d.ts +4 -0
  255. package/directives/vRipple.js +17 -0
  256. package/index.d.ts +49 -0
  257. package/index.js +156 -0
  258. package/package.json +2 -2
  259. package/style.css +590 -0
  260. package/types/alert.type.d.ts +10 -0
  261. package/{src/types/avatar.type.ts → types/avatar.type.d.ts} +8 -9
  262. package/types/button.d.ts +15 -0
  263. package/types/buttongroup.type.d.ts +1 -0
  264. package/{src/types/config.type.ts → types/config.type.d.ts} +13 -16
  265. package/types/form.type.d.ts +45 -0
  266. package/types/index.d.ts +10 -0
  267. package/types/navbar.type.d.ts +27 -0
  268. package/types/sidepanel.type.d.ts +13 -0
  269. package/types/styles.d.ts +28 -0
  270. package/types/timeline.type.d.ts +9 -0
  271. package/{src/utils/functions.ts → utils/functions.d.ts} +1 -9
  272. package/utils/functions.js +11 -0
  273. package/utils/index.d.ts +2 -0
  274. package/utils/object.d.ts +6 -0
  275. package/utils/object.js +14 -0
  276. package/.vscode/extensions.json +0 -3
  277. package/LICENSE +0 -21
  278. package/index.html +0 -16
  279. package/scripts/bundle-css.js +0 -45
  280. package/src/App.vue +0 -7
  281. package/src/components/Accordion/Accordion.vue +0 -139
  282. package/src/components/Accordion/AccordionContent.vue +0 -63
  283. package/src/components/Accordion/AccordionItem.vue +0 -163
  284. package/src/components/Accordion/AccordionTrigger.vue +0 -125
  285. package/src/components/Accordion/index.ts +0 -5
  286. package/src/components/Accordion/types.ts +0 -41
  287. package/src/components/Alert.vue +0 -112
  288. package/src/components/Avatar.vue +0 -110
  289. package/src/components/AvatarUploader/AvatarUploader.vue +0 -129
  290. package/src/components/Badge.vue +0 -45
  291. package/src/components/Button.vue +0 -122
  292. package/src/components/ButtonGroup.vue +0 -173
  293. package/src/components/Carousel/Carousel.vue +0 -84
  294. package/src/components/Carousel/index.ts +0 -2
  295. package/src/components/Carousel/types.ts +0 -25
  296. package/src/components/CheckBox.vue +0 -132
  297. package/src/components/Chip/Chip.vue +0 -158
  298. package/src/components/Chip/index.ts +0 -2
  299. package/src/components/Chip/types.ts +0 -23
  300. package/src/components/ChoiceBox/ChoiceBox.vue +0 -181
  301. package/src/components/ChoiceBox/index.ts +0 -2
  302. package/src/components/ColorPicker/ColorIro.vue +0 -207
  303. package/src/components/ColorPicker/ColorPicker.vue +0 -61
  304. package/src/components/ConfirmationModal.vue +0 -46
  305. package/src/components/DataTable/DataTable.vue +0 -478
  306. package/src/components/DataTable/DataTableHeader.vue +0 -78
  307. package/src/components/DataTable/DataTableRow.vue +0 -171
  308. package/src/components/DataTable/DataTableToolbar.vue +0 -45
  309. package/src/components/DataTable/index.ts +0 -5
  310. package/src/components/DataTable/types.ts +0 -85
  311. package/src/components/DatePicker.vue +0 -102
  312. package/src/components/Dropdown/Dropdown.vue +0 -348
  313. package/src/components/Dropdown/DropdownBooleanItem.vue +0 -40
  314. package/src/components/Dropdown/DropdownGroupedLayout.vue +0 -115
  315. package/src/components/Dropdown/DropdownItem.vue +0 -56
  316. package/src/components/Dropdown/DropdownMenu.vue +0 -374
  317. package/src/components/Dropdown/DropdownTrigger.vue +0 -27
  318. package/src/components/Dropdown/composables/useDropdownIds.ts +0 -27
  319. package/src/components/Dropdown/composables/useDropdownNavigation.ts +0 -109
  320. package/src/components/Dropdown/composables/useDropdownSelection.ts +0 -106
  321. package/src/components/Dropdown/index.ts +0 -6
  322. package/src/components/FilePicker/FilePicker.vue +0 -459
  323. package/src/components/FilePicker/index.ts +0 -2
  324. package/src/components/FileTree/FileTree.vue +0 -334
  325. package/src/components/FileTree/FileTreeNode.vue +0 -225
  326. package/src/components/FileTree/index.ts +0 -2
  327. package/src/components/FileTree/types.ts +0 -31
  328. package/src/components/FileTree/useTreeSelection.ts +0 -66
  329. package/src/components/Form/CustomFields.vue +0 -294
  330. package/src/components/Form/Form.vue +0 -406
  331. package/src/components/Form/FormField.vue +0 -404
  332. package/src/components/Form/FormFields.vue +0 -161
  333. package/src/components/Form/composables/useFileUpload.ts +0 -112
  334. package/src/components/Form/composables/useForm.ts +0 -356
  335. package/src/components/Form/index.ts +0 -16
  336. package/src/components/Form/types.ts +0 -203
  337. package/src/components/Form/utils/form.utils.ts +0 -209
  338. package/src/components/Heatmap/Heatmap.vue +0 -629
  339. package/src/components/Heatmap/index.ts +0 -2
  340. package/src/components/Heatmap/types.ts +0 -84
  341. package/src/components/Icon.vue +0 -47
  342. package/src/components/IconPicker.vue +0 -138
  343. package/src/components/Input.vue +0 -366
  344. package/src/components/Label.vue +0 -25
  345. package/src/components/Logo.vue +0 -5
  346. package/src/components/Masonry/Masonry.vue +0 -148
  347. package/src/components/Masonry/index.ts +0 -2
  348. package/src/components/Masonry/types.ts +0 -44
  349. package/src/components/Modal.vue +0 -135
  350. package/src/components/MultiSelect/MultiSelect.vue +0 -176
  351. package/src/components/MultiSelect/index.ts +0 -1
  352. package/src/components/Navbar/Navbar.vue +0 -277
  353. package/src/components/Navbar/NavbarGroup.vue +0 -27
  354. package/src/components/Navbar/NavbarItem.vue +0 -124
  355. package/src/components/Navbar/index.ts +0 -3
  356. package/src/components/OTPInput/OTPInput.vue +0 -220
  357. package/src/components/OTPInput/index.ts +0 -1
  358. package/src/components/Pagination/Pagination.vue +0 -238
  359. package/src/components/Pagination/index.ts +0 -1
  360. package/src/components/PricingPlan/PricingPlan.vue +0 -102
  361. package/src/components/PricingPlan/PricingPlanItem.vue +0 -148
  362. package/src/components/PricingPlan/index.ts +0 -3
  363. package/src/components/PricingPlan/types.ts +0 -29
  364. package/src/components/SidePanel.vue +0 -184
  365. package/src/components/SidebarMenu/SidebarMenu.vue +0 -146
  366. package/src/components/SidebarMenu/SidebarMenuItem.vue +0 -333
  367. package/src/components/SidebarMenu/index.ts +0 -3
  368. package/src/components/SidebarMenu/types.ts +0 -54
  369. package/src/components/Slider.vue +0 -181
  370. package/src/components/Switch.vue +0 -51
  371. package/src/components/Tabes/Tabes.vue +0 -112
  372. package/src/components/Tabes/index.ts +0 -2
  373. package/src/components/Tabes/types.ts +0 -17
  374. package/src/components/Textarea.vue +0 -48
  375. package/src/components/ThemeToggle.vue +0 -14
  376. package/src/components/Timeline.vue +0 -250
  377. package/src/components/ToastNotification.vue +0 -257
  378. package/src/components/Tooltip.vue +0 -25
  379. package/src/components/Workbook/Sheet.vue +0 -185
  380. package/src/components/Workbook/Workbook.vue +0 -231
  381. package/src/components/Workbook/WorkbookAddButton.vue +0 -17
  382. package/src/components/Workbook/index.ts +0 -3
  383. package/src/components/Workbook/types.ts +0 -43
  384. package/src/composables/useKeyStroke.ts +0 -291
  385. package/src/composables/useNotifications.ts +0 -206
  386. package/src/composables/useTheme.ts +0 -55
  387. package/src/core/config.ts +0 -37
  388. package/src/core/index.ts +0 -49
  389. package/src/css/base.css +0 -148
  390. package/src/css/input.css +0 -61
  391. package/src/css/main.css +0 -6
  392. package/src/css/theme.css +0 -344
  393. package/src/directives/vRipple.ts +0 -38
  394. package/src/index.ts +0 -53
  395. package/src/main.ts +0 -5
  396. package/src/playground/Playground.vue +0 -429
  397. package/src/playground/composables/useGetUsers.ts +0 -538
  398. package/src/playground/demos/AccordionDemo.vue +0 -361
  399. package/src/playground/demos/AlertDemo.vue +0 -36
  400. package/src/playground/demos/AvatarDemo.vue +0 -41
  401. package/src/playground/demos/AvatarUploaderDemo.vue +0 -133
  402. package/src/playground/demos/BadgeDemo.vue +0 -31
  403. package/src/playground/demos/BadgesDemo.vue +0 -26
  404. package/src/playground/demos/ButtonDemo.vue +0 -99
  405. package/src/playground/demos/ButtonGroupDemo.vue +0 -39
  406. package/src/playground/demos/ButtonsDemo.vue +0 -111
  407. package/src/playground/demos/CarouselDemo.vue +0 -135
  408. package/src/playground/demos/CheckBoxDemo.vue +0 -43
  409. package/src/playground/demos/ChipDemo.vue +0 -190
  410. package/src/playground/demos/ChoiceBoxDemo.vue +0 -160
  411. package/src/playground/demos/ColorPickerDemo.vue +0 -30
  412. package/src/playground/demos/ColorsDemo.vue +0 -295
  413. package/src/playground/demos/DataTableDemo.vue +0 -215
  414. package/src/playground/demos/DatePickerDemo.vue +0 -43
  415. package/src/playground/demos/DisplayDemo.vue +0 -101
  416. package/src/playground/demos/DropdownDemo.vue +0 -651
  417. package/src/playground/demos/FilePickerDemo.vue +0 -175
  418. package/src/playground/demos/FileTreeDemo.vue +0 -150
  419. package/src/playground/demos/FormDemo.vue +0 -1144
  420. package/src/playground/demos/HeatmapDemo.vue +0 -467
  421. package/src/playground/demos/IconPickerDemo.vue +0 -27
  422. package/src/playground/demos/InputDemo.vue +0 -80
  423. package/src/playground/demos/InputsDemo.vue +0 -127
  424. package/src/playground/demos/LabelDemo.vue +0 -32
  425. package/src/playground/demos/MasonryDemo.vue +0 -241
  426. package/src/playground/demos/ModalDemo.vue +0 -67
  427. package/src/playground/demos/MultiSelectDemo.vue +0 -300
  428. package/src/playground/demos/NavbarDemo.vue +0 -59
  429. package/src/playground/demos/NavigationDemo.vue +0 -116
  430. package/src/playground/demos/OTPInputDemo.vue +0 -170
  431. package/src/playground/demos/OverlaysDemo.vue +0 -104
  432. package/src/playground/demos/PaginationDemo.vue +0 -130
  433. package/src/playground/demos/PricingPlanDemo.vue +0 -110
  434. package/src/playground/demos/SidePanelDemo.vue +0 -45
  435. package/src/playground/demos/SidebarMenuDemo.vue +0 -170
  436. package/src/playground/demos/SliderDemo.vue +0 -48
  437. package/src/playground/demos/SwitchDemo.vue +0 -40
  438. package/src/playground/demos/TabesDemo.vue +0 -178
  439. package/src/playground/demos/TextareaDemo.vue +0 -31
  440. package/src/playground/demos/ThemeToggleDemo.vue +0 -20
  441. package/src/playground/demos/TimelineDemo.vue +0 -43
  442. package/src/playground/demos/ToastDemo.vue +0 -111
  443. package/src/playground/demos/TooltipDemo.vue +0 -30
  444. package/src/playground/demos/WorkbookDemo.vue +0 -227
  445. package/src/types/alert.type.ts +0 -11
  446. package/src/types/button.ts +0 -36
  447. package/src/types/buttongroup.type.ts +0 -1
  448. package/src/types/form.type.ts +0 -75
  449. package/src/types/index.ts +0 -11
  450. package/src/types/navbar.type.ts +0 -28
  451. package/src/types/sidepanel.type.ts +0 -14
  452. package/src/types/styles.ts +0 -42
  453. package/src/types/timeline.type.ts +0 -11
  454. package/src/utils/index.ts +0 -2
  455. package/src/utils/object.ts +0 -40
  456. package/tsconfig.app.json +0 -27
  457. package/tsconfig.json +0 -48
  458. package/tsconfig.node.json +0 -18
  459. package/tsconfig.node.tsbuildinfo +0 -1
  460. package/tsconfig.tsbuildinfo +0 -1
  461. package/vercel.json +0 -8
  462. package/vite.config.d.ts +0 -2
  463. package/vite.config.js +0 -63
  464. package/vite.config.ts +0 -64
  465. package/vite.config.vercel.ts +0 -17
@@ -1,651 +0,0 @@
1
- <script setup lang="ts">
2
- import { Dropdown } from '@/components/Dropdown'
3
- import Button from '@/components/Button.vue'
4
- import { ref, computed } from 'vue'
5
-
6
- const val1 = ref('1')
7
-
8
- const nestedVal = ref({})
9
-
10
- const nestedOptions = [
11
- { label: 'Diff', value: 'diff', key: 'diff' },
12
- { label: 'Repo', value: 'repo', key: 'repo' },
13
- { label: '---', value: 'divider' }, // Make sure dividers have unique value/key if needed, or just handle in rendering
14
- {
15
- label: 'Stash',
16
- key: 'stash',
17
- children: [
18
- { label: 'Apply Stash', value: 'apply' },
19
- { label: 'Drop Stash', value: 'drop' },
20
- {
21
- label: 'Advanced',
22
- key: 'advanced',
23
- children: [
24
- { label: 'Force Push', value: 'force-push' },
25
- {
26
- label: 'Delete Branch',
27
- value: 'delete-branch',
28
- class: 'text-danger',
29
- },
30
- ],
31
- },
32
- ],
33
- },
34
- ]
35
-
36
- const config = ref<Record<string, any>>({
37
- size: '2',
38
- style: 'border',
39
- })
40
-
41
- const recursiveOptions = [
42
- {
43
- label: 'Display',
44
- key: 'display',
45
- value: 'grid',
46
- },
47
- {
48
- label: 'Size',
49
- key: 'size',
50
- children: [
51
- { label: 'Small (1)', value: '1' },
52
- { label: 'Medium (2)', value: '2' },
53
- { label: 'Large (3)', value: '3' },
54
- ],
55
- },
56
- {
57
- label: 'Style',
58
- key: 'style',
59
- children: [
60
- { label: 'Border', value: 'border' },
61
- { label: 'Fill', value: 'fill' },
62
- { label: 'Ghost', value: 'ghost' },
63
- ],
64
- },
65
- { label: '---', value: 'divider' },
66
- {
67
- label: 'Stash',
68
- key: 'stash',
69
- children: [
70
- { label: 'Apply', value: 'apply' },
71
- {
72
- label: 'Advanced',
73
- key: 'advanced',
74
- children: [
75
- {
76
- label: 'Delete Branch',
77
- value: 'delete-branch',
78
- class: 'text-danger',
79
- },
80
- { label: 'Force Push', value: 'force-push' },
81
- ],
82
- },
83
- ],
84
- },
85
- ]
86
-
87
- const reset = () => {
88
- config.value = {}
89
- }
90
-
91
- const injectState = () => {
92
- // Simulate external update
93
- config.value = {
94
- size: '3',
95
- stash: { advanced: 'force-push' },
96
- }
97
- }
98
-
99
- const megaMenuOptions = [
100
- {
101
- label: 'Electronics',
102
- icon: 'lucide:cpu',
103
- children: [
104
- { label: 'Computers', value: 'computers' },
105
- { label: 'Phones', value: 'phones' },
106
- { label: 'Tablets', value: 'tablets' },
107
- {
108
- label: 'Accessories',
109
- value: 'acc',
110
- children: [
111
- { label: 'Chargers', value: 'chargers' },
112
- { label: 'Cases', value: 'cases' },
113
- ],
114
- },
115
- ],
116
- },
117
- {
118
- label: 'Clothing',
119
- icon: 'lucide:shirt',
120
- children: [
121
- { label: 'Men', value: 'men' },
122
- { label: 'Women', value: 'women' },
123
- { label: 'Kids', value: 'kids' },
124
- { label: 'Shoes', value: 'shoes' },
125
- ],
126
- },
127
- {
128
- label: 'Home & Garden',
129
- icon: 'lucide:home',
130
- children: [
131
- { label: 'Furniture', value: 'furniture' },
132
- { label: 'Kitchen', value: 'kitchen' },
133
- { label: 'Lighting', value: 'lighting' },
134
- { label: 'Decor', value: 'decor' },
135
- ],
136
- },
137
- ]
138
-
139
- // --- Pagination State ---
140
- const paginatedVal = ref('')
141
- const paginatedOptions = ref(
142
- Array.from({ length: 20 }, (_, i) => ({
143
- label: `Item ${i + 1}`,
144
- value: `${i + 1}`,
145
- })),
146
- )
147
- const paginatedLoading = ref(false)
148
- const paginatedHasMore = ref(true)
149
-
150
- const loadMoreItems = async () => {
151
- if (paginatedLoading.value) return
152
- paginatedLoading.value = true
153
-
154
- // Simulate API delay
155
- await new Promise((r) => setTimeout(r, 1000))
156
-
157
- const currentLength = paginatedOptions.value.length
158
- const newItems = Array.from({ length: 10 }, (_, i) => ({
159
- label: `Item ${currentLength + i + 1}`,
160
- value: `${currentLength + i + 1}`,
161
- }))
162
-
163
- paginatedOptions.value = [...paginatedOptions.value, ...newItems]
164
-
165
- if (paginatedOptions.value.length >= 60) {
166
- paginatedHasMore.value = false
167
- }
168
- paginatedLoading.value = false
169
- }
170
-
171
- // --- Remote Search State ---
172
- const remoteVal = ref('')
173
- const remoteOptions = ref<any[]>([])
174
- const remoteLoading = ref(false)
175
- const remoteLabel = computed(
176
- () =>
177
- remoteOptions.value.find((o) => o.value === remoteVal.value)?.label ||
178
- remoteVal.value,
179
- )
180
-
181
- // Mock Database
182
- const allRemoteUsers = [
183
- { label: 'Alice', value: 'alice' },
184
- { label: 'Bob', value: 'bob' },
185
- { label: 'Charlie', value: 'charlie' },
186
- { label: 'Dave', value: 'dave' },
187
- { label: 'Eve', value: 'eve' },
188
- { label: 'Frank', value: 'frank' },
189
- { label: 'George', value: 'george' },
190
- { label: 'Helen', value: 'helen' },
191
- ]
192
-
193
- const handleRemoteSearch = async (query: string) => {
194
- remoteLoading.value = true
195
- // Simulate Network
196
- await new Promise((r) => setTimeout(r, 600))
197
-
198
- if (!query) {
199
- remoteOptions.value = [] // Or set to default list
200
- } else {
201
- remoteOptions.value = allRemoteUsers.filter((u) =>
202
- u.label.toLowerCase().includes(query.toLowerCase()),
203
- )
204
- }
205
- remoteLoading.value = false
206
- }
207
- </script>
208
-
209
- <template>
210
- <div class="space-y-10">
211
- <div class="space-y-2">
212
- <h2 class="text-2xl font-bold">Dropdown</h2>
213
- <p class="text-gray-500">
214
- Displays a list of options for the user to pick from.
215
- </p>
216
- </div>
217
-
218
- <section class="space-y-4">
219
- <h3 class="text-lg font-semibold">Basic Usage</h3>
220
- <div class="flex items-center gap-4">
221
- <Dropdown
222
- closeOnSelect
223
- :options="[
224
- {
225
- value: '1',
226
- label: 'Dashboard',
227
- icon: 'https://cdn.prod.website-files.com/666ad77562dfabab1eb27f63/6747850440da96e6bc2d78b3_friso_ai3.webp',
228
- confirmation: true,
229
- },
230
- {
231
- value: '2',
232
- label: 'Settings',
233
- icon: 'lucide:settings',
234
- },
235
- {
236
- value: '3',
237
- label: 'Logout',
238
- icon: 'lucide:log-out',
239
- disabled: true,
240
- },
241
- ]"
242
- :selected="val1"
243
- @on-select="(opt) => (val1 = opt.value)">
244
- <template #trigger>
245
- <Button
246
- variant="outline"
247
- icon-right="lucide:chevron-down"
248
- >Menu</Button
249
- >
250
- </template>
251
- </Dropdown>
252
- <span class="text-sm text-gray-500">Selected: {{ val1 }}</span>
253
- </div>
254
- </section>
255
-
256
- <section class="space-y-4">
257
- <h3 class="text-lg font-semibold">Scrollable (Many Options)</h3>
258
- <Dropdown
259
- :options="
260
- Array.from({ length: 20 }, (_, i) => ({
261
- value: `${i}`,
262
- label: `Option ${i + 1}`,
263
- }))
264
- "
265
- :selected="val1">
266
- <template #trigger>
267
- <Button
268
- variant="outline"
269
- icon-right="lucide:chevron-down"
270
- >Long List</Button
271
- >
272
- </template>
273
- </Dropdown>
274
- </section>
275
-
276
- <!-- Variants Section -->
277
- <section class="space-y-4">
278
- <h3 class="text-lg font-semibold">Variants & Sizes</h3>
279
- <div class="flex flex-wrap items-center gap-4">
280
- <!-- Default/Outline -->
281
- <Dropdown
282
- :options="[{ value: 1, label: 'Option 1' }]"
283
- :selected="val1">
284
- <template #trigger>
285
- <Button
286
- variant="outline"
287
- size="sm"
288
- icon-right="lucide:chevron-down"
289
- >Outline (sm)</Button
290
- >
291
- </template>
292
- </Dropdown>
293
-
294
- <!-- Solid/Primary -->
295
- <Dropdown
296
- :options="[{ value: 1, label: 'Option 1' }]"
297
- :selected="val1">
298
- <template #trigger>
299
- <Button
300
- variant="primary"
301
- icon-right="lucide:chevron-down"
302
- >Primary</Button
303
- >
304
- </template>
305
- </Dropdown>
306
-
307
- <!-- Ghost -->
308
- <Dropdown
309
- :options="[{ value: 1, label: 'Option 1' }]"
310
- :selected="val1">
311
- <template #trigger>
312
- <Button
313
- variant="ghost"
314
- icon-right="lucide:chevron-down"
315
- >Ghost</Button
316
- >
317
- </template>
318
- </Dropdown>
319
- </div>
320
- </section>
321
-
322
- <!-- Custom Item Slot Section -->
323
- <section class="space-y-4">
324
- <h3 class="text-lg font-semibold">Custom Item Slot</h3>
325
- <p class="text-sm text-gray-500">
326
- Customize the look of each option using the
327
- <code>#item</code> slot.
328
- </p>
329
-
330
- <Dropdown
331
- :options="[
332
- {
333
- value: 'u1',
334
- label: 'Alex Doe',
335
- data: {
336
- email: 'alex@example.com',
337
- avatar: 'https://i.pravatar.cc/150?u=a',
338
- },
339
- },
340
- {
341
- value: 'u2',
342
- label: 'Jane Smith',
343
- data: {
344
- email: 'jane@example.com',
345
- avatar: 'https://i.pravatar.cc/150?u=b',
346
- },
347
- },
348
- {
349
- value: 'u3',
350
- label: 'John Pix',
351
- data: {
352
- email: 'john@example.com',
353
- avatar: 'https://i.pravatar.cc/150?u=c',
354
- },
355
- },
356
- ]"
357
- :selected="val1"
358
- class="min-w-[240px]">
359
- <template #trigger>
360
- <Button
361
- variant="outline"
362
- icon-right="lucide:user"
363
- >Select User</Button
364
- >
365
- </template>
366
-
367
- <template #item="{ option, selected }">
368
- <div class="flex items-center gap-3 w-full">
369
- <img
370
- :src="option.data?.avatar"
371
- class="w-8 h-8 rounded-full bg-gray-100" />
372
- <div class="flex flex-col text-left">
373
- <span class="font-medium text-gray-900">{{
374
- option.label
375
- }}</span>
376
- <span class="text-xs text-gray-500">{{
377
- option.data?.email
378
- }}</span>
379
- </div>
380
- <div
381
- v-if="selected === option.value"
382
- class="ml-auto text-primary">
383
- <!-- Iconify usage in template context if auto-imported or globally available -->
384
- <svg
385
- xmlns="http://www.w3.org/2000/svg"
386
- width="16"
387
- height="16"
388
- viewBox="0 0 24 24"
389
- fill="none"
390
- stroke="currentColor"
391
- stroke-width="2"
392
- stroke-linecap="round"
393
- stroke-linejoin="round"
394
- class="lucide lucide-check">
395
- <path d="M20 6 9 17l-5-5" />
396
- </svg>
397
- </div>
398
- </div>
399
- </template>
400
- </Dropdown>
401
- </section>
402
-
403
- <!-- Rich Options Section -->
404
- <section class="space-y-4">
405
- <h3 class="text-lg font-semibold">Rich Options (Subtitle & Description)</h3>
406
- <p class="text-sm text-gray-500">
407
- Options can have proper subtitles (shortcuts) and descriptions.
408
- </p>
409
-
410
- <Dropdown
411
- :options="[
412
- { label: 'Profile', value: 'profile', subtitle: '⌘P', icon: 'lucide:user' },
413
- { label: 'Settings', value: 'settings', subtitle: '⌘,', icon: 'lucide:settings' },
414
- { label: 'Print (Native)', value: 'print', description: 'Recommended for high fidelity', icon: 'lucide:printer' },
415
- { label: 'Export PDF', value: 'export', description: 'Best for digital sharing', subtitle: '⌘E', icon: 'lucide:file-down' },
416
- ]"
417
- :selected="val1"
418
- width="w-[280px]">
419
- <template #trigger>
420
- <Button
421
- variant="outline"
422
- icon-right="lucide:layout-list"
423
- class="w-[280px] justify-between">
424
- Rich Options
425
- </Button>
426
- </template>
427
- </Dropdown>
428
- </section>
429
-
430
- <!-- Multi Nested Dropdowns Section -->
431
- <section class="space-y-4">
432
- <h3 class="text-lg font-semibold">
433
- Multi-Nested Dropdowns (Schema Driven)
434
- </h3>
435
- <p class="text-sm text-gray-500">
436
- Demonstrating recursive nested menus using the
437
- <code>children</code> property in the options schema.
438
- </p>
439
-
440
- <div class="flex items-center gap-4">
441
- <Dropdown
442
- :options="nestedOptions"
443
- :selected="nestedVal"
444
- @on-select="(payload) => (nestedVal = payload.value)">
445
- <template #trigger>
446
- <Button
447
- variant="outline"
448
- icon-right="lucide:chevron-down"
449
- >Options Menu</Button
450
- >
451
- </template>
452
- </Dropdown>
453
- <span class="text-sm text-gray-500"
454
- >Selected Value: {{ nestedVal }}</span
455
- >
456
- </div>
457
- </section>
458
- <section class="space-y-4">
459
- <h3 class="text-lg font-semibold">Recursive Form (v-model)</h3>
460
- <p class="text-sm text-gray-500">
461
- Demonstrating recursive state management with
462
- <code>v-model</code>. Supports deep merging, toggling, and
463
- static trigger labels.
464
- </p>
465
-
466
- <div
467
- class="grid grid-cols-1 md:grid-cols-2 gap-8 border p-4 rounded-lg bg-gray-50/50">
468
- <!-- Controls -->
469
- <div class="space-y-4">
470
- <h4 class="font-medium text-sm">Configuration Menu</h4>
471
- <Dropdown
472
- v-model:modelValue="config"
473
- :options="recursiveOptions"
474
- width="w-56"
475
- :close-on-select="false"
476
- :show-selected-label="false">
477
- <template #trigger="{ selectedLabel }">
478
- <Button
479
- :text="selectedLabel || 'Configure View'"
480
- variant="outline"
481
- class="w-56 justify-between font-normal"
482
- icon-right="lucide:chevron-down" />
483
- </template>
484
- </Dropdown>
485
-
486
- <div class="flex gap-2">
487
- <Button
488
- variant="outline"
489
- size="sm"
490
- @click="reset"
491
- >Reset State</Button
492
- >
493
- <Button
494
- variant="outline"
495
- size="sm"
496
- @click="injectState"
497
- >Inject State</Button
498
- >
499
- </div>
500
- </div>
501
-
502
- <!-- Live State -->
503
- <div
504
- class="space-y-2 p-4 bg-gray-900 rounded-lg text-gray-100 font-mono text-sm overflow-auto">
505
- <div class="text-xs text-gray-500 uppercase font-semibold">
506
- Live State (modelValue)
507
- </div>
508
- <pre>{{ JSON.stringify(config, null, 2) }}</pre>
509
- </div>
510
- </div>
511
- </section>
512
-
513
- <!-- Mega Menu Section -->
514
- <section class="space-y-4">
515
- <h3 class="text-lg font-semibold">Mega Menu (Grouped Layout)</h3>
516
- <p class="text-sm text-gray-500">
517
- Displays a flattened, grouped view suitable for navigational
518
- menus. using <code>layout="grouped"</code>.
519
- </p>
520
-
521
- <Dropdown
522
- :options="megaMenuOptions"
523
- layout="grouped"
524
- closeOnSelect
525
- :columns="3"
526
- :searchable="false"
527
- width="w-[600px]"
528
- :selected="val1"
529
- @on-select="(opt) => (val1 = opt.value)">
530
- <template #trigger>
531
- <Button
532
- variant="outline"
533
- icon-right="lucide:chevron-down"
534
- class="w-48 justify-between">
535
- Shop Categories
536
- </Button>
537
- </template>
538
- </Dropdown>
539
- </section>
540
-
541
- <!-- Pagination / Infinite Scroll Section -->
542
- <section class="space-y-4">
543
- <h3 class="text-lg font-semibold">Pagination (Infinite Scroll)</h3>
544
- <p class="text-sm text-gray-500">
545
- Loads more items as you scroll to the bottom.
546
- </p>
547
-
548
- <Dropdown
549
- :options="paginatedOptions"
550
- :loading="paginatedLoading"
551
- :hasMore="paginatedHasMore"
552
- :selected="paginatedVal"
553
- width="w-64"
554
- @on-select="(opt) => (paginatedVal = opt.value)"
555
- @load-more="loadMoreItems">
556
- <template #trigger>
557
- <Button
558
- variant="outline"
559
- icon-right="lucide:chevron-down"
560
- class="w-64 justify-between">
561
- Pick a Number ({{ paginatedOptions.length }} loaded)
562
- </Button>
563
- </template>
564
- </Dropdown>
565
- </section>
566
-
567
- <!-- Remote Search Section -->
568
- <section class="space-y-4">
569
- <h3 class="text-lg font-semibold">Remote Search (Async)</h3>
570
- <p class="text-sm text-gray-500">
571
- Fetches results from a Simulated API as you type. Disables local
572
- filtering.
573
- </p>
574
-
575
- <Dropdown
576
- :options="remoteOptions"
577
- :loading="remoteLoading"
578
- remote
579
- searchable
580
- :selected="remoteVal"
581
- width="w-64"
582
- @on-select="(opt) => (remoteVal = opt.value)"
583
- @search="handleRemoteSearch">
584
- <template #trigger>
585
- <Button
586
- variant="outline"
587
- icon-right="lucide:search"
588
- class="w-64 justify-between">
589
- {{ remoteLabel || 'Search Users...' }}
590
- </Button>
591
- </template>
592
- </Dropdown>
593
- </section>
594
- <!-- Sticky Header & Footer Section -->
595
- <section class="space-y-4">
596
- <h3 class="text-lg font-semibold">Sticky Header & Footer Slots</h3>
597
- <p class="text-sm text-gray-500">
598
- Use <code>#header</code> and <code>#footer</code> slots to add
599
- fixed content that stays visible while scrolling.
600
- </p>
601
-
602
- <Dropdown
603
- :options="
604
- Array.from({ length: 20 }, (_, i) => ({
605
- value: `${i}`,
606
- label: `Item ${i + 1}`,
607
- }))
608
- "
609
- :selected="val1"
610
- width="w-[300px]"
611
- class="min-h-[200px]">
612
- <template #trigger>
613
- <Button
614
- variant="outline"
615
- class="w-[300px] justify-between"
616
- icon-right="lucide:chevron-down"
617
- >Sticky Slots Example</Button
618
- >
619
- </template>
620
-
621
- <template #header>
622
- <div
623
- class="p-2 border-b bg-gray-50 text-xs font-semibold uppercase tracking-wider text-gray-500 flex justify-between items-center">
624
- <span>Filter Options</span>
625
- <Button
626
- size="xs"
627
- variant="ghost"
628
- >Clear</Button
629
- >
630
- </div>
631
- </template>
632
-
633
- <template #footer>
634
- <div class="p-2 border-t bg-gray-50 flex gap-2">
635
- <Button
636
- size="sm"
637
- class="flex-1"
638
- >Apply</Button
639
- >
640
- <Button
641
- size="sm"
642
- variant="outline"
643
- class="flex-1"
644
- >Cancel</Button
645
- >
646
- </div>
647
- </template>
648
- </Dropdown>
649
- </section>
650
- </div>
651
- </template>