vueless 0.0.10 → 0.0.12

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 (359) hide show
  1. package/composable.ui/index.js +395 -0
  2. package/package.json +2 -2
  3. package/service.storybook/index.js +91 -0
  4. package/service.tailwind/index.js +103 -0
  5. package/service.ui/index.js +193 -0
  6. package/ui.button/Docs.mdx +16 -0
  7. package/ui.button/composables/attrs.composable.js +41 -0
  8. package/ui.button/configs/default.config.js +165 -0
  9. package/ui.button/constants/index.js +5 -0
  10. package/ui.button/index.stories.js +166 -0
  11. package/ui.button/index.vue +151 -0
  12. package/ui.button-link/Docs.mdx +16 -0
  13. package/ui.button-link/composables/attrs.composable.js +99 -0
  14. package/ui.button-link/configs/default.config.js +80 -0
  15. package/ui.button-link/constants/index.js +5 -0
  16. package/ui.button-link/index.stories.js +158 -0
  17. package/ui.button-link/index.vue +226 -0
  18. package/ui.button-toggle/Docs.mdx +16 -0
  19. package/ui.button-toggle/composables/attrs.composable.js +16 -0
  20. package/ui.button-toggle/configs/default.config.js +12 -0
  21. package/ui.button-toggle/constants/index.js +7 -0
  22. package/ui.button-toggle/index.stories.js +155 -0
  23. package/ui.button-toggle/index.vue +128 -0
  24. package/ui.button-toggle-item/Docs.mdx +16 -0
  25. package/ui.button-toggle-item/composables/attrs.composable.js +53 -0
  26. package/ui.button-toggle-item/configs/default.config.js +58 -0
  27. package/ui.button-toggle-item/constants/index.js +5 -0
  28. package/ui.button-toggle-item/index.stories.js +77 -0
  29. package/ui.button-toggle-item/index.vue +147 -0
  30. package/ui.container-accordion/composables/attrs.composable.js +45 -0
  31. package/ui.container-accordion/configs/default.config.js +32 -0
  32. package/ui.container-accordion/constants/index.js +5 -0
  33. package/ui.container-accordion/index.stories.js +89 -0
  34. package/ui.container-accordion/index.vue +95 -0
  35. package/ui.container-card/Docs.mdx +16 -0
  36. package/ui.container-card/composable/attrs.composable.js +56 -0
  37. package/ui.container-card/configs/default.config.js +31 -0
  38. package/ui.container-card/constants/index.js +5 -0
  39. package/ui.container-card/index.stories.js +170 -0
  40. package/ui.container-card/index.vue +146 -0
  41. package/ui.container-divider/Docs.mdx +16 -0
  42. package/ui.container-divider/composables/attrs.composable.js +65 -0
  43. package/ui.container-divider/configs/default.config.js +79 -0
  44. package/ui.container-divider/constants/index.js +5 -0
  45. package/ui.container-divider/index.stories.js +124 -0
  46. package/ui.container-divider/index.vue +138 -0
  47. package/ui.container-group/Docs.mdx +16 -0
  48. package/ui.container-group/composables/attrs.composable.js +44 -0
  49. package/ui.container-group/configs/default.config.js +29 -0
  50. package/ui.container-group/constants/index.js +5 -0
  51. package/ui.container-group/index.stories.js +88 -0
  52. package/ui.container-group/index.vue +106 -0
  53. package/ui.container-groups/Docs.mdx +16 -0
  54. package/ui.container-groups/composables/attrs.composable.js +12 -0
  55. package/ui.container-groups/configs/default.config.js +3 -0
  56. package/ui.container-groups/index.stories.js +45 -0
  57. package/ui.container-groups/index.vue +33 -0
  58. package/ui.container-modal/Docs.mdx +16 -0
  59. package/ui.container-modal/composables/attrs.composable.js +90 -0
  60. package/ui.container-modal/configs/default.config.js +69 -0
  61. package/ui.container-modal/constants/index.js +5 -0
  62. package/ui.container-modal/index.stories.js +170 -0
  63. package/ui.container-modal/index.vue +336 -0
  64. package/ui.container-modal-confirm/Docs.mdx +16 -0
  65. package/ui.container-modal-confirm/composable/attrs.composable.js +20 -0
  66. package/ui.container-modal-confirm/configs/default.config.js +15 -0
  67. package/ui.container-modal-confirm/constants/index.js +5 -0
  68. package/ui.container-modal-confirm/index.stories.js +209 -0
  69. package/ui.container-modal-confirm/index.vue +182 -0
  70. package/ui.container-page/Docs.mdx +16 -0
  71. package/ui.container-page/composables/attrs.composable.js +96 -0
  72. package/ui.container-page/configs/default.config.js +71 -0
  73. package/ui.container-page/constants/index.js +5 -0
  74. package/ui.container-page/index.stories.js +147 -0
  75. package/ui.container-page/index.vue +275 -0
  76. package/ui.container-row/Docs.mdx +16 -0
  77. package/ui.container-row/composables/attrs.composable.js +23 -0
  78. package/ui.container-row/configs/default.config.js +14 -0
  79. package/ui.container-row/constants/index.js +5 -0
  80. package/ui.container-row/index.stories.js +81 -0
  81. package/ui.container-row/index.vue +45 -0
  82. package/ui.data-list/composables/attrs.composable.js +45 -0
  83. package/ui.data-list/configs/default.config.js +32 -0
  84. package/ui.data-list/constants/index.js +5 -0
  85. package/ui.data-list/index.stories.js +91 -0
  86. package/ui.data-list/index.vue +259 -0
  87. package/ui.data-table/Docs.mdx +16 -0
  88. package/ui.data-table/composables/attrs.composable.js +188 -0
  89. package/ui.data-table/configs/default.config.js +88 -0
  90. package/ui.data-table/constants/index.js +5 -0
  91. package/ui.data-table/index.stories.js +261 -0
  92. package/ui.data-table/index.vue +730 -0
  93. package/ui.data-table/services/table.service.js +15 -0
  94. package/ui.data-table-cell/composables/attrs.composable.js +24 -0
  95. package/ui.data-table-cell/configs/default.config.js +19 -0
  96. package/ui.data-table-cell/constants/index.js +5 -0
  97. package/ui.data-table-cell/index.vue +44 -0
  98. package/ui.dropdown-badge/Docs.mdx +16 -0
  99. package/ui.dropdown-badge/composables/attrs.composable.js +63 -0
  100. package/ui.dropdown-badge/configs/default.config.js +34 -0
  101. package/ui.dropdown-badge/constants/index.js +5 -0
  102. package/ui.dropdown-badge/index.stories.js +126 -0
  103. package/ui.dropdown-badge/index.vue +234 -0
  104. package/ui.dropdown-button/Docs.mdx +16 -0
  105. package/ui.dropdown-button/composables/attrs.composable.js +63 -0
  106. package/ui.dropdown-button/configs/default.config.js +37 -0
  107. package/ui.dropdown-button/constants/index.js +14 -0
  108. package/ui.dropdown-button/index.stories.js +158 -0
  109. package/ui.dropdown-button/index.vue +271 -0
  110. package/ui.dropdown-item/Docs.mdx +16 -0
  111. package/ui.dropdown-item/composables/attrs.composable.js +13 -0
  112. package/ui.dropdown-item/configs/default.config.js +16 -0
  113. package/ui.dropdown-item/index.stories.js +30 -0
  114. package/ui.dropdown-item/index.vue +53 -0
  115. package/ui.dropdown-link/Docs.mdx +16 -0
  116. package/ui.dropdown-link/composables/attrs.composable.js +65 -0
  117. package/ui.dropdown-link/configs/default.config.js +37 -0
  118. package/ui.dropdown-link/constants/index.js +5 -0
  119. package/ui.dropdown-link/index.stories.js +127 -0
  120. package/ui.dropdown-link/index.vue +261 -0
  121. package/ui.dropdown-list/Docs.mdx +16 -0
  122. package/ui.dropdown-list/composables/attrs.composable.js +93 -0
  123. package/ui.dropdown-list/composables/usePointer.js +77 -0
  124. package/ui.dropdown-list/configs/default.config.js +74 -0
  125. package/ui.dropdown-list/constants/index.js +5 -0
  126. package/ui.dropdown-list/index.stories.js +76 -0
  127. package/ui.dropdown-list/index.vue +284 -0
  128. package/ui.form-calendar/Docs.mdx +52 -0
  129. package/ui.form-calendar/components/DayView.vue +268 -0
  130. package/ui.form-calendar/components/MonthView.vue +114 -0
  131. package/ui.form-calendar/components/YearView.vue +118 -0
  132. package/ui.form-calendar/composables/attrs.composable.js +106 -0
  133. package/ui.form-calendar/configs/default.config.js +125 -0
  134. package/ui.form-calendar/constants/index.js +71 -0
  135. package/ui.form-calendar/index.stories.js +59 -0
  136. package/ui.form-calendar/index.vue +743 -0
  137. package/ui.form-calendar/services/calendar.service.js +189 -0
  138. package/ui.form-calendar/services/date.service.js +282 -0
  139. package/ui.form-calendar/services/formatting.service.js +180 -0
  140. package/ui.form-checkbox/Docs.mdx +16 -0
  141. package/ui.form-checkbox/composables/attrs.composable.js +57 -0
  142. package/ui.form-checkbox/configs/default.config.js +69 -0
  143. package/ui.form-checkbox/constants/index.js +5 -0
  144. package/ui.form-checkbox/index.stories.js +147 -0
  145. package/ui.form-checkbox/index.vue +242 -0
  146. package/ui.form-checkbox-group/Docs.mdx +16 -0
  147. package/ui.form-checkbox-group/composables/attrs.composable.js +17 -0
  148. package/ui.form-checkbox-group/configs/default.config.js +5 -0
  149. package/ui.form-checkbox-group/constants/index.js +5 -0
  150. package/ui.form-checkbox-group/index.stories.js +45 -0
  151. package/ui.form-checkbox-group/index.vue +145 -0
  152. package/ui.form-checkbox-multi-state/Docs.mdx +16 -0
  153. package/ui.form-checkbox-multi-state/composables/attrs.composable.js +24 -0
  154. package/ui.form-checkbox-multi-state/configs/default.config.js +9 -0
  155. package/ui.form-checkbox-multi-state/constants/index.js +5 -0
  156. package/ui.form-checkbox-multi-state/index.stories.js +59 -0
  157. package/ui.form-checkbox-multi-state/index.vue +134 -0
  158. package/ui.form-color-picker/composables/attrs.composable.js +44 -0
  159. package/ui.form-color-picker/configs/default.config.js +52 -0
  160. package/ui.form-color-picker/constants/index.js +5 -0
  161. package/ui.form-color-picker/index.stories.js +63 -0
  162. package/ui.form-color-picker/index.vue +171 -0
  163. package/ui.form-date-picker/Docs.mdx +52 -0
  164. package/ui.form-date-picker/composables/attrs.composable.js +22 -0
  165. package/ui.form-date-picker/configs/default.config.js +26 -0
  166. package/ui.form-date-picker/constants/index.js +5 -0
  167. package/ui.form-date-picker/index.stories.js +132 -0
  168. package/ui.form-date-picker/index.vue +256 -0
  169. package/ui.form-date-picker-range/composables/attrs.composable.js +100 -0
  170. package/ui.form-date-picker-range/configs/default.config.js +172 -0
  171. package/ui.form-date-picker-range/constants/index.js +23 -0
  172. package/ui.form-date-picker-range/index.stories.js +135 -0
  173. package/ui.form-date-picker-range/index.vue +937 -0
  174. package/ui.form-date-picker-range/services/dateRange.service.js +116 -0
  175. package/ui.form-date-picker-range/services/validation.service.js +22 -0
  176. package/ui.form-input/Docs.mdx +16 -0
  177. package/ui.form-input/assets/fonts/text-security-disc.woff +0 -0
  178. package/ui.form-input/composables/attrs.composable.js +66 -0
  179. package/ui.form-input/configs/default.config.js +72 -0
  180. package/ui.form-input/constants/index.js +5 -0
  181. package/ui.form-input/index.stories.js +166 -0
  182. package/ui.form-input/index.vue +388 -0
  183. package/ui.form-input-file/composables/attrs.composable.js +82 -0
  184. package/ui.form-input-file/configs/default.config.js +59 -0
  185. package/ui.form-input-file/constants/index.js +5 -0
  186. package/ui.form-input-file/index.stories.js +86 -0
  187. package/ui.form-input-file/index.vue +387 -0
  188. package/ui.form-input-money/Docs.mdx +16 -0
  189. package/ui.form-input-money/composables/attrs.composable.js +13 -0
  190. package/ui.form-input-money/composables/useFormatCurrency.js +82 -0
  191. package/ui.form-input-money/configs/default.config.js +16 -0
  192. package/ui.form-input-money/constants/index.js +5 -0
  193. package/ui.form-input-money/index.stories.js +126 -0
  194. package/ui.form-input-money/index.vue +263 -0
  195. package/ui.form-input-money/services/format.service.js +72 -0
  196. package/ui.form-input-number/Docs.mdx +16 -0
  197. package/ui.form-input-number/composables/attrs.composable.js +47 -0
  198. package/ui.form-input-number/configs/default.config.js +33 -0
  199. package/ui.form-input-number/constants/index.js +5 -0
  200. package/ui.form-input-number/index.stories.js +103 -0
  201. package/ui.form-input-number/index.vue +162 -0
  202. package/ui.form-input-rating/composables/attrs.composable.js +34 -0
  203. package/ui.form-input-rating/configs/default.config.js +25 -0
  204. package/ui.form-input-rating/constants/index.js +5 -0
  205. package/ui.form-input-rating/index.stories.js +108 -0
  206. package/ui.form-input-rating/index.vue +186 -0
  207. package/ui.form-input-search/composables/attrs.composable.js +21 -0
  208. package/ui.form-input-search/configs/default.config.js +20 -0
  209. package/ui.form-input-search/constants/index.js +5 -0
  210. package/ui.form-input-search/index.stories.js +90 -0
  211. package/ui.form-input-search/index.vue +215 -0
  212. package/ui.form-label/Docs.mdx +16 -0
  213. package/ui.form-label/composables/attrs.composable.js +65 -0
  214. package/ui.form-label/configs/default.config.js +95 -0
  215. package/ui.form-label/constants/index.js +13 -0
  216. package/ui.form-label/index.stories.js +107 -0
  217. package/ui.form-label/index.vue +170 -0
  218. package/ui.form-radio/Docs.mdx +16 -0
  219. package/ui.form-radio/composables/attrs.composable.js +34 -0
  220. package/ui.form-radio/configs/default.config.js +47 -0
  221. package/ui.form-radio/constants/index.js +5 -0
  222. package/ui.form-radio/index.stories.js +71 -0
  223. package/ui.form-radio/index.vue +170 -0
  224. package/ui.form-radio-card/Docs.mdx +16 -0
  225. package/ui.form-radio-card/composables/attrs.composable.js +35 -0
  226. package/ui.form-radio-card/configs/default.config.js +25 -0
  227. package/ui.form-radio-card/constants/index.js +5 -0
  228. package/ui.form-radio-card/index.stories.js +149 -0
  229. package/ui.form-radio-card/index.vue +160 -0
  230. package/ui.form-radio-card/services/variant.service.js +15 -0
  231. package/ui.form-radio-group/Docs.mdx +16 -0
  232. package/ui.form-radio-group/composables/attrs.composable.js +27 -0
  233. package/ui.form-radio-group/configs/default.config.js +18 -0
  234. package/ui.form-radio-group/constants/index.js +5 -0
  235. package/ui.form-radio-group/index.stories.js +42 -0
  236. package/ui.form-radio-group/index.vue +128 -0
  237. package/ui.form-select/Docs.mdx +16 -0
  238. package/ui.form-select/composables/attrs.composable.js +172 -0
  239. package/ui.form-select/configs/default.config.js +138 -0
  240. package/ui.form-select/constants/index.js +19 -0
  241. package/ui.form-select/index.stories.js +339 -0
  242. package/ui.form-select/index.vue +722 -0
  243. package/ui.form-select/services/select.service.js +98 -0
  244. package/ui.form-switch/composables/attrs.composable.js +77 -0
  245. package/ui.form-switch/configs/default.config.js +76 -0
  246. package/ui.form-switch/constants/index.js +5 -0
  247. package/ui.form-switch/index.stories.js +93 -0
  248. package/ui.form-switch/index.vue +199 -0
  249. package/ui.form-switch/services/variant.service.js +31 -0
  250. package/ui.form-textarea/Docs.mdx +16 -0
  251. package/ui.form-textarea/composables/attrs.composable.js +52 -0
  252. package/ui.form-textarea/configs/default.config.js +68 -0
  253. package/ui.form-textarea/constants/index.js +5 -0
  254. package/ui.form-textarea/index.stories.js +151 -0
  255. package/ui.form-textarea/index.vue +284 -0
  256. package/ui.image-avatar/composables/attrs.composable.js +34 -0
  257. package/ui.image-avatar/configs/default.config.js +42 -0
  258. package/ui.image-avatar/constants/index.js +5 -0
  259. package/ui.image-avatar/default-avatar.png +0 -0
  260. package/ui.image-avatar/index.stories.js +107 -0
  261. package/ui.image-avatar/index.vue +121 -0
  262. package/ui.image-icon/Docs.mdx +16 -0
  263. package/ui.image-icon/composables/attrs.composable.js +65 -0
  264. package/ui.image-icon/configs/default.config.js +90 -0
  265. package/ui.image-icon/constants/index.js +5 -0
  266. package/ui.image-icon/index.stories.js +110 -0
  267. package/ui.image-icon/index.vue +233 -0
  268. package/ui.image-logo/composables/attrs.composable.js +41 -0
  269. package/ui.image-logo/configs/default.config.js +38 -0
  270. package/ui.image-logo/constants/index.js +5 -0
  271. package/ui.image-logo/index.stories.js +84 -0
  272. package/ui.image-logo/index.vue +98 -0
  273. package/ui.loader-rendering/index.vue +72 -0
  274. package/ui.loader-rendering/store/index.js +17 -0
  275. package/ui.loader-top/components/TopProgress.vue +277 -0
  276. package/ui.loader-top/index.vue +221 -0
  277. package/ui.loader-top/store/index.js +59 -0
  278. package/ui.navigation-pagination/composables/attrs.composable.js +41 -0
  279. package/ui.navigation-pagination/configs/default.config.js +24 -0
  280. package/ui.navigation-pagination/constants/index.js +8 -0
  281. package/ui.navigation-pagination/index.stories.js +52 -0
  282. package/ui.navigation-pagination/index.vue +276 -0
  283. package/ui.navigation-stepper/composables/attrs.composable.js +25 -0
  284. package/ui.navigation-stepper/configs/default.config.js +13 -0
  285. package/ui.navigation-stepper/constants/index.js +5 -0
  286. package/ui.navigation-stepper/index.stories.js +30 -0
  287. package/ui.navigation-stepper/index.vue +126 -0
  288. package/ui.navigation-tab/composables/attrs.composable.js +30 -0
  289. package/ui.navigation-tab/configs/default.config.js +22 -0
  290. package/ui.navigation-tab/constants/index.js +5 -0
  291. package/ui.navigation-tab/index.stories.js +57 -0
  292. package/ui.navigation-tab/index.vue +85 -0
  293. package/ui.navigation-tabs/composables/attrs.composable.js +24 -0
  294. package/ui.navigation-tabs/configs/default.config.js +14 -0
  295. package/ui.navigation-tabs/constants/index.js +5 -0
  296. package/ui.navigation-tabs/index.stories.js +69 -0
  297. package/ui.navigation-tabs/index.vue +99 -0
  298. package/ui.notify/index.sto_ries.js +102 -0
  299. package/ui.notify/index.vue +248 -0
  300. package/ui.notify/services/index.js +87 -0
  301. package/ui.other-dot/composables/attrs.composable.js +32 -0
  302. package/ui.other-dot/configs/default.config.js +21 -0
  303. package/ui.other-dot/constants/index.js +5 -0
  304. package/ui.other-dot/index.stories.js +77 -0
  305. package/ui.other-dot/index.vue +52 -0
  306. package/ui.other-loader/composables/attrs.composable.js +51 -0
  307. package/ui.other-loader/configs/default.config.js +47 -0
  308. package/ui.other-loader/constants/index.js +5 -0
  309. package/ui.other-loader/index.stories.js +78 -0
  310. package/ui.other-loader/index.vue +136 -0
  311. package/ui.text-alert/composables/attrs.composable.js +48 -0
  312. package/ui.text-alert/configs/default.config.js +51 -0
  313. package/ui.text-alert/constatns/index.js +5 -0
  314. package/ui.text-alert/index.stories.js +157 -0
  315. package/ui.text-alert/index.vue +122 -0
  316. package/ui.text-badge/Docs.mdx +16 -0
  317. package/ui.text-badge/composables/attrs.composable.js +49 -0
  318. package/ui.text-badge/configs/default.config.js +51 -0
  319. package/ui.text-badge/constants/index.js +5 -0
  320. package/ui.text-badge/index.stories.js +190 -0
  321. package/ui.text-badge/index.vue +120 -0
  322. package/ui.text-block/composables/attrs.composable.js +31 -0
  323. package/ui.text-block/configs/default.config.js +35 -0
  324. package/ui.text-block/constatns/index.js +5 -0
  325. package/ui.text-block/index.stories.js +112 -0
  326. package/ui.text-block/index.vue +76 -0
  327. package/ui.text-empty/Docs.mdx +16 -0
  328. package/ui.text-empty/composables/attrs.composable.js +43 -0
  329. package/ui.text-empty/configs/default.config.js +30 -0
  330. package/ui.text-empty/constants/index.js +5 -0
  331. package/ui.text-empty/index.stories.js +106 -0
  332. package/ui.text-empty/index.vue +95 -0
  333. package/ui.text-file/composables/attrs.composable.js +37 -0
  334. package/ui.text-file/configs/default.config.js +15 -0
  335. package/ui.text-file/index.stories.js +29 -0
  336. package/ui.text-file/index.vue +93 -0
  337. package/ui.text-files/composables/attrs.composable.js +19 -0
  338. package/ui.text-files/configs/default.config.js +9 -0
  339. package/ui.text-files/constants/index.js +5 -0
  340. package/ui.text-files/index.stories.js +32 -0
  341. package/ui.text-files/index.vue +87 -0
  342. package/ui.text-header/Docs.mdx +16 -0
  343. package/ui.text-header/composables/attrs.composable.js +34 -0
  344. package/ui.text-header/configs/default.config.js +45 -0
  345. package/ui.text-header/constants/index.js +5 -0
  346. package/ui.text-header/index.stories.js +106 -0
  347. package/ui.text-header/index.vue +83 -0
  348. package/ui.text-money/Docs.mdx +16 -0
  349. package/ui.text-money/assets/credit.svg +7 -0
  350. package/ui.text-money/assets/debit.svg +12 -0
  351. package/ui.text-money/composables/attrs.composable.js +65 -0
  352. package/ui.text-money/configs/default.config.js +69 -0
  353. package/ui.text-money/constants/index.js +7 -0
  354. package/ui.text-money/index.stories.js +265 -0
  355. package/ui.text-money/index.vue +204 -0
  356. package/ui.text-money/services/money.services.js +24 -0
  357. package/ui.viewport/index.vue +78 -0
  358. package/ui.viewport/store/index.js +47 -0
  359. package/web-types.json +7187 -0
