vueless 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/_readme/README.md +5 -75
  2. package/_readme/UNotify.md +1 -1
  3. package/_readme/UTopLoader.md +2 -2
  4. package/_readme/customization.md +347 -0
  5. package/_readme/installation.md +139 -0
  6. package/_readme/storybook-pages/Customisation.mdx +6 -0
  7. package/_readme/storybook-pages/Installation.mdx +7 -0
  8. package/composable.ui/index.js +341 -30
  9. package/library.vue-tailwind-3/index.js +0 -5
  10. package/library.web-types-gen/lib/build.js +35 -9
  11. package/library.web-types-gen/lib/config.js +10 -4
  12. package/package.json +37 -4
  13. package/plugin.vite/index.js +59 -0
  14. package/plugin.vite/services/iconResolver.service.js +291 -0
  15. package/plugin.vite/services/svgLoader.service.js +76 -0
  16. package/plugin.vite/services/tailwindSafelist.service.js +197 -0
  17. package/plugin.vite/services/unpluginComponentsResolver.js +172 -0
  18. package/service.storybook/index.js +53 -80
  19. package/service.tailwind/index.js +112 -0
  20. package/service.ui/index.js +69 -50
  21. package/ui.button/Docs.mdx +16 -0
  22. package/ui.button/composables/attrs.composable.js +41 -0
  23. package/ui.button/configs/default.config.js +164 -0
  24. package/ui.button/constants/index.js +5 -0
  25. package/ui.button/index.stories.js +8 -7
  26. package/ui.button/index.vue +116 -981
  27. package/ui.button-link/Docs.mdx +16 -0
  28. package/ui.button-link/composables/attrs.composable.js +99 -0
  29. package/ui.button-link/configs/default.config.js +80 -0
  30. package/ui.button-link/constants/index.js +5 -0
  31. package/ui.button-link/index.stories.js +56 -19
  32. package/ui.button-link/index.vue +178 -493
  33. package/ui.button-toggle/Docs.mdx +16 -0
  34. package/ui.button-toggle/composables/attrs.composable.js +16 -0
  35. package/ui.button-toggle/configs/default.config.js +12 -0
  36. package/ui.button-toggle/constants/index.js +7 -0
  37. package/{ui.button-group → ui.button-toggle}/index.stories.js +79 -28
  38. package/ui.button-toggle/index.vue +128 -0
  39. package/ui.button-toggle-item/Docs.mdx +16 -0
  40. package/ui.button-toggle-item/composables/attrs.composable.js +53 -0
  41. package/ui.button-toggle-item/configs/default.config.js +58 -0
  42. package/ui.button-toggle-item/constants/index.js +5 -0
  43. package/{ui.button-group-item → ui.button-toggle-item}/index.stories.js +16 -13
  44. package/ui.button-toggle-item/index.vue +147 -0
  45. package/ui.container-accordion/composables/attrs.composable.js +45 -0
  46. package/ui.container-accordion/configs/default.config.js +32 -0
  47. package/ui.container-accordion/constants/index.js +5 -0
  48. package/ui.container-accordion/index.stories.js +3 -2
  49. package/ui.container-accordion/index.vue +71 -143
  50. package/ui.container-card/Docs.mdx +16 -0
  51. package/ui.container-card/composable/attrs.composable.js +56 -0
  52. package/ui.container-card/configs/default.config.js +31 -0
  53. package/ui.container-card/constants/index.js +5 -0
  54. package/ui.container-card/index.stories.js +51 -9
  55. package/ui.container-card/index.vue +108 -169
  56. package/ui.container-divider/Docs.mdx +16 -0
  57. package/ui.container-divider/composables/attrs.composable.js +65 -0
  58. package/ui.container-divider/configs/default.config.js +79 -0
  59. package/ui.container-divider/constants/index.js +5 -0
  60. package/ui.container-divider/index.stories.js +41 -8
  61. package/ui.container-divider/index.vue +126 -189
  62. package/ui.container-group/Docs.mdx +16 -0
  63. package/ui.container-group/composables/attrs.composable.js +44 -0
  64. package/ui.container-group/configs/default.config.js +29 -0
  65. package/ui.container-group/constants/index.js +5 -0
  66. package/ui.container-group/index.stories.js +7 -6
  67. package/ui.container-group/index.vue +76 -142
  68. package/ui.container-groups/Docs.mdx +16 -0
  69. package/ui.container-groups/composables/attrs.composable.js +12 -0
  70. package/ui.container-groups/configs/default.config.js +3 -0
  71. package/ui.container-groups/index.stories.js +4 -3
  72. package/ui.container-groups/index.vue +26 -11
  73. package/ui.container-modal/Docs.mdx +16 -0
  74. package/ui.container-modal/composables/attrs.composable.js +90 -0
  75. package/ui.container-modal/configs/default.config.js +69 -0
  76. package/ui.container-modal/constants/index.js +5 -0
  77. package/ui.container-modal/index.stories.js +8 -7
  78. package/ui.container-modal/index.vue +289 -370
  79. package/ui.container-modal-confirm/Docs.mdx +16 -0
  80. package/ui.container-modal-confirm/composable/attrs.composable.js +19 -0
  81. package/ui.container-modal-confirm/configs/default.config.js +12 -0
  82. package/ui.container-modal-confirm/constants/index.js +5 -0
  83. package/ui.container-modal-confirm/index.stories.js +66 -7
  84. package/ui.container-modal-confirm/index.vue +126 -116
  85. package/ui.container-page/Docs.mdx +16 -0
  86. package/ui.container-page/composables/attrs.composable.js +96 -0
  87. package/ui.container-page/configs/default.config.js +71 -0
  88. package/ui.container-page/constants/index.js +5 -0
  89. package/ui.container-page/index.stories.js +7 -34
  90. package/ui.container-page/index.vue +193 -408
  91. package/ui.container-row/Docs.mdx +16 -0
  92. package/ui.container-row/composables/attrs.composable.js +23 -0
  93. package/ui.container-row/configs/default.config.js +14 -0
  94. package/ui.container-row/constants/index.js +5 -0
  95. package/ui.container-row/index.stories.js +10 -0
  96. package/ui.container-row/index.vue +32 -39
  97. package/ui.data-list/composables/attrs.composable.js +45 -0
  98. package/ui.data-list/configs/default.config.js +32 -0
  99. package/ui.data-list/constants/index.js +5 -0
  100. package/ui.data-list/index.stories.js +1 -0
  101. package/ui.data-list/index.vue +156 -265
  102. package/ui.data-table/Docs.mdx +16 -0
  103. package/ui.data-table/composables/attrs.composable.js +188 -0
  104. package/ui.data-table/configs/default.config.js +82 -0
  105. package/ui.data-table/constants/index.js +5 -0
  106. package/ui.data-table/index.stories.js +73 -43
  107. package/ui.data-table/index.vue +600 -961
  108. package/ui.data-table/services/table.service.js +15 -0
  109. package/ui.data-table-cell/composables/attrs.composable.js +24 -0
  110. package/ui.data-table-cell/configs/default.config.js +19 -0
  111. package/ui.data-table-cell/constants/index.js +5 -0
  112. package/ui.data-table-cell/index.vue +44 -0
  113. package/ui.dropdown-badge/Docs.mdx +16 -0
  114. package/ui.dropdown-badge/composables/attrs.composable.js +63 -0
  115. package/ui.dropdown-badge/configs/default.config.js +34 -0
  116. package/ui.dropdown-badge/constants/index.js +5 -0
  117. package/{ui.dropdown-tag → ui.dropdown-badge}/index.stories.js +26 -25
  118. package/ui.dropdown-badge/index.vue +233 -0
  119. package/ui.dropdown-button/Docs.mdx +16 -0
  120. package/ui.dropdown-button/composables/attrs.composable.js +63 -0
  121. package/ui.dropdown-button/configs/default.config.js +37 -0
  122. package/ui.dropdown-button/constants/index.js +14 -0
  123. package/ui.dropdown-button/index.stories.js +12 -11
  124. package/ui.dropdown-button/index.vue +231 -291
  125. package/ui.dropdown-item/Docs.mdx +16 -0
  126. package/ui.dropdown-item/composables/attrs.composable.js +13 -0
  127. package/ui.dropdown-item/configs/default.config.js +16 -0
  128. package/ui.dropdown-item/index.stories.js +2 -1
  129. package/ui.dropdown-item/index.vue +38 -55
  130. package/ui.dropdown-link/Docs.mdx +16 -0
  131. package/ui.dropdown-link/composables/attrs.composable.js +65 -0
  132. package/ui.dropdown-link/configs/default.config.js +37 -0
  133. package/ui.dropdown-link/constants/index.js +5 -0
  134. package/ui.dropdown-link/index.stories.js +11 -11
  135. package/ui.dropdown-link/index.vue +217 -287
  136. package/ui.dropdown-list/Docs.mdx +16 -0
  137. package/ui.dropdown-list/composables/attrs.composable.js +91 -0
  138. package/ui.dropdown-list/composables/usePointer.js +77 -0
  139. package/ui.dropdown-list/configs/default.config.js +68 -0
  140. package/ui.dropdown-list/constants/index.js +5 -0
  141. package/ui.dropdown-list/index.stories.js +33 -3
  142. package/ui.dropdown-list/index.vue +271 -112
  143. package/ui.form-calendar/Docs.mdx +52 -0
  144. package/ui.form-calendar/components/DayView.vue +230 -0
  145. package/ui.form-calendar/components/MonthView.vue +114 -0
  146. package/ui.form-calendar/components/YearView.vue +118 -0
  147. package/ui.form-calendar/composables/attrs.composable.js +87 -0
  148. package/ui.form-calendar/configs/default.config.js +115 -0
  149. package/ui.form-calendar/constants/index.js +69 -0
  150. package/ui.form-calendar/index.stories.js +50 -0
  151. package/ui.form-calendar/index.vue +628 -0
  152. package/ui.form-calendar/services/calendar.service.js +201 -0
  153. package/ui.form-calendar/services/date.service.js +121 -0
  154. package/ui.form-calendar/services/formatting.service.js +180 -0
  155. package/ui.form-checkbox/Docs.mdx +16 -0
  156. package/ui.form-checkbox/composables/attrs.composable.js +57 -0
  157. package/ui.form-checkbox/configs/default.config.js +69 -0
  158. package/ui.form-checkbox/constants/index.js +5 -0
  159. package/ui.form-checkbox/index.stories.js +75 -26
  160. package/ui.form-checkbox/index.vue +201 -261
  161. package/ui.form-checkbox-group/Docs.mdx +16 -0
  162. package/ui.form-checkbox-group/composables/attrs.composable.js +17 -0
  163. package/ui.form-checkbox-group/configs/default.config.js +5 -0
  164. package/ui.form-checkbox-group/constants/index.js +5 -0
  165. package/ui.form-checkbox-group/index.stories.js +7 -1
  166. package/ui.form-checkbox-group/index.vue +104 -177
  167. package/ui.form-checkbox-multi-state/Docs.mdx +16 -0
  168. package/ui.form-checkbox-multi-state/composables/attrs.composable.js +24 -0
  169. package/ui.form-checkbox-multi-state/configs/default.config.js +9 -0
  170. package/ui.form-checkbox-multi-state/constants/index.js +5 -0
  171. package/ui.form-checkbox-multi-state/index.stories.js +8 -11
  172. package/ui.form-checkbox-multi-state/index.vue +109 -220
  173. package/ui.form-color-picker/composables/attrs.composable.js +44 -0
  174. package/ui.form-color-picker/configs/default.config.js +52 -0
  175. package/ui.form-color-picker/constants/index.js +5 -0
  176. package/ui.form-color-picker/index.stories.js +63 -0
  177. package/ui.form-color-picker/index.vue +147 -329
  178. package/ui.form-date-picker/Docs.mdx +52 -0
  179. package/ui.form-date-picker/composables/attrs.composable.js +22 -0
  180. package/ui.form-date-picker/configs/default.config.js +27 -0
  181. package/ui.form-date-picker/constants/index.js +5 -0
  182. package/ui.form-date-picker/index.stories.js +21 -8
  183. package/ui.form-date-picker/index.vue +205 -802
  184. package/ui.form-input/Docs.mdx +16 -0
  185. package/ui.form-input/composables/attrs.composable.js +66 -0
  186. package/ui.form-input/configs/default.config.js +72 -0
  187. package/{constant.component-names → ui.form-input/constants}/index.js +1 -2
  188. package/ui.form-input/index.stories.js +46 -12
  189. package/ui.form-input/index.vue +320 -459
  190. package/ui.form-input-file/composables/attrs.composable.js +82 -0
  191. package/ui.form-input-file/configs/default.config.js +51 -0
  192. package/ui.form-input-file/constants/index.js +5 -0
  193. package/ui.form-input-file/index.stories.js +3 -2
  194. package/ui.form-input-file/index.vue +332 -498
  195. package/ui.form-input-money/Docs.mdx +16 -0
  196. package/ui.form-input-money/composables/attrs.composable.js +13 -0
  197. package/ui.form-input-money/composables/useFormatCurrency.js +82 -0
  198. package/ui.form-input-money/configs/default.config.js +16 -0
  199. package/ui.form-input-money/constants/index.js +5 -0
  200. package/ui.form-input-money/index.stories.js +71 -43
  201. package/ui.form-input-money/index.vue +241 -237
  202. package/ui.form-input-money/services/format.service.js +72 -0
  203. package/ui.form-input-number/Docs.mdx +16 -0
  204. package/ui.form-input-number/composables/attrs.composable.js +47 -0
  205. package/ui.form-input-number/configs/default.config.js +33 -0
  206. package/ui.form-input-number/constants/index.js +5 -0
  207. package/ui.form-input-number/index.stories.js +73 -3
  208. package/ui.form-input-number/index.vue +138 -106
  209. package/ui.form-input-rating/composables/attrs.composable.js +34 -0
  210. package/ui.form-input-rating/configs/default.config.js +25 -0
  211. package/ui.form-input-rating/constants/index.js +5 -0
  212. package/ui.form-input-rating/index.stories.js +3 -2
  213. package/ui.form-input-rating/index.vue +152 -209
  214. package/ui.form-input-search/composables/attrs.composable.js +21 -0
  215. package/ui.form-input-search/configs/default.config.js +20 -0
  216. package/ui.form-input-search/constants/index.js +5 -0
  217. package/ui.form-input-search/index.stories.js +8 -4
  218. package/ui.form-input-search/index.vue +192 -189
  219. package/ui.form-label/Docs.mdx +16 -0
  220. package/ui.form-label/composables/attrs.composable.js +65 -0
  221. package/ui.form-label/configs/default.config.js +95 -0
  222. package/ui.form-label/constants/index.js +13 -0
  223. package/ui.form-label/index.stories.js +107 -0
  224. package/ui.form-label/index.vue +170 -0
  225. package/ui.form-radio/Docs.mdx +16 -0
  226. package/ui.form-radio/composables/attrs.composable.js +34 -0
  227. package/ui.form-radio/configs/default.config.js +47 -0
  228. package/ui.form-radio/constants/index.js +5 -0
  229. package/ui.form-radio/index.stories.js +12 -10
  230. package/ui.form-radio/index.vue +141 -148
  231. package/ui.form-radio-card/Docs.mdx +16 -0
  232. package/ui.form-radio-card/composables/attrs.composable.js +30 -0
  233. package/ui.form-radio-card/configs/default.config.js +25 -0
  234. package/ui.form-radio-card/constants/index.js +5 -0
  235. package/ui.form-radio-card/index.stories.js +19 -10
  236. package/ui.form-radio-card/index.vue +132 -146
  237. package/ui.form-radio-card/services/variant.service.js +15 -0
  238. package/ui.form-radio-group/Docs.mdx +16 -0
  239. package/ui.form-radio-group/composables/attrs.composable.js +27 -0
  240. package/ui.form-radio-group/configs/default.config.js +18 -0
  241. package/ui.form-radio-group/constants/index.js +5 -0
  242. package/ui.form-radio-group/index.stories.js +1 -0
  243. package/ui.form-radio-group/index.vue +114 -85
  244. package/ui.form-select/Docs.mdx +16 -0
  245. package/ui.form-select/composables/attrs.composable.js +172 -0
  246. package/ui.form-select/configs/default.config.js +131 -0
  247. package/ui.form-select/constants/index.js +19 -0
  248. package/ui.form-select/index.stories.js +194 -38
  249. package/ui.form-select/index.vue +638 -910
  250. package/ui.form-select/services/select.service.js +98 -0
  251. package/ui.form-switch/composables/attrs.composable.js +77 -0
  252. package/ui.form-switch/configs/default.config.js +72 -0
  253. package/ui.form-switch/constants/index.js +5 -0
  254. package/ui.form-switch/index.stories.js +9 -42
  255. package/ui.form-switch/index.vue +177 -632
  256. package/ui.form-switch/services/variant.service.js +31 -0
  257. package/ui.form-textarea/Docs.mdx +16 -0
  258. package/ui.form-textarea/composables/attrs.composable.js +52 -0
  259. package/ui.form-textarea/configs/default.config.js +68 -0
  260. package/ui.form-textarea/constants/index.js +5 -0
  261. package/ui.form-textarea/index.stories.js +47 -5
  262. package/ui.form-textarea/index.vue +238 -353
  263. package/ui.image-avatar/composables/attrs.composable.js +34 -0
  264. package/ui.image-avatar/configs/default.config.js +42 -0
  265. package/ui.image-avatar/constants/index.js +5 -0
  266. package/ui.image-avatar/index.stories.js +7 -6
  267. package/ui.image-avatar/index.vue +94 -226
  268. package/ui.image-icon/Docs.mdx +16 -0
  269. package/ui.image-icon/composables/attrs.composable.js +65 -0
  270. package/ui.image-icon/configs/default.config.js +90 -0
  271. package/ui.image-icon/constants/index.js +5 -0
  272. package/ui.image-icon/index.stories.js +16 -35
  273. package/ui.image-icon/index.vue +165 -453
  274. package/ui.image-logo/composables/attrs.composable.js +41 -0
  275. package/ui.image-logo/configs/default.config.js +38 -0
  276. package/ui.image-logo/constants/index.js +5 -0
  277. package/ui.image-logo/index.stories.js +8 -8
  278. package/ui.image-logo/index.vue +80 -166
  279. package/ui.navigation-pagination/composables/attrs.composable.js +41 -0
  280. package/ui.navigation-pagination/configs/default.config.js +24 -0
  281. package/ui.navigation-pagination/constants/index.js +8 -0
  282. package/ui.navigation-pagination/index.stories.js +23 -6
  283. package/ui.navigation-pagination/index.vue +262 -102
  284. package/ui.navigation-stepper/composables/attrs.composable.js +25 -0
  285. package/ui.navigation-stepper/configs/default.config.js +13 -0
  286. package/ui.navigation-stepper/constants/index.js +5 -0
  287. package/ui.navigation-stepper/index.stories.js +1 -0
  288. package/ui.navigation-stepper/index.vue +87 -88
  289. package/ui.navigation-tab/composables/attrs.composable.js +30 -0
  290. package/ui.navigation-tab/configs/default.config.js +22 -0
  291. package/ui.navigation-tab/constants/index.js +5 -0
  292. package/ui.navigation-tab/index.stories.js +7 -11
  293. package/ui.navigation-tab/index.vue +58 -85
  294. package/ui.navigation-tabs/composables/attrs.composable.js +24 -0
  295. package/ui.navigation-tabs/configs/default.config.js +14 -0
  296. package/ui.navigation-tabs/constants/index.js +5 -0
  297. package/ui.navigation-tabs/index.stories.js +7 -11
  298. package/ui.navigation-tabs/index.vue +68 -88
  299. package/ui.other-dot/composables/attrs.composable.js +32 -0
  300. package/ui.other-dot/configs/default.config.js +21 -0
  301. package/ui.other-dot/constants/index.js +5 -0
  302. package/ui.other-dot/index.stories.js +5 -5
  303. package/ui.other-dot/index.vue +41 -89
  304. package/ui.other-loader/composables/attrs.composable.js +51 -0
  305. package/ui.other-loader/configs/default.config.js +47 -0
  306. package/ui.other-loader/constants/index.js +5 -0
  307. package/ui.other-loader/index.stories.js +14 -13
  308. package/ui.other-loader/index.vue +58 -107
  309. package/ui.text-alert/composables/attrs.composable.js +48 -0
  310. package/ui.text-alert/configs/default.config.js +51 -0
  311. package/ui.text-alert/constatns/index.js +5 -0
  312. package/ui.text-alert/index.stories.js +39 -6
  313. package/ui.text-alert/index.vue +95 -210
  314. package/ui.text-badge/Docs.mdx +16 -0
  315. package/ui.text-badge/composables/attrs.composable.js +49 -0
  316. package/ui.text-badge/configs/default.config.js +51 -0
  317. package/ui.text-badge/constants/index.js +5 -0
  318. package/ui.text-badge/index.stories.js +190 -0
  319. package/ui.text-badge/index.vue +120 -0
  320. package/ui.text-block/composables/attrs.composable.js +31 -0
  321. package/ui.text-block/configs/default.config.js +35 -0
  322. package/ui.text-block/constatns/index.js +5 -0
  323. package/ui.text-block/index.stories.js +2 -1
  324. package/ui.text-block/index.vue +55 -116
  325. package/ui.text-empty/Docs.mdx +16 -0
  326. package/ui.text-empty/composables/attrs.composable.js +43 -0
  327. package/ui.text-empty/configs/default.config.js +4 -2
  328. package/ui.text-empty/constants/index.js +5 -0
  329. package/ui.text-empty/index.stories.js +3 -3
  330. package/ui.text-empty/index.vue +13 -14
  331. package/ui.text-file/composables/attrs.composable.js +37 -0
  332. package/ui.text-file/configs/default.config.js +15 -0
  333. package/ui.text-file/index.stories.js +2 -1
  334. package/ui.text-file/index.vue +63 -72
  335. package/ui.text-files/composables/attrs.composable.js +19 -0
  336. package/ui.text-files/configs/default.config.js +9 -0
  337. package/ui.text-files/constants/index.js +5 -0
  338. package/ui.text-files/index.stories.js +1 -0
  339. package/ui.text-files/index.vue +73 -50
  340. package/ui.text-header/Docs.mdx +16 -0
  341. package/ui.text-header/composables/attrs.composable.js +34 -0
  342. package/ui.text-header/configs/default.config.js +45 -0
  343. package/ui.text-header/constants/index.js +5 -0
  344. package/ui.text-header/index.stories.js +34 -38
  345. package/ui.text-header/index.vue +67 -221
  346. package/ui.text-money/Docs.mdx +16 -0
  347. package/ui.text-money/composables/attrs.composable.js +65 -0
  348. package/ui.text-money/configs/default.config.js +69 -0
  349. package/ui.text-money/constants/index.js +7 -0
  350. package/ui.text-money/index.stories.js +24 -22
  351. package/ui.text-money/index.vue +187 -506
  352. package/ui.text-money/services/money.services.js +24 -0
  353. package/_readme/layoutAdmin.md +0 -703
  354. package/_readme/layoutApp.md +0 -153
  355. package/_readme/layoutAuth.md +0 -190
  356. package/config.rollup-plugin-visualizer/index.js +0 -11
  357. package/config.unplugin-vue-i18n/index.js +0 -9
  358. package/config.vite-plugin-pwa/index.js +0 -132
  359. package/config.vite-svg-loader/index.js +0 -22
  360. package/index.js +0 -151
  361. package/layout-ui.loader/index.vue +0 -61
  362. package/layout-ui.loader/store/index.js +0 -17
  363. package/layout-ui.loader-top/components/TopProgress.vue +0 -277
  364. package/layout-ui.loader-top/index.vue +0 -218
  365. package/layout-ui.loader-top/store/index.js +0 -55
  366. package/layout-ui.notify/index.stories.js +0 -102
  367. package/layout-ui.notify/index.vue +0 -254
  368. package/layout-ui.viewport/index.vue +0 -78
  369. package/layout-ui.viewport/store/index.js +0 -47
  370. package/layout.admin/AsideBlock.vue +0 -534
  371. package/layout.admin/AsideInfoBlock.vue +0 -85
  372. package/layout.admin/BrandBlock.vue +0 -380
  373. package/layout.admin/ChangeThemeModal.vue +0 -179
  374. package/layout.admin/HelperBlock.vue +0 -132
  375. package/layout.admin/MainMenu.vue +0 -234
  376. package/layout.admin/MainSubMenu.vue +0 -196
  377. package/layout.admin/MobileMainMenu.vue +0 -197
  378. package/layout.admin/MobileSubBlock.vue +0 -171
  379. package/layout.admin/RightInfoBlock.vue +0 -166
  380. package/layout.admin/UserBlock.vue +0 -290
  381. package/layout.admin/images/abstract-01.jpg +0 -0
  382. package/layout.admin/images/abstract-01_preview.jpg +0 -0
  383. package/layout.admin/index.vue +0 -544
  384. package/layout.admin/mixins/index.js +0 -54
  385. package/layout.admin/store/index.js +0 -167
  386. package/layout.auth/FeaturesBlock.vue +0 -57
  387. package/layout.auth/FooterMenu.vue +0 -90
  388. package/layout.auth/LanguageSwitcher.vue +0 -90
  389. package/layout.auth/index.vue +0 -237
  390. package/library.vue-tailwind-3/t-input.js +0 -68
  391. package/library.vue-tailwind-3/t-modal.js +0 -409
  392. package/library.vue-tailwind-3/t-pagination.js +0 -309
  393. package/library.vue-tailwind-3/t-table.js +0 -362
  394. package/library.vue-tailwind-3/t-textarea.js +0 -84
  395. package/resolver.unplugin-vue-components/index.js +0 -94
  396. package/service.api/index.js +0 -275
  397. package/service.data/index.js +0 -75
  398. package/service.date/index.js +0 -222
  399. package/service.i18n/index.js +0 -145
  400. package/service.idb-keyval/index.js +0 -37
  401. package/service.jwt/index.js +0 -27
  402. package/service.money/index.js +0 -86
  403. package/service.notify/index.js +0 -87
  404. package/service.redirect/index.js +0 -20
  405. package/service.validation/index.js +0 -55
  406. package/service.worker/index.js +0 -26
  407. package/ui.button-expand/index.stories.js +0 -44
  408. package/ui.button-expand/index.vue +0 -22
  409. package/ui.button-expand-item/index.stories.js +0 -69
  410. package/ui.button-expand-item/index.vue +0 -154
  411. package/ui.button-group/index.vue +0 -165
  412. package/ui.button-group-item/index.vue +0 -283
  413. package/ui.container-modal/components/ArrowLink.vue +0 -87
  414. package/ui.container-page/components/ArrowLink.vue +0 -87
  415. package/ui.data-table/components/DateSeparator.vue +0 -99
  416. package/ui.data-table/components/EmptyTableMsg.vue +0 -46
  417. package/ui.data-table/components/TableCheckbox.vue +0 -109
  418. package/ui.dropdown-tag/index.vue +0 -285
  419. package/ui.form-date-picker-range/components/VariantButton.vue +0 -136
  420. package/ui.form-date-picker-range/components/VariantInput.vue +0 -101
  421. package/ui.form-date-picker-range/index.stories.js +0 -93
  422. package/ui.form-date-picker-range/index.vue +0 -1537
  423. package/ui.form-date-picker-range/services/dateRange.service.js +0 -178
  424. package/ui.form-input-money/_components/ConvertibleInput.vue +0 -773
  425. package/ui.form-input-money/_components/RangeInput.vue +0 -356
  426. package/ui.form-input-money/_components/SingleInput.vue +0 -378
  427. package/ui.form-select-multi/index.stories.js +0 -131
  428. package/ui.form-select-multi/index.vue +0 -882
  429. package/ui.image-icon/cli.mjs +0 -159
  430. package/ui.text-empty/services/variant.service.js +0 -22
  431. package/ui.text-field/index.stories.js +0 -60
  432. package/ui.text-field/index.vue +0 -109
  433. package/ui.text-tag/index.stories.js +0 -90
  434. package/ui.text-tag/index.vue +0 -178
  435. package/web-types.json +0 -6320
  436. /package/ui.form-input/{text-security-disc.woff → assets/fonts/text-security-disc.woff} +0 -0
