vueless 0.0.8 → 0.0.10

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 (391) hide show
  1. package/package.json +4 -3
  2. package/.browserslistrc +0 -4
  3. package/.editorconfig +0 -12
  4. package/.eslintignore +0 -6
  5. package/.eslintrc.cjs +0 -66
  6. package/.storybook/configs/main.config.js +0 -20
  7. package/.storybook/decorators/vue3SourceDecorator.js +0 -119
  8. package/.storybook/index.pcss +0 -3
  9. package/.storybook/main.js +0 -20
  10. package/.storybook/manager-head.html +0 -10
  11. package/.storybook/manager.js +0 -6
  12. package/.storybook/preview-head.html +0 -72
  13. package/.storybook/preview.js +0 -42
  14. package/.storybook/themes/vueless.docs.theme.js +0 -41
  15. package/.storybook/themes/vueless.theme.js +0 -45
  16. package/.web-types-gen/index.js +0 -17
  17. package/.web-types-gen/lib/build.js +0 -252
  18. package/.web-types-gen/lib/config.js +0 -32
  19. package/index.pcss +0 -3
  20. package/postcss.config.js +0 -9
  21. package/public/images/logo.png +0 -0
  22. package/readme/README.md +0 -8
  23. package/readme/UGroup.md +0 -25
  24. package/readme/UNotify.md +0 -53
  25. package/readme/UPage.md +0 -37
  26. package/readme/UTopLoader.md +0 -27
  27. package/readme/customization.md +0 -347
  28. package/readme/installation.md +0 -139
  29. package/readme/storybook-pages/Customisation.mdx +0 -6
  30. package/readme/storybook-pages/Installation.mdx +0 -7
  31. package/src/composable.ui/index.js +0 -395
  32. package/src/service.storybook/index.js +0 -91
  33. package/src/service.tailwind/index.js +0 -110
  34. package/src/service.ui/index.js +0 -193
  35. package/src/ui.button/Docs.mdx +0 -16
  36. package/src/ui.button/composables/attrs.composable.js +0 -41
  37. package/src/ui.button/configs/default.config.js +0 -165
  38. package/src/ui.button/constants/index.js +0 -5
  39. package/src/ui.button/index.stories.js +0 -166
  40. package/src/ui.button/index.vue +0 -151
  41. package/src/ui.button-link/Docs.mdx +0 -16
  42. package/src/ui.button-link/composables/attrs.composable.js +0 -99
  43. package/src/ui.button-link/configs/default.config.js +0 -80
  44. package/src/ui.button-link/constants/index.js +0 -5
  45. package/src/ui.button-link/index.stories.js +0 -158
  46. package/src/ui.button-link/index.vue +0 -226
  47. package/src/ui.button-toggle/Docs.mdx +0 -16
  48. package/src/ui.button-toggle/composables/attrs.composable.js +0 -16
  49. package/src/ui.button-toggle/configs/default.config.js +0 -12
  50. package/src/ui.button-toggle/constants/index.js +0 -7
  51. package/src/ui.button-toggle/index.stories.js +0 -155
  52. package/src/ui.button-toggle/index.vue +0 -128
  53. package/src/ui.button-toggle-item/Docs.mdx +0 -16
  54. package/src/ui.button-toggle-item/composables/attrs.composable.js +0 -53
  55. package/src/ui.button-toggle-item/configs/default.config.js +0 -58
  56. package/src/ui.button-toggle-item/constants/index.js +0 -5
  57. package/src/ui.button-toggle-item/index.stories.js +0 -77
  58. package/src/ui.button-toggle-item/index.vue +0 -147
  59. package/src/ui.container-accordion/composables/attrs.composable.js +0 -45
  60. package/src/ui.container-accordion/configs/default.config.js +0 -32
  61. package/src/ui.container-accordion/constants/index.js +0 -5
  62. package/src/ui.container-accordion/index.stories.js +0 -89
  63. package/src/ui.container-accordion/index.vue +0 -95
  64. package/src/ui.container-card/Docs.mdx +0 -16
  65. package/src/ui.container-card/composable/attrs.composable.js +0 -56
  66. package/src/ui.container-card/configs/default.config.js +0 -31
  67. package/src/ui.container-card/constants/index.js +0 -5
  68. package/src/ui.container-card/index.stories.js +0 -170
  69. package/src/ui.container-card/index.vue +0 -146
  70. package/src/ui.container-divider/Docs.mdx +0 -16
  71. package/src/ui.container-divider/composables/attrs.composable.js +0 -65
  72. package/src/ui.container-divider/configs/default.config.js +0 -79
  73. package/src/ui.container-divider/constants/index.js +0 -5
  74. package/src/ui.container-divider/index.stories.js +0 -124
  75. package/src/ui.container-divider/index.vue +0 -138
  76. package/src/ui.container-group/Docs.mdx +0 -16
  77. package/src/ui.container-group/composables/attrs.composable.js +0 -44
  78. package/src/ui.container-group/configs/default.config.js +0 -29
  79. package/src/ui.container-group/constants/index.js +0 -5
  80. package/src/ui.container-group/index.stories.js +0 -88
  81. package/src/ui.container-group/index.vue +0 -106
  82. package/src/ui.container-groups/Docs.mdx +0 -16
  83. package/src/ui.container-groups/composables/attrs.composable.js +0 -12
  84. package/src/ui.container-groups/configs/default.config.js +0 -3
  85. package/src/ui.container-groups/index.stories.js +0 -45
  86. package/src/ui.container-groups/index.vue +0 -33
  87. package/src/ui.container-modal/Docs.mdx +0 -16
  88. package/src/ui.container-modal/composables/attrs.composable.js +0 -90
  89. package/src/ui.container-modal/configs/default.config.js +0 -69
  90. package/src/ui.container-modal/constants/index.js +0 -5
  91. package/src/ui.container-modal/index.stories.js +0 -170
  92. package/src/ui.container-modal/index.vue +0 -336
  93. package/src/ui.container-modal-confirm/Docs.mdx +0 -16
  94. package/src/ui.container-modal-confirm/composable/attrs.composable.js +0 -20
  95. package/src/ui.container-modal-confirm/configs/default.config.js +0 -15
  96. package/src/ui.container-modal-confirm/constants/index.js +0 -5
  97. package/src/ui.container-modal-confirm/index.stories.js +0 -209
  98. package/src/ui.container-modal-confirm/index.vue +0 -182
  99. package/src/ui.container-page/Docs.mdx +0 -16
  100. package/src/ui.container-page/composables/attrs.composable.js +0 -96
  101. package/src/ui.container-page/configs/default.config.js +0 -71
  102. package/src/ui.container-page/constants/index.js +0 -5
  103. package/src/ui.container-page/index.stories.js +0 -147
  104. package/src/ui.container-page/index.vue +0 -275
  105. package/src/ui.container-row/Docs.mdx +0 -16
  106. package/src/ui.container-row/composables/attrs.composable.js +0 -23
  107. package/src/ui.container-row/configs/default.config.js +0 -14
  108. package/src/ui.container-row/constants/index.js +0 -5
  109. package/src/ui.container-row/index.stories.js +0 -81
  110. package/src/ui.container-row/index.vue +0 -45
  111. package/src/ui.data-list/composables/attrs.composable.js +0 -45
  112. package/src/ui.data-list/configs/default.config.js +0 -32
  113. package/src/ui.data-list/constants/index.js +0 -5
  114. package/src/ui.data-list/index.stories.js +0 -91
  115. package/src/ui.data-list/index.vue +0 -259
  116. package/src/ui.data-table/Docs.mdx +0 -16
  117. package/src/ui.data-table/composables/attrs.composable.js +0 -188
  118. package/src/ui.data-table/configs/default.config.js +0 -88
  119. package/src/ui.data-table/constants/index.js +0 -5
  120. package/src/ui.data-table/index.stories.js +0 -261
  121. package/src/ui.data-table/index.vue +0 -730
  122. package/src/ui.data-table/services/table.service.js +0 -15
  123. package/src/ui.data-table-cell/composables/attrs.composable.js +0 -24
  124. package/src/ui.data-table-cell/configs/default.config.js +0 -19
  125. package/src/ui.data-table-cell/constants/index.js +0 -5
  126. package/src/ui.data-table-cell/index.vue +0 -44
  127. package/src/ui.dropdown-badge/Docs.mdx +0 -16
  128. package/src/ui.dropdown-badge/composables/attrs.composable.js +0 -63
  129. package/src/ui.dropdown-badge/configs/default.config.js +0 -34
  130. package/src/ui.dropdown-badge/constants/index.js +0 -5
  131. package/src/ui.dropdown-badge/index.stories.js +0 -126
  132. package/src/ui.dropdown-badge/index.vue +0 -234
  133. package/src/ui.dropdown-button/Docs.mdx +0 -16
  134. package/src/ui.dropdown-button/composables/attrs.composable.js +0 -63
  135. package/src/ui.dropdown-button/configs/default.config.js +0 -37
  136. package/src/ui.dropdown-button/constants/index.js +0 -14
  137. package/src/ui.dropdown-button/index.stories.js +0 -158
  138. package/src/ui.dropdown-button/index.vue +0 -271
  139. package/src/ui.dropdown-item/Docs.mdx +0 -16
  140. package/src/ui.dropdown-item/composables/attrs.composable.js +0 -13
  141. package/src/ui.dropdown-item/configs/default.config.js +0 -16
  142. package/src/ui.dropdown-item/index.stories.js +0 -30
  143. package/src/ui.dropdown-item/index.vue +0 -53
  144. package/src/ui.dropdown-link/Docs.mdx +0 -16
  145. package/src/ui.dropdown-link/composables/attrs.composable.js +0 -65
  146. package/src/ui.dropdown-link/configs/default.config.js +0 -37
  147. package/src/ui.dropdown-link/constants/index.js +0 -5
  148. package/src/ui.dropdown-link/index.stories.js +0 -127
  149. package/src/ui.dropdown-link/index.vue +0 -261
  150. package/src/ui.dropdown-list/Docs.mdx +0 -16
  151. package/src/ui.dropdown-list/composables/attrs.composable.js +0 -93
  152. package/src/ui.dropdown-list/composables/usePointer.js +0 -77
  153. package/src/ui.dropdown-list/configs/default.config.js +0 -74
  154. package/src/ui.dropdown-list/constants/index.js +0 -5
  155. package/src/ui.dropdown-list/index.stories.js +0 -76
  156. package/src/ui.dropdown-list/index.vue +0 -284
  157. package/src/ui.form-calendar/Docs.mdx +0 -52
  158. package/src/ui.form-calendar/components/DayView.vue +0 -268
  159. package/src/ui.form-calendar/components/MonthView.vue +0 -114
  160. package/src/ui.form-calendar/components/YearView.vue +0 -118
  161. package/src/ui.form-calendar/composables/attrs.composable.js +0 -106
  162. package/src/ui.form-calendar/configs/default.config.js +0 -125
  163. package/src/ui.form-calendar/constants/index.js +0 -71
  164. package/src/ui.form-calendar/index.stories.js +0 -59
  165. package/src/ui.form-calendar/index.vue +0 -743
  166. package/src/ui.form-calendar/services/calendar.service.js +0 -189
  167. package/src/ui.form-calendar/services/date.service.js +0 -282
  168. package/src/ui.form-calendar/services/formatting.service.js +0 -180
  169. package/src/ui.form-checkbox/Docs.mdx +0 -16
  170. package/src/ui.form-checkbox/composables/attrs.composable.js +0 -57
  171. package/src/ui.form-checkbox/configs/default.config.js +0 -69
  172. package/src/ui.form-checkbox/constants/index.js +0 -5
  173. package/src/ui.form-checkbox/index.stories.js +0 -147
  174. package/src/ui.form-checkbox/index.vue +0 -242
  175. package/src/ui.form-checkbox-group/Docs.mdx +0 -16
  176. package/src/ui.form-checkbox-group/composables/attrs.composable.js +0 -17
  177. package/src/ui.form-checkbox-group/configs/default.config.js +0 -5
  178. package/src/ui.form-checkbox-group/constants/index.js +0 -5
  179. package/src/ui.form-checkbox-group/index.stories.js +0 -45
  180. package/src/ui.form-checkbox-group/index.vue +0 -145
  181. package/src/ui.form-checkbox-multi-state/Docs.mdx +0 -16
  182. package/src/ui.form-checkbox-multi-state/composables/attrs.composable.js +0 -24
  183. package/src/ui.form-checkbox-multi-state/configs/default.config.js +0 -9
  184. package/src/ui.form-checkbox-multi-state/constants/index.js +0 -5
  185. package/src/ui.form-checkbox-multi-state/index.stories.js +0 -59
  186. package/src/ui.form-checkbox-multi-state/index.vue +0 -134
  187. package/src/ui.form-color-picker/composables/attrs.composable.js +0 -44
  188. package/src/ui.form-color-picker/configs/default.config.js +0 -52
  189. package/src/ui.form-color-picker/constants/index.js +0 -5
  190. package/src/ui.form-color-picker/index.stories.js +0 -63
  191. package/src/ui.form-color-picker/index.vue +0 -171
  192. package/src/ui.form-date-picker/Docs.mdx +0 -52
  193. package/src/ui.form-date-picker/composables/attrs.composable.js +0 -22
  194. package/src/ui.form-date-picker/configs/default.config.js +0 -26
  195. package/src/ui.form-date-picker/constants/index.js +0 -5
  196. package/src/ui.form-date-picker/index.stories.js +0 -132
  197. package/src/ui.form-date-picker/index.vue +0 -256
  198. package/src/ui.form-date-picker-range/composables/attrs.composable.js +0 -100
  199. package/src/ui.form-date-picker-range/configs/default.config.js +0 -172
  200. package/src/ui.form-date-picker-range/constants/index.js +0 -23
  201. package/src/ui.form-date-picker-range/index.stories.js +0 -135
  202. package/src/ui.form-date-picker-range/index.vue +0 -937
  203. package/src/ui.form-date-picker-range/services/dateRange.service.js +0 -116
  204. package/src/ui.form-date-picker-range/services/validation.service.js +0 -22
  205. package/src/ui.form-input/Docs.mdx +0 -16
  206. package/src/ui.form-input/assets/fonts/text-security-disc.woff +0 -0
  207. package/src/ui.form-input/composables/attrs.composable.js +0 -66
  208. package/src/ui.form-input/configs/default.config.js +0 -72
  209. package/src/ui.form-input/constants/index.js +0 -5
  210. package/src/ui.form-input/index.stories.js +0 -166
  211. package/src/ui.form-input/index.vue +0 -388
  212. package/src/ui.form-input-file/composables/attrs.composable.js +0 -82
  213. package/src/ui.form-input-file/configs/default.config.js +0 -59
  214. package/src/ui.form-input-file/constants/index.js +0 -5
  215. package/src/ui.form-input-file/index.stories.js +0 -86
  216. package/src/ui.form-input-file/index.vue +0 -387
  217. package/src/ui.form-input-money/Docs.mdx +0 -16
  218. package/src/ui.form-input-money/composables/attrs.composable.js +0 -13
  219. package/src/ui.form-input-money/composables/useFormatCurrency.js +0 -82
  220. package/src/ui.form-input-money/configs/default.config.js +0 -16
  221. package/src/ui.form-input-money/constants/index.js +0 -5
  222. package/src/ui.form-input-money/index.stories.js +0 -126
  223. package/src/ui.form-input-money/index.vue +0 -263
  224. package/src/ui.form-input-money/services/format.service.js +0 -72
  225. package/src/ui.form-input-number/Docs.mdx +0 -16
  226. package/src/ui.form-input-number/composables/attrs.composable.js +0 -47
  227. package/src/ui.form-input-number/configs/default.config.js +0 -33
  228. package/src/ui.form-input-number/constants/index.js +0 -5
  229. package/src/ui.form-input-number/index.stories.js +0 -103
  230. package/src/ui.form-input-number/index.vue +0 -162
  231. package/src/ui.form-input-rating/composables/attrs.composable.js +0 -34
  232. package/src/ui.form-input-rating/configs/default.config.js +0 -25
  233. package/src/ui.form-input-rating/constants/index.js +0 -5
  234. package/src/ui.form-input-rating/index.stories.js +0 -108
  235. package/src/ui.form-input-rating/index.vue +0 -186
  236. package/src/ui.form-input-search/composables/attrs.composable.js +0 -21
  237. package/src/ui.form-input-search/configs/default.config.js +0 -20
  238. package/src/ui.form-input-search/constants/index.js +0 -5
  239. package/src/ui.form-input-search/index.stories.js +0 -90
  240. package/src/ui.form-input-search/index.vue +0 -215
  241. package/src/ui.form-label/Docs.mdx +0 -16
  242. package/src/ui.form-label/composables/attrs.composable.js +0 -65
  243. package/src/ui.form-label/configs/default.config.js +0 -95
  244. package/src/ui.form-label/constants/index.js +0 -13
  245. package/src/ui.form-label/index.stories.js +0 -107
  246. package/src/ui.form-label/index.vue +0 -170
  247. package/src/ui.form-radio/Docs.mdx +0 -16
  248. package/src/ui.form-radio/composables/attrs.composable.js +0 -34
  249. package/src/ui.form-radio/configs/default.config.js +0 -47
  250. package/src/ui.form-radio/constants/index.js +0 -5
  251. package/src/ui.form-radio/index.stories.js +0 -71
  252. package/src/ui.form-radio/index.vue +0 -170
  253. package/src/ui.form-radio-card/Docs.mdx +0 -16
  254. package/src/ui.form-radio-card/composables/attrs.composable.js +0 -35
  255. package/src/ui.form-radio-card/configs/default.config.js +0 -25
  256. package/src/ui.form-radio-card/constants/index.js +0 -5
  257. package/src/ui.form-radio-card/index.stories.js +0 -149
  258. package/src/ui.form-radio-card/index.vue +0 -160
  259. package/src/ui.form-radio-card/services/variant.service.js +0 -15
  260. package/src/ui.form-radio-group/Docs.mdx +0 -16
  261. package/src/ui.form-radio-group/composables/attrs.composable.js +0 -27
  262. package/src/ui.form-radio-group/configs/default.config.js +0 -18
  263. package/src/ui.form-radio-group/constants/index.js +0 -5
  264. package/src/ui.form-radio-group/index.stories.js +0 -42
  265. package/src/ui.form-radio-group/index.vue +0 -128
  266. package/src/ui.form-select/Docs.mdx +0 -16
  267. package/src/ui.form-select/composables/attrs.composable.js +0 -172
  268. package/src/ui.form-select/configs/default.config.js +0 -138
  269. package/src/ui.form-select/constants/index.js +0 -19
  270. package/src/ui.form-select/index.stories.js +0 -339
  271. package/src/ui.form-select/index.vue +0 -722
  272. package/src/ui.form-select/services/select.service.js +0 -98
  273. package/src/ui.form-switch/composables/attrs.composable.js +0 -77
  274. package/src/ui.form-switch/configs/default.config.js +0 -76
  275. package/src/ui.form-switch/constants/index.js +0 -5
  276. package/src/ui.form-switch/index.stories.js +0 -93
  277. package/src/ui.form-switch/index.vue +0 -199
  278. package/src/ui.form-switch/services/variant.service.js +0 -31
  279. package/src/ui.form-textarea/Docs.mdx +0 -16
  280. package/src/ui.form-textarea/composables/attrs.composable.js +0 -52
  281. package/src/ui.form-textarea/configs/default.config.js +0 -68
  282. package/src/ui.form-textarea/constants/index.js +0 -5
  283. package/src/ui.form-textarea/index.stories.js +0 -151
  284. package/src/ui.form-textarea/index.vue +0 -284
  285. package/src/ui.image-avatar/composables/attrs.composable.js +0 -34
  286. package/src/ui.image-avatar/configs/default.config.js +0 -42
  287. package/src/ui.image-avatar/constants/index.js +0 -5
  288. package/src/ui.image-avatar/default-avatar.png +0 -0
  289. package/src/ui.image-avatar/index.stories.js +0 -107
  290. package/src/ui.image-avatar/index.vue +0 -121
  291. package/src/ui.image-icon/Docs.mdx +0 -16
  292. package/src/ui.image-icon/composables/attrs.composable.js +0 -65
  293. package/src/ui.image-icon/configs/default.config.js +0 -90
  294. package/src/ui.image-icon/constants/index.js +0 -5
  295. package/src/ui.image-icon/index.stories.js +0 -110
  296. package/src/ui.image-icon/index.vue +0 -223
  297. package/src/ui.image-logo/composables/attrs.composable.js +0 -41
  298. package/src/ui.image-logo/configs/default.config.js +0 -38
  299. package/src/ui.image-logo/constants/index.js +0 -5
  300. package/src/ui.image-logo/index.stories.js +0 -84
  301. package/src/ui.image-logo/index.vue +0 -98
  302. package/src/ui.loader-rendering/index.vue +0 -72
  303. package/src/ui.loader-rendering/store/index.js +0 -17
  304. package/src/ui.loader-top/components/TopProgress.vue +0 -277
  305. package/src/ui.loader-top/index.vue +0 -221
  306. package/src/ui.loader-top/store/index.js +0 -59
  307. package/src/ui.navigation-pagination/composables/attrs.composable.js +0 -41
  308. package/src/ui.navigation-pagination/configs/default.config.js +0 -24
  309. package/src/ui.navigation-pagination/constants/index.js +0 -8
  310. package/src/ui.navigation-pagination/index.stories.js +0 -52
  311. package/src/ui.navigation-pagination/index.vue +0 -276
  312. package/src/ui.navigation-stepper/composables/attrs.composable.js +0 -25
  313. package/src/ui.navigation-stepper/configs/default.config.js +0 -13
  314. package/src/ui.navigation-stepper/constants/index.js +0 -5
  315. package/src/ui.navigation-stepper/index.stories.js +0 -30
  316. package/src/ui.navigation-stepper/index.vue +0 -126
  317. package/src/ui.navigation-tab/composables/attrs.composable.js +0 -30
  318. package/src/ui.navigation-tab/configs/default.config.js +0 -22
  319. package/src/ui.navigation-tab/constants/index.js +0 -5
  320. package/src/ui.navigation-tab/index.stories.js +0 -57
  321. package/src/ui.navigation-tab/index.vue +0 -85
  322. package/src/ui.navigation-tabs/composables/attrs.composable.js +0 -24
  323. package/src/ui.navigation-tabs/configs/default.config.js +0 -14
  324. package/src/ui.navigation-tabs/constants/index.js +0 -5
  325. package/src/ui.navigation-tabs/index.stories.js +0 -69
  326. package/src/ui.navigation-tabs/index.vue +0 -99
  327. package/src/ui.notify/index.sto_ries.js +0 -102
  328. package/src/ui.notify/index.vue +0 -248
  329. package/src/ui.notify/services/index.js +0 -87
  330. package/src/ui.other-dot/composables/attrs.composable.js +0 -32
  331. package/src/ui.other-dot/configs/default.config.js +0 -21
  332. package/src/ui.other-dot/constants/index.js +0 -5
  333. package/src/ui.other-dot/index.stories.js +0 -77
  334. package/src/ui.other-dot/index.vue +0 -52
  335. package/src/ui.other-loader/composables/attrs.composable.js +0 -51
  336. package/src/ui.other-loader/configs/default.config.js +0 -47
  337. package/src/ui.other-loader/constants/index.js +0 -5
  338. package/src/ui.other-loader/index.stories.js +0 -78
  339. package/src/ui.other-loader/index.vue +0 -136
  340. package/src/ui.text-alert/composables/attrs.composable.js +0 -48
  341. package/src/ui.text-alert/configs/default.config.js +0 -51
  342. package/src/ui.text-alert/constatns/index.js +0 -5
  343. package/src/ui.text-alert/index.stories.js +0 -157
  344. package/src/ui.text-alert/index.vue +0 -122
  345. package/src/ui.text-badge/Docs.mdx +0 -16
  346. package/src/ui.text-badge/composables/attrs.composable.js +0 -49
  347. package/src/ui.text-badge/configs/default.config.js +0 -51
  348. package/src/ui.text-badge/constants/index.js +0 -5
  349. package/src/ui.text-badge/index.stories.js +0 -190
  350. package/src/ui.text-badge/index.vue +0 -120
  351. package/src/ui.text-block/composables/attrs.composable.js +0 -31
  352. package/src/ui.text-block/configs/default.config.js +0 -35
  353. package/src/ui.text-block/constatns/index.js +0 -5
  354. package/src/ui.text-block/index.stories.js +0 -112
  355. package/src/ui.text-block/index.vue +0 -76
  356. package/src/ui.text-empty/Docs.mdx +0 -16
  357. package/src/ui.text-empty/composables/attrs.composable.js +0 -43
  358. package/src/ui.text-empty/configs/default.config.js +0 -30
  359. package/src/ui.text-empty/constants/index.js +0 -5
  360. package/src/ui.text-empty/index.stories.js +0 -106
  361. package/src/ui.text-empty/index.vue +0 -95
  362. package/src/ui.text-file/composables/attrs.composable.js +0 -37
  363. package/src/ui.text-file/configs/default.config.js +0 -15
  364. package/src/ui.text-file/index.stories.js +0 -29
  365. package/src/ui.text-file/index.vue +0 -93
  366. package/src/ui.text-files/composables/attrs.composable.js +0 -19
  367. package/src/ui.text-files/configs/default.config.js +0 -9
  368. package/src/ui.text-files/constants/index.js +0 -5
  369. package/src/ui.text-files/index.stories.js +0 -32
  370. package/src/ui.text-files/index.vue +0 -87
  371. package/src/ui.text-header/Docs.mdx +0 -16
  372. package/src/ui.text-header/composables/attrs.composable.js +0 -34
  373. package/src/ui.text-header/configs/default.config.js +0 -45
  374. package/src/ui.text-header/constants/index.js +0 -5
  375. package/src/ui.text-header/index.stories.js +0 -106
  376. package/src/ui.text-header/index.vue +0 -83
  377. package/src/ui.text-money/Docs.mdx +0 -16
  378. package/src/ui.text-money/assets/credit.svg +0 -7
  379. package/src/ui.text-money/assets/debit.svg +0 -12
  380. package/src/ui.text-money/composables/attrs.composable.js +0 -65
  381. package/src/ui.text-money/configs/default.config.js +0 -69
  382. package/src/ui.text-money/constants/index.js +0 -7
  383. package/src/ui.text-money/index.stories.js +0 -265
  384. package/src/ui.text-money/index.vue +0 -204
  385. package/src/ui.text-money/services/money.services.js +0 -24
  386. package/src/ui.viewport/index.vue +0 -78
  387. package/src/ui.viewport/store/index.js +0 -47
  388. package/tailwind.config.js +0 -11
  389. package/vite.config.mjs +0 -39
  390. package/vueless.config.js +0 -7
  391. package/web-types.json +0 -7187
