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
File without changes
@@ -124,7 +124,7 @@ export default {
124
124
  }),
125
125
  ]),
126
126
 
127
- !this.hideDeleteButton ?
127
+ !this.hideDeleteButton && !this.disabled ?
128
128
  h(AElement, {
129
129
  class: "a_btn a_btn_link a_select__ul_closeable__item__btn",
130
130
  disabled: this.disabled,
@@ -1,28 +1,28 @@
1
- import {
2
- computed,
3
- toRef,
4
- } from "vue";
5
-
6
- import {
7
- AKeyId,
8
- } from "../../../../const/AKeys";
9
-
10
- export default function CloseAPI(props, { emit }) {
11
- const data = toRef(props, "data");
12
-
13
- const currentValue = computed(() => {
14
- return data.value[AKeyId];
15
- });
16
-
17
- const closeModel = ({ $event }) => {
18
- emit("changeModelValue", {
19
- currentValue: currentValue.value,
20
- $event,
21
- isSelected: true,
22
- });
23
- };
24
-
25
- return {
26
- closeModel,
27
- };
28
- }
1
+ import {
2
+ computed,
3
+ toRef,
4
+ } from "vue";
5
+
6
+ import {
7
+ AKeyId,
8
+ } from "../../../../const/AKeys";
9
+
10
+ export default function CloseAPI(props, { emit }) {
11
+ const data = toRef(props, "data");
12
+
13
+ const currentValue = computed(() => {
14
+ return data.value[AKeyId];
15
+ });
16
+
17
+ const closeModel = ({ $event }) => {
18
+ emit("changeModelValue", {
19
+ currentValue: currentValue.value,
20
+ $event,
21
+ isSelected: true,
22
+ });
23
+ };
24
+
25
+ return {
26
+ closeModel,
27
+ };
28
+ }
@@ -1,255 +1,255 @@
1
- import {
2
- computed,
3
- onBeforeUnmount,
4
- ref,
5
- toRef,
6
- } from "vue";
7
-
8
- import {
9
- autoUpdate,
10
- computePosition,
11
- flip,
12
- limitShift,
13
- shift,
14
- } from "@floating-ui/vue";
15
-
16
- import AEventOutsideAPI from "../../../compositionAPI/AEventOutsideAPI";
17
-
18
- import AKeysCode from "../../../const/AKeysCode";
19
- import {
20
- forEach,
21
- } from "lodash-es";
22
-
23
- const ELEMENTS_FOR_ARROWS = ".a_select__element_clickable:not([disabled]):not([data-hide])";
24
-
25
- export default function ToggleAPI(props, {
26
- emit,
27
- }, {
28
- closePopup = () => {},
29
- htmlIdLocal = computed(() => ""),
30
- openPopup = () => {},
31
- }) {
32
- const disabled = toRef(props, "disabled");
33
- const menuWidthType = toRef(props, "menuWidthType");
34
-
35
- const buttonRef = ref(undefined);
36
- const cleanupPopper = ref(undefined);
37
- const isOpen = ref(false);
38
- const menuParentRef = ref(undefined);
39
- const menuRef = ref(undefined);
40
- const placement = toRef(props, "placement");
41
- const statusEventPressArrows = ref(undefined);
42
-
43
- const elementsForClickOutside = computed(() => {
44
- return [
45
- buttonRef.value,
46
- menuParentRef.value,
47
- ];
48
- });
49
-
50
- const menuWidth = computed(() => {
51
- if (menuWidthType.value === "as_button") {
52
- return buttonRef.value.clientWidth;
53
- }
54
- return undefined;
55
- });
56
-
57
- const {
58
- setEventClickOutside,
59
- destroyEventClickOutside,
60
- } = AEventOutsideAPI({
61
- $elements: elementsForClickOutside,
62
- clickOutsideCallback: closePopover,
63
- });
64
-
65
- const pressArrows = ({ isArrowDown }) => {
66
- const ELEMENTS = menuRef.value.querySelectorAll(ELEMENTS_FOR_ARROWS);
67
- if (ELEMENTS.length === 0) {
68
- return;
69
- }
70
- let isFocusInstalled = false;
71
- forEach(ELEMENTS, (element, index) => {
72
- if (element === document.activeElement) {
73
- isFocusInstalled = true;
74
- if (isArrowDown) {
75
- if (index < ELEMENTS.length - 1) {
76
- ELEMENTS[index + 1].focus();
77
- }
78
- } else if (index > 0) {
79
- ELEMENTS[index - 1].focus();
80
- }
81
- return false;
82
- }
83
- });
84
- if (!isFocusInstalled) {
85
- ELEMENTS[0].focus();
86
- }
87
- };
88
-
89
- const setFocusToButton = () => {
90
- buttonRef.value.focus();
91
- };
92
-
93
- const pressButton = $event => {
94
- const KEY_CODE = $event.keyCode;
95
- const IS_ARROW_DOWN = KEY_CODE === AKeysCode.arrowDown;
96
- if (IS_ARROW_DOWN ||
97
- KEY_CODE === AKeysCode.arrowUp) {
98
- pressArrows({ isArrowDown: IS_ARROW_DOWN });
99
- $event.preventDefault();
100
- } else if (KEY_CODE === AKeysCode.escape) {
101
- closePopover();
102
- setFocusToButton();
103
- $event.preventDefault();
104
- $event.stopPropagation();
105
- } else if (KEY_CODE === AKeysCode.tab) {
106
- closePopover();
107
- setFocusToButton();
108
- }
109
- };
110
-
111
- const destroyPopover = () => {
112
- if (cleanupPopper.value) {
113
- cleanupPopper.value();
114
- cleanupPopper.value = undefined;
115
- }
116
- };
117
-
118
- const onOpen = () => {
119
- openPopup({
120
- id: htmlIdLocal.value,
121
- });
122
- emit("open");
123
- };
124
-
125
- const setFocusForFirstElementInList = () => {
126
- const ELEMENT = menuRef.value.querySelector(ELEMENTS_FOR_ARROWS);
127
- if (ELEMENT) {
128
- ELEMENT.focus();
129
- }
130
- };
131
-
132
- const initEventPressArrows = () => {
133
- if (statusEventPressArrows.value) { // Event ist schon installiert
134
- return;
135
- }
136
- statusEventPressArrows.value = true;
137
- document.addEventListener("keydown", pressButton);
138
- };
139
-
140
- const onShow = () => {
141
- onOpen();
142
- setTimeout(() => {
143
- setFocusForFirstElementInList();
144
- initEventPressArrows();
145
- });
146
- };
147
-
148
- const openPopoverWithFloatingUi = () => {
149
- if (!cleanupPopper.value &&
150
- buttonRef.value &&
151
- menuRef.value) {
152
- cleanupPopper.value = autoUpdate(
153
- buttonRef.value,
154
- menuRef.value,
155
- () => {
156
- if (!buttonRef.value ||
157
- !menuRef.value) {
158
- return;
159
- }
160
-
161
- computePosition(
162
- buttonRef.value,
163
- menuRef.value,
164
- {
165
- placement: placement.value,
166
- middleware: [
167
- flip(),
168
- shift({ limiter: limitShift() }),
169
- ],
170
- },
171
- ).then(({ x, y }) => {
172
- if (!buttonRef.value.clientWidth) { // if button hide
173
- closePopover();
174
- return;
175
- }
176
- const SOURCE = {
177
- left: `${ x }px`,
178
- top: `${ y }px`,
179
- };
180
- if (menuWidth.value) {
181
- SOURCE.maxWidth = `${ menuWidth.value }px`;
182
- SOURCE.minWidth = `${ menuWidth.value }px`;
183
- }
184
- Object.assign(menuRef.value.style, SOURCE);
185
- });
186
- },
187
- );
188
- onShow();
189
- }
190
- };
191
-
192
- const openPopover = () => {
193
- if (disabled.value) {
194
- return;
195
- }
196
- isOpen.value = true;
197
- openPopoverWithFloatingUi();
198
- // Timeout is needed to prevent closing the select when clicking on an element that contains HTML
199
- setTimeout(() => {
200
- setEventClickOutside();
201
- }, 100);
202
- };
203
-
204
- const togglePopover = () => {
205
- if (isOpen.value) {
206
- closePopover();
207
- setFocusToButton();
208
- } else {
209
- openPopover();
210
- }
211
- };
212
-
213
- const handleKeydown = $event => {
214
- const KEY_CODE = $event.keyCode;
215
- if (KEY_CODE === AKeysCode.enter ||
216
- KEY_CODE === AKeysCode.space) {
217
- togglePopover();
218
- $event.preventDefault();
219
- } else if (!isOpen.value &&
220
- (KEY_CODE === AKeysCode.arrowUp ||
221
- KEY_CODE === AKeysCode.arrowDown)) {
222
- openPopover();
223
- $event.preventDefault();
224
- }
225
- };
226
-
227
- const destroyEventPressArrows = () => {
228
- if (!statusEventPressArrows.value) { // Event ist schon zestört
229
- return;
230
- }
231
- statusEventPressArrows.value = false;
232
- document.removeEventListener("keydown", pressButton);
233
- };
234
-
235
- function closePopover() {
236
- isOpen.value = false;
237
- destroyPopover();
238
- destroyEventClickOutside();
239
- destroyEventPressArrows();
240
- closePopup({
241
- id: htmlIdLocal.value,
242
- });
243
- }
244
-
245
- onBeforeUnmount(() => destroyEventPressArrows());
246
-
247
- return {
248
- buttonRef,
249
- handleKeydown,
250
- isOpen,
251
- menuParentRef,
252
- menuRef,
253
- togglePopover,
254
- };
255
- }
1
+ import {
2
+ computed,
3
+ onBeforeUnmount,
4
+ ref,
5
+ toRef,
6
+ } from "vue";
7
+
8
+ import {
9
+ autoUpdate,
10
+ computePosition,
11
+ flip,
12
+ limitShift,
13
+ shift,
14
+ } from "@floating-ui/vue";
15
+
16
+ import AEventOutsideAPI from "../../../compositionAPI/AEventOutsideAPI";
17
+
18
+ import AKeysCode from "../../../const/AKeysCode";
19
+ import {
20
+ forEach,
21
+ } from "lodash-es";
22
+
23
+ const ELEMENTS_FOR_ARROWS = ".a_select__element_clickable:not([disabled]):not([data-hide])";
24
+
25
+ export default function ToggleAPI(props, {
26
+ emit,
27
+ }, {
28
+ closePopup = () => {},
29
+ htmlIdLocal = computed(() => ""),
30
+ openPopup = () => {},
31
+ }) {
32
+ const disabled = toRef(props, "disabled");
33
+ const menuWidthType = toRef(props, "menuWidthType");
34
+
35
+ const buttonRef = ref(undefined);
36
+ const cleanupPopper = ref(undefined);
37
+ const isOpen = ref(false);
38
+ const menuParentRef = ref(undefined);
39
+ const menuRef = ref(undefined);
40
+ const placement = toRef(props, "placement");
41
+ const statusEventPressArrows = ref(undefined);
42
+
43
+ const elementsForClickOutside = computed(() => {
44
+ return [
45
+ buttonRef.value,
46
+ menuParentRef.value,
47
+ ];
48
+ });
49
+
50
+ const menuWidth = computed(() => {
51
+ if (menuWidthType.value === "as_button") {
52
+ return buttonRef.value.clientWidth;
53
+ }
54
+ return undefined;
55
+ });
56
+
57
+ const {
58
+ setEventClickOutside,
59
+ destroyEventClickOutside,
60
+ } = AEventOutsideAPI({
61
+ $elements: elementsForClickOutside,
62
+ clickOutsideCallback: closePopover,
63
+ });
64
+
65
+ const pressArrows = ({ isArrowDown }) => {
66
+ const ELEMENTS = menuRef.value.querySelectorAll(ELEMENTS_FOR_ARROWS);
67
+ if (ELEMENTS.length === 0) {
68
+ return;
69
+ }
70
+ let isFocusInstalled = false;
71
+ forEach(ELEMENTS, (element, index) => {
72
+ if (element === document.activeElement) {
73
+ isFocusInstalled = true;
74
+ if (isArrowDown) {
75
+ if (index < ELEMENTS.length - 1) {
76
+ ELEMENTS[index + 1].focus();
77
+ }
78
+ } else if (index > 0) {
79
+ ELEMENTS[index - 1].focus();
80
+ }
81
+ return false;
82
+ }
83
+ });
84
+ if (!isFocusInstalled) {
85
+ ELEMENTS[0].focus();
86
+ }
87
+ };
88
+
89
+ const setFocusToButton = () => {
90
+ buttonRef.value.focus();
91
+ };
92
+
93
+ const pressButton = $event => {
94
+ const KEY_CODE = $event.keyCode;
95
+ const IS_ARROW_DOWN = KEY_CODE === AKeysCode.arrowDown;
96
+ if (IS_ARROW_DOWN ||
97
+ KEY_CODE === AKeysCode.arrowUp) {
98
+ pressArrows({ isArrowDown: IS_ARROW_DOWN });
99
+ $event.preventDefault();
100
+ } else if (KEY_CODE === AKeysCode.escape) {
101
+ closePopover();
102
+ setFocusToButton();
103
+ $event.preventDefault();
104
+ $event.stopPropagation();
105
+ } else if (KEY_CODE === AKeysCode.tab) {
106
+ closePopover();
107
+ setFocusToButton();
108
+ }
109
+ };
110
+
111
+ const destroyPopover = () => {
112
+ if (cleanupPopper.value) {
113
+ cleanupPopper.value();
114
+ cleanupPopper.value = undefined;
115
+ }
116
+ };
117
+
118
+ const onOpen = () => {
119
+ openPopup({
120
+ id: htmlIdLocal.value,
121
+ });
122
+ emit("open");
123
+ };
124
+
125
+ const setFocusForFirstElementInList = () => {
126
+ const ELEMENT = menuRef.value.querySelector(ELEMENTS_FOR_ARROWS);
127
+ if (ELEMENT) {
128
+ ELEMENT.focus();
129
+ }
130
+ };
131
+
132
+ const initEventPressArrows = () => {
133
+ if (statusEventPressArrows.value) { // Event ist schon installiert
134
+ return;
135
+ }
136
+ statusEventPressArrows.value = true;
137
+ document.addEventListener("keydown", pressButton);
138
+ };
139
+
140
+ const onShow = () => {
141
+ onOpen();
142
+ setTimeout(() => {
143
+ setFocusForFirstElementInList();
144
+ initEventPressArrows();
145
+ });
146
+ };
147
+
148
+ const openPopoverWithFloatingUi = () => {
149
+ if (!cleanupPopper.value &&
150
+ buttonRef.value &&
151
+ menuRef.value) {
152
+ cleanupPopper.value = autoUpdate(
153
+ buttonRef.value,
154
+ menuRef.value,
155
+ () => {
156
+ if (!buttonRef.value ||
157
+ !menuRef.value) {
158
+ return;
159
+ }
160
+
161
+ computePosition(
162
+ buttonRef.value,
163
+ menuRef.value,
164
+ {
165
+ placement: placement.value,
166
+ middleware: [
167
+ flip(),
168
+ shift({ limiter: limitShift() }),
169
+ ],
170
+ },
171
+ ).then(({ x, y }) => {
172
+ if (!buttonRef.value.clientWidth) { // if button hide
173
+ closePopover();
174
+ return;
175
+ }
176
+ const SOURCE = {
177
+ left: `${ x }px`,
178
+ top: `${ y }px`,
179
+ };
180
+ if (menuWidth.value) {
181
+ SOURCE.maxWidth = `${ menuWidth.value }px`;
182
+ SOURCE.minWidth = `${ menuWidth.value }px`;
183
+ }
184
+ Object.assign(menuRef.value.style, SOURCE);
185
+ });
186
+ },
187
+ );
188
+ onShow();
189
+ }
190
+ };
191
+
192
+ const openPopover = () => {
193
+ if (disabled.value) {
194
+ return;
195
+ }
196
+ isOpen.value = true;
197
+ openPopoverWithFloatingUi();
198
+ // Timeout is needed to prevent closing the select when clicking on an element that contains HTML
199
+ setTimeout(() => {
200
+ setEventClickOutside();
201
+ }, 100);
202
+ };
203
+
204
+ const togglePopover = () => {
205
+ if (isOpen.value) {
206
+ closePopover();
207
+ setFocusToButton();
208
+ } else {
209
+ openPopover();
210
+ }
211
+ };
212
+
213
+ const handleKeydown = $event => {
214
+ const KEY_CODE = $event.keyCode;
215
+ if (KEY_CODE === AKeysCode.enter ||
216
+ KEY_CODE === AKeysCode.space) {
217
+ togglePopover();
218
+ $event.preventDefault();
219
+ } else if (!isOpen.value &&
220
+ (KEY_CODE === AKeysCode.arrowUp ||
221
+ KEY_CODE === AKeysCode.arrowDown)) {
222
+ openPopover();
223
+ $event.preventDefault();
224
+ }
225
+ };
226
+
227
+ const destroyEventPressArrows = () => {
228
+ if (!statusEventPressArrows.value) { // Event ist schon zestört
229
+ return;
230
+ }
231
+ statusEventPressArrows.value = false;
232
+ document.removeEventListener("keydown", pressButton);
233
+ };
234
+
235
+ function closePopover() {
236
+ isOpen.value = false;
237
+ destroyPopover();
238
+ destroyEventClickOutside();
239
+ destroyEventPressArrows();
240
+ closePopup({
241
+ id: htmlIdLocal.value,
242
+ });
243
+ }
244
+
245
+ onBeforeUnmount(() => destroyEventPressArrows());
246
+
247
+ return {
248
+ buttonRef,
249
+ handleKeydown,
250
+ isOpen,
251
+ menuParentRef,
252
+ menuRef,
253
+ togglePopover,
254
+ };
255
+ }
@@ -3,9 +3,9 @@
3
3
  "_A_SELECT_EXCLUSIVE_": "اختر هذا الخيار فقط",
4
4
  "_A_SELECT_GROUP_INVALID_ENTRIES_": "ادخالات غير صالحة",
5
5
  "_A_SELECT_HAS_NOT_ELEMENTS_WITH_SEARCH_": "[No choices]",
6
- "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
- "_A_SELECT_SEARCH_": "Search",
8
- "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
- "_A_SELECT_DESELECT_ALL_": "إلغاء تحديد الكل",
10
- "_A_SELECT_SELECT_ALL_": "تحديد الكل"
11
- }
6
+ "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
+ "_A_SELECT_SEARCH_": "Search",
8
+ "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
+ "_A_SELECT_DESELECT_ALL_": "إلغاء تحديد الكل",
10
+ "_A_SELECT_SELECT_ALL_": "تحديد الكل"
11
+ }
@@ -1,11 +1,11 @@
1
- {
1
+ {
2
2
  "_A_SELECT_LABEL_NOT_FOUND_": "[Auswahl nicht gefunden]",
3
3
  "_A_SELECT_EXCLUSIVE_": "Nur diese Option auswählen",
4
4
  "_A_SELECT_GROUP_INVALID_ENTRIES_": "Invalide Einträge",
5
5
  "_A_SELECT_HAS_NOT_ELEMENTS_WITH_SEARCH_": "[Keine Auswahl]",
6
- "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} ausgewählt",
7
- "_A_SELECT_SEARCH_": "Suche",
8
- "_A_SELECT_SELECTED_{{count}}_": "{{count}} ausgewählt",
9
- "_A_SELECT_DESELECT_ALL_": "Alle abwählen",
10
- "_A_SELECT_SELECT_ALL_": "Alle auswählen"
11
- }
6
+ "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} ausgewählt",
7
+ "_A_SELECT_SEARCH_": "Suche",
8
+ "_A_SELECT_SELECTED_{{count}}_": "{{count}} ausgewählt",
9
+ "_A_SELECT_DESELECT_ALL_": "Alle abwählen",
10
+ "_A_SELECT_SELECT_ALL_": "Alle auswählen"
11
+ }
@@ -3,9 +3,9 @@
3
3
  "_A_SELECT_EXCLUSIVE_": "Select only this option",