@@ -0,0 +1,100 @@
1
+ import useUI from "../../composable.ui";
2
+ import { cx } from "../../service.ui";
3
+
4
+ import { computed, watchEffect } from "vue";
5
+
6
+ import defaultConfig from "../configs/default.config";
7
+
8
+ export default function useAttrs(props, { isShownMenu }) {
9
+ const { config, getAttrs } = useUI(defaultConfig, () => props.config);
10
+
11
+ const buttonWrapperAttrsRaw = getAttrs("buttonWrapper");
12
+ const buttonAttrsRaw = getAttrs("button");
13
+ const shiftRangeButtonAttrs = getAttrs("shiftRangeButton");
14
+ const calendarAttrs = getAttrs("calendar", { isComponent: true });
15
+ const inputBlurAttrs = getAttrs("input", { isComponent: true });
16
+ const inputActiveAttrs = getAttrs("inputActive");
17
+ const rangeInputAttrs = getAttrs("rangeInput", { isComponent: true });
18
+ const rangeInputWrapperAttrs = getAttrs("rangeInputWrapper");
19
+ const inputRangeErrorAttrs = getAttrs("inputRangeError");
20
+
21
+ // This watcher rewrites default calendar locales with datepicker range locales
22
+ // Watcher will not rewrite custom calendar locales
23
+ watchEffect(() => {
24
+ if (!calendarAttrs.value.config) {
25
+ calendarAttrs.value.config = {};
26
+ }
27
+
28
+ if (calendarAttrs.value.config.i18n) {
29
+ return;
30
+ }
31
+
32
+ calendarAttrs.value.config.i18n = {
33
+ weekdays: {
34
+ shorthand: { ...config.value.i18n.weekdays.shorthand },
35
+ longhand: { ...config.value.i18n.weekdays.longhand },
36
+ },
37
+ months: {
38
+ shorthand: { ...config.value.i18n.months.shorthand },
39
+ longhand: { ...config.value.i18n.months.longhand },
40
+ },
41
+ };
42
+ });
43
+
44
+ const inputAttrs = computed(() => {
45
+ return isShownMenu.value ? inputActiveAttrs.value : inputBlurAttrs.value;
46
+ });
47
+
48
+ const menuAttrs = getAttrs("menu");
49
+ const periodsRowAttrs = getAttrs("periodsRow");
50
+ const rangeSwitchWrapperAttrs = getAttrs("rangeSwitchWrapper");
51
+ const nextIconAttrs = getAttrs("nextIcon");
52
+ const prevIconAttrs = getAttrs("prevIcon");
53
+ const rangeSwitchTitleAttrs = getAttrs("rangeSwitchTitle");
54
+
55
+ const periodButtonAttrs = (classes = []) => {
56
+ return getAttrs("periodButton", { classes }).value;
57
+ };
58
+
59
+ const periodDateListAttrs = (classes = []) => {
60
+ return getAttrs("periodDateList", { classes }).value;
61
+ };
62
+
63
+ const periodDateAttrs = (classes = []) => {
64
+ return getAttrs("periodDate", { classes }).value;
65
+ };
66
+
67
+ const buttonWrapperAttrs = computed(() => ({
68
+ ...buttonWrapperAttrsRaw.value,
69
+ class: cx([
70
+ buttonWrapperAttrsRaw.value.class,
71
+ isShownMenu.value && config.value.buttonWrapperActive,
72
+ ]),
73
+ }));
74
+
75
+ const buttonAttrs = computed(() => ({
76
+ ...buttonAttrsRaw.value,
77
+ class: cx([buttonAttrsRaw.value.class, isShownMenu.value && config.value.buttonActive]),
78
+ }));
79
+
80
+ return {
81
+ config,
82
+ calendarAttrs,
83
+ inputAttrs,
84
+ menuAttrs,
85
+ periodsRowAttrs,
86
+ periodButtonAttrs,
87
+ rangeSwitchWrapperAttrs,
88
+ nextIconAttrs,
89
+ prevIconAttrs,
90
+ periodDateAttrs,
91
+ periodDateListAttrs,
92
+ rangeSwitchTitleAttrs,
93
+ buttonWrapperAttrs,
94
+ buttonAttrs,
95
+ shiftRangeButtonAttrs,
96
+ rangeInputAttrs,
97
+ rangeInputWrapperAttrs,
98
+ inputRangeErrorAttrs,
99
+ };
100
+ }
@@ -0,0 +1,172 @@
1
+ export default /*tw*/ {
2
+ input: "",
3
+ inputActive: {
4
+ block: {
5
+ base: "ring-4 ring-gray-600/[.15] border-gray-500 hover:border-gray-500",
6
+ },
7
+ },
8
+ buttonWrapper: "flex h-full rounded-lg focus-within:ring-4 focus-within:ring-gray-600/[.15] max-md:justify-between",
9
+ button: `
10
+ shrink-0 grow rounded-none border-0 bg-zinc-100 py-2 text-base font-medium text-gray-900 shadow-none
11
+ hover:bg-zinc-200 hover:ring-gray-600/[.15] focus:border-0 focus:bg-zinc-200 focus:ring-0 focus:ring-gray-600/[.15]
12
+ active:bg-zinc-200 disabled:cursor-not-allowed
13
+ `,
14
+ buttonActive: "border-0 hover:bg-zinc-200 ring-0 ring-gray-600/[.15] bg-zinc-200",
15
+ buttonWrapperActive: "ring-4 ring-gray-600/[.15]",
16
+ shiftRangeButton: `
17
+ focus:bg-bg-zinc-200 flex items-center border-0 bg-zinc-100 py-[0.71875rem] shadow-none
18
+ hover:bg-zinc-200 hover:ring-gray-600/[.15] focus:border-0 focus:ring-0 focus:ring-gray-600/[.15] active:bg-zinc-200
19
+ disabled:cursor-not-allowed last:rounded-l-none last:rounded-r-lg first:rounded-l-lg first:rounded-r-none
20
+ `,
21
+ menu: "absolute z-40 mt-2 w-80 overflow-hidden rounded-lg border border-gray-300 bg-white p-2 shadow focus:outline-none",
22
+ menuTransition: {
23
+ enterFromClass: "opacity-0 scale-95",
24
+ enterActiveClass: "transition transform ease-out duration-100",
25
+ enterToClass: "opacity-100 scale-100",
26
+ leaveFromClass: "opacity-100 scale-100",
27
+ leaveActiveClass: "transition transform ease-in duration-75",
28
+ leaveToClass: "opacity-0 scale-95",
29
+ },
30
+ periodsRow: "mb-1 flex min-w-64 gap-1",
31
+ periodButton: `
32
+ flex h-[3.125rem] w-full cursor-pointer flex-col items-center justify-center rounded-lg bg-zinc-100
33
+ px-1.5 py-2.5 text-center text-xs font-medium text-gray-900 hover:bg-gray-200
34
+ [&_span]:block [&_span]:font-normal [&_span]:text-gray-500
35
+ `,
36
+ periodButtonActive: "bg-zinc-200",
37
+ rangeSwitchWrapper: "mb-2.5 mt-4 flex items-center justify-between py-2",
38
+ rangeSwitchTitle: "font-medium text-sm",
39
+ nextIcon: "",
40
+ nextIconName: "keyboard_arrow_right",
41
+ prevIcon: "",
42
+ prevIconName: "keyboard_arrow_left",
43
+ periodDateList: "",
44
+ periodDateMonthList: "grid grid-cols-3 grid-rows-1 gap-0.5",
45
+ periodDateWeekList: "",
46
+ periodDateYearList: "grid grid-cols-3 grid-rows-1 gap-0.5",
47
+ periodDateQuarterList: "",
48
+ periodDate: `
49
+ cursor-pointer block w-full rounded-lg py-3 text-center text-sm font-medium text-gray-900 hover:rounded-lg hover:bg-gray-50
50
+ disabled:opacity-50 disabled:cursor-not-allowed
51
+ `,
52
+ periodDateActive: "bg-zinc-100",
53
+ rangeInputWrapper: "flex mt-4",
54
+ rangeInput: {
55
+ wrapper: "ml-0 group/range-input-wrapper",
56
+ block: `focus-within:z-10 group-first/range-input-wrapper:rounded-r-none group-last/range-input-wrapper:rounded-l-none`,
57
+ label: {
58
+ description: "hidden",
59
+ },
60
+ input: {
61
+ base: "text-sm border-gray-100 px-4 py-2.5",
62
+ variants: {
63
+ size: {
64
+ md: "pt-2.5 pb-2.5",
65
+ },
66
+ },
67
+ },
68
+ },
69
+ inputRangeError: "text-xs font-normal !leading-none mt-2 text-center text-red-500",
70
+ calendar: {
71
+ wrapper: "p-0 mt-2 w-full border-none shadow-none",
72
+ dayViewWrapper: "p-0 w-full",
73
+ monthViewWrapper: "p-0 w-full",
74
+ yearViewWrapper: "p-0 w-full",
75
+ dayViewSwitchLabel: "font-medium text-gray-900",
76
+ nextPrevButton: "p-0 py-2 hover:bg-transparent",
77
+ navigation: "px-0 w-full",
78
+ nextIcon: {
79
+ defaultVariants: {
80
+ variant: "dark",
81
+ },
82
+ },
83
+ prevIcon: {
84
+ defaultVariants: {
85
+ variant: "dark",
86
+ },
87
+ },
88
+ day: "font-medium w-full h-10 text-sm",
89
+ weekDay: "text-sm size-10",
90
+ month: "font-medium",
91
+ selectedMonth: "bg-zinc-100 text-gray-900 hover:text-white",
92
+ year: "font-medium",
93
+ selectedYear: "bg-zinc-100 text-gray-900 hover:text-white",
94
+ },
95
+ i18n: {
96
+ lastThirtyDays: "Last 30 days <span> and 2 next two weeks </span>",
97
+ ownRange: "Own range",
98
+ week: "Week",
99
+ month: "Month",
100
+ quarter: "Quarter",
101
+ year: "Year",
102
+ dateFormatWithDot: "Date should be in format 'dd.mm.yyyy'.",
103
+ notCorrectMonthNumber: "Wrong month number.",
104
+ notCorrectDayNumber: "Wrong day in month.",
105
+ weekdays: {
106
+ shorthand: {
107
+ sunday: "Sun",
108
+ monday: "Mon",
109
+ tuesday: "Tue",
110
+ wednesday: "Wed",
111
+ thursday: "Thu",
112
+ friday: "Fri",
113
+ saturday: "Sat",
114
+ },
115
+ longhand: {
116
+ sunday: "Sunday",
117
+ monday: "Monday",
118
+ tuesday: "Tuesday",
119
+ wednesday: "Wednesday",
120
+ thursday: "Thursday",
121
+ friday: "Friday",
122
+ saturday: "Saturday",
123
+ },
124
+ },
125
+ months: {
126
+ shorthand: {
127
+ january: "Jan",
128
+ february: "Feb",
129
+ march: "Mar",
130
+ april: "Apr",
131
+ may: "May",
132
+ june: "Jun",
133
+ july: "Jul",
134
+ august: "Aug",
135
+ september: "Sep",
136
+ october: "Oct",
137
+ november: "Nov",
138
+ december: "Dec",
139
+ },
140
+ longhand: {
141
+ january: "January",
142
+ february: "February",
143
+ march: "March",
144
+ april: "April",
145
+ may: "May",
146
+ june: "June",
147
+ july: "July",
148
+ august: "August",
149
+ september: "September",
150
+ october: "October",
151
+ november: "November",
152
+ december: "December",
153
+ },
154
+ },
155
+ },
156
+ defaultVariants: {
157
+ size: "md",
158
+ variant: "button",
159
+ customRangeButton: {
160
+ range: {
161
+ from: 0,
162
+ to: 0,
163
+ },
164
+ label: "",
165
+ description: "",
166
+ },
167
+ timepicker: false,
168
+ disabled: false,
169
+ maxDate: undefined,
170
+ minDate: undefined,
171
+ },
172
+ };
@@ -0,0 +1,23 @@
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 UDatePickerRange = "UDatePickerRange";
6
+
7
+ export const DATE_PICKER_BUTTON_TYPE = "button";
8
+ export const DATE_PICKER_INPUT_TYPE = "input";
9
+ export const RANGE_INPUT_FORMAT = "d.m.Y";
10
+
11
+ export const INPUT_RANGE_TYPE = {
12
+ start: "start",
13
+ end: "end",
14
+ };
15
+
16
+ export const PERIOD = {
17
+ week: "week",
18
+ month: "month",
19
+ quarter: "quarter",
20
+ year: "year",
21
+ ownRange: "ownRange",
22
+ lastThirtyDays: "lastThirtyDays",
23
+ };
@@ -0,0 +1,135 @@
1
+ import { getArgTypes, getSlotNames } from "../service.storybook";
2
+
3
+ import UDatePickerRange from "../ui.form-date-picker-range";
4
+ import URow from "../ui.container-row";
5
+
6
+ import { addDays } from "../ui.form-calendar/services/date.service";
7
+
8
+ export default {
9
+ id: "3180",
10
+ title: "Form Inputs & Controls / Date Picker Range",
11
+ component: UDatePickerRange,
12
+ args: {
13
+ value: {
14
+ from: 1651813634,
15
+ to: 1654492034,
16
+ },
17
+ },
18
+ argTypes: {
19
+ ...getArgTypes(UDatePickerRange.name),
20
+ },
21
+ parameters: {
22
+ docs: {
23
+ story: {
24
+ height: "580px",
25
+ },
26
+ },
27
+ },
28
+ };
29
+
30
+ const DefaultTemplate = (args) => ({
31
+ components: { UDatePickerRange },
32
+ setup() {
33
+ const slots = getSlotNames(UDatePickerRange.name);
34
+
35
+ return { args, slots };
36
+ },
37
+ template: `
38
+ <UDatePickerRange v-bind="args" v-model="args.value">
39
+ <template v-for="(slot, index) of slots" :key="index" v-slot:[slot]>
40
+ <template v-if="args[slot]">{{ args[slot] }}</template>
41
+ </template>
42
+ </UDatePickerRange>
43
+ `,
44
+ });
45
+
46
+ const SlotTemplate = (args) => ({
47
+ components: { UDatePickerRange },
48
+ setup() {
49
+ return { args };
50
+ },
51
+ template: `
52
+ <UDatePickerRange v-bind="args" v-model="args.value">
53
+ ${args.slotTemplate}
54
+ </UDatePickerRange>
55
+ `,
56
+ });
57
+
58
+ const VariantsTemplate = (args, { argTypes } = {}) => ({
59
+ components: { UDatePickerRange, URow },
60
+ setup() {
61
+ return {
62
+ args,
63
+ variants: argTypes.variant.options,
64
+ };
65
+ },
66
+ template: `
67
+ <URow>
68
+ <UDatePickerRange
69
+ v-for="(variant, index) in variants"
70
+ :variant="variant"
71
+ v-bind="args"
72
+ v-model="args.value"
73
+ :key="index"
74
+ />
75
+ </URow>
76
+ `,
77
+ });
78
+
79
+ export const Default = DefaultTemplate.bind({});
80
+ Default.args = {};
81
+
82
+ export const variants = VariantsTemplate.bind({});
83
+ variants.args = {};
84
+
85
+ export const disabled = VariantsTemplate.bind({});
86
+ disabled.args = { disabled: true };
87
+
88
+ export const label = DefaultTemplate.bind({});
89
+ label.args = { variant: "input", label: "some label" };
90
+
91
+ export const description = DefaultTemplate.bind({});
92
+ description.args = { variant: "input", description: "some description" };
93
+
94
+ export const error = DefaultTemplate.bind({});
95
+ error.args = { variant: "input", error: "some error" };
96
+
97
+ export const MinMax = DefaultTemplate.bind({});
98
+ MinMax.args = {
99
+ minDate: "22.02.2022",
100
+ maxDate: "26.02.2022",
101
+ value: { from: 1645653600, to: null },
102
+ };
103
+
104
+ export const customRangeButton = DefaultTemplate.bind({});
105
+ customRangeButton.args = {
106
+ customRangeButton: {
107
+ range: {
108
+ from: new Date(),
109
+ to: addDays(new Date(), 2),
110
+ },
111
+ label: "Next 2 days",
112
+ description: "Some description",
113
+ },
114
+ value: { from: null, to: null },
115
+ };
116
+
117
+ export const slotLeft = SlotTemplate.bind({});
118
+ slotLeft.args = {
119
+ variant: "input",
120
+ slotTemplate: `
121
+ <template #left>
122
+ 🤘
123
+ </template>
124
+ `,
125
+ };
126
+
127
+ export const slotRight = SlotTemplate.bind({});
128
+ slotRight.args = {
129
+ variant: "input",
130
+ slotTemplate: `
131
+ <template #right>
132
+ 🤘
133
+ </template>
134
+ `,
135
+ };