@antify/ui-module 1.1.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 (336) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/module.cjs +5 -0
  4. package/dist/module.d.mts +131 -0
  5. package/dist/module.d.ts +131 -0
  6. package/dist/module.json +5 -0
  7. package/dist/module.mjs +339 -0
  8. package/dist/runtime/assets/tailwind.css +1 -0
  9. package/dist/runtime/components/AntAccordion.vue +59 -0
  10. package/dist/runtime/components/AntAccordionItem.vue +66 -0
  11. package/dist/runtime/components/AntAlert.vue +137 -0
  12. package/dist/runtime/components/AntDropdown.vue +79 -0
  13. package/dist/runtime/components/AntIcon.vue +51 -0
  14. package/dist/runtime/components/AntKeycap.vue +24 -0
  15. package/dist/runtime/components/AntListGroup.vue +24 -0
  16. package/dist/runtime/components/AntListGroupItem.vue +81 -0
  17. package/dist/runtime/components/AntModal.vue +87 -0
  18. package/dist/runtime/components/AntPagination.vue +201 -0
  19. package/dist/runtime/components/AntPopover.vue +112 -0
  20. package/dist/runtime/components/AntSkeleton.vue +38 -0
  21. package/dist/runtime/components/AntSpinner.vue +95 -0
  22. package/dist/runtime/components/AntTag.vue +79 -0
  23. package/dist/runtime/components/AntToast.vue +109 -0
  24. package/dist/runtime/components/AntToaster.vue +46 -0
  25. package/dist/runtime/components/AntTooltip.vue +165 -0
  26. package/dist/runtime/components/Main.stories.mdx +10 -0
  27. package/dist/runtime/components/__stories/AntAccordion.stories.d.ts +9 -0
  28. package/dist/runtime/components/__stories/AntAccordion.stories.mjs +97 -0
  29. package/dist/runtime/components/__stories/AntAlert.stories.d.ts +10 -0
  30. package/dist/runtime/components/__stories/AntAlert.stories.mjs +75 -0
  31. package/dist/runtime/components/__stories/AntDropdown.stories.d.ts +6 -0
  32. package/dist/runtime/components/__stories/AntDropdown.stories.mjs +52 -0
  33. package/dist/runtime/components/__stories/AntIcon.stories.d.ts +8 -0
  34. package/dist/runtime/components/__stories/AntIcon.stories.mjs +90 -0
  35. package/dist/runtime/components/__stories/AntKeycap.stories.d.ts +9 -0
  36. package/dist/runtime/components/__stories/AntKeycap.stories.mjs +59 -0
  37. package/dist/runtime/components/__stories/AntListGroup.stories.d.ts +7 -0
  38. package/dist/runtime/components/__stories/AntListGroup.stories.mjs +36 -0
  39. package/dist/runtime/components/__stories/AntListGroupItem.stories.d.ts +10 -0
  40. package/dist/runtime/components/__stories/AntListGroupItem.stories.mjs +62 -0
  41. package/dist/runtime/components/__stories/AntModal.stories.d.ts +7 -0
  42. package/dist/runtime/components/__stories/AntModal.stories.mjs +78 -0
  43. package/dist/runtime/components/__stories/AntPagination.stories.d.ts +8 -0
  44. package/dist/runtime/components/__stories/AntPagination.stories.mjs +39 -0
  45. package/dist/runtime/components/__stories/AntPopover.stories.d.ts +6 -0
  46. package/dist/runtime/components/__stories/AntPopover.stories.mjs +47 -0
  47. package/dist/runtime/components/__stories/AntSkeleton.stories.d.ts +8 -0
  48. package/dist/runtime/components/__stories/AntSkeleton.stories.mjs +43 -0
  49. package/dist/runtime/components/__stories/AntSpinner.stories.d.ts +6 -0
  50. package/dist/runtime/components/__stories/AntSpinner.stories.mjs +34 -0
  51. package/dist/runtime/components/__stories/AntTag.stories.d.ts +7 -0
  52. package/dist/runtime/components/__stories/AntTag.stories.mjs +44 -0
  53. package/dist/runtime/components/__stories/AntToast.stories.d.ts +8 -0
  54. package/dist/runtime/components/__stories/AntToast.stories.mjs +66 -0
  55. package/dist/runtime/components/__stories/AntToaster.stories.d.ts +34 -0
  56. package/dist/runtime/components/__stories/AntToaster.stories.mjs +42 -0
  57. package/dist/runtime/components/__stories/AntTooltip.stories.d.ts +6 -0
  58. package/dist/runtime/components/__stories/AntTooltip.stories.mjs +43 -0
  59. package/dist/runtime/components/__types/Accordion.types.d.ts +4 -0
  60. package/dist/runtime/components/__types/Accordion.types.mjs +5 -0
  61. package/dist/runtime/components/__types/AntIcon.types.d.ts +5 -0
  62. package/dist/runtime/components/__types/AntIcon.types.mjs +6 -0
  63. package/dist/runtime/components/__types/AntToaster.types.d.ts +8 -0
  64. package/dist/runtime/components/__types/AntToaster.types.mjs +0 -0
  65. package/dist/runtime/components/__types/index.d.ts +2 -0
  66. package/dist/runtime/components/__types/index.mjs +2 -0
  67. package/dist/runtime/components/buttons/AntButton.vue +227 -0
  68. package/dist/runtime/components/buttons/AntCreateButton.vue +32 -0
  69. package/dist/runtime/components/buttons/AntDeleteButton.vue +32 -0
  70. package/dist/runtime/components/buttons/AntSaveAndNewButton.vue +32 -0
  71. package/dist/runtime/components/buttons/AntSaveButton.vue +31 -0
  72. package/dist/runtime/components/buttons/__stories/AntButton.stories.d.ts +15 -0
  73. package/dist/runtime/components/buttons/__stories/AntButton.stories.mjs +272 -0
  74. package/dist/runtime/components/buttons/__stories/AntCreateButton.stories.d.ts +10 -0
  75. package/dist/runtime/components/buttons/__stories/AntCreateButton.stories.mjs +57 -0
  76. package/dist/runtime/components/buttons/__stories/AntDeleteButton.stories.d.ts +10 -0
  77. package/dist/runtime/components/buttons/__stories/AntDeleteButton.stories.mjs +57 -0
  78. package/dist/runtime/components/buttons/__stories/AntSaveAndNewButton.stories.d.ts +10 -0
  79. package/dist/runtime/components/buttons/__stories/AntSaveAndNewButton.stories.mjs +57 -0
  80. package/dist/runtime/components/buttons/__stories/AntSaveButton.stories.d.ts +10 -0
  81. package/dist/runtime/components/buttons/__stories/AntSaveButton.stories.mjs +57 -0
  82. package/dist/runtime/components/buttons/__types/AntButton.type.d.ts +4 -0
  83. package/dist/runtime/components/buttons/__types/AntButton.type.mjs +5 -0
  84. package/dist/runtime/components/buttons/__types/index.d.ts +1 -0
  85. package/dist/runtime/components/buttons/__types/index.mjs +1 -0
  86. package/dist/runtime/components/crud/AntCrud.vue +42 -0
  87. package/dist/runtime/components/crud/AntCrudDetail.vue +11 -0
  88. package/dist/runtime/components/crud/AntCrudDetailActions.vue +51 -0
  89. package/dist/runtime/components/crud/AntCrudDetailNav.vue +51 -0
  90. package/dist/runtime/components/crud/AntCrudTableFilter.vue +120 -0
  91. package/dist/runtime/components/crud/AntCrudTableNav.vue +129 -0
  92. package/dist/runtime/components/crud/__stories/AntCrud.stories.d.ts +6 -0
  93. package/dist/runtime/components/crud/__stories/AntCrud.stories.mjs +126 -0
  94. package/dist/runtime/components/crud/__stories/AntCrudDetail.stories.d.ts +7 -0
  95. package/dist/runtime/components/crud/__stories/AntCrudDetail.stories.mjs +80 -0
  96. package/dist/runtime/components/crud/__stories/AntCrudDetailActions.stories.d.ts +6 -0
  97. package/dist/runtime/components/crud/__stories/AntCrudDetailActions.stories.mjs +25 -0
  98. package/dist/runtime/components/crud/__stories/AntCrudDetailNav.stories.d.ts +6 -0
  99. package/dist/runtime/components/crud/__stories/AntCrudDetailNav.stories.mjs +41 -0
  100. package/dist/runtime/components/crud/__stories/AntCrudTableFilter.stories.d.ts +6 -0
  101. package/dist/runtime/components/crud/__stories/AntCrudTableFilter.stories.mjs +25 -0
  102. package/dist/runtime/components/crud/__stories/AntCrudTableNav.stories.d.ts +8 -0
  103. package/dist/runtime/components/crud/__stories/AntCrudTableNav.stories.mjs +56 -0
  104. package/dist/runtime/components/dialogs/AntDeleteDialog.vue +29 -0
  105. package/dist/runtime/components/dialogs/AntDialog.vue +147 -0
  106. package/dist/runtime/components/dialogs/__stories/AndDeleteDialog.stories.d.ts +6 -0
  107. package/dist/runtime/components/dialogs/__stories/AndDeleteDialog.stories.mjs +30 -0
  108. package/dist/runtime/components/dialogs/__stories/AntDialog.stories.d.ts +6 -0
  109. package/dist/runtime/components/dialogs/__stories/AntDialog.stories.mjs +60 -0
  110. package/dist/runtime/components/form/AntCheckboxWidget/AntCheckbox.vue +145 -0
  111. package/dist/runtime/components/form/AntCheckboxWidget/AntCheckboxGroup.vue +91 -0
  112. package/dist/runtime/components/form/AntCheckboxWidget/__stories/AntCheckbox.stories.d.ts +8 -0
  113. package/dist/runtime/components/form/AntCheckboxWidget/__stories/AntCheckbox.stories.mjs +286 -0
  114. package/dist/runtime/components/form/AntCheckboxWidget/__stories/AntCheckboxGroup.stories.d.ts +7 -0
  115. package/dist/runtime/components/form/AntCheckboxWidget/__stories/AntCheckboxGroup.stories.mjs +96 -0
  116. package/dist/runtime/components/form/AntCheckboxWidget/__types/AntCheckbox.d.ts +6 -0
  117. package/dist/runtime/components/form/AntCheckboxWidget/__types/AntCheckbox.mjs +0 -0
  118. package/dist/runtime/components/form/AntFormGroup.vue +21 -0
  119. package/dist/runtime/components/form/AntFormGroupLabel.vue +5 -0
  120. package/dist/runtime/components/form/AntNumberInput.vue +170 -0
  121. package/dist/runtime/components/form/AntRadioWidget/AntRadio.vue +139 -0
  122. package/dist/runtime/components/form/AntRadioWidget/AntRadioGroup.vue +80 -0
  123. package/dist/runtime/components/form/AntRadioWidget/__stories/AntRadio.stories.d.ts +8 -0
  124. package/dist/runtime/components/form/AntRadioWidget/__stories/AntRadio.stories.mjs +79 -0
  125. package/dist/runtime/components/form/AntRadioWidget/__stories/AntRadioGroup.stories.d.ts +8 -0
  126. package/dist/runtime/components/form/AntRadioWidget/__stories/AntRadioGroup.stories.mjs +125 -0
  127. package/dist/runtime/components/form/AntRadioWidget/__types/AntRadio.type.d.ts +9 -0
  128. package/dist/runtime/components/form/AntRadioWidget/__types/AntRadio.type.mjs +0 -0
  129. package/dist/runtime/components/form/AntRangeSlider.vue +81 -0
  130. package/dist/runtime/components/form/AntRichTextEditor.vue +237 -0
  131. package/dist/runtime/components/form/AntSearch.vue +76 -0
  132. package/dist/runtime/components/form/AntSelect.vue +346 -0
  133. package/dist/runtime/components/form/AntSwitch.vue +145 -0
  134. package/dist/runtime/components/form/AntSwitcher.vue +184 -0
  135. package/dist/runtime/components/form/AntTextInput.vue +73 -0
  136. package/dist/runtime/components/form/AntTextarea.vue +170 -0
  137. package/dist/runtime/components/form/AntUnitInput.vue +99 -0
  138. package/dist/runtime/components/form/Elements/AntBaseInput.vue +216 -0
  139. package/dist/runtime/components/form/Elements/AntDropDown.vue +160 -0
  140. package/dist/runtime/components/form/Elements/AntField.vue +102 -0
  141. package/dist/runtime/components/form/Elements/AntInputDescription.vue +55 -0
  142. package/dist/runtime/components/form/Elements/AntInputLabel.vue +55 -0
  143. package/dist/runtime/components/form/Elements/AntInputLimiter.vue +55 -0
  144. package/dist/runtime/components/form/Elements/__stories/AntBaseInput.stories.d.ts +9 -0
  145. package/dist/runtime/components/form/Elements/__stories/AntBaseInput.stories.mjs +168 -0
  146. package/dist/runtime/components/form/Elements/__stories/AntField.stories.d.ts +6 -0
  147. package/dist/runtime/components/form/Elements/__stories/AntField.stories.mjs +80 -0
  148. package/dist/runtime/components/form/Elements/__stories/AntInputDescription.stories.d.ts +6 -0
  149. package/dist/runtime/components/form/Elements/__stories/AntInputDescription.stories.mjs +34 -0
  150. package/dist/runtime/components/form/Elements/__stories/AntInputLabel.stories.d.ts +7 -0
  151. package/dist/runtime/components/form/Elements/__stories/AntInputLabel.stories.mjs +46 -0
  152. package/dist/runtime/components/form/Elements/__stories/AntInputLimiter.stories.d.ts +6 -0
  153. package/dist/runtime/components/form/Elements/__stories/AntInputLimiter.stories.mjs +37 -0
  154. package/dist/runtime/components/form/Elements/__types/AntBaseInput.type.d.ts +16 -0
  155. package/dist/runtime/components/form/Elements/__types/AntBaseInput.type.mjs +17 -0
  156. package/dist/runtime/components/form/Elements/__types/index.d.ts +1 -0
  157. package/dist/runtime/components/form/Elements/__types/index.mjs +1 -0
  158. package/dist/runtime/components/form/Elements/index.d.ts +6 -0
  159. package/dist/runtime/components/form/Elements/index.mjs +12 -0
  160. package/dist/runtime/components/form/__stories/AntFormGroup.stories.d.ts +6 -0
  161. package/dist/runtime/components/form/__stories/AntFormGroup.stories.mjs +33 -0
  162. package/dist/runtime/components/form/__stories/AntFormGroupLabel.stories.d.ts +6 -0
  163. package/dist/runtime/components/form/__stories/AntFormGroupLabel.stories.mjs +20 -0
  164. package/dist/runtime/components/form/__stories/AntNumberInput.stories.d.ts +7 -0
  165. package/dist/runtime/components/form/__stories/AntNumberInput.stories.mjs +67 -0
  166. package/dist/runtime/components/form/__stories/AntRangeSlider.stories.d.ts +6 -0
  167. package/dist/runtime/components/form/__stories/AntRangeSlider.stories.mjs +40 -0
  168. package/dist/runtime/components/form/__stories/AntRichTextEditor.stories-old.d.ts +0 -0
  169. package/dist/runtime/components/form/__stories/AntRichTextEditor.stories-old.mjs +0 -0
  170. package/dist/runtime/components/form/__stories/AntSearch.stories.d.ts +6 -0
  171. package/dist/runtime/components/form/__stories/AntSearch.stories.mjs +43 -0
  172. package/dist/runtime/components/form/__stories/AntSelect.stories.d.ts +13 -0
  173. package/dist/runtime/components/form/__stories/AntSelect.stories.mjs +220 -0
  174. package/dist/runtime/components/form/__stories/AntSwitch.stories.d.ts +8 -0
  175. package/dist/runtime/components/form/__stories/AntSwitch.stories.mjs +215 -0
  176. package/dist/runtime/components/form/__stories/AntSwitcher.stories.d.ts +8 -0
  177. package/dist/runtime/components/form/__stories/AntSwitcher.stories.mjs +225 -0
  178. package/dist/runtime/components/form/__stories/AntTextInput.stories.d.ts +7 -0
  179. package/dist/runtime/components/form/__stories/AntTextInput.stories.mjs +68 -0
  180. package/dist/runtime/components/form/__stories/AntTextarea.stories.d.ts +8 -0
  181. package/dist/runtime/components/form/__stories/AntTextarea.stories.mjs +128 -0
  182. package/dist/runtime/components/form/__stories/AntUnitInput.stories.d.ts +8 -0
  183. package/dist/runtime/components/form/__stories/AntUnitInput.stories.mjs +84 -0
  184. package/dist/runtime/components/form/__types/AntSelect.type.d.ts +4 -0
  185. package/dist/runtime/components/form/__types/AntSelect.type.mjs +0 -0
  186. package/dist/runtime/components/form/__types/AntSwitcher.type.d.ts +4 -0
  187. package/dist/runtime/components/form/__types/AntSwitcher.type.mjs +0 -0
  188. package/dist/runtime/components/form/__types/AntTextInput.type.d.ts +7 -0
  189. package/dist/runtime/components/form/__types/AntTextInput.type.mjs +8 -0
  190. package/dist/runtime/components/form/__types/index.d.ts +3 -0
  191. package/dist/runtime/components/form/__types/index.mjs +3 -0
  192. package/dist/runtime/components/form/index.d.ts +11 -0
  193. package/dist/runtime/components/form/index.mjs +22 -0
  194. package/dist/runtime/components/index.d.ts +22 -0
  195. package/dist/runtime/components/index.mjs +41 -0
  196. package/dist/runtime/components/layouts/AntNavLeftLayout.vue +36 -0
  197. package/dist/runtime/components/layouts/__stories/AntNavLeftLayout.stories.d.ts +7 -0
  198. package/dist/runtime/components/layouts/__stories/AntNavLeftLayout.stories.mjs +68 -0
  199. package/dist/runtime/components/navbar/AntNavbar.vue +25 -0
  200. package/dist/runtime/components/navbar/AntNavbarItem.vue +78 -0
  201. package/dist/runtime/components/navbar/__stories/AntNavbar.stories.d.ts +6 -0
  202. package/dist/runtime/components/navbar/__stories/AntNavbar.stories.mjs +66 -0
  203. package/dist/runtime/components/navbar/__types/NavbarItem.d.ts +10 -0
  204. package/dist/runtime/components/navbar/__types/NavbarItem.mjs +0 -0
  205. package/dist/runtime/components/table/AntTable.vue +192 -0
  206. package/dist/runtime/components/table/AntTableSortButton.vue +26 -0
  207. package/dist/runtime/components/table/AntTd.vue +70 -0
  208. package/dist/runtime/components/table/AntTh.vue +67 -0
  209. package/dist/runtime/components/table/__stories/AntTable.stories.d.ts +9 -0
  210. package/dist/runtime/components/table/__stories/AntTable.stories.mjs +274 -0
  211. package/dist/runtime/components/table/__types/TableHeader.type.d.ts +31 -0
  212. package/dist/runtime/components/table/__types/TableHeader.type.mjs +19 -0
  213. package/dist/runtime/components/tabs/AntTabItem.vue +115 -0
  214. package/dist/runtime/components/tabs/AntTabs.vue +47 -0
  215. package/dist/runtime/components/tabs/__stories/AntTabItem.stories.d.ts +6 -0
  216. package/dist/runtime/components/tabs/__stories/AntTabItem.stories.mjs +32 -0
  217. package/dist/runtime/components/tabs/__stories/AntTabs.stories.d.ts +9 -0
  218. package/dist/runtime/components/tabs/__stories/AntTabs.stories.mjs +173 -0
  219. package/dist/runtime/components/tabs/__types/AntTabItem.types.d.ts +17 -0
  220. package/dist/runtime/components/tabs/__types/AntTabItem.types.mjs +6 -0
  221. package/dist/runtime/components/transitions/AntTransitionCollapseHeight.vue +92 -0
  222. package/dist/runtime/composables/useUi.d.ts +20 -0
  223. package/dist/runtime/composables/useUi.mjs +31 -0
  224. package/dist/runtime/composables/useUiClient.d.ts +34 -0
  225. package/dist/runtime/composables/useUiClient.mjs +61 -0
  226. package/dist/runtime/composables/useValidator.d.ts +1 -0
  227. package/dist/runtime/composables/useValidator.mjs +1 -0
  228. package/dist/runtime/enums/ColorType.enum.d.ts +16 -0
  229. package/dist/runtime/enums/ColorType.enum.mjs +18 -0
  230. package/dist/runtime/enums/Direction.enum.d.ts +4 -0
  231. package/dist/runtime/enums/Direction.enum.mjs +5 -0
  232. package/dist/runtime/enums/Grouped.enum.d.ts +6 -0
  233. package/dist/runtime/enums/Grouped.enum.mjs +7 -0
  234. package/dist/runtime/enums/Position.enum.d.ts +12 -0
  235. package/dist/runtime/enums/Position.enum.mjs +14 -0
  236. package/dist/runtime/enums/Size.enum.d.ts +4 -0
  237. package/dist/runtime/enums/Size.enum.mjs +5 -0
  238. package/dist/runtime/enums/index.d.ts +4 -0
  239. package/dist/runtime/enums/index.mjs +4 -0
  240. package/dist/runtime/env.d.ts +8 -0
  241. package/dist/runtime/handler.d.ts +1 -0
  242. package/dist/runtime/handler.mjs +5 -0
  243. package/dist/runtime/plugins/toaster.d.ts +22 -0
  244. package/dist/runtime/plugins/toaster.mjs +53 -0
  245. package/dist/runtime/plugins/ui-module.d.ts +2 -0
  246. package/dist/runtime/plugins/ui-module.mjs +13 -0
  247. package/dist/runtime/shims/vue.d.ts +5 -0
  248. package/dist/runtime/tailwind.config.d.ts +182 -0
  249. package/dist/runtime/tailwind.config.mjs +196 -0
  250. package/dist/runtime/types/AntListGroupItem.type.d.ts +11 -0
  251. package/dist/runtime/types/AntListGroupItem.type.mjs +12 -0
  252. package/dist/runtime/types/AntTag.type.d.ts +8 -0
  253. package/dist/runtime/types/AntTag.type.mjs +9 -0
  254. package/dist/runtime/types/Checkbox.type.d.ts +8 -0
  255. package/dist/runtime/types/Checkbox.type.mjs +0 -0
  256. package/dist/runtime/types/NavItem.type.d.ts +9 -0
  257. package/dist/runtime/types/NavItem.type.mjs +0 -0
  258. package/dist/runtime/types/RadioButton.type.d.ts +5 -0
  259. package/dist/runtime/types/RadioButton.type.mjs +0 -0
  260. package/dist/runtime/types/Tabs.type.d.ts +6 -0
  261. package/dist/runtime/types/Tabs.type.mjs +0 -0
  262. package/dist/runtime/types/Toaster.type.d.ts +6 -0
  263. package/dist/runtime/types/Toaster.type.mjs +0 -0
  264. package/dist/runtime/types/index.d.ts +7 -0
  265. package/dist/runtime/types/index.mjs +7 -0
  266. package/dist/runtime/types.d.ts +7 -0
  267. package/dist/runtime/types.mjs +7 -0
  268. package/dist/runtime/utils/helper.d.ts +4 -0
  269. package/dist/runtime/utils/helper.mjs +12 -0
  270. package/dist/runtime/utils.d.ts +14 -0
  271. package/dist/runtime/utils.mjs +20 -0
  272. package/dist/types.d.mts +8 -0
  273. package/dist/types.d.ts +8 -0
  274. package/package.json +81 -0
  275. package/src/runtime/components/AntAccordion.vue +59 -0
  276. package/src/runtime/components/AntAccordionItem.vue +104 -0
  277. package/src/runtime/components/AntAlert.vue +137 -0
  278. package/src/runtime/components/AntDropdown.vue +100 -0
  279. package/src/runtime/components/AntIcon.vue +51 -0
  280. package/src/runtime/components/AntKeycap.vue +24 -0
  281. package/src/runtime/components/AntListGroup.vue +24 -0
  282. package/src/runtime/components/AntListGroupItem.vue +81 -0
  283. package/src/runtime/components/AntModal.vue +129 -0
  284. package/src/runtime/components/AntPagination.vue +201 -0
  285. package/src/runtime/components/AntPopover.vue +133 -0
  286. package/src/runtime/components/AntSkeleton.vue +38 -0
  287. package/src/runtime/components/AntSpinner.vue +95 -0
  288. package/src/runtime/components/AntTag.vue +79 -0
  289. package/src/runtime/components/AntToast.vue +109 -0
  290. package/src/runtime/components/AntToaster.vue +71 -0
  291. package/src/runtime/components/AntTooltip.vue +165 -0
  292. package/src/runtime/components/buttons/AntButton.vue +227 -0
  293. package/src/runtime/components/buttons/AntCreateButton.vue +32 -0
  294. package/src/runtime/components/buttons/AntDeleteButton.vue +32 -0
  295. package/src/runtime/components/buttons/AntSaveAndNewButton.vue +32 -0
  296. package/src/runtime/components/buttons/AntSaveButton.vue +31 -0
  297. package/src/runtime/components/crud/AntCrud.vue +66 -0
  298. package/src/runtime/components/crud/AntCrudDetail.vue +11 -0
  299. package/src/runtime/components/crud/AntCrudDetailActions.vue +51 -0
  300. package/src/runtime/components/crud/AntCrudDetailNav.vue +51 -0
  301. package/src/runtime/components/crud/AntCrudTableFilter.vue +120 -0
  302. package/src/runtime/components/crud/AntCrudTableNav.vue +129 -0
  303. package/src/runtime/components/dialogs/AntDeleteDialog.vue +29 -0
  304. package/src/runtime/components/dialogs/AntDialog.vue +181 -0
  305. package/src/runtime/components/form/AntCheckboxWidget/AntCheckbox.vue +167 -0
  306. package/src/runtime/components/form/AntCheckboxWidget/AntCheckboxGroup.vue +91 -0
  307. package/src/runtime/components/form/AntFormGroup.vue +21 -0
  308. package/src/runtime/components/form/AntFormGroupLabel.vue +5 -0
  309. package/src/runtime/components/form/AntNumberInput.vue +170 -0
  310. package/src/runtime/components/form/AntRadioWidget/AntRadio.vue +164 -0
  311. package/src/runtime/components/form/AntRadioWidget/AntRadioGroup.vue +80 -0
  312. package/src/runtime/components/form/AntRangeSlider.vue +101 -0
  313. package/src/runtime/components/form/AntRichTextEditor.vue +237 -0
  314. package/src/runtime/components/form/AntSearch.vue +76 -0
  315. package/src/runtime/components/form/AntSelect.vue +346 -0
  316. package/src/runtime/components/form/AntSwitch.vue +145 -0
  317. package/src/runtime/components/form/AntSwitcher.vue +200 -0
  318. package/src/runtime/components/form/AntTextInput.vue +73 -0
  319. package/src/runtime/components/form/AntTextarea.vue +170 -0
  320. package/src/runtime/components/form/AntUnitInput.vue +99 -0
  321. package/src/runtime/components/form/Elements/AntBaseInput.vue +247 -0
  322. package/src/runtime/components/form/Elements/AntDropDown.vue +160 -0
  323. package/src/runtime/components/form/Elements/AntField.vue +102 -0
  324. package/src/runtime/components/form/Elements/AntInputDescription.vue +55 -0
  325. package/src/runtime/components/form/Elements/AntInputLabel.vue +55 -0
  326. package/src/runtime/components/form/Elements/AntInputLimiter.vue +55 -0
  327. package/src/runtime/components/layouts/AntNavLeftLayout.vue +36 -0
  328. package/src/runtime/components/navbar/AntNavbar.vue +25 -0
  329. package/src/runtime/components/navbar/AntNavbarItem.vue +78 -0
  330. package/src/runtime/components/table/AntTable.vue +192 -0
  331. package/src/runtime/components/table/AntTableSortButton.vue +26 -0
  332. package/src/runtime/components/table/AntTd.vue +70 -0
  333. package/src/runtime/components/table/AntTh.vue +67 -0
  334. package/src/runtime/components/tabs/AntTabItem.vue +115 -0
  335. package/src/runtime/components/tabs/AntTabs.vue +47 -0
  336. package/src/runtime/components/transitions/AntTransitionCollapseHeight.vue +96 -0
