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,15 +1,17 @@
1
1
  import { getArgTypes, getSlotNames } from "vueless/service.storybook";
2
2
 
3
3
  import UCheckbox from "vueless/ui.form-checkbox";
4
- import UIcon from "vueless/ui.image-icon";
5
- import URow from "vueless/ui.container-row";
4
+ import UCheckboxGroup from "vueless/ui.form-checkbox-group";
5
+ import UBadge from "vueless/ui.text-badge";
6
+ import UGroup from "vueless/ui.container-group";
6
7
 
7
8
  export default {
9
+ id: "3100",
8
10
  title: "Form Inputs & Controls / Checkbox",
9
11
  component: UCheckbox,
10
12
  args: {
11
13
  label: "Label",
12
- modelValue: "",
14
+ value: {},
13
15
  },
14
16
  argTypes: {
15
17
  ...getArgTypes(UCheckbox.name),
@@ -32,8 +34,62 @@ const DefaultTemplate = (args) => ({
32
34
  `,
33
35
  });
34
36
 
35
- const SizesTemplate = (args, { argTypes }) => ({
36
- components: { UCheckbox, URow },
37
+ const ValueTypesTemplate = (args) => ({
38
+ components: { UCheckbox, UCheckboxGroup, UGroup },
39
+ setup() {
40
+ return { args };
41
+ },
42
+ data() {
43
+ return {
44
+ defaultValue: false,
45
+ arrayValue: [],
46
+ customValue: { vue: "less" },
47
+ };
48
+ },
49
+ template: `
50
+ <UGroup size="lg">
51
+ <UCheckbox
52
+ v-bind="args"
53
+ v-model="defaultValue"
54
+ label="Default"
55
+ :description="String(defaultValue)"
56
+ />
57
+
58
+ <UCheckbox
59
+ v-bind="args"
60
+ v-model="customValue"
61
+ :true-value="{ vue: 'less' }"
62
+ false-value="0"
63
+ :description="JSON.stringify(customValue)"
64
+ label="Custom"
65
+ />
66
+
67
+ <div>
68
+ <UCheckboxGroup name="checkboxGroup" label="Checkbox group">
69
+ <UCheckbox
70
+ v-bind="args"
71
+ v-model="arrayValue"
72
+ :value="{ key: 'value' }"
73
+ label="Array with object value"
74
+ />
75
+ <UCheckbox
76
+ v-bind="args"
77
+ v-model="arrayValue"
78
+ value="someString"
79
+ label="Array with custom string value"
80
+ />
81
+ </UCheckboxGroup>
82
+
83
+ <span class="font-normal text-gray-500/[85] text-xs pl-0 mt-1">
84
+ {{ arrayValue }}
85
+ </span>
86
+ </div>
87
+ </UGroup>
88
+ `,
89
+ });
90
+
91
+ const SizesTemplate = (args, { argTypes } = {}) => ({
92
+ components: { UCheckbox, UGroup },
37
93
  setup() {
38
94
  return {
39
95
  args,
@@ -41,25 +97,26 @@ const SizesTemplate = (args, { argTypes }) => ({
41
97
  };
42
98
  },
43
99
  template: `
44
- <URow>
100
+ <UGroup size="lg">
45
101
  <UCheckbox
46
102
  v-for="(size, index) in sizes"
47
- :size="size"
48
- :label="size"
49
103
  :key="index"
50
104
  v-bind="args"
105
+ v-model="args.value[size]"
106
+ :size="size"
107
+ :label="size"
51
108
  />
52
- </URow>
109
+ </UGroup>
53
110
  `,
54
111
  });
55
112
 
56
113
  const SlotTemplate = (args) => ({
57
- components: { UCheckbox, UIcon },
114
+ components: { UCheckbox, UBadge },
58
115
  setup() {
59
116
  return { args };
60
117
  },
61
118
  template: `
62
- <UCheckbox v-bind="args">
119
+ <UCheckbox v-bind="args" v-model="args.value" description="hello">
63
120
  ${args.slotTemplate}
64
121
  </UCheckbox>
65
122
  `,
@@ -68,6 +125,9 @@ const SlotTemplate = (args) => ({
68
125
  export const Default = DefaultTemplate.bind({});
69
126
  Default.args = {};
70
127
 
128
+ export const CustomValues = ValueTypesTemplate.bind({});
129
+ CustomValues.args = {};
130
+
71
131
  export const Sizes = SizesTemplate.bind({});
72
132
  Sizes.args = {};
73
133
 
@@ -77,22 +137,11 @@ Disabled.args = { disabled: true };
77
137
  export const Description = DefaultTemplate.bind({});
78
138
  Description.args = { description: "Some description" };
79
139
 
80
- export const slotDescription = SlotTemplate.bind({});
81
- slotDescription.args = {
140
+ export const slotFooter = SlotTemplate.bind({});
141
+ slotFooter.args = {
82
142
  slotTemplate: `
83
- <template #description>
84
- <div class="flex">
85
- <div>
86
- Hello
87
- </div>
88
-
89
- <UIcon
90
- name="star"
91
- color="black"
92
- size="md"
93
- />
94
- </div>
95
-
143
+ <template #footer>
144
+ <UBadge label="favourite" color="green" size="sm" />
96
145
  </template>
97
146
  `,
98
147
  };
@@ -1,301 +1,241 @@
1
1
  <template>
2
- <label ref="inputCheckbox" class="mono-checkbox-wrapper">
3
- <t-checkbox
4
- v-model="selected"
5
- class="mono-checkbox"
6
- :class="checkboxSizeClass"
7
- :disabled="disabled"
8
- :value="values.select"
9
- :unchecked-value="values.unselect"
2
+ <ULabel
3
+ :for="id"
4
+ :size="size"
5
+ :label="label"
6
+ :description="description"
7
+ :align="labelAlign"
8
+ :disabled="disabled"
9
+ :data-cy="dataCy"
10
+ v-bind="labelAttrs"
11
+ >
12
+ <input
13
+ :id="id"
14
+ type="checkbox"
15
+ :value="checkboxValue"
16
+ :true-value="trueValue"
17
+ :false-value="falseValue"
10
18
  :name="checkboxName"
11
- :data-cy="dataCy"
19
+ :checked="isChecked"
20
+ :disabled="disabled"
21
+ v-bind="checkboxAttrs"
22
+ @change="onChange"
12
23
  />
13
24
 
14
- <UIcon
15
- v-if="isShownPartialIcon"
16
- name="remove"
17
- :size="size"
18
- class="mono-checkbox-partial-icon"
19
- color="white"
20
- />
25
+ <label v-if="isChecked" v-bind="iconWrapperCellAttrs" :for="id">
26
+ <UIcon :name="iconName" :size="iconSize" color="white" v-bind="iconAttrs" />
27
+ </label>
21
28
 
22
- <div>
23
- <span v-if="label" class="label">
24
- {{ label }}
25
- </span>
26
-
27
- <!-- @slot Use it to add some description. -->
28
- <div v-if="isShownDescription" class="mono-checkbox-description">
29
- <slot name="description" :description="description">
30
- <span>{{ description }}</span>
31
- </slot>
32
- </div>
33
- </div>
34
- </label>
29
+ <template #footer>
30
+ <slot name="footer" />
31
+ </template>
32
+ </ULabel>
35
33
  </template>
36
34
 
37
- <script>
38
- import TCheckbox from "vueless/library.vue-tailwind-3/t-checkbox";
35
+ <script setup>
36
+ import { inject, ref, onMounted, computed } from "vue";
37
+ import isEqual from "lodash.isequal";
38
+
39
+ import UIService, { getRandomId } from "vueless/service.ui";
40
+
41
+ import defaultConfig from "./configs/default.config";
42
+ import { UCheckbox } from "./constants";
43
+
39
44
  import UIcon from "vueless/ui.image-icon";
45
+ import { useAttrs } from "./composables/attrs.composable";
46
+
47
+ /* Should be a string for correct web-types gen */
48
+ defineOptions({ name: "UCheckbox", inheritAttrs: false });
49
+
50
+ const checkboxGroupName = inject("checkboxGroupName", null);
51
+ const checkboxGroupCheckedItems = inject("checkboxGroupCheckedItems", null);
52
+ const setCheckboxGroupCheckedItems = inject("setCheckboxGroupCheckedItems", null);
53
+
54
+ const props = defineProps({
55
+ /**
56
+ * Checkbox value.
57
+ */
58
+ modelValue: {
59
+ type: [Boolean, String, Number, Array, Object],
60
+ default: false,
61
+ },
40
62
 
41
- export default {
42
- name: "UCheckbox",
63
+ /**
64
+ * Native value attribute.
65
+ */
66
+ value: {
67
+ type: [Boolean, String, Number, Array, Object],
68
+ default: "",
69
+ },
43
70
 
44
- components: { UIcon, TCheckbox },
71
+ /**
72
+ * Own value for checkbox checked state.
73
+ */
74
+ trueValue: {
75
+ type: [Boolean, String, Number, Array, Object],
76
+ default: true,
77
+ },
45
78
 
46
- inject: {
47
- setCheckboxGroupSelectedItems: { default: null },
48
- getCheckboxGroupSelectedItems: { default: null },
49
- getCheckboxGroupName: { default: null },
79
+ /**
80
+ * Own value for checkbox unchecked state.
81
+ */
82
+ falseValue: {
83
+ type: [Boolean, String, Number, Array, Object],
84
+ default: false,
50
85
  },
51
86
 
52
- props: {
53
- /**
54
- * Set checkbox value.
55
- */
56
- modelValue: {
57
- type: [Boolean, String, Number],
58
- default: false,
59
- },
60
-
61
- /**
62
- * Set own values for checkbox states (selected | unselected).
63
- */
64
- values: {
65
- type: Object,
66
- default: () => ({
67
- select: true,
68
- unselect: false,
69
- }),
70
- },
71
-
72
- /**
73
- * Set checkbox label.
74
- */
75
- label: {
76
- type: String,
77
- default: "",
78
- },
79
-
80
- /**
81
- * Set checkbox size.
82
- * @values sm, md, lg
83
- */
84
- size: {
85
- type: String,
86
- default: "md",
87
- },
88
-
89
- /**
90
- * Set description.
91
- */
92
- description: {
93
- type: String,
94
- default: "",
95
- },
96
-
97
- /**
98
- * Make checkbox inactive.
99
- */
100
- disabled: {
101
- type: Boolean,
102
- default: false,
103
- },
104
-
105
- /**
106
- * Make checkbox partially selected (change the selected tick to a minus).
107
- */
108
- partial: {
109
- type: Boolean,
110
- default: false,
111
- },
112
-
113
- /**
114
- * Set the name for checkbox.
115
- */
116
- name: {
117
- type: String,
118
- default: "",
119
- },
120
-
121
- /**
122
- * Sets data-cy attribute for automated testing.
123
- */
124
- dataCy: {
125
- type: String,
126
- default: "",
127
- },
87
+ /**
88
+ * Checkbox name.
89
+ */
90
+ name: {
91
+ type: String,
92
+ default: "",
128
93
  },
129
94
 
130
- emits: ["update:modelValue", "input"],
95
+ /**
96
+ * Checkbox label.
97
+ */
98
+ label: {
99
+ type: String,
100
+ default: "",
101
+ },
131
102
 
132
- data() {
133
- return {
134
- checkboxName: "",
135
- };
103
+ /**
104
+ * Checkbox label description.
105
+ */
106
+ description: {
107
+ type: String,
108
+ default: "",
136
109
  },
137
110
 
138
- computed: {
139
- selected: {
140
- get() {
141
- const { select, unselect } = this.values;
142
-
143
- return this.modelValue === select ? select : unselect;
144
- },
145
- set(value) {
146
- if (this.isCheckboxInGroup) {
147
- const selectedItems = this.getCheckboxGroupSelectedItems();
148
-
149
- if (!value) {
150
- const checkboxIndex = selectedItems.findIndex((item) => item === this.values.select);
151
-
152
- selectedItems.splice(checkboxIndex, 1);
153
- } else {
154
- selectedItems.push(value);
155
- }
156
-
157
- this.setCheckboxGroupSelectedItems(selectedItems);
158
- } else {
159
- this.$emit("update:modelValue", value);
160
- this.$emit("input", value);
161
- }
162
- },
163
- },
164
-
165
- isCheckboxInGroup() {
166
- return !!this.getCheckboxGroupName;
167
- },
168
-
169
- isShownDescription() {
170
- return this.description || !!this.$slots["description"];
171
- },
172
-
173
- checkboxSizeClass() {
174
- return {
175
- "size-sm": this.size === "sm",
176
- "size-md": this.size === "md",
177
- "size-lg": this.size === "lg",
178
- "mono-checkbox-with-label": !!this.label,
179
- };
180
- },
181
-
182
- isShownPartialIcon() {
183
- const { select } = this.values;
184
-
185
- return this.partial && this.selected === select;
186
- },
111
+ /**
112
+ * Label placement.
113
+ * @values left, right
114
+ */
115
+ labelAlign: {
116
+ type: String,
117
+ default: UIService.get(defaultConfig, UCheckbox).default.labelAlign,
187
118
  },
188
119
 
189
- mounted() {
190
- this.checkboxName = this.isCheckboxInGroup ? this.getCheckboxGroupName() : this.name;
120
+ /**
121
+ * Checkbox color.
122
+ * @values brand, grayscale, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
123
+ */
124
+ color: {
125
+ type: String,
126
+ default: UIService.get(defaultConfig, UCheckbox).default.color,
191
127
  },
192
- };
193
- </script>
194
128
 
195
- <style lang="postcss" scoped>
196
- .mono-checkbox-wrapper {
197
- @apply flex max-w-max items-center;
198
- @apply relative;
129
+ /**
130
+ * Checkbox size.
131
+ * @values sm, md, lg
132
+ */
133
+ size: {
134
+ type: String,
135
+ default: UIService.get(defaultConfig, UCheckbox).default.size,
136
+ },
199
137
 
200
- .mono-checkbox {
201
- @apply border border-solid border-gray-300;
138
+ /**
139
+ * Make checkbox disabled.
140
+ */
141
+ disabled: {
142
+ type: Boolean,
143
+ default: UIService.get(defaultConfig, UCheckbox).default.disabled,
144
+ },
202
145
 
203
- &-with-label {
204
- @apply mr-4;
205
- }
146
+ /**
147
+ * Make checkbox partially checked (change the checked tick to a minus).
148
+ */
149
+ partial: {
150
+ type: Boolean,
151
+ default: UIService.get(defaultConfig, UCheckbox).default.partial,
152
+ },
206
153
 
207
- &:disabled {
208
- @apply border-gray-100 bg-gray-100;
209
- }
154
+ /**
155
+ * Generates unique element id.
156
+ * @ignore
157
+ */
158
+ id: {
159
+ type: String,
160
+ default: () => getRandomId(),
161
+ },
210
162
 
211
- &:hover {
212
- @apply border-gray-400;
213
- }
163
+ /**
164
+ * Component ui config object.
165
+ */
166
+ config: {
167
+ type: Object,
168
+ default: () => ({}),
169
+ },
214
170
 
215
- &:focus {
216
- @apply border-gray-500 ring-4 ring-gray-200;
217
- }
171
+ /**
172
+ * Data-cy attribute for automated testing.
173
+ */
174
+ dataCy: {
175
+ type: String,
176
+ default: "",
177
+ },
178
+ });
218
179
 
219
- &:active {
220
- @apply border-gray-900 bg-gray-900;
221
- }
180
+ const emit = defineEmits(["update:modelValue", "input"]);
222
181
 
223
- &:checked {
224
- @apply border-gray-900 bg-gray-900;
225
- }
182
+ const checkboxName = ref("");
226
183
 
227
- &-partial-icon {
228
- @apply absolute rounded bg-gray-900;
229
- }
184
+ const { config, checkboxAttrs, iconWrapperCellAttrs, labelAttrs, iconAttrs } = useAttrs(props);
230
185
 
231
- &-description {
232
- @apply text-xs font-normal text-gray-500/[85];
233
- @apply pt-1;
234
- }
235
- }
186
+ const iconName = computed(() => {
187
+ return props.partial ? config.value.partialIconName : config.value.selectedIconName;
188
+ });
236
189
 
237
- .label {
238
- @apply text-base font-normal text-gray-900;
239
- }
240
- }
190
+ const iconSize = computed(() => {
191
+ const sizes = {
192
+ sm: "xs",
193
+ md: "sm",
194
+ lg: "md",
195
+ };
241
196
 
242
- .size {
243
- &-sm {
244
- @apply h-5 w-5;
197
+ return sizes[props.size];
198
+ });
245
199
 
246
- & + .label {
247
- @apply text-sm;
248
- }
249
- }
200
+ const isBinary = computed(() => !Array.isArray(props.modelValue));
201
+ const isCheckboxInGroup = computed(() => Boolean(checkboxGroupName));
250
202
 
251
- &-md {
252
- @apply h-6 w-6;
253
- }
203
+ const isChecked = computed(() => {
204
+ return isBinary.value && !isCheckboxInGroup.value
205
+ ? isEqual(props.modelValue, props.trueValue)
206
+ : currentValue.value.findIndex((item) => isEqual(item, checkboxValue.value)) !== -1;
207
+ });
208
+
209
+ const checkboxValue = computed(() => {
210
+ return props.value === "" ? "on" : props.value;
211
+ });
212
+
213
+ const currentValue = computed(() => {
214
+ return isCheckboxInGroup.value ? checkboxGroupCheckedItems.value : props.modelValue;
215
+ });
254
216
 
255
- &-lg {
256
- @apply h-7 w-7;
217
+ onMounted(() => {
218
+ checkboxName.value = isCheckboxInGroup.value ? checkboxGroupName : props.name;
219
+ });
257
220
 
258
- & + .label {
259
- @apply text-lg;
260
- }
221
+ function onChange() {
222
+ let newModelValue;
223
+
224
+ if (isBinary.value) {
225
+ newModelValue = isChecked.value ? props.falseValue : props.trueValue;
261
226
  }
262
- }
263
- </style>
264
-
265
- <!-- Brand theme -->
266
- <style scoped lang="postcss">
267
- .brand-theme {
268
- &.mono-checkbox-wrapper {
269
- .mono-checkbox {
270
- @apply border border-solid border-gray-300;
271
-
272
- &:disabled {
273
- @apply bg-brand bg-opacity-10;
274
- @apply border-brand border-opacity-10;
275
- }
276
-
277
- &:hover {
278
- @apply border-brand border-opacity-40;
279
- }
280
-
281
- &:focus {
282
- @apply border-brand border-opacity-50;
283
- @apply ring-4 ring-brand ring-opacity-15;
284
- }
285
-
286
- &:active {
287
- @apply border-brand bg-brand;
288
- }
289
-
290
- &:checked {
291
- @apply border-brand bg-brand;
292
- }
293
- }
294
-
295
- .label {
296
- @apply text-sm font-normal text-gray-900;
297
- @apply ml-4;
298
- }
227
+
228
+ if (!isBinary.value || isCheckboxInGroup.value) {
229
+ newModelValue = !isChecked.value
230
+ ? [...currentValue.value, checkboxValue.value]
231
+ : currentValue.value.filter((item) => !isEqual(checkboxValue.value, item));
299
232
  }
233
+
234
+ if (isCheckboxInGroup.value && setCheckboxGroupCheckedItems) {
235
+ setCheckboxGroupCheckedItems(newModelValue);
236
+ }
237
+
238
+ emit("update:modelValue", newModelValue);
239
+ emit("input", newModelValue);
300
240
  }
301
- </style>
241
+ </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,17 @@
1
+ import useUI from "vueless/composable.ui";
2
+
3
+ import defaultConfig from "../configs/default.config";
4
+
5
+ export function useAttrs(props) {
6
+ const { getAttrs } = useUI(defaultConfig, () => props.config);
7
+
8
+ const labelAttrs = getAttrs("label", { isComponent: true });
9
+ const listAttrs = getAttrs("list");
10
+ const checkboxAttrs = getAttrs("checkbox", { isComponent: true });
11
+
12
+ return {
13
+ labelAttrs,
14
+ checkboxAttrs,
15
+ listAttrs,
16
+ };
17
+ }
@@ -0,0 +1,5 @@
1
+ export default /*tw*/ {
2
+ label: "",
3
+ list: "ml-4 flex flex-col gap-4 relative",
4
+ checkbox: "",
5
+ };