@@ -0,0 +1,15 @@
1
+ export default class TableService {
2
+ static normalizeColumns(columns) {
3
+ return columns.map((column) => (typeof column === "string" ? { label: column } : column));
4
+ }
5
+
6
+ static getFilteredRow(row, columns) {
7
+ const filteredRow = Object.entries(row).filter((item) => {
8
+ const isShownColumn = columns.some((column) => column.key === item[0]);
9
+
10
+ if (isShownColumn) return item;
11
+ });
12
+
13
+ return Object.fromEntries(filteredRow);
14
+ }
15
+ }
@@ -0,0 +1,24 @@
1
+ import useUI from "vueless/composable.ui";
2
+ import { cva } from "vueless/service.ui";
3
+
4
+ import defaultConfig from "../configs/default.config";
5
+ import { computed } from "vue";
6
+
7
+ export function useAttrs(props) {
8
+ const { config, getAttrs } = useUI(defaultConfig, () => props.config);
9
+ const { tableCell } = config.value;
10
+
11
+ const cvaTableCell = cva({
12
+ base: tableCell.base,
13
+ variants: tableCell.variants,
14
+ compoundVariants: tableCell.compoundVariants,
15
+ });
16
+
17
+ const tableCellClasses = computed(() => cvaTableCell({ compact: props.compact }));
18
+
19
+ const tableCellAttrs = getAttrs("tableCell", { classes: tableCellClasses });
20
+
21
+ return {
22
+ tableCellAttrs,
23
+ };
24
+ }
@@ -0,0 +1,19 @@
1
+ export default /*tw*/ {
2
+ tableCell: {
3
+ base: `
4
+ p-[1.125rem] py-5 first:p-5 [&:nth-child(2)]:pl-0 group-[]/body:truncate group-[]/body:align-top
5
+ group-[]/body:last:p-5
6
+ `,
7
+ variants: {
8
+ compact: {
9
+ true: `
10
+ group-[]/body:px-4 group-[]/body:py-3 group-[]/body:last:px-4 group-[]/body:last:py-3
11
+ group-[]/body:first:px-4 group-[]/body:first:py-3 group-[]/footer:p-4:
12
+ `,
13
+ },
14
+ },
15
+ },
16
+ defaultVariants: {
17
+ compact: false,
18
+ },
19
+ };
@@ -0,0 +1,5 @@
1
+ /*
2
+ This const is needed to prevent the issue in script setup:
3
+ `defineProps` is referencing locally declared variables. (vue/valid-define-props)
4
+ */
5
+ export const UTableCell = "UTableCell";
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <td :data-cy="dataCy" v-bind="tableCellAttrs">
3
+ <slot />
4
+ </td>
5
+ </template>
6
+
7
+ <script setup>
8
+ import UIService from "vueless/service.ui";
9
+
10
+ import { UTableCell } from "./constants";
11
+ import defaultConfig from "./configs/default.config";
12
+ import { useAttrs } from "./composables/attrs.composable";
13
+
14
+ /* Should be a string for correct web-types gen */
15
+ defineOptions({ name: "UTableCell", inheritAttrs: false });
16
+
17
+ const props = defineProps({
18
+ /**
19
+ * Makes the cell more narrow.
20
+ */
21
+ compact: {
22
+ type: Boolean,
23
+ default: UIService.get(defaultConfig, UTableCell).default.compact,
24
+ },
25
+
26
+ /**
27
+ * Sets component ui config object.
28
+ */
29
+ config: {
30
+ type: Object,
31
+ default: () => ({}),
32
+ },
33
+
34
+ /**
35
+ * Sets data-cy attribute for automated testing.
36
+ */
37
+ dataCy: {
38
+ type: String,
39
+ default: "",
40
+ },
41
+ });
42
+
43
+ const { tableCellAttrs } = useAttrs(props);
44
+ </script>
@@ -0,0 +1,16 @@
1
+ import { Meta, Title, Subtitle, Description, Primary, Controls, Stories, Source } from "@storybook/blocks";
2
+ import { getSource } from "vueless/service.storybook";
3
+
4
+ import * as stories from "./index.stories";
5
+ import defaultConfig from "./configs/default.config?raw"
6
+
7
+ <Meta of={stories} />
8
+ <Title of={stories} />
9
+ <Subtitle of={stories} />
10
+ <Description of={stories} />
11
+ <Primary of={stories} />
12
+ <Controls of={stories.Default} />
13
+ <Stories of={stories} />
14
+
15
+ ## **Default config**
16
+ <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -0,0 +1,63 @@
1
+ import useUI from "vueless/composable.ui";
2
+ import { cva, cx } from "vueless/service.ui";
3
+
4
+ import defaultConfig from "../configs/default.config";
5
+ import { computed } from "vue";
6
+
7
+ export function useAttrs(props, { isShownOptions }) {
8
+ const { config, getAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
9
+ const { listWrapper } = config.value;
10
+
11
+ const cvaListWrapper = cva({
12
+ base: listWrapper.base,
13
+ variants: listWrapper.variants,
14
+ compoundVariants: listWrapper.compoundVariants,
15
+ });
16
+
17
+ // Get list wrapper position classes to apply them to list without wrapper
18
+ const cvaListWrapperVariants = cva({
19
+ base: "",
20
+ variants: listWrapper.variants,
21
+ compoundVariants: [],
22
+ });
23
+
24
+ const listWrapperPositionClasses = computed(() =>
25
+ cvaListWrapperVariants({
26
+ listYPosition: props.listYPosition,
27
+ listXPosition: props.listXPosition,
28
+ }),
29
+ );
30
+
31
+ const listWrapperClasses = computed(() =>
32
+ cvaListWrapper({
33
+ listYPosition: props.listYPosition,
34
+ listXPosition: props.listXPosition,
35
+ }),
36
+ );
37
+
38
+ const wrapperAttrs = getAttrs("wrapper");
39
+ const badgeAttrs = getAttrs("badge", { isComponent: true });
40
+ const iconAttrsRaw = getAttrs("icon", { isComponent: true });
41
+
42
+ const iconAttrs = computed(() => {
43
+ const rotateClasses = isShownOptions.value && config.value.iconRotate;
44
+
45
+ return {
46
+ ...iconAttrsRaw.value,
47
+ class: cx([iconAttrsRaw.value.class, rotateClasses]),
48
+ };
49
+ });
50
+
51
+ const listWrapperAttrs = getAttrs("listWrapper", { classes: listWrapperClasses });
52
+ const listAttrs = getAttrs("list", { isComponent: true, classes: listWrapperPositionClasses });
53
+
54
+ return {
55
+ listWrapperAttrs,
56
+ wrapperAttrs,
57
+ badgeAttrs,
58
+ listAttrs,
59
+ iconAttrs,
60
+ config,
61
+ hasSlotContent,
62
+ };
63
+ }
@@ -0,0 +1,34 @@
1
+ export default /*tw*/ {
2
+ wrapper: "relative inline-block",
3
+ badge: "cursor-pointer",
4
+ icon: "transition-all duration-300",
5
+ iconName: "keyboard_arrow_down",
6
+ iconRotate: "rotate-180",
7
+ listWrapper: {
8
+ base: `
9
+ absolute z-10
10
+ max-h-60 overflow-y-auto overflow-x-hidden md:!w-auto
11
+ rounded-lg border-gray-300 shadow bg-white
12
+ `,
13
+ variants: {
14
+ listYPosition: {
15
+ top: "bottom-6 mb-6",
16
+ bottom: "top-3 mt-6",
17
+ },
18
+ listXPosition: {
19
+ left: "left-0",
20
+ right: "right-0",
21
+ },
22
+ },
23
+ },
24
+ list: "w-fit",
25
+ defaultVariants: {
26
+ color: "brand",
27
+ size: "md",
28
+ weight: "medium",
29
+ variant: "primary",
30
+ listYPosition: "bottom",
31
+ listXPosition: "left",
32
+ noIcon: false,
33
+ },
34
+ };
@@ -0,0 +1,5 @@
1
+ /*
2
+ This const is needed to prevent the issue in script setup:
3
+ `defineProps` is referencing locally declared variables. (vue/valid-define-props)
4
+ */
5
+ export const UDropdownBadge = "UDropdownBadge";
@@ -1,14 +1,15 @@
1
1
  import { getArgTypes, getSlotNames } from "vueless/service.storybook";
2
2
 
3
- import UDropdownTag from "vueless/ui.dropdown-tag";
3
+ import UDropdownBadge from "vueless/ui.dropdown-badge";
4
4
  import UDropdownItem from "vueless/ui.dropdown-item";
5
5
  import URow from "vueless/ui.container-row";
6
6
 
7
7
  export default {
8
- title: "Dropdowns / Dropdown Tag",
9
- component: UDropdownTag,
8
+ id: "2020",
9
+ title: "Dropdowns / Dropdown Badge",
10
+ component: UDropdownBadge,
10
11
  args: {
11
- text: "Dropdown",
12
+ label: "Dropdown",
12
13
  options: [
13
14
  { label: "option 1", value: "1" },
14
15
  { label: "option 2", value: "2" },
@@ -16,7 +17,7 @@ export default {
16
17
  ],
17
18
  },
18
19
  argTypes: {
19
- ...getArgTypes(UDropdownTag.name),
20
+ ...getArgTypes(UDropdownBadge.name),
20
21
  },
21
22
  parameters: {
22
23
  docs: {
@@ -28,39 +29,39 @@ export default {
28
29
  };
29
30
 
30
31
  const DefaultTemplate = (args) => ({
31
- components: { UDropdownTag },
32
+ components: { UDropdownBadge },
32
33
  setup() {
33
- const slots = getSlotNames(UDropdownTag.name);
34
+ const slots = getSlotNames(UDropdownBadge.name);
34
35
 
35
36
  return { args, slots };
36
37
  },
37
38
  template: `
38
- <UDropdownTag
39
+ <UDropdownBadge
39
40
  v-bind="args"
40
41
  >
41
42
  <template v-for="(slot, index) of slots" :key="index" v-slot:[slot]>
42
43
  <template v-if="args[slot]">{{ args[slot] }}</template>
43
44
  </template>
44
- </UDropdownTag>
45
+ </UDropdownBadge>
45
46
  `,
46
47
  });
47
48
 
48
49
  const SlotTemplate = (args) => ({
49
- components: { UDropdownTag, UDropdownItem },
50
+ components: { UDropdownBadge, UDropdownItem },
50
51
  setup() {
51
52
  return { args };
52
53
  },
53
54
  template: `
54
- <UDropdownTag
55
+ <UDropdownBadge
55
56
  v-bind="args"
56
57
  >
57
58
  ${args.slotTemplate}
58
- </UDropdownTag>
59
+ </UDropdownBadge>
59
60
  `,
60
61
  });
61
62
 
62
- const SizesTemplate = (args, { argTypes }) => ({
63
- components: { UDropdownTag, URow },
63
+ const SizesTemplate = (args, { argTypes } = {}) => ({
64
+ components: { UDropdownBadge, URow },
64
65
  setup() {
65
66
  return {
66
67
  args,
@@ -69,19 +70,19 @@ const SizesTemplate = (args, { argTypes }) => ({
69
70
  },
70
71
  template: `
71
72
  <URow>
72
- <UDropdownTag
73
+ <UDropdownBadge
73
74
  v-for="(size, index) in sizes"
74
- :size="size"
75
- :text="size"
76
75
  v-bind="args"
76
+ :size="size"
77
+ :label="size"
77
78
  :key="index"
78
79
  />
79
80
  </URow>
80
81
  `,
81
82
  });
82
83
 
83
- const ColorsTemplate = (args, { argTypes }) => ({
84
- components: { UDropdownTag, URow },
84
+ const ColorsTemplate = (args, { argTypes } = {}) => ({
85
+ components: { UDropdownBadge, URow },
85
86
  setup() {
86
87
  return {
87
88
  args,
@@ -90,10 +91,10 @@ const ColorsTemplate = (args, { argTypes }) => ({
90
91
  },
91
92
  template: `
92
93
  <URow>
93
- <UDropdownTag
94
+ <UDropdownBadge
94
95
  v-for="(color, index) in colors"
95
96
  :color="color"
96
- :text="color"
97
+ :label="color"
97
98
  v-bind="args"
98
99
  :key="index"
99
100
  />
@@ -111,15 +112,15 @@ export const colors = ColorsTemplate.bind({});
111
112
  colors.args = {};
112
113
 
113
114
  export const withoutDropdownIcon = DefaultTemplate.bind({});
114
- withoutDropdownIcon.args = { dropdownIcon: false };
115
+ withoutDropdownIcon.args = { noIcon: true };
115
116
 
116
117
  export const dropdownListSlot = SlotTemplate.bind({});
117
118
  dropdownListSlot.args = {
118
119
  slotTemplate: `
119
120
  <template #default>
120
- <UDropdownItem text="Some option" />
121
- <UDropdownItem text="Some option 2" />
122
- <UDropdownItem text="Some option 3" />
121
+ <UDropdownItem label="Some option" />
122
+ <UDropdownItem label="Some option 2" />
123
+ <UDropdownItem label="Some option 3" />
123
124
  </template>
124
125
  `,
125
126
  };
@@ -0,0 +1,233 @@
1
+ <template>
2
+ <div v-bind="wrapperAttrs">
3
+ <UBadge
4
+ :id="id"
5
+ :label="label"
6
+ :size="size"
7
+ :color="color"
8
+ :weight="weight"
9
+ :variant="variant"
10
+ :data-cy="`${dataCy}-badge`"
11
+ v-bind="badgeAttrs"
12
+ @click.stop="onClickBadge"
13
+ >
14
+ <template #right>
15
+ <UIcon
16
+ v-if="!noIcon"
17
+ :name="config.iconName"
18
+ :size="iconSize"
19
+ :color="color"
20
+ :data-cy="`${dataCy}-caret`"
21
+ v-bind="iconAttrs"
22
+ />
23
+ </template>
24
+ </UBadge>
25
+
26
+ <div v-if="isShownOptions && hasSlotContent($slots['default'])" v-bind="listWrapperAttrs">
27
+ <!-- @slot Use it to add dropdown list. -->
28
+ <slot />
29
+ </div>
30
+
31
+ <UDropdownList
32
+ v-if="isShownOptions && !hasSlotContent($slots['default'])"
33
+ v-model="selectValue"
34
+ :size="size"
35
+ :options="options"
36
+ :value-key="valueKey"
37
+ :label-key="labelKey"
38
+ :data-cy="`${dataCy}-item`"
39
+ v-bind="listAttrs"
40
+ />
41
+ </div>
42
+ </template>
43
+
44
+ <script setup>
45
+ import { computed, onMounted, onUnmounted, provide, ref, watch } from "vue";
46
+
47
+ import UIcon from "vueless/ui.image-icon";
48
+ import UBadge from "vueless/ui.text-badge";
49
+ import UDropdownList from "vueless/ui.dropdown-list";
50
+ import UIService, { getRandomId } from "vueless/service.ui";
51
+
52
+ import defaultConfig from "./configs/default.config";
53
+ import { UDropdownBadge } from "./constants";
54
+ import { useAttrs } from "./composables/attrs.composable";
55
+
56
+ /* Should be a string for correct web-types gen */
57
+ defineOptions({ name: "UDropdownBadge", inheritAttrs: false });
58
+
59
+ const props = defineProps({
60
+ /**
61
+ * Selected value.
62
+ */
63
+ modelValue: {
64
+ type: [String, Number],
65
+ default: "",
66
+ },
67
+
68
+ /**
69
+ * Badge label.
70
+ */
71
+ label: {
72
+ type: String,
73
+ default: "",
74
+ },
75
+
76
+ /**
77
+ * Badge variant.
78
+ * @values primary, secondary, thirdary
79
+ */
80
+ variant: {
81
+ type: String,
82
+ default: UIService.get(defaultConfig, UDropdownBadge).default.variant,
83
+ },
84
+
85
+ /**
86
+ * Badge color.
87
+ * @values brand, grayscale, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose, white
88
+ */
89
+ color: {
90
+ type: String,
91
+ default: UIService.get(defaultConfig, UDropdownBadge).default.color,
92
+ },
93
+
94
+ /**
95
+ * Badge size.
96
+ * @values sm, md, lg
97
+ */
98
+ size: {
99
+ type: String,
100
+ default: UIService.get(defaultConfig, UDropdownBadge).default.size,
101
+ },
102
+
103
+ /**
104
+ * Badge font weight.
105
+ * @values regular, medium, bold
106
+ */
107
+ weight: {
108
+ type: String,
109
+ default: UIService.get(defaultConfig, UDropdownBadge).default.weight,
110
+ },
111
+
112
+ /**
113
+ * Hide dropdown icon.
114
+ */
115
+ noIcon: {
116
+ type: Boolean,
117
+ default: UIService.get(defaultConfig, UDropdownBadge).default.noIcon,
118
+ },
119
+
120
+ /**
121
+ * Options list.
122
+ */
123
+ options: {
124
+ type: Array,
125
+ default: () => [],
126
+ },
127
+
128
+ /**
129
+ * Label key in the item object of options.
130
+ */
131
+ labelKey: {
132
+ type: String,
133
+ default: "label",
134
+ },
135
+
136
+ /**
137
+ * Value key in the item object of options.
138
+ */
139
+ valueKey: {
140
+ type: String,
141
+ default: "id",
142
+ },
143
+
144
+ /**
145
+ * The position of dropdown list on the y-axis.
146
+ * @values top, bottom
147
+ */
148
+ listYPosition: {
149
+ type: String,
150
+ default: UIService.get(defaultConfig, UDropdownBadge).default.listYPosition,
151
+ },
152
+
153
+ /**
154
+ * The position of dropdown list on the x-axis.
155
+ * @values left, right
156
+ */
157
+ listXPosition: {
158
+ type: String,
159
+ default: UIService.get(defaultConfig, UDropdownBadge).default.listXPosition,
160
+ },
161
+
162
+ /**
163
+ * Generates unique element id.
164
+ * @ignore
165
+ */
166
+ id: {
167
+ type: String,
168
+ default: () => getRandomId(),
169
+ },
170
+
171
+ /**
172
+ * Component ui config object.
173
+ */
174
+ config: {
175
+ type: Object,
176
+ default: () => ({}),
177
+ },
178
+
179
+ /**
180
+ * Data-cy attribute for automated testing.
181
+ */
182
+ dataCy: {
183
+ type: String,
184
+ default: "",
185
+ },
186
+ });
187
+
188
+ provide("hideDropdownOptions", () => hideOptions);
189
+
190
+ const emit = defineEmits(["update:modelValue"]);
191
+
192
+ const isShownOptions = ref(false);
193
+
194
+ const { config, listWrapperAttrs, wrapperAttrs, badgeAttrs, listAttrs, iconAttrs, hasSlotContent } =
195
+ useAttrs(props, { isShownOptions });
196
+
197
+ const selectValue = computed({
198
+ get: () => props.modelValue,
199
+ set: (value) => {
200
+ isShownOptions.value = false;
201
+ emit("update:modelValue", value);
202
+ },
203
+ });
204
+
205
+ const iconSize = computed(() => {
206
+ const sizes = {
207
+ sm: "xs",
208
+ md: "sm",
209
+ lg: "md",
210
+ };
211
+
212
+ return sizes[props.size];
213
+ });
214
+
215
+ watch(() => props.modelValue, hideOptions);
216
+
217
+ onMounted(() => window.addEventListener("click", onClickOutside));
218
+ onUnmounted(() => window.removeEventListener("click", onClickOutside));
219
+
220
+ function onClickBadge() {
221
+ isShownOptions.value = !isShownOptions.value;
222
+ }
223
+
224
+ function hideOptions() {
225
+ isShownOptions.value = false;
226
+ }
227
+
228
+ function onClickOutside(event) {
229
+ if (!document.getElementById(props.id)?.contains(event.target)) {
230
+ hideOptions();
231
+ }
232
+ }
233
+ </script>
@@ -0,0 +1,16 @@
1
+ import { Meta, Title, Subtitle, Description, Primary, Controls, Stories, Source } from "@storybook/blocks";
2
+ import { getSource } from "vueless/service.storybook";
3
+
4
+ import * as stories from "./index.stories";
5
+ import defaultConfig from "./configs/default.config?raw"
6
+
7
+ <Meta of={stories} />
8
+ <Title of={stories} />
9
+ <Subtitle of={stories} />
10
+ <Description of={stories} />
11
+ <Primary of={stories} />
12
+ <Controls of={stories.Default} />
13
+ <Stories of={stories} />
14
+
15
+ ## **Default config**
16
+ <Source code={getSource(defaultConfig)} language="jsx" dark />
@@ -0,0 +1,63 @@
1
+ import useUI from "vueless/composable.ui";
2
+ import { cva, cx } from "vueless/service.ui";
3
+
4
+ import defaultConfig from "../configs/default.config";
5
+ import { computed } from "vue";
6
+
7
+ export function useAttrs(props, { isShownOptions }) {
8
+ const { config, getAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
9
+ const { listWrapper } = config.value;
10
+
11
+ const cvaListWrapper = cva({
12
+ base: listWrapper.base,
13
+ variants: listWrapper.variants,
14
+ compoundVariants: listWrapper.compoundVariants,
15
+ });
16
+
17
+ const listWrapperClasses = computed(() =>
18
+ cvaListWrapper({
19
+ listYPosition: props.listYPosition,
20
+ listXPosition: props.listXPosition,
21
+ }),
22
+ );
23
+
24
+ // Get list wrapper position classes to apply them to list without wrapper
25
+ const cvaListWrapperVariants = cva({
26
+ base: "",
27
+ variants: listWrapper.variants,
28
+ compoundVariants: [],
29
+ });
30
+
31
+ const listWrapperPositionClasses = computed(() =>
32
+ cvaListWrapperVariants({
33
+ listYPosition: props.listYPosition,
34
+ listXPosition: props.listXPosition,
35
+ }),
36
+ );
37
+
38
+ const wrapperAttrs = getAttrs("wrapper");
39
+ const buttonAttrs = getAttrs("button", { isComponent: true });
40
+ const iconAttrsRaw = getAttrs("icon", { isComponent: true });
41
+
42
+ const iconAttrs = computed(() => {
43
+ const rotateClasses = isShownOptions.value && config.value.iconRotate;
44
+
45
+ return {
46
+ ...iconAttrsRaw.value,
47
+ class: cx([iconAttrsRaw.value.class, rotateClasses]),
48
+ };
49
+ });
50
+
51
+ const listWrapperAttrs = getAttrs("listWrapper", { classes: listWrapperClasses });
52
+ const listAttrs = getAttrs("list", { isComponent: true, classes: listWrapperPositionClasses });
53
+
54
+ return {
55
+ config,
56
+ listWrapperAttrs,
57
+ buttonAttrs,
58
+ listAttrs,
59
+ iconAttrs,
60
+ wrapperAttrs,
61
+ hasSlotContent,
62
+ };
63
+ }