@antify/ui-module 1.7.3 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/README.md +43 -52
  2. package/dist/module.d.mts +1 -251
  3. package/dist/module.d.ts +1 -251
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +97 -418
  6. package/dist/runtime/composables/useUiClient.d.ts +2 -2
  7. package/dist/runtime/composables/useUiClient.mjs +1 -2
  8. package/dist/runtime/plugins/ui-module.mjs +3 -2
  9. package/dist/runtime/tailwind.config.d.ts +2 -3
  10. package/dist/runtime/tailwind.config.mjs +20 -204
  11. package/dist/types.d.mts +1 -1
  12. package/dist/types.d.ts +1 -1
  13. package/package.json +10 -41
  14. package/dist/runtime/components/AntAccordion.vue +0 -64
  15. package/dist/runtime/components/AntAccordionItem.vue +0 -81
  16. package/dist/runtime/components/AntAlert.vue +0 -146
  17. package/dist/runtime/components/AntCard.vue +0 -34
  18. package/dist/runtime/components/AntContent.vue +0 -16
  19. package/dist/runtime/components/AntDropdown.vue +0 -79
  20. package/dist/runtime/components/AntIcon.vue +0 -56
  21. package/dist/runtime/components/AntKeycap.vue +0 -45
  22. package/dist/runtime/components/AntListGroup.vue +0 -24
  23. package/dist/runtime/components/AntListGroupItem.vue +0 -83
  24. package/dist/runtime/components/AntModal.vue +0 -88
  25. package/dist/runtime/components/AntPagination.vue +0 -206
  26. package/dist/runtime/components/AntPopover.vue +0 -114
  27. package/dist/runtime/components/AntSkeleton.vue +0 -38
  28. package/dist/runtime/components/AntSpinner.vue +0 -101
  29. package/dist/runtime/components/AntTag.vue +0 -114
  30. package/dist/runtime/components/AntToast.vue +0 -119
  31. package/dist/runtime/components/AntToaster.vue +0 -51
  32. package/dist/runtime/components/AntTooltip.vue +0 -189
  33. package/dist/runtime/components/Main.mdx +0 -11
  34. package/dist/runtime/components/Main.stories.d.ts +0 -7
  35. package/dist/runtime/components/Main.stories.mjs +0 -8
  36. package/dist/runtime/components/__stories/AntAccordion.stories.d.ts +0 -9
  37. package/dist/runtime/components/__stories/AntAccordion.stories.mjs +0 -101
  38. package/dist/runtime/components/__stories/AntAlert.stories.d.ts +0 -11
  39. package/dist/runtime/components/__stories/AntAlert.stories.mjs +0 -81
  40. package/dist/runtime/components/__stories/AntCard.stories.d.ts +0 -7
  41. package/dist/runtime/components/__stories/AntCard.stories.mjs +0 -87
  42. package/dist/runtime/components/__stories/AntContent.stories.d.ts +0 -6
  43. package/dist/runtime/components/__stories/AntContent.stories.mjs +0 -26
  44. package/dist/runtime/components/__stories/AntDropdown.stories.d.ts +0 -6
  45. package/dist/runtime/components/__stories/AntDropdown.stories.mjs +0 -52
  46. package/dist/runtime/components/__stories/AntIcon.stories.d.ts +0 -8
  47. package/dist/runtime/components/__stories/AntIcon.stories.mjs +0 -93
  48. package/dist/runtime/components/__stories/AntKeycap.stories.d.ts +0 -9
  49. package/dist/runtime/components/__stories/AntKeycap.stories.mjs +0 -69
  50. package/dist/runtime/components/__stories/AntListGroup.stories.d.ts +0 -7
  51. package/dist/runtime/components/__stories/AntListGroup.stories.mjs +0 -36
  52. package/dist/runtime/components/__stories/AntListGroupItem.stories.d.ts +0 -10
  53. package/dist/runtime/components/__stories/AntListGroupItem.stories.mjs +0 -62
  54. package/dist/runtime/components/__stories/AntModal.stories.d.ts +0 -7
  55. package/dist/runtime/components/__stories/AntModal.stories.mjs +0 -78
  56. package/dist/runtime/components/__stories/AntPagination.stories.d.ts +0 -8
  57. package/dist/runtime/components/__stories/AntPagination.stories.mjs +0 -39
  58. package/dist/runtime/components/__stories/AntPopover.stories.d.ts +0 -6
  59. package/dist/runtime/components/__stories/AntPopover.stories.mjs +0 -47
  60. package/dist/runtime/components/__stories/AntSkeleton.stories.d.ts +0 -8
  61. package/dist/runtime/components/__stories/AntSkeleton.stories.mjs +0 -43
  62. package/dist/runtime/components/__stories/AntSpinner.stories.d.ts +0 -6
  63. package/dist/runtime/components/__stories/AntSpinner.stories.mjs +0 -34
  64. package/dist/runtime/components/__stories/AntTag.stories.d.ts +0 -7
  65. package/dist/runtime/components/__stories/AntTag.stories.mjs +0 -43
  66. package/dist/runtime/components/__stories/AntToast.stories.d.ts +0 -8
  67. package/dist/runtime/components/__stories/AntToast.stories.mjs +0 -66
  68. package/dist/runtime/components/__stories/AntToaster.stories.d.ts +0 -34
  69. package/dist/runtime/components/__stories/AntToaster.stories.mjs +0 -42
  70. package/dist/runtime/components/__stories/AntTooltip.stories.d.ts +0 -16
  71. package/dist/runtime/components/__stories/AntTooltip.stories.mjs +0 -241
  72. package/dist/runtime/components/__types/AntAccordion.types.d.ts +0 -4
  73. package/dist/runtime/components/__types/AntAccordion.types.mjs +0 -5
  74. package/dist/runtime/components/__types/AntIcon.types.d.ts +0 -8
  75. package/dist/runtime/components/__types/AntIcon.types.mjs +0 -9
  76. package/dist/runtime/components/__types/AntKeycap.types.d.ts +0 -4
  77. package/dist/runtime/components/__types/AntKeycap.types.mjs +0 -5
  78. package/dist/runtime/components/__types/AntListGroupItem.types.d.ts +0 -9
  79. package/dist/runtime/components/__types/AntListGroupItem.types.mjs +0 -10
  80. package/dist/runtime/components/__types/AntSpinner.types.d.ts +0 -10
  81. package/dist/runtime/components/__types/AntSpinner.types.mjs +0 -11
  82. package/dist/runtime/components/__types/AntTag.types.d.ts +0 -17
  83. package/dist/runtime/components/__types/AntTag.types.mjs +0 -19
  84. package/dist/runtime/components/__types/AntToaster.types.d.ts +0 -8
  85. package/dist/runtime/components/__types/AntToaster.types.mjs +0 -0
  86. package/dist/runtime/components/__types/index.d.ts +0 -7
  87. package/dist/runtime/components/__types/index.mjs +0 -7
  88. package/dist/runtime/components/buttons/AntActionButton.vue +0 -74
  89. package/dist/runtime/components/buttons/AntButton.vue +0 -257
  90. package/dist/runtime/components/buttons/AntCreateButton.vue +0 -54
  91. package/dist/runtime/components/buttons/AntDeleteButton.vue +0 -54
  92. package/dist/runtime/components/buttons/AntDuplicateButton.vue +0 -54
  93. package/dist/runtime/components/buttons/AntEditButton.vue +0 -54
  94. package/dist/runtime/components/buttons/AntSaveAndNewButton.vue +0 -56
  95. package/dist/runtime/components/buttons/AntSaveButton.vue +0 -55
  96. package/dist/runtime/components/buttons/__stories/AntActionButton.stories.d.ts +0 -11
  97. package/dist/runtime/components/buttons/__stories/AntActionButton.stories.mjs +0 -86
  98. package/dist/runtime/components/buttons/__stories/AntButton.stories.d.ts +0 -16
  99. package/dist/runtime/components/buttons/__stories/AntButton.stories.mjs +0 -313
  100. package/dist/runtime/components/buttons/__stories/AntCreateButton.stories.d.ts +0 -12
  101. package/dist/runtime/components/buttons/__stories/AntCreateButton.stories.mjs +0 -76
  102. package/dist/runtime/components/buttons/__stories/AntDeleteButton.stories.d.ts +0 -12
  103. package/dist/runtime/components/buttons/__stories/AntDeleteButton.stories.mjs +0 -76
  104. package/dist/runtime/components/buttons/__stories/AntDuplicateButton.stories.d.ts +0 -12
  105. package/dist/runtime/components/buttons/__stories/AntDuplicateButton.stories.mjs +0 -76
  106. package/dist/runtime/components/buttons/__stories/AntEditButton.stories.d.ts +0 -12
  107. package/dist/runtime/components/buttons/__stories/AntEditButton.stories.mjs +0 -76
  108. package/dist/runtime/components/buttons/__stories/AntSaveAndNewButton.stories.d.ts +0 -12
  109. package/dist/runtime/components/buttons/__stories/AntSaveAndNewButton.stories.mjs +0 -76
  110. package/dist/runtime/components/buttons/__stories/AntSaveButton.stories.d.ts +0 -12
  111. package/dist/runtime/components/buttons/__stories/AntSaveButton.stories.mjs +0 -76
  112. package/dist/runtime/components/buttons/__types/AntButton.types.d.ts +0 -4
  113. package/dist/runtime/components/buttons/__types/AntButton.types.mjs +0 -5
  114. package/dist/runtime/components/buttons/__types/index.d.ts +0 -1
  115. package/dist/runtime/components/buttons/__types/index.mjs +0 -1
  116. package/dist/runtime/components/crud/AntCrud.vue +0 -45
  117. package/dist/runtime/components/crud/AntCrudDetail.vue +0 -11
  118. package/dist/runtime/components/crud/AntCrudDetailActions.vue +0 -58
  119. package/dist/runtime/components/crud/AntCrudDetailNav.vue +0 -64
  120. package/dist/runtime/components/crud/AntCrudTableFilter.vue +0 -122
  121. package/dist/runtime/components/crud/AntCrudTableNav.vue +0 -149
  122. package/dist/runtime/components/crud/__stories/AntCrud.stories.d.ts +0 -6
  123. package/dist/runtime/components/crud/__stories/AntCrud.stories.mjs +0 -126
  124. package/dist/runtime/components/crud/__stories/AntCrudDetail.stories.d.ts +0 -7
  125. package/dist/runtime/components/crud/__stories/AntCrudDetail.stories.mjs +0 -80
  126. package/dist/runtime/components/crud/__stories/AntCrudDetailActions.stories.d.ts +0 -6
  127. package/dist/runtime/components/crud/__stories/AntCrudDetailActions.stories.mjs +0 -25
  128. package/dist/runtime/components/crud/__stories/AntCrudDetailNav.stories.d.ts +0 -6
  129. package/dist/runtime/components/crud/__stories/AntCrudDetailNav.stories.mjs +0 -41
  130. package/dist/runtime/components/crud/__stories/AntCrudTableFilter.stories.d.ts +0 -6
  131. package/dist/runtime/components/crud/__stories/AntCrudTableFilter.stories.mjs +0 -25
  132. package/dist/runtime/components/crud/__stories/AntCrudTableNav.stories.d.ts +0 -8
  133. package/dist/runtime/components/crud/__stories/AntCrudTableNav.stories.mjs +0 -56
  134. package/dist/runtime/components/dialogs/AntDeleteDialog.vue +0 -29
  135. package/dist/runtime/components/dialogs/AntDialog.vue +0 -147
  136. package/dist/runtime/components/dialogs/__stories/AndDeleteDialog.stories.d.ts +0 -6
  137. package/dist/runtime/components/dialogs/__stories/AndDeleteDialog.stories.mjs +0 -32
  138. package/dist/runtime/components/dialogs/__stories/AntDialog.stories.d.ts +0 -6
  139. package/dist/runtime/components/dialogs/__stories/AntDialog.stories.mjs +0 -60
  140. package/dist/runtime/components/forms/AntField.vue +0 -123
  141. package/dist/runtime/components/forms/AntFormGroup.vue +0 -36
  142. package/dist/runtime/components/forms/AntFormGroupLabel.vue +0 -5
  143. package/dist/runtime/components/forms/__stories/AntField.stories.d.ts +0 -6
  144. package/dist/runtime/components/forms/__stories/AntField.stories.mjs +0 -80
  145. package/dist/runtime/components/forms/__stories/AntFormGroup.stories.d.ts +0 -6
  146. package/dist/runtime/components/forms/__stories/AntFormGroup.stories.mjs +0 -33
  147. package/dist/runtime/components/forms/__stories/AntFormGroupLabel.stories.d.ts +0 -6
  148. package/dist/runtime/components/forms/__stories/AntFormGroupLabel.stories.mjs +0 -20
  149. package/dist/runtime/components/index.d.ts +0 -62
  150. package/dist/runtime/components/index.mjs +0 -124
  151. package/dist/runtime/components/inputs/AntCheckbox.vue +0 -182
  152. package/dist/runtime/components/inputs/AntCheckboxGroup.vue +0 -117
  153. package/dist/runtime/components/inputs/AntDateInput.vue +0 -104
  154. package/dist/runtime/components/inputs/AntNumberInput.vue +0 -157
  155. package/dist/runtime/components/inputs/AntPasswordInput.vue +0 -107
  156. package/dist/runtime/components/inputs/AntRadio.vue +0 -206
  157. package/dist/runtime/components/inputs/AntRadioGroup.vue +0 -127
  158. package/dist/runtime/components/inputs/AntRangeSlider.vue +0 -101
  159. package/dist/runtime/components/inputs/AntRichTextEditor.vue +0 -237
  160. package/dist/runtime/components/inputs/AntSearch.vue +0 -75
  161. package/dist/runtime/components/inputs/AntSelect.vue +0 -319
  162. package/dist/runtime/components/inputs/AntSwitch.vue +0 -192
  163. package/dist/runtime/components/inputs/AntSwitcher.vue +0 -196
  164. package/dist/runtime/components/inputs/AntTagInput.vue +0 -339
  165. package/dist/runtime/components/inputs/AntTextInput.vue +0 -75
  166. package/dist/runtime/components/inputs/AntTextarea.vue +0 -191
  167. package/dist/runtime/components/inputs/AntUnitInput.vue +0 -96
  168. package/dist/runtime/components/inputs/Elements/AntBaseInput.vue +0 -271
  169. package/dist/runtime/components/inputs/Elements/AntDropDown.vue +0 -189
  170. package/dist/runtime/components/inputs/Elements/AntInputDescription.vue +0 -58
  171. package/dist/runtime/components/inputs/Elements/AntInputLabel.vue +0 -62
  172. package/dist/runtime/components/inputs/Elements/AntInputLimiter.vue +0 -58
  173. package/dist/runtime/components/inputs/Elements/__stories/AntBaseInput.stories.d.ts +0 -11
  174. package/dist/runtime/components/inputs/Elements/__stories/AntBaseInput.stories.mjs +0 -234
  175. package/dist/runtime/components/inputs/Elements/__stories/AntInputDescription.stories.d.ts +0 -6
  176. package/dist/runtime/components/inputs/Elements/__stories/AntInputDescription.stories.mjs +0 -34
  177. package/dist/runtime/components/inputs/Elements/__stories/AntInputLabel.stories.d.ts +0 -7
  178. package/dist/runtime/components/inputs/Elements/__stories/AntInputLabel.stories.mjs +0 -46
  179. package/dist/runtime/components/inputs/Elements/__stories/AntInputLimiter.stories.d.ts +0 -6
  180. package/dist/runtime/components/inputs/Elements/__stories/AntInputLimiter.stories.mjs +0 -37
  181. package/dist/runtime/components/inputs/Elements/__types/AntBaseInput.types.d.ts +0 -17
  182. package/dist/runtime/components/inputs/Elements/__types/AntBaseInput.types.mjs +0 -18
  183. package/dist/runtime/components/inputs/Elements/__types/index.d.ts +0 -1
  184. package/dist/runtime/components/inputs/Elements/__types/index.mjs +0 -1
  185. package/dist/runtime/components/inputs/Elements/index.d.ts +0 -6
  186. package/dist/runtime/components/inputs/Elements/index.mjs +0 -12
  187. package/dist/runtime/components/inputs/__stories/AntCheckbox.stories.d.ts +0 -8
  188. package/dist/runtime/components/inputs/__stories/AntCheckbox.stories.mjs +0 -382
  189. package/dist/runtime/components/inputs/__stories/AntCheckboxGroup.stories.d.ts +0 -7
  190. package/dist/runtime/components/inputs/__stories/AntCheckboxGroup.stories.mjs +0 -84
  191. package/dist/runtime/components/inputs/__stories/AntDateInput.stories.d.ts +0 -8
  192. package/dist/runtime/components/inputs/__stories/AntDateInput.stories.mjs +0 -193
  193. package/dist/runtime/components/inputs/__stories/AntNumberInput.stories.d.ts +0 -10
  194. package/dist/runtime/components/inputs/__stories/AntNumberInput.stories.mjs +0 -246
  195. package/dist/runtime/components/inputs/__stories/AntPasswordInput.stories.d.ts +0 -8
  196. package/dist/runtime/components/inputs/__stories/AntPasswordInput.stories.mjs +0 -156
  197. package/dist/runtime/components/inputs/__stories/AntRadioGroup.stories.d.ts +0 -8
  198. package/dist/runtime/components/inputs/__stories/AntRadioGroup.stories.mjs +0 -251
  199. package/dist/runtime/components/inputs/__stories/AntRangeSlider.stories.d.ts +0 -7
  200. package/dist/runtime/components/inputs/__stories/AntRangeSlider.stories.mjs +0 -67
  201. package/dist/runtime/components/inputs/__stories/AntRichTextEditor.stories-old.d.ts +0 -0
  202. package/dist/runtime/components/inputs/__stories/AntRichTextEditor.stories-old.mjs +0 -0
  203. package/dist/runtime/components/inputs/__stories/AntSearch.stories.d.ts +0 -7
  204. package/dist/runtime/components/inputs/__stories/AntSearch.stories.mjs +0 -103
  205. package/dist/runtime/components/inputs/__stories/AntSelect.stories.d.ts +0 -13
  206. package/dist/runtime/components/inputs/__stories/AntSelect.stories.mjs +0 -255
  207. package/dist/runtime/components/inputs/__stories/AntSwitch.stories.d.ts +0 -8
  208. package/dist/runtime/components/inputs/__stories/AntSwitch.stories.mjs +0 -344
  209. package/dist/runtime/components/inputs/__stories/AntSwitcher.stories.d.ts +0 -8
  210. package/dist/runtime/components/inputs/__stories/AntSwitcher.stories.mjs +0 -235
  211. package/dist/runtime/components/inputs/__stories/AntTagInput.stories.d.ts +0 -9
  212. package/dist/runtime/components/inputs/__stories/AntTagInput.stories.mjs +0 -228
  213. package/dist/runtime/components/inputs/__stories/AntTextInput.stories.d.ts +0 -9
  214. package/dist/runtime/components/inputs/__stories/AntTextInput.stories.mjs +0 -225
  215. package/dist/runtime/components/inputs/__stories/AntTextarea.stories.d.ts +0 -9
  216. package/dist/runtime/components/inputs/__stories/AntTextarea.stories.mjs +0 -144
  217. package/dist/runtime/components/inputs/__stories/AntUnitInput.stories.d.ts +0 -9
  218. package/dist/runtime/components/inputs/__stories/AntUnitInput.stories.mjs +0 -116
  219. package/dist/runtime/components/inputs/__types/AntCheckbox.types.d.ts +0 -6
  220. package/dist/runtime/components/inputs/__types/AntCheckbox.types.mjs +0 -0
  221. package/dist/runtime/components/inputs/__types/AntDateInput.types.d.ts +0 -7
  222. package/dist/runtime/components/inputs/__types/AntDateInput.types.mjs +0 -8
  223. package/dist/runtime/components/inputs/__types/AntRadio.types.d.ts +0 -9
  224. package/dist/runtime/components/inputs/__types/AntRadio.types.mjs +0 -0
  225. package/dist/runtime/components/inputs/__types/AntSelect.types.d.ts +0 -4
  226. package/dist/runtime/components/inputs/__types/AntSelect.types.mjs +0 -0
  227. package/dist/runtime/components/inputs/__types/AntSwitcher.types.d.ts +0 -4
  228. package/dist/runtime/components/inputs/__types/AntSwitcher.types.mjs +0 -0
  229. package/dist/runtime/components/inputs/__types/AntTagInput.types.d.ts +0 -5
  230. package/dist/runtime/components/inputs/__types/AntTagInput.types.mjs +0 -6
  231. package/dist/runtime/components/inputs/__types/AntTextInput.types.d.ts +0 -6
  232. package/dist/runtime/components/inputs/__types/AntTextInput.types.mjs +0 -7
  233. package/dist/runtime/components/inputs/__types/index.d.ts +0 -7
  234. package/dist/runtime/components/inputs/__types/index.mjs +0 -7
  235. package/dist/runtime/components/layouts/AntNavLeftLayout.vue +0 -36
  236. package/dist/runtime/components/layouts/__stories/AntNavLeftLayout.stories.d.ts +0 -7
  237. package/dist/runtime/components/layouts/__stories/AntNavLeftLayout.stories.mjs +0 -68
  238. package/dist/runtime/components/navbar/AntNavbar.vue +0 -25
  239. package/dist/runtime/components/navbar/AntNavbarItem.vue +0 -78
  240. package/dist/runtime/components/navbar/__stories/AntNavbar.stories.d.ts +0 -6
  241. package/dist/runtime/components/navbar/__stories/AntNavbar.stories.mjs +0 -66
  242. package/dist/runtime/components/navbar/__types/NavbarItem.types.d.ts +0 -10
  243. package/dist/runtime/components/navbar/__types/NavbarItem.types.mjs +0 -0
  244. package/dist/runtime/components/navbar/__types/index.d.ts +0 -1
  245. package/dist/runtime/components/navbar/__types/index.mjs +0 -1
  246. package/dist/runtime/components/table/AntTable.vue +0 -218
  247. package/dist/runtime/components/table/AntTableSortButton.vue +0 -48
  248. package/dist/runtime/components/table/AntTd.vue +0 -81
  249. package/dist/runtime/components/table/AntTh.vue +0 -78
  250. package/dist/runtime/components/table/__stories/AntTable.stories.d.ts +0 -9
  251. package/dist/runtime/components/table/__stories/AntTable.stories.mjs +0 -273
  252. package/dist/runtime/components/table/__types/TableHeader.types.d.ts +0 -36
  253. package/dist/runtime/components/table/__types/TableHeader.types.mjs +0 -25
  254. package/dist/runtime/components/table/__types/index.d.ts +0 -1
  255. package/dist/runtime/components/table/__types/index.mjs +0 -1
  256. package/dist/runtime/components/tabs/AntTabItem.vue +0 -118
  257. package/dist/runtime/components/tabs/AntTabs.vue +0 -47
  258. package/dist/runtime/components/tabs/__stories/AntTabItem.stories.d.ts +0 -6
  259. package/dist/runtime/components/tabs/__stories/AntTabItem.stories.mjs +0 -32
  260. package/dist/runtime/components/tabs/__stories/AntTabs.stories.d.ts +0 -9
  261. package/dist/runtime/components/tabs/__stories/AntTabs.stories.mjs +0 -173
  262. package/dist/runtime/components/tabs/__types/AntTabItem.types.d.ts +0 -17
  263. package/dist/runtime/components/tabs/__types/AntTabItem.types.mjs +0 -6
  264. package/dist/runtime/components/tabs/__types/index.d.ts +0 -1
  265. package/dist/runtime/components/tabs/__types/index.mjs +0 -1
  266. package/dist/runtime/components/transitions/AntTransitionCollapseHeight.vue +0 -92
  267. package/dist/runtime/composables/useUi.d.ts +0 -20
  268. package/dist/runtime/composables/useUi.mjs +0 -31
  269. package/dist/runtime/composables/useValidator.d.ts +0 -1
  270. package/dist/runtime/composables/useValidator.mjs +0 -1
  271. package/dist/runtime/enums/Direction.enum.d.ts +0 -4
  272. package/dist/runtime/enums/Direction.enum.mjs +0 -5
  273. package/dist/runtime/enums/Grouped.enum.d.ts +0 -6
  274. package/dist/runtime/enums/Grouped.enum.mjs +0 -7
  275. package/dist/runtime/enums/Position.enum.d.ts +0 -12
  276. package/dist/runtime/enums/Position.enum.mjs +0 -14
  277. package/dist/runtime/enums/Size.enum.d.ts +0 -7
  278. package/dist/runtime/enums/Size.enum.mjs +0 -8
  279. package/dist/runtime/enums/State.enum.d.ts +0 -16
  280. package/dist/runtime/enums/State.enum.mjs +0 -18
  281. package/dist/runtime/enums/index.d.ts +0 -5
  282. package/dist/runtime/enums/index.mjs +0 -5
  283. package/dist/runtime/env.d.ts +0 -8
  284. package/dist/runtime/handler.d.ts +0 -1
  285. package/dist/runtime/handler.mjs +0 -5
  286. package/dist/runtime/plugins/toaster.d.ts +0 -22
  287. package/dist/runtime/plugins/toaster.mjs +0 -53
  288. package/dist/runtime/shims/vue.d.ts +0 -5
  289. package/dist/runtime/types.d.ts +0 -8
  290. package/dist/runtime/types.mjs +0 -8
  291. package/dist/runtime/utils/helper.d.ts +0 -4
  292. package/dist/runtime/utils/helper.mjs +0 -12
  293. package/dist/runtime/utils.d.ts +0 -20
  294. package/dist/runtime/utils.mjs +0 -41
  295. package/src/runtime/components/AntAccordion.vue +0 -64
  296. package/src/runtime/components/AntAccordionItem.vue +0 -119
  297. package/src/runtime/components/AntAlert.vue +0 -146
  298. package/src/runtime/components/AntCard.vue +0 -34
  299. package/src/runtime/components/AntContent.vue +0 -16
  300. package/src/runtime/components/AntDropdown.vue +0 -100
  301. package/src/runtime/components/AntIcon.vue +0 -56
  302. package/src/runtime/components/AntKeycap.vue +0 -45
  303. package/src/runtime/components/AntListGroup.vue +0 -24
  304. package/src/runtime/components/AntListGroupItem.vue +0 -83
  305. package/src/runtime/components/AntModal.vue +0 -130
  306. package/src/runtime/components/AntPagination.vue +0 -206
  307. package/src/runtime/components/AntPopover.vue +0 -135
  308. package/src/runtime/components/AntSkeleton.vue +0 -38
  309. package/src/runtime/components/AntSpinner.vue +0 -101
  310. package/src/runtime/components/AntTag.vue +0 -114
  311. package/src/runtime/components/AntToast.vue +0 -119
  312. package/src/runtime/components/AntToaster.vue +0 -70
  313. package/src/runtime/components/AntTooltip.vue +0 -189
  314. package/src/runtime/components/buttons/AntActionButton.vue +0 -74
  315. package/src/runtime/components/buttons/AntButton.vue +0 -257
  316. package/src/runtime/components/buttons/AntCreateButton.vue +0 -54
  317. package/src/runtime/components/buttons/AntDeleteButton.vue +0 -54
  318. package/src/runtime/components/buttons/AntDuplicateButton.vue +0 -54
  319. package/src/runtime/components/buttons/AntEditButton.vue +0 -54
  320. package/src/runtime/components/buttons/AntSaveAndNewButton.vue +0 -56
  321. package/src/runtime/components/buttons/AntSaveButton.vue +0 -55
  322. package/src/runtime/components/crud/AntCrud.vue +0 -69
  323. package/src/runtime/components/crud/AntCrudDetail.vue +0 -11
  324. package/src/runtime/components/crud/AntCrudDetailActions.vue +0 -58
  325. package/src/runtime/components/crud/AntCrudDetailNav.vue +0 -64
  326. package/src/runtime/components/crud/AntCrudTableFilter.vue +0 -122
  327. package/src/runtime/components/crud/AntCrudTableNav.vue +0 -149
  328. package/src/runtime/components/dialogs/AntDeleteDialog.vue +0 -29
  329. package/src/runtime/components/dialogs/AntDialog.vue +0 -181
  330. package/src/runtime/components/forms/AntField.vue +0 -123
  331. package/src/runtime/components/forms/AntFormGroup.vue +0 -36
  332. package/src/runtime/components/forms/AntFormGroupLabel.vue +0 -5
  333. package/src/runtime/components/inputs/AntCheckbox.vue +0 -201
  334. package/src/runtime/components/inputs/AntCheckboxGroup.vue +0 -117
  335. package/src/runtime/components/inputs/AntDateInput.vue +0 -104
  336. package/src/runtime/components/inputs/AntNumberInput.vue +0 -157
  337. package/src/runtime/components/inputs/AntPasswordInput.vue +0 -107
  338. package/src/runtime/components/inputs/AntRadio.vue +0 -214
  339. package/src/runtime/components/inputs/AntRadioGroup.vue +0 -127
  340. package/src/runtime/components/inputs/AntRangeSlider.vue +0 -121
  341. package/src/runtime/components/inputs/AntRichTextEditor.vue +0 -237
  342. package/src/runtime/components/inputs/AntSearch.vue +0 -75
  343. package/src/runtime/components/inputs/AntSelect.vue +0 -319
  344. package/src/runtime/components/inputs/AntSwitch.vue +0 -192
  345. package/src/runtime/components/inputs/AntSwitcher.vue +0 -196
  346. package/src/runtime/components/inputs/AntTagInput.vue +0 -339
  347. package/src/runtime/components/inputs/AntTextInput.vue +0 -75
  348. package/src/runtime/components/inputs/AntTextarea.vue +0 -191
  349. package/src/runtime/components/inputs/AntUnitInput.vue +0 -96
  350. package/src/runtime/components/inputs/Elements/AntBaseInput.vue +0 -319
  351. package/src/runtime/components/inputs/Elements/AntDropDown.vue +0 -189
  352. package/src/runtime/components/inputs/Elements/AntInputDescription.vue +0 -58
  353. package/src/runtime/components/inputs/Elements/AntInputLabel.vue +0 -62
  354. package/src/runtime/components/inputs/Elements/AntInputLimiter.vue +0 -58
  355. package/src/runtime/components/layouts/AntNavLeftLayout.vue +0 -36
  356. package/src/runtime/components/navbar/AntNavbar.vue +0 -25
  357. package/src/runtime/components/navbar/AntNavbarItem.vue +0 -78
  358. package/src/runtime/components/table/AntTable.vue +0 -218
  359. package/src/runtime/components/table/AntTableSortButton.vue +0 -48
  360. package/src/runtime/components/table/AntTd.vue +0 -81
  361. package/src/runtime/components/table/AntTh.vue +0 -78
  362. package/src/runtime/components/tabs/AntTabItem.vue +0 -118
  363. package/src/runtime/components/tabs/AntTabs.vue +0 -47
  364. package/src/runtime/components/transitions/AntTransitionCollapseHeight.vue +0 -96
