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,467 +1,467 @@
1
- import {
2
- h,
3
- Teleport,
4
- } from "vue";
5
-
6
- import ATranslation from "../ATranslation/ATranslation";
7
- import AWizardStep from "./AWizardStep/AWizardStep";
8
- import AWizardTab from "./AWizardTab/AWizardTab";
9
- import AWizardToolbar from "./AWizardToolbar/AWizardToolbar";
10
-
11
- import AttributesAPI from "./compositionAPI/AttributesAPI";
12
- import ClassAPI from "./compositionAPI/ClassAPI";
13
- import EventsAPI from "./compositionAPI/EventsAPI";
14
- import FocusAPI from "./compositionAPI/FocusAPI";
15
- import LocalAPI from "./compositionAPI/LocalAPI";
16
- import MobileAPI from "./compositionAPI/MobileAPI";
17
- import StepsAPI from "./compositionAPI/StepsAPI";
18
- import TeleportAPI from "./compositionAPI/TeleportAPI";
19
- import TypeAPI from "./compositionAPI/TypeAPI";
20
-
21
- import ExclamationCircleFill from "aloha-svg/dist/js/bootstrap/ExclamationCircleFill";
22
- import XCircleFill from "aloha-svg/dist/js/bootstrap/XCircleFill";
23
- import {
24
- isNil,
25
- uniqueId,
26
- } from "lodash-es";
27
-
28
- export default {
29
- name: "AWizard",
30
- props: {
31
- ariaLabel: {
32
- type: String,
33
- required: false,
34
- default: "_A_WIZARD_ARIA_LABEL_",
35
- },
36
- ariaLabelSteps: {
37
- type: String,
38
- required: false,
39
- default: "_A_WIZARD_STEPS_ARIA_LABEL_",
40
- },
41
- classExtra: {
42
- type: [String, Object],
43
- required: false,
44
- default: "a_wizard_class_extra",
45
- },
46
- backButtonAttributes: {
47
- type: Object,
48
- required: false,
49
- default: () => ({}),
50
- },
51
- backButtonClass: {
52
- type: [String, Array, Object],
53
- required: false,
54
- default: "a_btn a_btn_secondary",
55
- },
56
- backButtonIconLeft: {
57
- type: String,
58
- required: false,
59
- default: undefined,
60
- },
61
- backButtonIconRight: {
62
- type: String,
63
- required: false,
64
- default: undefined,
65
- },
66
- backButtonText: {
67
- type: String,
68
- required: false,
69
- default: "_A_WIZARD_PREVIOUS_",
70
- },
71
- backButtonTitle: {
72
- type: String,
73
- required: false,
74
- default: "_A_WIZARD_PREVIOUS_TITLE_",
75
- },
76
- extra: {
77
- type: Object,
78
- required: false,
79
- default: () => ({}),
80
- },
81
- forwardButtonAttributes: {
82
- type: Object,
83
- required: false,
84
- default: () => ({}),
85
- },
86
- forwardButtonClass: {
87
- type: [String, Array, Object],
88
- required: false,
89
- default: "a_btn a_btn_secondary",
90
- },
91
- forwardButtonIconLeft: {
92
- type: String,
93
- required: false,
94
- default: undefined,
95
- },
96
- forwardButtonIconRight: {
97
- type: String,
98
- required: false,
99
- default: undefined,
100
- },
101
- forwardButtonText: {
102
- type: String,
103
- required: false,
104
- default: "_A_WIZARD_NEXT_",
105
- },
106
- forwardButtonTitle: {
107
- type: String,
108
- required: false,
109
- default: "_A_WIZARD_NEXT_TITLE_",
110
- },
111
- hasFocusJump: {
112
- type: Boolean,
113
- required: false,
114
- default: true,
115
- },
116
- id: {
117
- type: String,
118
- required: false,
119
- default: () => uniqueId("a_wizard_"),
120
- },
121
- isBackButtonDisabled: {
122
- type: Boolean,
123
- required: false,
124
- default: false,
125
- },
126
- isBackButtonHide: {
127
- type: Boolean,
128
- required: false,
129
- },
130
- isBackFirstButtonHide: {
131
- type: Boolean,
132
- required: false,
133
- },
134
- isBackStepButtonDisabled: {
135
- type: Boolean,
136
- required: false,
137
- default: false,
138
- },
139
- isButtonsLoading: {
140
- type: Boolean,
141
- required: false,
142
- },
143
- isControlOutside: {
144
- type: Boolean,
145
- required: false,
146
- default: false,
147
- },
148
- isForwardButtonDisabled: {
149
- type: Boolean,
150
- required: false,
151
- default: false,
152
- },
153
- isForwardButtonHide: {
154
- type: Boolean,
155
- required: false,
156
- },
157
- isForwardLastButtonHide: {
158
- type: Boolean,
159
- required: false,
160
- },
161
- isForwardStepButtonDisabled: {
162
- type: Boolean,
163
- required: false,
164
- default: true,
165
- },
166
- isMobile: {
167
- type: Boolean,
168
- required: false,
169
- default: false,
170
- },
171
- isStepNumberVisible: {
172
- type: Boolean,
173
- required: false,
174
- default: true,
175
- },
176
- isStepsJustified: {
177
- type: Boolean,
178
- required: false,
179
- default: true,
180
- },
181
- isToolbarBottom: {
182
- type: Boolean,
183
- required: false,
184
- default: true,
185
- },
186
- isToolbarTop: {
187
- type: Boolean,
188
- required: false,
189
- default: false,
190
- },
191
- keyId: {
192
- type: String,
193
- required: false,
194
- default: undefined,
195
- },
196
- showOnlyActiveStepMobile: {
197
- type: Boolean,
198
- required: false,
199
- default: true,
200
- },
201
- stepActive: {
202
- type: Number,
203
- required: false,
204
- default: undefined,
205
- },
206
- stepIconError: {
207
- type: String,
208
- required: false,
209
- default: XCircleFill,
210
- },
211
- stepIconErrorText: {
212
- type: String,
213
- required: false,
214
- default: "_A_WIZARD_STEP_ERROR_",
215
- },
216
- stepIconWarning: {
217
- type: String,
218
- required: false,
219
- default: ExclamationCircleFill,
220
- },
221
- stepIconWarningText: {
222
- type: String,
223
- required: false,
224
- default: "_A_WIZARD_STEP_WARNING_",
225
- },
226
- steps: {
227
- type: Array,
228
- required: false,
229
- default: () => [],
230
- },
231
- stepsProgressbarText: {
232
- type: String,
233
- required: false,
234
- default: "_A_WIZARD_STEPS_PROGRESSBAR_TEXT_{{stepActive}}_{{stepsCount}}_",
235
- },
236
- stepsVisited: {
237
- type: Object,
238
- required: false,
239
- default: undefined,
240
- },
241
- subType: {
242
- type: String,
243
- required: false,
244
- default: undefined,
245
- validator: (value, props) => {
246
- const validSubTypes = {
247
- arrows: [],
248
- basic: [],
249
- line: ["square", "circle", "square-bordered", "circle-bordered"],
250
- round: [],
251
- };
252
-
253
- if (props) {
254
- if (props.type in validSubTypes) {
255
- return isNil(value) || validSubTypes[props.type].indexOf(value) !== -1;
256
- }
257
- } else {
258
- return ["square", "circle", "square-bordered", "circle-bordered"].indexOf(value) !== -1;
259
- }
260
-
261
- return false;
262
- },
263
- },
264
- toolbarBottomTeleportId: {
265
- type: String,
266
- required: false,
267
- default: undefined,
268
- },
269
- type: {
270
- type: String,
271
- required: false,
272
- default: "basic",
273
- validator: value => ["arrows", "line", "round", "basic"].indexOf(value) !== -1,
274
- },
275
- },
276
- emits: [
277
- "goStepBack",
278
- "goStepForward",
279
- ],
280
- setup(props, context) {
281
- const {
282
- subTypeLocal,
283
- } = TypeAPI(props);
284
-
285
- const {
286
- classWizard,
287
- } = ClassAPI(props, {
288
- subTypeLocal,
289
- });
290
-
291
- const {
292
- setFocusToActiveStep,
293
- wizardTabsRef,
294
- } = FocusAPI(props);
295
-
296
- const {
297
- initStepActive,
298
- stepActiveComputed,
299
- stepActiveLocal,
300
- stepsVisitedComputed,
301
- stepsVisitedLocal,
302
- } = LocalAPI(props, {
303
- setFocusToActiveStep,
304
- });
305
-
306
- const {
307
- ariaLabelAttributes,
308
- ariaLabelStepsAttributes,
309
- idProgressbar,
310
- wizardAriaDescribedby,
311
- } = AttributesAPI(props, {
312
- stepActiveComputed,
313
- });
314
-
315
- const {
316
- goOneStepBack,
317
- goOneStepForward,
318
- onStepClick,
319
- } = EventsAPI(props, context, {
320
- stepActiveComputed,
321
- stepActiveLocal,
322
- stepsVisitedLocal,
323
- });
324
-
325
- const {
326
- stepActiveNumber,
327
- stepsCount,
328
- } = StepsAPI(props, {
329
- stepActiveComputed,
330
- });
331
-
332
- const {
333
- toolbarBottomTeleportSelector,
334
- useTeleportToolbarBottom,
335
- } = TeleportAPI(props);
336
-
337
- const {
338
- isMobileLocal,
339
- } = MobileAPI(props);
340
-
341
- initStepActive();
342
-
343
- return {
344
- ariaLabelAttributes,
345
- ariaLabelStepsAttributes,
346
- classWizard,
347
- goOneStepBack,
348
- goOneStepForward,
349
- idProgressbar,
350
- isMobileLocal,
351
- onStepClick,
352
- stepActiveComputed,
353
- stepActiveNumber,
354
- stepsCount,
355
- stepsVisitedComputed,
356
- toolbarBottomTeleportSelector,
357
- useTeleportToolbarBottom,
358
- wizardAriaDescribedby,
359
- wizardTabsRef,
360
- };
361
- },
362
- render() {
363
- const TOOLBAR = h(AWizardToolbar, {
364
- backButtonAttributes: this.backButtonAttributes,
365
- backButtonClass: this.backButtonClass,
366
- backButtonIconLeft: this.backButtonIconLeft,
367
- backButtonIconRight: this.backButtonIconRight,
368
- backButtonText: this.backButtonText,
369
- backButtonTitle: this.backButtonTitle,
370
- extra: this.extra,
371
- forwardButtonAttributes: this.forwardButtonAttributes,
372
- forwardButtonClass: this.forwardButtonClass,
373
- forwardButtonIconLeft: this.forwardButtonIconLeft,
374
- forwardButtonIconRight: this.forwardButtonIconRight,
375
- forwardButtonText: this.forwardButtonText,
376
- forwardButtonTitle: this.forwardButtonTitle,
377
- isBackButtonDisabled: this.isBackButtonDisabled,
378
- isBackButtonHide: this.isBackButtonHide,
379
- isBackFirstButtonHide: this.isBackFirstButtonHide,
380
- isButtonsLoading: this.isButtonsLoading,
381
- isForwardButtonDisabled: this.isForwardButtonDisabled,
382
- isForwardButtonHide: this.isForwardButtonHide,
383
- isForwardLastButtonHide: this.isForwardLastButtonHide,
384
- stepActiveComputed: this.stepActiveComputed,
385
- steps: this.steps,
386
- onGoOneStepBack: this.goOneStepBack,
387
- onGoOneStepForward: this.goOneStepForward,
388
- }, this.$slots);
389
-
390
- return h("div", {
391
- tabindex: 0,
392
- id: this.id,
393
- role: "application",
394
- "aria-describedby": this.wizardAriaDescribedby,
395
- class: [
396
- this.classWizard,
397
- this.classExtra,
398
- {
399
- a_wizard_mobile: this.isMobileLocal,
400
- a_wizard_show_only_active_step_mobile: this.showOnlyActiveStepMobile,
401
- },
402
- ],
403
- ...this.ariaLabelAttributes,
404
- }, [
405
- h(ATranslation, {
406
- id: this.idProgressbar,
407
- class: "a_sr_only",
408
- extra: {
409
- stepActive: this.stepActiveNumber,
410
- stepsCount: this.stepsCount,
411
- },
412
- tag: "span",
413
- text: this.stepsProgressbarText,
414
- }),
415
- h("ul", {
416
- class: "a_wizard__steps",
417
- role: "navigation",
418
- ...this.ariaLabelStepsAttributes,
419
- }, [
420
- this.steps.map((step, stepIndex) => {
421
- return h(AWizardStep, {
422
- key: this.keyId ? step[this.keyId] : stepIndex,
423
- id: this.id,
424
- extra: this.extra,
425
- isBackButtonDisabled: this.isBackButtonDisabled,
426
- isBackStepButtonDisabled: this.isBackStepButtonDisabled,
427
- isForwardButtonDisabled: this.isForwardButtonDisabled,
428
- isForwardStepButtonDisabled: this.isForwardStepButtonDisabled,
429
- isMobile: this.isMobileLocal,
430
- isStepNumberVisible: this.isStepNumberVisible,
431
- showOnlyActiveStepMobile: this.showOnlyActiveStepMobile,
432
- step,
433
- stepActiveComputed: this.stepActiveComputed,
434
- stepIconError: this.stepIconError,
435
- stepIconWarning: this.stepIconWarning,
436
- stepIndex,
437
- stepsCount: this.stepsCount,
438
- onOnStepClick: this.onStepClick,
439
- }, this.$slots);
440
- }),
441
- ]),
442
- this.isToolbarTop && TOOLBAR,
443
- h("div", {
444
- class: "a_wizard__tab_content",
445
- }, [
446
- this.steps.map((step, stepIndex) => {
447
- return h(AWizardTab, {
448
- key: this.keyId ? step[this.keyId] : stepIndex,
449
- id: this.id,
450
- extra: this.extra,
451
- step,
452
- stepActiveComputed: this.stepActiveComputed,
453
- stepIndex,
454
- stepsVisitedComputed: this.stepsVisitedComputed,
455
- wizardAriaDescribedby: this.wizardAriaDescribedby,
456
- }, this.$slots);
457
- }),
458
- ]),
459
- this.isToolbarBottom && h(Teleport, {
460
- to: this.toolbarBottomTeleportSelector,
461
- disabled: !this.useTeleportToolbarBottom,
462
- }, [
463
- TOOLBAR,
464
- ]),
465
- ]);
466
- },
467
- };
1
+ import {
2
+ h,
3
+ Teleport,
4
+ } from "vue";
5
+
6
+ import ATranslation from "../ATranslation/ATranslation";
7
+ import AWizardStep from "./AWizardStep/AWizardStep";
8
+ import AWizardTab from "./AWizardTab/AWizardTab";
9
+ import AWizardToolbar from "./AWizardToolbar/AWizardToolbar";
10
+
11
+ import AttributesAPI from "./compositionAPI/AttributesAPI";
12
+ import ClassAPI from "./compositionAPI/ClassAPI";
13
+ import EventsAPI from "./compositionAPI/EventsAPI";
14
+ import FocusAPI from "./compositionAPI/FocusAPI";
15
+ import LocalAPI from "./compositionAPI/LocalAPI";
16
+ import MobileAPI from "./compositionAPI/MobileAPI";
17
+ import StepsAPI from "./compositionAPI/StepsAPI";
18
+ import TeleportAPI from "./compositionAPI/TeleportAPI";
19
+ import TypeAPI from "./compositionAPI/TypeAPI";
20
+
21
+ import ExclamationCircleFill from "aloha-svg/dist/js/bootstrap/ExclamationCircleFill";
22
+ import XCircleFill from "aloha-svg/dist/js/bootstrap/XCircleFill";
23
+ import {
24
+ isNil,
25
+ uniqueId,
26
+ } from "lodash-es";
27
+
28
+ export default {
29
+ name: "AWizard",
30
+ props: {
31
+ ariaLabel: {
32
+ type: String,
33
+ required: false,
34
+ default: "_A_WIZARD_ARIA_LABEL_",
35
+ },
36
+ ariaLabelSteps: {
37
+ type: String,
38
+ required: false,
39
+ default: "_A_WIZARD_STEPS_ARIA_LABEL_",
40
+ },
41
+ classExtra: {
42
+ type: [String, Object],
43
+ required: false,
44
+ default: "a_wizard_class_extra",
45
+ },
46
+ backButtonAttributes: {
47
+ type: Object,
48
+ required: false,
49
+ default: () => ({}),
50
+ },
51
+ backButtonClass: {
52
+ type: [String, Array, Object],
53
+ required: false,
54
+ default: "a_btn a_btn_secondary",
55
+ },
56
+ backButtonIconLeft: {
57
+ type: String,
58
+ required: false,
59
+ default: undefined,
60
+ },
61
+ backButtonIconRight: {
62
+ type: String,
63
+ required: false,
64
+ default: undefined,
65
+ },
66
+ backButtonText: {
67
+ type: String,
68
+ required: false,
69
+ default: "_A_WIZARD_PREVIOUS_",
70
+ },
71
+ backButtonTitle: {
72
+ type: String,
73
+ required: false,
74
+ default: "_A_WIZARD_PREVIOUS_TITLE_",
75
+ },
76
+ extra: {
77
+ type: Object,
78
+ required: false,
79
+ default: () => ({}),
80
+ },
81
+ forwardButtonAttributes: {
82
+ type: Object,
83
+ required: false,
84
+ default: () => ({}),
85
+ },
86
+ forwardButtonClass: {
87
+ type: [String, Array, Object],
88
+ required: false,
89
+ default: "a_btn a_btn_secondary",
90
+ },
91
+ forwardButtonIconLeft: {
92
+ type: String,
93
+ required: false,
94
+ default: undefined,
95
+ },
96
+ forwardButtonIconRight: {
97
+ type: String,
98
+ required: false,
99
+ default: undefined,
100
+ },
101
+ forwardButtonText: {
102
+ type: String,
103
+ required: false,
104
+ default: "_A_WIZARD_NEXT_",
105
+ },
106
+ forwardButtonTitle: {
107
+ type: String,
108
+ required: false,
109
+ default: "_A_WIZARD_NEXT_TITLE_",
110
+ },
111
+ hasFocusJump: {
112
+ type: Boolean,
113
+ required: false,
114
+ default: true,
115
+ },
116
+ id: {
117
+ type: String,
118
+ required: false,
119
+ default: () => uniqueId("a_wizard_"),
120
+ },
121
+ isBackButtonDisabled: {
122
+ type: Boolean,
123
+ required: false,
124
+ default: false,
125
+ },
126
+ isBackButtonHide: {
127
+ type: Boolean,
128
+ required: false,
129
+ },
130
+ isBackFirstButtonHide: {
131
+ type: Boolean,
132
+ required: false,
133
+ },
134
+ isBackStepButtonDisabled: {
135
+ type: Boolean,
136
+ required: false,
137
+ default: false,
138
+ },
139
+ isButtonsLoading: {
140
+ type: Boolean,
141
+ required: false,
142
+ },
143
+ isControlOutside: {
144
+ type: Boolean,
145
+ required: false,
146
+ default: false,
147
+ },
148
+ isForwardButtonDisabled: {
149
+ type: Boolean,
150
+ required: false,
151
+ default: false,
152
+ },
153
+ isForwardButtonHide: {
154
+ type: Boolean,
155
+ required: false,
156
+ },
157
+ isForwardLastButtonHide: {
158
+ type: Boolean,
159
+ required: false,
160
+ },
161
+ isForwardStepButtonDisabled: {
162
+ type: Boolean,
163
+ required: false,
164
+ default: true,
165
+ },
166
+ isMobile: {
167
+ type: Boolean,
168
+ required: false,
169
+ default: false,
170
+ },
171
+ isStepNumberVisible: {
172
+ type: Boolean,
173
+ required: false,
174
+ default: true,
175
+ },
176
+ isStepsJustified: {
177
+ type: Boolean,
178
+ required: false,
179
+ default: true,
180
+ },
181
+ isToolbarBottom: {
182
+ type: Boolean,
183
+ required: false,
184
+ default: true,
185
+ },
186
+ isToolbarTop: {
187
+ type: Boolean,
188
+ required: false,
189
+ default: false,
190
+ },
191
+ keyId: {
192
+ type: String,
193
+ required: false,
194
+ default: undefined,
195
+ },
196
+ showOnlyActiveStepMobile: {
197
+ type: Boolean,
198
+ required: false,
199
+ default: true,
200
+ },
201
+ stepActive: {
202
+ type: Number,
203
+ required: false,
204
+ default: undefined,
205
+ },
206
+ stepIconError: {
207
+ type: String,
208
+ required: false,
209
+ default: XCircleFill,
210
+ },
211
+ stepIconErrorText: {
212
+ type: String,
213
+ required: false,
214
+ default: "_A_WIZARD_STEP_ERROR_",
215
+ },
216
+ stepIconWarning: {
217
+ type: String,
218
+ required: false,
219
+ default: ExclamationCircleFill,
220
+ },
221
+ stepIconWarningText: {
222
+ type: String,
223
+ required: false,
224
+ default: "_A_WIZARD_STEP_WARNING_",
225
+ },
226
+ steps: {
227
+ type: Array,
228
+ required: false,
229
+ default: () => [],
230
+ },
231
+ stepsProgressbarText: {
232
+ type: String,
233
+ required: false,
234
+ default: "_A_WIZARD_STEPS_PROGRESSBAR_TEXT_{{stepActive}}_{{stepsCount}}_",
235
+ },
236
+ stepsVisited: {
237
+ type: Object,
238
+ required: false,
239
+ default: undefined,
240
+ },
241
+ subType: {
242
+ type: String,
243
+ required: false,
244
+ default: undefined,
245
+ validator: (value, props) => {
246
+ const validSubTypes = {
247
+ arrows: [],
248
+ basic: [],
249
+ line: ["square", "circle", "square-bordered", "circle-bordered"],
250
+ round: [],
251
+ };
252
+
253
+ if (props) {
254
+ if (props.type in validSubTypes) {
255
+ return isNil(value) || validSubTypes[props.type].indexOf(value) !== -1;
256
+ }
257
+ } else {
258
+ return ["square", "circle", "square-bordered", "circle-bordered"].indexOf(value) !== -1;
259
+ }
260
+
261
+ return false;
262
+ },
263
+ },
264
+ toolbarBottomTeleportId: {
265
+ type: String,
266
+ required: false,
267
+ default: undefined,
268
+ },
269
+ type: {
270
+ type: String,
271
+ required: false,
272
+ default: "basic",
273
+ validator: value => ["arrows", "line", "round", "basic"].indexOf(value) !== -1,
274
+ },
275
+ },
276
+ emits: [
277
+ "goStepBack",
278
+ "goStepForward",
279
+ ],
280
+ setup(props, context) {
281
+ const {
282
+ subTypeLocal,
283
+ } = TypeAPI(props);
284
+
285
+ const {
286
+ classWizard,
287
+ } = ClassAPI(props, {
288
+ subTypeLocal,
289
+ });
290
+
291
+ const {
292
+ setFocusToActiveStep,
293
+ wizardTabsRef,
294
+ } = FocusAPI(props);
295
+
296
+ const {
297
+ initStepActive,
298
+ stepActiveComputed,
299
+ stepActiveLocal,
300
+ stepsVisitedComputed,
301
+ stepsVisitedLocal,
302
+ } = LocalAPI(props, {
303
+ setFocusToActiveStep,
304
+ });
305
+
306
+ const {
307
+ ariaLabelAttributes,
308
+ ariaLabelStepsAttributes,
309
+ idProgressbar,
310
+ wizardAriaDescribedby,
311
+ } = AttributesAPI(props, {
312
+ stepActiveComputed,
313
+ });
314
+
315
+ const {
316
+ goOneStepBack,
317
+ goOneStepForward,
318
+ onStepClick,
319
+ } = EventsAPI(props, context, {
320
+ stepActiveComputed,
321
+ stepActiveLocal,
322
+ stepsVisitedLocal,
323
+ });
324
+
325
+ const {
326
+ stepActiveNumber,
327
+ stepsCount,
328
+ } = StepsAPI(props, {
329
+ stepActiveComputed,
330
+ });
331
+
332
+ const {
333
+ toolbarBottomTeleportSelector,
334
+ useTeleportToolbarBottom,
335
+ } = TeleportAPI(props);
336
+
337
+ const {
338
+ isMobileLocal,
339
+ } = MobileAPI(props);
340
+
341
+ initStepActive();
342
+
343
+ return {
344
+ ariaLabelAttributes,
345
+ ariaLabelStepsAttributes,
346
+ classWizard,
347
+ goOneStepBack,
348
+ goOneStepForward,
349
+ idProgressbar,
350
+ isMobileLocal,
351
+ onStepClick,
352
+ stepActiveComputed,
353
+ stepActiveNumber,
354
+ stepsCount,
355
+ stepsVisitedComputed,
356
+ toolbarBottomTeleportSelector,
357
+ useTeleportToolbarBottom,
358
+ wizardAriaDescribedby,
359
+ wizardTabsRef,
360
+ };
361
+ },
362
+ render() {
363
+ const TOOLBAR = h(AWizardToolbar, {
364
+ backButtonAttributes: this.backButtonAttributes,
365
+ backButtonClass: this.backButtonClass,
366
+ backButtonIconLeft: this.backButtonIconLeft,
367
+ backButtonIconRight: this.backButtonIconRight,
368
+ backButtonText: this.backButtonText,
369
+ backButtonTitle: this.backButtonTitle,
370
+ extra: this.extra,
371
+ forwardButtonAttributes: this.forwardButtonAttributes,
372
+ forwardButtonClass: this.forwardButtonClass,
373
+ forwardButtonIconLeft: this.forwardButtonIconLeft,
374
+ forwardButtonIconRight: this.forwardButtonIconRight,
375
+ forwardButtonText: this.forwardButtonText,
376
+ forwardButtonTitle: this.forwardButtonTitle,
377
+ isBackButtonDisabled: this.isBackButtonDisabled,
378
+ isBackButtonHide: this.isBackButtonHide,
379
+ isBackFirstButtonHide: this.isBackFirstButtonHide,
380
+ isButtonsLoading: this.isButtonsLoading,
381
+ isForwardButtonDisabled: this.isForwardButtonDisabled,
382
+ isForwardButtonHide: this.isForwardButtonHide,
383
+ isForwardLastButtonHide: this.isForwardLastButtonHide,
384
+ stepActiveComputed: this.stepActiveComputed,
385
+ steps: this.steps,
386
+ onGoOneStepBack: this.goOneStepBack,
387
+ onGoOneStepForward: this.goOneStepForward,
388
+ }, this.$slots);
389
+
390
+ return h("div", {
391
+ tabindex: 0,
392
+ id: this.id,
393
+ role: "application",
394
+ "aria-describedby": this.wizardAriaDescribedby,
395
+ class: [
396
+ this.classWizard,
397
+ this.classExtra,
398
+ {
399
+ a_wizard_mobile: this.isMobileLocal,
400
+ a_wizard_show_only_active_step_mobile: this.showOnlyActiveStepMobile,
401
+ },
402
+ ],
403
+ ...this.ariaLabelAttributes,
404
+ }, [
405
+ h(ATranslation, {
406
+ id: this.idProgressbar,
407
+ class: "a_sr_only",
408
+ extra: {
409
+ stepActive: this.stepActiveNumber,
410
+ stepsCount: this.stepsCount,
411
+ },
412
+ tag: "span",
413
+ text: this.stepsProgressbarText,
414
+ }),
415
+ h("ul", {
416
+ class: "a_wizard__steps",
417
+ role: "navigation",
418
+ ...this.ariaLabelStepsAttributes,
419
+ }, [
420
+ this.steps.map((step, stepIndex) => {
421
+ return h(AWizardStep, {
422
+ key: this.keyId ? step[this.keyId] : stepIndex,
423
+ id: this.id,
424
+ extra: this.extra,
425
+ isBackButtonDisabled: this.isBackButtonDisabled,
426
+ isBackStepButtonDisabled: this.isBackStepButtonDisabled,
427
+ isForwardButtonDisabled: this.isForwardButtonDisabled,
428
+ isForwardStepButtonDisabled: this.isForwardStepButtonDisabled,
429
+ isMobile: this.isMobileLocal,
430
+ isStepNumberVisible: this.isStepNumberVisible,
431
+ showOnlyActiveStepMobile: this.showOnlyActiveStepMobile,
432
+ step,
433
+ stepActiveComputed: this.stepActiveComputed,
434
+ stepIconError: this.stepIconError,
435
+ stepIconWarning: this.stepIconWarning,
436
+ stepIndex,
437
+ stepsCount: this.stepsCount,
438
+ onOnStepClick: this.onStepClick,
439
+ }, this.$slots);
440
+ }),
441
+ ]),
442
+ this.isToolbarTop && TOOLBAR,
443
+ h("div", {
444
+ class: "a_wizard__tab_content",
445
+ }, [
446
+ this.steps.map((step, stepIndex) => {
447
+ return h(AWizardTab, {
448
+ key: this.keyId ? step[this.keyId] : stepIndex,
449
+ id: this.id,
450
+ extra: this.extra,
451
+ step,
452
+ stepActiveComputed: this.stepActiveComputed,
453
+ stepIndex,
454
+ stepsVisitedComputed: this.stepsVisitedComputed,
455
+ wizardAriaDescribedby: this.wizardAriaDescribedby,
456
+ }, this.$slots);
457
+ }),
458
+ ]),
459
+ this.isToolbarBottom && h(Teleport, {
460
+ to: this.toolbarBottomTeleportSelector,
461
+ disabled: !this.useTeleportToolbarBottom,
462
+ }, [
463
+ TOOLBAR,
464
+ ]),
465
+ ]);
466
+ },
467
+ };