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
@@ -0,0 +1,4 @@
1
+ import f from "./DropdownGroupedLayout.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,35 @@
1
+ import { IDropdownOption } from '../../types';
2
+ interface Props {
3
+ option: IDropdownOption;
4
+ selected?: boolean;
5
+ focused?: boolean;
6
+ selectable?: boolean;
7
+ index?: number;
8
+ }
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: {
12
+ default?(_: {
13
+ option: IDropdownOption;
14
+ index: number;
15
+ selected: boolean;
16
+ }): any;
17
+ };
18
+ refs: {};
19
+ rootEl: HTMLDivElement;
20
+ };
21
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
23
+ click: (option: IDropdownOption) => any;
24
+ mouseenter: (index: number) => any;
25
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
26
+ onClick?: (option: IDropdownOption) => any;
27
+ onMouseenter?: (index: number) => any;
28
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
29
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
30
+ export default _default;
31
+ type __VLS_WithTemplateSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1,56 @@
1
+ import { defineComponent as f, openBlock as t, createElementBlock as i, normalizeClass as x, renderSlot as b, normalizeProps as y, guardReactiveProps as k, createBlock as s, createCommentVNode as n, createElementVNode as c, toDisplayString as a } from "vue";
2
+ import d from "../Icon.vue.js";
3
+ const h = ["data-disabled"], v = { class: "flex flex-col flex-1 min-w-0" }, g = { class: "flex items-center justify-between gap-2" }, p = { class: "truncate font-medium" }, w = {
4
+ key: 0,
5
+ class: "text-xs text-muted-foreground whitespace-nowrap opacity-90"
6
+ }, B = {
7
+ key: 0,
8
+ class: "text-[10px] text-muted-foreground truncate opacity-70"
9
+ }, z = /* @__PURE__ */ f({
10
+ __name: "DropdownItem",
11
+ props: {
12
+ option: {},
13
+ selected: { type: Boolean },
14
+ focused: { type: Boolean },
15
+ selectable: { type: Boolean },
16
+ index: {}
17
+ },
18
+ emits: ["click", "mouseenter"],
19
+ setup(e, { emit: r }) {
20
+ const u = r;
21
+ return (l, o) => (t(), i("div", {
22
+ "data-dropdown-item": "",
23
+ class: x(["relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-disabled:pointer-events-none data-disabled:opacity-50", [
24
+ e.selectable && e.selected && !e.option.children ? "bg-accent" : "",
25
+ e.focused ? "bg-accent text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground",
26
+ e.option.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
27
+ ]]),
28
+ "data-disabled": e.option.disabled ? !0 : void 0,
29
+ onClick: o[0] || (o[0] = (m) => u("click", e.option)),
30
+ onMouseenter: o[1] || (o[1] = (m) => l.$emit("mouseenter", e.index ?? -1))
31
+ }, [
32
+ b(l.$slots, "default", y(k({ option: e.option, index: e.index, selected: e.selected })), () => [
33
+ e.option.icon ? (t(), s(d, {
34
+ key: 0,
35
+ icon: e.option.icon,
36
+ class: "mr-2 h-4 w-4 shrink-0 mt-0.5"
37
+ }, null, 8, ["icon"])) : n("", !0),
38
+ c("div", v, [
39
+ c("div", g, [
40
+ c("span", p, a(e.option.label), 1),
41
+ e.option.subtitle ? (t(), i("span", w, a(e.option.subtitle), 1)) : n("", !0)
42
+ ]),
43
+ e.option.description ? (t(), i("span", B, a(e.option.description), 1)) : n("", !0)
44
+ ]),
45
+ e.selectable && e.selected ? (t(), s(d, {
46
+ key: 1,
47
+ icon: "lucide:check",
48
+ class: "ml-2 h-4 w-4 shrink-0 text-primary"
49
+ })) : n("", !0)
50
+ ])
51
+ ], 42, h));
52
+ }
53
+ });
54
+ export {
55
+ z as default
56
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./DropdownItem.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,73 @@
1
+ import { IDropdownOptions, IDropdownOption } from '../../types';
2
+ interface Props {
3
+ options?: IDropdownOptions;
4
+ cachedOptions?: IDropdownOptions;
5
+ selected?: any;
6
+ selectedIndex?: number | null;
7
+ class?: string;
8
+ maxHeight?: string;
9
+ nestedPosition?: any;
10
+ nestedOffset?: [number, number];
11
+ selectable?: boolean;
12
+ layout?: 'default' | 'grouped';
13
+ columns?: number | string;
14
+ loading?: boolean;
15
+ hasMore?: boolean;
16
+ searchable?: boolean;
17
+ remote?: boolean;
18
+ direction?: 'ltr' | 'rtl';
19
+ }
20
+ declare function __VLS_template(): {
21
+ attrs: Partial<{}>;
22
+ slots: {
23
+ header?(_: {}): any;
24
+ item?(_: {
25
+ option: IDropdownOption;
26
+ index: number;
27
+ selected: boolean;
28
+ }): any;
29
+ menu?(_: {}): any;
30
+ footer?(_: {}): any;
31
+ };
32
+ refs: {
33
+ containerRef: HTMLDivElement;
34
+ };
35
+ rootEl: HTMLDivElement;
36
+ };
37
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
38
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
39
+ search: (query: string) => any;
40
+ select: (option: IDropdownOption) => any;
41
+ close: () => any;
42
+ "load-more": () => any;
43
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
44
+ onSearch?: (query: string) => any;
45
+ onSelect?: (option: IDropdownOption) => any;
46
+ onClose?: () => any;
47
+ "onLoad-more"?: () => any;
48
+ }>, {
49
+ class: string;
50
+ loading: boolean;
51
+ direction: "ltr" | "rtl";
52
+ options: IDropdownOptions;
53
+ selectable: boolean;
54
+ columns: number | string;
55
+ selectedIndex: number | null;
56
+ maxHeight: string;
57
+ layout: "default" | "grouped";
58
+ hasMore: boolean;
59
+ searchable: boolean;
60
+ remote: boolean;
61
+ nestedPosition: any;
62
+ nestedOffset: [number, number];
63
+ cachedOptions: IDropdownOptions;
64
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
65
+ containerRef: HTMLDivElement;
66
+ }, HTMLDivElement>;
67
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
68
+ export default _default;
69
+ type __VLS_WithTemplateSlots<T, S> = T & {
70
+ new (): {
71
+ $slots: S;
72
+ };
73
+ };
@@ -0,0 +1,232 @@
1
+ import { defineComponent as G, defineAsyncComponent as J, ref as B, computed as I, watch as C, toRef as Q, onMounted as W, onBeforeUnmount as X, openBlock as o, createElementBlock as c, createVNode as p, createCommentVNode as u, renderSlot as v, createElementVNode as g, unref as n, normalizeStyle as Y, normalizeClass as T, createBlock as m, Fragment as _, renderList as Z, withCtx as N, toDisplayString as ee, mergeProps as te, nextTick as le } from "vue";
2
+ import M from "../Icon.vue.js";
3
+ import se from "../Input.vue.js";
4
+ import oe from "./DropdownItem.vue.js";
5
+ import ne from "./DropdownBooleanItem.vue.js";
6
+ import re from "./DropdownGroupedLayout.vue.js";
7
+ import { useDropdownNavigation as de } from "./composables/useDropdownNavigation.js";
8
+ import { useDropdownIds as ce } from "./composables/useDropdownIds.js";
9
+ const ae = ["dir"], ie = {
10
+ key: 0,
11
+ class: "bg-body border-b mb-1 z-10 rounded-t-md shrink-0"
12
+ }, ue = {
13
+ key: 1,
14
+ class: "shrink-0"
15
+ }, fe = {
16
+ key: 0,
17
+ class: "px-2 py-6 text-center text-sm text-muted-foreground"
18
+ }, me = {
19
+ key: 0,
20
+ class: "h-px bg-border my-1 mx-1"
21
+ }, he = ["onMouseenter"], ye = { class: "flex items-center gap-2 flex-1 min-w-0" }, ve = { class: "truncate" }, ge = {
22
+ key: 3,
23
+ class: "flex justify-center py-2"
24
+ }, ke = {
25
+ key: 2,
26
+ class: "shrink-0 border-t mt-1 pt-1"
27
+ }, Be = /* @__PURE__ */ G({
28
+ __name: "DropdownMenu",
29
+ props: {
30
+ options: { default: () => [] },
31
+ cachedOptions: { default: () => [] },
32
+ selected: {},
33
+ selectedIndex: { default: null },
34
+ class: { default: "" },
35
+ maxHeight: { default: "300px" },
36
+ nestedPosition: { default: "right-start" },
37
+ nestedOffset: { default: () => [0, -5] },
38
+ selectable: { type: Boolean, default: !0 },
39
+ layout: { default: "default" },
40
+ columns: { default: 3 },
41
+ loading: { type: Boolean, default: !1 },
42
+ hasMore: { type: Boolean, default: !1 },
43
+ searchable: { type: Boolean, default: !0 },
44
+ remote: { type: Boolean, default: !1 },
45
+ direction: { default: "ltr" }
46
+ },
47
+ emits: ["select", "close", "load-more", "search"],
48
+ setup(r, { emit: V }) {
49
+ const j = J(() => import("./Dropdown.vue2.js")), t = r, i = V, S = B(null), f = B(""), { getMenuId: D, getAllRecursiveIds: E } = ce(), P = I(() => t.remote ? t.searchable : t.searchable && (t.options?.length || 0) > 9);
50
+ let k = null;
51
+ C(f, (e) => {
52
+ t.remote && (k && clearTimeout(k), k = setTimeout(() => {
53
+ e && i("search", e);
54
+ }, 100));
55
+ });
56
+ const H = (e) => {
57
+ const s = e.target;
58
+ s.scrollTop + s.clientHeight >= s.scrollHeight - 50 && t.hasMore && !t.loading && i("load-more");
59
+ }, b = (e, s) => {
60
+ e.disabled || i("select", e);
61
+ }, {
62
+ focusedIndex: h,
63
+ isKeyboardMode: w,
64
+ filteredOptions: R,
65
+ // rename
66
+ handleKeyDown: O,
67
+ handleMouseMove: $,
68
+ onMouseEnterItem: x,
69
+ scrollToIndex: z
70
+ } = de({
71
+ options: Q(t, "options"),
72
+ searchQuery: f,
73
+ containerRef: S,
74
+ emit: (e, ...s) => i(e, ...s),
75
+ handleSelect: (e, s) => b(e)
76
+ }), y = I(() => t.remote ? f.value ? t.options : t.cachedOptions.length ? t.cachedOptions : t.options : R.value), A = (e) => {
77
+ if (!(!t.selected || typeof t.selected != "object") && e.key && e.key in t.selected)
78
+ return t.selected[e.key];
79
+ }, L = (e) => e.disabled ? !1 : Array.isArray(t.selected) ? t.selected.includes(e.value) : t.selected && typeof t.selected == "object" && e.key ? t.selected[e.key] === e.value : t.selected === e.value, F = (e) => !e.key || !t.selected || typeof t.selected != "object" ? !1 : !!t.selected[e.key], K = (e, s) => {
80
+ if (!s.key) return;
81
+ const l = {
82
+ label: s.label,
83
+ value: e,
84
+ key: s.key,
85
+ data: s.data
86
+ };
87
+ i("select", l);
88
+ }, U = (e, s) => {
89
+ let l = s.value;
90
+ e.key && (l = { [e.key]: l });
91
+ const d = {
92
+ label: e.label,
93
+ value: l,
94
+ data: s.data,
95
+ key: e.key
96
+ };
97
+ i("select", d);
98
+ }, q = async () => {
99
+ await le();
100
+ let e = -1;
101
+ t.layout !== "grouped" && (t.selectedIndex !== null && t.selectedIndex >= 0 ? e = t.selectedIndex : t.selected !== void 0 && typeof t.selected != "object" && (e = t.options.findIndex((s) => s.value === t.selected)), e !== -1 && z(e));
102
+ };
103
+ return C(
104
+ () => y.value,
105
+ () => {
106
+ h.value = -1;
107
+ }
108
+ ), W(() => {
109
+ q(), window.addEventListener("keydown", O);
110
+ }), X(() => {
111
+ window.removeEventListener("keydown", O);
112
+ }), (e, s) => (o(), c("div", {
113
+ class: "dropdown-menu w-full min-w-[150px] flex flex-col",
114
+ dir: r.direction
115
+ }, [
116
+ P.value ? (o(), c("div", ie, [
117
+ p(se, {
118
+ modelValue: f.value,
119
+ "onUpdate:modelValue": s[0] || (s[0] = (l) => f.value = l),
120
+ placeholder: "Search...",
121
+ icon: "lucide:search",
122
+ size: "sm",
123
+ class: "font-medium!",
124
+ variant: "transparent",
125
+ "show-clear-button": !1
126
+ }, null, 8, ["modelValue"])
127
+ ])) : u("", !0),
128
+ e.$slots.header ? (o(), c("div", ue, [
129
+ v(e.$slots, "header")
130
+ ])) : u("", !0),
131
+ g("div", {
132
+ ref_key: "containerRef",
133
+ ref: S,
134
+ tabindex: "0",
135
+ role: "menu",
136
+ class: T([
137
+ "w-full p-1 space-y-0.5 overflow-y-auto overflow-x-hidden focus:outline-none flex-1",
138
+ t.class
139
+ ]),
140
+ style: Y({ maxHeight: t.maxHeight }),
141
+ onMousemove: s[1] || (s[1] = //@ts-ignore
142
+ (...l) => n($) && n($)(...l)),
143
+ onScroll: H
144
+ }, [
145
+ y.value.length === 0 && r.options?.length > 0 && !r.loading ? (o(), c("div", fe, " No options found ")) : u("", !0),
146
+ r.layout === "grouped" ? (o(), m(re, {
147
+ key: 1,
148
+ options: y.value,
149
+ selected: r.selected,
150
+ selectable: r.selectable,
151
+ columns: r.columns,
152
+ onSelect: b
153
+ }, null, 8, ["options", "selected", "selectable", "columns"])) : (o(!0), c(_, { key: 2 }, Z(y.value, (l, d) => (o(), c(_, { key: d }, [
154
+ l.label === "---" ? (o(), c("div", me)) : l.data?.isBoolean ? (o(), m(ne, {
155
+ key: 1,
156
+ option: l,
157
+ value: F(l),
158
+ focused: n(w) && n(h) === d,
159
+ onChange: K,
160
+ onMouseenter: (a) => n(x)(d)
161
+ }, null, 8, ["option", "value", "focused", "onMouseenter"])) : l.children && l.children.length > 0 ? (o(), m(n(j), {
162
+ key: 2,
163
+ position: l.position || t.nestedPosition,
164
+ offset: l.offset || t.nestedOffset,
165
+ class: "w-full",
166
+ options: l.children,
167
+ selected: A(l),
168
+ menuId: n(D)(l),
169
+ nestedPosition: t.nestedPosition,
170
+ nestedOffset: t.nestedOffset,
171
+ selectable: t.selectable,
172
+ ignoreClickOutside: n(E)(l.children),
173
+ direction: r.direction,
174
+ onOnSelect: (a) => U(l, a)
175
+ }, {
176
+ trigger: N(() => [
177
+ g("div", {
178
+ "data-dropdown-item": "",
179
+ class: T(["relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm font-medium outline-none transition-colors justify-between w-full", [
180
+ n(w) && n(h) === d ? "bg-accent text-accent-foreground" : "hover:bg-accent hover:text-accent-foreground",
181
+ l.disabled ? "opacity-50 cursor-not-allowed" : ""
182
+ ]]),
183
+ onMouseenter: (a) => n(x)(d)
184
+ }, [
185
+ g("div", ye, [
186
+ l.icon ? (o(), m(M, {
187
+ key: 0,
188
+ icon: l.icon,
189
+ class: "mr-2 h-4 w-4 shrink-0 mt-0.5"
190
+ }, null, 8, ["icon"])) : u("", !0),
191
+ g("span", ve, ee(l.label), 1)
192
+ ]),
193
+ p(M, {
194
+ icon: r.direction === "rtl" ? "lucide:chevron-left" : "lucide:chevron-right",
195
+ class: "h-4 w-4 text-muted-foreground shrink-0 ml-2"
196
+ }, null, 8, ["icon"])
197
+ ], 42, he)
198
+ ]),
199
+ _: 2
200
+ }, 1032, ["position", "offset", "options", "selected", "menuId", "nestedPosition", "nestedOffset", "selectable", "ignoreClickOutside", "direction", "onOnSelect"])) : (o(), m(oe, {
201
+ key: 3,
202
+ option: l,
203
+ index: d,
204
+ selected: L(l),
205
+ focused: n(w) && n(h) === d,
206
+ selectable: r.selectable,
207
+ onClick: (a) => b(l),
208
+ onMouseenter: (a) => n(x)(d)
209
+ }, {
210
+ default: N((a) => [
211
+ v(e.$slots, "item", te({ ref_for: !0 }, a))
212
+ ]),
213
+ _: 3
214
+ }, 8, ["option", "index", "selected", "focused", "selectable", "onClick", "onMouseenter"]))
215
+ ], 64))), 128)),
216
+ r.loading ? (o(), c("div", ge, [
217
+ p(M, {
218
+ icon: "lucide:loader-2",
219
+ class: "w-4 h-4 animate-spin text-muted-foreground"
220
+ })
221
+ ])) : u("", !0),
222
+ v(e.$slots, "menu")
223
+ ], 38),
224
+ e.$slots.footer ? (o(), c("div", ke, [
225
+ v(e.$slots, "footer")
226
+ ])) : u("", !0)
227
+ ], 8, ae));
228
+ }
229
+ });
230
+ export {
231
+ Be as default
232
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./DropdownMenu.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,15 @@
1
+ interface Props {
2
+ selectedLabel?: string;
3
+ placeholder?: string;
4
+ isOpen?: boolean;
5
+ disabled?: boolean;
6
+ className?: string;
7
+ direction?: 'ltr' | 'rtl';
8
+ }
9
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
10
+ disabled: boolean;
11
+ placeholder: string;
12
+ direction: "ltr" | "rtl";
13
+ selectedLabel: string;
14
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLButtonElement>;
15
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { defineComponent as a, openBlock as l, createBlock as t, normalizeClass as o } from "vue";
2
+ import n from "../Button.vue.js";
3
+ const s = /* @__PURE__ */ a({
4
+ __name: "DropdownTrigger",
5
+ props: {
6
+ selectedLabel: { default: "" },
7
+ placeholder: { default: "Select an option" },
8
+ isOpen: { type: Boolean },
9
+ disabled: { type: Boolean, default: !1 },
10
+ className: {},
11
+ direction: { default: "ltr" }
12
+ },
13
+ setup(e) {
14
+ return (i, d) => (l(), t(n, {
15
+ text: e.selectedLabel || e.placeholder,
16
+ iconRight: "iconamoon:arrow-down-2",
17
+ variant: "outline",
18
+ disabled: e.disabled,
19
+ dir: e.direction,
20
+ class: o(["w-full justify-between! font-normal", e.className])
21
+ }, null, 8, ["text", "disabled", "dir", "class"]));
22
+ }
23
+ });
24
+ export {
25
+ s as default
26
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./DropdownTrigger.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,5 @@
1
+ import { IDropdownOption, IDropdownOptions } from '../../../types';
2
+ export declare function useDropdownIds(): {
3
+ getMenuId: (option: IDropdownOption) => string;
4
+ getAllRecursiveIds: (options?: IDropdownOptions) => string[];
5
+ };
@@ -0,0 +1,20 @@
1
+ function d() {
2
+ const r = (e) => e.key ? `nested-${e.key}` : `nested-${e.label ? e.label.replace(/\s+/g, "-").toLowerCase() : "menu"}`, c = (e = []) => {
3
+ const n = [];
4
+ return e.forEach((s) => {
5
+ if (s.children?.length) {
6
+ const l = r(s);
7
+ n.push(`#${l}`);
8
+ const t = c(s.children);
9
+ n.push(...t);
10
+ }
11
+ }), n;
12
+ };
13
+ return {
14
+ getMenuId: r,
15
+ getAllRecursiveIds: c
16
+ };
17
+ }
18
+ export {
19
+ d as useDropdownIds
20
+ };
@@ -0,0 +1,19 @@
1
+ import { Ref } from 'vue';
2
+ import { IDropdownOption, IDropdownOptions } from '../../../types';
3
+ interface UseDropdownNavigationProps {
4
+ options: Ref<IDropdownOptions>;
5
+ searchQuery: Ref<string>;
6
+ containerRef: Ref<HTMLElement | null>;
7
+ emit: (event: 'select' | 'close', ...args: any[]) => void;
8
+ handleSelect: (option: IDropdownOption, index: number) => void;
9
+ }
10
+ export declare function useDropdownNavigation(props: UseDropdownNavigationProps): {
11
+ focusedIndex: Ref<number, number>;
12
+ isKeyboardMode: Ref<boolean, boolean>;
13
+ filteredOptions: import('vue').ComputedRef<IDropdownOption[]>;
14
+ handleKeyDown: (e: KeyboardEvent) => void;
15
+ handleMouseMove: () => void;
16
+ onMouseEnterItem: (index: number) => void;
17
+ scrollToIndex: (index: number) => void;
18
+ };
19
+ export {};
@@ -0,0 +1,49 @@
1
+ import { ref as s, computed as i } from "vue";
2
+ function h(a) {
3
+ const t = s(-1), l = s(!1), u = i(() => {
4
+ const e = a.options.value;
5
+ if (!a.searchQuery.value) return e;
6
+ const o = a.searchQuery.value.toLowerCase();
7
+ return e.filter((n) => n.label.toLowerCase().includes(o));
8
+ }), r = (e) => {
9
+ if (!a.containerRef.value || e < 0) return;
10
+ const n = a.containerRef.value.querySelectorAll("[data-dropdown-item]")[e];
11
+ n && n.scrollIntoView({ block: "nearest" });
12
+ };
13
+ return {
14
+ focusedIndex: t,
15
+ isKeyboardMode: l,
16
+ filteredOptions: u,
17
+ handleKeyDown: (e) => {
18
+ const o = u.value;
19
+ if (o.length !== 0)
20
+ switch (["ArrowDown", "ArrowUp", "Enter"].includes(e.key) && (l.value = !0), e.key) {
21
+ case "ArrowDown":
22
+ e.preventDefault(), e.stopPropagation(), t.value < o.length - 1 ? t.value++ : t.value = 0, r(t.value);
23
+ break;
24
+ case "ArrowUp":
25
+ e.preventDefault(), e.stopPropagation(), t.value > 0 ? t.value-- : (t.value, t.value = o.length - 1), r(t.value);
26
+ break;
27
+ case "Enter":
28
+ if (e.preventDefault(), e.stopPropagation(), t.value >= 0 && t.value < o.length) {
29
+ const n = o[t.value];
30
+ n.children || a.handleSelect(n, t.value);
31
+ }
32
+ break;
33
+ case "Escape":
34
+ e.preventDefault(), e.stopPropagation(), a.emit("close");
35
+ break;
36
+ }
37
+ },
38
+ handleMouseMove: () => {
39
+ l.value && (l.value = !1);
40
+ },
41
+ onMouseEnterItem: (e) => {
42
+ t.value = e;
43
+ },
44
+ scrollToIndex: r
45
+ };
46
+ }
47
+ export {
48
+ h as useDropdownNavigation
49
+ };
@@ -0,0 +1,16 @@
1
+ import { IDropdownOption, IDropdownOptions } from '../../../types';
2
+ interface UseDropdownSelectionProps {
3
+ modelValue: any;
4
+ selected?: any;
5
+ toggleSelection?: boolean;
6
+ showSelectedLabel?: boolean;
7
+ selectable?: boolean;
8
+ options?: IDropdownOptions;
9
+ }
10
+ type EmitFn = (event: 'update:modelValue' | 'onSelect', ...args: any[]) => void;
11
+ export declare function useDropdownSelection(props: UseDropdownSelectionProps, emit: EmitFn): {
12
+ currentValue: import('vue').ComputedRef<any>;
13
+ selectedLabel: import('vue').ComputedRef<string>;
14
+ selectOption: (option: IDropdownOption) => void;
15
+ };
16
+ export {};
@@ -0,0 +1,41 @@
1
+ import { computed as s } from "vue";
2
+ import { deepMerge as g } from "../../../utils/object.js";
3
+ function S(a, r) {
4
+ const n = s(() => a.modelValue !== void 0 ? a.modelValue : a.selected), o = (l = [], t) => {
5
+ for (const e of l) {
6
+ if (e.value === t) return e.label;
7
+ if (e.key && typeof t == "object" && t !== null && e.key in t) {
8
+ if (e.children) {
9
+ const c = o(e.children, t[e.key]);
10
+ if (c) return `${e.label} / ${c}`;
11
+ }
12
+ return e.value === t[e.key], e.label;
13
+ }
14
+ }
15
+ return "";
16
+ }, i = s(() => !a.showSelectedLabel || !a.selectable || !a.options?.length ? "" : o(a.options, n.value));
17
+ return {
18
+ currentValue: n,
19
+ selectedLabel: i,
20
+ selectOption: (l) => {
21
+ if (typeof l != "string" && l?.disabled) return;
22
+ const t = n.value;
23
+ let e = l?.value ?? l?.label;
24
+ const c = l.data;
25
+ if (l.key && (typeof e == "object" && e !== null && l.key in e || (e = { [l.key]: e })), t && typeof t == "object" && !Array.isArray(t) && l.key) {
26
+ const u = l.key, b = l.value ?? l.label, y = t[u] === b;
27
+ if (a.toggleSelection && y) {
28
+ const d = { ...t };
29
+ delete d[u], r("update:modelValue", d), r("onSelect", { value: d, data: c });
30
+ return;
31
+ }
32
+ const f = g(t, e);
33
+ r("update:modelValue", f), r("onSelect", { value: f, data: c });
34
+ } else
35
+ a.toggleSelection && t === (l.value ?? l.label) ? (r("update:modelValue", void 0), r("onSelect", { value: void 0, data: c })) : (r("update:modelValue", e), r("onSelect", { value: e, data: c }));
36
+ }
37
+ };
38
+ }
39
+ export {
40
+ S as useDropdownSelection
41
+ };
@@ -0,0 +1,6 @@
1
+ export { default as Dropdown } from './Dropdown.vue';
2
+ export { default as DropdownMenu } from './DropdownMenu.vue';
3
+ export { default as DropdownTrigger } from './DropdownTrigger.vue';
4
+ export { default as DropdownItem } from './DropdownItem.vue';
5
+ export * from './composables/useDropdownSelection';
6
+ export * from './composables/useDropdownIds';