aloha-vue 2.62.0 → 2.63.0

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 (429) hide show
  1. package/CHANGELOG.md +1070 -1061
  2. package/dist/aloha-vue.css +14 -6
  3. package/dist/aloha-vue.css.map +1 -1
  4. package/dist/aloha-vue.es.js +17124 -16970
  5. package/dist/aloha-vue.umd.js +69 -69
  6. package/package.json +99 -99
  7. package/scss/_base.scss +62 -62
  8. package/scss/aloha-vue.scss +68 -68
  9. package/scss/components/AFilters.scss +304 -304
  10. package/scss/components/AFormElement/AValidatedJson.scss +6 -6
  11. package/scss/components/AMenu.scss +627 -627
  12. package/scss/components/AModal.scss +44 -44
  13. package/scss/components/APagination.scss +167 -167
  14. package/scss/components/ARate.scss +78 -78
  15. package/scss/components/AResizer.scss +63 -63
  16. package/scss/components/ATable.scss +819 -819
  17. package/scss/components/ATableForm.scss +309 -288
  18. package/scss/components/AVerticalScroll.scss +47 -47
  19. package/scss/components/AWizard.scss +669 -669
  20. package/scss/components/ui/ADatepicker.scss +342 -342
  21. package/scss/components/ui/ADatepickerRange.scss +45 -45
  22. package/scss/components/ui/AFieldset.scss +78 -78
  23. package/scss/components/ui/AInputNumber.scss +62 -62
  24. package/scss/components/ui/AInputNumberRange.scss +30 -30
  25. package/scss/components/ui/ASelect.scss +236 -236
  26. package/scss/components/ui/ASlider.scss +186 -186
  27. package/scss/components/ui/ASwitch.scss +148 -148
  28. package/scss/components/ui/ui.scss +254 -254
  29. package/scss/text/text_alignment.scss +39 -39
  30. package/scss/text/text_transform.scss +51 -51
  31. package/scss/text/text_wrapping.scss +40 -40
  32. package/scss/utils/badge.scss +45 -45
  33. package/scss/utils/checkbox_radio.scss +134 -134
  34. package/scss/utils/color.scss +46 -46
  35. package/scss/utils/dropdown.scss +185 -185
  36. package/scss/utils/list.scss +75 -75
  37. package/scss/utils/modal.scss +173 -173
  38. package/scss/utils/sizing.scss +137 -137
  39. package/scss/utils/spacing.scss +63 -63
  40. package/scss/utils/tooltip.scss +63 -63
  41. package/src/AAccordion/AAccordion.js +206 -206
  42. package/src/AAccordion/compositionAPI/IndexesForOpenAPI.js +63 -63
  43. package/src/AAccordion/compositionAPI/ToggleAPI.js +85 -85
  44. package/src/AAlert/AAlert.js +216 -216
  45. package/src/AAlert/compositionAPI/ClassAPI.js +21 -21
  46. package/src/AAlert/i18n/AAlertI18n.js +19 -19
  47. package/src/AAlert/i18n/ar.json +2 -2
  48. package/src/AAlert/i18n/de.json +2 -2
  49. package/src/AAlert/i18n/en.json +2 -2
  50. package/src/AAlert/i18n/es.json +2 -2
  51. package/src/AAlert/i18n/fr.json +2 -2
  52. package/src/AAlert/i18n/hr.json +2 -2
  53. package/src/AAlert/i18n/it.json +2 -2
  54. package/src/AAlert/i18n/ru.json +2 -2
  55. package/src/AButton/AButton.js +275 -275
  56. package/src/ACarousel/ACarousel.js +361 -361
  57. package/src/ACarousel/ACarouselBtn/ACarouselBtn.js +75 -75
  58. package/src/ACarousel/ACarouselBtn/compositionAPI/ClassAPI.js +16 -16
  59. package/src/ACarousel/ACarouselBtn/compositionAPI/TextAPI.js +25 -25
  60. package/src/ACarousel/ACarouselControls/ACarouselControls.js +114 -114
  61. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/ACarouselControlsIndicator.js +146 -146
  62. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/ActiveAPI.js +33 -33
  63. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/AttributesAPI.js +40 -40
  64. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/EventsAPI.js +25 -25
  65. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/IconAPI.js +20 -20
  66. package/src/ACarousel/ACarouselControls/compositionAPI/AriaLabelAPI.js +20 -20
  67. package/src/ACarousel/ACarouselItem/ACarouselItem.js +83 -83
  68. package/src/ACarousel/ACarouselItem/compositionAPI/AttributesAPI.js +39 -39
  69. package/src/ACarousel/ACarouselItem/compositionAPI/IsActiveAPI.js +21 -21
  70. package/src/ACarousel/compositionAPI/ActiveAPI.js +111 -111
  71. package/src/ACarousel/compositionAPI/AriaLabelAPI.js +25 -25
  72. package/src/ACarousel/compositionAPI/ArrowsAPI.js +17 -17
  73. package/src/ACarousel/compositionAPI/ClassAPI.js +44 -44
  74. package/src/ACarousel/compositionAPI/DataAPI.js +41 -41
  75. package/src/ACarousel/compositionAPI/IndicatorsAPI.js +148 -148
  76. package/src/ACarousel/compositionAPI/TextsAPI.js +25 -25
  77. package/src/ACarousel/i18n/ACarouselI18n.js +19 -19
  78. package/src/ACarousel/i18n/ar.json +8 -8
  79. package/src/ACarousel/i18n/de.json +8 -8
  80. package/src/ACarousel/i18n/en.json +8 -8
  81. package/src/ACarousel/i18n/es.json +8 -8
  82. package/src/ACarousel/i18n/fr.json +8 -8
  83. package/src/ACarousel/i18n/hr.json +8 -8
  84. package/src/ACarousel/i18n/it.json +8 -8
  85. package/src/ACarousel/i18n/ru.json +8 -8
  86. package/src/ACollapse/ACollapse.js +103 -103
  87. package/src/ADropdown/ADropdown.js +544 -544
  88. package/src/ADropdown/ADropdownGroup.js +85 -85
  89. package/src/ADropdown/compositionAPI/ActionsAPI.js +147 -147
  90. package/src/ADropdown/compositionAPI/AttributesAPI.js +100 -100
  91. package/src/AElement/AElement.js +518 -518
  92. package/src/AElement/compositionAPI/AttributesAPI.js +51 -51
  93. package/src/AElement/compositionAPI/ClickAPI.js +30 -30
  94. package/src/AElement/compositionAPI/ComponentLocalAPI.js +23 -23
  95. package/src/AElement/compositionAPI/DisabledAPI.js +22 -22
  96. package/src/AElement/compositionAPI/HtmlTitleAPI.js +33 -33
  97. package/src/AElement/compositionAPI/KeydownAPI.js +35 -35
  98. package/src/AElement/compositionAPI/LoadingAPI.js +22 -22
  99. package/src/AElement/compositionAPI/RouterLinkAPI.js +20 -20
  100. package/src/AElement/compositionAPI/SwitchAPI.js +33 -33
  101. package/src/AElement/compositionAPI/TagAPI.js +34 -34
  102. package/src/AElement/compositionAPI/TextAPI.js +78 -78
  103. package/src/AElement/compositionAPI/TitleAPI.js +29 -29
  104. package/src/AFilters/AFilterCenter/AFilterCenter.js +154 -154
  105. package/src/AFilters/AFilterCenter/AFilterCenterItem/AFilterCenterItem.js +207 -207
  106. package/src/AFilters/AFilters/AFilters.js +282 -282
  107. package/src/AFilters/i18n/ar.json +30 -30
  108. package/src/AFilters/i18n/en.json +30 -30
  109. package/src/AFilters/i18n/es.json +30 -30
  110. package/src/AFilters/i18n/fr.json +30 -30
  111. package/src/AFilters/i18n/hr.json +30 -30
  112. package/src/AFilters/i18n/it.json +30 -30
  113. package/src/AFilters/i18n/ru.json +30 -30
  114. package/src/AGroupButtonDropdown/compositionAPI/ActionsAPI.js +143 -143
  115. package/src/ALink/ALink.js +253 -253
  116. package/src/AMenu/AMenu.js +578 -578
  117. package/src/AMenu/AMenuBreadcrumbs/compositionAPI/RenderTruncatedAPI.js +74 -74
  118. package/src/AMenu/AMenuButtonToggle/AMenuButtonToggle.js +94 -94
  119. package/src/AMenu/AMenuButtonToggle/compositionAPI/ToggleAPI.js +95 -95
  120. package/src/AMenu/AMenuPanelLink/AMenuPanelLink.js +250 -250
  121. package/src/AMenu/compositionAPI/BackdropAPI.js +42 -42
  122. package/src/AMenu/compositionAPI/KeydownAPI.js +197 -197
  123. package/src/AMenu/compositionAPI/LinkClickAPI.js +48 -48
  124. package/src/AMenu/compositionAPI/MenuAttributesAPI.js +51 -51
  125. package/src/AMenu/compositionAPI/PanelsAPI.js +78 -78
  126. package/src/AMenu/compositionAPI/ResizeAPI.js +74 -74
  127. package/src/AModal/AModal.js +530 -530
  128. package/src/AModalForm/AModalForm.js +383 -383
  129. package/src/AModalWizard/AModalWizard.js +563 -563
  130. package/src/ANotification/ANotification.js +60 -60
  131. package/src/APagination/APagination.js +111 -111
  132. package/src/APagination/APaginationCountPerPage/APaginationCountPerPage.js +209 -209
  133. package/src/APagination/APaginationCountPerPage/compositionAPI/MainAPI.js +40 -40
  134. package/src/APagination/APaginationCountPerPage/compositionAPI/TextsAPI.js +54 -54
  135. package/src/APagination/APaginationPages/APaginationPages.js +282 -282
  136. package/src/APagination/APaginationPages/compositionAPI/PaginationItemsAPI.js +102 -102
  137. package/src/APagination/APaginationPages/compositionAPI/TextsAPI.js +74 -74
  138. package/src/APagination/compositionAPI/ComponentsAPI.js +79 -79
  139. package/src/APagination/i18n/ar.json +12 -12
  140. package/src/APagination/i18n/es.json +12 -12
  141. package/src/APagination/i18n/fr.json +12 -12
  142. package/src/APagination/i18n/hr.json +12 -12
  143. package/src/APagination/i18n/it.json +12 -12
  144. package/src/APagination/i18n/ru.json +12 -12
  145. package/src/APopup/APopup.js +115 -115
  146. package/src/ATable/ATable.js +1163 -1163
  147. package/src/ATable/ATableHeaderThAction/ATableHeaderThAction.js +241 -241
  148. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ModelAPI.test.js +200 -200
  149. package/src/ATable/ATableSortingAdditional/compositionAPI/ModelAPI.js +152 -152
  150. package/src/ATable/ATableTd/ATableTd.js +145 -145
  151. package/src/ATable/ATableTdAction/ATableTdAction.js +223 -223
  152. package/src/ATable/ATableTopPanel/ATableTopPanel.js +433 -433
  153. package/src/ATable/compositionAPI/ColumnActionAPI.js +105 -105
  154. package/src/ATable/compositionAPI/ColumnStylesAPI.js +50 -50
  155. package/src/ATable/compositionAPI/ColumnsGroupedAPI.js +187 -187
  156. package/src/ATable/compositionAPI/PaginationModesAPI.js +44 -44
  157. package/src/ATable/compositionAPI/PreviewAPI.js +201 -201
  158. package/src/ATable/compositionAPI/PreviewRightResizeAPI.js +135 -135
  159. package/src/ATable/compositionAPI/ScrollControlAPI.js +249 -249
  160. package/src/ATable/compositionAPI/SortAPI.js +86 -86
  161. package/src/ATable/compositionAPI/WidthAPI.js +73 -73
  162. package/src/ATableForm/ATableForm.js +610 -602
  163. package/src/ATableForm/ATableFormCell/ATableFormCell.js +183 -183
  164. package/src/ATableForm/ATableFormCell/compositionAPI/DisabledAPI.js +20 -20
  165. package/src/ATableForm/ATableFormCell/compositionAPI/ReadonlyAPI.js +28 -28
  166. package/src/ATableForm/ATableFormCellAction/ATableFormCellAction.js +282 -282
  167. package/src/ATableForm/ATableFormCellAction/compositionAPI/DeleteAPI.js +80 -80
  168. package/src/ATableForm/ATableFormCellAction/compositionAPI/DisabledAPI.js +60 -60
  169. package/src/ATableForm/ATableFormCellAction/compositionAPI/HiddenAPI.js +46 -46
  170. package/src/ATableForm/ATableFormCellAction/compositionAPI/IdsAPI.js +31 -31
  171. package/src/ATableForm/ATableFormCellAction/compositionAPI/StylesAPI.js +29 -28
  172. package/src/ATableForm/ATableFormCellAction/compositionAPI/TitleAPI.js +47 -47
  173. package/src/ATableForm/ATableFormCellDnd/ATableFormCellDnd.js +6 -1
  174. package/src/ATableForm/ATableFormCellDnd/compositionAPI/IdAPI.js +21 -21
  175. package/src/ATableForm/ATableFormCellList/compositionAPI/DataAPI.js +61 -61
  176. package/src/ATableForm/ATableFormRow/ATableFormRow.js +580 -574
  177. package/src/ATableForm/ATableFormRow/compositionAPI/ErrorsAPI.js +40 -40
  178. package/src/ATableForm/ATableFormRow/compositionAPI/FocusAPI.js +55 -55
  179. package/src/ATableForm/ATableFormRow/compositionAPI/IdAPI.js +19 -19
  180. package/src/ATableForm/__tests__/ATableForm.DragAndDropAPI.test.js +48 -0
  181. package/src/ATableForm/__tests__/ATableForm.ListView.test.js +672 -460
  182. package/src/ATableForm/compositionAPI/ClassesAPI.js +23 -23
  183. package/src/ATableForm/compositionAPI/ColumnsAPI.js +4 -2
  184. package/src/ATableForm/compositionAPI/ColumnsGrowAPI.js +191 -190
  185. package/src/ATableForm/compositionAPI/DeleteAPI.js +9 -9
  186. package/src/ATableForm/compositionAPI/DragAndDropAPI.js +6 -5
  187. package/src/ATableForm/compositionAPI/EditAPI.js +127 -128
  188. package/src/ATableForm/compositionAPI/RowsAPI.js +42 -42
  189. package/src/ATableForm/compositionAPI/StylesAPI.js +62 -62
  190. package/src/ATableForm/compositionAPI/WidthsAPI.js +21 -21
  191. package/src/ATableForm/i18n/ATableFormI18n.js +19 -19
  192. package/src/ATabs/ATabsContent/ATabsContent.js +102 -102
  193. package/src/ATabs/ATabsTab/ATabsTab.js +185 -185
  194. package/src/ATooltip/ATooltip.js +221 -221
  195. package/src/ATranslation/compositionAPI/UtilsAPI.js +187 -187
  196. package/src/AVerticalScroll/compositionAPI/ScrollAPI.js +55 -55
  197. package/src/AWizard/AWizard.js +467 -467
  198. package/src/compositionAPI/AEventOutsideAPI.js +46 -46
  199. package/src/compositionAPI/AMobileAPI.js +32 -32
  200. package/src/compositionAPI/APageTabTitleAPI.js +84 -84
  201. package/src/compositionAPI/ARemPxAPI.js +47 -47
  202. package/src/compositionAPI/FocusByDestroyAPI.js +67 -67
  203. package/src/const/AKeys.js +9 -9
  204. package/src/directives/AOnHooks.js +0 -0
  205. package/src/i18n/allLanguages.js +377 -377
  206. package/src/i18n/ar.json +4 -4
  207. package/src/i18n/de.json +4 -4
  208. package/src/i18n/en.json +4 -4
  209. package/src/i18n/es.json +4 -4
  210. package/src/i18n/fr.json +4 -4
  211. package/src/i18n/hr.json +4 -4
  212. package/src/i18n/it.json +4 -4
  213. package/src/i18n/ru.json +4 -4
  214. package/src/index.js +402 -402
  215. package/src/plugins/AAlertPlugin.js +53 -53
  216. package/src/plugins/ACarouselPlugin.js +34 -34
  217. package/src/plugins/ADatepickerPlugin.js +57 -57
  218. package/src/plugins/AFiltersPlugin.js +102 -102
  219. package/src/plugins/AInputCurrencyPlugin.js +31 -31
  220. package/src/plugins/AMobilePlugin.js +32 -32
  221. package/src/plugins/ARemPxPlugin.js +37 -37
  222. package/src/plugins/ASelectPlugin.js +54 -54
  223. package/src/plugins/ASelectStylesPlugin.js +2376 -2376
  224. package/src/temp/px_to_rem_mapping_1_to_800.md +802 -802
  225. package/src/ui/ACheckbox/ACheckbox.js +929 -929
  226. package/src/ui/ACheckbox/ACheckboxItem/ACheckboxItem.js +0 -0
  227. package/src/ui/ACheckboxRadioGroups/ACheckboxRadioGroups.js +0 -0
  228. package/src/ui/ADatepicker/ADatepicker.js +807 -807
  229. package/src/ui/ADatepicker/ADatepickerCalendarPanel/ADatepickerCalendarPanel.js +796 -796
  230. package/src/ui/ADatepicker/ADatepickerCalendarPanel/compositionAPI/CalendarAPI.js +51 -51
  231. package/src/ui/ADatepicker/compositionAPI/LanguagesAPI.js +92 -92
  232. package/src/ui/ADatepicker/compositionAPI/PlaceholderAPI.js +55 -55
  233. package/src/ui/ADatepicker/i18n/ADatepickerI18n.js +19 -19
  234. package/src/ui/ADatepicker/i18n/ar.json +47 -47
  235. package/src/ui/ADatepicker/i18n/de.json +48 -48
  236. package/src/ui/ADatepicker/i18n/en.json +48 -48
  237. package/src/ui/ADatepicker/i18n/es.json +47 -47
  238. package/src/ui/ADatepicker/i18n/fr.json +47 -47
  239. package/src/ui/ADatepicker/i18n/hr.json +47 -47
  240. package/src/ui/ADatepicker/i18n/it.json +47 -47
  241. package/src/ui/ADatepicker/i18n/ru.json +48 -48
  242. package/src/ui/ADatepicker/panel/APanelDate/APanelDate.js +196 -196
  243. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/DatesAPI.js +66 -66
  244. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusAPI.js +96 -96
  245. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusActiveAPI.js +27 -27
  246. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/SelectAPI.js +21 -21
  247. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/TableAPI.js +128 -128
  248. package/src/ui/ADatepicker/panel/APanelMonth/APanelMonth.js +129 -129
  249. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusAPI.js +94 -94
  250. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusActiveAPI.js +21 -21
  251. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/MonthsAPI.js +51 -51
  252. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/SelectAPI.js +29 -29
  253. package/src/ui/ADatepicker/panel/APanelYearItem/APanelYearItem.js +75 -75
  254. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/AttributesAPI.js +35 -35
  255. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/SelectAPI.js +35 -35
  256. package/src/ui/ADatepickerRange/ADatepickerRange.js +537 -537
  257. package/src/ui/AErrors/AErrors.js +149 -149
  258. package/src/ui/AErrors/AErrorsElement/AErrorsElement.js +0 -0
  259. package/src/ui/AErrors/i18n/AErrorsI18n.js +19 -19
  260. package/src/ui/AErrors/i18n/ar.json +3 -3
  261. package/src/ui/AErrors/i18n/de.json +2 -2
  262. package/src/ui/AErrors/i18n/en.json +3 -3
  263. package/src/ui/AErrors/i18n/es.json +3 -3
  264. package/src/ui/AErrors/i18n/fr.json +3 -3
  265. package/src/ui/AErrors/i18n/hr.json +3 -3
  266. package/src/ui/AErrors/i18n/it.json +3 -3
  267. package/src/ui/AErrors/i18n/ru.json +3 -3
  268. package/src/ui/AErrorsText/AErrorsText.js +62 -62
  269. package/src/ui/AFieldset/AFieldset.js +535 -535
  270. package/src/ui/AFieldset/compositionAPI/ModelAPI.js +54 -54
  271. package/src/ui/AForm/AForm.js +252 -252
  272. package/src/ui/AFormElement/AFormElement.js +160 -160
  273. package/src/ui/AFormElementBtnClear/AFormElementBtnClear.js +86 -86
  274. package/src/ui/AFormElementBtnClear/i18n/AFormElementBtnClearI18n.js +19 -19
  275. package/src/ui/AFormElementBtnClear/i18n/ar.json +2 -2
  276. package/src/ui/AFormElementBtnClear/i18n/de.json +2 -2
  277. package/src/ui/AFormElementBtnClear/i18n/en.json +2 -2
  278. package/src/ui/AFormElementBtnClear/i18n/es.json +2 -2
  279. package/src/ui/AFormElementBtnClear/i18n/fr.json +2 -2
  280. package/src/ui/AFormElementBtnClear/i18n/hr.json +2 -2
  281. package/src/ui/AFormElementBtnClear/i18n/it.json +2 -2
  282. package/src/ui/AFormElementBtnClear/i18n/ru.json +2 -2
  283. package/src/ui/AFormHelpText/AFormHelpText.js +37 -37
  284. package/src/ui/AFormLabelDescription/AFormLabelDescription.js +43 -43
  285. package/src/ui/AFormReadonly/AFormReadonly.js +193 -193
  286. package/src/ui/AGroup/AGroup.js +427 -427
  287. package/src/ui/AInput/AInput.js +516 -516
  288. package/src/ui/AInput/compositionAPI/ClassAPI.js +43 -43
  289. package/src/ui/AInputCurrency/AInputCurrency.js +620 -620
  290. package/src/ui/AInputCurrency/compositionAPI/IncreaseDecreaseAPI.js +76 -76
  291. package/src/ui/AInputCurrency/compositionAPI/InputEventsAPI.js +751 -751
  292. package/src/ui/AInputCurrency/compositionAPI/ModelAPI.js +88 -88
  293. package/src/ui/AInputCurrency/compositionAPI/UtilsAPI.js +54 -54
  294. package/src/ui/AInputFile/AInputFile.js +247 -247
  295. package/src/ui/AInputNumber/AInputNumber.js +497 -497
  296. package/src/ui/AInputNumber/compositionAPI/InputEventsAPI.js +196 -196
  297. package/src/ui/AInputNumber/compositionAPI/ModelAPI.js +72 -72
  298. package/src/ui/AInputNumberRange/AInputNumberRange.js +517 -517
  299. package/src/ui/AJson/AJson.js +434 -434
  300. package/src/ui/ALabel/ALabel.js +0 -0
  301. package/src/ui/AMultiselectOrdered/AMultiselectOrdered.js +935 -935
  302. package/src/ui/AOneCheckbox/AOneCheckbox.js +366 -366
  303. package/src/ui/ARadio/ARadio.js +924 -924
  304. package/src/ui/ARadio/ARadioItem/ARadioItem.js +0 -0
  305. package/src/ui/ARequired/ARequired.js +0 -0
  306. package/src/ui/ARouterLinkConfig/ARouterLinkConfig.js +391 -391
  307. package/src/ui/ARouterLinkConfig/compositionAPI/DataFormAPI.js +102 -102
  308. package/src/ui/ARouterLinkConfig/compositionAPI/ModelLocalAPI.js +96 -96
  309. package/src/ui/ARouterLinkConfig/compositionAPI/RouteAPI.js +51 -51
  310. package/src/ui/ASelect/ASelect.js +1339 -1339
  311. package/src/ui/ASelect/ASelectElement/ASelectElement.js +0 -0
  312. package/src/ui/ASelect/ASelectValueCloseable/ASelectValueCloseable.js +1 -1
  313. package/src/ui/ASelect/ASelectValueCloseable/compositionAPI/CloseAPI.js +28 -28
  314. package/src/ui/ASelect/compositionAPI/ToggleAPI.js +255 -255
  315. package/src/ui/ASelect/i18n/ar.json +6 -6
  316. package/src/ui/ASelect/i18n/de.json +7 -7
  317. package/src/ui/ASelect/i18n/en.json +6 -6
  318. package/src/ui/ASelect/i18n/es.json +6 -6
  319. package/src/ui/ASelect/i18n/fr.json +6 -6
  320. package/src/ui/ASelect/i18n/hr.json +6 -6
  321. package/src/ui/ASelect/i18n/it.json +6 -6
  322. package/src/ui/ASelect/i18n/ru.json +6 -6
  323. package/src/ui/ASelectIcon/ASelectIcon.js +386 -386
  324. package/src/ui/ASelectStyle/ASelectStyle.js +391 -391
  325. package/src/ui/ASelectStyle/compositionAPI/DataAPI.js +68 -68
  326. package/src/ui/ASelectStyle/compositionAPI/EventsAPI.js +24 -24
  327. package/src/ui/ASelectStyle/compositionAPI/KeyLabelCallbackAPI.js +15 -15
  328. package/src/ui/ASelectStyle/compositionAPI/TypeAPI.js +24 -24
  329. package/src/ui/ASelectStyle/i18n/ASelectStyleI18n.js +19 -19
  330. package/src/ui/ASelectStyle/i18n/ar.json +277 -277
  331. package/src/ui/ASelectStyle/i18n/de.json +277 -277
  332. package/src/ui/ASelectStyle/i18n/en.json +277 -277
  333. package/src/ui/ASelectStyle/i18n/es.json +277 -277
  334. package/src/ui/ASelectStyle/i18n/fr.json +277 -277
  335. package/src/ui/ASelectStyle/i18n/hr.json +277 -277
  336. package/src/ui/ASelectStyle/i18n/it.json +277 -277
  337. package/src/ui/ASelectStyle/i18n/ru.json +277 -277
  338. package/src/ui/ASlider/ASlider.js +672 -672
  339. package/src/ui/ASlider/compositionAPI/AriaAttributesAPI.js +121 -121
  340. package/src/ui/ASlider/compositionAPI/AttributesAPI.js +15 -15
  341. package/src/ui/ASlider/compositionAPI/DataAPI.js +115 -115
  342. package/src/ui/ASlider/compositionAPI/DragAndDropAPI.js +198 -198
  343. package/src/ui/ASlider/compositionAPI/LabelAPI.js +13 -13
  344. package/src/ui/ASlider/compositionAPI/MarksAPI.js +32 -32
  345. package/src/ui/ASlider/compositionAPI/SliderAPI.js +289 -289
  346. package/src/ui/ASlider/compositionAPI/StopsAPI.js +47 -47
  347. package/src/ui/ASlider/compositionAPI/StylesAPI.js +79 -79
  348. package/src/ui/ASlider/compositionAPI/TitleAPI.js +42 -42
  349. package/src/ui/ASlider/i18n/ASliderI18n.js +19 -19
  350. package/src/ui/ASlider/i18n/en.json +4 -4
  351. package/src/ui/ASwitch/ASwitch.js +442 -442
  352. package/src/ui/ATemplate/ATemplate.js +0 -0
  353. package/src/ui/ATextarea/ATextarea.js +437 -437
  354. package/src/ui/AUiComponents.js +59 -59
  355. package/src/ui/AUiContainerComponents.js +12 -12
  356. package/src/ui/AValidatedJson/AValidatedJson.js +594 -594
  357. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DeleteAPI.js +63 -63
  358. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DetailsAPI.js +59 -59
  359. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/MoveAPI.js +50 -50
  360. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/UpdateAPI.js +48 -48
  361. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DataFormAPI.js +69 -69
  362. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DisabledAPI.js +35 -35
  363. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/ModelAPI.js +31 -31
  364. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/SaveAPI.js +115 -115
  365. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/TextAPI.js +25 -25
  366. package/src/ui/AValidatedJson/compositionAPI/AValidatedJsonErrorLabelsAPI.js +18 -18
  367. package/src/ui/AValidatedJson/compositionAPI/AttributesAPI.js +15 -15
  368. package/src/ui/AValidatedJson/compositionAPI/ChildrenAPI.js +70 -70
  369. package/src/ui/AValidatedJson/compositionAPI/EventsAPI.js +19 -19
  370. package/src/ui/AValidatedJson/compositionAPI/JsonModeAPI.js +119 -119
  371. package/src/ui/AValidatedJson/compositionAPI/ListModeAPI.js +144 -144
  372. package/src/ui/AValidatedJson/compositionAPI/ModelAPI.js +38 -38
  373. package/src/ui/AValidatedJson/compositionAPI/SingleModeAPI.js +112 -112
  374. package/src/ui/AValidatedJson/compositionAPI/TranslateAPI.js +22 -22
  375. package/src/ui/AValidatedJson/i18n/AValidatedJsonI18n.js +19 -19
  376. package/src/ui/AValidatedJson/i18n/ar.json +3 -3
  377. package/src/ui/AValidatedJson/i18n/de.json +22 -22
  378. package/src/ui/AValidatedJson/i18n/en.json +3 -3
  379. package/src/ui/AValidatedJson/i18n/es.json +3 -3
  380. package/src/ui/AValidatedJson/i18n/fr.json +3 -3
  381. package/src/ui/AValidatedJson/i18n/hr.json +3 -3
  382. package/src/ui/AValidatedJson/i18n/it.json +3 -3
  383. package/src/ui/AValidatedJson/i18n/ru.json +6 -6
  384. package/src/ui/compositionApi/UIDataGroupAPI.js +94 -94
  385. package/src/ui/compositionApi/UiAPI.js +185 -185
  386. package/src/ui/compositionApi/UiClearButtonAPI.js +19 -19
  387. package/src/ui/compositionApi/UiDataSortAPI.js +29 -29
  388. package/src/ui/compositionApi/UiDataWithKeyIdAndLabelAPI.js +155 -155
  389. package/src/ui/const/AUiTypes.js +69 -69
  390. package/src/ui/mixins/UiMixinProps.js +129 -129
  391. package/src/ui/utils/utils.js +79 -79
  392. package/src/utils/__tests__/utils.aOrderBy.test.js +237 -237
  393. package/src/utils/__tests__/utils.aSortBy.test.js +331 -331
  394. package/src/utils/__tests__/utilsArray.aFirst.test.js +54 -54
  395. package/src/utils/__tests__/utilsArray.aLast.test.js +54 -54
  396. package/src/utils/__tests__/utilsLang.isArguments.test.js +52 -52
  397. package/src/utils/__tests__/utilsLang.isArray.test.js +50 -50
  398. package/src/utils/__tests__/utilsLang.isArrayBuffer.test.js +48 -48
  399. package/src/utils/__tests__/utilsLang.isBoolean.test.js +56 -56
  400. package/src/utils/__tests__/utilsLang.isBuffer.test.js +47 -47
  401. package/src/utils/__tests__/utilsLang.isDate.test.js +54 -54
  402. package/src/utils/__tests__/utilsLang.isElement.test.js +53 -53
  403. package/src/utils/__tests__/utilsLang.isError.test.js +52 -52
  404. package/src/utils/__tests__/utilsLang.isFinite.test.js +57 -57
  405. package/src/utils/__tests__/utilsLang.isFunction.test.js +46 -46
  406. package/src/utils/__tests__/utilsLang.isInteger.test.js +58 -58
  407. package/src/utils/__tests__/utilsLang.isMap.test.js +50 -50
  408. package/src/utils/__tests__/utilsLang.isNaN.test.js +55 -55
  409. package/src/utils/__tests__/utilsLang.isNil.test.js +57 -57
  410. package/src/utils/__tests__/utilsLang.isNull.test.js +53 -53
  411. package/src/utils/__tests__/utilsLang.isNumber.test.js +54 -54
  412. package/src/utils/__tests__/utilsLang.isObject.test.js +49 -49
  413. package/src/utils/__tests__/utilsLang.isObjectLike.test.js +45 -45
  414. package/src/utils/__tests__/utilsLang.isPlainObject.test.js +60 -60
  415. package/src/utils/__tests__/utilsLang.isPromise.test.js +93 -93
  416. package/src/utils/__tests__/utilsLang.isRegExp.test.js +46 -46
  417. package/src/utils/__tests__/utilsLang.isSet.test.js +50 -50
  418. package/src/utils/__tests__/utilsLang.isString.test.js +50 -50
  419. package/src/utils/__tests__/utilsLang.isSymbol.test.js +45 -45
  420. package/src/utils/__tests__/utilsLang.isUndefined.test.js +57 -57
  421. package/src/utils/__tests__/utilsLang.isWeakMap.test.js +49 -49
  422. package/src/utils/__tests__/utilsLang.isWeakSet.test.js +49 -49
  423. package/src/utils/actions.js +67 -67
  424. package/src/utils/autosize.js +277 -277
  425. package/src/utils/isBrowser.js +12 -12
  426. package/src/utils/utils.js +253 -253
  427. package/src/utils/utilsArray.js +29 -29
  428. package/src/utils/utilsDOM.js +188 -188
  429. package/src/utils/utilsLang.js +346 -346
