aloha-vue 2.66.0 → 2.66.2

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 (432) hide show
  1. package/CHANGELOG.md +1098 -1090
  2. package/dist/aloha-vue.es.js +15671 -15507
  3. package/dist/aloha-vue.umd.js +68 -68
  4. package/package.json +99 -99
  5. package/scss/_base.scss +62 -62
  6. package/scss/aloha-vue.scss +68 -68
  7. package/scss/components/AFilters.scss +304 -304
  8. package/scss/components/AFormElement/AValidatedJson.scss +6 -6
  9. package/scss/components/AMenu.scss +627 -627
  10. package/scss/components/AModal.scss +44 -44
  11. package/scss/components/APagination.scss +167 -167
  12. package/scss/components/ARate.scss +78 -78
  13. package/scss/components/AResizer.scss +63 -63
  14. package/scss/components/ATable.scss +819 -819
  15. package/scss/components/ATableForm.scss +307 -307
  16. package/scss/components/AVerticalScroll.scss +47 -47
  17. package/scss/components/AWizard.scss +669 -669
  18. package/scss/components/ui/ADatepicker.scss +342 -342
  19. package/scss/components/ui/ADatepickerRange.scss +45 -45
  20. package/scss/components/ui/AFieldset.scss +78 -78
  21. package/scss/components/ui/AInputNumber.scss +62 -62
  22. package/scss/components/ui/AInputNumberRange.scss +30 -30
  23. package/scss/components/ui/ASelect.scss +236 -236
  24. package/scss/components/ui/ASlider.scss +186 -186
  25. package/scss/components/ui/ASwitch.scss +148 -148
  26. package/scss/components/ui/ui.scss +254 -254
  27. package/scss/text/text_alignment.scss +39 -39
  28. package/scss/text/text_transform.scss +51 -51
  29. package/scss/text/text_wrapping.scss +40 -40
  30. package/scss/utils/badge.scss +45 -45
  31. package/scss/utils/checkbox_radio.scss +134 -134
  32. package/scss/utils/color.scss +46 -46
  33. package/scss/utils/dropdown.scss +185 -185
  34. package/scss/utils/list.scss +75 -75
  35. package/scss/utils/modal.scss +173 -173
  36. package/scss/utils/sizing.scss +137 -137
  37. package/scss/utils/spacing.scss +63 -63
  38. package/scss/utils/tooltip.scss +63 -63
  39. package/src/AAccordion/AAccordion.js +206 -206
  40. package/src/AAccordion/compositionAPI/IndexesForOpenAPI.js +63 -63
  41. package/src/AAccordion/compositionAPI/ToggleAPI.js +85 -85
  42. package/src/AAlert/AAlert.js +216 -216
  43. package/src/AAlert/compositionAPI/ClassAPI.js +21 -21
  44. package/src/AAlert/i18n/AAlertI18n.js +19 -19
  45. package/src/AAlert/i18n/ar.json +2 -2
  46. package/src/AAlert/i18n/de.json +2 -2
  47. package/src/AAlert/i18n/en.json +2 -2
  48. package/src/AAlert/i18n/es.json +2 -2
  49. package/src/AAlert/i18n/fr.json +2 -2
  50. package/src/AAlert/i18n/hr.json +2 -2
  51. package/src/AAlert/i18n/it.json +2 -2
  52. package/src/AAlert/i18n/ru.json +2 -2
  53. package/src/AButton/AButton.js +275 -275
  54. package/src/ACarousel/ACarousel.js +361 -361
  55. package/src/ACarousel/ACarouselBtn/ACarouselBtn.js +75 -75
  56. package/src/ACarousel/ACarouselBtn/compositionAPI/ClassAPI.js +16 -16
  57. package/src/ACarousel/ACarouselBtn/compositionAPI/TextAPI.js +25 -25
  58. package/src/ACarousel/ACarouselControls/ACarouselControls.js +114 -114
  59. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/ACarouselControlsIndicator.js +146 -146
  60. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/ActiveAPI.js +33 -33
  61. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/AttributesAPI.js +40 -40
  62. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/EventsAPI.js +25 -25
  63. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/IconAPI.js +20 -20
  64. package/src/ACarousel/ACarouselControls/compositionAPI/AriaLabelAPI.js +20 -20
  65. package/src/ACarousel/ACarouselItem/ACarouselItem.js +83 -83
  66. package/src/ACarousel/ACarouselItem/compositionAPI/AttributesAPI.js +39 -39
  67. package/src/ACarousel/ACarouselItem/compositionAPI/IsActiveAPI.js +21 -21
  68. package/src/ACarousel/compositionAPI/ActiveAPI.js +111 -111
  69. package/src/ACarousel/compositionAPI/AriaLabelAPI.js +25 -25
  70. package/src/ACarousel/compositionAPI/ArrowsAPI.js +17 -17
  71. package/src/ACarousel/compositionAPI/ClassAPI.js +44 -44
  72. package/src/ACarousel/compositionAPI/DataAPI.js +41 -41
  73. package/src/ACarousel/compositionAPI/IndicatorsAPI.js +148 -148
  74. package/src/ACarousel/compositionAPI/TextsAPI.js +25 -25
  75. package/src/ACarousel/i18n/ACarouselI18n.js +19 -19
  76. package/src/ACarousel/i18n/ar.json +8 -8
  77. package/src/ACarousel/i18n/de.json +8 -8
  78. package/src/ACarousel/i18n/en.json +8 -8
  79. package/src/ACarousel/i18n/es.json +8 -8
  80. package/src/ACarousel/i18n/fr.json +8 -8
  81. package/src/ACarousel/i18n/hr.json +8 -8
  82. package/src/ACarousel/i18n/it.json +8 -8
  83. package/src/ACarousel/i18n/ru.json +8 -8
  84. package/src/ACollapse/ACollapse.js +103 -103
  85. package/src/ADropdown/ADropdown.js +544 -544
  86. package/src/ADropdown/ADropdownGroup.js +85 -85
  87. package/src/ADropdown/compositionAPI/ActionsAPI.js +147 -147
  88. package/src/ADropdown/compositionAPI/AttributesAPI.js +100 -100
  89. package/src/AElement/AElement.js +518 -518
  90. package/src/AElement/compositionAPI/AttributesAPI.js +51 -51
  91. package/src/AElement/compositionAPI/ClickAPI.js +30 -30
  92. package/src/AElement/compositionAPI/ComponentLocalAPI.js +23 -23
  93. package/src/AElement/compositionAPI/DisabledAPI.js +22 -22
  94. package/src/AElement/compositionAPI/HtmlTitleAPI.js +33 -33
  95. package/src/AElement/compositionAPI/KeydownAPI.js +35 -35
  96. package/src/AElement/compositionAPI/LoadingAPI.js +22 -22
  97. package/src/AElement/compositionAPI/RouterLinkAPI.js +20 -20
  98. package/src/AElement/compositionAPI/SwitchAPI.js +33 -33
  99. package/src/AElement/compositionAPI/TagAPI.js +34 -34
  100. package/src/AElement/compositionAPI/TextAPI.js +78 -78
  101. package/src/AElement/compositionAPI/TitleAPI.js +29 -29
  102. package/src/AFilters/AFilterCenter/AFilterCenter.js +154 -154
  103. package/src/AFilters/AFilterCenter/AFilterCenterItem/AFilterCenterItem.js +207 -207
  104. package/src/AFilters/AFilters/AFilters.js +282 -282
  105. package/src/AFilters/i18n/ar.json +30 -30
  106. package/src/AFilters/i18n/en.json +30 -30
  107. package/src/AFilters/i18n/es.json +30 -30
  108. package/src/AFilters/i18n/fr.json +30 -30
  109. package/src/AFilters/i18n/hr.json +30 -30
  110. package/src/AFilters/i18n/it.json +30 -30
  111. package/src/AFilters/i18n/ru.json +30 -30
  112. package/src/AGroupButtonDropdown/compositionAPI/ActionsAPI.js +143 -143
  113. package/src/ALink/ALink.js +253 -253
  114. package/src/AMenu/AMenu.js +578 -578
  115. package/src/AMenu/AMenuBreadcrumbs/compositionAPI/RenderTruncatedAPI.js +74 -74
  116. package/src/AMenu/AMenuButtonToggle/AMenuButtonToggle.js +94 -94
  117. package/src/AMenu/AMenuButtonToggle/compositionAPI/ToggleAPI.js +95 -95
  118. package/src/AMenu/AMenuPanelLink/AMenuPanelLink.js +250 -250
  119. package/src/AMenu/compositionAPI/BackdropAPI.js +42 -42
  120. package/src/AMenu/compositionAPI/KeydownAPI.js +197 -197
  121. package/src/AMenu/compositionAPI/LinkClickAPI.js +48 -48
  122. package/src/AMenu/compositionAPI/MenuAttributesAPI.js +51 -51
  123. package/src/AMenu/compositionAPI/PanelsAPI.js +78 -78
  124. package/src/AMenu/compositionAPI/ResizeAPI.js +74 -74
  125. package/src/AModal/AModal.js +530 -530
  126. package/src/AModalForm/AModalForm.js +383 -383
  127. package/src/AModalWizard/AModalWizard.js +563 -563
  128. package/src/ANotification/ANotification.js +60 -60
  129. package/src/APagination/APagination.js +111 -111
  130. package/src/APagination/APaginationCountPerPage/APaginationCountPerPage.js +209 -209
  131. package/src/APagination/APaginationCountPerPage/compositionAPI/MainAPI.js +40 -40
  132. package/src/APagination/APaginationCountPerPage/compositionAPI/TextsAPI.js +54 -54
  133. package/src/APagination/APaginationPages/APaginationPages.js +282 -282
  134. package/src/APagination/APaginationPages/compositionAPI/PaginationItemsAPI.js +102 -102
  135. package/src/APagination/APaginationPages/compositionAPI/TextsAPI.js +74 -74
  136. package/src/APagination/compositionAPI/ComponentsAPI.js +79 -79
  137. package/src/APagination/i18n/ar.json +12 -12
  138. package/src/APagination/i18n/es.json +12 -12
  139. package/src/APagination/i18n/fr.json +12 -12
  140. package/src/APagination/i18n/hr.json +12 -12
  141. package/src/APagination/i18n/it.json +12 -12
  142. package/src/APagination/i18n/ru.json +12 -12
  143. package/src/APopup/APopup.js +115 -115
  144. package/src/ATable/ATable.js +1159 -1157
  145. package/src/ATable/ATableHeaderThAction/ATableHeaderThAction.js +241 -241
  146. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ModelAPI.test.js +200 -200
  147. package/src/ATable/ATableSortingAdditional/compositionAPI/ModelAPI.js +152 -152
  148. package/src/ATable/ATableTd/ATableTd.js +145 -145
  149. package/src/ATable/ATableTdAction/ATableTdAction.js +223 -218
  150. package/src/ATable/ATableTopPanel/ATableTopPanel.js +433 -433
  151. package/src/ATable/ATableTr/ATableTr.js +8 -0
  152. package/src/ATable/ATableTr/compositionAPI/AttributesAPI.js +3 -1
  153. package/src/ATable/__tests__/ATable.RowIdsAPI.test.js +66 -0
  154. package/src/ATable/compositionAPI/ColumnActionAPI.js +105 -105
  155. package/src/ATable/compositionAPI/ColumnStylesAPI.js +50 -50
  156. package/src/ATable/compositionAPI/ColumnsGroupedAPI.js +187 -187
  157. package/src/ATable/compositionAPI/PaginationModesAPI.js +44 -44
  158. package/src/ATable/compositionAPI/PreviewAPI.js +201 -201
  159. package/src/ATable/compositionAPI/PreviewRightResizeAPI.js +135 -135
  160. package/src/ATable/compositionAPI/RowActionsAPI.js +3 -1
  161. package/src/ATable/compositionAPI/ScrollControlAPI.js +249 -249
  162. package/src/ATable/compositionAPI/SortAPI.js +86 -86
  163. package/src/ATable/compositionAPI/WidthAPI.js +73 -73
  164. package/src/ATableForm/ATableForm.js +595 -595
  165. package/src/ATableForm/ATableFormCell/ATableFormCell.js +204 -204
  166. package/src/ATableForm/ATableFormCell/compositionAPI/DisabledAPI.js +23 -23
  167. package/src/ATableForm/ATableFormCell/compositionAPI/ReadonlyAPI.js +31 -31
  168. package/src/ATableForm/ATableFormCellAction/ATableFormCellAction.js +282 -282
  169. package/src/ATableForm/ATableFormCellAction/compositionAPI/DeleteAPI.js +80 -80
  170. package/src/ATableForm/ATableFormCellAction/compositionAPI/DisabledAPI.js +60 -60
  171. package/src/ATableForm/ATableFormCellAction/compositionAPI/HiddenAPI.js +46 -46
  172. package/src/ATableForm/ATableFormCellAction/compositionAPI/IdsAPI.js +31 -31
  173. package/src/ATableForm/ATableFormCellAction/compositionAPI/StylesAPI.js +27 -27
  174. package/src/ATableForm/ATableFormCellAction/compositionAPI/TitleAPI.js +47 -47
  175. package/src/ATableForm/ATableFormCellDnd/compositionAPI/IdAPI.js +21 -21
  176. package/src/ATableForm/ATableFormCellList/ATableFormCellList.js +127 -127
  177. package/src/ATableForm/ATableFormCellList/compositionAPI/DataAPI.js +77 -77
  178. package/src/ATableForm/ATableFormRow/ATableFormRow.js +592 -592
  179. package/src/ATableForm/ATableFormRow/compositionAPI/ErrorsAPI.js +40 -40
  180. package/src/ATableForm/ATableFormRow/compositionAPI/FocusAPI.js +55 -55
  181. package/src/ATableForm/ATableFormRow/compositionAPI/IdAPI.js +19 -19
  182. package/src/ATableForm/__tests__/ATableForm.ListView.test.js +864 -864
  183. package/src/ATableForm/compositionAPI/ClassesAPI.js +23 -23
  184. package/src/ATableForm/compositionAPI/ColumnsGrowAPI.js +180 -180
  185. package/src/ATableForm/compositionAPI/DeleteAPI.js +9 -9
  186. package/src/ATableForm/compositionAPI/EditAPI.js +125 -125
  187. package/src/ATableForm/compositionAPI/RowsAPI.js +42 -42
  188. package/src/ATableForm/compositionAPI/StylesAPI.js +62 -62
  189. package/src/ATableForm/compositionAPI/WidthsAPI.js +20 -20
  190. package/src/ATableForm/i18n/ATableFormI18n.js +19 -19
  191. package/src/ATableForm/utils/getFormElement.js +32 -32
  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/AFiltersAPI.js +178 -178
  200. package/src/compositionAPI/AMobileAPI.js +32 -32
  201. package/src/compositionAPI/APageTabTitleAPI.js +84 -84
  202. package/src/compositionAPI/ARemPxAPI.js +47 -47
  203. package/src/compositionAPI/FocusByDestroyAPI.js +67 -67
  204. package/src/const/AKeys.js +9 -9
  205. package/src/directives/AOnHooks.js +0 -0
  206. package/src/filters/__tests__/filterValueByCondition.test.js +94 -94
  207. package/src/filters/filterValueByCondition.js +87 -87
  208. package/src/i18n/allLanguages.js +377 -377
  209. package/src/i18n/ar.json +4 -4
  210. package/src/i18n/de.json +4 -4
  211. package/src/i18n/en.json +4 -4
  212. package/src/i18n/es.json +4 -4
  213. package/src/i18n/fr.json +4 -4
  214. package/src/i18n/hr.json +4 -4
  215. package/src/i18n/it.json +4 -4
  216. package/src/i18n/ru.json +4 -4
  217. package/src/index.js +403 -403
  218. package/src/plugins/AAlertPlugin.js +53 -53
  219. package/src/plugins/ACarouselPlugin.js +34 -34
  220. package/src/plugins/ADatepickerPlugin.js +57 -57
  221. package/src/plugins/AFiltersPlugin.js +102 -102
  222. package/src/plugins/AInputCurrencyPlugin.js +31 -31
  223. package/src/plugins/AMobilePlugin.js +32 -32
  224. package/src/plugins/ARemPxPlugin.js +37 -37
  225. package/src/plugins/ASelectPlugin.js +51 -51
  226. package/src/plugins/ASelectStylesPlugin.js +2376 -2376
  227. package/src/temp/px_to_rem_mapping_1_to_800.md +802 -802
  228. package/src/ui/ACheckbox/ACheckbox.js +929 -929
  229. package/src/ui/ACheckbox/ACheckboxItem/ACheckboxItem.js +0 -0
  230. package/src/ui/ACheckboxRadioGroups/ACheckboxRadioGroups.js +0 -0
  231. package/src/ui/ADatepicker/ADatepicker.js +804 -803
  232. package/src/ui/ADatepicker/ADatepickerCalendarPanel/ADatepickerCalendarPanel.js +796 -796
  233. package/src/ui/ADatepicker/ADatepickerCalendarPanel/compositionAPI/CalendarAPI.js +51 -51
  234. package/src/ui/ADatepicker/compositionAPI/LanguagesAPI.js +92 -92
  235. package/src/ui/ADatepicker/compositionAPI/PlaceholderAPI.js +55 -55
  236. package/src/ui/ADatepicker/i18n/ADatepickerI18n.js +19 -19
  237. package/src/ui/ADatepicker/i18n/ar.json +47 -47
  238. package/src/ui/ADatepicker/i18n/de.json +48 -48
  239. package/src/ui/ADatepicker/i18n/en.json +48 -48
  240. package/src/ui/ADatepicker/i18n/es.json +47 -47
  241. package/src/ui/ADatepicker/i18n/fr.json +47 -47
  242. package/src/ui/ADatepicker/i18n/hr.json +47 -47
  243. package/src/ui/ADatepicker/i18n/it.json +47 -47
  244. package/src/ui/ADatepicker/i18n/ru.json +48 -48
  245. package/src/ui/ADatepicker/panel/APanelDate/APanelDate.js +196 -196
  246. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/DatesAPI.js +66 -66
  247. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusAPI.js +96 -96
  248. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusActiveAPI.js +27 -27
  249. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/SelectAPI.js +21 -21
  250. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/TableAPI.js +128 -128
  251. package/src/ui/ADatepicker/panel/APanelMonth/APanelMonth.js +129 -129
  252. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusAPI.js +94 -94
  253. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusActiveAPI.js +21 -21
  254. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/MonthsAPI.js +51 -51
  255. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/SelectAPI.js +29 -29
  256. package/src/ui/ADatepicker/panel/APanelYearItem/APanelYearItem.js +75 -75
  257. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/AttributesAPI.js +35 -35
  258. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/SelectAPI.js +35 -35
  259. package/src/ui/ADatepickerAlt/ADatepicker.js +1 -0
  260. package/src/ui/ADatepickerRange/ADatepickerRange.js +528 -525
  261. package/src/ui/AErrors/AErrors.js +149 -149
  262. package/src/ui/AErrors/AErrorsElement/AErrorsElement.js +0 -0
  263. package/src/ui/AErrors/i18n/AErrorsI18n.js +19 -19
  264. package/src/ui/AErrors/i18n/ar.json +3 -3
  265. package/src/ui/AErrors/i18n/de.json +2 -2
  266. package/src/ui/AErrors/i18n/en.json +3 -3
  267. package/src/ui/AErrors/i18n/es.json +3 -3
  268. package/src/ui/AErrors/i18n/fr.json +3 -3
  269. package/src/ui/AErrors/i18n/hr.json +3 -3
  270. package/src/ui/AErrors/i18n/it.json +3 -3
  271. package/src/ui/AErrors/i18n/ru.json +3 -3
  272. package/src/ui/AErrorsText/AErrorsText.js +62 -62
  273. package/src/ui/AFieldset/AFieldset.js +535 -535
  274. package/src/ui/AFieldset/compositionAPI/ModelAPI.js +54 -54
  275. package/src/ui/AForm/AForm.js +252 -252
  276. package/src/ui/AFormElement/AFormElement.js +160 -160
  277. package/src/ui/AFormElementBtnClear/AFormElementBtnClear.js +86 -86
  278. package/src/ui/AFormElementBtnClear/i18n/AFormElementBtnClearI18n.js +19 -19
  279. package/src/ui/AFormElementBtnClear/i18n/ar.json +2 -2
  280. package/src/ui/AFormElementBtnClear/i18n/de.json +2 -2
  281. package/src/ui/AFormElementBtnClear/i18n/en.json +2 -2
  282. package/src/ui/AFormElementBtnClear/i18n/es.json +2 -2
  283. package/src/ui/AFormElementBtnClear/i18n/fr.json +2 -2
  284. package/src/ui/AFormElementBtnClear/i18n/hr.json +2 -2
  285. package/src/ui/AFormElementBtnClear/i18n/it.json +2 -2
  286. package/src/ui/AFormElementBtnClear/i18n/ru.json +2 -2
  287. package/src/ui/AFormHelpText/AFormHelpText.js +37 -37
  288. package/src/ui/AFormLabelDescription/AFormLabelDescription.js +43 -43
  289. package/src/ui/AFormReadonly/AFormReadonly.js +193 -193
  290. package/src/ui/AGroup/AGroup.js +427 -427
  291. package/src/ui/AInput/AInput.js +516 -516
  292. package/src/ui/AInput/compositionAPI/ClassAPI.js +43 -43
  293. package/src/ui/AInputCurrency/AInputCurrency.js +620 -619
  294. package/src/ui/AInputCurrency/compositionAPI/IncreaseDecreaseAPI.js +76 -76
  295. package/src/ui/AInputCurrency/compositionAPI/InputEventsAPI.js +752 -752
  296. package/src/ui/AInputCurrency/compositionAPI/ModelAPI.js +88 -88
  297. package/src/ui/AInputCurrency/compositionAPI/UtilsAPI.js +67 -67
  298. package/src/ui/AInputFile/AInputFile.js +244 -243
  299. package/src/ui/AInputNumber/AInputNumber.js +491 -489
  300. package/src/ui/AInputNumber/compositionAPI/InputEventsAPI.js +196 -196
  301. package/src/ui/AInputNumber/compositionAPI/ModelAPI.js +72 -72
  302. package/src/ui/AInputNumberRange/AInputNumberRange.js +508 -505
  303. package/src/ui/AJson/AJson.js +434 -434
  304. package/src/ui/ALabel/ALabel.js +0 -0
  305. package/src/ui/AMultiselectOrdered/AMultiselectOrdered.js +935 -935
  306. package/src/ui/AOneCheckbox/AOneCheckbox.js +366 -366
  307. package/src/ui/ARadio/ARadio.js +924 -924
  308. package/src/ui/ARadio/ARadioItem/ARadioItem.js +0 -0
  309. package/src/ui/ARequired/ARequired.js +0 -0
  310. package/src/ui/ARouterLinkConfig/ARouterLinkConfig.js +391 -391
  311. package/src/ui/ARouterLinkConfig/compositionAPI/DataFormAPI.js +102 -102
  312. package/src/ui/ARouterLinkConfig/compositionAPI/ModelLocalAPI.js +96 -96
  313. package/src/ui/ARouterLinkConfig/compositionAPI/RouteAPI.js +51 -51
  314. package/src/ui/ASelect/ASelect.js +1210 -1209
  315. package/src/ui/ASelect/ASelectElement/ASelectElement.js +0 -0
  316. package/src/ui/ASelect/ASelectValueCloseable/compositionAPI/CloseAPI.js +28 -28
  317. package/src/ui/ASelect/compositionAPI/ToggleAPI.js +255 -255
  318. package/src/ui/ASelect/i18n/ar.json +6 -6
  319. package/src/ui/ASelect/i18n/de.json +7 -7
  320. package/src/ui/ASelect/i18n/en.json +6 -6
  321. package/src/ui/ASelect/i18n/es.json +6 -6
  322. package/src/ui/ASelect/i18n/fr.json +6 -6
  323. package/src/ui/ASelect/i18n/hr.json +6 -6
  324. package/src/ui/ASelect/i18n/it.json +6 -6
  325. package/src/ui/ASelect/i18n/ru.json +6 -6
  326. package/src/ui/ASelectIcon/ASelectIcon.js +386 -386
  327. package/src/ui/ASelectStyle/ASelectStyle.js +391 -391
  328. package/src/ui/ASelectStyle/compositionAPI/DataAPI.js +68 -68
  329. package/src/ui/ASelectStyle/compositionAPI/EventsAPI.js +24 -24
  330. package/src/ui/ASelectStyle/compositionAPI/KeyLabelCallbackAPI.js +15 -15
  331. package/src/ui/ASelectStyle/compositionAPI/TypeAPI.js +24 -24
  332. package/src/ui/ASelectStyle/i18n/ASelectStyleI18n.js +19 -19
  333. package/src/ui/ASelectStyle/i18n/ar.json +277 -277
  334. package/src/ui/ASelectStyle/i18n/de.json +277 -277
  335. package/src/ui/ASelectStyle/i18n/en.json +277 -277
  336. package/src/ui/ASelectStyle/i18n/es.json +277 -277
  337. package/src/ui/ASelectStyle/i18n/fr.json +277 -277
  338. package/src/ui/ASelectStyle/i18n/hr.json +277 -277
  339. package/src/ui/ASelectStyle/i18n/it.json +277 -277
  340. package/src/ui/ASelectStyle/i18n/ru.json +277 -277
  341. package/src/ui/ASlider/ASlider.js +672 -672
  342. package/src/ui/ASlider/compositionAPI/AriaAttributesAPI.js +121 -121
  343. package/src/ui/ASlider/compositionAPI/AttributesAPI.js +15 -15
  344. package/src/ui/ASlider/compositionAPI/DataAPI.js +115 -115
  345. package/src/ui/ASlider/compositionAPI/DragAndDropAPI.js +198 -198
  346. package/src/ui/ASlider/compositionAPI/LabelAPI.js +13 -13
  347. package/src/ui/ASlider/compositionAPI/MarksAPI.js +32 -32
  348. package/src/ui/ASlider/compositionAPI/SliderAPI.js +289 -289
  349. package/src/ui/ASlider/compositionAPI/StopsAPI.js +47 -47
  350. package/src/ui/ASlider/compositionAPI/StylesAPI.js +79 -79
  351. package/src/ui/ASlider/compositionAPI/TitleAPI.js +42 -42
  352. package/src/ui/ASlider/i18n/ASliderI18n.js +19 -19
  353. package/src/ui/ASlider/i18n/en.json +4 -4
  354. package/src/ui/ASwitch/ASwitch.js +439 -438
  355. package/src/ui/ATemplate/ATemplate.js +0 -0
  356. package/src/ui/ATextarea/ATextarea.js +437 -437
  357. package/src/ui/AUiComponents.js +59 -59
  358. package/src/ui/AUiContainerComponents.js +12 -12
  359. package/src/ui/AValidatedJson/AValidatedJson.js +594 -594
  360. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DeleteAPI.js +63 -63
  361. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DetailsAPI.js +59 -59
  362. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/MoveAPI.js +50 -50
  363. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/UpdateAPI.js +48 -48
  364. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DataFormAPI.js +69 -69
  365. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DisabledAPI.js +35 -35
  366. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/ModelAPI.js +31 -31
  367. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/SaveAPI.js +115 -115
  368. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/TextAPI.js +25 -25
  369. package/src/ui/AValidatedJson/compositionAPI/AValidatedJsonErrorLabelsAPI.js +18 -18
  370. package/src/ui/AValidatedJson/compositionAPI/AttributesAPI.js +15 -15
  371. package/src/ui/AValidatedJson/compositionAPI/ChildrenAPI.js +70 -70
  372. package/src/ui/AValidatedJson/compositionAPI/EventsAPI.js +19 -19
  373. package/src/ui/AValidatedJson/compositionAPI/JsonModeAPI.js +119 -119
  374. package/src/ui/AValidatedJson/compositionAPI/ListModeAPI.js +144 -144
  375. package/src/ui/AValidatedJson/compositionAPI/ModelAPI.js +38 -38
  376. package/src/ui/AValidatedJson/compositionAPI/SingleModeAPI.js +112 -112
  377. package/src/ui/AValidatedJson/compositionAPI/TranslateAPI.js +22 -22
  378. package/src/ui/AValidatedJson/i18n/AValidatedJsonI18n.js +19 -19
  379. package/src/ui/AValidatedJson/i18n/ar.json +3 -3
  380. package/src/ui/AValidatedJson/i18n/de.json +22 -22
  381. package/src/ui/AValidatedJson/i18n/en.json +3 -3
  382. package/src/ui/AValidatedJson/i18n/es.json +3 -3
  383. package/src/ui/AValidatedJson/i18n/fr.json +3 -3
  384. package/src/ui/AValidatedJson/i18n/hr.json +3 -3
  385. package/src/ui/AValidatedJson/i18n/it.json +3 -3
  386. package/src/ui/AValidatedJson/i18n/ru.json +6 -6
  387. package/src/ui/compositionApi/UIDataGroupAPI.js +94 -94
  388. package/src/ui/compositionApi/UiAPI.js +185 -185
  389. package/src/ui/compositionApi/UiClearButtonAPI.js +19 -19
  390. package/src/ui/compositionApi/UiDataSortAPI.js +29 -29
  391. package/src/ui/compositionApi/UiDataWithKeyIdAndLabelAPI.js +155 -155
  392. package/src/ui/const/AUiTypes.js +69 -69
  393. package/src/ui/mixins/UiMixinProps.js +129 -129
  394. package/src/ui/utils/utils.js +79 -79
  395. package/src/utils/__tests__/utils.aOrderBy.test.js +237 -237
  396. package/src/utils/__tests__/utils.aSortBy.test.js +331 -331
  397. package/src/utils/__tests__/utilsArray.aFirst.test.js +54 -54
  398. package/src/utils/__tests__/utilsArray.aLast.test.js +54 -54
  399. package/src/utils/__tests__/utilsLang.isArguments.test.js +52 -52
  400. package/src/utils/__tests__/utilsLang.isArray.test.js +50 -50
  401. package/src/utils/__tests__/utilsLang.isArrayBuffer.test.js +48 -48
  402. package/src/utils/__tests__/utilsLang.isBoolean.test.js +56 -56
  403. package/src/utils/__tests__/utilsLang.isBuffer.test.js +47 -47
  404. package/src/utils/__tests__/utilsLang.isDate.test.js +54 -54
  405. package/src/utils/__tests__/utilsLang.isElement.test.js +53 -53
  406. package/src/utils/__tests__/utilsLang.isError.test.js +52 -52
  407. package/src/utils/__tests__/utilsLang.isFinite.test.js +57 -57
  408. package/src/utils/__tests__/utilsLang.isFunction.test.js +46 -46
  409. package/src/utils/__tests__/utilsLang.isInteger.test.js +58 -58
  410. package/src/utils/__tests__/utilsLang.isMap.test.js +50 -50
  411. package/src/utils/__tests__/utilsLang.isNaN.test.js +55 -55
  412. package/src/utils/__tests__/utilsLang.isNil.test.js +57 -57
  413. package/src/utils/__tests__/utilsLang.isNull.test.js +53 -53
  414. package/src/utils/__tests__/utilsLang.isNumber.test.js +54 -54
  415. package/src/utils/__tests__/utilsLang.isObject.test.js +49 -49
  416. package/src/utils/__tests__/utilsLang.isObjectLike.test.js +45 -45
  417. package/src/utils/__tests__/utilsLang.isPlainObject.test.js +60 -60
  418. package/src/utils/__tests__/utilsLang.isPromise.test.js +93 -93
  419. package/src/utils/__tests__/utilsLang.isRegExp.test.js +46 -46
  420. package/src/utils/__tests__/utilsLang.isSet.test.js +50 -50
  421. package/src/utils/__tests__/utilsLang.isString.test.js +50 -50
  422. package/src/utils/__tests__/utilsLang.isSymbol.test.js +45 -45
  423. package/src/utils/__tests__/utilsLang.isUndefined.test.js +57 -57
  424. package/src/utils/__tests__/utilsLang.isWeakMap.test.js +49 -49
  425. package/src/utils/__tests__/utilsLang.isWeakSet.test.js +49 -49
  426. package/src/utils/actions.js +67 -67
  427. package/src/utils/autosize.js +277 -277
  428. package/src/utils/isBrowser.js +12 -12
  429. package/src/utils/utils.js +253 -253
  430. package/src/utils/utilsArray.js +29 -29
  431. package/src/utils/utilsDOM.js +188 -188
  432. package/src/utils/utilsLang.js +346 -346
