cisse-vue-ui 0.7.2 → 0.7.3

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 (327) hide show
  1. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-C-YXGDTY.js → PageHero.vue_vue_type_script_setup_true_lang-BYx595-2.js} +87 -47
  2. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-C-YXGDTY.js.map → PageHero.vue_vue_type_script_setup_true_lang-BYx595-2.js.map} +1 -1
  3. package/dist/{TagsInput-D0O6z6le.js → TagsInput-DtoJKN3L.js} +17 -5
  4. package/dist/TagsInput-DtoJKN3L.js.map +1 -0
  5. package/dist/components/form/index.js +1 -1
  6. package/dist/components/index.js +2 -2
  7. package/dist/components/layout/index.js +1 -1
  8. package/dist/{index-D9_zMCpN.js → index-F9yanU6_.js} +3 -3
  9. package/dist/index-F9yanU6_.js.map +1 -0
  10. package/dist/index.js +3 -3
  11. package/package.json +1 -1
  12. package/dist/BadgeType.vue_vue_type_script_setup_true_lang-zs0NXN4g.cjs +0 -145
  13. package/dist/BadgeType.vue_vue_type_script_setup_true_lang-zs0NXN4g.cjs.map +0 -1
  14. package/dist/Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs +0 -98
  15. package/dist/Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs.map +0 -1
  16. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs +0 -928
  17. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs.map +0 -1
  18. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-BNOHbbm5.cjs +0 -228
  19. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-BNOHbbm5.cjs.map +0 -1
  20. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-HwjuvIJX.cjs +0 -2242
  21. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-HwjuvIJX.cjs.map +0 -1
  22. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs +0 -149
  23. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs.map +0 -1
  24. package/dist/PageHero.vue_vue_type_script_setup_true_lang-CKCmOxOa.cjs +0 -724
  25. package/dist/PageHero.vue_vue_type_script_setup_true_lang-CKCmOxOa.cjs.map +0 -1
  26. package/dist/TagsInput-BF3zRMcU.cjs +0 -3682
  27. package/dist/TagsInput-BF3zRMcU.cjs.map +0 -1
  28. package/dist/TagsInput-D0O6z6le.js.map +0 -1
  29. package/dist/_plugin-vue_export-helper-DM9IkUGy.cjs +0 -10
  30. package/dist/_plugin-vue_export-helper-DM9IkUGy.cjs.map +0 -1
  31. package/dist/components/core/Accordion.stories.d.ts +0 -11
  32. package/dist/components/core/Accordion.test.d.ts +0 -1
  33. package/dist/components/core/Accordion.vue.d.ts +0 -27
  34. package/dist/components/core/AccordionItem.stories.d.ts +0 -10
  35. package/dist/components/core/AccordionItem.vue.d.ts +0 -29
  36. package/dist/components/core/AutocompleteComponent.stories.d.ts +0 -14
  37. package/dist/components/core/AutocompleteComponent.test.d.ts +0 -1
  38. package/dist/components/core/AutocompleteComponent.vue.d.ts +0 -25
  39. package/dist/components/core/Avatar.stories.d.ts +0 -12
  40. package/dist/components/core/Avatar.test.d.ts +0 -1
  41. package/dist/components/core/Avatar.vue.d.ts +0 -20
  42. package/dist/components/core/Breadcrumb.stories.d.ts +0 -11
  43. package/dist/components/core/Breadcrumb.test.d.ts +0 -1
  44. package/dist/components/core/Breadcrumb.vue.d.ts +0 -26
  45. package/dist/components/core/Button.stories.d.ts +0 -18
  46. package/dist/components/core/Button.test.d.ts +0 -1
  47. package/dist/components/core/Button.vue.d.ts +0 -49
  48. package/dist/components/core/CardComponent.stories.d.ts +0 -13
  49. package/dist/components/core/CardComponent.test.d.ts +0 -1
  50. package/dist/components/core/CardComponent.vue.d.ts +0 -40
  51. package/dist/components/core/CollapsibleCard.stories.d.ts +0 -10
  52. package/dist/components/core/CollapsibleCard.test.d.ts +0 -1
  53. package/dist/components/core/CollapsibleCard.vue.d.ts +0 -38
  54. package/dist/components/core/DarkModeToggle.stories.d.ts +0 -15
  55. package/dist/components/core/DarkModeToggle.test.d.ts +0 -1
  56. package/dist/components/core/DarkModeToggle.vue.d.ts +0 -21
  57. package/dist/components/core/Drawer.stories.d.ts +0 -12
  58. package/dist/components/core/Drawer.test.d.ts +0 -1
  59. package/dist/components/core/Drawer.vue.d.ts +0 -50
  60. package/dist/components/core/Dropdown.stories.d.ts +0 -11
  61. package/dist/components/core/Dropdown.test.d.ts +0 -1
  62. package/dist/components/core/Dropdown.vue.d.ts +0 -56
  63. package/dist/components/core/FilterTabs.stories.d.ts +0 -14
  64. package/dist/components/core/FilterTabs.test.d.ts +0 -1
  65. package/dist/components/core/FilterTabs.vue.d.ts +0 -29
  66. package/dist/components/core/MenuItem.stories.d.ts +0 -13
  67. package/dist/components/core/MenuItem.test.d.ts +0 -1
  68. package/dist/components/core/MenuItem.vue.d.ts +0 -16
  69. package/dist/components/core/MobileList.stories.d.ts +0 -13
  70. package/dist/components/core/MobileList.test.d.ts +0 -1
  71. package/dist/components/core/MobileList.vue.d.ts +0 -86
  72. package/dist/components/core/Popover.stories.d.ts +0 -10
  73. package/dist/components/core/Popover.test.d.ts +0 -1
  74. package/dist/components/core/Popover.vue.d.ts +0 -44
  75. package/dist/components/core/ResponsiveList.stories.d.ts +0 -15
  76. package/dist/components/core/ResponsiveList.test.d.ts +0 -1
  77. package/dist/components/core/ResponsiveList.vue.d.ts +0 -128
  78. package/dist/components/core/StatsCard.stories.d.ts +0 -15
  79. package/dist/components/core/StatsCard.test.d.ts +0 -1
  80. package/dist/components/core/StatsCard.vue.d.ts +0 -44
  81. package/dist/components/core/StatsGrid.stories.d.ts +0 -12
  82. package/dist/components/core/StatsGrid.test.d.ts +0 -1
  83. package/dist/components/core/StatsGrid.vue.d.ts +0 -16
  84. package/dist/components/core/StatusBadge.stories.d.ts +0 -13
  85. package/dist/components/core/StatusBadge.test.d.ts +0 -1
  86. package/dist/components/core/StatusBadge.vue.d.ts +0 -21
  87. package/dist/components/core/Stepper.stories.d.ts +0 -12
  88. package/dist/components/core/Stepper.test.d.ts +0 -1
  89. package/dist/components/core/Stepper.vue.d.ts +0 -22
  90. package/dist/components/core/TabPanel.stories.d.ts +0 -8
  91. package/dist/components/core/TabPanel.test.d.ts +0 -1
  92. package/dist/components/core/TabPanel.vue.d.ts +0 -21
  93. package/dist/components/core/TableAction.stories.d.ts +0 -14
  94. package/dist/components/core/TableAction.test.d.ts +0 -1
  95. package/dist/components/core/TableAction.vue.d.ts +0 -8
  96. package/dist/components/core/TableComponent.stories.d.ts +0 -16
  97. package/dist/components/core/TableComponent.test.d.ts +0 -1
  98. package/dist/components/core/TableComponent.vue.d.ts +0 -67
  99. package/dist/components/core/Tabs.stories.d.ts +0 -10
  100. package/dist/components/core/Tabs.test.d.ts +0 -1
  101. package/dist/components/core/Tabs.vue.d.ts +0 -39
  102. package/dist/components/core/Timeline.stories.d.ts +0 -11
  103. package/dist/components/core/Timeline.test.d.ts +0 -1
  104. package/dist/components/core/Timeline.vue.d.ts +0 -34
  105. package/dist/components/core/Tooltip.stories.d.ts +0 -10
  106. package/dist/components/core/Tooltip.test.d.ts +0 -1
  107. package/dist/components/core/Tooltip.vue.d.ts +0 -34
  108. package/dist/components/core/index.cjs +0 -33
  109. package/dist/components/core/index.cjs.map +0 -1
  110. package/dist/components/core/index.test.d.ts +0 -1
  111. package/dist/components/feedback/Alert.stories.d.ts +0 -13
  112. package/dist/components/feedback/Alert.test.d.ts +0 -1
  113. package/dist/components/feedback/Alert.vue.d.ts +0 -34
  114. package/dist/components/feedback/CardSkeleton.stories.d.ts +0 -11
  115. package/dist/components/feedback/CardSkeleton.test.d.ts +0 -1
  116. package/dist/components/feedback/CardSkeleton.vue.d.ts +0 -14
  117. package/dist/components/feedback/ConfirmDialog.stories.d.ts +0 -12
  118. package/dist/components/feedback/ConfirmDialog.test.d.ts +0 -1
  119. package/dist/components/feedback/ConfirmDialog.vue.d.ts +0 -53
  120. package/dist/components/feedback/EmptyState.stories.d.ts +0 -13
  121. package/dist/components/feedback/EmptyState.test.d.ts +0 -1
  122. package/dist/components/feedback/EmptyState.vue.d.ts +0 -29
  123. package/dist/components/feedback/ListSkeleton.stories.d.ts +0 -12
  124. package/dist/components/feedback/ListSkeleton.test.d.ts +0 -1
  125. package/dist/components/feedback/ListSkeleton.vue.d.ts +0 -17
  126. package/dist/components/feedback/LoadingSpinner.stories.d.ts +0 -11
  127. package/dist/components/feedback/LoadingSpinner.test.d.ts +0 -1
  128. package/dist/components/feedback/LoadingSpinner.vue.d.ts +0 -12
  129. package/dist/components/feedback/Modal.stories.d.ts +0 -11
  130. package/dist/components/feedback/Modal.test.d.ts +0 -1
  131. package/dist/components/feedback/Modal.vue.d.ts +0 -47
  132. package/dist/components/feedback/NotificationComponent.stories.d.ts +0 -14
  133. package/dist/components/feedback/NotificationComponent.test.d.ts +0 -1
  134. package/dist/components/feedback/NotificationComponent.vue.d.ts +0 -12
  135. package/dist/components/feedback/NotificationList.stories.d.ts +0 -11
  136. package/dist/components/feedback/NotificationList.test.d.ts +0 -1
  137. package/dist/components/feedback/NotificationList.vue.d.ts +0 -18
  138. package/dist/components/feedback/PaginationControls.stories.d.ts +0 -12
  139. package/dist/components/feedback/PaginationControls.test.d.ts +0 -1
  140. package/dist/components/feedback/PaginationControls.vue.d.ts +0 -21
  141. package/dist/components/feedback/Progress.stories.d.ts +0 -14
  142. package/dist/components/feedback/Progress.test.d.ts +0 -1
  143. package/dist/components/feedback/Progress.vue.d.ts +0 -30
  144. package/dist/components/feedback/Skeleton.stories.d.ts +0 -15
  145. package/dist/components/feedback/Skeleton.test.d.ts +0 -1
  146. package/dist/components/feedback/Skeleton.vue.d.ts +0 -19
  147. package/dist/components/feedback/TableSkeleton.stories.d.ts +0 -12
  148. package/dist/components/feedback/TableSkeleton.test.d.ts +0 -1
  149. package/dist/components/feedback/TableSkeleton.vue.d.ts +0 -14
  150. package/dist/components/feedback/Toast.stories.d.ts +0 -12
  151. package/dist/components/feedback/Toast.test.d.ts +0 -1
  152. package/dist/components/feedback/Toast.vue.d.ts +0 -23
  153. package/dist/components/feedback/ToastContainer.stories.d.ts +0 -15
  154. package/dist/components/feedback/ToastContainer.test.d.ts +0 -1
  155. package/dist/components/feedback/ToastContainer.vue.d.ts +0 -24
  156. package/dist/components/feedback/index.cjs +0 -20
  157. package/dist/components/feedback/index.cjs.map +0 -1
  158. package/dist/components/feedback/index.test.d.ts +0 -1
  159. package/dist/components/form/Checkbox.stories.d.ts +0 -13
  160. package/dist/components/form/Checkbox.test.d.ts +0 -1
  161. package/dist/components/form/Checkbox.vue.d.ts +0 -22
  162. package/dist/components/form/ColorPicker.stories.d.ts +0 -12
  163. package/dist/components/form/ColorPicker.test.d.ts +0 -1
  164. package/dist/components/form/ColorPicker.vue.d.ts +0 -26
  165. package/dist/components/form/Combobox.stories.d.ts +0 -15
  166. package/dist/components/form/Combobox.test.d.ts +0 -1
  167. package/dist/components/form/Combobox.vue.d.ts +0 -46
  168. package/dist/components/form/DatePicker.stories.d.ts +0 -15
  169. package/dist/components/form/DatePicker.test.d.ts +0 -1
  170. package/dist/components/form/DatePicker.vue.d.ts +0 -36
  171. package/dist/components/form/EmailInput.stories.d.ts +0 -13
  172. package/dist/components/form/EmailInput.test.d.ts +0 -1
  173. package/dist/components/form/EmailInput.vue.d.ts +0 -32
  174. package/dist/components/form/FileUpload.stories.d.ts +0 -12
  175. package/dist/components/form/FileUpload.test.d.ts +0 -1
  176. package/dist/components/form/FileUpload.vue.d.ts +0 -40
  177. package/dist/components/form/FormActions.stories.d.ts +0 -18
  178. package/dist/components/form/FormActions.test.d.ts +0 -1
  179. package/dist/components/form/FormActions.vue.d.ts +0 -56
  180. package/dist/components/form/FormGroup.stories.d.ts +0 -10
  181. package/dist/components/form/FormGroup.test.d.ts +0 -1
  182. package/dist/components/form/FormGroup.vue.d.ts +0 -30
  183. package/dist/components/form/FormHelp.stories.d.ts +0 -11
  184. package/dist/components/form/FormHelp.test.d.ts +0 -1
  185. package/dist/components/form/FormHelp.vue.d.ts +0 -23
  186. package/dist/components/form/FormInput.stories.d.ts +0 -12
  187. package/dist/components/form/FormInput.test.d.ts +0 -1
  188. package/dist/components/form/FormInput.vue.d.ts +0 -13
  189. package/dist/components/form/FormLabel.stories.d.ts +0 -12
  190. package/dist/components/form/FormLabel.test.d.ts +0 -1
  191. package/dist/components/form/FormLabel.vue.d.ts +0 -21
  192. package/dist/components/form/FormSection.stories.d.ts +0 -13
  193. package/dist/components/form/FormSection.test.d.ts +0 -1
  194. package/dist/components/form/FormSection.vue.d.ts +0 -49
  195. package/dist/components/form/FormSelect.stories.d.ts +0 -13
  196. package/dist/components/form/FormSelect.test.d.ts +0 -1
  197. package/dist/components/form/FormSelect.vue.d.ts +0 -55
  198. package/dist/components/form/IconPicker.vue.d.ts +0 -33
  199. package/dist/components/form/InputWrapper.stories.d.ts +0 -16
  200. package/dist/components/form/InputWrapper.test.d.ts +0 -1
  201. package/dist/components/form/InputWrapper.vue.d.ts +0 -40
  202. package/dist/components/form/MoneyInput.stories.d.ts +0 -16
  203. package/dist/components/form/MoneyInput.test.d.ts +0 -1
  204. package/dist/components/form/MoneyInput.vue.d.ts +0 -40
  205. package/dist/components/form/NumberInput.stories.d.ts +0 -14
  206. package/dist/components/form/NumberInput.test.d.ts +0 -1
  207. package/dist/components/form/NumberInput.vue.d.ts +0 -39
  208. package/dist/components/form/OTPInput.stories.d.ts +0 -13
  209. package/dist/components/form/OTPInput.test.d.ts +0 -1
  210. package/dist/components/form/OTPInput.vue.d.ts +0 -33
  211. package/dist/components/form/PasswordInput.stories.d.ts +0 -15
  212. package/dist/components/form/PasswordInput.test.d.ts +0 -1
  213. package/dist/components/form/PasswordInput.vue.d.ts +0 -36
  214. package/dist/components/form/PercentInput.stories.d.ts +0 -12
  215. package/dist/components/form/PercentInput.test.d.ts +0 -1
  216. package/dist/components/form/PercentInput.vue.d.ts +0 -38
  217. package/dist/components/form/PhoneInput.stories.d.ts +0 -13
  218. package/dist/components/form/PhoneInput.test.d.ts +0 -1
  219. package/dist/components/form/PhoneInput.vue.d.ts +0 -89
  220. package/dist/components/form/QuantityInput.stories.d.ts +0 -12
  221. package/dist/components/form/QuantityInput.test.d.ts +0 -1
  222. package/dist/components/form/QuantityInput.vue.d.ts +0 -32
  223. package/dist/components/form/RangeSlider.stories.d.ts +0 -13
  224. package/dist/components/form/RangeSlider.test.d.ts +0 -1
  225. package/dist/components/form/RangeSlider.vue.d.ts +0 -35
  226. package/dist/components/form/Rating.stories.d.ts +0 -16
  227. package/dist/components/form/Rating.test.d.ts +0 -1
  228. package/dist/components/form/Rating.vue.d.ts +0 -43
  229. package/dist/components/form/SearchInput.stories.d.ts +0 -13
  230. package/dist/components/form/SearchInput.test.d.ts +0 -1
  231. package/dist/components/form/SearchInput.vue.d.ts +0 -26
  232. package/dist/components/form/Slider.stories.d.ts +0 -13
  233. package/dist/components/form/Slider.test.d.ts +0 -1
  234. package/dist/components/form/Slider.vue.d.ts +0 -29
  235. package/dist/components/form/Switch.stories.d.ts +0 -11
  236. package/dist/components/form/Switch.test.d.ts +0 -1
  237. package/dist/components/form/Switch.vue.d.ts +0 -23
  238. package/dist/components/form/TagsInput.stories.d.ts +0 -13
  239. package/dist/components/form/TagsInput.test.d.ts +0 -1
  240. package/dist/components/form/TagsInput.vue.d.ts +0 -37
  241. package/dist/components/form/URLInput.stories.d.ts +0 -11
  242. package/dist/components/form/URLInput.test.d.ts +0 -1
  243. package/dist/components/form/URLInput.vue.d.ts +0 -32
  244. package/dist/components/form/index.cjs +0 -34
  245. package/dist/components/form/index.cjs.map +0 -1
  246. package/dist/components/form/index.test.d.ts +0 -1
  247. package/dist/components/index.cjs +0 -91
  248. package/dist/components/index.cjs.map +0 -1
  249. package/dist/components/index.d.ts +0 -5
  250. package/dist/components/index.test.d.ts +0 -1
  251. package/dist/components/layout/AuthLayout.stories.d.ts +0 -10
  252. package/dist/components/layout/AuthLayout.test.d.ts +0 -1
  253. package/dist/components/layout/AuthLayout.vue.d.ts +0 -88
  254. package/dist/components/layout/BaseLayout.stories.d.ts +0 -11
  255. package/dist/components/layout/BaseLayout.test.d.ts +0 -1
  256. package/dist/components/layout/BaseLayout.vue.d.ts +0 -77
  257. package/dist/components/layout/PageHero.stories.d.ts +0 -11
  258. package/dist/components/layout/PageHero.test.d.ts +0 -1
  259. package/dist/components/layout/PageHero.vue.d.ts +0 -51
  260. package/dist/components/layout/PageLayout.stories.d.ts +0 -10
  261. package/dist/components/layout/PageLayout.test.d.ts +0 -1
  262. package/dist/components/layout/PageLayout.vue.d.ts +0 -37
  263. package/dist/components/layout/index.cjs +0 -8
  264. package/dist/components/layout/index.cjs.map +0 -1
  265. package/dist/components/layout/index.test.d.ts +0 -1
  266. package/dist/components/type/BadgeType.stories.d.ts +0 -13
  267. package/dist/components/type/BadgeType.test.d.ts +0 -1
  268. package/dist/components/type/BooleanType.stories.d.ts +0 -12
  269. package/dist/components/type/BooleanType.test.d.ts +0 -1
  270. package/dist/components/type/DateType.stories.d.ts +0 -12
  271. package/dist/components/type/DateType.test.d.ts +0 -1
  272. package/dist/components/type/NumberType.stories.d.ts +0 -11
  273. package/dist/components/type/NumberType.test.d.ts +0 -1
  274. package/dist/components/type/TextType.stories.d.ts +0 -10
  275. package/dist/components/type/TextType.test.d.ts +0 -1
  276. package/dist/components/type/index.cjs +0 -9
  277. package/dist/components/type/index.cjs.map +0 -1
  278. package/dist/components/type/index.test.d.ts +0 -1
  279. package/dist/composables/index.cjs +0 -19
  280. package/dist/composables/index.cjs.map +0 -1
  281. package/dist/composables/index.d.ts +0 -8
  282. package/dist/composables/index.test.d.ts +0 -1
  283. package/dist/composables/useDarkMode.d.ts +0 -14
  284. package/dist/composables/useDarkMode.test.d.ts +0 -1
  285. package/dist/composables/useDropdown.d.ts +0 -51
  286. package/dist/composables/useDropdown.test.d.ts +0 -1
  287. package/dist/composables/useExportCSV.d.ts +0 -10
  288. package/dist/composables/useExportCSV.test.d.ts +0 -1
  289. package/dist/composables/useFocusTrap.d.ts +0 -41
  290. package/dist/composables/useFocusTrap.test.d.ts +0 -1
  291. package/dist/composables/useId.d.ts +0 -42
  292. package/dist/composables/useId.test.d.ts +0 -1
  293. package/dist/composables/useModal.d.ts +0 -60
  294. package/dist/composables/useModal.test.d.ts +0 -1
  295. package/dist/composables/useNotifications.d.ts +0 -27
  296. package/dist/composables/useNotifications.test.d.ts +0 -1
  297. package/dist/composables/useToast.d.ts +0 -30
  298. package/dist/composables/useToast.test.d.ts +0 -1
  299. package/dist/index-D1x3TH9k.cjs +0 -401
  300. package/dist/index-D1x3TH9k.cjs.map +0 -1
  301. package/dist/index-D9_zMCpN.js.map +0 -1
  302. package/dist/index-PehFvNFG.cjs +0 -94
  303. package/dist/index-PehFvNFG.cjs.map +0 -1
  304. package/dist/index.cjs +0 -123
  305. package/dist/index.cjs.map +0 -1
  306. package/dist/index.d.ts +0 -5
  307. package/dist/index.test.d.ts +0 -1
  308. package/dist/plugin.d.ts +0 -24
  309. package/dist/style.css +0 -2
  310. package/dist/types/components.d.ts +0 -27
  311. package/dist/types/form.d.ts +0 -37
  312. package/dist/types/index.cjs +0 -2
  313. package/dist/types/index.cjs.map +0 -1
  314. package/dist/types/index.d.ts +0 -4
  315. package/dist/types/index.test.d.ts +0 -1
  316. package/dist/types/notification.d.ts +0 -12
  317. package/dist/types/property.d.ts +0 -34
  318. package/dist/useDarkMode-DLZcJEUQ.cjs +0 -52
  319. package/dist/useDarkMode-DLZcJEUQ.cjs.map +0 -1
  320. package/dist/useDropdown-DHFnd259.cjs +0 -130
  321. package/dist/useDropdown-DHFnd259.cjs.map +0 -1
  322. package/dist/useFocusTrap-kcxO8AeU.cjs +0 -119
  323. package/dist/useFocusTrap-kcxO8AeU.cjs.map +0 -1
  324. package/dist/useId-nxrBaIC9.cjs +0 -25
  325. package/dist/useId-nxrBaIC9.cjs.map +0 -1
  326. package/dist/useToast-Bk60GArg.cjs +0 -176
  327. package/dist/useToast-Bk60GArg.cjs.map +0 -1