@@ -0,0 +1,31 @@
1
+ <script lang="ts" setup>
2
+ import {Grouped} from '../../enums/Grouped.enum';
3
+ import {Size} from '../../enums/Size.enum';
4
+ import {ColorType} from '../../enums/ColorType.enum';
5
+ import AntButton from './AntButton.vue';
6
+
7
+ defineEmits(['click', 'blur']);
8
+ defineProps<{
9
+ size?: Size;
10
+ disabled?: boolean;
11
+ grouped?: Grouped;
12
+ skeleton?: boolean;
13
+ expanded?: boolean;
14
+ }>()
15
+ </script>
16
+
17
+ <template>
18
+ <AntButton
19
+ :size="size"
20
+ :disabled="disabled"
21
+ :grouped="grouped"
22
+ :skeleton="skeleton"
23
+ :expanded="expanded"
24
+ :color-type="ColorType.primary"
25
+ data-e2e="save-button"
26
+ @click="$emit('click')"
27
+ @blur="$emit('blur')"
28
+ >
29
+ Save
30
+ </AntButton>
31
+ </template>
@@ -0,0 +1,66 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{
3
+ showDetail?: boolean,
4
+ }>(), {
5
+ showDetail: false,
6
+ });
7
+ </script>
8
+
9
+ <template>
10
+ <div class="flex w-full h-full" data-e2e="crud">
11
+ <div
12
+ class="left-content h-full flex flex-col bg-neutral-300 gap-px overflow-hidden"
13
+ :class="{'w-[40rem]': showDetail, 'w-full': !showDetail}"
14
+ >
15
+ <div class="bg-neutral-50">
16
+ <slot name="search-section"/>
17
+ </div>
18
+
19
+ <div class="bg-neutral-50 flex-grow h-full overflow-hidden">
20
+ <slot name="table-section"/>
21
+ </div>
22
+
23
+ <div class="bg-neutral-50">
24
+ <slot name="table-nav-section"/>
25
+ </div>
26
+ </div>
27
+
28
+ <transition name="right-content">
29
+ <div
30
+ v-if="showDetail"
31
+ class="flex flex-col gap-px border-l border-neutral-300 overflow-hidden"
32
+ :class="{'w-full': showDetail}"
33
+ >
34
+ <slot/>
35
+ </div>
36
+ </transition>
37
+ </div>
38
+ </template>
39
+
40
+ <style scoped>
41
+ .left-content {
42
+ transition: width .5s ease-in-out, opacity .5s ease;
43
+ }
44
+ .right-content-enter-active {
45
+ transition: width .5s ease-in-out, opacity .5s ease .3s;
46
+ }
47
+ .right-content-enter-from {
48
+ width: 0;
49
+ opacity: 0;
50
+ }
51
+ .right-content-enter-to {
52
+ width: 100%;
53
+ opacity: 1;
54
+ }
55
+ .right-content-leave-active {
56
+ transition: width .5s ease-in-out, opacity .2s ease;
57
+ }
58
+ .right-content-leave-from {
59
+ width: 100%;
60
+ opacity: 1;
61
+ }
62
+ .right-content-leave-to {
63
+ width: 0;
64
+ opacity: 0;
65
+ }
66
+ </style>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <div class="flex flex-col bg-neutral-300 gap-px h-full" data-e2e="crud-detail">
3
+ <slot name="header"/>
4
+
5
+ <div class="flex-grow bg-neutral-50 h-full overflow-y-auto">
6
+ <slot/>
7
+ </div>
8
+
9
+ <slot name="footer"/>
10
+ </div>
11
+ </template>
@@ -0,0 +1,51 @@
1
+ <script setup lang="ts">
2
+ import AntButton from '../buttons/AntButton.vue';
3
+ import {faAngleLeft} from '@fortawesome/free-solid-svg-icons';
4
+ import AntSaveAndNewButton from '../buttons/AntSaveAndNewButton.vue';
5
+ import AntSaveButton from '../buttons/AntSaveButton.vue';
6
+
7
+ defineEmits(['back', 'save', 'save-and-new']);
8
+ withDefaults(defineProps<{
9
+ disabled?: boolean
10
+ skeleton?: boolean
11
+ }>(), {
12
+ disabled: false,
13
+ skeleton: false,
14
+ });
15
+ </script>
16
+
17
+ <template>
18
+ <div class="flex justify-between p-2.5 gap-2.5 bg-neutral-50" data-e2e="crud-detail-actions">
19
+ <div class="flex gap-2.5">
20
+ <slot name="buttons-left">
21
+ <AntButton
22
+ :outlined="false"
23
+ :filled="true"
24
+ :icon-left="faAngleLeft"
25
+ :disabled="disabled"
26
+ @click="$emit('back')"
27
+ >
28
+ Back
29
+ </AntButton>
30
+ </slot>
31
+ </div>
32
+
33
+ <div class="flex gap-2.5">
34
+ <slot name="before-buttons-right"/>
35
+ <slot name="buttons-right">
36
+ <AntSaveAndNewButton
37
+ :skeleton="skeleton"
38
+ :disabled="disabled"
39
+ @click="$emit('save-and-new')"
40
+ />
41
+
42
+ <AntSaveButton
43
+ :skeleton="skeleton"
44
+ :disabled="disabled"
45
+ @click="$emit('save')"
46
+ />
47
+ </slot>
48
+ <slot name="after-buttons-right"/>
49
+ </div>
50
+ </div>
51
+ </template>
@@ -0,0 +1,51 @@
1
+ <script setup lang="ts">
2
+ // TODO:: fix why tabs are not full height in story
3
+ import type {TabItem} from '../tabs/__types/AntTabItem.types';
4
+ import AntTabs from '../tabs/AntTabs.vue';
5
+ import AntDeleteButton from '../buttons/AntDeleteButton.vue';
6
+ import AntDeleteDialog from '../dialogs/AntDeleteDialog.vue';
7
+ import {ref} from 'vue';
8
+
9
+ defineEmits(['delete']);
10
+ withDefaults(defineProps<{
11
+ tabItems?: TabItem[]
12
+ disabled?: boolean
13
+ getEntityName: () => string
14
+ }>(), {
15
+ disabled: false,
16
+ });
17
+
18
+ const dialogOpen = ref(false);
19
+ </script>
20
+
21
+ <template>
22
+ <div class="flex justify-between items-stretch gap-2.5 bg-neutral-50" data-e2e="crud-detail-nav">
23
+ <slot name="tabs">
24
+ <AntTabs
25
+ :tabItems="tabItems"
26
+ />
27
+ </slot>
28
+
29
+ <div class="flex gap-2.5 pr-2.5 py-2.5">
30
+ <slot name="buttons">
31
+ <slot name="before-delete-button"/>
32
+
33
+ <slot name="delete-button">
34
+ <AntDeleteButton
35
+ :disabled="disabled"
36
+ filled
37
+ @click="() => dialogOpen = true"
38
+ />
39
+ </slot>
40
+
41
+ <slot name="after-delete-button"/>
42
+ </slot>
43
+ </div>
44
+
45
+ <AntDeleteDialog
46
+ v-model:open="dialogOpen"
47
+ :entity="getEntityName()"
48
+ @confirm="$emit('delete')"
49
+ />
50
+ </div>
51
+ </template>
@@ -0,0 +1,120 @@
1
+ <script lang="ts" setup>
2
+ // TODO:: This component works only with vue-router. Make it work in storybook.
3
+ // TODO:: add skeleton
4
+ import AntSearch from '../form/AntSearch.vue';
5
+ import AntCreateButton from '../buttons/AntCreateButton.vue';
6
+ import AntDropdown from '../AntDropdown.vue';
7
+ import AntIcon from '../AntIcon.vue';
8
+ import {computed, ref, watch} from 'vue';
9
+ import AntButton from '../buttons/AntButton.vue';
10
+ import {faFilter, faMultiply} from '@fortawesome/free-solid-svg-icons';
11
+ import {ColorType, Grouped, Position} from '../../enums';
12
+ import {useRoute, useRouter} from 'vue-router';
13
+
14
+ const props = withDefaults(defineProps<{
15
+ fullWidth?: boolean,
16
+ showFilter?: boolean,
17
+ searchQuery?: string,
18
+ hasFilter?: boolean,
19
+ skeleton?: boolean,
20
+ }>(), {
21
+ fullWidth: true,
22
+ showFilter: true,
23
+ searchQuery: 'search',
24
+ hasFilter: false,
25
+ skeleton: false,
26
+ });
27
+ const emit = defineEmits(['search', 'create', 'removeFilter']);
28
+ const router = useRouter();
29
+ const route = useRoute();
30
+
31
+ const showDropdown = ref(false);
32
+ const _fullWidth = ref(props.fullWidth)
33
+ const search = computed({
34
+ get: () => route.query[props.searchQuery] as string || '',
35
+ set: (value) => {
36
+ const query = {
37
+ ...route.query,
38
+ [props.searchQuery]: value
39
+ }
40
+
41
+ if (!value) {
42
+ delete query[props.searchQuery];
43
+ }
44
+
45
+ (async () => {
46
+ await router.replace({
47
+ ...route,
48
+ query
49
+ })
50
+
51
+ emit('search', value)
52
+ })()
53
+ }
54
+ })
55
+
56
+ watch(() => props.fullWidth, (val) => {
57
+ setTimeout(() => {
58
+ _fullWidth.value = val
59
+ }, val ? 250 : 300)
60
+ })
61
+ </script>
62
+
63
+ <template>
64
+ <div
65
+ class="flex h-full items-center p-2.5 gap-2.5 bg-neutral-50"
66
+ data-e2e="crud-table-filter"
67
+ >
68
+ <div
69
+ class="flex gap-2.5 flex-grow"
70
+ :class="{'flex-grow': !_fullWidth}"
71
+ >
72
+ <div :class="{'w-80': _fullWidth, 'w-full': !_fullWidth}">
73
+ <AntSearch
74
+ v-model="search"
75
+ :skeleton="skeleton"
76
+ />
77
+ </div>
78
+
79
+ <AntDropdown
80
+ v-if="showFilter"
81
+ v-model:show-dropdown="showDropdown"
82
+ :position="Position.left"
83
+ >
84
+ <div class="flex">
85
+ <AntButton
86
+ :color-type="hasFilter ? ColorType.info : ColorType.base"
87
+ :grouped="hasFilter ? Grouped.left : Grouped.none"
88
+ :skeleton="skeleton"
89
+ :icon-left="faFilter"
90
+ @click="() => showDropdown = !showDropdown"
91
+ />
92
+
93
+ <AntButton
94
+ v-if="hasFilter"
95
+ :color-type="ColorType.info"
96
+ :grouped="Grouped.right"
97
+ :skeleton="skeleton"
98
+ :icon-left="faMultiply"
99
+ filled
100
+ @click="$emit('removeFilter')"
101
+ />
102
+ </div>
103
+
104
+ <template #content>
105
+ <slot name="dropdownContent"/>
106
+ </template>
107
+ </AntDropdown>
108
+ </div>
109
+
110
+ <div v-if="_fullWidth">
111
+ <slot name="buttons">
112
+ <AntCreateButton
113
+ filled
114
+ :skeleton="skeleton"
115
+ @click="() => emit('create')"
116
+ />
117
+ </slot>
118
+ </div>
119
+ </div>
120
+ </template>
@@ -0,0 +1,129 @@
1
+ <script lang="ts" setup>
2
+ // @ts-nocheck
3
+ /**
4
+ * TODO:: test me in storybook through vue router
5
+ * TODO:: fix ts errors
6
+ */
7
+ import {useRouter, useRoute} from 'vue-router'
8
+ import AntPagination from '../AntPagination.vue';
9
+ import {computed, ref, watch} from 'vue';
10
+ import AntSelect from '../form/AntSelect.vue';
11
+ import AntSkeleton from '../AntSkeleton.vue';
12
+ import {type SelectOption} from '../form/__types';
13
+
14
+ const emit = defineEmits(['changeItemsPerPage', 'changePage'])
15
+ const props = withDefaults(
16
+ defineProps<{
17
+ count: number | null,
18
+ pageQuery?: string,
19
+ itemsPerPageQuery?: string,
20
+ fullWidth?: boolean,
21
+ validItemsPerPage?: number[],
22
+ skeleton?: boolean
23
+ }>(),
24
+ {
25
+ pageQuery: 'p',
26
+ itemsPerPageQuery: 'ipp',
27
+ fullWidth: true,
28
+ validItemsPerPage: () => [20, 50, 100, 200],
29
+ skeleton: false
30
+ }
31
+ )
32
+
33
+ const route = useRoute()
34
+ const router = useRouter()
35
+ const itemsPerPageOptions = computed(() =>
36
+ props.validItemsPerPage.map(item => ({
37
+ label: `${item}`,
38
+ value: item
39
+ }) as SelectOption)
40
+ )
41
+ const page = computed(() => {
42
+ const _page = route.query[props.pageQuery] >= 1 ? Number.parseInt(route.query[props.pageQuery]) : 1
43
+
44
+ if (_page <= 0 || _page > pages.value) {
45
+ return 1
46
+ }
47
+
48
+ return _page
49
+ })
50
+ const itemsPerPage = computed({
51
+ get() {
52
+ return route.query[props.itemsPerPageQuery] ?
53
+ Number.parseInt(route.query[props.itemsPerPageQuery]) :
54
+ props.validItemsPerPage[0]
55
+ },
56
+ set(val) {
57
+ const query = {...route.query}
58
+ query[props.itemsPerPageQuery] = `${val}`
59
+ delete query[props.pageQuery];
60
+
61
+ (async () => {
62
+ await router.push({
63
+ ...route,
64
+ query
65
+ })
66
+
67
+ emit('changeItemsPerPage', val)
68
+ })()
69
+ }
70
+ })
71
+ const fromItems = computed(() => (itemsPerPage.value * (page.value - 1)))
72
+ const pages = computed(() => Math.ceil(props.count / itemsPerPage.value))
73
+ const _fullWidth = ref(props.fullWidth)
74
+
75
+ watch(() => props.fullWidth, (val) => {
76
+ setTimeout(() => {
77
+ _fullWidth.value = val
78
+ }, val ? 300 : 200)
79
+ })
80
+ </script>
81
+
82
+ <template>
83
+ <div
84
+ class="w-full"
85
+ data-e2e="crud-table-nav"
86
+ >
87
+ <div
88
+ class="flex w-full items-center p-2.5"
89
+ :class="{'justify-end': !_fullWidth, 'justify-between': _fullWidth}"
90
+ >
91
+ <div
92
+ v-if="_fullWidth"
93
+ class="flex gap-2 items-center text-neutral-50-font text-sm"
94
+ data-e2e="items-per-page"
95
+ >
96
+ <span class="relative">
97
+ <AntSkeleton v-if="skeleton" rounded absolute/>
98
+ Items per page
99
+ </span>
100
+
101
+ <AntSelect
102
+ v-model="itemsPerPage"
103
+ :options="itemsPerPageOptions"
104
+ :skeleton="skeleton"
105
+ :expanded="false"
106
+ />
107
+
108
+ <div v-if="count !== null" class="flex gap-1 relative">
109
+ <AntSkeleton v-if="skeleton" rounded absolute/>
110
+
111
+ <span class="font-medium">{{ fromItems }} - {{ itemsPerPage * page }}</span>
112
+ <span>of</span>
113
+ <span
114
+ class="font-medium"
115
+ data-e2e="total-items"
116
+ >{{ count }}</span>
117
+ </div>
118
+ </div>
119
+
120
+ <AntPagination
121
+ :pages="pages"
122
+ :page-query="pageQuery"
123
+ :skeleton="skeleton"
124
+ :light-version="!_fullWidth"
125
+ @input="(val) => emit('changePage', val)"
126
+ />
127
+ </div>
128
+ </div>
129
+ </template>
@@ -0,0 +1,29 @@
1
+ <script setup lang="ts">
2
+ import {InputColorType} from '../../enums';
3
+ import AntDialog from './AntDialog.vue';
4
+ import {useVModel} from '@vueuse/core';
5
+
6
+ const emit = defineEmits(['update:open', 'close', 'confirm']);
7
+ const props = defineProps<{
8
+ open: boolean,
9
+ entity: string
10
+ }>();
11
+
12
+ const _open = useVModel(props, 'open', emit);
13
+ </script>
14
+
15
+ <template>
16
+ <AntDialog
17
+ v-model:open="_open"
18
+ :color-type="InputColorType.danger"
19
+ title="Delete"
20
+ confirm-text="Delete"
21
+ data-e2e="delete-dialog"
22
+ @confirm="() => $emit('confirm')"
23
+ @close="() => $emit('close')"
24
+ >
25
+ <div>
26
+ Do you really want to delete <span class="font-semibold">{{entity}}</span>?
27
+ </div>
28
+ </AntDialog>
29
+ </template>
@@ -0,0 +1,181 @@
1
+ <script setup lang="ts">
2
+ // TODO:: remove ts ignore
3
+ // @ts-nocheck
4
+ import {computed, ref, watch} from 'vue';
5
+ import AntButton from '../buttons/AntButton.vue';
6
+ import AntIcon from '../AntIcon.vue';
7
+ import {
8
+ faCheckCircle,
9
+ faExclamationCircle,
10
+ faExclamationTriangle,
11
+ faInfoCircle,
12
+ type IconDefinition,
13
+ } from '@fortawesome/free-solid-svg-icons';
14
+ import {ColorType, InputColorType} from '../../enums';
15
+ import {IconSize} from '../__types';
16
+
17
+ const emit = defineEmits(['update:open', 'close', 'confirm']);
18
+ const props = withDefaults(defineProps<{
19
+ title?: string,
20
+ open: boolean,
21
+ confirmText?: string,
22
+ cancelText?: string,
23
+ showCancel?: boolean,
24
+ colorType?: InputColorType
25
+ }>(), {
26
+ colorType: InputColorType.base,
27
+ confirmText: 'Confirm',
28
+ cancelText: 'Cancel',
29
+ showCancel: true,
30
+ });
31
+
32
+ const openDialog = ref(props.open);
33
+ const openBackground = ref(props.open);
34
+ const icons = {
35
+ [InputColorType.base]: null,
36
+ [InputColorType.info]: faInfoCircle,
37
+ [InputColorType.danger]: faExclamationCircle,
38
+ [InputColorType.warning]: faExclamationTriangle,
39
+ [InputColorType.success]: faCheckCircle,
40
+ };
41
+
42
+ const iconColor = computed(() => {
43
+ const variants = {
44
+ [InputColorType.base]: 'text-neutral-100-font',
45
+ [InputColorType.danger]: 'text-danger-500',
46
+ [InputColorType.info]: 'text-info-500',
47
+ [InputColorType.success]: 'text-success-500',
48
+ [InputColorType.warning]: 'text-warning-500',
49
+ };
50
+
51
+ return variants[props.colorType];
52
+ });
53
+
54
+ watch(() => props.open, (val) => {
55
+ function onKeydown(e: KeyboardEvent) {
56
+ if (e.key === 'Escape') {
57
+ emit('update:open', false);
58
+ }
59
+ }
60
+
61
+ if (val) {
62
+ openBackground.value = true;
63
+ setTimeout(() => openDialog.value = true, 100)
64
+ document.addEventListener('keydown', onKeydown);
65
+ } else {
66
+ openDialog.value = false;
67
+ setTimeout(() => openBackground.value = false, 100)
68
+ document.removeEventListener('keydown', onKeydown);
69
+ }
70
+ });
71
+
72
+ function closeDialog() {
73
+ emit('update:open', false);
74
+ emit('close');
75
+ }
76
+ function confirmDialog() {
77
+ emit('update:open', false);
78
+ emit('confirm');
79
+ }
80
+ </script>
81
+
82
+ <template>
83
+ <transition name="fade">
84
+ <div
85
+ v-if="openBackground"
86
+ class="absolute inset-0 flex items-center justify-center z-50 cursor-pointer overflow-hidden bg-black/50 backdrop-blur-sm"
87
+ data-e2e="dialog"
88
+ @click.self="closeDialog"
89
+ >
90
+ <transition :name="'bounce'">
91
+ <div
92
+ v-if="openDialog"
93
+ class="flex flex-col gap-px bg-neutral-300 overflow-hidden cursor-auto w-96 border border-neutral-300 rounded-md shadow-md"
94
+ >
95
+ <div
96
+ v-if="title || $slots['title']"
97
+ class="bg-neutral-100 p-2.5 flex items-center justify-between text-neutral-100-font text-sm font-semibold"
98
+ >
99
+ <slot name="title">
100
+ {{ title }}
101
+ </slot>
102
+ </div>
103
+
104
+ <div class="bg-neutral-50 p-2.5 grow flex items-center gap-2.5 text-sm">
105
+ <slot name="icon">
106
+ <AntIcon
107
+ v-if="icons[colorType]"
108
+ :size="IconSize.xl3"
109
+ :icon="icons[colorType] as unknown as IconDefinition"
110
+ :color="iconColor"
111
+ class="px-2.5 w-8 h-8"
112
+ />
113
+ </slot>
114
+
115
+ <slot/>
116
+ </div>
117
+
118
+ <div
119
+ class="bg-neutral-100 p-2.5 gap-2.5 text-neutral-50-font flex w-full justify-end"
120
+ >
121
+ <slot name="footer">
122
+ <AntButton
123
+ v-if="showCancel"
124
+ :color-type="ColorType.base"
125
+ @click="closeDialog()"
126
+ >
127
+ {{ cancelText }}
128
+ </AntButton>
129
+
130
+ <AntButton
131
+ :color-type="colorType === ColorType.base ? ColorType.primary : colorType as unknown as ColorType"
132
+ filled
133
+ @click="confirmDialog()"
134
+ >
135
+ {{ confirmText }}
136
+ </AntButton>
137
+ </slot>
138
+ </div>
139
+ </div>
140
+ </transition>
141
+ </div>
142
+ </transition>
143
+ </template>
144
+
145
+ <style scoped>
146
+ .fade-leave-active {
147
+ transition: opacity .5s ease;
148
+ }
149
+
150
+ .fade-enter-active {
151
+ transition: opacity 0.3s ease;
152
+ }
153
+
154
+ .fade-enter-from,
155
+ .fade-leave-to {
156
+ opacity: 0;
157
+ }
158
+
159
+ .bounce-enter-active {
160
+ animation: bounce-in .4s;
161
+ }
162
+
163
+ .bounce-leave-active {
164
+ animation: bounce-in .4s reverse;
165
+ }
166
+
167
+ @keyframes bounce-in {
168
+ 0% {
169
+ transform: scale(0);
170
+ opacity: 0;
171
+ }
172
+ 50% {
173
+ transform: scale(1.05);
174
+ opacity: 1;
175
+ }
176
+ 100% {
177
+ transform: scale(1);
178
+ opacity: 1;
179
+ }
180
+ }
181
+ </style>