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,173 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, provide, toRef } from 'vue'
3
- import type { ButtonGroupDirection, ButtonVariant, ButtonSize } from '@/types'
4
-
5
- interface Props {
6
- variant?: ButtonVariant
7
- size?: ButtonSize
8
- direction?: ButtonGroupDirection
9
- attached?: boolean
10
- class?: string
11
- }
12
-
13
- const props = withDefaults(defineProps<Props>(), {
14
- direction: 'horizontal',
15
- attached: true,
16
- class: '',
17
- })
18
-
19
- const isVertical = computed(() => props.direction === 'vertical')
20
- </script>
21
-
22
- <template>
23
- <div
24
- role="group"
25
- :class="[
26
- 'inline-flex',
27
- isVertical ? 'flex-col' : 'flex-row',
28
- props.class,
29
-
30
- attached ? 'attached-group' : 'gap-2',
31
-
32
- // Vertical Attached
33
- attached && isVertical ? 'vertical-group' : '',
34
- ]">
35
- <slot></slot>
36
- </div>
37
- </template>
38
-
39
- <style scoped>
40
- /* Horizontal Attached (Default) */
41
- /* Horizontal Attached (Default) */
42
- .attached-group:not(.vertical-group) :deep(button) {
43
- border-radius: 0;
44
- /* border-right-width: 0;
45
- Note: we handle border overlap via margin-left: -1px below, so we keep border width.
46
- Actually, if we rely on margin overlap, we don't need to zero the border width technically,
47
- but we DO need to ensure corners are square.
48
- */
49
- }
50
-
51
- /* Reset border reset */
52
- .attached-group:not(.vertical-group) :deep(button) {
53
- /* Ensure border exists if it was removed elsewhere, standard standardizing */
54
- }
55
-
56
- /**
57
- * STRATEGY: Negative Margins for fused look with proper borders.
58
- * We need to ensure the focused button is raised (z-index) so the ring shows fully.
59
- */
60
-
61
- /* GENERAL SHARED */
62
- .attached-group :deep(button) {
63
- position: relative;
64
- /* Default rounded-md is usually 0.375rem (6px) or 0.25rem (4px).
65
- We use 0.375rem as safe default or 'inherit' if we could,
66
- but for specific corners we must set explicitly.
67
- */
68
- --radius: 0.375rem;
69
- }
70
- .attached-group :deep(button:focus-visible),
71
- .attached-group :deep(button:hover) {
72
- z-index: 10;
73
- }
74
-
75
- /* HORIZONTAL */
76
- .attached-group:not(.vertical-group) :deep(button:not(:first-child)) {
77
- margin-left: -1px; /* Overlap borders */
78
- }
79
-
80
- /* Rounded corners - Horizontal */
81
- /* First Child */
82
- .attached-group:not(.vertical-group) :deep(button:first-child) {
83
- border-top-left-radius: var(--radius);
84
- border-bottom-left-radius: var(--radius);
85
- border-top-right-radius: 0;
86
- border-bottom-right-radius: 0;
87
- }
88
- /* Middle Children */
89
- .attached-group:not(.vertical-group) :deep(button:not(:first-child):not(:last-child)) {
90
- border-radius: 0;
91
- }
92
- /* Last Child */
93
- .attached-group:not(.vertical-group) :deep(button:last-child) {
94
- border-top-right-radius: var(--radius);
95
- border-bottom-right-radius: var(--radius);
96
- border-top-left-radius: 0;
97
- border-bottom-left-radius: 0;
98
- }
99
-
100
- /* Vertical */
101
- .vertical-group :deep(button:not(:first-child)) {
102
- margin-top: -1px;
103
- }
104
-
105
- /* Rounded corners - Vertical */
106
- /* First */
107
- .vertical-group :deep(button:first-child) {
108
- border-top-left-radius: var(--radius);
109
- border-top-right-radius: var(--radius);
110
- border-bottom-left-radius: 0;
111
- border-bottom-right-radius: 0;
112
- }
113
- /* Middle */
114
- .vertical-group :deep(button:not(:first-child):not(:last-child)) {
115
- border-radius: 0;
116
- }
117
- /* Last */
118
- .vertical-group :deep(button:last-child) {
119
- border-bottom-left-radius: var(--radius);
120
- border-bottom-right-radius: var(--radius);
121
- border-top-left-radius: 0;
122
- border-top-right-radius: 0;
123
- }
124
-
125
- /* --- DIVIDERS FOR SOLID VARIANTS --- */
126
-
127
- /*
128
- Strategy: Use a pseudo-element divider that inherits 'currentColor' (text color).
129
- This ensures:
130
- 1. If button is dark (text white), divider is white/transparent.
131
- 2. If button is light (text black), divider is black/transparent.
132
- 3. Works automatically for new variants without hardcoding class names.
133
-
134
- Exclude .border classes (Outline variants) as they have their own borders.
135
- */
136
-
137
- .attached-group:not(.vertical-group) :deep(button:not(:first-child):not(.border))::before {
138
- content: '';
139
- position: absolute;
140
- left: 0;
141
- top: 0;
142
- bottom: 0; /* Full height */
143
- width: 1px;
144
- background-color: currentColor;
145
- opacity: 0.15; /* Subtle contrast */
146
- z-index: 5; /* Above background, below sticky content */
147
- pointer-events: none;
148
- /* Adjust for vertical vertical centering if needed, but top:0 bottom:0 is safer for full stretch */
149
- }
150
-
151
- /* Vertical Dividers */
152
- .vertical-group :deep(button:not(:first-child):not(.border))::before {
153
- content: '';
154
- position: absolute;
155
- top: 0;
156
- left: 0;
157
- right: 0; /* Full width */
158
- height: 1px;
159
- background-color: currentColor;
160
- opacity: 0.15;
161
- z-index: 5;
162
- pointer-events: none;
163
- width: auto; /* Reset width from horizontal rule if cascading */
164
- }
165
-
166
- /* Ensure no conflict with horizontal rule on width for vertical */
167
- .vertical-group :deep(button:not(:first-child):not(.border))::before {
168
- width: 100%;
169
- }
170
- .attached-group:not(.vertical-group) :deep(button:not(:first-child):not(.border))::before {
171
- height: 100%;
172
- }
173
- </style>
@@ -1,84 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref, computed } from 'vue'
3
- import VueCarouselLite from 'vue-carousel-lite'
4
- import 'vue-carousel-lite/style.css'
5
- import type { CarouselProps } from './types'
6
-
7
- const props = withDefaults(defineProps<CarouselProps>(), {
8
- data: () => [],
9
- pagination: 'dots',
10
- paginationSize: 'md',
11
- paginationPosition: 'bottom-center',
12
- direction: 'horizontal',
13
- autoPlay: false,
14
- draggable: false,
15
- autoPlayInterval: 3000,
16
- itemsToShow: 1,
17
- gap: 0,
18
- speed: 300,
19
- easing: 'ease',
20
- mousewheel: true,
21
- loop: false,
22
- currentItem: 0,
23
- bufferSize: 5,
24
- maxDomElements: 10,
25
- updateKey: undefined,
26
- })
27
-
28
- const emit = defineEmits<{
29
- (e: 'slide-change', index: number): void
30
- }>()
31
-
32
- const carouselRef = ref<any>(null)
33
-
34
- // Expose methods
35
- const goToSlide = (index: number, smooth?: boolean) => {
36
- carouselRef.value?.goToSlide(index, smooth)
37
- }
38
-
39
- const goNext = (smooth?: boolean) => {
40
- carouselRef.value?.goNext(smooth)
41
- }
42
-
43
- const goPrev = (smooth?: boolean) => {
44
- carouselRef.value?.goPrev(smooth)
45
- }
46
-
47
- const goNextPage = (smooth?: boolean) => {
48
- carouselRef.value?.goNextPage(smooth)
49
- }
50
-
51
- const goPrevPage = (smooth?: boolean) => {
52
- carouselRef.value?.goPrevPage(smooth)
53
- }
54
-
55
- defineExpose({
56
- goToSlide,
57
- goNext,
58
- goPrev,
59
- goNextPage,
60
- goPrevPage,
61
- })
62
- </script>
63
-
64
- <template>
65
- <div class="carousel-wrapper">
66
- <VueCarouselLite
67
- ref="carouselRef"
68
- v-bind="props as any"
69
- style="height: 100%; width: 100%"
70
- @slide-change="(index) => emit('slide-change', index)">
71
- <!-- Pass through all slots -->
72
- <template v-for="(_, slot) in $slots" v-slot:[slot]="scope">
73
- <slot :name="slot" v-bind="scope || {}" />
74
- </template>
75
- </VueCarouselLite>
76
- </div>
77
- </template>
78
-
79
- <style scoped>
80
- .carousel-wrapper {
81
- width: 100%;
82
- position: relative;
83
- }
84
- </style>
@@ -1,2 +0,0 @@
1
- export { default as Carousel } from './Carousel.vue'
2
- export * from './types'
@@ -1,25 +0,0 @@
1
- export interface CarouselProps {
2
- data?: any[]
3
- pagination?: string | string[] | boolean
4
- paginationSize?: 'sm' | 'md' | 'lg'
5
- paginationPosition?: string | string[]
6
- paginationVisibility?: string | string[]
7
- paginationHoverInitialTimeout?: number
8
- paginationHoverEdgeThreshold?: number
9
- direction?: 'horizontal' | 'vertical'
10
- autoPlay?: boolean
11
- draggable?: boolean
12
- autoPlayInterval?: number
13
- itemsToShow?: number | Record<number, number>
14
- gap?: number
15
- speed?: number
16
- easing?: string
17
- mousewheel?: boolean
18
- loop?: boolean
19
- currentItem?: number
20
- bufferSize?: number
21
- maxDomElements?: number
22
- updateKey?: string | number
23
- // Allow extra props
24
- [key: string]: any
25
- }
@@ -1,132 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue'
3
- import Icon from './Icon.vue'
4
- import Label from './Label.vue'
5
- import type { CheckboxSize, CheckboxRounded } from '@/types'
6
-
7
- interface Props {
8
- modelValue?: boolean
9
- checked?: boolean
10
- disabled?: boolean
11
- indeterminate?: boolean
12
- label?: string
13
- id?: string
14
- class?: string
15
- size?: CheckboxSize
16
- rounded?: CheckboxRounded
17
- }
18
-
19
- const props = withDefaults(defineProps<Props>(), {
20
- modelValue: false,
21
- checked: false, // Alias
22
- disabled: false,
23
- indeterminate: false,
24
- class: '',
25
- size: 'md',
26
- })
27
-
28
- const emit = defineEmits<{
29
- (e: 'update:modelValue', value: boolean): void
30
- (e: 'update:checked', value: boolean): void
31
- }>()
32
-
33
- const toggle = () => {
34
- if (props.disabled) return
35
- const newValue = !(props.modelValue || props.checked)
36
- emit('update:modelValue', newValue)
37
- emit('update:checked', newValue)
38
- }
39
-
40
- const sizeClasses: Record<CheckboxSize, string> = {
41
- xs: 'h-3.5 w-3.5',
42
- sm: 'h-4 w-4',
43
- md: 'h-4.5 w-4.5',
44
- lg: 'h-5 w-5',
45
- xl: 'h-5.5 w-5.5',
46
- }
47
-
48
- const iconSizeClasses: Record<CheckboxSize, string> = {
49
- xs: 'h-2.5 w-2.5',
50
- sm: 'h-3 w-3',
51
- md: 'h-3.5 w-3.5',
52
- lg: 'h-4 w-4',
53
- xl: 'h-5 w-5',
54
- }
55
-
56
- const roundedClasses: Record<CheckboxRounded, string> = {
57
- none: 'rounded-none',
58
- xs: 'rounded-[3px]',
59
- sm: 'rounded-[4px]',
60
- md: 'rounded-sm',
61
- lg: 'rounded-md',
62
- xl: 'rounded-lg',
63
- '2xl': 'rounded-xl',
64
- full: 'rounded-full',
65
- }
66
-
67
- const buttonClass = computed(() => {
68
- return [
69
- 'peer shrink-0 border border-primary transition-all duration-200 ease-in-out',
70
- 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2', // Kept ring for accessibility visibility on small elements
71
- 'disabled:cursor-not-allowed disabled:opacity-50',
72
- 'data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',
73
- 'data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground',
74
- 'cursor-pointer bg-transparent', // Default background
75
- sizeClasses[props.size],
76
- roundedClasses[props.rounded || props.size],
77
- props.class,
78
- ].join(' ')
79
- })
80
-
81
- const state = computed(() => {
82
- if (props.indeterminate) return 'indeterminate'
83
- return props.modelValue || props.checked ? 'checked' : 'unchecked'
84
- })
85
-
86
- const iconClass = computed(() => {
87
- return [
88
- 'transition-transform duration-200',
89
- state.value === 'checked' || state.value === 'indeterminate' ? 'scale-100' : 'scale-0',
90
- iconSizeClasses[props.size],
91
- ].join(' ')
92
- })
93
- </script>
94
-
95
- <template>
96
- <div class="flex items-center space-x-2">
97
- <button
98
- type="button"
99
- role="checkbox"
100
- :aria-checked="indeterminate ? 'mixed' : modelValue"
101
- :data-state="state"
102
- :disabled="disabled"
103
- :class="buttonClass"
104
- :id="id"
105
- @click="toggle">
106
- <div
107
- v-if="state === 'checked' || state === 'indeterminate'"
108
- class="flex items-center justify-center text-current w-full h-full">
109
- <Transition
110
- enter-active-class="transition duration-200 ease-out"
111
- enter-from-class="scale-50 opacity-0"
112
- enter-to-class="scale-100 opacity-100"
113
- leave-active-class="transition duration-150 ease-in"
114
- leave-from-class="scale-100 opacity-100"
115
- leave-to-class="scale-50 opacity-0">
116
- <Icon v-if="state === 'checked'" icon="lucide:check" :class="iconSizeClasses[size]" />
117
- <Icon
118
- v-else-if="state === 'indeterminate'"
119
- icon="lucide:minus"
120
- :class="iconSizeClasses[size]" />
121
- </Transition>
122
- </div>
123
- </button>
124
- <Label
125
- v-if="label"
126
- :for="id"
127
- class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer"
128
- @click="toggle">
129
- {{ label }}
130
- </Label>
131
- </div>
132
- </template>
@@ -1,158 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue'
3
- import Icon from '../Icon.vue'
4
- import Button from '../Button.vue'
5
- import type { ChipProps, ChipVariant } from './types'
6
-
7
- const props = withDefaults(defineProps<ChipProps>(), {
8
- variant: 'subtle',
9
- size: 'medium',
10
- disabled: false,
11
- clickable: false,
12
- deletable: false,
13
- text: '',
14
- class: '',
15
- })
16
-
17
- const emit = defineEmits<{
18
- (e: 'click', event: MouseEvent): void
19
- (e: 'delete', event: MouseEvent): void
20
- }>()
21
-
22
- const isInteractive = computed(() => props.clickable && !props.disabled)
23
-
24
- const handleClick = (e: MouseEvent) => {
25
- if (props.disabled) return
26
- if (props.clickable) {
27
- emit('click', e)
28
- }
29
- }
30
-
31
- const handleDelete = (e: MouseEvent) => {
32
- if (props.disabled) return
33
- e.stopPropagation()
34
- emit('delete', e)
35
- }
36
-
37
- const handleKeyDown = (e: KeyboardEvent) => {
38
- if (props.disabled) return
39
- if (!props.clickable && !props.deletable) return
40
-
41
- if (e.key === 'Enter' || e.key === ' ') {
42
- e.preventDefault()
43
- if (props.clickable) {
44
- emit('click', e as unknown as MouseEvent)
45
- }
46
- }
47
-
48
- if (e.key === 'Backspace' || e.key === 'Delete') {
49
- if (props.deletable) {
50
- e.preventDefault()
51
- emit('delete', e as unknown as MouseEvent)
52
- }
53
- }
54
- }
55
-
56
- const baseClasses =
57
- 'inline-flex items-center justify-center font-medium rounded-full transition-all duration-200 border box-border whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary'
58
-
59
- const sizeClasses = computed(() => {
60
- switch (props.size) {
61
- case 'small':
62
- return 'h-6 text-xs px-2 gap-1.5'
63
- case 'large':
64
- return 'h-10 text-base px-4 gap-2.5'
65
- case 'medium':
66
- default:
67
- return 'h-8 text-sm px-3 gap-2'
68
- }
69
- })
70
-
71
- const variantClasses = computed(() => {
72
- if (props.disabled) {
73
- return 'bg-muted text-muted-foreground border-transparent opacity-50 cursor-not-allowed'
74
- }
75
-
76
- const interactiveHover = isInteractive.value
77
- ? 'cursor-pointer hover:shadow-sm active:scale-[0.98]'
78
- : 'cursor-default'
79
-
80
- const variants: Record<ChipVariant, string> = {
81
- solid: `bg-primary text-primary-fg border-transparent ${isInteractive.value ? 'hover:bg-primary/90' : ''}`,
82
- outline: `bg-transparent border-input text-foreground ${isInteractive.value ? 'hover:bg-accent hover:text-accent-foreground' : ''}`,
83
- ghost: `bg-transparent border-transparent text-muted-foreground ${isInteractive.value ? 'hover:bg-accent hover:text-accent-foreground' : ''}`,
84
- subtle: `bg-accent/50 text-foreground border-transparent ${isInteractive.value ? 'hover:bg-accent' : ''}`, // Default neutral
85
-
86
- // Semantic Variants
87
- secondary: `bg-secondary text-secondary-foreground border-transparent ${isInteractive.value ? 'hover:bg-secondary/80' : ''}`,
88
- success: `bg-success text-success-fg border-transparent ${isInteractive.value ? 'hover:bg-success/80' : ''}`,
89
- warning: `bg-warning text-warning-fg border-transparent ${isInteractive.value ? 'hover:bg-warning/80' : ''}`,
90
- danger: `bg-destructive text-destructive-foreground border-transparent ${isInteractive.value ? 'hover:bg-destructive/90' : ''}`,
91
- info: `bg-info text-info-fg border-transparent ${isInteractive.value ? 'hover:bg-info/80' : ''}`,
92
- }
93
-
94
- return `${variants[props.variant]} ${interactiveHover}`
95
- })
96
-
97
- const rootClasses = computed(() => {
98
- return [baseClasses, sizeClasses.value, variantClasses.value, props.class].join(' ')
99
- })
100
-
101
- // Icon sizing adjustment based on chip size
102
- const iconSizeClass = computed(() => {
103
- switch (props.size) {
104
- case 'small':
105
- return 'h-3.5 w-3.5'
106
- case 'large':
107
- return 'h-5 w-5'
108
- case 'medium':
109
- default:
110
- return 'h-4 w-4'
111
- }
112
- })
113
-
114
- // Close button sizing
115
- const closeIconSizeClass = computed(() => {
116
- switch (props.size) {
117
- case 'small':
118
- return 'h-3 w-3'
119
- case 'large':
120
- return 'h-4 w-4'
121
- case 'medium':
122
- default:
123
- return 'h-3.5 w-3.5'
124
- }
125
- })
126
- </script>
127
-
128
- <template>
129
- <div
130
- :class="rootClasses"
131
- :role="clickable ? 'button' : 'status'"
132
- :tabindex="isInteractive || deletable ? 0 : undefined"
133
- @click="handleClick"
134
- @keydown="handleKeyDown">
135
- <!-- Start Icon / Avatar -->
136
- <slot name="icon">
137
- <Icon v-if="icon" :icon="icon" :class="[iconSizeClass, 'shrink-0', text ? '-ml-0.5' : '']" />
138
- </slot>
139
-
140
- <!-- Text -->
141
- <span v-if="text || $slots.default" class="truncate">
142
- <slot>{{ text }}</slot>
143
- </span>
144
-
145
- <!-- Delete Action -->
146
- <Button
147
- v-if="deletable"
148
- variant="ghost"
149
- size="xs"
150
- rounded="full"
151
- :disabled="disabled"
152
- class="ml-auto !p-0.5 !h-auto !w-auto hover:bg-[#8282823c]"
153
- :class="[text ? (size === 'small' ? '-mr-0.5' : '-mr-1') : '']"
154
- @click="handleDelete">
155
- <Icon icon="lucide:x" :class="closeIconSizeClass" />
156
- </Button>
157
- </div>
158
- </template>
@@ -1,2 +0,0 @@
1
- export { default as Chip } from './Chip.vue'
2
- export * from './types'
@@ -1,23 +0,0 @@
1
- export type ChipVariant =
2
- | 'solid'
3
- | 'outline'
4
- | 'subtle'
5
- | 'ghost'
6
- | 'secondary'
7
- | 'success'
8
- | 'warning'
9
- | 'danger'
10
- | 'info'
11
-
12
- export type ChipSize = 'small' | 'medium' | 'large'
13
-
14
- export interface ChipProps {
15
- text?: string
16
- icon?: string
17
- variant?: ChipVariant
18
- size?: ChipSize
19
- disabled?: boolean
20
- clickable?: boolean
21
- deletable?: boolean
22
- class?: string
23
- }