@@ -1,928 +0,0 @@
1
- "use strict";
2
- const vue = require("vue");
3
- const vue$1 = require("@iconify/vue");
4
- const _pluginVue_exportHelper = require("./_plugin-vue_export-helper-DM9IkUGy.cjs");
5
- const useId = require("./useId-nxrBaIC9.cjs");
6
- const useFocusTrap = require("./useFocusTrap-kcxO8AeU.cjs");
7
- const Button_vue_vue_type_script_setup_true_lang = require("./Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs");
8
- const _hoisted_1$9 = ["aria-label"];
9
- const _hoisted_2$8 = { class: "text-center" };
10
- const _hoisted_3$8 = {
11
- key: 0,
12
- class: "mt-4 text-gray-600 dark:text-gray-400"
13
- };
14
- const _hoisted_4$6 = {
15
- key: 1,
16
- class: "sr-only"
17
- };
18
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19
- __name: "LoadingSpinner",
20
- props: {
21
- text: {},
22
- size: { default: "md" },
23
- ariaLabel: { default: "Loading" }
24
- },
25
- setup(__props) {
26
- const props = __props;
27
- const sizeClasses = {
28
- sm: "size-8",
29
- md: "size-12",
30
- lg: "size-16"
31
- };
32
- const accessibleLabel = vue.computed(() => props.text || props.ariaLabel);
33
- return (_ctx, _cache) => {
34
- return vue.openBlock(), vue.createElementBlock("div", {
35
- class: "flex items-center justify-center py-12",
36
- role: "status",
37
- "aria-live": "polite",
38
- "aria-label": accessibleLabel.value
39
- }, [
40
- vue.createElementVNode("div", _hoisted_2$8, [
41
- vue.createElementVNode("div", {
42
- class: vue.normalizeClass([sizeClasses[__props.size], "border-primary inline-block animate-spin rounded-full border-4 border-solid border-r-transparent"]),
43
- "aria-hidden": "true"
44
- }, null, 2),
45
- __props.text ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$8, vue.toDisplayString(__props.text), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$6, vue.toDisplayString(accessibleLabel.value), 1))
46
- ])
47
- ], 8, _hoisted_1$9);
48
- };
49
- }
50
- });
51
- const _hoisted_1$8 = ["id", "aria-labelledby"];
52
- const _hoisted_2$7 = {
53
- key: 0,
54
- class: "flex items-center justify-between border-b border-gray-200 px-6 py-4 dark:border-gray-700"
55
- };
56
- const _hoisted_3$7 = ["id"];
57
- const _hoisted_4$5 = { class: "sr-only" };
58
- const _hoisted_5$2 = { class: "flex-1 overflow-y-auto px-6 py-4" };
59
- const _hoisted_6$1 = {
60
- key: 1,
61
- class: "flex items-center justify-end gap-3 border-t border-gray-200 px-6 py-4 dark:border-gray-700"
62
- };
63
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
64
- __name: "Modal",
65
- props: {
66
- title: { default: "" },
67
- size: { default: "default" },
68
- closeOnBackdrop: { type: Boolean, default: true },
69
- closeOnEscape: { type: Boolean, default: true },
70
- closeButtonLabel: { default: "Close" },
71
- teleport: { type: [String, Boolean], default: "body" },
72
- id: {}
73
- },
74
- emits: ["close"],
75
- setup(__props, { emit: __emit }) {
76
- const props = __props;
77
- const {
78
- title,
79
- size,
80
- closeOnBackdrop,
81
- closeOnEscape,
82
- closeButtonLabel
83
- } = props;
84
- const teleportDisabled = vue.computed(() => props.teleport === false);
85
- const teleportTarget = vue.computed(() => props.teleport === false ? "body" : props.teleport);
86
- const emit = __emit;
87
- const { id: modalId, related } = useId.useId({ prefix: "modal", id: props.id });
88
- const titleId = vue.computed(() => related("title"));
89
- const isActive = vue.ref(true);
90
- const { containerRef: dialogRef } = useFocusTrap.useFocusTrap({
91
- active: isActive,
92
- focusFirst: true,
93
- restoreFocus: true
94
- });
95
- const hasTitle = vue.computed(() => Boolean(props.title));
96
- const sizeClasses = {
97
- sm: "max-w-md",
98
- default: "max-w-3xl",
99
- lg: "max-w-5xl",
100
- xl: "max-w-7xl",
101
- full: "max-w-full mx-4"
102
- };
103
- const handleBackdropClick = () => {
104
- if (closeOnBackdrop) {
105
- emit("close");
106
- }
107
- };
108
- const handleEscape = (e) => {
109
- if (e.key === "Escape" && closeOnEscape) {
110
- emit("close");
111
- }
112
- };
113
- vue.onMounted(() => {
114
- document.addEventListener("keydown", handleEscape);
115
- document.body.style.overflow = "hidden";
116
- });
117
- vue.onUnmounted(() => {
118
- document.removeEventListener("keydown", handleEscape);
119
- document.body.style.overflow = "";
120
- });
121
- return (_ctx, _cache) => {
122
- return vue.openBlock(), vue.createBlock(vue.Teleport, {
123
- to: teleportTarget.value,
124
- disabled: teleportDisabled.value
125
- }, [
126
- vue.createElementVNode("div", {
127
- class: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
128
- onClick: vue.withModifiers(handleBackdropClick, ["self"])
129
- }, [
130
- vue.createElementVNode("div", {
131
- ref_key: "dialogRef",
132
- ref: dialogRef,
133
- id: vue.unref(modalId),
134
- role: "dialog",
135
- "aria-modal": "true",
136
- "aria-labelledby": hasTitle.value ? titleId.value : void 0,
137
- class: vue.normalizeClass([sizeClasses[vue.unref(size)], "flex max-h-[90vh] w-full flex-col rounded-lg bg-white shadow-xl dark:bg-gray-900"])
138
- }, [
139
- vue.unref(title) || _ctx.$slots.header || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, [
140
- vue.createElementVNode("h3", {
141
- id: titleId.value,
142
- class: "text-xl font-semibold text-gray-900 dark:text-gray-100"
143
- }, [
144
- vue.renderSlot(_ctx.$slots, "header", {}, () => [
145
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
146
- vue.createTextVNode(vue.toDisplayString(vue.unref(title)), 1)
147
- ])
148
- ])
149
- ], 8, _hoisted_3$7),
150
- vue.createElementVNode("button", {
151
- class: "rounded-lg p-1.5 text-gray-400 hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-100",
152
- type: "button",
153
- "aria-label": "Close dialog",
154
- onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
155
- }, [
156
- vue.createVNode(vue.unref(vue$1.Icon), {
157
- class: "size-5",
158
- icon: "lucide:x",
159
- "aria-hidden": "true"
160
- }),
161
- vue.createElementVNode("span", _hoisted_4$5, vue.toDisplayString(vue.unref(closeButtonLabel)), 1)
162
- ])
163
- ])) : vue.createCommentVNode("", true),
164
- vue.createElementVNode("div", _hoisted_5$2, [
165
- vue.renderSlot(_ctx.$slots, "default")
166
- ]),
167
- _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$1, [
168
- vue.renderSlot(_ctx.$slots, "footer")
169
- ])) : vue.createCommentVNode("", true)
170
- ], 10, _hoisted_1$8)
171
- ])
172
- ], 8, ["to", "disabled"]);
173
- };
174
- }
175
- });
176
- const _hoisted_1$7 = {
177
- key: 0,
178
- class: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 border-t border-gray-200 px-4 sm:px-6 py-4 dark:border-gray-700"
179
- };
180
- const _hoisted_2$6 = { class: "flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-4" };
181
- const _hoisted_3$6 = { class: "text-sm text-gray-700 dark:text-gray-300 text-center sm:text-left" };
182
- const _hoisted_4$4 = {
183
- key: 0,
184
- class: "flex items-center justify-center sm:justify-start gap-2"
185
- };
186
- const _hoisted_5$1 = {
187
- class: "text-sm text-gray-600 dark:text-gray-400 hidden sm:inline",
188
- for: "page-size"
189
- };
190
- const _hoisted_6 = ["value"];
191
- const _hoisted_7 = ["value"];
192
- const _hoisted_8 = { class: "flex justify-center sm:justify-end gap-2" };
193
- const _hoisted_9 = ["disabled"];
194
- const _hoisted_10 = { class: "hidden sm:inline" };
195
- const _hoisted_11 = ["disabled"];
196
- const _hoisted_12 = { class: "hidden sm:inline" };
197
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
198
- __name: "PaginationControls",
199
- props: {
200
- currentPage: {},
201
- totalPages: {},
202
- loading: { type: Boolean, default: false },
203
- pageSize: { default: 10 },
204
- pageSizeOptions: { default: () => [10, 20, 50, 100] },
205
- showPageSize: { type: Boolean, default: true },
206
- pageLabel: { default: "Page" },
207
- ofLabel: { default: "of" },
208
- itemsPerPageLabel: { default: "Items per page:" },
209
- previousLabel: { default: "Previous" },
210
- nextLabel: { default: "Next" }
211
- },
212
- emits: ["update:page", "update:pageSize"],
213
- setup(__props, { emit: __emit }) {
214
- const emit = __emit;
215
- const changePage = (page) => {
216
- if (page >= 1 && page <= __props.totalPages && !__props.loading) {
217
- emit("update:page", page);
218
- }
219
- };
220
- const changePageSize = (event) => {
221
- const target = event.target;
222
- emit("update:pageSize", Number(target.value));
223
- };
224
- return (_ctx, _cache) => {
225
- return __props.totalPages > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
226
- vue.createElementVNode("div", _hoisted_2$6, [
227
- vue.createElementVNode("div", _hoisted_3$6, vue.toDisplayString(__props.pageLabel) + " " + vue.toDisplayString(__props.currentPage) + " " + vue.toDisplayString(__props.ofLabel) + " " + vue.toDisplayString(__props.totalPages), 1),
228
- __props.showPageSize ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
229
- vue.createElementVNode("label", _hoisted_5$1, vue.toDisplayString(__props.itemsPerPageLabel), 1),
230
- vue.createElementVNode("select", {
231
- id: "page-size",
232
- value: __props.pageSize,
233
- class: "focus:border-primary focus:ring-primary rounded border border-gray-300 bg-white px-2 py-1 text-sm text-gray-900 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100",
234
- onChange: changePageSize
235
- }, [
236
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.pageSizeOptions, (size) => {
237
- return vue.openBlock(), vue.createElementBlock("option", {
238
- key: size,
239
- value: size
240
- }, vue.toDisplayString(size), 9, _hoisted_7);
241
- }), 128))
242
- ], 40, _hoisted_6)
243
- ])) : vue.createCommentVNode("", true)
244
- ]),
245
- vue.createElementVNode("div", _hoisted_8, [
246
- vue.createElementVNode("button", {
247
- disabled: __props.currentPage === 1 || __props.loading,
248
- class: "focus:ring-primary inline-flex items-center gap-1 rounded-lg border border-gray-300 bg-white px-3 sm:px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",
249
- onClick: _cache[0] || (_cache[0] = ($event) => changePage(__props.currentPage - 1))
250
- }, [
251
- vue.createVNode(vue.unref(vue$1.Icon), {
252
- class: "size-4",
253
- icon: "lucide:chevron-left"
254
- }),
255
- vue.createElementVNode("span", _hoisted_10, vue.toDisplayString(__props.previousLabel), 1)
256
- ], 8, _hoisted_9),
257
- vue.createElementVNode("button", {
258
- disabled: __props.currentPage === __props.totalPages || __props.loading,
259
- class: "focus:ring-primary inline-flex items-center gap-1 rounded-lg border border-gray-300 bg-white px-3 sm:px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700",
260
- onClick: _cache[1] || (_cache[1] = ($event) => changePage(__props.currentPage + 1))
261
- }, [
262
- vue.createElementVNode("span", _hoisted_12, vue.toDisplayString(__props.nextLabel), 1),
263
- vue.createVNode(vue.unref(vue$1.Icon), {
264
- class: "size-4",
265
- icon: "lucide:chevron-right"
266
- })
267
- ], 8, _hoisted_11)
268
- ])
269
- ])) : vue.createCommentVNode("", true);
270
- };
271
- }
272
- });
273
- const _hoisted_1$6 = { class: "flex max-w-md items-start space-x-3 rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-800 dark:bg-black" };
274
- const _hoisted_2$5 = { class: "flex min-w-0 flex-1 flex-col" };
275
- const _hoisted_3$5 = {
276
- key: 0,
277
- class: "text-sm font-semibold text-gray-900 dark:text-gray-100"
278
- };
279
- const _hoisted_4$3 = {
280
- key: 1,
281
- class: "mt-1 text-sm text-gray-600 dark:text-gray-400"
282
- };
283
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
284
- __name: "NotificationComponent",
285
- props: {
286
- notification: {},
287
- autoDismiss: { type: Boolean },
288
- duration: {}
289
- },
290
- emits: ["dismiss"],
291
- setup(__props, { emit: __emit }) {
292
- const props = __props;
293
- const emit = __emit;
294
- const iconName = vue.computed(() => {
295
- switch (props.notification.type) {
296
- case "success":
297
- return "lucide:check-circle";
298
- case "info":
299
- return "lucide:info";
300
- case "warning":
301
- return "lucide:alert-triangle";
302
- case "error":
303
- return "lucide:x-circle";
304
- default:
305
- return "lucide:bell";
306
- }
307
- });
308
- const iconColor = vue.computed(() => {
309
- switch (props.notification.type) {
310
- case "success":
311
- return "text-green-600 dark:text-green-400";
312
- case "info":
313
- return "text-blue-600 dark:text-blue-400";
314
- case "warning":
315
- return "text-yellow-600 dark:text-yellow-400";
316
- case "error":
317
- return "text-red-600 dark:text-red-400";
318
- default:
319
- return "text-gray-600 dark:text-gray-400";
320
- }
321
- });
322
- const bgColor = vue.computed(() => {
323
- switch (props.notification.type) {
324
- case "success":
325
- return "bg-green-50 dark:bg-green-950";
326
- case "info":
327
- return "bg-blue-50 dark:bg-blue-950";
328
- case "warning":
329
- return "bg-yellow-50 dark:bg-yellow-950";
330
- case "error":
331
- return "bg-red-50 dark:bg-red-950";
332
- default:
333
- return "bg-gray-50 dark:bg-gray-950";
334
- }
335
- });
336
- const handleDismiss = () => {
337
- if (props.notification.id) {
338
- emit("dismiss", props.notification.id);
339
- }
340
- };
341
- vue.onMounted(() => {
342
- const duration = props.notification.duration ?? props.duration ?? 5e3;
343
- if (props.autoDismiss !== false && duration > 0) {
344
- setTimeout(() => {
345
- handleDismiss();
346
- }, duration);
347
- }
348
- });
349
- return (_ctx, _cache) => {
350
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
351
- vue.createElementVNode("div", {
352
- class: vue.normalizeClass([bgColor.value, "flex items-center justify-center rounded-full p-2"])
353
- }, [
354
- vue.createVNode(vue.unref(vue$1.Icon), {
355
- class: vue.normalizeClass([iconColor.value, "size-5"]),
356
- icon: iconName.value
357
- }, null, 8, ["class", "icon"])
358
- ], 2),
359
- vue.createElementVNode("div", _hoisted_2$5, [
360
- __props.notification.title ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_3$5, vue.toDisplayString(__props.notification.title), 1)) : vue.createCommentVNode("", true),
361
- __props.notification.message ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$3, vue.toDisplayString(__props.notification.message), 1)) : vue.createCommentVNode("", true)
362
- ]),
363
- vue.createElementVNode("button", {
364
- class: "shrink-0 text-gray-400 transition-colors hover:text-gray-600 dark:text-gray-600 dark:hover:text-gray-400",
365
- onClick: handleDismiss
366
- }, [
367
- vue.createVNode(vue.unref(vue$1.Icon), {
368
- class: "size-4",
369
- icon: "lucide:x"
370
- })
371
- ])
372
- ]);
373
- };
374
- }
375
- });
376
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
377
- __name: "NotificationList",
378
- props: {
379
- notifications: {},
380
- autoDismiss: { type: Boolean },
381
- duration: {},
382
- position: { default: "top-right" },
383
- topOffset: {}
384
- },
385
- emits: ["dismiss"],
386
- setup(__props, { emit: __emit }) {
387
- const props = __props;
388
- const emit = __emit;
389
- const positionClasses = {
390
- "top-right": "top-5 right-5",
391
- "top-left": "top-5 left-5",
392
- "bottom-right": "bottom-5 right-5",
393
- "bottom-left": "bottom-5 left-5"
394
- };
395
- const isTopPosition = vue.computed(() => {
396
- var _a;
397
- return (_a = props.position) == null ? void 0 : _a.startsWith("top");
398
- });
399
- const topStyle = vue.computed(() => {
400
- if (!isTopPosition.value || !props.topOffset) return {};
401
- return { top: props.topOffset };
402
- });
403
- return (_ctx, _cache) => {
404
- return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
405
- vue.createElementVNode("div", {
406
- class: vue.normalizeClass(["fixed z-50 flex flex-col gap-3 w-full max-w-sm", positionClasses[__props.position]]),
407
- style: vue.normalizeStyle(topStyle.value)
408
- }, [
409
- vue.createVNode(vue.TransitionGroup, {
410
- "enter-active-class": "transition duration-300 ease-out",
411
- "enter-from-class": "opacity-0 translate-x-4",
412
- "enter-to-class": "opacity-100 translate-x-0",
413
- "leave-active-class": "transition duration-200 ease-in",
414
- "leave-from-class": "opacity-100 translate-x-0",
415
- "leave-to-class": "opacity-0 translate-x-4"
416
- }, {
417
- default: vue.withCtx(() => [
418
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.notifications, (notification) => {
419
- return vue.openBlock(), vue.createBlock(_sfc_main$8, {
420
- key: notification.id,
421
- notification,
422
- "auto-dismiss": __props.autoDismiss,
423
- duration: __props.duration,
424
- onDismiss: _cache[0] || (_cache[0] = ($event) => emit("dismiss", $event))
425
- }, null, 8, ["notification", "auto-dismiss", "duration"]);
426
- }), 128))
427
- ]),
428
- _: 1
429
- })
430
- ], 6)
431
- ]);
432
- };
433
- }
434
- });
435
- const _hoisted_1$5 = { class: "flex-1" };
436
- const _hoisted_2$4 = {
437
- key: 0,
438
- class: "mb-1 font-medium text-gray-900 dark:text-white"
439
- };
440
- const _hoisted_3$4 = { class: "text-sm text-gray-700 dark:text-gray-300" };
441
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
442
- __name: "Alert",
443
- props: {
444
- variant: { default: "info" },
445
- title: {},
446
- dismissible: { type: Boolean },
447
- icon: {}
448
- },
449
- emits: ["dismiss"],
450
- setup(__props, { emit: __emit }) {
451
- const props = __props;
452
- const emit = __emit;
453
- const variantStyles = {
454
- info: {
455
- bg: "bg-blue-50 dark:bg-blue-900/20",
456
- border: "border-blue-200 dark:border-blue-800",
457
- icon: "lucide:info",
458
- iconColor: "text-blue-500"
459
- },
460
- success: {
461
- bg: "bg-green-50 dark:bg-green-900/20",
462
- border: "border-green-200 dark:border-green-800",
463
- icon: "lucide:check-circle",
464
- iconColor: "text-green-500"
465
- },
466
- warning: {
467
- bg: "bg-yellow-50 dark:bg-yellow-900/20",
468
- border: "border-yellow-200 dark:border-yellow-800",
469
- icon: "lucide:alert-triangle",
470
- iconColor: "text-yellow-500"
471
- },
472
- error: {
473
- bg: "bg-red-50 dark:bg-red-900/20",
474
- border: "border-red-200 dark:border-red-800",
475
- icon: "lucide:alert-circle",
476
- iconColor: "text-red-500"
477
- }
478
- };
479
- const styles = variantStyles[props.variant];
480
- return (_ctx, _cache) => {
481
- return vue.openBlock(), vue.createElementBlock("div", {
482
- class: vue.normalizeClass([
483
- "flex gap-3 rounded-lg border p-4",
484
- vue.unref(styles).bg,
485
- vue.unref(styles).border
486
- ]),
487
- role: "alert"
488
- }, [
489
- vue.createVNode(vue.unref(vue$1.Icon), {
490
- icon: __props.icon || vue.unref(styles).icon,
491
- class: vue.normalizeClass(["size-5 shrink-0", vue.unref(styles).iconColor]),
492
- "aria-hidden": "true"
493
- }, null, 8, ["icon", "class"]),
494
- vue.createElementVNode("div", _hoisted_1$5, [
495
- __props.title ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_2$4, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
496
- vue.createElementVNode("div", _hoisted_3$4, [
497
- vue.renderSlot(_ctx.$slots, "default")
498
- ])
499
- ]),
500
- __props.dismissible ? (vue.openBlock(), vue.createElementBlock("button", {
501
- key: 0,
502
- type: "button",
503
- class: "shrink-0 rounded p-1 text-gray-400 hover:bg-gray-200 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300",
504
- "aria-label": "Dismiss alert",
505
- onClick: _cache[0] || (_cache[0] = ($event) => emit("dismiss"))
506
- }, [
507
- vue.createVNode(vue.unref(vue$1.Icon), {
508
- icon: "lucide:x",
509
- class: "size-4",
510
- "aria-hidden": "true"
511
- })
512
- ])) : vue.createCommentVNode("", true)
513
- ], 2);
514
- };
515
- }
516
- });
517
- const _hoisted_1$4 = { class: "py-12 text-center" };
518
- const _hoisted_2$3 = {
519
- key: 1,
520
- class: "mb-2 text-lg font-medium text-gray-900 dark:text-white"
521
- };
522
- const _hoisted_3$3 = { class: "text-gray-500 dark:text-gray-400" };
523
- const _hoisted_4$2 = {
524
- key: 2,
525
- class: "mt-4"
526
- };
527
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
528
- __name: "EmptyState",
529
- props: {
530
- message: { default: "No results found" },
531
- icon: { default: "lucide:inbox" },
532
- title: {}
533
- },
534
- setup(__props) {
535
- return (_ctx, _cache) => {
536
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
537
- __props.icon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
538
- key: 0,
539
- icon: __props.icon,
540
- class: "mx-auto mb-4 size-12 text-gray-400 dark:text-gray-500"
541
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
542
- __props.title ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_2$3, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
543
- vue.createElementVNode("p", _hoisted_3$3, [
544
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
545
- vue.createTextVNode(vue.toDisplayString(__props.message), 1)
546
- ])
547
- ]),
548
- _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
549
- vue.renderSlot(_ctx.$slots, "action")
550
- ])) : vue.createCommentVNode("", true)
551
- ]);
552
- };
553
- }
554
- });
555
- const _hoisted_1$3 = { class: "flex-1 min-w-0" };
556
- const _hoisted_2$2 = {
557
- key: 0,
558
- class: "font-medium text-gray-900 dark:text-white"
559
- };
560
- const _hoisted_3$2 = { class: "text-sm text-gray-700 dark:text-gray-300" };
561
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
562
- __name: "Toast",
563
- props: {
564
- message: {},
565
- type: { default: "info" },
566
- title: {},
567
- closable: { type: Boolean, default: true },
568
- duration: { default: 5e3 }
569
- },
570
- emits: ["close"],
571
- setup(__props, { emit: __emit }) {
572
- const props = __props;
573
- const emit = __emit;
574
- const typeConfig = {
575
- success: {
576
- icon: "lucide:check-circle",
577
- bg: "bg-green-50 border-green-200 dark:bg-green-950 dark:border-green-800",
578
- iconColor: "text-green-500"
579
- },
580
- error: {
581
- icon: "lucide:x-circle",
582
- bg: "bg-red-50 border-red-200 dark:bg-red-950 dark:border-red-800",
583
- iconColor: "text-red-500"
584
- },
585
- warning: {
586
- icon: "lucide:alert-triangle",
587
- bg: "bg-yellow-50 border-yellow-200 dark:bg-yellow-950 dark:border-yellow-800",
588
- iconColor: "text-yellow-500"
589
- },
590
- info: {
591
- icon: "lucide:info",
592
- bg: "bg-blue-50 border-blue-200 dark:bg-blue-950 dark:border-blue-800",
593
- iconColor: "text-blue-500"
594
- }
595
- };
596
- const config = typeConfig[props.type];
597
- if (props.duration > 0) {
598
- setTimeout(() => {
599
- emit("close");
600
- }, props.duration);
601
- }
602
- return (_ctx, _cache) => {
603
- return vue.openBlock(), vue.createElementBlock("div", {
604
- class: vue.normalizeClass([
605
- "flex items-start gap-3 rounded-lg border p-4 shadow-lg",
606
- vue.unref(config).bg
607
- ]),
608
- role: "alert"
609
- }, [
610
- vue.createVNode(vue.unref(vue$1.Icon), {
611
- icon: vue.unref(config).icon,
612
- class: vue.normalizeClass(["size-5 shrink-0", vue.unref(config).iconColor]),
613
- "aria-hidden": "true"
614
- }, null, 8, ["icon", "class"]),
615
- vue.createElementVNode("div", _hoisted_1$3, [
616
- __props.title ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$2, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
617
- vue.createElementVNode("p", _hoisted_3$2, vue.toDisplayString(__props.message), 1)
618
- ]),
619
- __props.closable ? (vue.openBlock(), vue.createElementBlock("button", {
620
- key: 0,
621
- type: "button",
622
- class: "shrink-0 rounded p-1 text-gray-400 hover:bg-gray-200 hover:text-gray-600 dark:hover:bg-gray-700 dark:hover:text-gray-300",
623
- "aria-label": "Dismiss notification",
624
- onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
625
- }, [
626
- vue.createVNode(vue.unref(vue$1.Icon), {
627
- icon: "lucide:x",
628
- class: "size-4",
629
- "aria-hidden": "true"
630
- })
631
- ])) : vue.createCommentVNode("", true)
632
- ], 2);
633
- };
634
- }
635
- });
636
- const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
637
- __name: "ToastContainer",
638
- props: {
639
- toasts: {},
640
- position: { default: "top-right" },
641
- topOffset: {}
642
- },
643
- emits: ["close"],
644
- setup(__props, { emit: __emit }) {
645
- const props = __props;
646
- const emit = __emit;
647
- const positionClasses = {
648
- "top-right": "right-4",
649
- "top-left": "left-4",
650
- "bottom-right": "bottom-4 right-4",
651
- "bottom-left": "bottom-4 left-4",
652
- "top-center": "left-1/2 -translate-x-1/2",
653
- "bottom-center": "bottom-4 left-1/2 -translate-x-1/2"
654
- };
655
- const isTopPosition = vue.computed(() => {
656
- var _a;
657
- return (_a = props.position) == null ? void 0 : _a.startsWith("top");
658
- });
659
- const topStyle = vue.computed(() => {
660
- if (!isTopPosition.value) return {};
661
- return { top: props.topOffset || "1rem" };
662
- });
663
- return (_ctx, _cache) => {
664
- return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
665
- vue.createElementVNode("div", {
666
- class: vue.normalizeClass(["fixed z-9999 flex flex-col gap-2 w-full max-w-sm", positionClasses[__props.position]]),
667
- style: vue.normalizeStyle(topStyle.value),
668
- "aria-live": "polite",
669
- "aria-atomic": "false"
670
- }, [
671
- vue.createVNode(vue.TransitionGroup, {
672
- "enter-active-class": "transition duration-300 ease-out",
673
- "enter-from-class": "opacity-0 translate-x-4",
674
- "enter-to-class": "opacity-100 translate-x-0",
675
- "leave-active-class": "transition duration-200 ease-in",
676
- "leave-from-class": "opacity-100 translate-x-0",
677
- "leave-to-class": "opacity-0 translate-x-4"
678
- }, {
679
- default: vue.withCtx(() => [
680
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.toasts, (toast) => {
681
- return vue.openBlock(), vue.createBlock(_sfc_main$4, {
682
- key: toast.id,
683
- message: toast.message,
684
- type: toast.type,
685
- title: toast.title,
686
- duration: toast.duration,
687
- onClose: ($event) => emit("close", toast.id)
688
- }, null, 8, ["message", "type", "title", "duration", "onClose"]);
689
- }), 128))
690
- ]),
691
- _: 1
692
- })
693
- ], 6)
694
- ]);
695
- };
696
- }
697
- });
698
- const _hoisted_1$2 = { class: "w-full" };
699
- const _hoisted_2$1 = {
700
- key: 0,
701
- class: "mb-1 flex justify-between text-sm"
702
- };
703
- const _hoisted_3$1 = { class: "font-medium text-gray-900 dark:text-white" };
704
- const _hoisted_4$1 = ["aria-valuenow", "aria-valuemax"];
705
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
706
- __name: "Progress",
707
- props: {
708
- value: {},
709
- max: { default: 100 },
710
- size: { default: "md" },
711
- variant: { default: "default" },
712
- showLabel: { type: Boolean, default: false },
713
- striped: { type: Boolean, default: false },
714
- animated: { type: Boolean, default: false },
715
- indeterminate: { type: Boolean, default: false }
716
- },
717
- setup(__props) {
718
- const props = __props;
719
- const percentage = vue.computed(() => {
720
- if (props.indeterminate) return 100;
721
- return Math.min(Math.max(props.value / props.max * 100, 0), 100);
722
- });
723
- const sizeClasses = {
724
- sm: "h-1",
725
- md: "h-2",
726
- lg: "h-4"
727
- };
728
- const variantClasses = {
729
- default: "bg-primary",
730
- success: "bg-green-500",
731
- warning: "bg-yellow-500",
732
- error: "bg-red-500"
733
- };
734
- return (_ctx, _cache) => {
735
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
736
- __props.showLabel && !__props.indeterminate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$1, [
737
- _cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "text-gray-600 dark:text-gray-400" }, "Progress", -1)),
738
- vue.createElementVNode("span", _hoisted_3$1, vue.toDisplayString(Math.round(percentage.value)) + "%", 1)
739
- ])) : vue.createCommentVNode("", true),
740
- vue.createElementVNode("div", {
741
- class: vue.normalizeClass([
742
- "w-full overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700",
743
- sizeClasses[__props.size]
744
- ]),
745
- role: "progressbar",
746
- "aria-valuenow": __props.indeterminate ? void 0 : __props.value,
747
- "aria-valuemin": 0,
748
- "aria-valuemax": __props.max
749
- }, [
750
- vue.createElementVNode("div", {
751
- class: vue.normalizeClass([
752
- "h-full rounded-full transition-all duration-300",
753
- variantClasses[__props.variant],
754
- __props.striped && "bg-stripes",
755
- __props.animated && "animate-stripes",
756
- __props.indeterminate && "animate-indeterminate"
757
- ]),
758
- style: vue.normalizeStyle({ width: __props.indeterminate ? "30%" : `${percentage.value}%` })
759
- }, null, 6)
760
- ], 10, _hoisted_4$1)
761
- ]);
762
- };
763
- }
764
- });
765
- const Progress = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$2, [["__scopeId", "data-v-7ff636cf"]]);
766
- const _hoisted_1$1 = {
767
- key: 0,
768
- class: "space-y-2",
769
- "aria-hidden": "true"
770
- };
771
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
772
- __name: "Skeleton",
773
- props: {
774
- variant: { default: "text" },
775
- width: {},
776
- height: {},
777
- lines: { default: 1 },
778
- animate: { type: Boolean, default: true }
779
- },
780
- setup(__props) {
781
- const variantClasses = {
782
- text: "h-4 rounded",
783
- circular: "rounded-full",
784
- rectangular: "",
785
- rounded: "rounded-lg"
786
- };
787
- return (_ctx, _cache) => {
788
- return __props.variant === "text" && __props.lines > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
789
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.lines, (i) => {
790
- return vue.openBlock(), vue.createElementBlock("div", {
791
- key: i,
792
- class: vue.normalizeClass([
793
- "bg-gray-200 dark:bg-gray-700",
794
- variantClasses[__props.variant],
795
- __props.animate && "animate-pulse"
796
- ]),
797
- style: vue.normalizeStyle({
798
- width: i === __props.lines ? "75%" : __props.width || "100%",
799
- height: __props.height
800
- })
801
- }, null, 6);
802
- }), 128))
803
- ])) : (vue.openBlock(), vue.createElementBlock("div", {
804
- key: 1,
805
- class: vue.normalizeClass([
806
- "bg-gray-200 dark:bg-gray-700",
807
- variantClasses[__props.variant],
808
- __props.animate && "animate-pulse"
809
- ]),
810
- style: vue.normalizeStyle({
811
- width: __props.width || (__props.variant === "circular" ? "3rem" : "100%"),
812
- height: __props.height || (__props.variant === "circular" ? "3rem" : __props.variant === "text" ? "1rem" : "6rem")
813
- }),
814
- "aria-hidden": "true"
815
- }, null, 6));
816
- };
817
- }
818
- });
819
- const _hoisted_1 = { class: "text-center" };
820
- const _hoisted_2 = { class: "mx-auto mb-4 flex size-14 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800" };
821
- const _hoisted_3 = { class: "mb-2 text-lg font-semibold text-gray-900 dark:text-gray-100" };
822
- const _hoisted_4 = { class: "mb-6 text-gray-600 dark:text-gray-400" };
823
- const _hoisted_5 = { class: "flex justify-center gap-3" };
824
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
825
- __name: "ConfirmDialog",
826
- props: {
827
- open: { type: Boolean, default: false },
828
- title: { default: "Confirm" },
829
- message: { default: "Are you sure you want to proceed?" },
830
- confirmText: { default: "Confirm" },
831
- cancelText: { default: "Cancel" },
832
- variant: { default: "info" },
833
- loading: { type: Boolean, default: false },
834
- icon: {},
835
- teleport: { type: [String, Boolean], default: "body" }
836
- },
837
- emits: ["confirm", "cancel"],
838
- setup(__props, { emit: __emit }) {
839
- const props = __props;
840
- const emit = __emit;
841
- const variantConfig = {
842
- info: {
843
- icon: "lucide:info",
844
- iconClass: "text-blue-500",
845
- buttonVariant: "primary"
846
- },
847
- warning: {
848
- icon: "lucide:alert-triangle",
849
- iconClass: "text-yellow-500",
850
- buttonVariant: "primary"
851
- },
852
- danger: {
853
- icon: "lucide:alert-circle",
854
- iconClass: "text-red-500",
855
- buttonVariant: "danger"
856
- },
857
- success: {
858
- icon: "lucide:check-circle",
859
- iconClass: "text-green-500",
860
- buttonVariant: "success"
861
- }
862
- };
863
- const config = variantConfig[props.variant];
864
- return (_ctx, _cache) => {
865
- return __props.open ? (vue.openBlock(), vue.createBlock(_sfc_main$a, {
866
- key: 0,
867
- size: "sm",
868
- "close-on-backdrop": !__props.loading,
869
- "close-on-escape": !__props.loading,
870
- teleport: __props.teleport,
871
- onClose: _cache[2] || (_cache[2] = ($event) => emit("cancel"))
872
- }, {
873
- default: vue.withCtx(() => [
874
- vue.createElementVNode("div", _hoisted_1, [
875
- vue.createElementVNode("div", _hoisted_2, [
876
- vue.createVNode(vue.unref(vue$1.Icon), {
877
- icon: __props.icon || vue.unref(config).icon,
878
- class: vue.normalizeClass([vue.unref(config).iconClass, "size-8"])
879
- }, null, 8, ["icon", "class"])
880
- ]),
881
- vue.createElementVNode("h3", _hoisted_3, vue.toDisplayString(__props.title), 1),
882
- vue.createElementVNode("p", _hoisted_4, [
883
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
884
- vue.createTextVNode(vue.toDisplayString(__props.message), 1)
885
- ])
886
- ]),
887
- vue.createElementVNode("div", _hoisted_5, [
888
- vue.createVNode(Button_vue_vue_type_script_setup_true_lang._sfc_main, {
889
- variant: "outline",
890
- disabled: __props.loading,
891
- onClick: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
892
- }, {
893
- default: vue.withCtx(() => [
894
- vue.createTextVNode(vue.toDisplayString(__props.cancelText), 1)
895
- ]),
896
- _: 1
897
- }, 8, ["disabled"]),
898
- vue.createVNode(Button_vue_vue_type_script_setup_true_lang._sfc_main, {
899
- variant: vue.unref(config).buttonVariant,
900
- loading: __props.loading,
901
- onClick: _cache[1] || (_cache[1] = ($event) => emit("confirm"))
902
- }, {
903
- default: vue.withCtx(() => [
904
- vue.createTextVNode(vue.toDisplayString(__props.confirmText), 1)
905
- ]),
906
- _: 1
907
- }, 8, ["variant", "loading"])
908
- ])
909
- ])
910
- ]),
911
- _: 3
912
- }, 8, ["close-on-backdrop", "close-on-escape", "teleport"])) : vue.createCommentVNode("", true);
913
- };
914
- }
915
- });
916
- exports.Progress = Progress;
917
- exports._sfc_main = _sfc_main$b;
918
- exports._sfc_main$1 = _sfc_main$a;
919
- exports._sfc_main$10 = _sfc_main;
920
- exports._sfc_main$2 = _sfc_main$9;
921
- exports._sfc_main$3 = _sfc_main$8;
922
- exports._sfc_main$4 = _sfc_main$7;
923
- exports._sfc_main$5 = _sfc_main$6;
924
- exports._sfc_main$6 = _sfc_main$5;
925
- exports._sfc_main$7 = _sfc_main$4;
926
- exports._sfc_main$8 = _sfc_main$3;
927
- exports._sfc_main$9 = _sfc_main$1;
928
- //# sourceMappingURL=ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs.map