@@ -1,197 +1,197 @@
1
- import {
2
- computed,
3
- ref,
4
- toRef,
5
- } from "vue";
6
-
7
- import {
8
- getElementId,
9
- } from "../utils/utils";
10
-
11
- import AMobileAPI from "../../compositionAPI/AMobileAPI";
12
-
13
- import AKeysCode from "../../const/AKeysCode";
14
- import {
15
- focusableSelector,
16
- } from "../../const/AFocusableElements";
17
- import {
18
- forEach,
19
- } from "lodash-es";
20
-
21
- export default function KeydownAPI(props, {
22
- closeMenu = () => {},
23
- isMenuOpen = computed(() => false),
24
- isSubMenuOpen = computed(() => false),
25
- panelParentsOpen = ref([]),
26
- togglePanel = () => {},
27
- }) {
28
- const menuId = toRef(props, "menuId");
29
- const onlyMobile = toRef(props, "onlyMobile");
30
- const useEscapeForMobile = toRef(props, "useEscapeForMobile");
31
-
32
- const menuRef = ref(undefined);
33
-
34
- const {
35
- isMobileWidth,
36
- } = AMobileAPI();
37
-
38
- const isDesktopSubMenuVisibleWhenMenuClosed = computed(() => {
39
- return (!isMobileWidth.value || onlyMobile.value) &&
40
- !isMenuOpen.value &&
41
- isSubMenuOpen.value;
42
- });
43
-
44
- const trapFocus = EVENT => {
45
- if (!menuRef.value) {
46
- return;
47
- }
48
-
49
- const FOCUSABLE_ELEMENTS = menuRef.value.querySelectorAll(focusableSelector);
50
- if (FOCUSABLE_ELEMENTS.length === 0) {
51
- EVENT.preventDefault();
52
- return;
53
- }
54
-
55
- const FIRST_FOCUSABLE_ELEMENT = FOCUSABLE_ELEMENTS[0];
56
- const LAST_FOCUSABLE_ELEMENT = FOCUSABLE_ELEMENTS[FOCUSABLE_ELEMENTS.length - 1];
57
- if (EVENT.shiftKey) { // Shift + Tab
58
- if (document.activeElement === FIRST_FOCUSABLE_ELEMENT) {
59
- LAST_FOCUSABLE_ELEMENT.focus();
60
- EVENT.preventDefault();
61
- }
62
- } else if (document.activeElement === LAST_FOCUSABLE_ELEMENT) { // Tab
63
- FIRST_FOCUSABLE_ELEMENT.focus();
64
- EVENT.preventDefault();
65
- }
66
- };
67
-
68
- const pressEscape = $event => {
69
- if (!useEscapeForMobile.value) {
70
- return;
71
- }
72
-
73
- closeMenu();
74
- $event.preventDefault();
75
- $event.stopPropagation();
76
- };
77
-
78
- const keydownMobile = $event => {
79
- const EVENT = $event || window.$event;
80
- if (EVENT.key === "Escape" || EVENT.keyCode === AKeysCode.escape) {
81
- pressEscape($event);
82
- } else if (EVENT.key === "Tab" || EVENT.keyCode === AKeysCode.tab) {
83
- trapFocus(EVENT);
84
- }
85
- };
86
-
87
- const setFocusToLinkInPreviousSubPanel = ({ panelIndex, panelId }) => {
88
- const LINK_HTML_ID = getElementId({
89
- menuId: menuId.value,
90
- id: panelId,
91
- suffix: "link",
92
- });
93
- const LINK = document.getElementById(LINK_HTML_ID);
94
- if (LINK) {
95
- if (panelIndex > 0) {
96
- const PANEL_PARENTS_OPEN_NEW = panelParentsOpen.value.slice(0, panelIndex);
97
- togglePanel({ parentIds: PANEL_PARENTS_OPEN_NEW, withoutFocus: true });
98
- }
99
- LINK.focus();
100
- }
101
- };
102
-
103
- const setFocusToLinkInNextSubPanel = ({ panelIndex }) => {
104
- const PANEL_ID = panelParentsOpen.value[panelIndex + 1];
105
- const PANEL_HTML_ID = getElementId({
106
- menuId: menuId.value,
107
- id: PANEL_ID,
108
- suffix: "panel",
109
- });
110
- const LINKS = document.querySelectorAll(`#${ PANEL_HTML_ID } a.a_menu__link`);
111
- if (LINKS.length) {
112
- LINKS[0].focus();
113
- }
114
- };
115
-
116
- const setFocusToParentLinkInMainPanel = ({ panelId }) => {
117
- const LINK_ID = getElementId({
118
- menuId: menuId.value,
119
- id: panelId,
120
- suffix: "link",
121
- });
122
- const LINK_ELEMENT = document.getElementById(LINK_ID);
123
- if (LINK_ELEMENT) {
124
- togglePanel({ parentIds: [], withoutFocus: true });
125
- LINK_ELEMENT.focus();
126
- }
127
- };
128
-
129
- const setFocus = ({ EVENT, PANEL_ELEMENT, panelIndex, panelId }) => {
130
- const LINKS = PANEL_ELEMENT.querySelectorAll("a.a_menu__link");
131
- if (EVENT.shiftKey) { // Shift + Tab
132
- if (document.activeElement === LINKS[0]) {
133
- if (panelIndex > 0) {
134
- setFocusToLinkInPreviousSubPanel({ panelIndex, panelId });
135
- } else {
136
- setFocusToParentLinkInMainPanel({ panelId });
137
- }
138
- EVENT.preventDefault();
139
- }
140
- } else if (document.activeElement === LINKS[LINKS.length - 1]) { // Tab
141
- if (panelIndex < panelParentsOpen.value.length - 1) {
142
- setFocusToLinkInNextSubPanel({ panelIndex });
143
- } else if (panelIndex > 0) {
144
- setFocusToLinkInPreviousSubPanel({ panelIndex, panelId });
145
- } else {
146
- setFocusToParentLinkInMainPanel({ panelId });
147
- }
148
- EVENT.preventDefault();
149
- }
150
- };
151
-
152
- const keydownDesktop = $event => {
153
- const EVENT = $event || window.$event;
154
- if (EVENT.key === "Tab" || EVENT.keyCode === AKeysCode.tab) {
155
- forEach(panelParentsOpen.value, (panelId, panelIndex) => {
156
- const PANEL_HTML_ID = getElementId({
157
- menuId: menuId.value,
158
- id: panelId,
159
- suffix: "panel",
160
- });
161
- const PANEL_ELEMENT = document.getElementById(PANEL_HTML_ID);
162
- if (PANEL_ELEMENT && PANEL_ELEMENT.contains(document.activeElement)) {
163
- setFocus({ EVENT, PANEL_ELEMENT, panelIndex, panelId });
164
-
165
- return false;
166
- }
167
- });
168
- }
169
- };
170
-
171
- const setListenerForKeydownMobile = () => {
172
- if (isMobileWidth.value || onlyMobile.value) {
173
- document.addEventListener("keydown", keydownMobile);
174
- }
175
- };
176
-
177
- const removeListenerForKeydownMobile = () => {
178
- document.removeEventListener("keydown", keydownMobile);
179
- };
180
-
181
- const setListenerForKeydownDesktop = () => {
182
- document.addEventListener("keydown", keydownDesktop);
183
- };
184
-
185
- const removeListenerForKeydownDesktop = () => {
186
- document.removeEventListener("keydown", keydownDesktop);
187
- };
188
-
189
- return {
190
- isDesktopSubMenuVisibleWhenMenuClosed,
191
- menuRef,
192
- removeListenerForKeydownDesktop,
193
- removeListenerForKeydownMobile,
194
- setListenerForKeydownDesktop,
195
- setListenerForKeydownMobile,
196
- };
197
- }
1
+ import {
2
+ computed,
3
+ ref,
4
+ toRef,
5
+ } from "vue";
6
+
7
+ import {
8
+ getElementId,
9
+ } from "../utils/utils";
10
+
11
+ import AMobileAPI from "../../compositionAPI/AMobileAPI";
12
+
13
+ import AKeysCode from "../../const/AKeysCode";
14
+ import {
15
+ focusableSelector,
16
+ } from "../../const/AFocusableElements";
17
+ import {
18
+ forEach,
19
+ } from "lodash-es";
20
+
21
+ export default function KeydownAPI(props, {
22
+ closeMenu = () => {},
23
+ isMenuOpen = computed(() => false),
24
+ isSubMenuOpen = computed(() => false),
25
+ panelParentsOpen = ref([]),
26
+ togglePanel = () => {},
27
+ }) {
28
+ const menuId = toRef(props, "menuId");
29
+ const onlyMobile = toRef(props, "onlyMobile");
30
+ const useEscapeForMobile = toRef(props, "useEscapeForMobile");
31
+
32
+ const menuRef = ref(undefined);
33
+
34
+ const {
35
+ isMobileWidth,
36
+ } = AMobileAPI();
37
+
38
+ const isDesktopSubMenuVisibleWhenMenuClosed = computed(() => {
39
+ return (!isMobileWidth.value || onlyMobile.value) &&
40
+ !isMenuOpen.value &&
41
+ isSubMenuOpen.value;
42
+ });
43
+
44
+ const trapFocus = EVENT => {
45
+ if (!menuRef.value) {
46
+ return;
47
+ }
48
+
49
+ const FOCUSABLE_ELEMENTS = menuRef.value.querySelectorAll(focusableSelector);
50
+ if (FOCUSABLE_ELEMENTS.length === 0) {
51
+ EVENT.preventDefault();
52
+ return;
53
+ }
54
+
55
+ const FIRST_FOCUSABLE_ELEMENT = FOCUSABLE_ELEMENTS[0];
56
+ const LAST_FOCUSABLE_ELEMENT = FOCUSABLE_ELEMENTS[FOCUSABLE_ELEMENTS.length - 1];
57
+ if (EVENT.shiftKey) { // Shift + Tab
58
+ if (document.activeElement === FIRST_FOCUSABLE_ELEMENT) {
59
+ LAST_FOCUSABLE_ELEMENT.focus();
60
+ EVENT.preventDefault();
61
+ }
62
+ } else if (document.activeElement === LAST_FOCUSABLE_ELEMENT) { // Tab
63
+ FIRST_FOCUSABLE_ELEMENT.focus();
64
+ EVENT.preventDefault();
65
+ }
66
+ };
67
+
68
+ const pressEscape = $event => {
69
+ if (!useEscapeForMobile.value) {
70
+ return;
71
+ }
72
+
73
+ closeMenu();
74
+ $event.preventDefault();
75
+ $event.stopPropagation();
76
+ };
77
+
78
+ const keydownMobile = $event => {
79
+ const EVENT = $event || window.$event;
80
+ if (EVENT.key === "Escape" || EVENT.keyCode === AKeysCode.escape) {
81
+ pressEscape($event);
82
+ } else if (EVENT.key === "Tab" || EVENT.keyCode === AKeysCode.tab) {
83
+ trapFocus(EVENT);
84
+ }
85
+ };
86
+
87
+ const setFocusToLinkInPreviousSubPanel = ({ panelIndex, panelId }) => {
88
+ const LINK_HTML_ID = getElementId({
89
+ menuId: menuId.value,
90
+ id: panelId,
91
+ suffix: "link",
92
+ });
93
+ const LINK = document.getElementById(LINK_HTML_ID);
94
+ if (LINK) {
95
+ if (panelIndex > 0) {
96
+ const PANEL_PARENTS_OPEN_NEW = panelParentsOpen.value.slice(0, panelIndex);
97
+ togglePanel({ parentIds: PANEL_PARENTS_OPEN_NEW, withoutFocus: true });
98
+ }
99
+ LINK.focus();
100
+ }
101
+ };
102
+
103
+ const setFocusToLinkInNextSubPanel = ({ panelIndex }) => {
104
+ const PANEL_ID = panelParentsOpen.value[panelIndex + 1];
105
+ const PANEL_HTML_ID = getElementId({
106
+ menuId: menuId.value,
107
+ id: PANEL_ID,
108
+ suffix: "panel",
109
+ });
110
+ const LINKS = document.querySelectorAll(`#${ PANEL_HTML_ID } a.a_menu__link`);
111
+ if (LINKS.length) {
112
+ LINKS[0].focus();
113
+ }
114
+ };
115
+
116
+ const setFocusToParentLinkInMainPanel = ({ panelId }) => {
117
+ const LINK_ID = getElementId({
118
+ menuId: menuId.value,
119
+ id: panelId,
120
+ suffix: "link",
121
+ });
122
+ const LINK_ELEMENT = document.getElementById(LINK_ID);
123
+ if (LINK_ELEMENT) {
124
+ togglePanel({ parentIds: [], withoutFocus: true });
125
+ LINK_ELEMENT.focus();
126
+ }
127
+ };
128
+
129
+ const setFocus = ({ EVENT, PANEL_ELEMENT, panelIndex, panelId }) => {
130
+ const LINKS = PANEL_ELEMENT.querySelectorAll("a.a_menu__link");
131
+ if (EVENT.shiftKey) { // Shift + Tab
132
+ if (document.activeElement === LINKS[0]) {
133
+ if (panelIndex > 0) {
134
+ setFocusToLinkInPreviousSubPanel({ panelIndex, panelId });
135
+ } else {
136
+ setFocusToParentLinkInMainPanel({ panelId });
137
+ }
138
+ EVENT.preventDefault();
139
+ }
140
+ } else if (document.activeElement === LINKS[LINKS.length - 1]) { // Tab
141
+ if (panelIndex < panelParentsOpen.value.length - 1) {
142
+ setFocusToLinkInNextSubPanel({ panelIndex });
143
+ } else if (panelIndex > 0) {
144
+ setFocusToLinkInPreviousSubPanel({ panelIndex, panelId });
145
+ } else {
146
+ setFocusToParentLinkInMainPanel({ panelId });
147
+ }
148
+ EVENT.preventDefault();
149
+ }
150
+ };
151
+
152
+ const keydownDesktop = $event => {
153
+ const EVENT = $event || window.$event;
154
+ if (EVENT.key === "Tab" || EVENT.keyCode === AKeysCode.tab) {
155
+ forEach(panelParentsOpen.value, (panelId, panelIndex) => {
156
+ const PANEL_HTML_ID = getElementId({
157
+ menuId: menuId.value,
158
+ id: panelId,
159
+ suffix: "panel",
160
+ });
161
+ const PANEL_ELEMENT = document.getElementById(PANEL_HTML_ID);
162
+ if (PANEL_ELEMENT && PANEL_ELEMENT.contains(document.activeElement)) {
163
+ setFocus({ EVENT, PANEL_ELEMENT, panelIndex, panelId });
164
+
165
+ return false;
166
+ }
167
+ });
168
+ }
169
+ };
170
+
171
+ const setListenerForKeydownMobile = () => {
172
+ if (isMobileWidth.value || onlyMobile.value) {
173
+ document.addEventListener("keydown", keydownMobile);
174
+ }
175
+ };
176
+
177
+ const removeListenerForKeydownMobile = () => {
178
+ document.removeEventListener("keydown", keydownMobile);
179
+ };
180
+
181
+ const setListenerForKeydownDesktop = () => {
182
+ document.addEventListener("keydown", keydownDesktop);
183
+ };
184
+
185
+ const removeListenerForKeydownDesktop = () => {
186
+ document.removeEventListener("keydown", keydownDesktop);
187
+ };
188
+
189
+ return {
190
+ isDesktopSubMenuVisibleWhenMenuClosed,
191
+ menuRef,
192
+ removeListenerForKeydownDesktop,
193
+ removeListenerForKeydownMobile,
194
+ setListenerForKeydownDesktop,
195
+ setListenerForKeydownMobile,
196
+ };
197
+ }
@@ -1,48 +1,48 @@
1
- import {
2
- computed,
3
- ref,
4
- toRef,
5
- } from "vue";
6
-
7
- export default function LinkClickAPI(props, {
8
- closeAllPanels = () => {},
9
- isMenuOpen = computed(() => false),
10
- isMobileWidth = ref(false),
11
- resetSearch = () => {},
12
- toggleMenu = () => {},
13
- }) {
14
- const isBodyFocusAfterClick = toRef(props, "isBodyFocusAfterClick");
15
- const onlyMobile = toRef(props, "onlyMobile");
16
-
17
- const isMenuLinkClicked = ref(false);
18
-
19
- const setFocusToBody = () => {
20
- if (isBodyFocusAfterClick.value) {
21
- if (!document.body.hasAttribute("tabindex")) {
22
- document.body.setAttribute("tabindex", "-1");
23
- document.body.focus();
24
- document.body.removeAttribute("tabindex");
25
- } else {
26
- document.body.focus();
27
- }
28
- }
29
- };
30
-
31
- const clickMenuLink = ({ ctrlKey = false, isPanelMain = false } = {}) => {
32
- isMenuLinkClicked.value = true;
33
- resetSearch();
34
- setFocusToBody();
35
- if (!isMenuOpen.value || isPanelMain) {
36
- closeAllPanels();
37
- }
38
- if ((isMobileWidth.value || onlyMobile.value) &&
39
- !ctrlKey) {
40
- toggleMenu({ isOpen: false });
41
- }
42
- };
43
-
44
- return {
45
- clickMenuLink,
46
- isMenuLinkClicked,
47
- };
48
- }
1
+ import {
2
+ computed,
3
+ ref,
4
+ toRef,
5
+ } from "vue";
6
+
7
+ export default function LinkClickAPI(props, {
8
+ closeAllPanels = () => {},
9
+ isMenuOpen = computed(() => false),
10
+ isMobileWidth = ref(false),
11
+ resetSearch = () => {},
12
+ toggleMenu = () => {},
13
+ }) {
14
+ const isBodyFocusAfterClick = toRef(props, "isBodyFocusAfterClick");
15
+ const onlyMobile = toRef(props, "onlyMobile");
16
+
17
+ const isMenuLinkClicked = ref(false);
18
+
19
+ const setFocusToBody = () => {
20
+ if (isBodyFocusAfterClick.value) {
21
+ if (!document.body.hasAttribute("tabindex")) {
22
+ document.body.setAttribute("tabindex", "-1");
23
+ document.body.focus();
24
+ document.body.removeAttribute("tabindex");
25
+ } else {
26
+ document.body.focus();
27
+ }
28
+ }
29
+ };
30
+
31
+ const clickMenuLink = ({ ctrlKey = false, isPanelMain = false } = {}) => {
32
+ isMenuLinkClicked.value = true;
33
+ resetSearch();
34
+ setFocusToBody();
35
+ if (!isMenuOpen.value || isPanelMain) {
36
+ closeAllPanels();
37
+ }
38
+ if ((isMobileWidth.value || onlyMobile.value) &&
39
+ !ctrlKey) {
40
+ toggleMenu({ isOpen: false });
41
+ }
42
+ };
43
+
44
+ return {
45
+ clickMenuLink,
46
+ isMenuLinkClicked,
47
+ };
48
+ }
@@ -1,51 +1,51 @@
1
- import {
2
- computed,
3
- ref,
4
- toRef,
5
- } from "vue";
6
-
7
- import AMobileAPI from "../../compositionAPI/AMobileAPI";
8
-
9
- export default function MenuAttributesAPI(props, {
10
- isMenuOpen = ref(false),
11
- toggleMenu = () => {},
12
- }) {
13
- const isBlockerClickable = toRef(props, "isBlockerClickable");
14
- const menuId = toRef(props, "menuId");
15
- const onlyMobile = toRef(props, "onlyMobile");
16
-
17
- const {
18
- isMobileWidth,
19
- } = AMobileAPI();
20
-
21
- const attributesMobile = computed(() => {
22
- if (isMobileWidth.value || onlyMobile.value) {
23
- return {
24
- role: "dialog",
25
- ariaModal: true,
26
- };
27
- }
28
-
29
- return {};
30
- });
31
-
32
- const headerId = computed(() => {
33
- return `${ menuId.value }_header`;
34
- });
35
-
36
- const attributesMenuClick = computed(() => {
37
- const ATTRIBUTES = {};
38
- if (isBlockerClickable.value &&
39
- !isMenuOpen.value) {
40
- ATTRIBUTES.onClick = () => toggleMenu({ isOpen: true });
41
- ATTRIBUTES.class = "a_menu a_menu_clickable";
42
- }
43
- return ATTRIBUTES;
44
- });
45
-
46
- return {
47
- attributesMenuClick,
48
- attributesMobile,
49
- headerId,
50
- };
51
- }
1
+ import {
2
+ computed,
3
+ ref,
4
+ toRef,
5
+ } from "vue";
6
+
7
+ import AMobileAPI from "../../compositionAPI/AMobileAPI";
8
+
9
+ export default function MenuAttributesAPI(props, {
10
+ isMenuOpen = ref(false),
11
+ toggleMenu = () => {},
12
+ }) {
13
+ const isBlockerClickable = toRef(props, "isBlockerClickable");
14
+ const menuId = toRef(props, "menuId");
15
+ const onlyMobile = toRef(props, "onlyMobile");
16
+
17
+ const {
18
+ isMobileWidth,
19
+ } = AMobileAPI();
20
+
21
+ const attributesMobile = computed(() => {
22
+ if (isMobileWidth.value || onlyMobile.value) {
23
+ return {
24
+ role: "dialog",
25
+ ariaModal: true,
26
+ };
27
+ }
28
+
29
+ return {};
30
+ });
31
+
32
+ const headerId = computed(() => {
33
+ return `${ menuId.value }_header`;
34
+ });
35
+
36
+ const attributesMenuClick = computed(() => {
37
+ const ATTRIBUTES = {};
38
+ if (isBlockerClickable.value &&
39
+ !isMenuOpen.value) {
40
+ ATTRIBUTES.onClick = () => toggleMenu({ isOpen: true });
41
+ ATTRIBUTES.class = "a_menu a_menu_clickable";
42
+ }
43
+ return ATTRIBUTES;
44
+ });
45
+
46
+ return {
47
+ attributesMenuClick,
48
+ attributesMobile,
49
+ headerId,
50
+ };
51
+ }