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,1537 +0,0 @@
1
- <template>
2
- <div class="mono-datepicker-range">
3
- <VariantButton
4
- v-if="datePickerVariant.button"
5
- :id="id"
6
- :title="title"
7
- :data-cy="`${dataCy}-variant-button`"
8
- @clickShiftRange="onClickShiftRange"
9
- @clickRangeSet="onClickRangeSet"
10
- @blur="onBlur"
11
- />
12
-
13
- <VariantInput
14
- v-if="datePickerVariant.input"
15
- :id="id"
16
- :model-value="title"
17
- :placeholder="placeholder"
18
- :label="label"
19
- :data-cy="`${dataCy}-variant-input`"
20
- @clickRangeSet="onClickRangeSet"
21
- @blur="onBlur"
22
- >
23
- <template #right>
24
- <!-- @slot Use it to add something right. -->
25
- <slot name="right" />
26
- </template>
27
- </VariantInput>
28
-
29
- <div
30
- v-if="isOpenedMenu"
31
- class="mono-datepicker-range-menu"
32
- @mousedown.prevent="onMouseDownDateMenu"
33
- >
34
- <div class="mono-datepicker-range-menu-wrapper">
35
- <div
36
- v-for="(datePeriod, index) in datePeriods"
37
- :key="index"
38
- class="mono-datepicker-range-menu-button"
39
- :data-cy="`${dataCy}-button-${datePeriod.name}`"
40
- :class="setActiveButton(datePeriod.name)"
41
- @mousedown="onClickChangePeriodType(datePeriod.name)"
42
- >
43
- {{ datePeriod.title }}
44
- </div>
45
- </div>
46
-
47
- <div class="mono-datepicker-range-menu-wrapper">
48
- <div
49
- class="mono-datepicker-range-menu-button"
50
- :class="setActiveButton('lastThirtyDays')"
51
- :data-cy="`${dataCy}-button-last-thirty-days`"
52
- @mousedown="onClickSelectLastThirtyDays"
53
- v-html="i18n.lastThirtyDays"
54
- />
55
-
56
- <div
57
- class="mono-datepicker-range-menu-button"
58
- :class="setActiveButton('ownPeriod')"
59
- :data-cy="`${dataCy}-button-own-period`"
60
- @mousedown.prevent="onClickChangePeriodType('ownPeriod')"
61
- >
62
- <UIcon name="apps" size="xs" />
63
-
64
- {{ i18n.ownRange }}
65
- </div>
66
- </div>
67
-
68
- <div v-if="isShownDateMenu">
69
- <div v-if="isShownOwnRange">
70
- <div class="mono-datepicker-range-menu-datepicker-wrapper">
71
- <UInput
72
- v-model="ownRangeStart"
73
- :error="ownRangeStartError"
74
- class="mono-datepicker-range-menu-input"
75
- :class="getInputFocusClass('ownRangeStart')"
76
- :data-cy="`${dataCy}-input-own-range-start`"
77
- @change="onChangeOwnRangeInput"
78
- @mousedown="onMouseDownInput"
79
- @blur="onBlurInput"
80
- @click="onClickInput('ownRangeStart')"
81
- @keydown.enter="onChangeOwnRangeInput"
82
- />
83
-
84
- <UInput
85
- v-model="ownRangeEnd"
86
- :error="ownRangeEndError"
87
- class="mono-datepicker-range-menu-input"
88
- :class="getInputFocusClass('ownRangeEnd')"
89
- :data-cy="`${dataCy}-input-own-range-end`"
90
- @change="onChangeOwnRangeInput"
91
- @mousedown="onMouseDownInput"
92
- @blur="onBlurInput"
93
- @click="onClickInput('ownRangeEnd')"
94
- @keydown.enter="onChangeOwnRangeInput"
95
- />
96
- </div>
97
-
98
- <t-datepicker
99
- ref="datepicker"
100
- :value="ownRange"
101
- date-format="d.m.Y"
102
- :week-start="1"
103
- :clearable="false"
104
- :close-on-select="false"
105
- show
106
- range
107
- class="own-range"
108
- :classes="ownRangeClasses"
109
- :locale="activeDatepickerLanguage"
110
- :min-date="minDate"
111
- :max-date="maxDate"
112
- :data-cy="`${dataCy}-own-range`"
113
- @input="handleDate"
114
- >
115
- <template
116
- #day="{ dayFormatted, isInRange, isFirstDayOfRange, isLastDayOfRange, isToday }"
117
- >
118
- <span @mouseover="onMouseover" @mouseleave="onMouseleave">
119
- <span v-if="isToday" class="own-today"> {{ dayFormatted }}</span>
120
-
121
- <span v-else-if="isInRange" class="own-range-day">{{ dayFormatted }}</span>
122
-
123
- <div v-else-if="isFirstDayOfRange" class="first-own-range-day-block">
124
- <span class="first-own-range-day">{{ dayFormatted }}</span>
125
- </div>
126
-
127
- <div v-else-if="isLastDayOfRange" class="last-own-range-day-block">
128
- <span class="last-own-range-day">{{ dayFormatted }}</span>
129
- </div>
130
-
131
- <span v-else class="own-range-days">{{ dayFormatted }}</span>
132
- </span>
133
- </template>
134
- </t-datepicker>
135
- </div>
136
-
137
- <div v-else>
138
- <div class="mono-datepicker-range-menu-range">
139
- <UIcon
140
- class="icon"
141
- size="sm"
142
- name="arrow_back_ios_new"
143
- :data-cy="`${dataCy}-prev`"
144
- @mousedown.prevent="onClickShiftDatesList('prev')"
145
- />
146
-
147
- <div class="mono-datepicker-range-menu-range-value">
148
- <span v-if="shownMenuRangeMonth">{{ selectedDate.monthName }} </span>
149
-
150
- <span v-if="yearPeriodTitle">{{ yearPeriodTitle }}</span>
151
-
152
- <span v-else class="mono-datepicker-range-menu-range-value-year">{{
153
- selectedDate.year
154
- }}</span>
155
- </div>
156
- <UIcon
157
- class="icon"
158
- size="sm"
159
- name="arrow_forward_ios"
160
- :data-cy="`${dataCy}-next`"
161
- @mousedown.prevent="onClickShiftDatesList('next')"
162
- />
163
- </div>
164
-
165
- <div class="mono-datepicker-range-menu-list" :class="menuTypeClass">
166
- <div
167
- v-for="(date, index) in datesList"
168
- :key="index"
169
- class="mono-datepicker-range-menu-list-item"
170
- :class="setActiveSelectedDate(date)"
171
- :data-cy="`${dataCy}-list-item-${index}`"
172
- @mousedown="onClickSelectValue(index)"
173
- >
174
- {{ date.title }}
175
- </div>
176
- </div>
177
- </div>
178
- </div>
179
- </div>
180
- </div>
181
- </template>
182
-
183
- <script>
184
- import {
185
- fromUnixTime,
186
- startOfWeek,
187
- endOfWeek,
188
- getMonth,
189
- getYear,
190
- getUnixTime,
191
- addMonths,
192
- addYears,
193
- subDays,
194
- addDays,
195
- startOfDay,
196
- endOfDay,
197
- parse,
198
- differenceInDays,
199
- startOfYear,
200
- endOfYear,
201
- startOfMonth,
202
- endOfMonth,
203
- startOfQuarter,
204
- endOfQuarter,
205
- getDate,
206
- format,
207
- } from "date-fns";
208
- import { utcToZonedTime, zonedTimeToUtc } from "date-fns-tz";
209
- import English from "vueless/library.vue-tailwind-3/l10n/default";
210
- import Russian from "vueless/library.vue-tailwind-3/l10n/ru";
211
- import Ukrainian from "vueless/library.vue-tailwind-3/l10n/uk";
212
- import I18nServiceDefault from "vueless/service.i18n";
213
- import DateServiceDefault from "vueless/service.date";
214
- import ValidationServiceDefault from "vueless/service.validation";
215
- import {
216
- createYears,
217
- createQuarters,
218
- createMonthsList,
219
- createWeeksList,
220
- prepareOwnRangeDate,
221
- prepareRangeFormat,
222
- } from "./services/dateRange.service";
223
- import { getRandomId } from "vueless/service.ui";
224
- import { mapGetters } from "vuex";
225
-
226
- import UIcon from "vueless/ui.image-icon";
227
- import UInput from "vueless/ui.form-input";
228
- import TDatepicker from "vueless/library.vue-tailwind-3/TDatepicker";
229
- import VariantButton from "./components/VariantButton.vue";
230
- import VariantInput from "./components/VariantInput.vue";
231
-
232
- import { useI18n } from "vue-i18n";
233
- import { useVuelidate } from "@vuelidate/core";
234
-
235
- const { dateFormat, wrongDayNumber, wrongMonthNumber } = new ValidationServiceDefault();
236
-
237
- const MONTHS = [
238
- "january",
239
- "february",
240
- "march",
241
- "april",
242
- "may",
243
- "june",
244
- "july",
245
- "august",
246
- "september",
247
- "october",
248
- "november",
249
- "december",
250
- ];
251
-
252
- const DATE_PICKER_BUTTON_TYPE = "button";
253
- const DATE_PICKER_INPUT_TYPE = "input";
254
- const GRID_MENU_CLASS = "grid-menu";
255
- const BLOCK_MENU_CLASS = "block-menu";
256
-
257
- const WEEK_PERIOD = "week";
258
- const MONTH_PERIOD = "month";
259
- const QUARTER_PERIOD = "quarter";
260
- const YEAR_PERIOD = "year";
261
- const LAST_THIRTY_DAYS_PERIOD = "lastThirtyDays";
262
- const OWN_PERIOD = "ownPeriod";
263
- const OWN_RANGE_START = "ownRangeStart";
264
- const OWN_RANGE_END = "ownRangeEnd";
265
-
266
- export default {
267
- name: "UDatePickerRange",
268
-
269
- components: {
270
- VariantInput,
271
- VariantButton,
272
- UInput,
273
- UIcon,
274
- TDatepicker,
275
- },
276
-
277
- props: {
278
- /**
279
- * The variant of the date picker.
280
- * @values button, input
281
- */
282
- variant: {
283
- type: String,
284
- default: "button",
285
- },
286
-
287
- /**
288
- * Set date picker value (timestamp).
289
- */
290
- modelValue: {
291
- type: Object,
292
- default: () => {},
293
- },
294
-
295
- /**
296
- * Set picker min date in format d.m.Y.
297
- */
298
- minDate: {
299
- type: String,
300
- default: "",
301
- },
302
-
303
- /**
304
- * Set picker max date in format d.m.Y.
305
- */
306
- maxDate: {
307
- type: String,
308
- default: "",
309
- },
310
-
311
- /**
312
- * Set label text.
313
- */
314
- label: {
315
- type: String,
316
- default: "",
317
- },
318
-
319
- /**
320
- * Set input placeholder.
321
- */
322
- placeholder: {
323
- type: String,
324
- default: "",
325
- },
326
-
327
- /**
328
- * Generates unique element id.
329
- * @ignore
330
- */
331
- id: {
332
- type: String,
333
- default: () => getRandomId(),
334
- },
335
-
336
- /**
337
- * Sets data-cy attribute for automated testing.
338
- */
339
- dataCy: {
340
- type: String,
341
- default: "",
342
- },
343
- },
344
-
345
- emits: ["update:modelValue"],
346
-
347
- setup() {
348
- const { rt } = useI18n();
349
- const { getTranslation } = new I18nServiceDefault();
350
- const v$ = useVuelidate();
351
-
352
- return { rt, getTranslation, v$ };
353
- },
354
-
355
- data() {
356
- return {
357
- emitValue: false,
358
- menuTypeClass: BLOCK_MENU_CLASS,
359
- period: WEEK_PERIOD,
360
- currentTimestamp: 0,
361
- datesList: [],
362
- dateRange: {
363
- from: 0,
364
- to: 0,
365
- },
366
- ownRange: [],
367
- ownRangeStart: "",
368
- ownRangeEnd: "",
369
- selectedRange: "",
370
- selectedInputFocus: "",
371
- isOpenedMenu: false,
372
- isShownDateMenu: true,
373
- isShownOwnRange: false,
374
- isClickedInDateMenu: false,
375
- isFocusedInput: false,
376
- isCheckDateFormat: false,
377
- };
378
- },
379
-
380
- validations: () => ({
381
- ownRangeStart: { dateFormat, wrongMonthNumber, wrongDayNumber },
382
- ownRangeEnd: { dateFormat, wrongMonthNumber, wrongDayNumber },
383
- }),
384
-
385
- computed: {
386
- ...mapGetters("breakpoint", ["isMobileDevice"]),
387
-
388
- datePickerVariant() {
389
- return {
390
- button: this.variant === DATE_PICKER_BUTTON_TYPE,
391
- input: this.variant === DATE_PICKER_INPUT_TYPE,
392
- };
393
- },
394
-
395
- datePeriods() {
396
- return [
397
- {
398
- name: WEEK_PERIOD,
399
- title: this.i18n.week,
400
- },
401
- {
402
- name: MONTH_PERIOD,
403
- title: this.i18n.month,
404
- },
405
- {
406
- name: QUARTER_PERIOD,
407
- title: this.i18n.quarter,
408
- },
409
- {
410
- name: YEAR_PERIOD,
411
- title: this.i18n.year,
412
- },
413
- ];
414
- },
415
-
416
- ownRangeStartError() {
417
- const isDirty = this.v$.ownRangeStart.$dirty;
418
- const isInvalidDateFormat = this.v$.ownRangeStart.dateFormat.$invalid;
419
- const isInvalidMonthNumber = this.v$.ownRangeStart.wrongMonthNumber.$invalid;
420
- const isInvalidDayNumber = this.v$.ownRangeStart.wrongDayNumber.$invalid;
421
-
422
- let error = "";
423
-
424
- if (isDirty && this.isCheckDateFormat && isInvalidDateFormat && this.ownRangeStart) {
425
- error = this.i18n.dateFormatWithDot;
426
- } else if (isDirty && isInvalidMonthNumber && this.ownRangeStart) {
427
- error = this.i18n.notCorrectMonthNumber;
428
- } else if (isDirty && isInvalidDayNumber && this.ownRangeStart) {
429
- error = this.i18n.notCorrectDayNumber;
430
- }
431
-
432
- return error;
433
- },
434
-
435
- ownRangeEndError() {
436
- const isDirty = this.v$.ownRangeEnd.$dirty;
437
- const isInvalidDateFormat = this.v$.ownRangeEnd.dateFormat.$invalid;
438
- const isInvalidMonthNumber = this.v$.ownRangeEnd.wrongMonthNumber.$invalid;
439
- const isInvalidDayNumber = this.v$.ownRangeEnd.wrongDayNumber.$invalid;
440
-
441
- let error = "";
442
-
443
- if (isDirty && this.isCheckDateFormat && isInvalidDateFormat && this.ownRangeEnd) {
444
- error = this.i18n.dateFormatWithDot;
445
- } else if (isDirty && isInvalidMonthNumber && this.ownRangeEnd) {
446
- error = this.i18n.notCorrectMonthNumber;
447
- } else if (isDirty && isInvalidDayNumber && this.ownRangeEnd) {
448
- error = this.i18n.notCorrectDayNumber;
449
- }
450
-
451
- return error;
452
- },
453
-
454
- ownRangeClasses() {
455
- return {
456
- wrapper: "flex flex-col",
457
- dropdownWrapper: "relative z-40",
458
- dropdown: "overflow-hidden bg-white",
459
- enterClass: "opacity-0 scale-95",
460
- enterActiveClass: "transition transform ease-out duration-100",
461
- enterToClass: "opacity-100 scale-100",
462
- leaveClass: "opacity-100 scale-100",
463
- leaveActiveClass: "transition transform ease-in duration-75",
464
- leaveToClass: "opacity-0 scale-95",
465
- inlineWrapper: "",
466
- inlineViews: "rounded bg-white border mt-1 inline-flex",
467
- inputWrapper: "hidden",
468
- viewGroup: "inline-flex flex-wrap w-full",
469
- view: "!w-full",
470
- input: `input w-full`,
471
- navigator: "px-2.5 items-center justify-between",
472
- navigatorViewButton: `navigator-button order-1 w-full justify-center cursor-pointer text-sm
473
- font-medium text-gray-900`,
474
- navigatorViewButtonIcon: "hidden",
475
- navigatorViewButtonBackIcon: "hidden",
476
- navigatorViewButtonMonth: "text-gray-700 font-semibold",
477
- navigatorViewButtonYear: "ml-1",
478
- navigatorViewButtonYearRange: "ml-1",
479
- navigatorLabel: "py-1",
480
- navigatorLabelMonth: "text-gray-700 font-semibold",
481
- navigatorLabelYear: "text-gray-500 ml-1",
482
- navigatorPrevButton: `order-0 transition ease-in-out duration-100 inline-flex cursor-pointer
483
- rounded-full disabled:opacity-50 disabled:cursor-not-allowed`,
484
- navigatorNextButton: `order-2 transition ease-in-out duration-100 inline-flex
485
- cursor-pointer rounded-full disabled:opacity-50 disabled:cursor-not-allowed`,
486
- navigatorPrevButtonIcon: "text-gray-900 !w-4 !h-4 navigation-btn-icon",
487
- navigatorNextButtonIcon: "text-gray-900 !w-4 !h-4 navigation-btn-icon",
488
- calendarWrapper: "mt-2.5",
489
- calendarHeaderWrapper: "",
490
- calendarHeaderWeekDay:
491
- "uppercase text-sm text-gray-500 h-10 flex items-center justify-center",
492
- calendarDaysWrapper: "",
493
- calendarDaysDayWrapper:
494
- "w-full mb-0.5 h-10 flex flex-shrink-0 items-center calendar-day-button",
495
- otherMonthDay: `text-sm font-medium w-full h-10 mx-auto hover:bg-gray-100 text-gray-400
496
- disabled:opacity-50 disabled:cursor-not-allowed`,
497
- emptyDay: "",
498
- inRangeFirstDay: "text-sm font-medium text-gray-900 w-full h-10",
499
- inRangeLastDay:
500
- "text-sm font-medium bg-gray-900 bg-opacity-10 text-gray-900 w-full h-10 rounded-r-lg hover:bg-gray-100",
501
- inRangeDay: `text-sm font-medium text-gray-900 w-full h-10 hover:bg-gray-100
502
- disabled:opacity-50 disabled:cursor-not-allowed`,
503
- selectedDay: `text-sm rounded-lg w-full h-10 mx-auto bg-gray-900 text-white disabled:opacity-50
504
- disabled:cursor-not-allowed`,
505
- activeDay:
506
- "text-sm rounded-lg bg-gray-100 w-full h-10 mx-auto disabled:opacity-50 disabled:cursor-not-allowed",
507
- highlightedDay:
508
- "text-sm rounded-lg bg-gray-200 w-full h-10 mx-auto disabled:opacity-50 disabled:cursor-not-allowed",
509
- day: `text-sm font-medium text-gray-900 w-full h-10 mx-auto hover:bg-gray-100 disabled:opacity-50
510
- disabled:cursor-not-allowed`,
511
- today: `text-sm font-medium text-gray-900 rounded-lg w-full h-10 mx-auto hover:bg-gray-100 disabled:opacity-50
512
- disabled:cursor-not-allowed border-gray-900`,
513
- monthWrapper: "px-3 pt-2",
514
- selectedMonth:
515
- "text-sm font-medium rounded-lg w-full h-12 mx-auto bg-gray-900 bg-opacity-10 text-gray-900",
516
- activeMonth: "text-sm font-medium rounded-lg w-full h-12 mx-auto bg-gray-200",
517
- month: "text-sm font-medium rounded-lg w-full h-12 mx-auto hover:bg-gray-100",
518
- yearWrapper: "px-3 pt-2",
519
- year: "text-sm font-medium rounded-lg w-full h-12 mx-auto hover:bg-gray-100",
520
- selectedYear: "text-sm font-medium rounded-lg w-full h-12 mx-auto bg-gray-900 text-white",
521
- activeYear: "text-sm font-medium rounded-lg w-full h-12 mx-auto bg-gray-200",
522
- };
523
- },
524
-
525
- i18n() {
526
- return {
527
- lastThirtyDays: this.getTranslation("lastThirtyDays"),
528
- ownRange: this.getTranslation("ownRange"),
529
- week: this.getTranslation("week"),
530
- month: this.getTranslation("month"),
531
- quarter: this.getTranslation("quarter"),
532
- year: this.getTranslation("year"),
533
- dateFormatWithDot: this.getTranslation("dateFormatWithDot"),
534
- notCorrectMonthNumber: this.getTranslation("notCorrectMonthNumber"),
535
- notCorrectDayNumber: this.getTranslation("notCorrectDayNumber"),
536
- monthShort: this.getTranslation("monthShort", { isNested: true }),
537
- declinedMonth: this.getTranslation("declinedMonth", { isNested: true }),
538
- monthList: this.getTranslation("monthList", { isNested: true }),
539
- };
540
- },
541
-
542
- activeDatepickerLanguage() {
543
- const language = {
544
- en: English,
545
- ru: Russian,
546
- ua: Ukrainian,
547
- };
548
-
549
- const activeLanguage = new I18nServiceDefault().getActiveLanguage();
550
-
551
- return language[activeLanguage];
552
- },
553
-
554
- isValue() {
555
- return this.modelValue ? Object.values(this?.modelValue).length : this?.modelValue;
556
- },
557
-
558
- shownMenuRangeMonth() {
559
- return this.period === WEEK_PERIOD;
560
- },
561
-
562
- monthShortLocales() {
563
- return MONTHS.map((month) => this.rt(this.i18n.monthShort[month]));
564
- },
565
-
566
- declinedMonthFullLocales() {
567
- return MONTHS.map((month) => this.rt(this.i18n.declinedMonth[month]));
568
- },
569
-
570
- monthFullLocales() {
571
- return MONTHS.map((month) => this.rt(this.i18n.monthList[month]));
572
- },
573
-
574
- yearPeriodTitle() {
575
- let title = "";
576
-
577
- if (this.period === YEAR_PERIOD) {
578
- const startRange = this.datesList[0].startRange;
579
- const endRange = this.datesList[this.datesList.length - 1].endRange;
580
-
581
- const startYear = getYear(fromUnixTime(startRange));
582
- const endYear = getYear(fromUnixTime(endRange));
583
-
584
- title = `${startYear} – ${endYear}`;
585
- }
586
-
587
- return title;
588
- },
589
-
590
- selectedDate() {
591
- return this.getDateFromTimeStamp(this.currentTimestamp, this.monthFullLocales);
592
- },
593
-
594
- title() {
595
- let startRange = this.dateRange.from
596
- ? this.getDateFromTimeStamp(this.dateRange.from, this.declinedMonthFullLocales)
597
- : "";
598
- let endRange = this.dateRange.to
599
- ? this.getDateFromTimeStamp(this.dateRange.to, this.declinedMonthFullLocales)
600
- : "";
601
-
602
- let title = "";
603
-
604
- if (!startRange && !endRange) return title;
605
-
606
- const isDefaultTitle =
607
- this.period === WEEK_PERIOD ||
608
- this.period === LAST_THIRTY_DAYS_PERIOD ||
609
- this.period === OWN_PERIOD;
610
-
611
- if (isDefaultTitle) {
612
- let startMonthName = startRange.monthName;
613
- let startYear = startRange.year;
614
-
615
- if (startRange.month === endRange.month && startRange.year === endRange.year) {
616
- startMonthName = "";
617
- }
618
-
619
- if (startRange.year === endRange.year) {
620
- startYear = "";
621
- }
622
-
623
- title = startRange
624
- ? `${startRange.day} ${startMonthName} ${startYear} –
625
- ${endRange.day || ""} ${endRange.monthName || ""} ${endRange.year || ""}
626
- `
627
- : "";
628
- }
629
-
630
- if (this.period === MONTH_PERIOD) {
631
- const startRange = this.getDateFromTimeStamp(this.dateRange.from, this.monthFullLocales);
632
-
633
- title = `${startRange.monthName} ${startRange.year}`;
634
- }
635
-
636
- if (this.period === QUARTER_PERIOD || this.period === YEAR_PERIOD) {
637
- title = `${startRange.day} ${startRange.monthName} – ${endRange.day} ${endRange.monthName} ${endRange.year}`;
638
- }
639
-
640
- if (this.isMobileDevice && this.period !== MONTH_PERIOD && this.datePickerVariant.button) {
641
- startRange = Object.fromEntries(Object.entries(startRange).map(this.padDate));
642
- endRange = Object.fromEntries(Object.entries(endRange).map(this.padDate));
643
-
644
- title = `${startRange.day}.${startRange.month} – ${endRange.day}.${endRange.month} / ${endRange.year}`;
645
- }
646
-
647
- return this.isValue ? title : "";
648
- },
649
- },
650
-
651
- watch: {
652
- isOpenedMenu: {
653
- handler: "onChangeOpenedMenu",
654
- },
655
-
656
- ownRange: "onChangeOwnRange",
657
-
658
- dateRange: {
659
- handler: "onChangeDateRange",
660
- immediate: true,
661
- },
662
-
663
- modelValue: {
664
- handler: "onChangeValue",
665
- immediate: true,
666
- deep: true,
667
- },
668
-
669
- emitValue: "onChangeEmitValue",
670
-
671
- period: {
672
- handler: "changePeriodType",
673
- },
674
- },
675
-
676
- created() {
677
- this.currentTimestamp = getUnixTime(new Date());
678
-
679
- if (!this.modelValue) {
680
- this.datesList = createWeeksList(this.selectedDate, this.monthShortLocales);
681
- } else {
682
- this.setDefaultPeriodForButton();
683
- }
684
- },
685
-
686
- updated() {
687
- const navigatorButton = document.querySelector(".navigator-button");
688
-
689
- if (this.period === OWN_PERIOD && navigatorButton) {
690
- navigatorButton.onclick = () => {
691
- document.querySelector(`#${this.id}`).focus();
692
- };
693
- }
694
- },
695
-
696
- methods: {
697
- onMouseover() {
698
- if (!this.selectedInputFocus) this.handleDate(this.$refs.datepicker.formatedDate);
699
- },
700
-
701
- onMouseleave() {
702
- if (!this.selectedRange) this.selectedInputFocus = "";
703
- },
704
-
705
- padDate(dateRangeEntry) {
706
- let [dateRangeEntryKey, dateRangeEntryValue] = dateRangeEntry;
707
-
708
- if (dateRangeEntryValue.length > 1 && Number(dateRangeEntryValue) > 0) return dateRangeEntry;
709
-
710
- dateRangeEntryValue =
711
- dateRangeEntryKey === "month" ? Number(dateRangeEntryValue) + 1 : dateRangeEntryValue;
712
-
713
- dateRangeEntryValue = String(dateRangeEntryValue).padStart(2, 0);
714
-
715
- return [dateRangeEntryKey, dateRangeEntryValue];
716
- },
717
-
718
- onBlur() {
719
- this.emitValue = true;
720
-
721
- if (this.period === OWN_PERIOD) {
722
- this.isOpenedMenu = false;
723
- this.isClickedInDateMenu = false;
724
-
725
- if (this.isOpenedMenu && !this.isFocusedInput) {
726
- document.querySelector(`#${this.id}`).focus();
727
- }
728
- } else if (this.period === LAST_THIRTY_DAYS_PERIOD) {
729
- this.isOpenedMenu = false;
730
- } else {
731
- this.isOpenedMenu = false;
732
-
733
- if (this.isOpenedMenu && !this.isFocusedInput) {
734
- document.querySelector(`#${this.id}`).focus();
735
- }
736
- }
737
- },
738
-
739
- onMouseDownDateMenu() {
740
- this.isClickedInDateMenu = true;
741
- },
742
-
743
- onMouseDownInput() {
744
- this.isFocusedInput = true;
745
- },
746
-
747
- onClickInput(range) {
748
- this.selectedRange = range;
749
- this.selectedInputFocus = range;
750
- this.isClickedInDateMenu = true;
751
- this.isFocusedInput = true;
752
- this.isClickedInDateMenu = false;
753
- },
754
-
755
- onBlurInput() {
756
- this.isFocusedInput = false;
757
- this.isOpenedMenu = this.isClickedInDateMenu;
758
- this.isClickedInDateMenu = false;
759
-
760
- document.querySelector(`#${this.id}`).focus();
761
- },
762
-
763
- setActiveButton(buttonPeriod) {
764
- return buttonPeriod === this.period ? "mono-datepicker-range-menu-button-active" : "";
765
- },
766
-
767
- setActiveSelectedDate(date) {
768
- return this.dateRange.from === date.startRange && this.dateRange.to === date.endRange
769
- ? "mono-datepicker-range-menu-list-item-active"
770
- : "";
771
- },
772
-
773
- getParseDate(date) {
774
- return parse(date, "dd.MM.yyyy", new Date());
775
- },
776
-
777
- getInputFocusClass(range) {
778
- return this.selectedInputFocus === range ? "focus-input" : "";
779
- },
780
-
781
- handleDate(selectedDate) {
782
- const [startDate, endDate] = selectedDate;
783
- const [ownRangeStart, ownRangeEnd] = this.ownRange;
784
- const rangeEnd = endDate ? endDate : startDate;
785
-
786
- if (this.selectedRange === OWN_RANGE_START) {
787
- if (this.getParseDate(startDate) < this.getParseDate(ownRangeEnd)) {
788
- this.ownRange = [startDate, ownRangeEnd];
789
- this.selectedRange = OWN_RANGE_END;
790
- this.selectedInputFocus = OWN_RANGE_END;
791
- } else {
792
- this.ownRange = [startDate];
793
- this.cleanSelectedValues();
794
- }
795
- } else if (this.selectedRange === OWN_RANGE_END) {
796
- if (this.getParseDate(rangeEnd) > this.getParseDate(ownRangeStart)) {
797
- this.ownRange = [ownRangeStart, rangeEnd];
798
-
799
- if (!endDate || endDate !== ownRangeEnd) {
800
- this.cleanSelectedValues();
801
- }
802
- } else {
803
- this.ownRange = [rangeEnd];
804
- this.cleanSelectedValues();
805
- }
806
- } else {
807
- this.ownRange = selectedDate;
808
-
809
- if (!this.ownRangeEnd) this.selectedInputFocus = OWN_RANGE_END;
810
-
811
- if ((startDate && endDate) || !this.ownRangeStart) {
812
- this.selectedInputFocus = OWN_RANGE_START;
813
- }
814
- }
815
- },
816
-
817
- onChangeOpenedMenu() {
818
- this.cleanSelectedValues();
819
- },
820
-
821
- cleanSelectedValues() {
822
- this.selectedInputFocus = "";
823
- this.selectedRange = "";
824
- },
825
-
826
- onChangeDateRange() {
827
- this.getDateFromTimeStamp(this.dateRange.from, this.declinedMonthFullLocales);
828
-
829
- const dateRangeInUtc = {
830
- from: Number(this.dateRange.from),
831
- to: Number(this.dateRange.to),
832
- };
833
-
834
- if (this.checkValue(dateRangeInUtc) && this.emitValue) {
835
- this.$emit("update:modelValue", dateRangeInUtc);
836
- }
837
- },
838
-
839
- checkValue(dateRangeInUtc) {
840
- return (
841
- (this.dateRange.from && dateRangeInUtc.from !== this.modelValue.from) ||
842
- (this.dateRange.to && dateRangeInUtc.to !== this.modelValue.to)
843
- );
844
- },
845
-
846
- onChangeValue() {
847
- if (this.isValue) {
848
- this.emitValue = true;
849
- }
850
-
851
- if (!this.modelValue.from && !this.modelValue.to) {
852
- this.dateRange = {
853
- from: null,
854
- to: null,
855
- };
856
- } else {
857
- this.dateRange = {
858
- from: Number(this.modelValue?.from),
859
- to: Number(this.modelValue?.to),
860
- };
861
- }
862
- },
863
-
864
- onChangeEmitValue() {
865
- if (this.emitValue) {
866
- this.onChangeDateRange();
867
- }
868
- },
869
-
870
- onChangeOwnRange() {
871
- let [ownRangeStart, ownRangeEnd] = this.ownRange;
872
-
873
- if (ownRangeStart) {
874
- const startRangeDate = this.getParseDate(ownRangeStart);
875
-
876
- this.ownRangeStart = ownRangeStart;
877
- this.ownRangeEnd = "";
878
-
879
- const startDayInUtc = zonedTimeToUtc(startOfDay(startRangeDate), "UTC");
880
-
881
- this.dateRange.from = parseInt(format(startDayInUtc, "t", { timeZone: "UTC" }));
882
- }
883
-
884
- if (ownRangeEnd) {
885
- const startRangeDate = this.getParseDate(ownRangeStart);
886
- const endRangeDate = this.getParseDate(ownRangeEnd);
887
-
888
- if (endRangeDate < startRangeDate) {
889
- this.ownRangeEnd = ownRangeStart;
890
- this.dateRange.to = getUnixTime(endOfDay(startRangeDate));
891
- } else {
892
- this.ownRangeEnd = ownRangeEnd;
893
-
894
- const endOfDayInUtc = zonedTimeToUtc(endOfDay(endRangeDate), "UTC");
895
-
896
- this.dateRange.to = parseInt(format(endOfDayInUtc, "t", { timeZone: "UTC" }));
897
- }
898
- }
899
-
900
- this.dateRange = {
901
- ...this.dateRange,
902
- };
903
- },
904
-
905
- getDateFromTimeStamp(timestamp, monthList) {
906
- const date = fromUnixTime(timestamp);
907
- const timeZone = "GMT";
908
-
909
- const zonedDate = utcToZonedTime(date, timeZone);
910
-
911
- const day = getDate(zonedDate);
912
- const startOfWeekDate = startOfWeek(zonedDate, { weekStartsOn: 1 });
913
- const endOfWeekDate = endOfWeek(zonedDate, { weekStartsOn: 1 });
914
- const month = getMonth(zonedDate);
915
- const monthName = monthList?.[month];
916
- const year = getYear(zonedDate);
917
-
918
- return {
919
- date: zonedDate,
920
- day,
921
- startOfWeekDate,
922
- endOfWeekDate,
923
- month,
924
- monthName,
925
- year,
926
- };
927
- },
928
-
929
- onClickShiftDatesList(action) {
930
- const defaultRange = action === "prev" ? -1 : 1;
931
- const yearRange = action === "prev" ? -12 : 12;
932
-
933
- if (this.period === WEEK_PERIOD) {
934
- this.currentTimestamp = getUnixTime(addMonths(this.selectedDate.date, defaultRange));
935
-
936
- this.datesList = createWeeksList(this.selectedDate, this.monthShortLocales);
937
- }
938
-
939
- if (this.period === MONTH_PERIOD) {
940
- this.currentTimestamp = getUnixTime(addYears(this.selectedDate.date, defaultRange));
941
-
942
- this.datesList = createMonthsList(this.selectedDate, this.monthFullLocales);
943
- }
944
-
945
- if (this.period === QUARTER_PERIOD) {
946
- this.currentTimestamp = getUnixTime(addYears(this.selectedDate.date, defaultRange));
947
-
948
- this.datesList = createQuarters(this.selectedDate, { i18n: this.i18n });
949
- }
950
-
951
- if (this.period === YEAR_PERIOD) {
952
- this.currentTimestamp = getUnixTime(addYears(this.selectedDate.date, yearRange));
953
-
954
- this.datesList = createYears(this.selectedDate);
955
- }
956
- },
957
-
958
- changePeriodType(period) {
959
- this.currentTimestamp = this.modelValue.from || getUnixTime(new Date());
960
-
961
- if (period === WEEK_PERIOD) {
962
- this.datesList = createWeeksList(this.selectedDate, this.monthShortLocales);
963
-
964
- this.menuTypeClass = BLOCK_MENU_CLASS;
965
- }
966
-
967
- if (period === MONTH_PERIOD) {
968
- this.datesList = createMonthsList(this.selectedDate, this.monthFullLocales);
969
-
970
- this.menuTypeClass = GRID_MENU_CLASS;
971
- }
972
-
973
- if (period === QUARTER_PERIOD) {
974
- this.datesList = createQuarters(this.selectedDate, { i18n: this.i18n });
975
-
976
- this.menuTypeClass = BLOCK_MENU_CLASS;
977
- }
978
-
979
- if (period === YEAR_PERIOD) {
980
- this.datesList = createYears(this.selectedDate);
981
-
982
- this.menuTypeClass = GRID_MENU_CLASS;
983
- }
984
-
985
- if (period === OWN_PERIOD) {
986
- const startRange = this.getDateFromTimeStamp(
987
- this.dateRange.from,
988
- this.declinedMonthFullLocales,
989
- );
990
- const endRange = this.getDateFromTimeStamp(
991
- this.dateRange.to,
992
- this.declinedMonthFullLocales,
993
- );
994
- const defaultStartRange = this.getDateFromTimeStamp(
995
- getUnixTime(startOfMonth(new Date())),
996
- this.declinedMonthFullLocales,
997
- );
998
- const defaultEndRange = this.getDateFromTimeStamp(
999
- getUnixTime(endOfMonth(new Date())),
1000
- this.declinedMonthFullLocales,
1001
- );
1002
-
1003
- this.ownRangeStart = this.dateRange.from
1004
- ? prepareOwnRangeDate(startRange)
1005
- : prepareOwnRangeDate(defaultStartRange);
1006
- this.ownRangeEnd = this.dateRange.to
1007
- ? prepareOwnRangeDate(endRange)
1008
- : prepareOwnRangeDate(defaultEndRange);
1009
-
1010
- if (this.dateRange.from && this.dateRange.to) {
1011
- this.ownRange = [this.ownRangeStart, this.ownRangeEnd];
1012
- }
1013
- } else {
1014
- const currentDate = this.datesList.find(
1015
- (item) =>
1016
- item.startRange <= this.currentTimestamp && item.endRange >= this.currentTimestamp,
1017
- );
1018
-
1019
- if (period !== LAST_THIRTY_DAYS_PERIOD) {
1020
- this.selectValue(currentDate.index);
1021
- }
1022
- }
1023
-
1024
- this.period = period;
1025
- this.isShownOwnRange = period === OWN_PERIOD;
1026
-
1027
- if (this.period !== LAST_THIRTY_DAYS_PERIOD) {
1028
- this.isShownDateMenu = true;
1029
- }
1030
- },
1031
-
1032
- onClickChangePeriodType(period) {
1033
- this.changePeriodType(period);
1034
- this.isOpenedMenu = true;
1035
- },
1036
-
1037
- selectValue(index) {
1038
- const selectedItem = this.datesList[index];
1039
-
1040
- this.dateRange = {
1041
- from: selectedItem.startRange,
1042
- to: selectedItem.endRange,
1043
- };
1044
-
1045
- if (this.period !== WEEK_PERIOD) {
1046
- this.currentTimestamp = this.dateRange.from;
1047
- }
1048
- },
1049
-
1050
- onClickSelectValue(index) {
1051
- this.selectValue(index);
1052
- this.isOpenedMenu = false;
1053
- },
1054
-
1055
- selectLastThirtyDays() {
1056
- this.currentTimestamp = getUnixTime(new Date());
1057
-
1058
- const DateService = new DateServiceDefault();
1059
-
1060
- this.dateRange = {
1061
- from: DateService.thirtyDaysAgo(),
1062
- to: DateService.nextTwoWeek(),
1063
- };
1064
-
1065
- this.period = LAST_THIRTY_DAYS_PERIOD;
1066
- this.isShownDateMenu = false;
1067
- },
1068
-
1069
- onClickSelectLastThirtyDays() {
1070
- this.selectLastThirtyDays();
1071
-
1072
- this.isOpenedMenu = false;
1073
- },
1074
-
1075
- onChangeOwnRangeInput() {
1076
- this.setCorrectDateFormat();
1077
- this.isCheckDateFormat = true;
1078
-
1079
- if (this.v$.$invalid) {
1080
- this.v$.$touch();
1081
- this.isCheckDateFormat = false;
1082
-
1083
- return;
1084
- }
1085
-
1086
- this.ownRange = [this.ownRangeStart, this.ownRangeEnd];
1087
- this.isCheckDateFormat = false;
1088
- },
1089
-
1090
- setCorrectDateFormat() {
1091
- this.ownRangeStart = prepareRangeFormat(this.ownRangeStart);
1092
- this.ownRangeEnd = prepareRangeFormat(this.ownRangeEnd);
1093
- },
1094
-
1095
- onClickRangeSet() {
1096
- this.isOpenedMenu = !this.isOpenedMenu;
1097
- },
1098
-
1099
- onClickShiftRange(action) {
1100
- if (this.period === LAST_THIRTY_DAYS_PERIOD) {
1101
- this.changePeriodType(OWN_PERIOD);
1102
- }
1103
-
1104
- const numberForIncludeNextDay = 1;
1105
- const numberForIncludeBeforeDay = 2;
1106
- const startRangeDate = this.getParseDate(this.ownRangeStart);
1107
- const endRangeDate = this.getParseDate(this.ownRangeEnd);
1108
- const daysDifference = differenceInDays(endRangeDate, startRangeDate);
1109
-
1110
- if (action === "next") {
1111
- if (this.period === OWN_PERIOD) {
1112
- this.ownRangeStart = format(addDays(endRangeDate, numberForIncludeNextDay), "dd.MM.yyyy");
1113
-
1114
- this.ownRangeEnd = format(addDays(endRangeDate, daysDifference), "dd.MM.yyyy");
1115
-
1116
- this.setCorrectDateFormat();
1117
-
1118
- this.ownRange = [this.ownRangeStart, this.ownRangeEnd];
1119
- } else {
1120
- let nextDate = this.datesList.find((item) => item.endRange > this.dateRange.to);
1121
-
1122
- if (!nextDate) {
1123
- this.onClickShiftDatesList(action);
1124
-
1125
- nextDate = this.datesList.find((item) => item.endRange > this.dateRange.to);
1126
- }
1127
-
1128
- this.dateRange = {
1129
- from: nextDate.startRange,
1130
- to: nextDate.endRange,
1131
- };
1132
- }
1133
- } else {
1134
- if (this.period === OWN_PERIOD) {
1135
- this.ownRangeStart = format(
1136
- subDays(startRangeDate, daysDifference + numberForIncludeBeforeDay),
1137
- "dd.MM.yyyy",
1138
- );
1139
- this.ownRangeEnd = format(
1140
- subDays(endRangeDate, daysDifference + numberForIncludeNextDay),
1141
- "dd.MM.yyyy",
1142
- );
1143
-
1144
- this.setCorrectDateFormat();
1145
-
1146
- this.ownRange = [this.ownRangeStart, this.ownRangeEnd];
1147
- } else {
1148
- const reverseDatesList = [...this.datesList].reverse();
1149
-
1150
- let previousDate = reverseDatesList.find((item) => item.endRange < this.dateRange.to);
1151
-
1152
- if (!previousDate) {
1153
- this.onClickShiftDatesList(action);
1154
-
1155
- const reverseDatesList = [...this.datesList].reverse();
1156
-
1157
- previousDate = reverseDatesList.find((item) => item.endRange < this.dateRange.to);
1158
- }
1159
-
1160
- this.dateRange = {
1161
- from: previousDate.startRange,
1162
- to: previousDate.endRange,
1163
- };
1164
- }
1165
- }
1166
- },
1167
-
1168
- setDefaultPeriodForButton() {
1169
- const DateService = new DateServiceDefault();
1170
- const timeZone = "GMT";
1171
- const from = utcToZonedTime(fromUnixTime(this.dateRange.from), timeZone);
1172
- const to = utcToZonedTime(fromUnixTime(this.dateRange.to), timeZone);
1173
-
1174
- const isWeekPeriod =
1175
- String(from) === String(startOfWeek(from, { weekStartsOn: 1 })) &&
1176
- String(to) === String(endOfWeek(to, { weekStartsOn: 1 }));
1177
- const isMonthPeriod =
1178
- String(from) === String(startOfMonth(from)) &&
1179
- String(to) === String(endOfMonth(to)) &&
1180
- getMonth(from) === getMonth(to);
1181
- const isQuarterPeriod =
1182
- String(from) === String(startOfQuarter(from)) && String(to) === String(endOfQuarter(to));
1183
- const isYearPeriod =
1184
- String(from) === String(startOfYear(from)) && String(to) === String(endOfYear(to));
1185
- const isLastThirtyDaysPeriod =
1186
- String(to) === String(utcToZonedTime(fromUnixTime(DateService.nextTwoWeek(), timeZone))) &&
1187
- String(from) ===
1188
- String(utcToZonedTime(fromUnixTime(DateService.thirtyDaysAgo(), timeZone)));
1189
-
1190
- if (!this.modelValue.from && !this.modelValue.to) {
1191
- this.period = OWN_PERIOD;
1192
- } else if (isLastThirtyDaysPeriod) {
1193
- this.period = LAST_THIRTY_DAYS_PERIOD;
1194
- this.isShownDateMenu = false;
1195
- } else if (isYearPeriod) {
1196
- this.period = YEAR_PERIOD;
1197
- } else if (isMonthPeriod) {
1198
- this.period = MONTH_PERIOD;
1199
- } else if (isQuarterPeriod) {
1200
- this.period = QUARTER_PERIOD;
1201
- } else if (isWeekPeriod) {
1202
- this.period = WEEK_PERIOD;
1203
- } else {
1204
- this.period = OWN_PERIOD;
1205
-
1206
- if (this.dateRange.from && this.dateRange.to) {
1207
- this.ownRange = [this.dateRange.from, this.dateRange.to];
1208
-
1209
- this.changePeriodType(this.period);
1210
- }
1211
- }
1212
- },
1213
- },
1214
- };
1215
- </script>
1216
-
1217
- <i18n>
1218
- en:
1219
- lastThirtyDays: "Last 30 days <span> and 2 next two weeks </span>"
1220
- ownRange: "Own range"
1221
- week: "Week"
1222
- month: "Month"
1223
- quarter: "Quarter"
1224
- year: "Year"
1225
- dateFormatWithDot: Date should be in format 'dd.mm.yyyy'.
1226
- notCorrectMonthNumber: Wrong month number.
1227
- notCorrectDayNumber: Wrong day in month.
1228
- monthShort:
1229
- january: Jan
1230
- february: Feb
1231
- march: Mar
1232
- april: Apr
1233
- may: May
1234
- june: Jun
1235
- july: Jul
1236
- august: Aug
1237
- september: Sep
1238
- october: Oct
1239
- november: Nov
1240
- december: Dec
1241
- declinedMonth:
1242
- january: January
1243
- february: February
1244
- march: March
1245
- april: April
1246
- may: May
1247
- june: June
1248
- july: July
1249
- august: August
1250
- september: September
1251
- october: October
1252
- november: November
1253
- december: December
1254
- monthList:
1255
- january: January
1256
- february: February
1257
- march: March
1258
- april: April
1259
- may: May
1260
- june: June
1261
- july: July
1262
- august: August
1263
- september: September
1264
- october: October
1265
- november: November
1266
- december: December
1267
- ru:
1268
- lastThirtyDays: "Последние 30 дней <span> и 2 неделе вперед </span>"
1269
- ownRange: "Свой диапазон"
1270
- week: "Неделя"
1271
- month: "Месяц"
1272
- quarter: "Квартал"
1273
- year: "Год"
1274
- dateFormatWithDot: Дата должна быть в формате 'dd.mm.yyyy'.
1275
- notCorrectMonthNumber: Неверный номер месяца.
1276
- notCorrectDayNumber: Неверный день месяца.
1277
- monthShort:
1278
- january: Янв
1279
- february: Фев
1280
- march: Мар
1281
- april: Апр
1282
- may: Май
1283
- june: Июнь
1284
- july: Июль
1285
- august: Авг
1286
- september: Сен
1287
- october: Окт
1288
- november: Ноя
1289
- december: Дек
1290
- declinedMonth:
1291
- january: Января
1292
- february: Февраля
1293
- march: Марта
1294
- april: Апреля
1295
- may: Мая
1296
- june: Июня
1297
- july: Июля
1298
- august: Августа
1299
- september: Сентября
1300
- october: Октября
1301
- november: Ноября
1302
- december: Декабря
1303
- monthList:
1304
- january: Январь
1305
- february: Февраль
1306
- march: Март
1307
- april: Апрель
1308
- may: Май
1309
- june: Июн
1310
- july: Июл
1311
- august: Август
1312
- september: Сентябрь
1313
- october: Октябрь
1314
- november: Ноябрь
1315
- december: Декабрь
1316
- ua:
1317
- lastThirtyDays: "Останніх 30 днів <span> і 2 тижні вперед </span>"
1318
- ownRange: "Свій діапазон"
1319
- week: "Тиждень"
1320
- month: "Місяць"
1321
- quarter: "Квартал"
1322
- year: "Рік"
1323
- dateFormatWithDot: Дата повинна бути в форматі 'dd.mm.yyyy'.
1324
- notCorrectMonthNumber: Невірний номер місяця.
1325
- notCorrectDayNumber: Невірний день місяця.
1326
- monthShort:
1327
- january: Січ
1328
- february: Лют
1329
- march: Бер
1330
- april: Кві
1331
- may: Тра
1332
- june: Чер
1333
- july: Лип
1334
- august: Сер
1335
- september: Вер
1336
- october: Жов
1337
- november: Лис
1338
- december: Гру
1339
- declinedMonth:
1340
- january: Січня
1341
- february: Лютого
1342
- march: Березня
1343
- april: Квітня
1344
- may: Травня
1345
- june: Червня
1346
- july: Липня
1347
- august: Серпня
1348
- september: Вересня
1349
- october: Жовтня
1350
- november: Листопада
1351
- december: Грудня
1352
- monthList:
1353
- january: Січень
1354
- february: Лютий
1355
- march: Березень
1356
- april: Квітень
1357
- may: Травень
1358
- june: Червень
1359
- july: Липень
1360
- august: Серпень
1361
- september: Вересень
1362
- october: Жовтень
1363
- november: Листопад
1364
- december: Грудень
1365
- </i18n>
1366
-
1367
- <style lang="postcss" scoped>
1368
- .mono-datepicker-range {
1369
- @apply shrink-0;
1370
-
1371
- &-menu {
1372
- @apply absolute mt-2;
1373
- @apply rounded-xl border border-gray-300 bg-white shadow;
1374
- @apply z-20 w-80 p-2;
1375
-
1376
- &-wrapper {
1377
- @apply flex;
1378
- @apply space-x-1;
1379
- @apply mb-1;
1380
-
1381
- &:last-child {
1382
- @apply mb-0;
1383
- }
1384
- }
1385
-
1386
- &-datepicker-wrapper {
1387
- @apply flex space-x-1;
1388
- @apply mt-4;
1389
- }
1390
-
1391
- .focus-input {
1392
- :deep(.mono-input-block) {
1393
- @apply border-gray-500 ring-4 ring-gray-600 ring-opacity-15;
1394
- @apply z-10;
1395
- }
1396
- }
1397
-
1398
- &-input {
1399
- &:first-child {
1400
- :deep(.mono-input-block) {
1401
- @apply rounded-r-none;
1402
-
1403
- &:focus-within {
1404
- @apply z-10;
1405
- }
1406
- }
1407
- }
1408
-
1409
- &:last-child {
1410
- @apply ml-0 !important;
1411
-
1412
- :deep(.mono-input-block) {
1413
- @apply rounded-l-none;
1414
- }
1415
- }
1416
-
1417
- :deep(.mono-input) {
1418
- @apply text-sm;
1419
- @apply border-gray-100;
1420
- @apply px-4 py-2.5;
1421
- }
1422
- }
1423
-
1424
- &-button {
1425
- @apply flex flex-col items-center justify-center;
1426
- @apply text-center text-xs font-medium text-gray-900;
1427
- @apply rounded-lg bg-gray-900 bg-opacity-5;
1428
- @apply px-1.5 py-2.5;
1429
- @apply h-[3.125rem] w-full cursor-pointer;
1430
-
1431
- &:hover {
1432
- @apply bg-opacity-10;
1433
- }
1434
-
1435
- &:deep(span) {
1436
- @apply block font-normal text-gray-500;
1437
- }
1438
-
1439
- &-active {
1440
- @apply bg-opacity-15;
1441
- }
1442
- }
1443
-
1444
- &-range {
1445
- @apply flex items-center justify-between;
1446
- @apply mb-2.5 mt-4 px-2.5 py-2;
1447
-
1448
- &-value {
1449
- @apply text-sm font-medium text-gray-900;
1450
-
1451
- &-year {
1452
- @apply ml-1;
1453
- }
1454
- }
1455
- }
1456
-
1457
- &-list {
1458
- &-item {
1459
- @apply text-center text-sm font-medium text-gray-900;
1460
- @apply py-3;
1461
- @apply cursor-pointer;
1462
-
1463
- &:hover {
1464
- @apply rounded-lg bg-gray-50;
1465
- }
1466
-
1467
- &-active {
1468
- @apply rounded-lg bg-gray-900 bg-opacity-5;
1469
- @apply py-3;
1470
- }
1471
- }
1472
- }
1473
- }
1474
- }
1475
-
1476
- .icon {
1477
- @apply cursor-pointer;
1478
-
1479
- &:deep(g [fill]) {
1480
- @apply fill-current text-gray-900;
1481
- }
1482
- }
1483
-
1484
- .grid-menu {
1485
- @apply grid grid-cols-3 grid-rows-1 gap-0.5;
1486
-
1487
- .mono-datepicker-range-menu-list-item {
1488
- @apply py-3;
1489
- }
1490
- }
1491
-
1492
- .own-today {
1493
- @apply flex items-center justify-center;
1494
- @apply h-full rounded-lg bg-gray-900;
1495
- @apply text-white;
1496
- }
1497
-
1498
- .own-range {
1499
- @apply mt-6 pt-0.5;
1500
-
1501
- &-day {
1502
- @apply flex items-center justify-center;
1503
- @apply h-full bg-gray-900 bg-opacity-5;
1504
- }
1505
-
1506
- &-days {
1507
- @apply flex items-center justify-center;
1508
- @apply h-full;
1509
- }
1510
- }
1511
-
1512
- .first-own-range-day {
1513
- @apply flex items-center justify-center;
1514
- @apply h-full rounded-l-lg bg-gray-900 bg-opacity-10 font-medium;
1515
-
1516
- &:hover {
1517
- @apply bg-gray-100;
1518
- }
1519
-
1520
- &-block {
1521
- @apply h-full bg-white;
1522
- }
1523
- }
1524
-
1525
- .last-own-range-day {
1526
- @apply flex items-center justify-center;
1527
- @apply h-full rounded-r-lg bg-gray-900 bg-opacity-10 font-medium;
1528
-
1529
- &:hover {
1530
- @apply bg-gray-100;
1531
- }
1532
-
1533
- &-block {
1534
- @apply h-full bg-white;
1535
- }
1536
- }
1537
- </style>