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
@@ -1,260 +1,264 @@
1
1
  <template>
2
- <div class="mono-money-input">
3
- <SingleInput
4
- v-if="isShownInput.single"
5
- ref="input"
6
- v-model="form"
7
- :hide-label="hideLabel"
8
- :cleave-settings="cleaveSettings"
9
- :error="error"
10
- :numeral-decimal-scale="numeralDecimalScale.initialCurrency"
11
- :disabled="disabled.initialCurrency"
12
- :with-minus="withMinus"
13
- :i18n="i18n"
14
- :placeholder="placeholder"
15
- :data-cy="dataCy"
16
- @keyup="onKeyupInput"
17
- @blur="onBlur"
18
- @input="onInput"
19
- >
20
- <template #right>
21
- <!-- @slot Use it to add right slot. -->
22
- <slot name="right" />
23
- </template>
24
- </SingleInput>
25
-
26
- <RangeInput
27
- v-if="isShownInput.range"
28
- v-model="form"
29
- :hide-label="hideLabel"
30
- :cleave-settings="cleaveSettings"
31
- :error="error"
32
- :numeral-decimal-scale="numeralDecimalScale"
33
- :disabled="disabled"
34
- :i18n="i18n"
35
- :data-cy="dataCy"
36
- />
37
-
38
- <ConvertibleInput
39
- v-if="isShownInput.convertible"
40
- ref="input"
41
- v-model="form"
42
- :hide-label="hideLabel"
43
- :cleave-settings="cleaveSettings"
44
- :error="error"
45
- :base-currency-symbol="baseCurrencySymbol"
46
- :numeral-decimal-scale="numeralDecimalScale"
47
- :disabled="disabled"
48
- :with-minus="withMinus"
49
- :i18n="i18n"
50
- :data-cy="dataCy"
51
- >
52
- <template #right>
53
- <!-- @slot Use it to add right slot. -->
54
- <slot name="right" />
55
- </template>
56
- </ConvertibleInput>
57
- </div>
2
+ <UInput
3
+ :id="id"
4
+ ref="moneyInputRef"
5
+ v-model="formattedValue"
6
+ :size="size"
7
+ :label="localLabel"
8
+ :label-outside="labelOutside"
9
+ :placeholder="placeholder"
10
+ :description="description"
11
+ :error="error"
12
+ :disabled="disabled"
13
+ inputmode="decimal"
14
+ :data-cy="`${dataCy}-base-currency`"
15
+ v-bind="inputAttrs"
16
+ @keyup="onKeyup"
17
+ @blur="onBlur"
18
+ @input="onInput"
19
+ >
20
+ <template #left>
21
+ <!-- @slot Use it to add something left. -->
22
+ <slot name="left" />
23
+ </template>
24
+
25
+ <template #right>
26
+ <!-- @slot Use it to add something right. -->
27
+ <slot name="right" />
28
+ </template>
29
+
30
+ <template #right-icon>
31
+ <!-- @slot Use it to add right icon. -->
32
+ <slot name="right-icon" />
33
+ </template>
34
+ </UInput>
58
35
  </template>
59
36
 
60
- <script>
61
- import I18nServiceDefault from "vueless/service.i18n";
37
+ <script setup>
38
+ import { computed, ref, watch, onMounted, nextTick } from "vue";
39
+
40
+ import UIService from "vueless/service.ui";
41
+ import { getRandomId } from "vueless/service.ui";
62
42
 
63
- import SingleInput from "./_components/SingleInput.vue";
64
- import RangeInput from "./_components/RangeInput.vue";
65
- import ConvertibleInput from "./_components/ConvertibleInput.vue";
43
+ import { SYMBOL_MINUS } from "../ui.text-money/constants";
66
44
 
67
- const SINGLE = "single";
68
- const RANGE = "range";
69
- const CONVERTIBLE = "convertible";
45
+ import defaultConfig from "./configs/default.config";
46
+ import { UInputMoney } from "./constants";
70
47
 
