vueless 0.0.475 → 0.0.476

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 (405) hide show
  1. package/composables/useBreakpoint.js +1 -1
  2. package/composables/useUI.js +1 -204
  3. package/constants.js +1 -2
  4. package/directives/clickOutside/vClickOutside.js +2 -2
  5. package/directives/tooltip/storybook/stories.js +5 -5
  6. package/{index.ts → index.js} +6 -9
  7. package/package.json +17 -28
  8. package/{preset.tailwind.ts → preset.tailwind.js} +22 -30
  9. package/ui.button/config.js +0 -12
  10. package/ui.button-link/ULink.vue +1 -1
  11. package/ui.button-link/config.js +0 -9
  12. package/ui.data-list/UDataList.vue +4 -4
  13. package/ui.dropdown-badge/config.js +0 -1
  14. package/ui.dropdown-button/config.js +0 -1
  15. package/ui.form-checkbox/config.js +0 -9
  16. package/ui.form-color-picker/config.js +0 -7
  17. package/ui.form-input/UInput.vue +1 -1
  18. package/ui.form-input-money/useFormatCurrency.js +1 -1
  19. package/ui.form-input-number/UInputNumber.vue +3 -4
  20. package/ui.form-label/config.js +2 -2
  21. package/ui.form-radio/config.js +0 -6
  22. package/ui.form-switch/config.js +0 -6
  23. package/ui.image-avatar/config.js +0 -5
  24. package/ui.image-icon/config.js +0 -5
  25. package/ui.loader/config.js +0 -1
  26. package/ui.loader-overlay/config.js +0 -1
  27. package/ui.loader-progress/config.js +0 -1
  28. package/ui.navigation-progress/config.js +0 -9
  29. package/ui.other-dot/config.js +0 -1
  30. package/ui.text-alert/config.js +0 -7
  31. package/ui.text-badge/config.js +0 -8
  32. package/ui.text-block/UText.vue +62 -18
  33. package/ui.text-block/storybook/Docs.mdx +2 -2
  34. package/ui.text-block/storybook/{stories.ts → stories.js} +7 -12
  35. package/ui.text-block/useAttrs.js +15 -0
  36. package/ui.text-file/UFile.vue +14 -12
  37. package/ui.text-file/config.js +2 -12
  38. package/ui.text-files/config.js +1 -1
  39. package/ui.text-header/config.js +0 -1
  40. package/ui.text-money/config.js +0 -1
  41. package/ui.text-money/utilMoney.js +2 -2
  42. package/{utilsTs/utilTheme.ts → utils/utilTheme.js} +27 -31
  43. package/utils/utilUI.js +204 -0
  44. package/web-types.json +120 -30
  45. package/adatper.locale/locales/en.d.ts +0 -289
  46. package/adatper.locale/vue-i18n.d.ts +0 -9
  47. package/adatper.locale/vueless.d.ts +0 -11
  48. package/composables/useAutoPosition.d.ts +0 -15
  49. package/composables/useBreakpoint.d.ts +0 -7
  50. package/composables/useLocale.d.ts +0 -3
  51. package/composables/useMutationObserver.d.ts +0 -7
  52. package/composables/useUI.d.ts +0 -17
  53. package/composablesTs/useAutoPosition.d.ts +0 -28
  54. package/composablesTs/useAutoPosition.ts +0 -115
  55. package/composablesTs/useBreakpoint.d.ts +0 -7
  56. package/composablesTs/useBreakpoint.ts +0 -106
  57. package/composablesTs/useLocale.d.ts +0 -3
  58. package/composablesTs/useLocale.ts +0 -25
  59. package/composablesTs/useMutationObserver.d.ts +0 -8
  60. package/composablesTs/useMutationObserver.ts +0 -50
  61. package/composablesTs/useUI.d.ts +0 -68
  62. package/composablesTs/useUI.ts +0 -566
  63. package/constants.d.ts +0 -42
  64. package/constants.ts +0 -73
  65. package/directives/clickOutside/storybook/stories.d.ts +0 -653
  66. package/directives/clickOutside/vClickOutside.d.ts +0 -6
  67. package/directives/index.d.ts +0 -2
  68. package/directives/tooltip/storybook/stories.d.ts +0 -252
  69. package/directives/tooltip/vTooltip.d.ts +0 -6
  70. package/index.d.ts +0 -15
  71. package/preset.tailwind.d.ts +0 -116
  72. package/types.d.ts +0 -131
  73. package/types.ts +0 -218
  74. package/ui.button/UButton.vue.d.ts +0 -73
  75. package/ui.button/config.d.ts +0 -130
  76. package/ui.button/constants.d.ts +0 -1
  77. package/ui.button/storybook/stories.d.ts +0 -3062
  78. package/ui.button/useAttrs.d.ts +0 -11
  79. package/ui.button-link/ULink.vue.d.ts +0 -66
  80. package/ui.button-link/config.d.ts +0 -101
  81. package/ui.button-link/constants.d.ts +0 -1
  82. package/ui.button-link/storybook/stories.d.ts +0 -4567
  83. package/ui.button-link/useAttrs.d.ts +0 -14
  84. package/ui.button-toggle/UToggle.vue.d.ts +0 -50
  85. package/ui.button-toggle/config.d.ts +0 -65
  86. package/ui.button-toggle/constants.d.ts +0 -3
  87. package/ui.button-toggle/storybook/stories.d.ts +0 -2683
  88. package/ui.button-toggle/useAttrs.d.ts +0 -11
  89. package/ui.button-toggle-item/UToggleItem.vue.d.ts +0 -36
  90. package/ui.button-toggle-item/config.d.ts +0 -41
  91. package/ui.button-toggle-item/constants.d.ts +0 -1
  92. package/ui.button-toggle-item/storybook/stories.d.ts +0 -495
  93. package/ui.button-toggle-item/useAttrs.d.ts +0 -15
  94. package/ui.container-accordion/UAccordion.vue.d.ts +0 -32
  95. package/ui.container-accordion/config.d.ts +0 -40
  96. package/ui.container-accordion/constants.d.ts +0 -1
  97. package/ui.container-accordion/storybook/stories.d.ts +0 -732
  98. package/ui.container-accordion/useAttrs.d.ts +0 -13
  99. package/ui.container-card/UCard.vue.d.ts +0 -31
  100. package/ui.container-card/config.d.ts +0 -13
  101. package/ui.container-card/constants.d.ts +0 -1
  102. package/ui.container-card/storybook/stories.d.ts +0 -3906
  103. package/ui.container-card/useAttrs.d.ts +0 -11
  104. package/ui.container-col/UCol.vue.d.ts +0 -33
  105. package/ui.container-col/config.d.ts +0 -81
  106. package/ui.container-col/constants.d.ts +0 -1
  107. package/ui.container-col/storybook/stories.d.ts +0 -840
  108. package/ui.container-col/useAttrs.d.ts +0 -11
  109. package/ui.container-divider/UDivider.vue.d.ts +0 -25
  110. package/ui.container-divider/config.d.ts +0 -102
  111. package/ui.container-divider/constants.d.ts +0 -1
  112. package/ui.container-divider/storybook/stories.d.ts +0 -577
  113. package/ui.container-divider/useAttrs.d.ts +0 -11
  114. package/ui.container-group/UGroup.vue.d.ts +0 -33
  115. package/ui.container-group/config.d.ts +0 -38
  116. package/ui.container-group/constants.d.ts +0 -1
  117. package/ui.container-group/storybook/stories.d.ts +0 -2869
  118. package/ui.container-group/useAttrs.d.ts +0 -11
  119. package/ui.container-modal/UModal.vue.d.ts +0 -59
  120. package/ui.container-modal/config.d.ts +0 -77
  121. package/ui.container-modal/constants.d.ts +0 -1
  122. package/ui.container-modal/storybook/stories.d.ts +0 -8377
  123. package/ui.container-modal/useAttrs.d.ts +0 -11
  124. package/ui.container-modal-confirm/UModalConfirm.vue.d.ts +0 -59
  125. package/ui.container-modal-confirm/config.d.ts +0 -23
  126. package/ui.container-modal-confirm/constants.d.ts +0 -1
  127. package/ui.container-modal-confirm/storybook/stories.d.ts +0 -4494
  128. package/ui.container-modal-confirm/useAttrs.d.ts +0 -11
  129. package/ui.container-page/UPage.vue.d.ts +0 -47
  130. package/ui.container-page/config.d.ts +0 -85
  131. package/ui.container-page/constants.d.ts +0 -1
  132. package/ui.container-page/storybook/stories.d.ts +0 -8723
  133. package/ui.container-page/useAttrs.d.ts +0 -13
  134. package/ui.container-row/URow.vue.d.ts +0 -35
  135. package/ui.container-row/config.d.ts +0 -85
  136. package/ui.container-row/constants.d.ts +0 -1
  137. package/ui.container-row/storybook/stories.d.ts +0 -2619
  138. package/ui.container-row/useAttrs.d.ts +0 -11
  139. package/ui.data-list/UDataList.vue.d.ts +0 -74
  140. package/ui.data-list/config.d.ts +0 -48
  141. package/ui.data-list/constants.d.ts +0 -1
  142. package/ui.data-list/storybook/stories.d.ts +0 -3342
  143. package/ui.data-list/useAttrs.d.ts +0 -11
  144. package/ui.data-table/UTable.vue.d.ts +0 -90
  145. package/ui.data-table/UTableRow.vue.d.ts +0 -61
  146. package/ui.data-table/config.d.ts +0 -128
  147. package/ui.data-table/constants.d.ts +0 -1
  148. package/ui.data-table/storybook/stories.d.ts +0 -13069
  149. package/ui.data-table/useAttrs.d.ts +0 -17
  150. package/ui.data-table/utilTable.d.ts +0 -9
  151. package/ui.dropdown-badge/UDropdownBadge.vue.d.ts +0 -145
  152. package/ui.dropdown-badge/config.d.ts +0 -39
  153. package/ui.dropdown-badge/constants.d.ts +0 -1
  154. package/ui.dropdown-badge/storybook/stories.d.ts +0 -1246
  155. package/ui.dropdown-badge/useAttrs.d.ts +0 -13
  156. package/ui.dropdown-button/UDropdownButton.vue.d.ts +0 -151
  157. package/ui.dropdown-button/config.d.ts +0 -52
  158. package/ui.dropdown-button/constants.d.ts +0 -4
  159. package/ui.dropdown-button/storybook/stories.d.ts +0 -1912
  160. package/ui.dropdown-button/useAttrs.d.ts +0 -13
  161. package/ui.dropdown-link/UDropdownLink.vue.d.ts +0 -149
  162. package/ui.dropdown-link/config.d.ts +0 -37
  163. package/ui.dropdown-link/constants.d.ts +0 -1
  164. package/ui.dropdown-link/storybook/stories.d.ts +0 -1333
  165. package/ui.dropdown-link/useAttrs.d.ts +0 -13
  166. package/ui.dropdown-list/UDropdownList.vue.d.ts +0 -59
  167. package/ui.dropdown-list/config.d.ts +0 -77
  168. package/ui.dropdown-list/constants.d.ts +0 -1
  169. package/ui.dropdown-list/storybook/stories.d.ts +0 -783
  170. package/ui.dropdown-list/useAttrs.d.ts +0 -11
  171. package/ui.dropdown-list/usePointer.d.ts +0 -8
  172. package/ui.form-calendar/UCalendar.vue.d.ts +0 -31
  173. package/ui.form-calendar/UCalendarDayView.vue.d.ts +0 -26
  174. package/ui.form-calendar/UCalendarMonthView.vue.d.ts +0 -26
  175. package/ui.form-calendar/UCalendarYearView.vue.d.ts +0 -26
  176. package/ui.form-calendar/config.d.ts +0 -207
  177. package/ui.form-calendar/constants.d.ts +0 -66
  178. package/ui.form-calendar/storybook/stories.d.ts +0 -262
  179. package/ui.form-calendar/useAttrs.d.ts +0 -11
  180. package/ui.form-calendar/utilCalendar.d.ts +0 -8
  181. package/ui.form-calendar/utilDate.d.ts +0 -30
  182. package/ui.form-calendar/utilFormatting.d.ts +0 -68
  183. package/ui.form-checkbox/UCheckbox.vue.d.ts +0 -50
  184. package/ui.form-checkbox/config.d.ts +0 -67
  185. package/ui.form-checkbox/constants.d.ts +0 -1
  186. package/ui.form-checkbox/storybook/stories.d.ts +0 -1589
  187. package/ui.form-checkbox/useAttrs.d.ts +0 -14
  188. package/ui.form-checkbox-group/UCheckboxGroup.vue.d.ts +0 -40
  189. package/ui.form-checkbox-group/config.d.ts +0 -21
  190. package/ui.form-checkbox-group/constants.d.ts +0 -1
  191. package/ui.form-checkbox-group/storybook/stories.d.ts +0 -2441
  192. package/ui.form-checkbox-group/useAttrs.d.ts +0 -11
  193. package/ui.form-checkbox-multi-state/UCheckboxMultiState.vue.d.ts +0 -24
  194. package/ui.form-checkbox-multi-state/config.d.ts +0 -10
  195. package/ui.form-checkbox-multi-state/constants.d.ts +0 -1
  196. package/ui.form-checkbox-multi-state/storybook/stories.d.ts +0 -187
  197. package/ui.form-checkbox-multi-state/useAttrs.d.ts +0 -13
  198. package/ui.form-color-picker/UColorPicker.vue.d.ts +0 -28
  199. package/ui.form-color-picker/config.d.ts +0 -42
  200. package/ui.form-color-picker/constants.d.ts +0 -1
  201. package/ui.form-color-picker/storybook/stories.d.ts +0 -316
  202. package/ui.form-color-picker/useAttrs.d.ts +0 -11
  203. package/ui.form-date-picker/UDatePicker.vue.d.ts +0 -135
  204. package/ui.form-date-picker/config.d.ts +0 -184
  205. package/ui.form-date-picker/constants.d.ts +0 -1
  206. package/ui.form-date-picker/index.d.ts +0 -1
  207. package/ui.form-date-picker/storybook/stories.d.ts +0 -3242
  208. package/ui.form-date-picker/useAttrs.d.ts +0 -14
  209. package/ui.form-date-picker-range/UDatePickerRange.vue.d.ts +0 -545
  210. package/ui.form-date-picker-range/UDatePickerRangeInputs.vue.d.ts +0 -6
  211. package/ui.form-date-picker-range/UDatePickerRangePeriodMenu.vue.d.ts +0 -7
  212. package/ui.form-date-picker-range/config.d.ts +0 -265
  213. package/ui.form-date-picker-range/constants.d.ts +0 -20
  214. package/ui.form-date-picker-range/storybook/stories.d.ts +0 -5545
  215. package/ui.form-date-picker-range/useAttrs.d.ts +0 -17
  216. package/ui.form-date-picker-range/useUserFormat.d.ts +0 -3
  217. package/ui.form-date-picker-range/utilDateRange.d.ts +0 -20
  218. package/ui.form-date-picker-range/utilValidation.d.ts +0 -3
  219. package/ui.form-input/UInput.vue.d.ts +0 -59
  220. package/ui.form-input/config.d.ts +0 -59
  221. package/ui.form-input/constants.d.ts +0 -1
  222. package/ui.form-input/storybook/stories.d.ts +0 -5734
  223. package/ui.form-input/useAttrs.d.ts +0 -11
  224. package/ui.form-input-file/UInputFile.vue.d.ts +0 -57
  225. package/ui.form-input-file/config.d.ts +0 -94
  226. package/ui.form-input-file/constants.d.ts +0 -1
  227. package/ui.form-input-file/storybook/stories.d.ts +0 -1116
  228. package/ui.form-input-file/useAttrs.d.ts +0 -11
  229. package/ui.form-input-file/utilFileForm.d.ts +0 -1
  230. package/ui.form-input-money/UInputMoney.vue.d.ts +0 -183
  231. package/ui.form-input-money/config.d.ts +0 -17
  232. package/ui.form-input-money/constants.d.ts +0 -1
  233. package/ui.form-input-money/storybook/stories.d.ts +0 -7519
  234. package/ui.form-input-money/useAttrs.d.ts +0 -11
  235. package/ui.form-input-money/useFormatCurrency.d.ts +0 -5
  236. package/ui.form-input-money/utilFormat.d.ts +0 -7
  237. package/ui.form-input-number/UInputNumber.vue.d.ts +0 -30
  238. package/ui.form-input-number/config.d.ts +0 -40
  239. package/ui.form-input-number/constants.d.ts +0 -1
  240. package/ui.form-input-number/storybook/stories.d.ts +0 -363
  241. package/ui.form-input-number/useAttrs.d.ts +0 -11
  242. package/ui.form-input-rating/UInputRating.vue.d.ts +0 -49
  243. package/ui.form-input-rating/config.d.ts +0 -56
  244. package/ui.form-input-rating/constants.d.ts +0 -1
  245. package/ui.form-input-rating/storybook/stories.d.ts +0 -1336
  246. package/ui.form-input-rating/useAttrs.d.ts +0 -11
  247. package/ui.form-input-search/UInputSearch.vue.d.ts +0 -177
  248. package/ui.form-input-search/config.d.ts +0 -21
  249. package/ui.form-input-search/constants.d.ts +0 -1
  250. package/ui.form-input-search/storybook/stories.d.ts +0 -3325
  251. package/ui.form-input-search/useAttrs.d.ts +0 -11
  252. package/ui.form-label/ULabel.vue.d.ts +0 -46
  253. package/ui.form-label/config.d.ts +0 -139
  254. package/ui.form-label/constants.d.ts +0 -8
  255. package/ui.form-label/storybook/stories.d.ts +0 -1133
  256. package/ui.form-label/useAttrs.d.ts +0 -11
  257. package/ui.form-radio/URadio.vue.d.ts +0 -46
  258. package/ui.form-radio/config.d.ts +0 -30
  259. package/ui.form-radio/constants.d.ts +0 -1
  260. package/ui.form-radio/storybook/stories.d.ts +0 -1270
  261. package/ui.form-radio/useAttrs.d.ts +0 -14
  262. package/ui.form-radio-group/URadioGroup.vue.d.ts +0 -40
  263. package/ui.form-radio-group/config.d.ts +0 -21
  264. package/ui.form-radio-group/constants.d.ts +0 -1
  265. package/ui.form-radio-group/storybook/stories.d.ts +0 -1239
  266. package/ui.form-radio-group/useAttrs.d.ts +0 -11
  267. package/ui.form-select/USelect.vue.d.ts +0 -405
  268. package/ui.form-select/config.d.ts +0 -146
  269. package/ui.form-select/constants.d.ts +0 -13
  270. package/ui.form-select/storybook/stories.d.ts +0 -19025
  271. package/ui.form-select/useAttrs.d.ts +0 -15
  272. package/ui.form-select/utilSelect.d.ts +0 -11
  273. package/ui.form-switch/USwitch.vue.d.ts +0 -30
  274. package/ui.form-switch/config.d.ts +0 -106
  275. package/ui.form-switch/constants.d.ts +0 -1
  276. package/ui.form-switch/storybook/stories.d.ts +0 -703
  277. package/ui.form-switch/useAttrs.d.ts +0 -13
  278. package/ui.form-switch/utilVariant.d.ts +0 -169
  279. package/ui.form-textarea/UTextarea.vue.d.ts +0 -132
  280. package/ui.form-textarea/config.d.ts +0 -55
  281. package/ui.form-textarea/constants.d.ts +0 -1
  282. package/ui.form-textarea/storybook/stories.d.ts +0 -2175
  283. package/ui.form-textarea/useAttrs.d.ts +0 -11
  284. package/ui.image-avatar/UAvatar.vue.d.ts +0 -40
  285. package/ui.image-avatar/config.d.ts +0 -51
  286. package/ui.image-avatar/constants.d.ts +0 -1
  287. package/ui.image-avatar/storybook/stories.d.ts +0 -1640
  288. package/ui.image-avatar/useAttrs.d.ts +0 -11
  289. package/ui.image-icon/UIcon.vue.d.ts +0 -28
  290. package/ui.image-icon/config.d.ts +0 -52
  291. package/ui.image-icon/constants.d.ts +0 -1
  292. package/ui.image-icon/storybook/stories.d.ts +0 -516
  293. package/ui.image-icon/useAttrs.d.ts +0 -11
  294. package/ui.loader/ULoader.vue.d.ts +0 -23
  295. package/ui.loader/config.d.ts +0 -49
  296. package/ui.loader/constants.d.ts +0 -2
  297. package/ui.loader/storybook/stories.d.ts +0 -655
  298. package/ui.loader/useAttrs.d.ts +0 -11
  299. package/ui.loader-overlay/ULoaderOverlay.vue.d.ts +0 -21
  300. package/ui.loader-overlay/config.d.ts +0 -25
  301. package/ui.loader-overlay/constants.d.ts +0 -1
  302. package/ui.loader-overlay/storybook/stories.d.ts +0 -362
  303. package/ui.loader-overlay/useAttrs.d.ts +0 -11
  304. package/ui.loader-overlay/useLoaderOverlay.d.ts +0 -10
  305. package/ui.loader-overlay/utilLoaderOverlay.d.ts +0 -2
  306. package/ui.loader-progress/ULoaderProgress.vue.d.ts +0 -11
  307. package/ui.loader-progress/config.d.ts +0 -24
  308. package/ui.loader-progress/constants.d.ts +0 -3
  309. package/ui.loader-progress/storybook/stories.d.ts +0 -742
  310. package/ui.loader-progress/useAttrs.d.ts +0 -11
  311. package/ui.loader-progress/useLoaderProgress.d.ts +0 -15
  312. package/ui.loader-progress/utilLoaderProgress.d.ts +0 -5
  313. package/ui.navigation-pagination/UPagination.vue.d.ts +0 -54
  314. package/ui.navigation-pagination/config.d.ts +0 -41
  315. package/ui.navigation-pagination/constants.d.ts +0 -1
  316. package/ui.navigation-pagination/storybook/stories.d.ts +0 -1033
  317. package/ui.navigation-pagination/useAttrs.d.ts +0 -11
  318. package/ui.navigation-progress/StepperProgress.vue.d.ts +0 -15
  319. package/ui.navigation-progress/UProgress.vue.d.ts +0 -41
  320. package/ui.navigation-progress/config.d.ts +0 -139
  321. package/ui.navigation-progress/constants.d.ts +0 -5
  322. package/ui.navigation-progress/storybook/stories.d.ts +0 -2827
  323. package/ui.navigation-progress/useAttrs.d.ts +0 -11
  324. package/ui.navigation-tab/UTab.vue.d.ts +0 -27
  325. package/ui.navigation-tab/config.d.ts +0 -24
  326. package/ui.navigation-tab/constants.d.ts +0 -1
  327. package/ui.navigation-tab/storybook/stories.d.ts +0 -316
  328. package/ui.navigation-tab/useAttrs.d.ts +0 -14
  329. package/ui.navigation-tabs/UTabs.vue.d.ts +0 -30
  330. package/ui.navigation-tabs/config.d.ts +0 -24
  331. package/ui.navigation-tabs/constants.d.ts +0 -1
  332. package/ui.navigation-tabs/storybook/stories.d.ts +0 -354
  333. package/ui.navigation-tabs/useAttrs.d.ts +0 -11
  334. package/ui.other-dot/UDot.vue.d.ts +0 -13
  335. package/ui.other-dot/config.d.ts +0 -28
  336. package/ui.other-dot/constants.d.ts +0 -1
  337. package/ui.other-dot/storybook/stories.d.ts +0 -645
  338. package/ui.other-dot/useAttrs.d.ts +0 -11
  339. package/ui.text-alert/UAlert.vue.d.ts +0 -53
  340. package/ui.text-alert/config.d.ts +0 -75
  341. package/ui.text-alert/constants.d.ts +0 -1
  342. package/ui.text-alert/storybook/stories.d.ts +0 -4845
  343. package/ui.text-alert/useAttrs.d.ts +0 -11
  344. package/ui.text-badge/UBadge.vue.d.ts +0 -60
  345. package/ui.text-badge/config.d.ts +0 -102
  346. package/ui.text-badge/constants.d.ts +0 -1
  347. package/ui.text-badge/storybook/stories.d.ts +0 -1869
  348. package/ui.text-badge/useAttrs.d.ts +0 -11
  349. package/ui.text-block/UText.vue.d.ts +0 -21
  350. package/ui.text-block/config.d.ts +0 -27
  351. package/ui.text-block/constants.d.ts +0 -1
  352. package/ui.text-block/storybook/stories.d.ts +0 -12
  353. package/ui.text-block/types.d.ts +0 -9
  354. package/ui.text-block/types.ts +0 -33
  355. package/ui.text-block/useAttrs.d.ts +0 -3
  356. package/ui.text-block/useAttrs.ts +0 -18
  357. package/ui.text-empty/UEmpty.vue.d.ts +0 -29
  358. package/ui.text-empty/config.d.ts +0 -55
  359. package/ui.text-empty/constants.d.ts +0 -1
  360. package/ui.text-empty/storybook/stories.d.ts +0 -1212
  361. package/ui.text-empty/useAttrs.d.ts +0 -11
  362. package/ui.text-file/UFile.vue.d.ts +0 -57
  363. package/ui.text-file/config.d.ts +0 -42
  364. package/ui.text-file/constants.d.ts +0 -1
  365. package/ui.text-file/storybook/stories.d.ts +0 -136
  366. package/ui.text-file/useAttrs.d.ts +0 -11
  367. package/ui.text-files/UFiles.vue.d.ts +0 -52
  368. package/ui.text-files/config.d.ts +0 -10
  369. package/ui.text-files/constants.d.ts +0 -1
  370. package/ui.text-files/storybook/stories.d.ts +0 -131
  371. package/ui.text-files/useAttrs.d.ts +0 -11
  372. package/ui.text-header/UHeader.vue.d.ts +0 -33
  373. package/ui.text-header/config.d.ts +0 -54
  374. package/ui.text-header/constants.d.ts +0 -1
  375. package/ui.text-header/storybook/stories.d.ts +0 -694
  376. package/ui.text-header/useAttrs.d.ts +0 -11
  377. package/ui.text-money/UMoney.vue.d.ts +0 -48
  378. package/ui.text-money/config.d.ts +0 -77
  379. package/ui.text-money/constants.d.ts +0 -1
  380. package/ui.text-money/storybook/stories.d.ts +0 -2090
  381. package/ui.text-money/useAttrs.d.ts +0 -11
  382. package/ui.text-money/utilMoney.d.ts +0 -14
  383. package/ui.text-notify/UNotify.vue.d.ts +0 -13
  384. package/ui.text-notify/config.d.ts +0 -58
  385. package/ui.text-notify/constants.d.ts +0 -20
  386. package/ui.text-notify/storybook/stories.d.ts +0 -653
  387. package/ui.text-notify/useAttrs.d.ts +0 -11
  388. package/ui.text-notify/utilNotify.d.ts +0 -7
  389. package/utils/utilHelper.d.ts +0 -9
  390. package/utils/utilPlatform.d.ts +0 -6
  391. package/utils/utilStorybook.d.ts +0 -15
  392. package/utils/utilUI.d.ts +0 -68
  393. package/utilsTs/utilHelper.d.ts +0 -9
  394. package/utilsTs/utilHelper.ts +0 -70
  395. package/utilsTs/utilPlatform.d.ts +0 -7
  396. package/utilsTs/utilPlatform.ts +0 -53
  397. package/utilsTs/utilStorybook.d.ts +0 -24
  398. package/utilsTs/utilStorybook.ts +0 -292
  399. package/utilsTs/utilTailwind.d.ts +0 -1
  400. package/utilsTs/utilTailwind.ts +0 -38
  401. package/utilsTs/utilTheme.d.ts +0 -8
  402. package/utilsTs/utilUI.d.ts +0 -67
  403. package/utilsTs/utilUI.ts +0 -142
  404. /package/ui.text-block/{config.ts → config.js} +0 -0
  405. /package/ui.text-block/{constants.ts → constants.js} +0 -0