@@ -1,537 +1,537 @@
1
- import {
2
- h,
3
- onBeforeUnmount,
4
- } from "vue";
5
- import {
6
- ADatepicker,
7
- AErrorsText,
8
- AFormHelpText,
9
- AFormLabelDescription,
10
- AFormReadonly,
11
- ALabel,
12
- APlacements,
13
- UiAPI,
14
- UIExcludeRenderAttributesAPI,
15
- UiLabelClickEventBusAPI,
16
- UiStyleHideAPI,
17
- } from "../../index";
18
-
19
- import FocusAPI from "./compositionAPI/FocusAPI";
20
- import IdAPI from "./compositionAPI/IdAPI";
21
- import InputAttributesAPI from "./compositionAPI/InputAttributesAPI";
22
- import ModelAPI from "./compositionAPI/ModelAPI";
23
- import ReadonlyAPI from "./compositionAPI/ReadonlyAPI";
24
-
25
- import {
26
- uniqueId,
27
- } from "lodash-es";
28
-
29
- export default {
30
- name: "ADatepickerRange",
31
- inheritAttrs: false,
32
- props: {
33
- alwaysTranslate: {
34
- type: Boolean,
35
- required: false,
36
- },
37
- appendToBody: {
38
- type: Boolean,
39
- default: false,
40
- },
41
- change: {
42
- type: Function,
43
- required: false,
44
- default: () => {},
45
- },
46
- clearable: {
47
- type: Boolean,
48
- default: true,
49
- },
50
- disabled: {
51
- type: Boolean,
52
- required: false,
53
- },
54
- disabledFrom: {
55
- type: Boolean,
56
- required: false,
57
- },
58
- disabledUntil: {
59
- type: Boolean,
60
- required: false,
61
- },
62
- errors: {
63
- type: [String, Array],
64
- required: false,
65
- default: undefined,
66
- },
67
- errorsAll: {
68
- type: Object,
69
- required: false,
70
- default: () => ({}),
71
- },
72
- errorsClass: {
73
- type: [String, Object],
74
- required: false,
75
- default: undefined,
76
- },
77
- excludeRenderAttributes: {
78
- type: Array,
79
- required: false,
80
- default: () => [],
81
- },
82
- extra: {
83
- type: Object,
84
- required: false,
85
- default: undefined,
86
- },
87
- firstDayOfWeek: {
88
- type: Number,
89
- required: false,
90
- default: 1,
91
- validator: val => val >= 1 && val <= 7,
92
- },
93
- format: {
94
- type: [String, Object],
95
- default: "DD.MM.YYYY",
96
- },
97
- formatSave: {
98
- type: String,
99
- required: false,
100
- default: "YYYY-MM-DD",
101
- },
102
- helpText: {
103
- type: String,
104
- required: false,
105
- },
106
- htmlId: {
107
- type: String,
108
- required: false,
109
- default: undefined,
110
- },
111
- iconDay: {
112
- type: [Number, String],
113
- default: undefined,
114
- },
115
- id: {
116
- type: [String, Number],
117
- required: false,
118
- default: () => uniqueId("a_datepicker_range_"),
119
- },
120
- idPrefix: {
121
- type: String,
122
- required: false,
123
- default: undefined,
124
- },
125
- inputAttributes: {
126
- type: Object,
127
- required: false,
128
- default: () => ({}),
129
- },
130
- inputAttributesFrom: {
131
- type: Object,
132
- required: false,
133
- default: () => ({}),
134
- },
135
- inputAttributesUntil: {
136
- type: Object,
137
- required: false,
138
- default: () => ({}),
139
- },
140
- inputClass: {
141
- type: [String, Number, Boolean, Array, Object, Date, Function, Symbol],
142
- default: "pux_datepicker__input",
143
- },
144
- inputName: {
145
- type: String,
146
- default: "date",
147
- },
148
- inputWidth: {
149
- type: [Number, String],
150
- required: false,
151
- default: 270,
152
- },
153
- isHide: {
154
- type: Boolean,
155
- required: false,
156
- },
157
- isRender: {
158
- type: Boolean,
159
- required: false,
160
- default: true,
161
- },
162
- keyFrom: {
163
- tpe: String,
164
- required: false,
165
- default: "from",
166
- },
167
- keyUntil: {
168
- tpe: String,
169
- required: false,
170
- default: "until",
171
- },
172
- label: {
173
- type: [String, Number],
174
- required: false,
175
- default: undefined,
176
- },
177
- labelClass: {
178
- required: false,
179
- default: undefined,
180
- },
181
- labelDescription: {
182
- type: String,
183
- required: false,
184
- default: undefined,
185
- },
186
- labelFrom: {
187
- type: String,
188
- required: false,
189
- default: "_A_DATEPICKER_RANGE_FROM_",
190
- },
191
- labelScreenReader: {
192
- type: String,
193
- required: false,
194
- default: undefined,
195
- },
196
- labelUntil: {
197
- type: String,
198
- required: false,
199
- default: "_A_DATEPICKER_RANGE_UNTIL_",
200
- },
201
- lang: {
202
- type: String,
203
- default: "de",
204
- required: false,
205
- },
206
- modelUndefined: {
207
- required: false,
208
- default: undefined,
209
- },
210
- modelValue: {
211
- type: Object,
212
- required: false,
213
- default: () => ({}),
214
- },
215
- options: {
216
- type: Object,
217
- required: false,
218
- default: () => ({}),
219
- },
220
- placeholderFrom: {
221
- type: [String, Number],
222
- required: false,
223
- default: undefined,
224
- },
225
- placeholderUntil: {
226
- type: [String, Number],
227
- required: false,
228
- default: undefined,
229
- },
230
- placement: {
231
- type: String,
232
- required: false,
233
- default: "bottom-start",
234
- validator: placement => APlacements.indexOf(placement) !== -1,
235
- },
236
- popupStyle: {
237
- type: Object,
238
- required: false,
239
- default: () => ({}),
240
- },
241
- readonly: {
242
- type: Boolean,
243
- required: false,
244
- },
245
- readonlyDefault: {
246
- type: String,
247
- required: false,
248
- default: "",
249
- },
250
- readonlyDefaultFrom: {
251
- type: String,
252
- required: false,
253
- default: undefined,
254
- },
255
- readonlyDefaultUntil: {
256
- type: String,
257
- required: false,
258
- default: undefined,
259
- },
260
- required: {
261
- type: Boolean,
262
- required: false,
263
- default: false,
264
- },
265
- shortcuts: {
266
- type: [Boolean, Array],
267
- default: true,
268
- },
269
- type: {
270
- type: String,
271
- required: false,
272
- default: "dateRange",
273
- },
274
- },
275
- setup(props, context) {
276
- const {
277
- attributesToExcludeFromRender,
278
- } = UIExcludeRenderAttributesAPI(props);
279
-
280
- const {
281
- componentStyleHide,
282
- } = UiStyleHideAPI(props);
283
-
284
- const {
285
- changeModel,
286
- errorsId,
287
- helpTextId,
288
- htmlIdLocal,
289
- isErrors,
290
- labelDescriptionId,
291
- } = UiAPI(props, context);
292
-
293
- const {
294
- changeModelFrom,
295
- changeModelUntil,
296
- modelValueFrom,
297
- modelValueUntil,
298
- } = ModelAPI(props, {
299
- changeModel,
300
- });
301
-
302
- const {
303
- idFrom,
304
- idUntil,
305
- } = IdAPI({
306
- htmlIdLocal,
307
- });
308
-
309
- const {
310
- inputAttributesFromLocal,
311
- inputAttributesUntilLocal,
312
- } = InputAttributesAPI(props, {
313
- htmlIdLocal,
314
- idFrom,
315
- idUntil,
316
- });
317
-
318
- const {
319
- setFocusToFromInput,
320
- } = FocusAPI({
321
- idFrom,
322
- });
323
-
324
- const {
325
- destroyEventBusClickLabel,
326
- initEventBusClickLabel,
327
- } = UiLabelClickEventBusAPI({
328
- htmlIdLocal,
329
- clickLabel: setFocusToFromInput,
330
- });
331
-
332
- const {
333
- readonlyDefaultFromLocal,
334
- readonlyDefaultUntilLocal,
335
- } = ReadonlyAPI(props);
336
-
337
- initEventBusClickLabel();
338
-
339
- onBeforeUnmount(() => {
340
- destroyEventBusClickLabel();
341
- });
342
-
343
- return {
344
- attributesToExcludeFromRender,
345
- changeModelFrom,
346
- changeModelUntil,
347
- componentStyleHide,
348
- errorsId,
349
- helpTextId,
350
- htmlIdLocal,
351
- idFrom,
352
- idUntil,
353
- inputAttributesFromLocal,
354
- inputAttributesUntilLocal,
355
- isErrors,
356
- labelDescriptionId,
357
- modelValueFrom,
358
- modelValueUntil,
359
- readonlyDefaultFromLocal,
360
- readonlyDefaultUntilLocal,
361
- };
362
- },
363
- render() {
364
- if (!this.isRender) {
365
- return null;
366
- }
367
-
368
- if (this.readonly) {
369
- return h(AFormReadonly, {
370
- ...this.$attrs,
371
- id: this.htmlIdLocal,
372
- alwaysTranslate: this.alwaysTranslate,
373
- excludeRenderAttributes: this.excludeRenderAttributes,
374
- extra: this.extra,
375
- helpText: this.helpText,
376
- isRange: true,
377
- label: this.label,
378
- labelClass: this.labelClass,
379
- labelScreenReader: this.labelScreenReader,
380
- readonlyDefault: this.readonlyDefault,
381
- required: this.required,
382
- style: this.componentStyleHide,
383
- type: "dateRange",
384
- valueParentClass: "a_form_element_readonly_value_range",
385
- }, () => [
386
- h(ADatepicker, {
387
- id: this.idFrom,
388
- alwaysTranslate: this.alwaysTranslate,
389
- format: this.format,
390
- formatSave: this.formatSave,
391
- iconDay: this.iconDay,
392
- label: this.labelFrom,
393
- lang: this.lang,
394
- modelValue: this.modelValueFrom,
395
- readonly: true,
396
- readonlyDefault: this.readonlyDefaultFromLocal,
397
- shortcuts: this.shortcuts,
398
- type: "date",
399
- }),
400
- h(ADatepicker, {
401
- id: this.idUntil,
402
- alwaysTranslate: this.alwaysTranslate,
403
- format: this.format,
404
- formatSave: this.formatSave,
405
- iconDay: this.iconDay,
406
- lang: this.lang,
407
- label: this.labelUntil,
408
- modelValue: this.modelValueUntil,
409
- readonly: true,
410
- readonlyDefault: this.readonlyDefaultUntilLocal,
411
- shortcuts: this.shortcuts,
412
- type: "date",
413
- }),
414
- ]);
415
- }
416
-
417
- return h("div", {
418
- ...this.$attrs,
419
- class: "a_datepicker_range",
420
- style: this.componentStyleHide,
421
- ...this.attributesToExcludeFromRender,
422
- }, [
423
- h("div", {
424
- class: ["a_form_element__parent", {
425
- a_form_element__parent_invalid: this.isErrors,
426
- }],
427
- }, [
428
- this.label && h(ALabel, {
429
- id: this.idFrom,
430
- alwaysTranslate: this.alwaysTranslate,
431
- label: this.label,
432
- labelClass: this.labelClass,
433
- labelScreenReader: this.labelScreenReader,
434
- required: this.required,
435
- type: this.type,
436
- isLabelFloat: false,
437
- isError: this.isErrors,
438
- }),
439
- h(AFormLabelDescription, {
440
- id: this.labelDescriptionId,
441
- alwaysTranslate: this.alwaysTranslate,
442
- html: this.labelDescription,
443
- extra: this.extra,
444
- }),
445
- h("div", {
446
- class: "a_datepicker_range__content",
447
- }, [
448
- h("div", {
449
- class: "a_datepicker_range__group a_datepicker_range__group_min",
450
- }, [
451
- h(ALabel, {
452
- id: this.idFrom,
453
- alwaysTranslate: this.alwaysTranslate,
454
- labelClass: "a_datepicker_range__label a_datepicker_range__label_min",
455
- isLabelFloat: false,
456
- label: this.labelFrom,
457
- isError: this.isErrors,
458
- }),
459
- h(ADatepicker, {
460
- id: this.idFrom,
461
- ref: "from",
462
- alwaysTranslate: this.alwaysTranslate,
463
- inputAttr: this.inputAttributesFromLocal,
464
- modelValue: this.modelValueFrom,
465
- formatSave: this.formatSave,
466
- firstDayOfWeek: this.firstDayOfWeek,
467
- appendToBody: this.appendToBody,
468
- popupStyle: this.popupStyle,
469
- iconDay: this.iconDay,
470
- inputName: this.inputName,
471
- placement: this.placement,
472
- clearable: this.clearable,
473
- shortcuts: this.shortcuts,
474
- lang: this.lang,
475
- inputClass: this.inputClass,
476
- placeholder: this.placeholderFrom,
477
- disabled: this.disabled || this.disabledFrom,
478
- width: this.inputWidth,
479
- format: this.format,
480
- type: "date",
481
- onChange: this.changeModelFrom,
482
- }),
483
- ]),
484
- h("div", {
485
- class: "a_datepicker_range__group",
486
- }, [
487
- h(ALabel, {
488
- id: this.idUntil,
489
- alwaysTranslate: this.alwaysTranslate,
490
- labelClass: "a_datepicker_range__label a_datepicker_range__label_max",
491
- isLabelFloat: false,
492
- label: this.labelUntil,
493
- isError: this.isErrors,
494
- }),
495
- h(ADatepicker, {
496
- id: this.idUntil,
497
- ref: "until",
498
- alwaysTranslate: this.alwaysTranslate,
499
- modelValue: this.modelValueUntil,
500
- formatSave: this.formatSave,
501
- firstDayOfWeek: this.firstDayOfWeek,
502
- appendToBody: this.appendToBody,
503
- popupStyle: this.popupStyle,
504
- iconDay: this.iconDay,
505
- inputName: this.inputName,
506
- placement: this.placement,
507
- clearable: this.clearable,
508
- shortcuts: this.shortcuts,
509
- lang: this.lang,
510
- inputClass: this.inputClass,
511
- placeholder: this.placeholderUntil,
512
- disabled: this.disabled || this.disabledUntil,
513
- width: this.inputWidth,
514
- format: this.format,
515
- type: "date",
516
- inputAttr: this.inputAttributesUntilLocal,
517
- onChange: this.changeModelUntil,
518
- }),
519
- ]),
520
- h(AFormHelpText, {
521
- alwaysTranslate: this.alwaysTranslate,
522
- class: "a_datepicker_range__help_text",
523
- id: this.helpTextId,
524
- html: this.helpText,
525
- extra: this.extra,
526
- }),
527
- this.isErrors && h(AErrorsText, {
528
- id: this.errorsId,
529
- alwaysTranslate: this.alwaysTranslate,
530
- errors: this.errors,
531
- errorsClass: this.errorsClass,
532
- }),
533
- ]),
534
- ]),
535
- ]);
536
- },
537
- };
1
+ import {
2
+ h,
3
+ onBeforeUnmount,
4
+ } from "vue";
5
+ import {
6
+ ADatepicker,
7
+ AErrorsText,
8
+ AFormHelpText,
9
+ AFormLabelDescription,
10
+ AFormReadonly,
11
+ ALabel,
12
+ APlacements,
13
+ UiAPI,
14
+ UIExcludeRenderAttributesAPI,
15
+ UiLabelClickEventBusAPI,
16
+ UiStyleHideAPI,
17
+ } from "../../index";
18
+
19
+ import FocusAPI from "./compositionAPI/FocusAPI";
20
+ import IdAPI from "./compositionAPI/IdAPI";
21
+ import InputAttributesAPI from "./compositionAPI/InputAttributesAPI";
22
+ import ModelAPI from "./compositionAPI/ModelAPI";
23
+ import ReadonlyAPI from "./compositionAPI/ReadonlyAPI";
24
+
25
+ import {
26
+ uniqueId,
27
+ } from "lodash-es";
28
+
29
+ export default {
30
+ name: "ADatepickerRange",
31
+ inheritAttrs: false,
32
+ props: {
33
+ alwaysTranslate: {
34
+ type: Boolean,
35
+ required: false,
36
+ },
37
+ appendToBody: {
38
+ type: Boolean,
39
+ default: false,
40
+ },
41
+ change: {
42
+ type: Function,
43
+ required: false,
44
+ default: () => {},
45
+ },
46
+ clearable: {
47
+ type: Boolean,
48
+ default: true,
49
+ },
50
+ disabled: {
51
+ type: Boolean,
52
+ required: false,
53
+ },
54
+ disabledFrom: {
55
+ type: Boolean,
56
+ required: false,
57
+ },
58
+ disabledUntil: {
59
+ type: Boolean,
60
+ required: false,
61
+ },
62
+ errors: {
63
+ type: [String, Array],
64
+ required: false,
65
+ default: undefined,
66
+ },
67
+ errorsAll: {
68
+ type: Object,
69
+ required: false,
70
+ default: () => ({}),
71
+ },
72
+ errorsClass: {
73
+ type: [String, Object],
74
+ required: false,
75
+ default: undefined,
76
+ },
77
+ excludeRenderAttributes: {
78
+ type: Array,
79
+ required: false,
80
+ default: () => [],
81
+ },
82
+ extra: {
83
+ type: Object,
84
+ required: false,
85
+ default: undefined,
86
+ },
87
+ firstDayOfWeek: {
88
+ type: Number,
89
+ required: false,
90
+ default: 1,
91
+ validator: val => val >= 1 && val <= 7,
92
+ },
93
+ format: {
94
+ type: [String, Object],
95
+ default: "DD.MM.YYYY",
96
+ },
97
+ formatSave: {
98
+ type: String,
99
+ required: false,
100
+ default: "YYYY-MM-DD",
101
+ },
102
+ helpText: {
103
+ type: String,
104
+ required: false,
105
+ },
106
+ htmlId: {
107
+ type: String,
108
+ required: false,
109
+ default: undefined,
110
+ },
111
+ iconDay: {
112
+ type: [Number, String],
113
+ default: undefined,
114
+ },
115
+ id: {
116
+ type: [String, Number],
117
+ required: false,
118
+ default: () => uniqueId("a_datepicker_range_"),
119
+ },
120
+ idPrefix: {
121
+ type: String,
122
+ required: false,
123
+ default: undefined,
124
+ },
125
+ inputAttributes: {
126
+ type: Object,
127
+ required: false,
128
+ default: () => ({}),
129
+ },
130
+ inputAttributesFrom: {
131
+ type: Object,
132
+ required: false,
133
+ default: () => ({}),
134
+ },
135
+ inputAttributesUntil: {
136
+ type: Object,
137
+ required: false,
138
+ default: () => ({}),
139
+ },
140
+ inputClass: {
141
+ type: [String, Number, Boolean, Array, Object, Date, Function, Symbol],
142
+ default: "pux_datepicker__input",
143
+ },
144
+ inputName: {
145
+ type: String,
146
+ default: "date",
147
+ },
148
+ inputWidth: {
149
+ type: [Number, String],
150
+ required: false,
151
+ default: 270,
152
+ },
153
+ isHide: {
154
+ type: Boolean,
155
+ required: false,
156
+ },
157
+ isRender: {
158
+ type: Boolean,
159
+ required: false,
160
+ default: true,
161
+ },
162
+ keyFrom: {
163
+ tpe: String,
164
+ required: false,
165
+ default: "from",
166
+ },
167
+ keyUntil: {
168
+ tpe: String,
169
+ required: false,
170
+ default: "until",
171
+ },
172
+ label: {
173
+ type: [String, Number],
174
+ required: false,
175
+ default: undefined,
176
+ },
177
+ labelClass: {
178
+ required: false,
179
+ default: undefined,
180
+ },
181
+ labelDescription: {
182
+ type: String,
183
+ required: false,
184
+ default: undefined,
185
+ },
186
+ labelFrom: {
187
+ type: String,
188
+ required: false,
189
+ default: "_A_DATEPICKER_RANGE_FROM_",
190
+ },
191
+ labelScreenReader: {
192
+ type: String,
193
+ required: false,
194
+ default: undefined,
195
+ },
196
+ labelUntil: {
197
+ type: String,
198
+ required: false,
199
+ default: "_A_DATEPICKER_RANGE_UNTIL_",
200
+ },
201
+ lang: {
202
+ type: String,
203
+ default: "de",
204
+ required: false,
205
+ },
206
+ modelUndefined: {
207
+ required: false,
208
+ default: undefined,
209
+ },
210
+ modelValue: {
211
+ type: Object,
212
+ required: false,
213
+ default: () => ({}),
214
+ },
215
+ options: {
216
+ type: Object,
217
+ required: false,
218
+ default: () => ({}),
219
+ },
220
+ placeholderFrom: {
221
+ type: [String, Number],
222
+ required: false,
223
+ default: undefined,
224
+ },
225
+ placeholderUntil: {
226
+ type: [String, Number],
227
+ required: false,
228
+ default: undefined,
229
+ },
230
+ placement: {
231
+ type: String,
232
+ required: false,
233
+ default: "bottom-start",
234
+ validator: placement => APlacements.indexOf(placement) !== -1,
235
+ },
236
+ popupStyle: {
237
+ type: Object,
238
+ required: false,
239
+ default: () => ({}),
240
+ },
241
+ readonly: {
242
+ type: Boolean,
243
+ required: false,
244
+ },
245
+ readonlyDefault: {
246
+ type: String,
247
+ required: false,
248
+ default: "",
249
+ },
250
+ readonlyDefaultFrom: {
251
+ type: String,
252
+ required: false,
253
+ default: undefined,
254
+ },
255
+ readonlyDefaultUntil: {
256
+ type: String,
257
+ required: false,
258
+ default: undefined,
259
+ },
260
+ required: {
261
+ type: Boolean,
262
+ required: false,
263
+ default: false,
264
+ },
265
+ shortcuts: {
266
+ type: [Boolean, Array],
267
+ default: true,
268
+ },
269
+ type: {
270
+ type: String,
271
+ required: false,
272
+ default: "dateRange",
273
+ },
274
+ },
275
+ setup(props, context) {
276
+ const {
277
+ attributesToExcludeFromRender,
278
+ } = UIExcludeRenderAttributesAPI(props);
279
+
280
+ const {
281
+ componentStyleHide,
282
+ } = UiStyleHideAPI(props);
283
+
284
+ const {
285
+ changeModel,
286
+ errorsId,
287
+ helpTextId,
288
+ htmlIdLocal,
289
+ isErrors,
290
+ labelDescriptionId,
291
+ } = UiAPI(props, context);
292
+
293
+ const {
294
+ changeModelFrom,
295
+ changeModelUntil,
296
+ modelValueFrom,
297
+ modelValueUntil,
298
+ } = ModelAPI(props, {
299
+ changeModel,
300
+ });
301
+
302
+ const {
303
+ idFrom,
304
+ idUntil,
305
+ } = IdAPI({
306
+ htmlIdLocal,
307
+ });
308
+
309
+ const {
310
+ inputAttributesFromLocal,
311
+ inputAttributesUntilLocal,
312
+ } = InputAttributesAPI(props, {
313
+ htmlIdLocal,
314
+ idFrom,
315
+ idUntil,
316
+ });
317
+
318
+ const {
319
+ setFocusToFromInput,
320
+ } = FocusAPI({
321
+ idFrom,
322
+ });
323
+
324
+ const {
325
+ destroyEventBusClickLabel,
326
+ initEventBusClickLabel,
327
+ } = UiLabelClickEventBusAPI({
328
+ htmlIdLocal,
329
+ clickLabel: setFocusToFromInput,
330
+ });
331
+
332
+ const {
333
+ readonlyDefaultFromLocal,
334
+ readonlyDefaultUntilLocal,
335
+ } = ReadonlyAPI(props);
336
+
337
+ initEventBusClickLabel();
338
+
339
+ onBeforeUnmount(() => {
340
+ destroyEventBusClickLabel();
341
+ });
342
+
343
+ return {
344
+ attributesToExcludeFromRender,
345
+ changeModelFrom,
346
+ changeModelUntil,
347
+ componentStyleHide,
348
+ errorsId,
349
+ helpTextId,
350
+ htmlIdLocal,
351
+ idFrom,
352
+ idUntil,
353
+ inputAttributesFromLocal,
354
+ inputAttributesUntilLocal,
355
+ isErrors,
356
+ labelDescriptionId,
357
+ modelValueFrom,
358
+ modelValueUntil,
359
+ readonlyDefaultFromLocal,
360
+ readonlyDefaultUntilLocal,
361
+ };
362
+ },
363
+ render() {
364
+ if (!this.isRender) {
365
+ return null;
366
+ }
367
+
368
+ if (this.readonly) {
369
+ return h(AFormReadonly, {
370
+ ...this.$attrs,
371
+ id: this.htmlIdLocal,
372
+ alwaysTranslate: this.alwaysTranslate,
373
+ excludeRenderAttributes: this.excludeRenderAttributes,
374
+ extra: this.extra,
375
+ helpText: this.helpText,
376
+ isRange: true,
377
+ label: this.label,
378
+ labelClass: this.labelClass,
379
+ labelScreenReader: this.labelScreenReader,
380
+ readonlyDefault: this.readonlyDefault,
381
+ required: this.required,
382
+ style: this.componentStyleHide,
383
+ type: "dateRange",
384
+ valueParentClass: "a_form_element_readonly_value_range",
385
+ }, () => [
386
+ h(ADatepicker, {
387
+ id: this.idFrom,
388
+ alwaysTranslate: this.alwaysTranslate,
389
+ format: this.format,
390
+ formatSave: this.formatSave,
391
+ iconDay: this.iconDay,
392
+ label: this.labelFrom,
393
+ lang: this.lang,
394
+ modelValue: this.modelValueFrom,
395
+ readonly: true,
396
+ readonlyDefault: this.readonlyDefaultFromLocal,
397
+ shortcuts: this.shortcuts,
398
+ type: "date",
399
+ }),
400
+ h(ADatepicker, {
401
+ id: this.idUntil,
402
+ alwaysTranslate: this.alwaysTranslate,
403
+ format: this.format,
404
+ formatSave: this.formatSave,
405
+ iconDay: this.iconDay,
406
+ lang: this.lang,
407
+ label: this.labelUntil,
408
+ modelValue: this.modelValueUntil,
409
+ readonly: true,
410
+ readonlyDefault: this.readonlyDefaultUntilLocal,
411
+ shortcuts: this.shortcuts,
412
+ type: "date",
413
+ }),
414
+ ]);
415
+ }
416
+
417
+ return h("div", {
418
+ ...this.$attrs,
419
+ class: "a_datepicker_range",
420
+ style: this.componentStyleHide,
421
+ ...this.attributesToExcludeFromRender,
422
+ }, [
423
+ h("div", {
424
+ class: ["a_form_element__parent", {
425
+ a_form_element__parent_invalid: this.isErrors,
426
+ }],
427
+ }, [
428
+ this.label && h(ALabel, {
429
+ id: this.idFrom,
430
+ alwaysTranslate: this.alwaysTranslate,
431
+ label: this.label,
432
+ labelClass: this.labelClass,
433
+ labelScreenReader: this.labelScreenReader,
434
+ required: this.required,
435
+ type: this.type,
436
+ isLabelFloat: false,
437
+ isError: this.isErrors,
438
+ }),
439
+ h(AFormLabelDescription, {
440
+ id: this.labelDescriptionId,
441
+ alwaysTranslate: this.alwaysTranslate,
442
+ html: this.labelDescription,
443
+ extra: this.extra,
444
+ }),
445
+ h("div", {
446
+ class: "a_datepicker_range__content",
447
+ }, [
448
+ h("div", {
449
+ class: "a_datepicker_range__group a_datepicker_range__group_min",
450
+ }, [
451
+ h(ALabel, {
452
+ id: this.idFrom,
453
+ alwaysTranslate: this.alwaysTranslate,
454
+ labelClass: "a_datepicker_range__label a_datepicker_range__label_min",
455
+ isLabelFloat: false,
456
+ label: this.labelFrom,
457
+ isError: this.isErrors,
458
+ }),
459
+ h(ADatepicker, {
460
+ id: this.idFrom,
461
+ ref: "from",
462
+ alwaysTranslate: this.alwaysTranslate,
463
+ inputAttr: this.inputAttributesFromLocal,
464
+ modelValue: this.modelValueFrom,
465
+ formatSave: this.formatSave,
466
+ firstDayOfWeek: this.firstDayOfWeek,
467
+ appendToBody: this.appendToBody,
468
+ popupStyle: this.popupStyle,
469
+ iconDay: this.iconDay,
470
+ inputName: this.inputName,
471
+ placement: this.placement,
472
+ clearable: this.clearable,
473
+ shortcuts: this.shortcuts,
474
+ lang: this.lang,
475
+ inputClass: this.inputClass,
476
+ placeholder: this.placeholderFrom,
477
+ disabled: this.disabled || this.disabledFrom,
478
+ width: this.inputWidth,
479
+ format: this.format,
480
+ type: "date",
481
+ onChange: this.changeModelFrom,
482
+ }),
483
+ ]),
484
+ h("div", {
485
+ class: "a_datepicker_range__group",
486
+ }, [
487
+ h(ALabel, {
488
+ id: this.idUntil,
489
+ alwaysTranslate: this.alwaysTranslate,
490
+ labelClass: "a_datepicker_range__label a_datepicker_range__label_max",
491
+ isLabelFloat: false,
492
+ label: this.labelUntil,
493
+ isError: this.isErrors,
494
+ }),
495
+ h(ADatepicker, {
496
+ id: this.idUntil,
497
+ ref: "until",
498
+ alwaysTranslate: this.alwaysTranslate,
499
+ modelValue: this.modelValueUntil,
500
+ formatSave: this.formatSave,
501
+ firstDayOfWeek: this.firstDayOfWeek,
502
+ appendToBody: this.appendToBody,
503
+ popupStyle: this.popupStyle,
504
+ iconDay: this.iconDay,
505
+ inputName: this.inputName,
506
+ placement: this.placement,
507
+ clearable: this.clearable,
508
+ shortcuts: this.shortcuts,
509
+ lang: this.lang,
510
+ inputClass: this.inputClass,
511
+ placeholder: this.placeholderUntil,
512
+ disabled: this.disabled || this.disabledUntil,
513
+ width: this.inputWidth,
514
+ format: this.format,
515
+ type: "date",
516
+ inputAttr: this.inputAttributesUntilLocal,
517
+ onChange: this.changeModelUntil,
518
+ }),
519
+ ]),
520
+ h(AFormHelpText, {
521
+ alwaysTranslate: this.alwaysTranslate,
522
+ class: "a_datepicker_range__help_text",
523
+ id: this.helpTextId,
524
+ html: this.helpText,
525
+ extra: this.extra,
526
+ }),
527
+ this.isErrors && h(AErrorsText, {
528
+ id: this.errorsId,
529
+ alwaysTranslate: this.alwaysTranslate,
530
+ errors: this.errors,
531
+ errorsClass: this.errorsClass,
532
+ }),
533
+ ]),
534
+ ]),
535
+ ]);
536
+ },
537
+ };