@@ -1,937 +0,0 @@
1
- <template>
2
- <div>
3
- <UInput
4
- v-if="isVariant.input"
5
- :id="id"
6
- v-model="userFormatDate"
7
- :label="label"
8
- :placeholder="placeholder"
9
- :error="error"
10
- :description="description"
11
- readonly
12
- :disabled="disabled"
13
- :size="size"
14
- v-bind="inputAttrs"
15
- @focus="activate"
16
- >
17
- <template #left>
18
- <slot name="left" />
19
- </template>
20
-
21
- <template #right-icon>
22
- <slot name="right-icon" />
23
- </template>
24
-
25
- <template #right>
26
- <slot name="right" />
27
- </template>
28
- </UInput>
29
-
30
- <div v-if="isVariant.button" v-bind="buttonWrapperAttrs">
31
- <UButton
32
- :disabled="disabled"
33
- :size="size"
34
- v-bind="shiftRangeButtonAttrs"
35
- @click="onClickShiftRange('prev')"
36
- >
37
- <UIcon interactive size="sm" :name="config.prevIconName" v-bind="prevIconAttrs" />
38
- </UButton>
39
-
40
- <UButton
41
- :id="id"
42
- :disabled="disabled"
43
- :size="size"
44
- :label="userFormatDate"
45
- v-bind="buttonAttrs"
46
- @click="activate"
47
- />
48
-
49
- <UButton
50
- :disabled="disabled"
51
- :size="size"
52
- v-bind="shiftRangeButtonAttrs"
53
- @click="onClickShiftRange('next')"
54
- >
55
- <UIcon interactive size="sm" :name="config.nextIconName" v-bind="nextIconAttrs" />
56
- </UButton>
57
- </div>
58
-
59
- <Transition v-bind="config.menuTransition">
60
- <div
61
- v-if="isShownMenu"
62
- ref="menuRef"
63
- tabindex="-1"
64
- v-bind="menuAttrs"
65
- @blur="onBlur"
66
- @keydown.esc="deactivate"
67
- @mouseleave="onMouseoutMenu"
68
- >
69
- <div v-bind="periodsRowAttrs">
70
- <div
71
- v-for="periodButton in periods"
72
- :key="periodButton.name"
73
- v-bind="periodButtonAttrs(getPeriodButtonsClasses(periodButton.name))"
74
- @click="onClickPeriodButton(periodButton.name)"
75
- >
76
- {{ periodButton.title }}
77
- </div>
78
- </div>
79
-
80
- <div v-bind="periodsRowAttrs">
81
- <div
82
- v-if="customRangeButton.range.to && customRangeButton.range.from"
83
- v-bind="periodButtonAttrs(getPeriodButtonsClasses(PERIOD.custom))"
84
- @click="onClickCustomRangeButton"
85
- >
86
- {{ customRangeButton.label }}
87
- <span v-if="customRangeButton.description" v-text="customRangeButton.description" />
88
- </div>
89
-
90
- <div
91
- v-bind="periodButtonAttrs(getPeriodButtonsClasses(PERIOD.ownRange))"
92
- @click="onClickOwnRange"
93
- >
94
- <UIcon name="apps" size="xs" />
95
-
96
- {{ locale.ownRange }}
97
- </div>
98
- </div>
99
-
100
- <template v-if="!isPeriod.ownRange && !isPeriod.custom">
101
- <div v-bind="rangeSwitchWrapperAttrs">
102
- <UIcon
103
- interactive
104
- color="grayscale"
105
- size="sm"
106
- :name="config.prevIconName"
107
- v-bind="prevIconAttrs"
108
- @click="onClickShiftDatesList('prev')"
109
- />
110
-
111
- <div v-bind="rangeSwitchTitleAttrs">
112
- {{ rangeSwitchTitle }}
113
- </div>
114
- <UIcon
115
- interactive
116
- class="icon"
117
- size="sm"
118
- :name="config.nextIconName"
119
- v-bind="nextIconAttrs"
120
- @click="onClickShiftDatesList('next')"
121
- />
122
- </div>
123
-
124
- <div v-bind="periodDateListAttrs(getPeriodDateListClasses())">
125
- <button
126
- v-for="date in periodDateList"
127
- :key="date.title"
128
- :disabled="isDatePeriodOutOfRange(date)"
129
- v-bind="periodDateAttrs(getPeriodDateClasses(date))"
130
- @click="selectDate(date), toggleMenu()"
131
- >
132
- {{ date.title }}
133
- </button>
134
- </div>
135
- </template>
136
-
137
- <div v-if="isPeriod.ownRange" v-bind="rangeInputWrapperAttrs">
138
- <UInput
139
- ref="rangeInputStartRef"
140
- v-model="rangeStart"
141
- :error="inputRangeStartError"
142
- v-bind="rangeInputAttrs"
143
- :name="rangeInputName"
144
- @input="onInputRangeInput($event, INPUT_RANGE_TYPE.start)"
145
- @blur="onBlurRangeInput"
146
- />
147
-
148
- <UInput
149
- ref="rangeInputEndRef"
150
- v-model="rangeEnd"
151
- :error="inputRangeEndError"
152
- v-bind="rangeInputAttrs"
153
- :name="rangeInputName"
154
- @input="onInputRangeInput($event, INPUT_RANGE_TYPE.end)"
155
- @blur="onBlurRangeInput"
156
- />
157
- </div>
158
-
159
- <div v-bind="inputRangeErrorAttrs">
160
- {{ inputRangeEndError || inputRangeStartError }}
161
- </div>
162
-
163
- <UCalendar
164
- v-if="isPeriod.ownRange"
165
- v-model="calendarValue"
166
- :min-date="minDate"
167
- :max-date="maxDate"
168
- v-bind="calendarAttrs"
169
- :date-format="RANGE_INPUT_FORMAT"
170
- range
171
- @mouseenter="onMouseoverCalendar"
172
- />
173
- </div>
174
- </Transition>
175
- </div>
176
- </template>
177
-
178
- <script setup>
179
- import { computed, watch, ref, nextTick } from "vue";
180
- import { useStore } from "vuex";
181
-
182
- import UIcon from "../ui.image-icon";
183
- import UInput from "../ui.form-input";
184
- import UButton from "../ui.button";
185
- import UCalendar from "../ui.form-calendar";
186
- import { LOCALE_TYPE } from "../ui.form-calendar/constants";
187
-
188
- import UIService, { getRandomId } from "../service.ui";
189
-
190
- import {
191
- addDays,
192
- gmtToUTC,
193
- getUnixTimestampFromDate,
194
- addMonths,
195
- addYears,
196
- getDateFromUnixTimestamp,
197
- getSortedLocale,
198
- utcToGMT,
199
- getEndOfMonth,
200
- getEndOfQuarter,
201
- getEndOfWeek,
202
- getEndOfYear,
203
- getStartOfMonth,
204
- getStartOfQuarter,
205
- getStartOfWeek,
206
- getStartOfYear,
207
- getDatesDifference,
208
- } from "../ui.form-calendar/services/date.service";
209
-
210
- import {
211
- dateIsOutOfRange,
212
- formatDate,
213
- parseDate,
214
- } from "../ui.form-calendar/services/calendar.service";
215
-
216
- import {
217
- getWeekDateList,
218
- getYearDateList,
219
- getQuartersDateList,
220
- getMonthsDateList,
221
- } from "./services/dateRange.service";
222
-
223
- import { wrongDateFormat, wrongMonthNumber, wrongDayNumber } from "./services/validation.service";
224
- import useAttrs from "./composables/attrs.composable";
225
- import defaultConfig from "./configs/default.config";
226
- import {
227
- UDatePickerRange,
228
- DATE_PICKER_BUTTON_TYPE,
229
- DATE_PICKER_INPUT_TYPE,
230
- PERIOD,
231
- RANGE_INPUT_FORMAT,
232
- INPUT_RANGE_TYPE,
233
- } from "./constants";
234
-
235
- /* Should be a string for correct web-types gen */
236
- defineOptions({ name: "UDatePickerRange", inheritAttrs: false });
237
-
238
- const props = defineProps({
239
- /**
240
- * Dater picker range value as object with from and to keys (timestamp).
241
- */
242
- modelValue: {
243
- type: Object,
244
- default: () => ({
245
- from: null,
246
- to: null,
247
- }),
248
- },
249
-
250
- /**
251
- * Custom range button.
252
- */
253
- customRangeButton: {
254
- type: Object,
255
- default: () => UIService.get(defaultConfig, UDatePickerRange).default.customRangeButton,
256
- },
257
-
258
- /**
259
- * The variant of the date picker.
260
- * @values button, input
261
- */
262
- variant: {
263
- type: String,
264
- default: UIService.get(defaultConfig, UDatePickerRange).default.variant,
265
- },
266
-
267
- /**
268
- * Min date in format date string or Date.
269
- */
270
- minDate: {
271
- type: [String, Date],
272
- default: UIService.get(defaultConfig, UDatePickerRange).default.minDate,
273
- },
274
-
275
- /**
276
- * Max date in format date string or Date.
277
- */
278
- maxDate: {
279
- type: [String, Date],
280
- default: UIService.get(defaultConfig, UDatePickerRange).default.maxDate,
281
- },
282
-
283
- /**
284
- * Datepicker size.
285
- * @values sm, md, lg
286
- */
287
- size: {
288
- type: String,
289
- default: UIService.get(defaultConfig, UDatePickerRange).default.size,
290
- },
291
-
292
- /**
293
- * Label text for input type.
294
- */
295
- label: {
296
- type: String,
297
- default: "",
298
- },
299
-
300
- /**
301
- * Input placeholder for input type.
302
- */
303
- placeholder: {
304
- type: String,
305
- default: "",
306
- },
307
-
308
- /**
309
- * Datepicker description for input type.
310
- */
311
- description: {
312
- type: String,
313
- default: "",
314
- },
315
-
316
- /**
317
- * Error message for input type.
318
- */
319
- error: {
320
- type: String,
321
- default: "",
322
- },
323
-
324
- /**
325
- * Disable component.
326
- */
327
- disabled: {
328
- type: Boolean,
329
- default: UIService.get(defaultConfig, UDatePickerRange).default.disabled,
330
- },
331
-
332
- /**
333
- * Unique element id.
334
- * @ignore
335
- */
336
- id: {
337
- type: String,
338
- default: () => getRandomId(),
339
- },
340
-
341
- /**
342
- * Component ui config object.
343
- */
344
- config: {
345
- type: Object,
346
- default: () => ({}),
347
- },
348
-
349
- /**
350
- * Data-cy attribute for automated testing.
351
- */
352
- dataCy: {
353
- type: String,
354
- default: "",
355
- },
356
- });
357
-
358
- const emit = defineEmits(["update:modelValue"]);
359
-
360
- const isShownMenu = ref(false);
361
-
362
- const {
363
- config,
364
- calendarAttrs,
365
- inputAttrs,
366
- menuAttrs,
367
- periodsRowAttrs,
368
- periodButtonAttrs,
369
- rangeSwitchWrapperAttrs,
370
- nextIconAttrs,
371
- prevIconAttrs,
372
- periodDateAttrs,
373
- periodDateListAttrs,
374
- rangeSwitchTitleAttrs,
375
- buttonWrapperAttrs,
376
- buttonAttrs,
377
- shiftRangeButtonAttrs,
378
- rangeInputAttrs,
379
- rangeInputWrapperAttrs,
380
- inputRangeErrorAttrs,
381
- } = useAttrs(props, { isShownMenu });
382
- const store = useStore();
383
-
384
- const calendarValue = ref(props.modelValue);
385
- const activeDate = ref(
386
- props.modelValue.from !== null ? getDateFromUnixTimestamp(props.modelValue.from) : new Date(),
387
- );
388
- const period = ref(PERIOD.ownRange);
389
- const periodDateList = ref(null);
390
- const rangeStart = ref("");
391
- const rangeEnd = ref("");
392
- const inputRangeStartError = ref("");
393
- const inputRangeEndError = ref("");
394
- const isHoverEvent = ref(false);
395
-
396
- const menuRef = ref(null);
397
- const rangeInputStartRef = ref(null);
398
- const rangeInputEndRef = ref(null);
399
-
400
- const localValue = computed({
401
- get: () => props.modelValue,
402
- set: (value) => {
403
- emit("update:modelValue", value);
404
-
405
- activeDate.value = getDateFromUnixTimestamp(value.from || new Date());
406
- },
407
- });
408
-
409
- const isMobileDevice = computed(() => store.getters["breakpoint/isMobileDevice"]);
410
-
411
- const rangeInputName = computed(() => `rangeInput-${props.id}`);
412
-
413
- const locale = computed(() => {
414
- const currentLocale = props.config.i18n || config.value.i18n;
415
- const formattedLocale = {
416
- ...currentLocale,
417
- months: {
418
- shorthand: getSortedLocale(currentLocale.months.shorthand, LOCALE_TYPE.month),
419
- longhand: getSortedLocale(currentLocale.months.longhand, LOCALE_TYPE.month),
420
- },
421
- weekdays: {
422
- shorthand: getSortedLocale(currentLocale.weekdays.shorthand, LOCALE_TYPE.day),
423
- longhand: getSortedLocale(currentLocale.weekdays.longhand, LOCALE_TYPE.day),
424
- },
425
- };
426
-
427
- return formattedLocale;
428
- });
429
-
430
- const periods = computed(() => [
431
- {
432
- name: PERIOD.week,
433
- title: locale.value.week,
434
- },
435
- {
436
- name: PERIOD.month,
437
- title: locale.value.month,
438
- },
439
- {
440
- name: PERIOD.quarter,
441
- title: locale.value.quarter,
442
- },
443
- {
444
- name: PERIOD.year,
445
- title: locale.value.year,
446
- },
447
- ]);
448
-
449
- const isPeriod = computed(() => {
450
- return {
451
- week: period.value === PERIOD.week,
452
- month: period.value === PERIOD.month,
453
- quarter: period.value === PERIOD.quarter,
454
- year: period.value === PERIOD.year,
455
- ownRange: period.value === PERIOD.ownRange,
456
- custom: period.value === PERIOD.custom,
457
- };
458
- });
459
-
460
- const rangeSwitchTitle = computed(() => {
461
- if (isPeriod.value.month || isPeriod.value.quarter) {
462
- return String(activeDate.value.getFullYear());
463
- }
464
-
465
- if (isPeriod.value.year) {
466
- return `${periodDateList.value.at(0).title} – ${periodDateList.value.at(-1).title}`;
467
- }
468
-
469
- if (isPeriod.value.week) {
470
- return `${locale.value.months.longhand[activeDate.value.getMonth()]} ${activeDate.value.getFullYear()}`;
471
- }
472
-
473
- return "";
474
- });
475
-
476
- const isVariant = computed(() => ({
477
- button: props.variant === DATE_PICKER_BUTTON_TYPE,
478
- input: props.variant === DATE_PICKER_INPUT_TYPE,
479
- }));
480
-
481
- const userFormatDate = computed(() => {
482
- if ((!localValue.value.from && !localValue.value.to) || !localValue.value.from) return "";
483
-
484
- let title = "";
485
-
486
- const isDefaultTitle = isPeriod.value.week || isPeriod.value.custom || isPeriod.value.ownRange;
487
-
488
- const from = getDateFromUnixTimestamp(localValue.value.from);
489
- const to = localValue.value.to !== null ? getDateFromUnixTimestamp(localValue.value.to) : null;
490
-
491
- if (isDefaultTitle) {
492
- let startMonthName = locale.value.months.longhand[from.getMonth()];
493
- let startYear = from.getFullYear();
494
- let endMonthName = locale.value.months.longhand[to?.getMonth()];
495
- let endYear = to?.getFullYear();
496
-
497
- if (startMonthName === endMonthName && endMonthName === endYear) {
498
- startMonthName = "";
499
- }
500
-
501
- if (startYear.year === endYear) {
502
- startYear = "";
503
- }
504
-
505
- const fromTitle = `${from.getDate()} ${startMonthName} ${startYear}`;
506
- const toTitle = to ? `${to.getDate()} ${endMonthName} ${endYear}` : "";
507
-
508
- title = `${fromTitle} – ${toTitle}`;
509
- }
510
-
511
- if (isPeriod.value.month) {
512
- const startMonthName = locale.value.months.longhand[from.getMonth()];
513
- const startYear = from.getFullYear();
514
-
515
- title = `${startMonthName} ${startYear}`;
516
- }
517
-
518
- if (isPeriod.value.quarter || isPeriod.value.year) {
519
- const startMonthName = locale.value.months.longhand[from.getMonth()];
520
- const endMonthName = locale.value.months.longhand[to?.getMonth()];
521
- const endYear = to?.getFullYear();
522
-
523
- const fromTitle = `${from.getDate()} ${startMonthName}`;
524
- const toTitle = to ? `${to.getDate()} ${endMonthName} ${endYear}` : "";
525
-
526
- title = `${fromTitle} – ${toTitle}`;
527
- }
528
-
529
- if (isMobileDevice.value && !isPeriod.value.month && isVariant.value.button) {
530
- const startDay = String(from.getDate()).padStart(2, "0");
531
- const endDay = String(to?.getDate())?.padStart(2, "0");
532
- const startMonth = String(from.getMonth()).padStart(2, "0");
533
- const endMonth = String(to?.getMonth())?.padStart(2, "0");
534
-
535
- const fromTitle = `${startDay}.${startMonth}`;
536
- const toTitle = to ? `${endDay}.${endMonth} / ${to.getFullYear}` : "";
537
-
538
- title = `${fromTitle} – ${toTitle}`;
539
- }
540
-
541
- return title;
542
- });
543
-
544
- watch(
545
- calendarValue,
546
- () => {
547
- localValue.value = {
548
- from:
549
- calendarValue.value.from === null
550
- ? calendarValue.value.from
551
- : getUnixTimestampFromDate(gmtToUTC(getDateFromUnixTimestamp(calendarValue.value.from))),
552
- to:
553
- calendarValue.value.to === null
554
- ? calendarValue.value.to
555
- : getUnixTimestampFromDate(gmtToUTC(getDateFromUnixTimestamp(calendarValue.value.to))),
556
- };
557
-
558
- nextTick(() => menuRef.value?.focus());
559
- },
560
- { deep: true },
561
- );
562
-
563
- watch(
564
- () => props.modelValue,
565
- () => {
566
- if (props.modelValue.to !== calendarValue.value.to) {
567
- calendarValue.value.to = props.modelValue.to;
568
- }
569
-
570
- if (props.modelValue.from !== calendarValue.value.from) {
571
- calendarValue.value.from = props.modelValue.from;
572
- }
573
-
574
- rangeStart.value = props.modelValue.from
575
- ? formatDate(
576
- getDateFromUnixTimestamp(props.modelValue.from),
577
- RANGE_INPUT_FORMAT,
578
- locale.value,
579
- )
580
- : "";
581
-
582
- rangeEnd.value = props.modelValue.to
583
- ? formatDate(getDateFromUnixTimestamp(props.modelValue.to), RANGE_INPUT_FORMAT, locale.value)
584
- : "";
585
-
586
- inputRangeStartError.value = "";
587
- inputRangeEndError.value = "";
588
- },
589
- { deep: true, immediate: true },
590
- );
591
-
592
- watch(period, () => {
593
- activeDate.value =
594
- localValue.value.from !== null ? getDateFromUnixTimestamp(localValue.value.from) : new Date();
595
- });
596
-
597
- function onClickPeriodButton(periodName) {
598
- const localDate =
599
- localValue.value.from !== null ? getDateFromUnixTimestamp(localValue.value.from) : new Date();
600
-
601
- if (periodName === PERIOD.week) {
602
- periodDateList.value = getWeekDateList(localDate, config.value.i18n.months.shorthand);
603
-
604
- period.value = PERIOD.week;
605
- }
606
-
607
- if (periodName === PERIOD.month) {
608
- periodDateList.value = getMonthsDateList(localDate, locale.value.months.longhand);
609
-
610
- period.value = PERIOD.month;
611
- }
612
-
613
- if (periodName === PERIOD.quarter) {
614
- periodDateList.value = getQuartersDateList(localDate, locale.value.quarter);
615
-
616
- period.value = PERIOD.quarter;
617
- }
618
-
619
- if (periodName === PERIOD.year) {
620
- periodDateList.value = getYearDateList(localDate);
621
-
622
- period.value = PERIOD.year;
623
- }
624
-
625
- selectDate(periodDateList.value.at(0));
626
- }
627
-
628
- function onClickOwnRange() {
629
- period.value = PERIOD.ownRange;
630
- }
631
-
632
- function selectDate(date) {
633
- localValue.value = {
634
- from: date.startRange,
635
- to: date.endRange,
636
- };
637
- }
638
-
639
- function toggleMenu() {
640
- isShownMenu.value = !isShownMenu.value;
641
- }
642
-
643
- function onClickCustomRangeButton() {
644
- selectCustomRange();
645
-
646
- isShownMenu.value = false;
647
- period.value = PERIOD.custom;
648
- }
649
-
650
- function selectCustomRange() {
651
- const from =
652
- typeof props.customRangeButton.range.from === "number"
653
- ? getDateFromUnixTimestamp(props.customRangeButton.range.from)
654
- : props.customRangeButton.range.from;
655
-
656
- const to =
657
- typeof props.customRangeButton.range.to === "number"
658
- ? getDateFromUnixTimestamp(props.customRangeButton.range.to)
659
- : props.customRangeButton.range.to;
660
-
661
- localValue.value = {
662
- from: getUnixTimestampFromDate(gmtToUTC(from)),
663
- to: getUnixTimestampFromDate(gmtToUTC(to)),
664
- };
665
- }
666
-
667
- function isDatePeriodOutOfRange(datePeriod) {
668
- return (
669
- dateIsOutOfRange(
670
- getDateFromUnixTimestamp(datePeriod.startRange),
671
- props.minDate,
672
- props.maxDate,
673
- locale.value,
674
- RANGE_INPUT_FORMAT,
675
- ) ||
676
- dateIsOutOfRange(
677
- getDateFromUnixTimestamp(datePeriod.endRange),
678
- props.minDate,
679
- props.maxDate,
680
- RANGE_INPUT_FORMAT,
681
- )
682
- );
683
- }
684
-
685
- function onClickShiftDatesList(action) {
686
- const defaultRange = action === "prev" ? -1 : 1;
687
- const yearRange = action === "prev" ? -12 : 12;
688
-
689
- if (isPeriod.value.week) {
690
- activeDate.value = addMonths(activeDate.value, defaultRange);
691
- periodDateList.value = getWeekDateList(activeDate.value, config.value.i18n.months.shorthand);
692
- }
693
-
694
- if (isPeriod.value.month) {
695
- activeDate.value = addYears(activeDate.value, defaultRange);
696
- periodDateList.value = getMonthsDateList(activeDate.value, locale.value.months.longhand);
697
- }
698
-
699
- if (isPeriod.value.quarter) {
700
- activeDate.value = addYears(activeDate.value, defaultRange);
701
- periodDateList.value = getQuartersDateList(activeDate.value, locale.value.quarter);
702
- }
703
-
704
- if (isPeriod.value.year) {
705
- activeDate.value = addYears(activeDate.value, yearRange);
706
- periodDateList.value = getYearDateList(activeDate.value);
707
- }
708
- }
709
-
710
- function getPeriodButtonsClasses(periodName) {
711
- return period.value === periodName ? [config.value.periodButtonActive] : [];
712
- }
713
-
714
- function getPeriodDateClasses(date) {
715
- return localValue.value.from === date.startRange ? [config.value.periodDateActive] : [];
716
- }
717
-
718
- function getPeriodDateListClasses() {
719
- if (isPeriod.value.ownRange) return [];
720
- if (isPeriod.value.week) return [config.value.periodDateWeekList];
721
- if (isPeriod.value.month) return [config.value.periodDateMonthList];
722
- if (isPeriod.value.quarter) return [config.value.periodDateQuarterList];
723
- if (isPeriod.value.year) return [config.value.periodDateYearList];
724
- }
725
-
726
- function activate() {
727
- isShownMenu.value = true;
728
-
729
- nextTick(() => menuRef.value.focus());
730
- }
731
-
732
- function deactivate() {
733
- isShownMenu.value = false;
734
-
735
- isHoverEvent.value = false;
736
- }
737
-
738
- function onBlur(event) {
739
- const { relatedTarget } = event;
740
-
741
- if (!menuRef.value.contains(relatedTarget)) {
742
- deactivate();
743
- }
744
- }
745
-
746
- function onBlurRangeInput(event) {
747
- const { relatedTarget } = event;
748
-
749
- menuRef.value.focus();
750
-
751
- if (!menuRef.value.contains(relatedTarget) && !isHoverEvent.value) {
752
- deactivate();
753
- }
754
-
755
- isHoverEvent.value = false;
756
- }
757
-
758
- function onInputRangeInput(value, type) {
759
- const isInvalidDateFormat = !wrongDateFormat(value);
760
- const isInvalidMonthNumber = !wrongMonthNumber(value);
761
- const isInvalidDayNumber = !wrongDayNumber(value);
762
-
763
- let error = "";
764
-
765
- if (isInvalidDateFormat && value) {
766
- error = locale.value.dateFormatWithDot;
767
- } else if (isInvalidMonthNumber && value) {
768
- error = locale.value.notCorrectMonthNumber;
769
- } else if (isInvalidDayNumber && value) {
770
- error = locale.value.notCorrectDayNumber;
771
- }
772
-
773
- if (type === INPUT_RANGE_TYPE.start) {
774
- inputRangeStartError.value = error;
775
- }
776
-
777
- if (type === INPUT_RANGE_TYPE.end) {
778
- inputRangeEndError.value = error;
779
- }
780
-
781
- const parsedValue = gmtToUTC(parseDate(value || new Date(), RANGE_INPUT_FORMAT, locale.value));
782
- const unixTimeValue = getUnixTimestampFromDate(parsedValue);
783
- const isOutOfRange = dateIsOutOfRange(
784
- parsedValue,
785
- props.minDate,
786
- props.maxDate,
787
- locale.value,
788
- RANGE_INPUT_FORMAT,
789
- );
790
- const isToLessThanFrom = unixTimeValue <= localValue.value.from;
791
-
792
- if (type === INPUT_RANGE_TYPE.start && !error && !isOutOfRange) {
793
- localValue.value.from = value ? unixTimeValue : "";
794
- }
795
-
796
- if (type === INPUT_RANGE_TYPE.end && !error && !isOutOfRange && !isToLessThanFrom) {
797
- localValue.value.to = value ? unixTimeValue : "";
798
- }
799
- }
800
-
801
- setDefaultPeriodForButton();
802
-
803
- function setDefaultPeriodForButton() {
804
- const from = utcToGMT(getDateFromUnixTimestamp(props.modelValue.to || new Date()));
805
- const to = utcToGMT(getDateFromUnixTimestamp(props.modelValue.from || new Date()));
806
-
807
- const isWeekPeriod =
808
- String(from) === String(getStartOfWeek(from, { weekStartsOn: 1 })) &&
809
- String(to) === String(getEndOfWeek(to, { weekStartsOn: 1 }));
810
- const isMonthPeriod =
811
- String(from) === String(getStartOfMonth(from)) &&
812
- String(to) === String(getEndOfMonth(to)) &&
813
- from.getMonth() === to.getMonth();
814
- const isQuarterPeriod =
815
- String(from) === String(getStartOfQuarter(from)) && String(to) === String(getEndOfQuarter(to));
816
- const isYearPeriod =
817
- String(from) === String(getStartOfYear(from)) && String(to) === String(getEndOfYear(to));
818
-
819
- if (!props.modelValue.from && !props.modelValue.to) {
820
- period.value = PERIOD.ownRange;
821
- } else if (isYearPeriod) {
822
- period.value = PERIOD.year;
823
- } else if (isMonthPeriod) {
824
- period.value = PERIOD.month;
825
- } else if (isQuarterPeriod) {
826
- period.value = PERIOD.quarter;
827
- } else if (isWeekPeriod) {
828
- period.value = PERIOD.week;
829
- } else {
830
- period.value = PERIOD.ownRange;
831
- }
832
- }
833
-
834
- function onClickShiftRange(action) {
835
- if (isPeriod.value.custom) {
836
- period.value = PERIOD.ownRange;
837
- }
838
-
839
- const millisecondsPerSecond = 1000;
840
- const secondsPerMinute = 60;
841
- const minutesPerHour = 60;
842
- const hoursPerDay = 24;
843
-
844
- const millisecondsPerDay =
845
- millisecondsPerSecond * secondsPerMinute * minutesPerHour * hoursPerDay;
846
-
847
- const from = getDateFromUnixTimestamp(localValue.value.from);
848
- const to = localValue.value.to ? getDateFromUnixTimestamp(localValue.value.to) : addDays(from, 1);
849
- const daysDifference = Math.ceil(Math.abs(getDatesDifference(from, to)) / millisecondsPerDay);
850
-
851
- if (action === "next") {
852
- if (isPeriod.value.ownRange) {
853
- const nextDate = {
854
- to: getUnixTimestampFromDate(addDays(to, daysDifference)),
855
- from: getUnixTimestampFromDate(addDays(from, daysDifference)),
856
- };
857
-
858
- if (isDatePeriodOutOfRange(nextDate)) return;
859
-
860
- localValue.value = nextDate;
861
- } else {
862
- let nextDate = periodDateList.value.find((item) => item.endRange > localValue.value.to);
863
-
864
- if (!nextDate) {
865
- onClickShiftDatesList(action);
866
-
867
- nextDate = periodDateList.value.find((item) => item.endRange > localValue.value.to);
868
- }
869
-
870
- if (isDatePeriodOutOfRange(nextDate)) return;
871
-
872
- localValue.value = {
873
- from: nextDate.startRange,
874
- to: nextDate.endRange,
875
- };
876
- }
877
- } else {
878
- if (isPeriod.value.ownRange) {
879
- const previousDate = {
880
- to: getUnixTimestampFromDate(gmtToUTC(addDays(to, daysDifference * -1))),
881
- from: getUnixTimestampFromDate(gmtToUTC(addDays(from, daysDifference * -1))),
882
- };
883
-
884
- if (isDatePeriodOutOfRange(previousDate)) return;
885
-
886
- localValue.value = previousDate;
887
- } else {
888
- const reverseDatesList = [...periodDateList.value].reverse();
889
-
890
- let previousDate = reverseDatesList.find((item) => item.endRange < localValue.value.to);
891
-
892
- if (!previousDate) {
893
- onClickShiftDatesList(action);
894
-
895
- const reverseDatesList = [...periodDateList.value].reverse();
896
-
897
- previousDate = reverseDatesList.find((item) => item.endRange < localValue.value.to);
898
- }
899
-
900
- if (isDatePeriodOutOfRange(previousDate)) return;
901
-
902
- localValue.value = {
903
- from: previousDate.startRange,
904
- to: previousDate.endRange,
905
- };
906
- }
907
- }
908
- }
909
-
910
- function onMouseoverCalendar() {
911
- const isRangeInputFocus = document.activeElement.name === rangeInputName.value;
912
-
913
- if (isRangeInputFocus || !rangeInputStartRef.value || !rangeInputEndRef.value) return;
914
-
915
- if ((rangeStart.value && rangeEnd.value && !inputRangeEndError.value) || !rangeStart.value) {
916
- rangeInputStartRef.value.input.focus();
917
-
918
- return;
919
- }
920
-
921
- if (rangeStart.value && !rangeEnd.value && !inputRangeStartError.value) {
922
- rangeInputEndRef.value.input.focus();
923
-
924
- return;
925
- }
926
- }
927
-
928
- function onMouseoutMenu() {
929
- const isRangeInputFocus = document.activeElement.name === rangeInputName.value;
930
-
931
- if (isRangeInputFocus) {
932
- isHoverEvent.value = true;
933
-
934
- document.activeElement.blur();
935
- }
936
- }
937
- </script>