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,1018 +1,153 @@
1
1
  <template>
2
- <t-button
3
- :id="id"
4
- class="mono-button px-6 pb-12 pt-8"
5
- :disabled="disabled"
6
- :class="buttonClasses"
7
- :variant="variant"
8
- :data-cy="dataCy"
9
- @click="onClick"
10
- >
2
+ <button :id="id" :disabled="disabled" :data-cy="dataCy" v-bind="buttonAttrs" @click="onClick">
11
3
  <!-- @slot Use it to add something before text. -->
12
4
  <slot v-if="!loading" name="left" />
13
5
 
14
6
  <!-- @slot Use it to add something instead of text. -->
15
7
  <slot v-if="!loading">
16
- <div v-if="text" class="mono-button-text-wrapper">
17
- {{ text }}
18
- </div>
8
+ <div v-if="label" v-bind="textAttrs" v-text="label" />
19
9
  </slot>
20
10
 
11
+ <ULoader v-if="loading" :size="size" color="white" />
12
+
21
13
  <!-- @slot Use it to add something after text. -->
22
14
  <slot v-if="!loading" name="right" />
23
-
24
- <ULoader v-if="loading" :size="size" />
25
- </t-button>
15
+ </button>
26
16
  </template>
27
17
 
28
- <script>
18
+ <script setup>
19
+ import UIService from "vueless/service.ui";
29
20
  import { getRandomId } from "vueless/service.ui";
30
- import TButton from "vueless/library.vue-tailwind-3/t-button";
31
- import ULoader from "vueless/ui.other-loader";
32
21
 
