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,291 @@
1
+ /**
2
+ This scrypt find icon names from the UIcon props and objects across the project
3
+ and copy SVG icons from the default icons library (@material-symbols or other from config)
4
+ to the ".../.generated" folder.
5
+
6
+ Those icons will be used only in the build stage.
7
+ The script is needed to avoid all @material-symbols icons set in the project bundle.
8
+ */
9
+
10
+ /* eslint-disable no-console */
11
+ import fs from "fs";
12
+ import path from "path";
13
+ import { createRequire } from "node:module";
14
+ import merge from "lodash.merge";
15
+
16
+ import vuelessConfig from "../../../vueless.config.js";
17
+
18
+ const DESTINATION_DIR = "./src/assets/images/.generated";
19
+ const DEFAULT_CONFIG_PATH = ".vueless/ui.image-icon/configs/default.config.js";
20
+ const STORYBOOK_STORY_EXTENSION = ".stories.js";
21
+ const U_ICON = "UIcon";
22
+
23
+ const defaultVariants = getMergedConfig();
24
+ const args = parseArgs();
25
+
26
+ let isDebug = false;
27
+
28
+ // run method manually
29
+ if (args.run) {
30
+ copyIcons(args.mode);
31
+ }
32
+
33
+ // perform icons copy magick... ✨
34
+ export function copyIcons(mode = "src", debug) {
35
+ isDebug = debug || false;
36
+
37
+ removeIcons();
38
+
39
+ const vuelessVueFiles = getFiles(".vueless", ".vue");
40
+ const vuelessJsFiles = getFiles(".vueless", ".js");
41
+ const vuelessLayoutsVueFiles = getFiles(".vueless-layouts", ".vue");
42
+ const vuelessLayoutsJsFiles = getFiles(".vueless-layouts", ".js");
43
+ const vuelessServicesJsFiles = getFiles(".vueless-services", ".js");
44
+
45
+ findAndCopyIcons([
46
+ ...vuelessVueFiles,
47
+ ...vuelessJsFiles,
48
+ ...vuelessLayoutsVueFiles,
49
+ ...vuelessLayoutsJsFiles,
50
+ ...vuelessServicesJsFiles,
51
+ "vueless.config.js",
52
+ "vueless.config.ts",
53
+ ]);
54
+
55
+ if (mode === "src" || mode === "all") {
56
+ const srcVueFiles = getFiles("src", ".vue");
57
+ const srcJsFiles = getFiles("src", ".js");
58
+ const srcTsFiles = getFiles("src", ".ts");
59
+
60
+ findAndCopyIcons([...srcVueFiles, ...srcJsFiles, ...srcTsFiles]);
61
+ }
62
+
63
+ if (mode === "storybook" || mode === "all") {
64
+ const vuelessStoriesJsFiles = getFiles(".vueless", STORYBOOK_STORY_EXTENSION);
65
+
66
+ findAndCopyIcons(vuelessStoriesJsFiles);
67
+ }
68
+ }
69
+
70
+ export function removeIcons() {
71
+ if (fs.existsSync(DESTINATION_DIR)) {
72
+ fs.rmSync(DESTINATION_DIR, { recursive: true, force: true });
73
+
74
+ if (isDebug) {
75
+ console.log("Dynamically copied icons was successfully removed.");
76
+ }
77
+ }
78
+ }
79
+
80
+ function findAndCopyIcons(files) {
81
+ const safelistIcons = getSafelistIcons();
82
+
83
+ safelistIcons.forEach((iconName) => {
84
+ copyFile(iconName, false);
85
+ copyFile(iconName, true);
86
+ });
87
+
88
+ files.forEach(async (file) => {
89
+ const fileContents = fs.existsSync(file) ? fs.readFileSync(file).toString() : "";
90
+
91
+ /* Objects across the project */
92
+ const objectRegExp = /(\{|[^{])[^}]*\b\w*icon\w*:\s*["']([^"']+)["'][^}]*}/gi;
93
+ const objectMatches = fileContents.match(objectRegExp);
94
+
95
+ if (objectMatches) {
96
+ for (const match of objectMatches) {
97
+ const iconNameRegex = /\w*(icon)\w*:\s*["']([^"'\s]+)["']/gi;
98
+ const iconNameMatch = iconNameRegex.exec(match);
99
+ const iconName = iconNameMatch && iconNameMatch[2];
100
+
101
+ const iconFillRegex = /\w*(fill)\w*:\s*(true|false)/gi;
102
+ const fillMatch = iconFillRegex.exec(match);
103
+ const fill = fillMatch ? fillMatch[2] : defaultVariants.fill;
104
+
105
+ try {
106
+ if (iconName) {
107
+ copyFile(iconName, fill);
108
+ }
109
+ } catch (error) {
110
+ // console.log(error);
111
+ }
112
+
113
+ iconNameRegex.lastIndex = 0;
114
+ iconFillRegex.lastIndex = 0;
115
+ }
116
+ }
117
+
118
+ /* UIcon */
119
+ const regexName = /\bname\s*=\s*["']([^"'\s]+)["']/;
120
+ const regexFill = /(:(fill)="([^"]*)"|fill)/;
121
+
122
+ const matchNameArray = fileContents.match(/<UIcon[^>]+>/g);
123
+
124
+ if (matchNameArray) {
125
+ for (const match of matchNameArray) {
126
+ const iconNameMatch = regexName.exec(match);
127
+ const iconFillMatch = regexFill.exec(match);
128
+
129
+ const iconName = iconNameMatch ? iconNameMatch[1] : null;
130
+ const fill = iconFillMatch ? iconFillMatch[1] : defaultVariants.fill;
131
+
132
+ try {
133
+ if (iconName) {
134
+ if (iconFillMatch && iconFillMatch[3]) {
135
+ copyFile(iconName, false);
136
+ copyFile(iconName, true);
137
+ } else {
138
+ copyFile(iconName, fill);
139
+ }
140
+ }
141
+ } catch (error) {
142
+ // console.log(error);
143
+ }
144
+ }
145
+ }
146
+
147
+ /* UIcon with ternary operator */
148
+ const ternaryRegexName = /\bname="[^']*'([^']*)'\s*:\s*'([^']*)'/;
149
+ const ternaryRegexFill = /(:(fill)="([^"]*)"|fill)/;
150
+
151
+ const ternaryMatchNameArray = fileContents.match(/<UIcon[^>]+>/g);
152
+
153
+ if (ternaryMatchNameArray) {
154
+ for (const match of ternaryMatchNameArray) {
155
+ const iconNameMatch = ternaryRegexName.exec(match);
156
+ const iconFillMatch = ternaryRegexFill.exec(match);
157
+
158
+ const fill = iconFillMatch ? iconFillMatch[1] : defaultVariants.fill;
159
+
160
+ try {
161
+ if (iconFillMatch && iconFillMatch[3]) {
162
+ copyFile(iconNameMatch[1], false);
163
+ copyFile(iconNameMatch[2], true);
164
+ copyFile(iconNameMatch[1], false);
165
+ copyFile(iconNameMatch[2], true);
166
+ } else {
167
+ copyFile(iconNameMatch[1], fill);
168
+ copyFile(iconNameMatch[2], fill);
169
+ }
170
+ } catch (error) {
171
+ // console.log(error);
172
+ }
173
+ }
174
+ }
175
+ });
176
+ }
177
+
178
+ function getFiles(dirPath, extension, fileList) {
179
+ const files = fs.readdirSync(dirPath);
180
+
181
+ fileList = fileList || [];
182
+
183
+ files.forEach((file) => {
184
+ const filePath = path.join(dirPath, file);
185
+ const stat = fs.statSync(filePath);
186
+
187
+ if (stat.isDirectory()) {
188
+ fileList = getFiles(filePath, extension, fileList);
189
+ } else {
190
+ const isStorybookStory =
191
+ filePath.endsWith(STORYBOOK_STORY_EXTENSION) && extension !== STORYBOOK_STORY_EXTENSION;
192
+
193
+ if (filePath.endsWith(extension) && !isStorybookStory) {
194
+ fileList.push(filePath);
195
+ }
196
+ }
197
+ });
198
+
199
+ return fileList;
200
+ }
201
+
202
+ function copyFile(name, fill) {
203
+ name = name.toLowerCase();
204
+ fill = Boolean(fill);
205
+
206
+ const library = defaultVariants.library;
207
+ const weight = defaultVariants.weight;
208
+ const style = defaultVariants.style;
209
+
210
+ const require = createRequire(import.meta.url);
211
+
212
+ /* eslint-disable prettier/prettier */
213
+ const libraries = {
214
+ "@material-symbols": {
215
+ source: `${library}/svg-${weight}/${style}/${name}${fill ? "-fill" : ""}.svg`,
216
+ destination: `${DESTINATION_DIR}/${library}/svg-${weight}/${style}/${name}${fill ? "-fill" : ""}.svg`,
217
+ },
218
+ "bootstrap-icons": {
219
+ source: `${library}/icons/${name}${fill ? "-fill" : ""}.svg`,
220
+ destination: `${DESTINATION_DIR}/${library}/icons/${name}${fill ? "-fill" : ""}.svg`,
221
+ },
222
+ heroicons: {
223
+ source: `${library}/${style}/${fill ? "solid" : "outline"}/${name}.svg`,
224
+ destination: `${DESTINATION_DIR}/${library}/${style}/${fill ? "solid" : "outline"}/${name}.svg`,
225
+ },
226
+ };
227
+ /* eslint-enable prettier/prettier */
228
+
229
+ const { source, destination } = libraries[library];
230
+
231
+ if (fs.existsSync(destination)) {
232
+ return;
233
+ }
234
+
235
+ const destDir = path.dirname(destination);
236
+
237
+ fs.mkdirSync(destDir, { recursive: true });
238
+ fs.copyFile(require.resolve(source), destination, (err) => {
239
+ if (args.debug || isDebug) {
240
+ err
241
+ ? console.error(`Error copying icon "${name}":`, err)
242
+ : console.log(`Icon "${name}" copied successfully!`);
243
+ }
244
+ });
245
+ }
246
+
247
+ function parseArgs() {
248
+ const args = process.argv.slice(2);
249
+ const parsedArgs = {};
250
+
251
+ let currentKey = null;
252
+
253
+ for (let i = 0; i < args.length; i++) {
254
+ const arg = args[i];
255
+
256
+ if (arg.startsWith("--")) {
257
+ const key = arg.slice(2);
258
+
259
+ parsedArgs[key] = true;
260
+ currentKey = key;
261
+ } else if (currentKey) {
262
+ parsedArgs[currentKey] = arg;
263
+ currentKey = null;
264
+ }
265
+ }
266
+
267
+ return parsedArgs;
268
+ }
269
+
270
+ function getSafelistIcons() {
271
+ return vuelessConfig.component ? vuelessConfig.component[U_ICON]?.safelistIcons || [] : [];
272
+ }
273
+
274
+ function getMergedConfig() {
275
+ if (fs.existsSync(DEFAULT_CONFIG_PATH)) {
276
+ const defaultConfigFile = fs.readFileSync(DEFAULT_CONFIG_PATH).toString();
277
+
278
+ const defaultConfig = getDefaultConfigJson(defaultConfigFile);
279
+ const globalConfig = vuelessConfig.component || {};
280
+
281
+ return merge(defaultConfig.defaultVariants, globalConfig[U_ICON]?.defaultVariants);
282
+ }
283
+ }
284
+
285
+ function getDefaultConfigJson(fileContents) {
286
+ const objectStartIndex = fileContents.indexOf("{");
287
+ const objectString = fileContents.substring(objectStartIndex).replace("};", "}");
288
+
289
+ // indirect eval
290
+ return (0, eval)("(" + objectString + ")"); // Converting into JS object
291
+ }
@@ -0,0 +1,76 @@
1
+ /* eslint-disable no-console */
2
+
3
+ import fs from "fs";
4
+ import { compileTemplate } from "vue/compiler-sfc";
5
+ import { optimize as optimizeSvg } from "svgo";
6
+
7
+ const DEFAULT_SVGO_CONFIG = {
8
+ plugins: [
9
+ {
10
+ name: "preset-default",
11
+ params: {
12
+ overrides: {
13
+ removeViewBox: false,
14
+ convertColors: {
15
+ currentColor: true,
16
+ },
17
+ },
18
+ },
19
+ },
20
+ ],
21
+ };
22
+
23
+ export async function loadSvg(id, options) {
24
+ const { defaultImport = "url", svgo = true, svgoConfig = DEFAULT_SVGO_CONFIG } = options;
25
+ const svgRegex = /\.svg(\?(raw|url|component|skipsvgo))?$/;
26
+
27
+ if (!id.match(svgRegex)) {
28
+ return;
29
+ }
30
+
31
+ let svg;
32
+ const [path, query] = id.split("?", 2);
33
+ const importType = query || defaultImport;
34
+
35
+ // use default svg loader
36
+ if (importType === "url" && !path.includes(".generated")) {
37
+ return;
38
+ }
39
+
40
+ try {
41
+ svg = await fs.promises.readFile(path, "utf-8");
42
+ } catch (ex) {
43
+ console.warn(
44
+ "\n",
45
+ `${id} couldn't be loaded by vite-plugin-vue-vueless, fallback to default loader.`,
46
+ );
47
+
48
+ return;
49
+ }
50
+
51
+ if (importType === "raw") {
52
+ return `export default ${JSON.stringify(svg)}`;
53
+ }
54
+
55
+ if (svgo !== false && query !== "skipsvgo") {
56
+ svg = optimizeSvg(svg, {
57
+ ...svgoConfig,
58
+ path,
59
+ }).data;
60
+ }
61
+
62
+ // prevent compileTemplate from removing the style tag
63
+ svg = svg.replace(/<style/g, '<component is="style"').replace(/<\/style/g, "</component");
64
+
65
+ const { code } = compileTemplate({
66
+ id: JSON.stringify(id),
67
+ source: svg,
68
+ filename: path,
69
+ transformAssetUrls: false,
70
+ });
71
+
72
+ return `
73
+ ${code}
74
+ export default { render: render }
75
+ `;
76
+ }
@@ -0,0 +1,197 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+
4
+ import vuelessConfig from "../../../vueless.config.js";
5
+ import { brandColors } from "../../service.tailwind";
6
+ import { components } from "./unpluginComponentsResolver.js";
7
+
8
+ const COMPONENTS_WITH_COLOR_PROP = [
9
+ "UButton",
10
+ "ULink",
11
+ "UDropdownButton",
12
+ "UDropdownBadge",
13
+ "UDropdownLink",
14
+ "UCheckbox",
15
+ "UCheckboxGroup",
16
+ "UCheckboxMultiState",
17
+ "USwitch",
18
+ "URadio",
19
+ "URadioCard",
20
+ "URadioGroup",
21
+ "UHeader",
22
+ "UText",
23
+ "UAlert",
24
+ "UMoney",
25
+ "UBadge",
26
+ "UModalConfirm",
27
+ "UIcon",
28
+ "UDot",
29
+ ];
30
+
31
+ export function createTailwindSafelist() {
32
+ const safelist = [];
33
+
34
+ const srcVueFiles = getFiles("src", ".vue");
35
+ const vuelessVueFiles = getFiles(".vueless", ".vue");
36
+ const vuelessLayoutVueFiles = getFiles(".vueless-layouts", ".vue");
37
+ const vuelessJsConfigFiles = getFiles(".vueless", ".config.js");
38
+
39
+ const files = [
40
+ ...srcVueFiles,
41
+ ...vuelessVueFiles,
42
+ ...vuelessLayoutVueFiles,
43
+ ...vuelessJsConfigFiles,
44
+ ];
45
+
46
+ /* Generate safelist */
47
+ COMPONENTS_WITH_COLOR_PROP.forEach((component) => {
48
+ const { colors, isExistsComponent } = findColors(files, component);
49
+
50
+ if (isExistsComponent && colors.length) {
51
+ // eslint-disable-next-line vue/max-len, prettier/prettier
52
+ const defaultConfigPath = vuelessJsConfigFiles.find((file) => checkDefaultConfig(file, component));
53
+
54
+ const defaultSafelist = getDefaultConfig(defaultConfigPath)?.safelist;
55
+ const customSafelist =
56
+ vuelessConfig.component && vuelessConfig.component[component]?.safelist;
57
+
58
+ const colorString = colors.join("|");
59
+
60
+ const selectedSafelist = customSafelist
61
+ ? customSafelist && customSafelist(colorString)
62
+ : defaultSafelist && defaultSafelist(colorString);
63
+
64
+ if (selectedSafelist) {
65
+ safelist.push(...selectedSafelist);
66
+ }
67
+ }
68
+ });
69
+
70
+ process.env.SAFELIST_JSON = JSON.stringify(safelist);
71
+
72
+ console.log(process.env.SAFELIST_JSON);
73
+ }
74
+
75
+ function getFiles(dirPath, extension, fileList) {
76
+ const files = fs.readdirSync(dirPath);
77
+
78
+ fileList = fileList || [];
79
+
80
+ files.forEach((file) => {
81
+ const filePath = path.join(dirPath, file);
82
+ const stat = fs.statSync(filePath);
83
+
84
+ if (stat.isDirectory()) {
85
+ fileList = getFiles(filePath, extension, fileList);
86
+ } else {
87
+ filePath.endsWith(extension) && fileList.push(filePath);
88
+ }
89
+ });
90
+
91
+ return fileList;
92
+ }
93
+
94
+ function findColors(files, component) {
95
+ const colors = [];
96
+ const brandColor = getBrandColor();
97
+
98
+ if (brandColor && brandColor !== "grayscale") {
99
+ colors.push(brandColor);
100
+ }
101
+
102
+ if (!brandColors.includes("gray")) {
103
+ brandColors.push("gray");
104
+ }
105
+
106
+ /* Add safelist colors from config */
107
+ getSafelistColorsFromConfig(component).forEach((color) => addColor(color, colors));
108
+
109
+ let isExistsComponent = false;
110
+
111
+ files.forEach((file) => {
112
+ const fileContents = fs.existsSync(file) ? fs.readFileSync(file).toString() : "";
113
+
114
+ const isDefaultConfig = checkDefaultConfig(file, component);
115
+
116
+ /* Collect color from config objects */
117
+ if (isDefaultConfig) {
118
+ const colorRegExp = /\bcolor\s*:\s*["']([^"'\s]+)["']/g;
119
+ const matchedColors = fileContents.match(colorRegExp);
120
+
121
+ if (matchedColors) {
122
+ for (const match of matchedColors) {
123
+ const matchedColor = colorRegExp.exec(match);
124
+
125
+ addColor(matchedColor && matchedColor[1], colors);
126
+
127
+ colorRegExp.lastIndex = 0;
128
+ }
129
+ }
130
+ }
131
+
132
+ /* Collect color from U[Component] */
133
+ const componentRegExp = new RegExp(`<${component}[^>]+>`, "g");
134
+ const matchedComponent = fileContents.match(componentRegExp);
135
+
136
+ if (matchedComponent) {
137
+ isExistsComponent = true;
138
+
139
+ /* single value prop */
140
+ const colorRegExp = /\bcolor\s*=\s*["']([^"'\s]+)["']/;
141
+
142
+ for (const match of matchedComponent) {
143
+ const matchedColor = colorRegExp.exec(match);
144
+
145
+ addColor(matchedColor && matchedColor[1], colors);
146
+ }
147
+
148
+ /* ternary value prop */
149
+ const ternaryRegExp = /\bcolor="[^']*'([^']*)'\s*:\s*'([^']*)'/;
150
+
151
+ for (const match of matchedComponent) {
152
+ const matchedColors = ternaryRegExp.exec(match);
153
+
154
+ addColor(matchedColors && matchedColors[1], colors);
155
+ addColor(matchedColors && matchedColors[2], colors);
156
+ }
157
+ }
158
+ });
159
+
160
+ return { colors, isExistsComponent };
161
+ }
162
+
163
+ function addColor(color, colors) {
164
+ if (brandColors.includes(color) && !colors.includes(color)) {
165
+ colors.push(color);
166
+ }
167
+ }
168
+
169
+ function getSafelistColorsFromConfig(component) {
170
+ const globalSafelistColors = vuelessConfig.safelistColors || [];
171
+ const componentSafelistColors =
172
+ (vuelessConfig.component && vuelessConfig.component[component]?.safelistColors) || [];
173
+
174
+ return [...globalSafelistColors, ...componentSafelistColors];
175
+ }
176
+
177
+ function getBrandColor(component) {
178
+ return vuelessConfig.component
179
+ ? vuelessConfig.component[component]?.defaultVariants?.color
180
+ : vuelessConfig.brand || "";
181
+ }
182
+
183
+ function checkDefaultConfig(filePath, component) {
184
+ return filePath.includes(components[component]) && filePath.endsWith("default.config.js");
185
+ }
186
+
187
+ function getDefaultConfig(path) {
188
+ if (fs.existsSync(path)) {
189
+ const defaultConfigFile = fs.readFileSync(path).toString();
190
+
191
+ const objectStartIndex = defaultConfigFile.indexOf("{");
192
+ const objectString = defaultConfigFile.substring(objectStartIndex).replace("};", "}");
193
+
194
+ // indirect eval
195
+ return (0, eval)("(" + objectString + ")"); // Converting into JS object
196
+ }
197
+ }