4
4
  "_A_SELECT_GROUP_INVALID_ENTRIES_": "Invalid entries",
5
5
  "_A_SELECT_HAS_NOT_ELEMENTS_WITH_SEARCH_": "[No choices]",
6
- "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
- "_A_SELECT_SEARCH_": "Search",
8
- "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
- "_A_SELECT_DESELECT_ALL_": "Deselect all",
10
- "_A_SELECT_SELECT_ALL_": "Select all"
11
- }
6
+ "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
+ "_A_SELECT_SEARCH_": "Search",
8
+ "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
+ "_A_SELECT_DESELECT_ALL_": "Deselect all",
10
+ "_A_SELECT_SELECT_ALL_": "Select all"
11
+ }
@@ -3,9 +3,9 @@
3
3
  "_A_SELECT_EXCLUSIVE_": "Seleccionar solo esta opción",
4
4
  "_A_SELECT_GROUP_INVALID_ENTRIES_": "Entradas no válidas",
5
5
  "_A_SELECT_HAS_NOT_ELEMENTS_WITH_SEARCH_": "[No choices]",
6
- "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
- "_A_SELECT_SEARCH_": "Search",
8
- "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
- "_A_SELECT_DESELECT_ALL_": "Deseleccionar todo",
10
- "_A_SELECT_SELECT_ALL_": "Seleccionar todo"
11
- }
6
+ "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
+ "_A_SELECT_SEARCH_": "Search",
8
+ "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
+ "_A_SELECT_DESELECT_ALL_": "Deseleccionar todo",
10
+ "_A_SELECT_SELECT_ALL_": "Seleccionar todo"
11
+ }
@@ -3,9 +3,9 @@
3
3
  "_A_SELECT_EXCLUSIVE_": "Sélectionner uniquement cette option",
4
4
  "_A_SELECT_GROUP_INVALID_ENTRIES_": "Entrées invalides",
5
5
  "_A_SELECT_HAS_NOT_ELEMENTS_WITH_SEARCH_": "[No choices]",
6
- "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
- "_A_SELECT_SEARCH_": "Search",
8
- "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
- "_A_SELECT_DESELECT_ALL_": "Tout désélectionner",
10
- "_A_SELECT_SELECT_ALL_": "Tout sélectionner"
11
- }
6
+ "_A_SELECT_MORE_SELECTED_{{count}}_": "+ {{count}} selected",
7
+ "_A_SELECT_SEARCH_": "Search",
8
+ "_A_SELECT_SELECTED_{{count}}_": "{{count}} selected",
9
+ "_A_SELECT_DESELECT_ALL_": "Tout désélectionner",
10
+ "_A_SELECT_SELECT_ALL_": "Tout sélectionner"
11
+ }