71
- export default {
72
- name: "UInputMoney",
48
+ import useAttrs from "./composables/attrs.composable";
49
+ import useFormatCurrency from "./composables/useFormatCurrency";
73
50
 
74
- components: {
75
- ConvertibleInput,
76
- RangeInput,
77
- SingleInput,
51
+ /* Should be a string for correct web-types gen */
52
+ defineOptions({ name: "UInputMoney", inheritAttrs: false });
53
+
54
+ const props = defineProps({
55
+ /**
56
+ * Input value.
57
+ */
58
+ modelValue: {
59
+ type: [String, Number],
60
+ default: "",
61
+ },
62
+ /**
63
+ * Input label.
64
+ */
65
+ label: {
66
+ type: String,
67
+ default: "",
78
68
  },
79
69
 
80
- props: {
81
- /**
82
- * Set input money value.
83
- */
84
- modelValue: {
85
- type: Object,
86
- default: () => ({}),
87
- },
88
-
89
- /**
90
- * Set component type.
91
- * @values single, range, convertible
92
- */
93
- type: {
94
- type: String,
95
- default: SINGLE,
96
- },
97
-
98
- /**
99
- * Set base currency symbol for CONVERTIBLE type (For example, "₴". It's possible to use the symbol of any currency).
100
- */
101
- baseCurrencySymbol: {
102
- type: String,
103
- default: "",
104
- },
105
-
106
- /**
107
- * Hide / show label.
108
- */
109
- hideLabel: {
110
- type: Boolean,
111
- default: false,
112
- },
113
-
114
- /**
115
- * Set error text.
116
- */
117
- error: {
118
- type: String,
119
- default: "",
120
- },
121
-
122
- /**
123
- * Allows only positive values.
124
- */
125
- positiveOnly: {
126
- type: Boolean,
127
- default: false,
128
- },
129
-
130
- /**
131
- * Show / hide minus sign.
132
- */
133
- withMinus: {
134
- type: Boolean,
135
- default: false,
136
- },
137
-
138
- /**
139
- * Set the numeral decimal scale after the comma.
140
- */
141
- numeralDecimalScale: {
142
- type: Object,
143
- default: () => ({
144
- initialCurrency: 2,
145
- convertibleCurrency: 2,
146
- firstRate: 4,
147
- secondRate: 4,
148
- startRange: 2,
149
- endRange: 2,
150
- }),
151
- },
152
-
153
- /**
154
- * Set disabled options for component types.
155
- */
156
- disabled: {
157
- type: Object,
158
- default: () => ({
159
- initialCurrency: false,
160
- convertibleCurrency: false,
161
- firstRate: false,
162
- secondRate: false,
163
- startRange: false,
164
- endRange: false,
165
- }),
166
- },
167
- /**
168
- * Set placeholder text.
169
- */
170
- placeholder: {
171
- type: String,
172
- default: "",
173
- },
174
-
175
- /**
176
- * Sets data-cy attribute for automated testing.
177
- */
178
- dataCy: {
179
- type: String,
180
- default: "",
181
- },
70
+ /**
71
+ * Show label outside the input block.
72
+ */
73
+ labelOutside: {
74
+ type: Boolean,
75
+ default: UIService.get(defaultConfig, UInputMoney).default.labelOutside,
182
76
  },
183
77
 
184
- emits: ["update:modelValue", "keyup", "blur", "input"],
78
+ /**
79
+ * Currency symbol.
80
+ */
81
+ symbol: {
82
+ type: String,
83
+ default: UIService.get(defaultConfig, UInputMoney).default.symbol,
84
+ },
185
85
 
186
- setup() {
187
- const { getTranslation } = new I18nServiceDefault();
86
+ /**
87
+ * Input placeholder.
88
+ */
89
+ placeholder: {
90
+ type: String,
91
+ default: "",
92
+ },
188
93
 
189
- return { getTranslation };
94
+ /**
95
+ * Input description.
96
+ */
97
+ description: {
98
+ type: String,
99
+ default: "",
190
100
  },
191
101
 
192
- data: () => ({
193
- cleaveSettings: {
194
- numeral: true,
195
- numeralThousandsGroupStyle: "thousand",
196
- delimiter: " ",
197
- numeralDecimalMark: ",",
198
- numeralPositiveOnly: false,
199
- rawValueTrimPrefix: true,
200
- },
201
- }),
202
-
203
- computed: {
204
- i18n() {
205
- return {
206
- rate: this.getTranslation("rate"),
207
- amount: this.getTranslation("amount"),
208
- };
209
- },
210
-
211
- isShownInput() {
212
- return {
213
- single: this.type === SINGLE,
214
- range: this.type === RANGE,
215
- convertible: this.type === CONVERTIBLE,
216
- };
217
- },
218
-
219
- form: {
220
- get() {
221
- return this.modelValue;
222
- },
223
- set(value) {
224
- this.$emit("update:modelValue", value);
225
- },
226
- },
102
+ /**
103
+ * Error message.
104
+ */
105
+ error: {
106
+ type: String,
107
+ default: "",
227
108
  },
228
109
 
229
- created() {
230
- this.cleaveSettings.numeralPositiveOnly = this.positiveOnly;
231
- this.form = this.modelValue;
110
+ /**
111
+ * Input size.
112
+ * @values sm, md, lg
113
+ */
114
+ size: {
115
+ type: String,
116
+ default: UIService.get(defaultConfig, UInputMoney).default.size,
232
117
  },
233
118
 
234
- methods: {
235
- onKeyupInput(event) {
236
- this.$emit("keyup", event);
237
- },
119
+ /**
120
+ * Number of signs after the comma.
121
+ */
122
+ decimalScale: {
123
+ type: Number,
124
+ default: UIService.get(defaultConfig, UInputMoney).default.decimalScale,
125
+ },
238
126
 
239
- onBlur() {
240
- this.$emit("blur");
241
- },
127
+ /**
128
+ * A symbol used to separate the integer part from the fractional part of a number.
129
+ */
130
+ decimalSeparator: {
131
+ type: String,
132
+ default: UIService.get(defaultConfig, UInputMoney).default.decimalSeparator,
133
+ },
242
134
 
243
- onInput(event) {
244
- this.$emit("input", event);
245
- },
135
+ /**
136
+ * A symbol used to separate the thousand parts of a number.
137
+ */
138
+ thousandsSeparator: {
139
+ type: String,
140
+ default: UIService.get(defaultConfig, UInputMoney).default.thousandsSeparator,
246
141
  },
247
- };
248
- </script>
249
142
 
250
- <i18n>
251
- en:
252
- rate: "Rate"
253
- amount: "Amount"
254
- ru:
255
- rate: "Курс"
256
- amount: "Сумма"
257
- ua:
258
- rate: "Курс"
259
- amount: "Сума"
260
- </i18n>
143
+ /**
144
+ * Allow only positive values.
145
+ */
146
+ positiveOnly: {
147
+ type: Boolean,
148
+ default: UIService.get(defaultConfig, UInputMoney).default.positiveOnly,
149
+ },
150
+
151
+ /**
152
+ * Show prefix in the raw value number.
153
+ */
154
+ rawValuePrefix: {
155
+ type: Boolean,
156
+ default: UIService.get(defaultConfig, UInputMoney).default.rawValuePrefix,
157
+ },
158
+
159
+ /**
160
+ * Show minus sign.
161
+ */
162
+ minus: {
163
+ type: Boolean,
164
+ default: UIService.get(defaultConfig, UInputMoney).default.minus,
165
+ },
166
+
167
+ /**
168
+ * Set input read-only.
169
+ */
170
+ readonly: {
171
+ type: Boolean,
172
+ default: UIService.get(defaultConfig, UInputMoney).default.readonly,
173
+ },
174
+
175
+ /**
176
+ * Disable the input.
177
+ */
178
+ disabled: {
179
+ type: Boolean,
180
+ default: UIService.get(defaultConfig, UInputMoney).default.disabled,
181
+ },
182
+
183
+ /**
184
+ * Unique element id.
185
+ * @ignore
186
+ */
187
+ id: {
188
+ type: String,
189
+ default: () => getRandomId(),
190
+ },
191
+
192
+ /**
193
+ * Component ui config object.
194
+ */
195
+ config: {
196
+ type: Object,
197
+ default: () => ({}),
198
+ },
199
+
200
+ /**
201
+ * Data-cy attribute for automated testing.
202
+ */
203
+ dataCy: {
204
+ type: String,
205
+ default: "",
206
+ },
207
+ });
208
+
209
+ const emit = defineEmits(["update:modelValue", "keyup", "blur", "input"]);
210
+
211
+ const moneyInputRef = ref(null);
212
+
213
+ const { inputAttrs } = useAttrs(props);
214
+
215
+ const { formattedValue, rawValue, setValue } = useFormatCurrency(`#${props.id}`, () => ({
216
+ decimalScale: props.decimalScale,
217
+ decimalSeparator: props.decimalSeparator,
218
+ thousandsSeparator: props.thousandsSeparator,
219
+ positiveOnly: props.positiveOnly,
220
+ rawValuePrefix: props.rawValuePrefix,
221
+ prefix: props.minus ? SYMBOL_MINUS : "",
222
+ }));
223
+
224
+ const localValue = computed({
225
+ get: () => props.modelValue,
226
+ set: (value) => emit("update:modelValue", value),
227
+ });
228
+
229
+ const localLabel = computed(() => {
230
+ const comma = props.symbol && props.label ? "," : "";
231
+ const symbol = props.label ? props.symbol : "";
232
+
233
+ return `${props.label}${comma} ${symbol}`.trim();
234
+ });
235
+
236
+ const input = computed(() => {
237
+ return moneyInputRef.value.input;
238
+ });
239
+
240
+ watch(
241
+ () => props.modelValue,
242
+ () => String(localValue.value) !== String(rawValue.value) && setValue(localValue.value),
243
+ );
244
+
245
+ defineExpose({ input, rawValue, formattedValue });
246
+
247
+ onMounted(() => {
248
+ setValue(localValue.value);
249
+ });
250
+
251
+ function onKeyup(event) {
252
+ localValue.value = rawValue.value || "";
253
+
254
+ nextTick(() => emit("keyup", event));
255
+ }
256
+
257
+ function onBlur() {
258
+ nextTick(() => emit("blur"));
259
+ }
260
+
261
+ function onInput(value) {
262
+ nextTick(() => emit("input", value));
263
+ }
264
+ </script>
@@ -0,0 +1,72 @@
1
+ export default class FormatService {
2
+ static isNumberValueRegExp = /^[\d,.\s-]+$/;
3
+ static rawDecimalMark = ".";
4
+ static comma = ",";
5
+
6
+ static getRawValue(value, options) {
7
+ const { thousandsSeparator, decimalSeparator, rawValuePrefix, prefix } = options;
8
+
9
+ value = String(value).endsWith(decimalSeparator)
10
+ ? String(value).replace(decimalSeparator, "")
11
+ : String(value);
12
+
13
+ const rawValueWithPrefix = value
14
+ .replaceAll(thousandsSeparator, "")
15
+ .replace(decimalSeparator, ".");
16
+
17
+ return rawValuePrefix ? rawValueWithPrefix : rawValueWithPrefix.replace(prefix, "");
18
+ }
19
+
20
+ static getFormattedValue(value, options) {
21
+ const { thousandsSeparator, decimalSeparator, decimalScale, prefix, positiveOnly } = options;
22
+
23
+ const invalidValuesRegExp = new RegExp("[^\\d,\\d.\\s-" + decimalSeparator + "]", "g");
24
+ const doubleValueRegExp = new RegExp("([,\\.\\s-" + decimalSeparator + "])+", "g");
25
+
26
+ // slice to first decimal mark
27
+ value = String(value)
28
+ .replaceAll(this.comma, decimalSeparator)
29
+ .split(decimalSeparator)
30
+ .slice(0, 2)
31
+ .map((value, index) => (index ? value.replaceAll(thousandsSeparator, "") : value))
32
+ .join(decimalSeparator);
33
+
34
+ value = String(value)
35
+ .replace(invalidValuesRegExp, "")
36
+ .replace(doubleValueRegExp, "$1")
37
+ .replaceAll(decimalSeparator, this.rawDecimalMark);
38
+
39
+ const isNumber = this.isNumberValueRegExp.test(value);
40
+ const isFloat = value.endsWith(this.rawDecimalMark) || value.endsWith(".0");
41
+
42
+ if (!value || !isNumber || isFloat) {
43
+ return `${prefix}${value.replaceAll(this.rawDecimalMark, decimalSeparator)}`;
44
+ }
45
+
46
+ const intlNumber = new Intl.NumberFormat("en-US", {
47
+ minimumFractionDigits: 0,
48
+ maximumFractionDigits: decimalScale,
49
+ signDisplay: positiveOnly ? "never" : "negative",
50
+ roundingMode: "floor",
51
+ });
52
+
53
+ const rawValue = this.getRawValue(value, {
54
+ decimalSeparator,
55
+ thousandsSeparator,
56
+ prefix,
57
+ rawValuePrefix: false,
58
+ });
59
+
60
+ const formattedValue = intlNumber.formatToParts(parseFloat(rawValue) || 0).map((part) => {
61
+ if (part.type === "group") part.value = thousandsSeparator;
62
+ if (part.type === "decimal") part.value = decimalSeparator;
63
+ if (part.type === "fraction") part.value = part.value.padEnd(decimalScale, "0");
64
+
65
+ return part;
66
+ });
67
+
68
+ formattedValue.unshift({ value: prefix, type: "minusSign" });
69
+
70
+ return formattedValue.map((part) => part.value).join("");
71
+ }
72
+ }
@@ -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,47 @@
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 { value, text } = config.value;
10
+
11
+ const cvaValue = cva({
12
+ base: value.base,
13
+ variants: value.variants,
14
+ compoundVariants: value.compoundVariants,
15
+ });
16
+
17
+ const cvaText = cva({
18
+ base: text.base,
19
+ variants: text.variants,
20
+ compoundVariants: text.compoundVariants,
21
+ });
22
+
23
+ const textClasses = computed(() => cvaText({ size: props.size }));
24
+
25
+ const valueClasses = computed(() => cvaValue({ size: props.size }));
26
+
27
+ const wrapperAttrs = getAttrs("wrapper");
28
+ const numberAttrs = getAttrs("number");
29
+ const removeButtonAttrs = getAttrs("removeButton", { isComponent: true });
30
+ const removeIconAttrs = getAttrs("removeIcon", { isComponent: true });
31
+ const addButtonAttrs = getAttrs("addButton", { isComponent: true });
32
+ const addIconAttrs = getAttrs("addIcon", { isComponent: true });
33
+ const valueAttrs = getAttrs("value", { classes: valueClasses });
34
+ const textAttrs = getAttrs("text", { classes: textClasses });
35
+
36
+ return {
37
+ config,
38
+ valueAttrs,
39
+ textAttrs,
40
+ removeButtonAttrs,
41
+ removeIconAttrs,
42
+ addButtonAttrs,
43
+ addIconAttrs,
44
+ wrapperAttrs,
45
+ numberAttrs,
46
+ };
47
+ }
@@ -0,0 +1,33 @@
1
+ export default /*tw*/ {
2
+ wrapper: "flex items-center space-x-6",
3
+ number: "flex items-center flex-col",
4
+ removeButton: "",
5
+ removeIcon: "",
6
+ removeIconName: "remove",
7
+ addButton: "",
8
+ addIcon: "",
9
+ addIconName: "add",
10
+ value: {
11
+ base: "font-bold select-none !leading-none",
12
+ variants: {
13
+ size: {
14
+ sm: "text-sm",
15
+ md: "text-base",
16
+ lg: "text-lg",
17
+ },
18
+ },
19
+ },
20
+ text: {
21
+ base: "pt-1 !leading-none text-gray-500",
22
+ variants: {
23
+ size: {
24
+ sm: "text-xs",
25
+ md: "text-sm",
26
+ lg: "text-base",
27
+ },
28
+ },
29
+ },
30
+ defaultVariants: {
31
+ size: "md",
32
+ },
33
+ };
@@ -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 UInputNumber = "UInputNumber";