@@ -1,319 +0,0 @@
1
- <script lang="ts" setup>
2
- /**
3
- * This select is a custom component instead of a native <select> because the dropdown is not good
4
- * customizable with css.
5
- *
6
- * Known problem using a custom select instead of a native one:
7
- * - Label tags does not trigger the custom select by containing the select input or using the for attribute.
8
- * This means, this select is not usable in a custom field with multiple elements in there.
9
- * If the user clicks on the label, this select will not be focused.
10
- *
11
- * TODO:: add screen reader support
12
- * Fix overflow bug (See Ellipsis Text story)
13
- * TODO:: if the dropdown is open and the user types something, the element with a matching value should be focused.
14
- */
15
- import AntField from '../forms/AntField.vue';
16
- import {type SelectOption} from './__types/AntSelect.types';
17
- import {computed, onMounted, ref, watch} from 'vue';
18
- import {Size} from '../../enums/Size.enum';
19
- import {handleEnumValidation} from '../../handler';
20
- import {Grouped} from '../../enums/Grouped.enum';
21
- import AntIcon from '../AntIcon.vue';
22
- import {faChevronDown, faChevronUp, faMultiply} from '@fortawesome/free-solid-svg-icons';
23
- import AntSkeleton from '../AntSkeleton.vue';
24
- import {vOnClickOutside} from '@vueuse/components';
25
- import AntButton from '../buttons/AntButton.vue';
26
- import {State, InputState} from '../../enums';
27
- import {IconSize} from '../__types';
28
- import AntDropDown from './Elements/AntDropDown.vue';
29
-
30
- defineOptions({ inheritAttrs: false });
31
-
32
- const props = withDefaults(
33
- defineProps<{
34
- modelValue: string | number | null;
35
- options: SelectOption[];
36
- label?: string;
37
- description?: string;
38
- placeholder?: string;
39
- size?: Size;
40
- state?: InputState;
41
- disabled?: boolean;
42
- readonly?: boolean;
43
- skeleton?: boolean;
44
- nullable?: boolean;
45
- grouped?: Grouped;
46
- name?: string;
47
- wrapperClass?: string | Record<string, boolean>;
48
- expanded?: boolean;
49
- messages?: string[]
50
- }>(), {
51
- state: InputState.base,
52
- grouped: Grouped.none,
53
- size: Size.md,
54
- disabled: false,
55
- readonly: false,
56
- skeleton: false,
57
- nullable: false,
58
- expanded: true,
59
- messages: () => []
60
- }
61
- );
62
- const emit = defineEmits(['update:modelValue', 'blur', 'validate']);
63
- const isOpen = ref(false);
64
- const _modelValue = computed({
65
- get: () => props.modelValue,
66
- set: (val: string | number | null) => {
67
- emit('update:modelValue', val);
68
- },
69
- });
70
- const hasInputState = computed(() => props.skeleton || props.readonly || props.disabled);
71
- const valueLabel = computed(() => props.options.find(option => option.value === _modelValue.value)?.label || null);
72
- const inputClasses = computed(() => {
73
- const variants: Record<InputState, string> = {
74
- [InputState.base]: 'outline-neutral-300 bg-white focus:ring-primary-200',
75
- [InputState.success]: 'outline-success-500 bg-success-100 focus:ring-success-200',
76
- [InputState.info]: 'outline-info-500 bg-info-100 focus:ring-info-200',
77
- [InputState.warning]: 'outline-warning-500 bg-warning-100 focus:ring-warning-200',
78
- [InputState.danger]: 'outline-danger-500 bg-danger-100 focus:ring-danger-200',
79
- };
80
-
81
- return {
82
- 'flex items-center transition-colors border-none outline relative focus:z-10': true,
83
- 'outline-offset-[-1px] outline-1 focus:outline-offset-[-1px] focus:outline-1': true,
84
- [variants[props.state]]: true,
85
- // Skeleton
86
- 'invisible': props.skeleton,
87
- // Disabled
88
- 'disabled:opacity-50 disabled:cursor-not-allowed': true,
89
- // Size
90
- 'p-1 text-xs': props.size === Size.xs2,
91
- 'p-1.5 text-xs': props.size === Size.xs,
92
- 'p-1.5 text-sm': props.size === Size.sm,
93
- 'p-2 text-sm': props.size === Size.md,
94
- 'p-2.5 text-sm': props.size === Size.lg,
95
- 'focus:ring-2': !hasInputState.value && (props.size === Size.sm || props.size === Size.xs || props.size === Size.xs2),
96
- 'focus:ring-4': !hasInputState.value && (props.size === Size.lg || props.size === Size.md),
97
- // Grouped
98
- 'rounded-tl-md rounded-bl-md rounded-tr-none rounded-br-none': props.grouped === Grouped.left,
99
- 'rounded-tl-none rounded-bl-none rounded-tr-md rounded-br-md': props.grouped === Grouped.right,
100
- 'rounded-none': props.grouped === Grouped.center,
101
- 'rounded-md': props.grouped === Grouped.none,
102
- 'rounded-tr-none rounded-br-none': props.nullable && _modelValue.value !== null,
103
- 'rounded-bl-none rounded-br-none': isOpen.value,
104
- // Open
105
- 'shadow-md': isOpen.value,
106
- // Disabled
107
- 'opacity-50 cursor-not-allowed': props.disabled,
108
- };
109
- });
110
- const placeholderClasses = computed(() => {
111
- const variants: Record<InputState, string> = {
112
- [InputState.base]: 'text-neutral-500',
113
- [InputState.success]: 'text-success-700',
114
- [InputState.info]: 'text-info-700',
115
- [InputState.warning]: 'text-warning-700',
116
- [InputState.danger]: 'text-danger-700',
117
- };
118
-
119
- return {
120
- 'select-none text-ellipsis overflow-hidden whitespace-nowrap w-full': true,
121
- [variants[props.state]]: true,
122
- };
123
- });
124
- const arrowClasses = computed(() => {
125
- const variants: Record<InputState, string> = {
126
- [InputState.base]: 'text-for-white-bg-font',
127
- [InputState.success]: 'text-success-100-font',
128
- [InputState.info]: 'text-info-100-font',
129
- [InputState.warning]: 'text-warning-100-font',
130
- [InputState.danger]: 'text-danger-100-font',
131
- };
132
-
133
- return {[variants[props.state]]: true};
134
- });
135
- const skeletonGrouped = computed(() => {
136
- if (!props.nullable || (props.nullable && _modelValue.value === null)) {
137
- return props.grouped;
138
- }
139
-
140
- if (props.grouped === Grouped.right || props.grouped === Grouped.center) {
141
- return Grouped.center;
142
- } else {
143
- return Grouped.left;
144
- }
145
- });
146
- const inputRef = ref<HTMLElement | null>(null);
147
- const dropDownRef = ref<HTMLElement | null>(null);
148
- const focusedDropDownItem = ref<string | number | null>(null);
149
- // TODO:: Hotfix to prevent missing required prop warning. Fix it with https://github.com/antify/ui-module/issues/52
150
- const dropDownFocused = ref(null);
151
-
152
- onMounted(() => {
153
- handleEnumValidation(props.size, Size, 'size');
154
- handleEnumValidation(props.state, InputState, 'state');
155
- handleEnumValidation(props.grouped, Grouped, 'grouped');
156
-
157
- focusedDropDownItem.value = _modelValue.value;
158
-
159
- if (!props.skeleton && props.modelValue !== null) {
160
- emit('validate', props.modelValue);
161
- }
162
- });
163
-
164
- /**
165
- * Validate default value if given after delayed data fetching.
166
- */
167
- watch(() => props.skeleton, (val) => {
168
- if (!val && props.modelValue !== null) {
169
- emit('validate', props.modelValue);
170
- }
171
- });
172
- watch(_modelValue, () => {
173
- if (props.messages.length > 0) {
174
- emit('validate', props.modelValue);
175
- }
176
- });
177
-
178
- function onBlur(e: FocusEvent) {
179
- emit('validate', props.modelValue);
180
- emit('blur', e);
181
- }
182
-
183
- function onClickOutside() {
184
- if (!isOpen.value) {
185
- return;
186
- }
187
-
188
- isOpen.value = false;
189
- inputRef.value?.focus();
190
- }
191
-
192
- function onClickSelectInput(e: MouseEvent) {
193
- e.preventDefault();
194
-
195
- if (props.disabled || props.readonly) {
196
- return;
197
- }
198
-
199
- if (isOpen.value) {
200
- inputRef.value?.focus();
201
- }
202
-
203
- isOpen.value = !isOpen.value;
204
- }
205
-
206
- function onClickRemoveButton() {
207
- inputRef.value?.focus();
208
- _modelValue.value = null;
209
- }
210
- </script>
211
-
212
- <template>
213
- <AntField
214
- :label="label"
215
- :size="size"
216
- :skeleton="skeleton"
217
- :description="description"
218
- :state="state"
219
- :class="wrapperClass"
220
- :expanded="expanded"
221
- :messages="messages"
222
- label-for="noop"
223
- data-e2e="select"
224
- @click-label="() => inputRef?.focus()"
225
- >
226
- <div
227
- class="h-fit flex flex-row w-full"
228
- >
229
- <div
230
- v-on-click-outside="onClickOutside"
231
- class="relative w-full"
232
- :class="{'cursor-pointer': !skeleton && !readonly}"
233
- >
234
- <AntSkeleton
235
- v-if="skeleton"
236
- absolute
237
- rounded
238
- :grouped="skeletonGrouped"
239
- />
240
-
241
- <input
242
- v-model="_modelValue"
243
- type="hidden"
244
- :name="name"
245
- >
246
-
247
- <!-- Input -->
248
- <div
249
- ref="inputRef"
250
- :class="inputClasses"
251
- :tabindex="disabled || readonly ? -1 : 0"
252
- v-bind="$attrs"
253
- @mousedown="onClickSelectInput"
254
- @click="inputRef?.focus()"
255
- @blur="onBlur"
256
- >
257
- <div
258
- v-if="_modelValue === null && placeholder !== undefined"
259
- :class="placeholderClasses"
260
- >
261
- {{ placeholder }}
262
- </div>
263
-
264
- <div
265
- v-else-if="_modelValue === null && label !== undefined"
266
- :class="placeholderClasses"
267
- >
268
- {{ label }}
269
- </div>
270
-
271
- <div
272
- v-else
273
- class="select-none text-ellipsis overflow-hidden whitespace-nowrap w-full text-black"
274
- >
275
- {{ valueLabel }}
276
- </div>
277
-
278
- <AntIcon
279
- v-if="isOpen"
280
- :icon="faChevronUp"
281
- :size="IconSize.sm"
282
- :class="arrowClasses"
283
- />
284
-
285
- <AntIcon
286
- v-else
287
- :icon="faChevronDown"
288
- :size="IconSize.sm"
289
- :class="arrowClasses"
290
- />
291
- </div>
292
-
293
- <!-- Dropdown -->
294
- <AntDropDown
295
- ref="dropDownRef"
296
- v-model="_modelValue"
297
- v-model:open="isOpen"
298
- v-model:focused="dropDownFocused"
299
- :options="options"
300
- :input-ref="inputRef"
301
- :size="size"
302
- :state="state"
303
- :close-on-enter="true"
304
- @select-element="(e) => _modelValue = e"
305
- />
306
- </div>
307
-
308
- <AntButton
309
- v-if="nullable && _modelValue !== null"
310
- :icon-left="faMultiply"
311
- :state="state as unknown as State"
312
- :grouped="[Grouped.left, Grouped.center].some(item => item === grouped) ? Grouped.center : Grouped.right"
313
- :size="size"
314
- :skeleton="skeleton"
315
- @click="onClickRemoveButton"
316
- />
317
- </div>
318
- </AntField>
319
- </template>
@@ -1,192 +0,0 @@
1
- <script setup lang="ts">
2
- import AntField from '../forms/AntField.vue';
3
- import {computed, onMounted, watch} from 'vue';
4
- import AntSkeleton from '../AntSkeleton.vue';
5
- import {InputState, Size} from '../../enums';
6
- import {hasSlotContent} from '../../utils';
7
-
8
- const emit = defineEmits(['update:modelValue', 'input', 'blur', 'validate']);
9
- const props = withDefaults(defineProps<{
10
- modelValue: boolean | null;
11
- label?: string;
12
- description?: string;
13
- skeleton?: boolean;
14
- readonly?: boolean;
15
- disabled?: boolean;
16
- size?: Size;
17
- state?: InputState
18
- messages?: string[]
19
- }>(), {
20
- size: Size.md,
21
- state: InputState.base,
22
- messages: () => []
23
- });
24
- const _value = computed({
25
- get: () => props.modelValue,
26
- set: (val: boolean | null) => {
27
- emit('update:modelValue', val);
28
- emit('input', val);
29
- }
30
- });
31
- const hasInputState = computed(() => props.skeleton || props.readonly || props.disabled);
32
- const buttonClasses = computed(() => {
33
- const classes: { [key: string]: boolean } = {
34
- 'relative inline-flex flex-shrink-0': true,
35
- 'focus:outline-none': true,
36
- 'rounded-full ease-in-out duration-200': true,
37
- 'focus-within:ring-4': !hasInputState.value && (props.size === Size.lg || props.size === Size.md),
38
- 'focus-within:ring-2': !hasInputState.value && (props.size === Size.sm || props.size === Size.xs || props.size === Size.xs2),
39
- 'h-5 w-9': props.size === Size.lg || props.size === Size.md || props.size === Size.sm,
40
- 'h-4 w-[30px]': props.size === Size.xs || props.size === Size.xs2,
41
- 'bg-neutral-300': !_value.value,
42
- 'invisible': props.skeleton,
43
- // Disabled
44
- 'opacity-50 cursor-not-allowed': props.disabled,
45
- 'cursor-default': props.readonly
46
- };
47
- const colorVariant = {
48
- [InputState.base]: 'focus-within:ring-primary-200',
49
- [InputState.danger]: 'focus-within:ring-danger-200 outline outline-1 -outline-offset-1 outline-danger-500',
50
- [InputState.info]: 'focus-within:ring-info-200 outline outline-1 -outline-offset-1 outline-info-500',
51
- [InputState.success]: 'focus-within:ring-success-200 outline outline-1 -outline-offset-1 outline-success-500',
52
- [InputState.warning]: 'focus-within:ring-warning-200 outline outline-1 -outline-offset-1 outline-warning-500',
53
- };
54
- const activeColorVariant = {
55
- [InputState.base]: 'bg-primary-500',
56
- [InputState.danger]: 'bg-danger-500',
57
- [InputState.info]: 'bg-info-500',
58
- [InputState.success]: 'bg-success-500',
59
- [InputState.warning]: 'bg-warning-500',
60
- };
61
-
62
- classes[colorVariant[props.state]] = !hasInputState.value;
63
- classes[activeColorVariant[props.state]] = !!_value.value;
64
-
65
- return classes;
66
- });
67
- const ballClasses = computed(() => ({
68
- 'pointer-events-none inline-block rounded-full bg-neutral-100 shadow transform ring-0 transition ease-in-out duration-200': true,
69
- 'h-4 w-4 translate-y-0.5': props.size === Size.lg || props.size === Size.md || props.size === Size.sm,
70
- 'translate-x-[1.125rem]': _value.value && (props.size === Size.lg || props.size === Size.md || props.size === Size.sm),
71
- 'translate-x-0.5': !_value.value && (props.size === Size.lg || props.size === Size.md || props.size === Size.sm),
72
- 'h-3.5 w-3.5 translate-y-[1px]': props.size === Size.xs || props.size === Size.xs2,
73
- 'translate-x-[.925rem]': _value.value && (props.size === Size.xs || props.size === Size.xs2),
74
- 'translate-x-[1px]': !_value.value && (props.size === Size.xs || props.size === Size.xs2),
75
- 'invisible': props.skeleton
76
- }));
77
- const valueClasses = computed(() => ({
78
- 'text-for-white-bg-font': true,
79
- 'text-sm': props.size === Size.lg || props.size === Size.md || props.size === Size.sm,
80
- 'text-xs': props.size === Size.xs || props.size === Size.xs2,
81
- 'opacity-50 cursor-not-allowed': props.disabled,
82
- 'cursor-pointer': !hasInputState.value,
83
- }));
84
- const fieldSize = computed(() => {
85
- if (props.size === Size.lg) {
86
- return Size.lg;
87
- }
88
-
89
- if (props.size === Size.md) {
90
- return Size.md;
91
- }
92
-
93
- if (props.size === Size.sm) {
94
- return Size.sm;
95
- }
96
-
97
- if (props.size === Size.xs) {
98
- return Size.xs;
99
- }
100
-
101
- return Size.xs2;
102
-
103
- });
104
-
105
- /**
106
- * Validations
107
- */
108
- watch(() => props.skeleton, (val) => {
109
- if (!val && props.modelValue !== null) {
110
- emit('validate', props.modelValue);
111
- }
112
- });
113
- watch(_value, () => {
114
- if (props.messages.length > 0) {
115
- emit('validate', props.modelValue);
116
- }
117
- });
118
- onMounted(() => {
119
- if (!props.skeleton && props.modelValue !== null) {
120
- emit('validate', props.modelValue);
121
- }
122
- });
123
-
124
- function changeValue() {
125
- if (!hasInputState.value) {
126
- _value.value = !_value.value;
127
- }
128
- }
129
-
130
- function onBlur(e: FocusEvent) {
131
- emit('validate', props.modelValue);
132
- emit('blur', e);
133
- }
134
- </script>
135
-
136
- <template>
137
- <AntField
138
- :label="label"
139
- :size="size"
140
- :description="description"
141
- :skeleton="skeleton"
142
- :state="state"
143
- :messages="messages"
144
- :expanded="false"
145
- >
146
- <div class="relative w-fit flex items-center gap-1.5">
147
- <div class="relative w-fit flex items-center">
148
- <button
149
- v-bind="$attrs"
150
- type="button"
151
- :class="buttonClasses"
152
- role="switch"
153
- :aria-checked="!!_value"
154
- :disabled="disabled"
155
- :tabindex="hasInputState ? -1 : 0"
156
- @click="changeValue"
157
- @blur="onBlur"
158
- >
159
- <span
160
- aria-hidden="true"
161
- :class="ballClasses"
162
- >
163
- <slot name="icon" />
164
- </span>
165
- </button>
166
-
167
- <AntSkeleton
168
- v-if="skeleton"
169
- absolute
170
- rounded-full
171
- />
172
- </div>
173
-
174
- <div
175
- v-if="hasSlotContent($slots['default'])"
176
- class="relative flex items-center"
177
- :class="props.size === Size.lg || props.size === Size.md ||props.size === Size.sm ? 'h-5' : 'h-4'"
178
- >
179
- <span :class="valueClasses">
180
- <slot />
181
- </span>
182
-
183
- <AntSkeleton
184
- v-if="skeleton"
185
- absolute
186
- rounded
187
- class="l-1.5"
188
- />
189
- </div>
190
- </div>
191
- </AntField>
192
- </template>
@@ -1,196 +0,0 @@
1
- <script setup lang="ts">
2
- import AntField from '../forms/AntField.vue';
3
- import AntButton from '../buttons/AntButton.vue';
4
- import {faChevronLeft, faChevronRight} from '@fortawesome/free-solid-svg-icons';
5
- import AntSkeleton from '../AntSkeleton.vue';
6
- import {type SwitcherOption} from './__types/AntSwitcher.types';
7
- import {State, Grouped, InputState, Size} from '../../enums';
8
- import {computed, onMounted, watch} from 'vue';
9
-
10
- const emit = defineEmits(['update:modelValue', 'validate', 'blur']);
11
- const props = withDefaults(defineProps<{
12
- modelValue: string | null;
13
- options: string[] | SwitcherOption[];
14
- label?: string;
15
- description?: string;
16
- skeleton?: boolean;
17
- readonly?: boolean;
18
- disabled?: boolean;
19
- state?: InputState;
20
- size?: Size,
21
- messages?: string[];
22
- }>(), {
23
- state: InputState.base,
24
- size: Size.md,
25
- messages: () => []
26
- });
27
- const _value = computed({
28
- get() {
29
- const found = props.options.find((option: string | SwitcherOption) =>
30
- typeof option === 'string' ? option === props.modelValue : option.value === props.modelValue);
31
-
32
- if (!found) {
33
- return props.options[0];
34
- }
35
-
36
- return found;
37
- },
38
- set(val: string | SwitcherOption) {
39
- emit('update:modelValue', typeof val === 'string' ? val : val.value);
40
- }
41
- });
42
- const hasInputState = computed(() => props.skeleton || props.readonly || props.disabled);
43
- const containerClasses = computed(() => {
44
- const classes: { [key: string]: boolean } = {
45
- 'flex relative ring-primary/25 rounded-md outline-none': true,
46
- 'focus-within:ring-2': (props.size === Size.xs2 || props.size === Size.xs || props.size === Size.sm) && !hasInputState.value,
47
- 'focus-within:ring-4': (props.size === Size.md || props.size === Size.lg) && !hasInputState.value,
48
- };
49
- const colorVariant = {
50
- [InputState.base]: 'focus-within:ring-primary-200',
51
- [InputState.danger]: 'focus-within:ring-danger-200',
52
- [InputState.info]: 'focus-within:ring-info-200',
53
- [InputState.success]: 'focus-within:ring-success-200',
54
- [InputState.warning]: 'focus-within:ring-warning-200',
55
- };
56
-
57
- classes[colorVariant[props.state]] = true;
58
-
59
- return classes;
60
- });
61
- const itemClasses = computed(() => {
62
- const classes: { [key: string]: boolean } = {
63
- 'grow text-center text-black relative outline outline-1 -outline-offset-1': true,
64
- 'p-1 text-xs ': props.size === Size.xs2,
65
- 'p-1.5 text-xs ': props.size === Size.xs,
66
- 'p-1.5 text-sm ': props.size === Size.sm,
67
- 'p-2 text-sm ': props.size === Size.md,
68
- 'p-2.5 text-sm ': props.size === Size.lg,
69
- 'invisible': props.skeleton,
70
- 'opacity-50 cursor-not-allowed': props.disabled,
71
- };
72
-
73
- const colorVariant = {
74
- [InputState.danger]: 'outline-danger-500 bg-danger-100',
75
- [InputState.base]: 'outline-neutral-300 bg-white',
76
- [InputState.info]: 'outline-info-500 bg-info-100',
77
- [InputState.success]: 'outline-success-500 bg-success-100',
78
- [InputState.warning]: 'outline-warning-500 bg-warning-100',
79
- };
80
-
81
- classes[colorVariant[props.state]] = true;
82
-
83
- return classes;
84
- });
85
-
86
- /**
87
- * Validate default value if given after delayed data fetching.
88
- */
89
- watch(() => props.skeleton, (val) => {
90
- if (!val && props.modelValue !== null) {
91
- emit('validate', props.modelValue);
92
- }
93
- });
94
- watch(_value, () => {
95
- if (props.messages.length > 0) {
96
- emit('validate', props.modelValue);
97
- }
98
- });
99
-
100
- function onBlur(e: FocusEvent) {
101
- emit('validate', props.modelValue);
102
- emit('blur', e);
103
- }
104
-
105
- function prevOption() {
106
- if (props.readonly || props.disabled) {
107
- return;
108
- }
109
-
110
- const index = props.options.findIndex((option) => option === _value.value);
111
-
112
- if (index !== -1 && props.options[index - 1]) {
113
- _value.value = props.options[index - 1];
114
- } else {
115
- _value.value = props.options[props.options.length - 1];
116
- }
117
- }
118
-
119
- function nextOption() {
120
- if (props.readonly || props.disabled) {
121
- return;
122
- }
123
-
124
- const index = props.options.findIndex((option) => option === _value.value);
125
-
126
- if (index !== -1 && props.options[index + 1]) {
127
- _value.value = props.options[index + 1];
128
- } else {
129
- _value.value = props.options[0];
130
- }
131
- }
132
-
133
- onMounted(() => {
134
- if (!props.skeleton && props.modelValue !== null) {
135
- emit('validate', props.modelValue);
136
- }
137
- });
138
- </script>
139
-
140
- <template>
141
- <AntField
142
- :label="label"
143
- :size="size"
144
- :skeleton="skeleton"
145
- :description="description"
146
- :state="state"
147
- :messages="messages"
148
- label-for="noop"
149
- >
150
- <div
151
- :class="containerClasses"
152
- tabindex="0"
153
- @blur="onBlur"
154
- @keydown.left.prevent="prevOption()"
155
- @keydown.right.prevent="nextOption()"
156
- >
157
- <AntButton
158
- :icon-left="faChevronLeft"
159
- :grouped="Grouped.left"
160
- :no-focus="true"
161
- :state="state as unknown as State"
162
- :size="size"
163
- :skeleton="skeleton"
164
- :readonly="readonly"
165
- :disabled="disabled"
166
- @click="prevOption"
167
- @blur="onBlur"
168
- />
169
- <div class="grow relative">
170
- <div :class="itemClasses">
171
- {{ typeof _value === 'string' ? _value : _value.label }}
172
- </div>
173
-
174
- <AntSkeleton
175
- v-if="skeleton"
176
- absolute
177
- :grouped="Grouped.center"
178
- rounded
179
- />
180
- </div>
181
-
182
- <AntButton
183
- :icon-left="faChevronRight"
184
- :grouped="Grouped.right"
185
- :no-focus="true"
186
- :state="state as unknown as State"
187
- :size="size"
188
- :skeleton="skeleton"
189
- :readonly="readonly"
190
- :disabled="disabled"
191
- @click="nextOption"
192
- @blur="onBlur"
193
- />
194
- </div>
195
- </AntField>
196
- </template>