@@ -1,50 +0,0 @@
1
- import { onBeforeUnmount, onMounted, toValue, watch } from "vue";
2
- import { isSSR } from "../utils/utilHelper.js";
3
-
4
- import type { Ref } from "vue";
5
-
6
- export function useMutationObserver(
7
- target: Ref<HTMLElement | null>,
8
- callBack: () => void,
9
- config = { childList: true, attributes: true, characterData: true },
10
- ) {
11
- if (isSSR) return;
12
-
13
- const observer = new MutationObserver(callBack);
14
-
15
- onMounted(() => {
16
- if (!toValue(target)) return;
17
-
18
- if (Array.isArray(toValue(target))) {
19
- toValue(target).forEach((element) => {
20
- observer.observe(element, config);
21
- });
22
- } else {
23
- observer.observe(toValue(target), config);
24
- }
25
- });
26
-
27
- watch(
28
- () => toValue(target),
29
- () => {
30
- if (Array.isArray(toValue(target))) {
31
- toValue(target).forEach((element) => {
32
- observer.observe(element, config);
33
- });
34
-
35
- return;
36
- }
37
-
38
- observer.observe(toValue(target), config);
39
- },
40
- {
41
- deep: true,
42
- },
43
- );
44
-
45
- onBeforeUnmount(() => {
46
- observer.disconnect();
47
- });
48
-
49
- return { observer };
50
- }
@@ -1,68 +0,0 @@
1
- import { setColor, getColor } from "../utilsTs/utilUI";
2
- import type { Slot, ComputedRef } from "vue";
3
- import type { BrandColors, Strategies, UnknownObject, Component, CVA, KeysToExtend } from "../types";
4
- export default function useUI(defaultConfig: Component, propsConfigGetter?: () => typeof defaultConfig | undefined, topLevelClassKey?: string): {
5
- config: import("vue").Ref<{
6
- [x: string]: string | object | {
7
- [x: string]: string | Record<string, string | object>;
8
- base?: string | undefined;
9
- variants?: UnknownObject | undefined;
10
- compoundVariants?: ({
11
- [x: string]: string | number | null | undefined;
12
- class: string;
13
- }[] & never[]) | undefined;
14
- defaultVariants?: UnknownObject | undefined;
15
- component: string;
16
- } | undefined;
17
- i18n?: UnknownObject | undefined;
18
- defaults?: UnknownObject | undefined;
19
- safelist?: (() => import("../types").TailwindSafelist[]) | undefined;
20
- strategy?: Strategies | undefined;
21
- transition?: {
22
- enterFromClass?: string | undefined;
23
- enterActiveClass?: string | undefined;
24
- enterToClass?: string | undefined;
25
- leaveFromClass?: string | undefined;
26
- leaveActiveClass?: string | undefined;
27
- leaveToClass?: string | undefined;
28
- } | undefined;
29
- safelistColors?: BrandColors | undefined;
30
- }, Component | {
31
- [x: string]: string | object | {
32
- [x: string]: string | Record<string, string | object>;
33
- base?: string | undefined;
34
- variants?: UnknownObject | undefined;
35
- compoundVariants?: ({
36
- [x: string]: string | number | null | undefined;
37
- class: string;
38
- }[] & never[]) | undefined;
39
- defaultVariants?: UnknownObject | undefined;
40
- component: string;
41
- } | undefined;
42
- i18n?: UnknownObject | undefined;
43
- defaults?: UnknownObject | undefined;
44
- safelist?: (() => import("../types").TailwindSafelist[]) | undefined;
45
- strategy?: Strategies | undefined;
46
- transition?: {
47
- enterFromClass?: string | undefined;
48
- enterActiveClass?: string | undefined;
49
- enterToClass?: string | undefined;
50
- leaveFromClass?: string | undefined;
51
- leaveActiveClass?: string | undefined;
52
- leaveToClass?: string | undefined;
53
- } | undefined;
54
- safelistColors?: BrandColors | undefined;
55
- }>;
56
- setColor: typeof setColor;
57
- getColor: typeof getColor;
58
- getAttrs: (configKey: string, classes: ComputedRef) => import("vue").Ref<{}, {}>;
59
- getKeysAttrs: (mutatedProps?: {}, extendingKeys?: string[], keysToExtendConfig?: Record<string, KeysToExtend>) => UnknownObject;
60
- getExtendingKeysClasses: (extendingKeys: string[], mutatedProps?: {}) => UnknownObject;
61
- isCVA: typeof isCVA;
62
- isSystemKey: typeof isSystemKey;
63
- hasSlotContent: typeof hasSlotContent;
64
- };
65
- declare function isSystemKey(key: string): boolean;
66
- declare function isCVA(config: CVA | string): boolean;
67
- export declare function hasSlotContent(slot: Slot | undefined | null, props?: {}): boolean;
68
- export {};
@@ -1,566 +0,0 @@
1
- import {
2
- ref,
3
- watch,
4
- watchEffect,
5
- getCurrentInstance,
6
- toValue,
7
- useAttrs,
8
- Comment,
9
- Text,
10
- Fragment,
11
- computed,
12
- } from "vue";
13
-
14
- import { cx, cva, setColor, getColor, vuelessConfig } from "../utilsTs/utilUI";
15
- import { cloneDeep, isCSR } from "../utilsTs/utilHelper";
16
- import {
17
- STRATEGY_TYPE,
18
- CVA_CONFIG_KEY,
19
- SYSTEM_CONFIG_KEY,
20
- NESTED_COMPONENT_REG_EXP,
21
- } from "../constants.js";
22
-
23
- import type { ComponentInternalInstance, Slot, VNode, ComputedRef } from "vue";
24
- import type {
25
- BrandColors,
26
- Strategies,
27
- UnknownObject,
28
- VueAttrs,
29
- Component,
30
- NestedComponent,
31
- ComponentNames,
32
- CVA,
33
- KeyAttrs,
34
- KeysToExtend,
35
- CVACompoundVariants,
36
- } from "../types";
37
-
38
- interface GetMergedConfig {
39
- defaultConfig: Component;
40
- globalConfig: Component;
41
- propsConfig?: Component;
42
- vuelessStrategy?: Strategies;
43
- }
44
-
45
- interface MergeConfigs {
46
- defaultConfig: Component & CVA;
47
- globalConfig: Component & CVA;
48
- propsConfig?: Component & CVA;
49
- config?: Component & CVA;
50
- isReplace?: boolean;
51
- isVariants?: boolean;
52
- }
53
-
54
- /**
55
- * Merging component configs in a given sequence (bigger number = bigger priority):
56
- * 1. Default component config
57
- * 2. Custom global component config (/vueless.config.{js,ts})
58
- * 3. Component config (:config="{...}" props)
59
- * 4. Component classes (class="...")
60
- */
61
- export default function useUI(
62
- defaultConfig: Component,
63
- propsConfigGetter?: () => typeof defaultConfig | undefined,
64
- topLevelClassKey?: string,
65
- ) {
66
- const { type, props } = getCurrentInstance() as ComponentInternalInstance;
67
- const componentName = type.__name as ComponentNames;
68
- let globalConfig = {};
69
-
70
- if (vuelessConfig.component && componentName) {
71
- globalConfig = vuelessConfig.component[componentName] as UnknownObject as Component;
72
- }
73
-
74
- const isStrategyValid =
75
- vuelessConfig.strategy && Object.values(STRATEGY_TYPE).includes(vuelessConfig.strategy);
76
-
77
- const vuelessStrategy = isStrategyValid
78
- ? (vuelessConfig.strategy as Strategies)
79
- : (STRATEGY_TYPE.merge as Strategies);
80
-
81
- const firstClassKey = defaultConfig ? Object.keys(defaultConfig)[0] : "";
82
- const config = ref({} as Component);
83
- const attrs = useAttrs();
84
-
85
- watchEffect(() => {
86
- const propsConfig = propsConfigGetter ? propsConfigGetter() : {};
87
-
88
- const mergedConfig = getMergedConfig({
89
- defaultConfig,
90
- globalConfig,
91
- propsConfig,
92
- vuelessStrategy,
93
- });
94
-
95
- config.value = mergeClassesIntoConfig(mergedConfig, topLevelClassKey || firstClassKey, attrs);
96
- });
97
-
98
- /**
99
- * Get classes by given key (including CVA if config set).
100
- */
101
- function getClasses(key: string, mutatedProps: UnknownObject) {
102
- return computed(() => {
103
- const color = (toValue(mutatedProps)?.color as BrandColors) || props?.color;
104
- const value = config.value[key] as CVA & NestedComponent;
105
-
106
- let classes = "";
107
-
108
- if (isCVA(value)) {
109
- classes = cva(value)({
110
- ...props,
111
- ...toValue(mutatedProps),
112
- ...(color ? { color: getColor(color) } : {}),
113
- });
114
- } else if (value.component) {
115
- // If the value of the key contains keys related to the nested component, it should be skipped.
116
- // Probably this should be fixed later to be possible to extend key with nested component keys.
117
- return "";
118
- }
119
-
120
- return color ? setColor(classes, color) : value;
121
- });
122
- }
123
-
124
- /**
125
- * Get an object where:
126
- * – key: extendingKey
127
- * – value: reactive string of extendingKey classes.
128
- */
129
- function getExtendingKeysClasses(extendingKeys: string[], mutatedProps = {}) {
130
- const extendingClasses: UnknownObject = {};
131
-
132
- for (const key of extendingKeys) {
133
- extendingClasses[key] = getClasses(key, mutatedProps);
134
- }
135
-
136
- return extendingClasses;
137
- }
138
-
139
- /**
140
- * Get an object where:
141
- * – key: elementKey
142
- * – value: reactive object of string element attributes (with classes).
143
- */
144
- function getKeysAttrs(
145
- mutatedProps = {},
146
- extendingKeys: string[] = [],
147
- keysToExtendConfig: Record<string, KeysToExtend> = {},
148
- ) {
149
- const keysToExtend = Object.keys(keysToExtendConfig);
150
- const keysAttrs: UnknownObject = {};
151
-
152
- for (const key in defaultConfig) {
153
- if (isSystemKey(key) || extendingKeys.includes(key)) continue;
154
-
155
- keysAttrs[`${key}Attrs`] = getAttrs(key, getClasses(key, mutatedProps));
156
-
157
- if (keysToExtend.includes(key)) {
158
- const { base, extend } = keysToExtendConfig[key];
159
- const keyAttrs = keysAttrs[`${key}Attrs`] as ComputedRef<KeyAttrs>;
160
-
161
- keysAttrs[`${key}Attrs`] = computed(() => ({
162
- ...keyAttrs.value,
163
- class: cx([
164
- ...(Array.isArray(base) ? toValue(base) : [toValue(base)]),
165
- keyAttrs.value.class,
166
- ...(Array.isArray(extend) ? toValue(extend) : [toValue(extend)]),
167
- ]),
168
- }));
169
- }
170
- }
171
-
172
- return keysAttrs;
173
- }
174
-
175
- /**
176
- * Get an element attributes for a given key.
177
- */
178
- function getAttrs(configKey: string, classes: ComputedRef) {
179
- const nestedComponent = getNestedComponent(defaultConfig[configKey] || "");
180
-
181
- const attrs = useAttrs();
182
- const isDev = isCSR && import.meta.env?.DEV;
183
- const vuelessAttrs = ref({});
184
- const isTopLevelKey = (topLevelClassKey || firstClassKey) === configKey;
185
-
186
- const commonAttrs: KeyAttrs = {
187
- ...(isTopLevelKey ? attrs : {}),
188
- "vl-component": isDev ? (attrs["vl-component"] as string) || componentName || null : null,
189
- "vl-key": isDev ? (attrs["vl-config-key"] as string) || configKey || null : null,
190
- "vl-child-component":
191
- isDev && attrs["vl-component"] ? nestedComponent || componentName : null,
192
- "vl-child-key": isDev && attrs["vl-component"] ? configKey : null,
193
- };
194
-
195
- // Delete value key to prevent v-model overwrite
196
- delete commonAttrs.value;
197
-
198
- watch(config, updateVuelessAttrs, { immediate: true });
199
- watch(props, updateVuelessAttrs);
200
-
201
- if (classes?.value) {
202
- watch(classes, updateVuelessAttrs);
203
- }
204
-
205
- function updateVuelessAttrs() {
206
- const configKeyValue = config.value[configKey] as Component | string;
207
- const isObject = typeof configKeyValue === "object";
208
-
209
- const configAttrs = {
210
- config: configKeyValue,
211
- ...(isObject ? configKeyValue.defaults : {}),
212
- };
213
-
214
- const isTopLevelClassKey = configKey === (topLevelClassKey || firstClassKey);
215
- const attrClass = isTopLevelClassKey && !nestedComponent ? attrs.class : "";
216
-
217
- vuelessAttrs.value = {
218
- ...commonAttrs,
219
- class: cx([getBaseClasses(toValue(classes)), attrClass]),
220
- ...((isObject && configAttrs) || {}),
221
- };
222
- }
223
-
224
- return vuelessAttrs;
225
- }
226
-
227
- return {
228
- config,
229
- setColor,
230
- getColor,
231
- getAttrs,
232
- getKeysAttrs,
233
- getExtendingKeysClasses,
234
- isCVA,
235
- isSystemKey,
236
- hasSlotContent,
237
- };
238
- }
239
-
240
- /**
241
- * Get merged config based on config merging strategy.
242
- */
243
- function getMergedConfig({
244
- defaultConfig,
245
- globalConfig,
246
- propsConfig,
247
- vuelessStrategy,
248
- }: GetMergedConfig) {
249
- defaultConfig = cloneDeep(defaultConfig) as Component;
250
-
251
- let mergedConfig: Component = {};
252
- const strategy =
253
- !globalConfig && !propsConfig
254
- ? STRATEGY_TYPE.merge
255
- : propsConfig?.strategy || globalConfig?.strategy || vuelessStrategy;
256
-
257
- if (strategy === STRATEGY_TYPE.merge) {
258
- mergedConfig = mergeConfigs({ defaultConfig, globalConfig, propsConfig });
259
- }
260
-
261
- if (strategy === STRATEGY_TYPE.replace) {
262
- mergedConfig = mergeConfigs({ defaultConfig, globalConfig, propsConfig, isReplace: true });
263
- }
264
-
265
- if (strategy === STRATEGY_TYPE.overwrite) {
266
- const isGlobalConfig = globalConfig && Object.keys(globalConfig).length;
267
- const isPropsConfig = propsConfig && Object.keys(propsConfig).length;
268
-
269
- mergedConfig = isPropsConfig ? propsConfig : isGlobalConfig ? globalConfig : defaultConfig;
270
- }
271
-
272
- return mergedConfig;
273
- }
274
-
275
- /**
276
- * Recursively merge config objects with removing tailwind classes duplicates.
277
- * config - final merged config.
278
- * isReplace - enables class replacement instead of merge.
279
- * isVariants - if true, prevents adding a "base" key into nested objects.
280
- */
281
- function mergeConfigs({
282
- defaultConfig,
283
- globalConfig,
284
- propsConfig,
285
- config = {},
286
- isReplace = false,
287
- isVariants = false,
288
- }: MergeConfigs) {
289
- globalConfig = cloneDeep(globalConfig || {}) as Component;
290
- propsConfig = cloneDeep(propsConfig || {}) as Component;
291
-
292
- const isGlobalConfig = Object.keys(globalConfig).length;
293
- const isPropsConfig = Object.keys(propsConfig).length;
294
-
295
- // Add unique keys from defaultConfig to composedConfig
296
- const composedConfig = cloneDeep(defaultConfig) as Component & CVA;
297
-
298
- // Add unique keys from globalConfig to composedConfig
299
- for (const key in globalConfig) {
300
- if (!Object.keys(composedConfig).includes(key)) {
301
- composedConfig[key] = globalConfig[key];
302
- }
303
- }
304
-
305
- // Add unique keys from propsConfig to composedConfig
306
- for (const key in propsConfig) {
307
- if (!Object.keys(composedConfig).includes(key)) {
308
- composedConfig[key] = propsConfig[key];
309
- }
310
- }
311
-
312
- const {
313
- i18n,
314
- defaults,
315
- strategy,
316
- safelist,
317
- component,
318
- safelistColors,
319
- defaultVariants,
320
- compoundVariants,
321
- } = SYSTEM_CONFIG_KEY;
322
-
323
- for (const key in composedConfig) {
324
- if (isGlobalConfig || isPropsConfig) {
325
- if (key === safelist || key === safelistColors) {
326
- if (propsConfig[key]) {
327
- // eslint-disable-next-line no-console
328
- console.warn(`Passing '${key}' key in 'config' prop is not allowed.`);
329
- }
330
- } else if (key === component) {
331
- config[key] = propsConfig[key] || defaultConfig[key];
332
-
333
- if (globalConfig[key]) {
334
- // eslint-disable-next-line no-console
335
- console.warn(`Passing '${key}' key in 'config' prop or by global config is not allowed.`);
336
- }
337
- } else if (key === strategy) {
338
- config[key] = propsConfig[key] || globalConfig[key] || defaultConfig[key];
339
- } else if (key === defaults || key === defaultVariants) {
340
- config[key] = {
341
- ...(defaultConfig[key] as UnknownObject),
342
- ...(globalConfig[key] as UnknownObject),
343
- ...(propsConfig[key] as UnknownObject),
344
- };
345
- } else if (key === compoundVariants) {
346
- config[key] = mergeCompoundVariants({
347
- defaultConfig,
348
- globalConfig,
349
- propsConfig,
350
- isReplace,
351
- });
352
- } else {
353
- const isObjectComposedConfig = typeof composedConfig[key] === "object";
354
- const isObjectGlobalConfig = typeof globalConfig[key] === "object";
355
- const isObjectPropsConfig = typeof propsConfig[key] === "object";
356
-
357
- const isObject = isObjectComposedConfig || isObjectGlobalConfig || isObjectPropsConfig;
358
- const isEmpty = composedConfig[key] === null;
359
- const isI18n = key === i18n;
360
-
361
- if (key === "variants" && !isVariants) {
362
- isVariants = true;
363
- }
364
-
365
- config[key] =
366
- isObject && !isEmpty && !isI18n
367
- ? mergeConfigs({
368
- defaultConfig: stringToObject(composedConfig[key], { addBase: !isVariants }),
369
- globalConfig: stringToObject(globalConfig[key], { addBase: !isVariants }),
370
- propsConfig: stringToObject(propsConfig[key], { addBase: !isVariants }),
371
- config: stringToObject(composedConfig[key], { addBase: !isVariants }),
372
- isReplace,
373
- isVariants,
374
- })
375
- : isReplace || isI18n
376
- ? propsConfig[key] || globalConfig[key] || defaultConfig[key]
377
- : cx([defaultConfig[key], globalConfig[key], propsConfig[key]]);
378
- }
379
- } else {
380
- config[key] = composedConfig[key];
381
- }
382
- }
383
-
384
- return config;
385
- }
386
-
387
- /**
388
- Turn simplified nested component config to regular config.
389
- */
390
- function stringToObject(
391
- value: (CVA & Partial<NestedComponent>) | string | undefined,
392
- { addBase = false },
393
- ): CVA & Partial<NestedComponent> {
394
- if (typeof value !== "object" && addBase) {
395
- return { base: value || "" };
396
- }
397
-
398
- return typeof value === "object" ? value : addBase ? { base: value || "" } : {};
399
- }
400
-
401
- interface MergeCompoundVariants {
402
- defaultConfig: CVA;
403
- globalConfig: CVA;
404
- propsConfig: CVA;
405
- isReplace?: boolean;
406
- }
407
-
408
- /**
409
- * Merge CVA compound variants arrays.
410
- * isReplace - enables class replacement instead of merge.
411
- */
412
- function mergeCompoundVariants({
413
- defaultConfig,
414
- globalConfig,
415
- propsConfig,
416
- isReplace,
417
- }: MergeCompoundVariants) {
418
- if (
419
- (globalConfig.compoundVariants && !Array.isArray(globalConfig.compoundVariants)) ||
420
- (propsConfig.compoundVariants && !Array.isArray(propsConfig.compoundVariants)) ||
421
- (defaultConfig.compoundVariants && !Array.isArray(defaultConfig.compoundVariants))
422
- ) {
423
- // eslint-disable-next-line no-console
424
- console.error("CompoundVariants should be an array.");
425
- }
426
-
427
- const globalConfigUniqueItems = cloneDeep(
428
- globalConfig.compoundVariants || [],
429
- ) as CVACompoundVariants[];
430
- const propsConfigUniqueItems = cloneDeep(
431
- propsConfig.compoundVariants || [],
432
- ) as CVACompoundVariants[];
433
-
434
- const config = (defaultConfig.compoundVariants as CVACompoundVariants[])?.map(
435
- (defaultConfigItem) => {
436
- /**
437
- * Compare two objects by keys for match.
438
- */
439
- function isSameItem(configItem: UnknownObject) {
440
- const hasConfigItemKeys = Object.keys(defaultConfigItem)
441
- .map((key) => defaultConfigItem[key] === configItem[key] || key === "class")
442
- .every((item) => Boolean(item));
443
-
444
- const hasDefaultConfigItemKeys = Object.keys(configItem)
445
- .map((key) => defaultConfigItem[key] === configItem[key] || key === "class")
446
- .every((item) => Boolean(item));
447
-
448
- return hasConfigItemKeys && hasDefaultConfigItemKeys;
449
- }
450
-
451
- /**
452
- * Find the same compound variant item in custom config if exist.
453
- */
454
- function findItem(config = []): CVACompoundVariants | undefined {
455
- const globalConfigUniqueItemIndex = globalConfigUniqueItems.findIndex(isSameItem);
456
- const propsConfigUniqueItemIndex = propsConfigUniqueItems.findIndex(isSameItem);
457
-
458
- if (~globalConfigUniqueItemIndex) {
459
- globalConfigUniqueItems.splice(globalConfigUniqueItemIndex, 1);
460
- }
461
-
462
- if (~propsConfigUniqueItemIndex) {
463
- propsConfigUniqueItems.splice(propsConfigUniqueItemIndex, 1);
464
- }
465
-
466
- return config.find(isSameItem);
467
- }
468
-
469
- const globalConfigItem = findItem(globalConfig.compoundVariants);
470
- const propsConfigItem = findItem(propsConfig.compoundVariants);
471
-
472
- return globalConfigItem || propsConfigItem
473
- ? {
474
- ...defaultConfigItem,
475
- class: isReplace
476
- ? propsConfigItem?.class || globalConfigItem?.class || defaultConfigItem.class
477
- : cx([defaultConfigItem.class, globalConfigItem?.class, propsConfigItem?.class]),
478
- }
479
- : defaultConfigItem;
480
- },
481
- );
482
-
483
- return [...config, ...globalConfigUniqueItems, ...propsConfigUniqueItems];
484
- }
485
-
486
- /**
487
- * Merge component classes from "class" attribute into final config.
488
- */
489
- function mergeClassesIntoConfig(config: Component, topLevelClassKey: string, attrs: VueAttrs) {
490
- const configTopKey = config[topLevelClassKey];
491
-
492
- if (typeof configTopKey === "object") {
493
- (configTopKey as CVA).base = cx([(configTopKey as CVA)?.base, attrs.class]);
494
-
495
- config[topLevelClassKey] = configTopKey;
496
- } else {
497
- config[topLevelClassKey] = cx([configTopKey, attrs.class]);
498
- }
499
-
500
- return config;
501
- }
502
-
503
- /**
504
- * Return base classes.
505
- */
506
- function getBaseClasses(value: string | CVA | NestedComponent) {
507
- return typeof value === "object" ? (value.base as string) || "" : value || "";
508
- }
509
-
510
- /**
511
- * Check is config key contains component name and if contains return it.
512
- */
513
- function getNestedComponent(value: string | NestedComponent | CVA) {
514
- const classes = getBaseClasses(value);
515
- const component = (value as NestedComponent)?.component as ComponentNames;
516
-
517
- const match =
518
- classes.match(NESTED_COMPONENT_REG_EXP) || component?.match(NESTED_COMPONENT_REG_EXP);
519
-
520
- return match ? match[1] : "";
521
- }
522
-
523
- /**
524
- * Check is config key not contains classes or CVA config object.
525
- */
526
- function isSystemKey(key: string): boolean {
527
- const isExactKey = Object.values(SYSTEM_CONFIG_KEY).some((value) => value === key);
528
-
529
- return isExactKey || key.toLowerCase().includes(SYSTEM_CONFIG_KEY.transition.toLowerCase());
530
- }
531
-
532
- /**
533
- * Check is config contains default CVA keys.
534
- */
535
- function isCVA(config: CVA | string): boolean {
536
- if (typeof config !== "object") return false;
537
-
538
- return Object.values(CVA_CONFIG_KEY).some((value) =>
539
- Object.keys(config).some((key) => key === value),
540
- );
541
- }
542
-
543
- /**
544
- * Check if slot defined, and have a content.
545
- */
546
- export function hasSlotContent(slot: Slot | undefined | null, props = {}): boolean {
547
- type Args = VNode | VNode[] | undefined | null;
548
-
549
- const asArray = (arg: Args) => {
550
- return Array.isArray(arg) ? arg : arg != null ? [arg] : [];
551
- };
552
-
553
- const isVNodeEmpty = (vnode: Args) => {
554
- return (
555
- !vnode ||
556
- asArray(vnode).every(
557
- (vnode) =>
558
- vnode.type === Comment ||
559
- (vnode.type === Text && !vnode.children?.length) ||
560
- (vnode.type === Fragment && !vnode.children?.length),
561
- )
562
- );
563
- };
564
-
565
- return !isVNodeEmpty(slot?.(props));
566
- }