33
- export default {
34
- name: "UButton",
22
+ import ULoader from "vueless/ui.other-loader";
35
23
 
36
- components: {
37
- TButton,
38
- ULoader,
24
+ import defaultConfig from "./configs/default.config";
25
+ import { UButton } from "./constants";
26
+ import { useAttrs } from "./composables/attrs.composable";
27
+
28
+ /* Should be a string for correct web-types gen */
29
+ defineOptions({ name: "UButton", inheritAttrs: false });
30
+
31
+ const props = defineProps({
32
+ /**
33
+ * Button variant.
34
+ * @values primary, secondary, thirdary
35
+ */
36
+ variant: {
37
+ type: String,
38
+ default: UIService.get(defaultConfig, UButton).default.variant,
39
39
  },
40
40
 
41
- props: {
42
- /**
43
- * The variant of the button.
44
- * @values primary, secondary, thirdary
45
- */
46
- variant: {
47
- type: String,
48
- default: "primary",
49
- },
50
-
51
- /**
52
- * The color of the button.
53
- * @values gray, red, orange, yellow, green, blue, violet, fuchsia, white
54
- */
55
- color: {
56
- type: String,
57
- default: "",
58
- },
59
-
60
- /**
61
- * The size of the button.
62
- * @values sm, md, lg
63
- */
64
- size: {
65
- type: String,
66
- default: "md",
67
- },
68
-
69
- /**
70
- * Set button text.
71
- */
72
- text: {
73
- type: String,
74
- default: "",
75
- },
76
-
77
- /**
78
- * Make button inactive.
79
- */
80
- disabled: {
81
- type: Boolean,
82
- default: false,
83
- },
84
-
85
- /**
86
- * Make button's corners rounded.
87
- */
88
- pill: {
89
- type: Boolean,
90
- default: false,
91
- },
92
-
93
- /**
94
- * Fill the background for thirdary variant.
95
- */
96
- filled: {
97
- type: Boolean,
98
- default: false,
99
- },
100
-
101
- /**
102
- * Enables loader.
103
- */
104
- loading: {
105
- type: Boolean,
106
- default: false,
107
- },
108
-
109
- /**
110
- * Generates unique element id.
111
- * @ignore
112
- */
113
- id: {
114
- type: String,
115
- default: () => getRandomId(),
116
- },
117
-
118
- /**
119
- * Sets data-cy attribute for automated testing.
120
- */
121
- dataCy: {
122
- type: String,
123
- default: "",
124
- },
41
+ /**
42
+ * Fill the background for thirdary variant.
43
+ */
44
+ filled: {
45
+ type: Boolean,
46
+ default: UIService.get(defaultConfig, UButton).default.filled,
125
47
  },
126
48
 
127
- emits: ["click"],
128
-
129
- computed: {
130
- buttonClasses() {
131
- const size = `mono-button-${this.size}`;
132
- const classes = { pill: this.pill };
133
- const filled = this.filled ? `${this.variant}-filled` : "";
134
- const loading = this.loading ? "mono-button-loading" : "";
135
-
136
- return [classes, this.variant, filled, size, this.color, loading];
137
- },
49
+ /**
50
+ * Button color.
51
+ * @values brand, grayscale, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose, white
52
+ */
53
+ color: {
54
+ type: String,
55
+ default: UIService.get(defaultConfig, UButton).default.color,
138
56
  },
139
57
 
140
- methods: {
141
- onClick(event) {
142
- this.$emit("click", event);
143
-
144
- document.getElementById(this.id).blur();
145
- },
58
+ /**
59
+ * Button size.
60
+ * @values sm, md, lg
61
+ */
62
+ size: {
63
+ type: String,
64
+ default: UIService.get(defaultConfig, UButton).default.size,
146
65
  },
147
- };
148
- </script>
149
-
150
- <style scoped lang="postcss">
151
- .mono-button {
152
- @apply flex items-center justify-center;
153
- @apply text-base font-medium;
154
- @apply rounded-lg outline-none;
155
- @apply transition duration-100 ease-in-out;
156
-
157
- &:focus {
158
- @apply ring-4 ring-gray-900 !ring-opacity-10;
159
- }
160
-
161
- &-loading {
162
- @apply pointer-events-none;
163
- }
164
-
165
- &-text-wrapper {
166
- @apply whitespace-nowrap px-1.5;
167
- }
168
-
169
- &-sm {
170
- @apply px-3 py-2.5;
171
- @apply text-sm;
172
- }
173
-
174
- &-md {
175
- @apply px-3.5 py-3;
176
- }
177
-
178
- &-lg {
179
- @apply px-4 py-4;
180
- @apply text-lg;
181
- }
182
- }
183
-
184
- .pill {
185
- @apply rounded-full;
186
- }
187
-
188
- .primary {
189
- @apply border border-solid border-gray-900 bg-gray-900 text-white;
190
-
191
- &:focus {
192
- @apply !border-opacity-0;
193
- @apply !bg-opacity-80;
194
- }
195
-
196
- &:hover {
197
- @apply !border-opacity-0;
198
- @apply !bg-opacity-80;
199
- }
200
-
201
- &:active {
202
- @apply !border-opacity-0;
203
- @apply !bg-opacity-70;
204
- }
205
-
206
- &:disabled {
207
- @apply !border-opacity-0;
208
- @apply !bg-opacity-40;
209
- }
210
- }
211
-
212
- .secondary {
213
- @apply border border-solid border-gray-900 bg-transparent text-gray-900;
214
-
215
- &:focus {
216
- @apply !text-opacity-80;
217
- @apply !border-opacity-80;
218
- }
219
-
220
- &:hover {
221
- @apply !text-opacity-80;
222
- @apply !border-opacity-80;
223
- }
224
-
225
- &:active {
226
- @apply !text-opacity-70;
227
- @apply !border-opacity-70;
228
- }
229
-
230
- &:disabled {
231
- @apply !text-opacity-40;
232
- @apply !border-opacity-40;
233
- }
234
- }
235
-
236
- .thirdary {
237
- @apply border border-transparent bg-transparent text-gray-900;
238
-
239
- &-filled {
240
- @apply bg-gray-900 !bg-opacity-5;
241
- }
242
-
243
- &:focus {
244
- @apply !text-opacity-70;
245
- @apply bg-gray-900 !bg-opacity-5;
246
- }
247
-
248
- &:hover {
249
- @apply !text-opacity-70;
250
- @apply bg-gray-900 !bg-opacity-10;
251
- }
252
-
253
- &:active {
254
- @apply !text-opacity-60;
255
- @apply bg-gray-900 !bg-opacity-15;
256
- }
257
-
258
- &:disabled {
259
- @apply !text-opacity-40;
260
- }
261
- }
262
- </style>
263
-
264
- <!-- Colors & Brand -->
265
- <style scoped lang="postcss">
266
- .brand {
267
- &.mono-button {
268
- &:focus {
269
- @apply ring-brand;
270
- }
271
- }
272
-
273
- &.primary {
274
- @apply border-brand bg-brand text-white;
275
-
276
- &:hover {
277
- @apply border-brand bg-brand;
278
- }
279
-
280
- &:focus {
281
- @apply bg-brand ring-brand/20;
282
- }
283
-
284
- &:active {
285
- @apply border-brand bg-brand;
286
- }
287
-
288
- &:disabled {
289
- @apply border-brand bg-brand;
290
- }
291
- }
292
-
293
- &.secondary {
294
- @apply text-brand;
295
- @apply border-brand;
296
-
297
- &:focus {
298
- @apply border-brand text-brand ring-brand/20;
299
- }
300
-
301
- &:hover {
302
- @apply border-brand text-brand;
303
- }
304
-
305
- &:active {
306
- @apply border-brand text-brand;
307
- }
308
-
309
- &:disabled {
310
- @apply border-brand text-brand;
311
- }
312
- }
313
-
314
- &.thirdary {
315
- @apply text-brand;
316
-
317
- &-filled {
318
- @apply bg-brand text-brand;
319
- }
320
-
321
- &:focus {
322
- @apply bg-brand text-brand;
323
- }
324
-
325
- &:hover {
326
- @apply bg-brand text-brand;
327
- }
328
-
329
- &:active {
330
- @apply bg-brand text-brand;
331
- }
332
-
333
- &:disabled {
334
- @apply text-brand;
335
- }
336
- }
337
- }
338
-
339
- .primary {
340
- &.gray {
341
- @apply border-gray-800 bg-gray-800 text-white;
342
-
343
- &:focus {
344
- @apply border-gray-800 bg-gray-800 ring-gray-800;
345
- }
346
-
347
- &:hover {
348
- @apply border-gray-800 bg-gray-800;
349
- }
350
-
351
- &:active {
352
- @apply border-gray-800 bg-gray-800;
353
- }
354
-
355
- &:disabled {
356
- @apply text-gray-800;
357
- @apply border-gray-800 bg-gray-800;
358
- }
359
- }
360
-
361
- &.red {
362
- @apply border-red-700 bg-red-700 text-white;
363
-
364
- &:focus {
365
- @apply border-red-700 bg-red-700;
366
- @apply ring-red-700;
367
- }
368
-
369
- &:hover {
370
- @apply border-red-700 bg-red-700;
371
- }
372
-
373
- &:active {
374
- @apply border-red-700 bg-red-700;
375
- }
376
-
377
- &:disabled {
378
- @apply text-red-700;
379
- @apply border-red-700 bg-red-700;
380
- }
381
- }
382
-
383
- &.orange {
384
- @apply border-orange-700 bg-orange-700 text-white;
385
-
386
- &:focus {
387
- @apply border-orange-700 bg-orange-700;
388
- @apply ring-orange-700;
389
- }
390
-
391
- &:hover {
392
- @apply border-orange-700 bg-orange-700;
393
- }
394
-
395
- &:active {
396
- @apply border-orange-700 bg-orange-700;
397
- }
398
-
399
- &:disabled {
400
- @apply text-orange-700;
401
- @apply border-orange-700 bg-orange-700;
402
- }
403
- }
404
-
405
- &.yellow {
406
- @apply border-yellow-700 bg-yellow-700 text-white;
407
-
408
- &:focus {
409
- @apply border-yellow-700 bg-yellow-700;
410
- @apply ring-yellow-700;
411
- }
412
-
413
- &:hover {
414
- @apply border-yellow-700 bg-yellow-700;
415
- }
416
-
417
- &:active {
418
- @apply border-yellow-700 bg-yellow-700;
419
- }
420
-
421
- &:disabled {
422
- @apply text-yellow-700;
423
- @apply border-yellow-700 bg-yellow-700;
424
- }
425
- }
426
-
427
- &.green {
428
- @apply border-green-700 bg-green-700 text-white;
429
-
430
- &:focus {
431
- @apply border-green-700 bg-green-700;
432
- @apply ring-green-700;
433
- }
434
-
435
- &:hover {
436
- @apply border-green-700 bg-green-700;
437
- }
438
-
439
- &:active {
440
- @apply border-green-700 bg-green-700;
441
- }
442
-
443
- &:disabled {
444
- @apply text-green-700;
445
- @apply border-green-700 bg-green-700;
446
- }
447
- }
448
-
449
- &.blue {
450
- @apply border-blue-700 bg-blue-700 text-white;
451
-
452
- &:focus {
453
- @apply border-blue-700 bg-blue-700;
454
- @apply ring-blue-700;
455
- }
456
-
457
- &:hover {
458
- @apply border-blue-700 bg-blue-700;
459
- }
460
-
461
- &:active {
462
- @apply border-blue-700 bg-blue-700;
463
- }
464
-
465
- &:disabled {
466
- @apply text-blue-700;
467
- @apply border-blue-700 bg-blue-700;
468
- }
469
- }
470
-
471
- &.violet {
472
- @apply border-violet-700 bg-violet-700 text-white;
473
-
474
- &:focus {
475
- @apply border-violet-700 bg-violet-700;
476
- @apply ring-violet-700;
477
- }
478
-
479
- &:hover {
480
- @apply border-violet-700 bg-violet-700;
481
- }
482
-
483
- &:active {
484
- @apply border-violet-700 bg-violet-700;
485
- }
486
-
487
- &:disabled {
488
- @apply text-violet-700;
489
- @apply border-violet-700 bg-violet-700;
490
- }
491
- }
492
-
493
- &.fuchsia {
494
- @apply border-fuchsia-700 bg-fuchsia-700 text-white;
495
-
496
- &:focus {
497
- @apply border-fuchsia-700 bg-fuchsia-700;
498
- @apply ring-fuchsia-700;
499
- }
500
-
501
- &:hover {
502
- @apply border-fuchsia-700 bg-fuchsia-700;
503
- }
504
-
505
- &:active {
506
- @apply border-fuchsia-700 bg-fuchsia-700;
507
- }
508
66
 
509
- &:disabled {
510
- @apply text-fuchsia-700;
511
- @apply border-fuchsia-700 bg-fuchsia-700;
512
- }
513
- }
514
-
515
- &.white {
516
- @apply border-white bg-white text-gray-700;
517
-
518
- &:focus {
519
- @apply border-white bg-white;
520
- @apply ring-white;
521
- }
522
-
523
- &:hover {
524
- @apply border-white bg-white;
525
- }
526
-
527
- &:active {
528
- @apply border-white bg-white;
529
- }
530
-
531
- &:disabled {
532
- @apply text-white;
533
- @apply border-white bg-white;
534
- }
535
- }
536
- }
537
-
538
- .secondary {
539
- &.gray {
540
- @apply border-gray-800 bg-transparent text-gray-800;
541
-
542
- &:focus {
543
- @apply text-gray-800;
544
- @apply border-gray-800;
545
- @apply ring-gray-800;
546
- }
547
-
548
- &:hover {
549
- @apply text-gray-800;
550
- @apply border-gray-800;
551
- }
552
-
553
- &:active {
554
- @apply text-gray-800;
555
- @apply border-gray-800;
556
- }
557
-
558
- &:disabled {
559
- @apply text-gray-800;
560
- @apply border-gray-800;
561
- }
562
- }
563
-
564
- &.red {
565
- @apply border-red-700 bg-transparent text-red-700;
566
-
567
- &:focus {
568
- @apply text-red-700;
569
- @apply border-red-700;
570
- @apply ring-red-700;
571
- }
572
-
573
- &:hover {
574
- @apply text-red-700;
575
- @apply border-red-700;
576
- }
577
-
578
- &:active {
579
- @apply text-red-700;
580
- @apply border-red-700;
581
- }
582
-
583
- &:disabled {
584
- @apply text-red-700;
585
- @apply border-red-700;
586
- }
587
- }
588
-
589
- &.orange {
590
- @apply border-orange-700 bg-transparent text-orange-700;
591
-
592
- &:focus {
593
- @apply text-orange-700;
594
- @apply border-orange-700;
595
- @apply ring-orange-700;
596
- }
597
-
598
- &:hover {
599
- @apply text-orange-700;
600
- @apply border-orange-700;
601
- }
602
-
603
- &:active {
604
- @apply text-orange-700;
605
- @apply border-orange-700;
606
- }
607
-
608
- &:disabled {
609
- @apply text-orange-700;
610
- @apply border-orange-700;
611
- }
612
- }
613
-
614
- &.yellow {
615
- @apply border-yellow-700 bg-transparent text-yellow-700;
616
-
617
- &:focus {
618
- @apply text-yellow-700;
619
- @apply border-yellow-700;
620
- @apply ring-yellow-700;
621
- }
622
-
623
- &:hover {
624
- @apply text-yellow-700;
625
- @apply border-yellow-700;
626
- }
627
-
628
- &:active {
629
- @apply text-yellow-700;
630
- @apply border-yellow-700;
631
- }
632
-
633
- &:disabled {
634
- @apply text-yellow-700;
635
- @apply border-yellow-700;
636
- }
637
- }
638
-
639
- &.green {
640
- @apply border-green-700 bg-transparent text-green-700;
641
-
642
- &:focus {
643
- @apply text-green-700;
644
- @apply border-green-700;
645
- @apply ring-green-700;
646
- }
647
-
648
- &:hover {
649
- @apply text-green-700;
650
- @apply border-green-700;
651
- }
652
-
653
- &:active {
654
- @apply text-green-700;
655
- @apply border-green-700;
656
- }
657
-
658
- &:disabled {
659
- @apply text-green-700;
660
- @apply border-green-700;
661
- }
662
- }
663
-
664
- &.blue {
665
- @apply border-blue-700 bg-transparent text-blue-700;
666
-
667
- &:focus {
668
- @apply text-blue-700;
669
- @apply border-blue-700;
670
- @apply ring-blue-700;
671
- }
672
-
673
- &:hover {
674
- @apply text-blue-700;
675
- @apply border-blue-700;
676
- }
677
-
678
- &:active {
679
- @apply text-blue-700;
680
- @apply border-blue-700;
681
- }
682
-
683
- &:disabled {
684
- @apply text-blue-700;
685
- @apply border-blue-700;
686
- }
687
- }
688
-
689
- &.violet {
690
- @apply border-violet-700 bg-transparent text-violet-700;
691
-
692
- &:focus {
693
- @apply text-violet-700;
694
- @apply border-violet-700;
695
- @apply ring-violet-700;
696
- }
697
-
698
- &:hover {
699
- @apply text-violet-700;
700
- @apply border-violet-700;
701
- }
702
-
703
- &:active {
704
- @apply text-violet-700;
705
- @apply border-violet-700;
706
- }
707
-
708
- &:disabled {
709
- @apply text-violet-700;
710
- @apply border-violet-700;
711
- }
712
- }
713
-
714
- &.fuchsia {
715
- @apply border-fuchsia-700 bg-transparent text-fuchsia-700;
716
-
717
- &:focus {
718
- @apply text-fuchsia-700;
719
- @apply border-fuchsia-700;
720
- @apply ring-fuchsia-700;
721
- }
722
-
723
- &:hover {
724
- @apply text-fuchsia-700;
725
- @apply border-fuchsia-700;
726
- }
727
-
728
- &:active {
729
- @apply text-fuchsia-700;
730
- @apply border-fuchsia-700;
731
- }
732
-
733
- &:disabled {
734
- @apply text-fuchsia-700;
735
- @apply border-fuchsia-700;
736
- }
737
- }
738
-
739
- &.white {
740
- @apply border-white bg-transparent text-white;
741
-
742
- &:focus {
743
- @apply text-white;
744
- @apply border-white;
745
- @apply ring-white;
746
- }
747
-
748
- &:hover {
749
- @apply text-white;
750
- @apply border-white;
751
- }
752
-
753
- &:active {
754
- @apply text-white;
755
- @apply border-white;
756
- }
757
-
758
- &:disabled {
759
- @apply text-white;
760
- @apply border-white;
761
- }
762
- }
763
- }
764
-
765
- .thirdary {
766
- &.gray {
767
- @apply border-transparent bg-transparent text-gray-800;
768
-
769
- &.thirdary-filled {
770
- @apply bg-gray-800;
771
- }
772
-
773
- &:focus {
774
- @apply text-gray-800;
775
- @apply bg-gray-800;
776
- @apply ring-gray-800;
777
- }
778
-
779
- &:hover {
780
- @apply text-gray-800;
781
- @apply bg-gray-800;
782
- }
783
-
784
- &:active {
785
- @apply text-gray-800;
786
- @apply bg-gray-800;
787
- }
788
-
789
- &:disabled {
790
- @apply text-gray-800;
791
- }
792
- }
793
-
794
- &.red {
795
- @apply border-transparent bg-transparent text-red-700;
796
-
797
- &.thirdary-filled {
798
- @apply bg-red-700;
799
- }
800
-
801
- &:focus {
802
- @apply text-red-700;
803
- @apply bg-red-700;
804
- @apply ring-red-700;
805
- }
806
-
807
- &:hover {
808
- @apply text-red-700;
809
- @apply bg-red-700;
810
- }
811
-
812
- &:active {
813
- @apply text-red-700;
814
- @apply bg-red-700;
815
- }
816
-
817
- &:disabled {
818
- @apply text-red-700;
819
- }
820
- }
821
-
822
- &.orange {
823
- @apply border-transparent bg-transparent text-orange-700;
824
-
825
- &.thirdary-filled {
826
- @apply bg-orange-700;
827
- }
828
-
829
- &:focus {
830
- @apply text-orange-700;
831
- @apply bg-orange-700;
832
- @apply ring-orange-700;
833
- }
834
-
835
- &:hover {
836
- @apply text-orange-700;
837
- @apply bg-orange-700;
838
- }
839
-
840
- &:active {
841
- @apply text-orange-700;
842
- @apply bg-orange-700;
843
- }
844
-
845
- &:disabled {
846
- @apply text-orange-700;
847
- }
848
- }
849
-
850
- &.yellow {
851
- @apply border-transparent bg-transparent text-yellow-700;
852
-
853
- &.thirdary-filled {
854
- @apply bg-yellow-700;
855
- }
856
-
857
- &:focus {
858
- @apply text-yellow-700;
859
- @apply bg-yellow-700;
860
- @apply ring-yellow-700;
861
- }
862
-
863
- &:hover {
864
- @apply text-yellow-700;
865
- @apply bg-yellow-700;
866
- }
867
-
868
- &:active {
869
- @apply text-yellow-700;
870
- @apply bg-yellow-700;
871
- }
872
-
873
- &:disabled {
874
- @apply text-yellow-700;
875
- }
876
- }
877
-
878
- &.green {
879
- @apply border-transparent bg-transparent text-green-700;
880
-
881
- &.thirdary-filled {
882
- @apply bg-green-700;
883
- }
884
-
885
- &:focus {
886
- @apply text-green-700;
887
- @apply bg-green-700;
888
- @apply ring-green-700;
889
- }
890
-
891
- &:hover {
892
- @apply text-green-700;
893
- @apply bg-green-700;
894
- }
895
-
896
- &:active {
897
- @apply text-green-700;
898
- @apply bg-green-700;
899
- }
900
-
901
- &:disabled {
902
- @apply text-green-700;
903
- }
904
- }
905
-
906
- &.blue {
907
- @apply border-transparent bg-transparent text-blue-700;
908
-
909
- &.thirdary-filled {
910
- @apply bg-blue-700;
911
- }
912
-
913
- &:focus {
914
- @apply text-blue-700;
915
- @apply bg-blue-700;
916
- @apply ring-blue-700;
917
- }
918
-
919
- &:hover {
920
- @apply text-blue-700;
921
- @apply bg-blue-700;
922
- }
923
-
924
- &:active {
925
- @apply text-blue-700;
926
- @apply bg-blue-700;
927
- }
928
-
929
- &:disabled {
930
- @apply text-blue-700;
931
- }
932
- }
933
-
934
- &.violet {
935
- @apply border-transparent bg-transparent text-violet-700;
936
-
937
- &.thirdary-filled {
938
- @apply bg-violet-700;
939
- }
940
-
941
- &:focus {
942
- @apply text-violet-700;
943
- @apply bg-violet-700;
944
- @apply ring-violet-700;
945
- }
946
-
947
- &:hover {
948
- @apply text-violet-700;
949
- @apply bg-violet-700;
950
- }
951
-
952
- &:active {
953
- @apply text-violet-700;
954
- @apply bg-violet-700;
955
- }
67
+ /**
68
+ * Button label.
69
+ */
70
+ label: {
71
+ type: String,
72
+ default: "",
73
+ },
956
74
 
957
- &:disabled {
958
- @apply text-violet-700;
959
- }
960
- }
75
+ /**
76
+ * Disable the button.
77
+ */
78
+ disabled: {
79
+ type: Boolean,
80
+ default: UIService.get(defaultConfig, UButton).default.disabled,
81
+ },
961
82
 
962
- &.fuchsia {
963
- @apply border-transparent bg-transparent text-fuchsia-700;
83
+ /**
84
+ * Make the Button fill the width with its container.
85
+ */
86
+ block: {
87
+ type: Boolean,
88
+ default: UIService.get(defaultConfig, UButton).default.square,
89
+ },
964
90
 
965
- &.thirdary-filled {
966
- @apply bg-fuchsia-700;
967
- }
91
+ /**
92
+ * Set button corners rounded.
93
+ */
94
+ pill: {
95
+ type: Boolean,
96
+ default: UIService.get(defaultConfig, UButton).default.pill,
97
+ },
968
98
 
969
- &:focus {
970
- @apply text-fuchsia-700;
971
- @apply bg-fuchsia-700;
972
- @apply ring-fuchsia-700;
973
- }
99
+ /**
100
+ * Set the same paddings for the button.
101
+ */
102
+ square: {
103
+ type: Boolean,
104
+ default: UIService.get(defaultConfig, UButton).default.square,
105
+ },
974
106
 
975
- &:hover {
976
- @apply text-fuchsia-700;
977
- @apply bg-fuchsia-700;
978
- }
107
+ /**
108
+ * Enable loader.
109
+ */
110
+ loading: {
111
+ type: Boolean,
112
+ default: UIService.get(defaultConfig, UButton).default.loading,
113
+ },
979
114
 
980
- &:active {
981
- @apply text-fuchsia-700;
982
- @apply bg-fuchsia-700;
983
- }
115
+ /**
116
+ * Generates unique element id.
117
+ * @ignore
118
+ */
119
+ id: {
120
+ type: String,
121
+ default: () => getRandomId(),
122
+ },
984
123
 
985
- &:disabled {
986
- @apply text-fuchsia-700;
987
- }
988
- }
124
+ /**
125
+ * Component ui config object.
126
+ */
127
+ config: {
128
+ type: Object,
129
+ default: () => ({}),
130
+ },
989
131
 
990
- &.white {
991
- @apply border-transparent bg-transparent text-white;
132
+ /**
133
+ * Data-cy attribute for automated testing.
134
+ */
135
+ dataCy: {
136
+ type: String,
137
+ default: "",
138
+ },
139
+ });
992
140
 
993
- &.thirdary-filled {
994
- @apply bg-white;
995
- }
141
+ const emit = defineEmits(["click"]);
996
142
 
997
- &:focus {
998
- @apply text-white;
999
- @apply bg-white;
1000
- @apply ring-white;
1001
- }
143
+ const { textAttrs, buttonAttrs } = useAttrs(props);
1002
144
 
1003
- &:hover {
1004
- @apply text-white;
1005
- @apply bg-white;
1006
- }
145
+ function onClick(event) {
146
+ if (props.disabled) return;
1007
147
 
1008
- &:active {
1009
- @apply text-white;
1010
- @apply bg-white;
1011
- }
148
+ emit("click", event);
1012
149
 
1013
- &:disabled {
1014
- @apply text-white;
1015
- }
1016
- }
150
+ // TODO: Maybe this should be removed (need to test)
151
+ //document.getElementById(props.id).blur();
1017
152
  }
1018
- </style>
153
+ </script>