@ui5/webcomponents 1.22.0-rc.0 → 1.22.0-rc.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 (565) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarGroup.js.map +1 -1
  4. package/dist/Breadcrumbs.js.map +1 -1
  5. package/dist/Calendar.js +1 -0
  6. package/dist/Calendar.js.map +1 -1
  7. package/dist/Card.d.ts +2 -0
  8. package/dist/Card.js +2 -0
  9. package/dist/Card.js.map +1 -1
  10. package/dist/Carousel.js.map +1 -1
  11. package/dist/CheckBox.d.ts +17 -0
  12. package/dist/CheckBox.js +22 -3
  13. package/dist/CheckBox.js.map +1 -1
  14. package/dist/ColorPalette.d.ts +2 -1
  15. package/dist/ColorPalette.js +5 -2
  16. package/dist/ColorPalette.js.map +1 -1
  17. package/dist/ColorPalettePopover.js.map +1 -1
  18. package/dist/ComboBox.d.ts +14 -0
  19. package/dist/ComboBox.js +57 -17
  20. package/dist/ComboBox.js.map +1 -1
  21. package/dist/CustomListItem.js.map +1 -1
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/DateTimePicker.d.ts +1 -0
  24. package/dist/DateTimePicker.js +4 -0
  25. package/dist/DateTimePicker.js.map +1 -1
  26. package/dist/FileUploader.js.map +1 -1
  27. package/dist/Input.d.ts +3 -3
  28. package/dist/Input.js +6 -5
  29. package/dist/Input.js.map +1 -1
  30. package/dist/Interfaces.d.ts +5 -0
  31. package/dist/Interfaces.js.map +1 -1
  32. package/dist/Link.js.map +1 -1
  33. package/dist/List.js +13 -1
  34. package/dist/List.js.map +1 -1
  35. package/dist/ListItem.d.ts +2 -7
  36. package/dist/ListItem.js +1 -8
  37. package/dist/ListItem.js.map +1 -1
  38. package/dist/Menu.js.map +1 -1
  39. package/dist/MultiComboBox.d.ts +31 -6
  40. package/dist/MultiComboBox.js +173 -35
  41. package/dist/MultiComboBox.js.map +1 -1
  42. package/dist/MultiComboBoxGroupItem.d.ts +1 -0
  43. package/dist/MultiComboBoxGroupItem.js +1 -0
  44. package/dist/MultiComboBoxGroupItem.js.map +1 -1
  45. package/dist/MultiComboBoxItem.js.map +1 -1
  46. package/dist/MultiInput.js.map +1 -1
  47. package/dist/NavigationMenu.d.ts +12 -7
  48. package/dist/NavigationMenu.js +7 -10
  49. package/dist/NavigationMenu.js.map +1 -1
  50. package/dist/NavigationMenuItem.d.ts +4 -12
  51. package/dist/NavigationMenuItem.js +2 -6
  52. package/dist/NavigationMenuItem.js.map +1 -1
  53. package/dist/Panel.d.ts +0 -2
  54. package/dist/Panel.js.map +1 -1
  55. package/dist/Popup.js.map +1 -1
  56. package/dist/SegmentedButton.js.map +1 -1
  57. package/dist/SegmentedButtonItem.js.map +1 -1
  58. package/dist/Select.js.map +1 -1
  59. package/dist/SelectMenu.js.map +1 -1
  60. package/dist/SelectMenuOption.js.map +1 -1
  61. package/dist/StandardListItem.js.map +1 -1
  62. package/dist/SuggestionItem.d.ts +0 -2
  63. package/dist/SuggestionItem.js.map +1 -1
  64. package/dist/Switch.js +1 -0
  65. package/dist/Switch.js.map +1 -1
  66. package/dist/TabContainer.js.map +1 -1
  67. package/dist/Table.js.map +1 -1
  68. package/dist/TableGroupRow.d.ts +1 -9
  69. package/dist/TableGroupRow.js +1 -0
  70. package/dist/TableGroupRow.js.map +1 -1
  71. package/dist/TableRow.d.ts +2 -8
  72. package/dist/TableRow.js.map +1 -1
  73. package/dist/TimePickerBase.js.map +1 -1
  74. package/dist/TimePickerClock.js.map +1 -1
  75. package/dist/TimePickerInternals.js.map +1 -1
  76. package/dist/TimeSelection.d.ts +1 -0
  77. package/dist/TimeSelection.js +3 -0
  78. package/dist/TimeSelection.js.map +1 -1
  79. package/dist/Token.js.map +1 -1
  80. package/dist/Tokenizer.d.ts +1 -1
  81. package/dist/Tokenizer.js +5 -4
  82. package/dist/Tokenizer.js.map +1 -1
  83. package/dist/ToolbarSelect.js.map +1 -1
  84. package/dist/Tree.d.ts +1 -1
  85. package/dist/Tree.js.map +1 -1
  86. package/dist/TreeItem.d.ts +0 -10
  87. package/dist/TreeItem.js +0 -4
  88. package/dist/TreeItem.js.map +1 -1
  89. package/dist/TreeItemBase.d.ts +0 -14
  90. package/dist/TreeItemBase.js +0 -7
  91. package/dist/TreeItemBase.js.map +1 -1
  92. package/dist/WheelSlider.d.ts +1 -0
  93. package/dist/WheelSlider.js +4 -2
  94. package/dist/WheelSlider.js.map +1 -1
  95. package/dist/css/themes/Avatar.css +1 -1
  96. package/dist/css/themes/AvatarGroup.css +1 -1
  97. package/dist/css/themes/Badge.css +1 -1
  98. package/dist/css/themes/Breadcrumbs.css +1 -1
  99. package/dist/css/themes/BusyIndicator.css +1 -1
  100. package/dist/css/themes/Button.css +1 -1
  101. package/dist/css/themes/Calendar.css +1 -1
  102. package/dist/css/themes/CalendarHeader.css +1 -1
  103. package/dist/css/themes/Card.css +1 -1
  104. package/dist/css/themes/CardHeader.css +1 -1
  105. package/dist/css/themes/Carousel.css +1 -1
  106. package/dist/css/themes/CheckBox.css +1 -1
  107. package/dist/css/themes/ColorPalette.css +1 -1
  108. package/dist/css/themes/ColorPaletteItem.css +1 -1
  109. package/dist/css/themes/ColorPalettePopover.css +1 -1
  110. package/dist/css/themes/ColorPicker.css +1 -1
  111. package/dist/css/themes/ComboBox.css +1 -1
  112. package/dist/css/themes/CustomListItem.css +1 -1
  113. package/dist/css/themes/DatePicker.css +1 -1
  114. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  115. package/dist/css/themes/DayPicker.css +1 -1
  116. package/dist/css/themes/Dialog.css +1 -1
  117. package/dist/css/themes/FileUploader.css +1 -1
  118. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  119. package/dist/css/themes/GrowingButton.css +1 -1
  120. package/dist/css/themes/Icon.css +1 -1
  121. package/dist/css/themes/Input.css +1 -1
  122. package/dist/css/themes/InputIcon.css +1 -1
  123. package/dist/css/themes/InputSharedStyles.css +1 -1
  124. package/dist/css/themes/Link.css +1 -1
  125. package/dist/css/themes/List.css +1 -1
  126. package/dist/css/themes/ListItem.css +1 -1
  127. package/dist/css/themes/ListItemBase.css +1 -1
  128. package/dist/css/themes/Menu.css +1 -1
  129. package/dist/css/themes/MessageStrip.css +1 -1
  130. package/dist/css/themes/MonthPicker.css +1 -1
  131. package/dist/css/themes/MultiComboBox.css +1 -1
  132. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  133. package/dist/css/themes/MultiInput.css +1 -1
  134. package/dist/css/themes/NavigationMenu.css +1 -1
  135. package/dist/css/themes/Panel.css +1 -1
  136. package/dist/css/themes/Popover.css +1 -1
  137. package/dist/css/themes/PopupsCommon.css +1 -1
  138. package/dist/css/themes/ProgressIndicator.css +1 -1
  139. package/dist/css/themes/RadioButton.css +1 -1
  140. package/dist/css/themes/RangeSlider.css +1 -1
  141. package/dist/css/themes/RatingIndicator.css +1 -1
  142. package/dist/css/themes/ResponsivePopover.css +1 -1
  143. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  144. package/dist/css/themes/SegmentedButton.css +1 -1
  145. package/dist/css/themes/Select.css +1 -1
  146. package/dist/css/themes/SelectMenu.css +1 -1
  147. package/dist/css/themes/SelectPopover.css +1 -1
  148. package/dist/css/themes/SliderBase.css +1 -1
  149. package/dist/css/themes/SplitButton.css +1 -1
  150. package/dist/css/themes/StepInput.css +1 -1
  151. package/dist/css/themes/Switch.css +1 -1
  152. package/dist/css/themes/TabContainer.css +1 -1
  153. package/dist/css/themes/TabInOverflow.css +1 -1
  154. package/dist/css/themes/TabInStrip.css +1 -1
  155. package/dist/css/themes/TabSemanticIcon.css +1 -1
  156. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  157. package/dist/css/themes/Table.css +1 -1
  158. package/dist/css/themes/TableCell.css +1 -1
  159. package/dist/css/themes/TableColumn.css +1 -1
  160. package/dist/css/themes/TableGroupRow.css +1 -1
  161. package/dist/css/themes/TableRow.css +1 -1
  162. package/dist/css/themes/TextArea.css +1 -1
  163. package/dist/css/themes/TimePicker.css +1 -1
  164. package/dist/css/themes/Toast.css +1 -1
  165. package/dist/css/themes/ToggleButton.css +1 -1
  166. package/dist/css/themes/Token.css +1 -1
  167. package/dist/css/themes/Tokenizer.css +1 -1
  168. package/dist/css/themes/TokenizerPopover.css +1 -1
  169. package/dist/css/themes/Toolbar.css +1 -1
  170. package/dist/css/themes/ToolbarPopover.css +1 -1
  171. package/dist/css/themes/TreeItem.css +1 -1
  172. package/dist/css/themes/ValueStateMessage.css +1 -1
  173. package/dist/css/themes/WheelSlider.css +1 -1
  174. package/dist/css/themes/YearPicker.css +1 -1
  175. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  177. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  178. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  179. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  180. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  181. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  182. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  183. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  184. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  185. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  186. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  187. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  188. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  189. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  190. package/dist/custom-elements-internal.json +799 -1612
  191. package/dist/custom-elements.json +768 -1505
  192. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  240. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  241. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  242. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  243. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  255. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  256. package/dist/generated/i18n/i18n-defaults.js +4 -1
  257. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  258. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  259. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  260. package/dist/generated/templates/CardTemplate.lit.js +1 -1
  261. package/dist/generated/templates/CardTemplate.lit.js.map +1 -1
  262. package/dist/generated/templates/CheckBoxTemplate.lit.js +6 -4
  263. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  264. package/dist/generated/templates/ColorPaletteTemplate.lit.js +2 -2
  265. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  266. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -19
  267. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  268. package/dist/generated/templates/ComboBoxTemplate.lit.js +4 -3
  269. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  270. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  271. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  272. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  273. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  274. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +27 -24
  275. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  276. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -3
  277. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  278. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  279. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  280. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  281. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  282. package/dist/generated/templates/TimeSelectionTemplate.lit.js +4 -4
  283. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/WheelSliderTemplate.lit.js +1 -1
  285. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +1 -1
  286. package/dist/generated/themes/Avatar.css.js +1 -1
  287. package/dist/generated/themes/Avatar.css.js.map +1 -1
  288. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  289. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  290. package/dist/generated/themes/Badge.css.js +1 -1
  291. package/dist/generated/themes/Badge.css.js.map +1 -1
  292. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  293. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  294. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  295. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  296. package/dist/generated/themes/Button.css.js +1 -1
  297. package/dist/generated/themes/Button.css.js.map +1 -1
  298. package/dist/generated/themes/Calendar.css.js +1 -1
  299. package/dist/generated/themes/Calendar.css.js.map +1 -1
  300. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  301. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  302. package/dist/generated/themes/Card.css.js +1 -1
  303. package/dist/generated/themes/Card.css.js.map +1 -1
  304. package/dist/generated/themes/CardHeader.css.js +1 -1
  305. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  306. package/dist/generated/themes/Carousel.css.js +1 -1
  307. package/dist/generated/themes/Carousel.css.js.map +1 -1
  308. package/dist/generated/themes/CheckBox.css.js +1 -1
  309. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  310. package/dist/generated/themes/ColorPalette.css.js +1 -1
  311. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  312. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  313. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  314. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  315. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  316. package/dist/generated/themes/ColorPicker.css.js +1 -1
  317. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  318. package/dist/generated/themes/ComboBox.css.js +1 -1
  319. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  320. package/dist/generated/themes/CustomListItem.css.js +1 -1
  321. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  322. package/dist/generated/themes/DatePicker.css.js +1 -1
  323. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  324. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  325. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  326. package/dist/generated/themes/DayPicker.css.js +1 -1
  327. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  328. package/dist/generated/themes/Dialog.css.js +1 -1
  329. package/dist/generated/themes/Dialog.css.js.map +1 -1
  330. package/dist/generated/themes/FileUploader.css.js +1 -1
  331. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  332. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  333. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  334. package/dist/generated/themes/GrowingButton.css.js +1 -1
  335. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  336. package/dist/generated/themes/Icon.css.js +1 -1
  337. package/dist/generated/themes/Icon.css.js.map +1 -1
  338. package/dist/generated/themes/Input.css.js +1 -1
  339. package/dist/generated/themes/Input.css.js.map +1 -1
  340. package/dist/generated/themes/InputIcon.css.js +1 -1
  341. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  342. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  343. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  344. package/dist/generated/themes/Link.css.js +1 -1
  345. package/dist/generated/themes/Link.css.js.map +1 -1
  346. package/dist/generated/themes/List.css.js +1 -1
  347. package/dist/generated/themes/List.css.js.map +1 -1
  348. package/dist/generated/themes/ListItem.css.js +1 -1
  349. package/dist/generated/themes/ListItem.css.js.map +1 -1
  350. package/dist/generated/themes/ListItemBase.css.js +1 -1
  351. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  352. package/dist/generated/themes/Menu.css.js +1 -1
  353. package/dist/generated/themes/Menu.css.js.map +1 -1
  354. package/dist/generated/themes/MessageStrip.css.js +1 -1
  355. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  356. package/dist/generated/themes/MonthPicker.css.js +1 -1
  357. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  358. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  359. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  360. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  361. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  362. package/dist/generated/themes/MultiInput.css.js +1 -1
  363. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  364. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  365. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  366. package/dist/generated/themes/Panel.css.js +1 -1
  367. package/dist/generated/themes/Panel.css.js.map +1 -1
  368. package/dist/generated/themes/Popover.css.js +1 -1
  369. package/dist/generated/themes/Popover.css.js.map +1 -1
  370. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  371. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  372. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  373. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  374. package/dist/generated/themes/RadioButton.css.js +1 -1
  375. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  376. package/dist/generated/themes/RangeSlider.css.js +1 -1
  377. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  378. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  379. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  380. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  381. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  382. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  383. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  384. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  385. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  386. package/dist/generated/themes/Select.css.js +1 -1
  387. package/dist/generated/themes/Select.css.js.map +1 -1
  388. package/dist/generated/themes/SelectMenu.css.js +1 -1
  389. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  390. package/dist/generated/themes/SelectPopover.css.js +1 -1
  391. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  392. package/dist/generated/themes/SliderBase.css.js +1 -1
  393. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  394. package/dist/generated/themes/SplitButton.css.js +1 -1
  395. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  396. package/dist/generated/themes/StepInput.css.js +1 -1
  397. package/dist/generated/themes/StepInput.css.js.map +1 -1
  398. package/dist/generated/themes/Switch.css.js +1 -1
  399. package/dist/generated/themes/Switch.css.js.map +1 -1
  400. package/dist/generated/themes/TabContainer.css.js +1 -1
  401. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  402. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  403. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  404. package/dist/generated/themes/TabInStrip.css.js +1 -1
  405. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  406. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  407. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  408. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  409. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  410. package/dist/generated/themes/Table.css.js +1 -1
  411. package/dist/generated/themes/Table.css.js.map +1 -1
  412. package/dist/generated/themes/TableCell.css.js +1 -1
  413. package/dist/generated/themes/TableCell.css.js.map +1 -1
  414. package/dist/generated/themes/TableColumn.css.js +1 -1
  415. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  416. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  417. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  418. package/dist/generated/themes/TableRow.css.js +1 -1
  419. package/dist/generated/themes/TableRow.css.js.map +1 -1
  420. package/dist/generated/themes/TextArea.css.js +1 -1
  421. package/dist/generated/themes/TextArea.css.js.map +1 -1
  422. package/dist/generated/themes/TimePicker.css.js +1 -1
  423. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  424. package/dist/generated/themes/Toast.css.js +1 -1
  425. package/dist/generated/themes/Toast.css.js.map +1 -1
  426. package/dist/generated/themes/ToggleButton.css.js +1 -1
  427. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  428. package/dist/generated/themes/Token.css.js +1 -1
  429. package/dist/generated/themes/Token.css.js.map +1 -1
  430. package/dist/generated/themes/Tokenizer.css.js +1 -1
  431. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  432. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  433. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  434. package/dist/generated/themes/Toolbar.css.js +1 -1
  435. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  436. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  437. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  438. package/dist/generated/themes/TreeItem.css.js +1 -1
  439. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  440. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  441. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  442. package/dist/generated/themes/WheelSlider.css.js +1 -1
  443. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  444. package/dist/generated/themes/YearPicker.css.js +1 -1
  445. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  446. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  448. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  449. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  450. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  451. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  452. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  453. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  454. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  455. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  456. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  457. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  458. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  459. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  461. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  462. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  463. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  464. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  465. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  466. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  467. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  468. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  469. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  470. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  471. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  472. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  473. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  474. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  475. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  476. package/package-scripts.cjs +1 -0
  477. package/package.json +9 -9
  478. package/src/Breadcrumbs.hbs +2 -0
  479. package/src/Card.hbs +3 -2
  480. package/src/CheckBox.hbs +25 -18
  481. package/src/ColorPalette.hbs +2 -2
  482. package/src/ComboBox.hbs +6 -0
  483. package/src/ComboBoxPopover.hbs +11 -15
  484. package/src/DateTimePickerPopover.hbs +1 -0
  485. package/src/Input.hbs +1 -1
  486. package/src/MultiComboBox.hbs +6 -0
  487. package/src/MultiComboBoxPopover.hbs +26 -17
  488. package/src/SplitButton.hbs +1 -7
  489. package/src/TimeSelection.hbs +4 -0
  490. package/src/WheelSlider.hbs +1 -0
  491. package/src/i18n/messagebundle.properties +10 -1
  492. package/src/i18n/messagebundle_ar.properties +17 -1
  493. package/src/i18n/messagebundle_bg.properties +17 -1
  494. package/src/i18n/messagebundle_ca.properties +17 -1
  495. package/src/i18n/messagebundle_cnr.properties +17 -1
  496. package/src/i18n/messagebundle_cs.properties +17 -1
  497. package/src/i18n/messagebundle_cy.properties +17 -1
  498. package/src/i18n/messagebundle_da.properties +17 -1
  499. package/src/i18n/messagebundle_de.properties +17 -1
  500. package/src/i18n/messagebundle_el.properties +17 -1
  501. package/src/i18n/messagebundle_en.properties +17 -1
  502. package/src/i18n/messagebundle_en_GB.properties +17 -1
  503. package/src/i18n/messagebundle_en_US_saprigi.properties +17 -1
  504. package/src/i18n/messagebundle_es.properties +17 -1
  505. package/src/i18n/messagebundle_es_MX.properties +17 -1
  506. package/src/i18n/messagebundle_et.properties +17 -1
  507. package/src/i18n/messagebundle_fi.properties +17 -1
  508. package/src/i18n/messagebundle_fr.properties +17 -1
  509. package/src/i18n/messagebundle_fr_CA.properties +17 -1
  510. package/src/i18n/messagebundle_hi.properties +17 -1
  511. package/src/i18n/messagebundle_hr.properties +17 -1
  512. package/src/i18n/messagebundle_hu.properties +17 -1
  513. package/src/i18n/messagebundle_id.properties +17 -1
  514. package/src/i18n/messagebundle_it.properties +17 -1
  515. package/src/i18n/messagebundle_iw.properties +17 -1
  516. package/src/i18n/messagebundle_ja.properties +17 -1
  517. package/src/i18n/messagebundle_kk.properties +17 -1
  518. package/src/i18n/messagebundle_ko.properties +19 -3
  519. package/src/i18n/messagebundle_lt.properties +17 -1
  520. package/src/i18n/messagebundle_lv.properties +17 -1
  521. package/src/i18n/messagebundle_mk.properties +17 -1
  522. package/src/i18n/messagebundle_ms.properties +17 -1
  523. package/src/i18n/messagebundle_nl.properties +17 -1
  524. package/src/i18n/messagebundle_no.properties +20 -4
  525. package/src/i18n/messagebundle_pl.properties +17 -1
  526. package/src/i18n/messagebundle_pt.properties +17 -1
  527. package/src/i18n/messagebundle_pt_PT.properties +17 -1
  528. package/src/i18n/messagebundle_ro.properties +17 -1
  529. package/src/i18n/messagebundle_ru.properties +23 -7
  530. package/src/i18n/messagebundle_sh.properties +17 -1
  531. package/src/i18n/messagebundle_sk.properties +17 -1
  532. package/src/i18n/messagebundle_sl.properties +17 -1
  533. package/src/i18n/messagebundle_sr.properties +17 -1
  534. package/src/i18n/messagebundle_sv.properties +17 -1
  535. package/src/i18n/messagebundle_th.properties +17 -1
  536. package/src/i18n/messagebundle_tr.properties +17 -1
  537. package/src/i18n/messagebundle_uk.properties +17 -1
  538. package/src/i18n/messagebundle_vi.properties +17 -1
  539. package/src/i18n/messagebundle_zh_CN.properties +17 -1
  540. package/src/i18n/messagebundle_zh_TW.properties +17 -1
  541. package/src/themes/Breadcrumbs.css +22 -22
  542. package/src/themes/CheckBox.css +18 -1
  543. package/src/themes/List.css +5 -0
  544. package/src/themes/MultiComboBoxPopover.css +31 -0
  545. package/src/themes/SplitButton.css +62 -162
  546. package/src/themes/TextArea.css +1 -0
  547. package/src/themes/ValueStateMessage.css +1 -1
  548. package/src/themes/base/SplitButton-parameters.css +3 -24
  549. package/src/themes/base/rtl-parameters.css +0 -14
  550. package/src/themes/base/sizes-parameters.css +1 -2
  551. package/src/themes/sap_fiori_3_dark/Badge-parameters.css +5 -0
  552. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  553. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +3 -0
  554. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +10 -11
  555. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +3 -0
  556. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +10 -10
  557. package/src/themes/sap_horizon/SplitButton-parameters.css +1 -14
  558. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +1 -15
  559. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -15
  560. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -15
  561. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +10 -10
  562. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +10 -10
  563. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +10 -10
  564. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +10 -10
  565. package/tsconfig.json +1 -0
package/dist/Menu.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../src/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ResponsivePopoverBeforeCloseEventDetail } from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/MenuTemplate.lit.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\ntype CurrentItem = {\n\titem: MenuItem,\n\tposition: number,\n\tariaHasPopup: string | undefined,\n}\n\nconst MENU_OPEN_DELAY = 300;\nconst MENU_CLOSE_DELAY = 400;\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-menu</code> component represents a hierarchical menu structure.\n *\n * <h3>Usage</h3>\n *\n * <code>ui5-menu</code> contains <code>ui5-menu-item</code> components.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * <h3>Keyboard Handling</h3>\n *\n * The <code>ui5-menu</code> provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n * <ul>\n * <li><code>Arrow Up</code> / <code>Arrow Down</code> - Navigates up and down the menu items that are currently visible.</li>\n * <li><code>Arrow Right</code>, <code>Space</code> or <code>Enter</code> - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.</li>\n * <li><code>Arrow Left</code> or <code>Escape</code> - Closes the currently opened sub-menu.</li>\n * </ul>\n * Note: if the text ditrection is set to Right-to-left (RTL), <code>Arrow Right</code> and <code>Arrow Left</code> functionality is swapped.\n * <br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Menu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: staticAreaMenuCss,\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tButton,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tBusyIndicator,\n\t],\n})\n\n/**\n * Fired when an item is being clicked.\n * <br />\n * <b>Note:</b> Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\n *\n * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. <b>This event does not bubble.</b>\n * <br />\n * <b>Note:</b> Since 1.14.0 the event is also fired before a sub-menu opens.\n *\n * @public\n * @allowPreventDefault\n * @since 1.10.0\n * @param { HTMLElement } item The <code>ui5-menu-item</code> that triggers opening of the sub-menu or undefined when fired upon root menu opening. <b>Note:</b> available since 1.14.0.\n */\n@event(\"before-open\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @since 1.10.0\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. <b>This event does not bubble.</b>\n *\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is closed. <b>This event does not bubble.</b>\n *\n * @public\n * @since 1.10.0\n */\n@event(\"after-close\")\nclass Menu extends UI5Element {\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Indicates if the menu is open\n\t *\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen!:boolean;\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..\n\t *\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 1.10.0\n\t */\n\t@property({ validator: DOMReference, defaultValue: \"\" })\n\topener!: HTMLElement | string;\n\n\t/**\n\t * Defines if the menu is sub-menu (not first-level).\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isSubMenu!: boolean;\n\n\t/**\n\t * Stores id of a list item that opened sub-menu.\n\t * @private\n\t */\n\t@property()\n\t_subMenuOpenerId!: string;\n\n\t/**\n\t * Defines the currently available menu items.\n\t * (in case of non-phone devices these are the items of the menu,\n\t * but for phone devices the items of the currently opened sub-menu\n\t * will be populated here)\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_currentItems!: Array<CurrentItem>;\n\n\t/**\n\t * Stores a list of parent menu items for each sub-menu (on phone).\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_parentItemsStack!: Array<MenuItem>;\n\n\t/**\n\t * Stores the ResponsivePopover instance\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_popover?: ResponsivePopover;\n\n\t/**\n\t * Stores parent menu item (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_parentMenuItem?: MenuItem;\n\n\t/**\n\t * Stores menu item that have sub-menu opened.\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_openedSubMenuItem?: MenuItem;\n\n\t/**\n\t * Defines the items of this component.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-menu-item</code> for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tstatic async onDefine() {\n\t\tMenu.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget itemsWithChildren() {\n\t\treturn !!this._currentItems.filter(item => item.item.items.length).length;\n\t}\n\n\tget itemsWithIcon() {\n\t\treturn !!this._currentItems.filter(item => item.item.icon !== \"\").length;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget placementType() {\n\t\tconst placement = this.isRtl ? \"Left\" : \"Right\";\n\t\treturn this._isSubMenu ? placement : \"Bottom\";\n\t}\n\n\tget verticalAlign() {\n\t\treturn this._isSubMenu ? \"Top\" : \"Bottom\";\n\t}\n\n\tget labelBack() {\n\t\treturn Menu.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn Menu.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget isSubMenuOpened() {\n\t\treturn !!this._parentMenuItem;\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\treturn this._parentMenuItem ? this._parentMenuItem.text : this.headerText;\n\t}\n\n\tonBeforeRendering() {\n\t\t!isPhone() && this._prepareCurrentItems(this.items);\n\n\t\tconst itemsWithChildren = this.itemsWithChildren;\n\t\tconst itemsWithIcon = this.itemsWithIcon;\n\n\t\tthis._currentItems.forEach(item => {\n\t\t\titem.item._siblingsWithChildren = itemsWithChildren;\n\t\t\titem.item._siblingsWithIcon = itemsWithIcon;\n\t\t\tconst subMenu = item.item._subMenu;\n\t\t\tconst menuItem = item.item;\n\t\t\tif (subMenu && subMenu.busy) {\n\t\t\t\tsubMenu.innerHTML = \"\";\n\t\t\t\tconst fragment = this._clonedItemsFragment(menuItem);\n\t\t\t\tsubMenu.appendChild(fragment);\n\t\t\t}\n\n\t\t\tif (subMenu) {\n\t\t\t\tsubMenu.busy = item.item.busy;\n\t\t\t\tsubMenu.busyDelay = item.item.busyDelay;\n\t\t\t}\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\tconst opener = this.getOpener();\n\t\t\tif (opener) {\n\t\t\t\tthis.showAt(opener);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the Menu near the opener element.\n\t *\n\t * @param opener the element that the popover is shown at\n\t * @public\n\t */\n\tasync showAt(opener: HTMLElement): Promise<void> {\n\t\tif (isPhone()) {\n\t\t\tthis._prepareCurrentItems(this.items);\n\t\t\tthis._parentItemsStack = [];\n\t\t}\n\t\tif (!this._isSubMenu) {\n\t\t\tthis._parentMenuItem = undefined;\n\t\t}\n\t\tconst popover = await this._createPopover();\n\t\tpopover.initialFocus = \"\";\n\t\tfor (let index = 0; index < this._currentItems.length; index++) {\n\t\t\tif (!this._currentItems[index].item.disabled) {\n\t\t\t\tpopover.initialFocus = `${this._id}-menu-item-${index}`;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpopover.showAt(opener);\n\t}\n\n\t/**\n\t * Closes the Menu.\n\t *\n\t * @public\n\t */\n\tclose(): void {\n\t\tif (this._popover) {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._parentItemsStack = [];\n\t\t\t}\n\t\t\tthis._popover.close();\n\t\t\tthis._popover.resetFocus();\n\t\t}\n\t}\n\n\tasync _createPopover() {\n\t\tconst staticAreaItemDomRef = await this.getStaticAreaItemDomRef();\n\t\tthis._popover = staticAreaItemDomRef!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\treturn this._popover;\n\t}\n\n\tgetOpener() {\n\t\tconst rootNode = this.getRootNode() as Document;\n\t\treturn this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener);\n\t}\n\n\t_navigateBack() {\n\t\tconst parentMenuItem = this._parentItemsStack.pop();\n\n\t\tthis.focus();\n\t\tif (parentMenuItem) {\n\t\t\tconst parentMenuItemParent = parentMenuItem.parentElement as MenuItem;\n\t\t\tthis._prepareCurrentItems(parentMenuItemParent.items);\n\t\t\tthis._parentMenuItem = this._parentItemsStack.length ? this._parentItemsStack[this._parentItemsStack.length - 1] : undefined;\n\t\t}\n\t}\n\n\t_prepareCurrentItems(items: Array<MenuItem>) {\n\t\tthis._currentItems = items.map((item, index) => {\n\t\t\treturn {\n\t\t\t\titem,\n\t\t\t\tposition: index + 1,\n\t\t\t\tariaHasPopup: item.hasSubmenu ? \"menu\" : undefined,\n\t\t\t};\n\t\t});\n\t}\n\n\t_createSubMenu(item: MenuItem, openerId: string) {\n\t\tconst ctor = this.constructor as typeof Menu;\n\t\tconst subMenu = document.createElement(ctor.getMetadata().getTag()) as Menu;\n\n\t\tsubMenu._isSubMenu = true;\n\t\tsubMenu.setAttribute(\"id\", `submenu-${openerId}`);\n\t\tsubMenu._parentMenuItem = item;\n\t\tsubMenu.busy = item.busy;\n\t\tsubMenu.busyDelay = item.busyDelay;\n\t\tconst fragment = this._clonedItemsFragment(item);\n\t\tsubMenu.appendChild(fragment);\n\t\tthis.staticAreaItem!.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.appendChild(subMenu);\n\t\titem._subMenu = subMenu;\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst clonedItem = item.items[i].cloneNode(true);\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_openItemSubMenu(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\n\t\titem._subMenu!.showAt(opener);\n\t\titem._preventSubMenuClose = true;\n\t\tthis._openedSubMenuItem = item;\n\t\tthis._subMenuOpenerId = actionId;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem, forceClose = false) {\n\t\tif (item) {\n\t\t\tif (forceClose) {\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._closeSubMenuPopover(item._subMenu!, true);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => this._closeSubMenuPopover(item._subMenu!), 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeSubMenuPopover(subMenu: Menu, forceClose = false) {\n\t\tif (subMenu) {\n\t\t\tconst parentItem = subMenu._parentMenuItem!;\n\n\t\t\tif (forceClose || !parentItem._preventSubMenuClose) {\n\t\t\t\tsubMenu.close();\n\t\t\t\tsubMenu.remove();\n\t\t\t\tparentItem._subMenu = undefined;\n\t\t\t\tthis._openedSubMenuItem = undefined;\n\t\t\t\tthis._subMenuOpenerId = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t_prepareSubMenuDesktopTablet(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tif (actionId !== this._subMenuOpenerId || (item && item.hasSubmenu)) {\n\t\t\t// close opened sub-menu if there is any opened\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem!, true);\n\t\t}\n\t\tif (item && item.hasSubmenu) {\n\t\t\t// create new sub-menu\n\t\t\tthis._createSubMenu(item, actionId);\n\t\t\tthis._openItemSubMenu(item, opener, actionId);\n\t\t}\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_prepareSubMenuPhone(item: MenuItem) {\n\t\tthis._prepareCurrentItems(item.items);\n\t\tthis._parentMenuItem = item;\n\t\tthis._parentItemsStack.push(item);\n\t}\n\n\t_startOpenTimeout(item: MenuItem, opener: OpenerStandardListItem, hoverId: string) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_startCloseTimeout(item: MenuItem) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeItemSubMenu(item);\n\t\t}, MENU_CLOSE_DELAY);\n\t}\n\n\t_clearTimeout() {\n\t\tif (this._timeout) {\n\t\t\tclearTimeout(this._timeout);\n\t\t}\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\topener.focus();\n\n\t\t\t// If there is a pending close operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener, hoverId);\n\t\t}\n\t}\n\n\t_busyMouseOver() {\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_itemMouseOut(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\t// If there is a pending open operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Close submenu with 400ms delay\n\t\t\tif (item && item.hasSubmenu && item._subMenu) {\n\t\t\t\t// try to close the sub-menu\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._startCloseTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst isMenuClose = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst isMenuOpen = this.isRtl ? isLeft(e) : isRight(e);\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isMenuOpen) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\titem.hasSubmenu && this._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t} else if (isMenuClose && this._isSubMenu && this._parentMenuItem) {\n\t\t\tconst parentMenuItemParent = this._parentMenuItem.parentElement as Menu;\n\t\t\tparentMenuItemParent._closeItemSubMenu(this._parentMenuItem, true);\n\t\t}\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst actionId = opener.getAttribute(\"id\")!;\n\n\t\tif (!item.hasSubmenu) {\n\t\t\t// click on an item that doesn't have sub-items fires an \"item-click\" event\n\t\t\tif (!this._isSubMenu) {\n\t\t\t\tif (isPhone()) {\n\t\t\t\t\tthis._parentMenuItem = undefined;\n\t\t\t\t}\n\t\t\t\t// fire event if the click is on top-level menu item\n\t\t\t\tconst prevented = !this.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tthis._popover!.close();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mainMenu = this._findMainMenu(item);\n\t\t\t\tconst prevented = !mainMenu.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tlet openerMenuItem = item;\n\t\t\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\tdo {\n\t\t\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\t\topenerMenuItem = parentMenu._parentMenuItem as MenuItem;\n\t\t\t\t\t} while (parentMenu._parentMenuItem);\n\n\t\t\t\t\tmainMenu._popover!.close();\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isPhone()) {\n\t\t\t// prepares and opens sub-menu on phone\n\t\t\tthis._prepareSubMenuPhone(item);\n\t\t} else if (isTablet()) {\n\t\t\t// prepares and opens sub-menu on tablet\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, actionId);\n\t\t}\n\t}\n\n\t_findMainMenu(item: MenuItem) {\n\t\tlet parentMenu = item.parentElement as Menu;\n\t\twhile (parentMenu._parentMenuItem) {\n\t\t\tparentMenu = parentMenu._parentMenuItem.parentElement as Menu;\n\t\t}\n\n\t\treturn parentMenu;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis.open = true;\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: CustomEvent<ResponsivePopoverBeforeCloseEventDetail>) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._openedSubMenuItem) {\n\t\t\tthis._openedSubMenuItem._preventSubMenuClose = false;\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem);\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../src/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ResponsivePopoverBeforeCloseEventDetail } from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/MenuTemplate.lit.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\ntype CurrentItem = {\n\titem: MenuItem,\n\tposition: number,\n\tariaHasPopup: string | undefined,\n}\n\nconst MENU_OPEN_DELAY = 300;\nconst MENU_CLOSE_DELAY = 400;\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-menu</code> component represents a hierarchical menu structure.\n *\n * <h3>Usage</h3>\n *\n * <code>ui5-menu</code> contains <code>ui5-menu-item</code> components.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * <h3>Keyboard Handling</h3>\n *\n * The <code>ui5-menu</code> provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n * <ul>\n * <li><code>Arrow Up</code> / <code>Arrow Down</code> - Navigates up and down the menu items that are currently visible.</li>\n * <li><code>Arrow Right</code>, <code>Space</code> or <code>Enter</code> - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.</li>\n * <li><code>Arrow Left</code> or <code>Escape</code> - Closes the currently opened sub-menu.</li>\n * </ul>\n * Note: if the text ditrection is set to Right-to-left (RTL), <code>Arrow Right</code> and <code>Arrow Left</code> functionality is swapped.\n * <br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Menu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: staticAreaMenuCss,\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tButton,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tBusyIndicator,\n\t],\n})\n\n/**\n * Fired when an item is being clicked.\n * <br />\n * <b>Note:</b> Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\n *\n * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event<MenuItemClickEventDetail>(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. <b>This event does not bubble.</b>\n * <br />\n * <b>Note:</b> Since 1.14.0 the event is also fired before a sub-menu opens.\n *\n * @public\n * @allowPreventDefault\n * @since 1.10.0\n * @param { HTMLElement } item The <code>ui5-menu-item</code> that triggers opening of the sub-menu or undefined when fired upon root menu opening. <b>Note:</b> available since 1.14.0.\n */\n@event<MenuBeforeOpenEventDetail>(\"before-open\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @since 1.10.0\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. <b>This event does not bubble.</b>\n *\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.\n * @since 1.10.0\n */\n@event<MenuBeforeCloseEventDetail>(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is closed. <b>This event does not bubble.</b>\n *\n * @public\n * @since 1.10.0\n */\n@event(\"after-close\")\nclass Menu extends UI5Element {\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Indicates if the menu is open\n\t *\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen!:boolean;\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..\n\t *\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 1.10.0\n\t */\n\t@property({ validator: DOMReference, defaultValue: \"\" })\n\topener!: HTMLElement | string;\n\n\t/**\n\t * Defines if the menu is sub-menu (not first-level).\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isSubMenu!: boolean;\n\n\t/**\n\t * Stores id of a list item that opened sub-menu.\n\t * @private\n\t */\n\t@property()\n\t_subMenuOpenerId!: string;\n\n\t/**\n\t * Defines the currently available menu items.\n\t * (in case of non-phone devices these are the items of the menu,\n\t * but for phone devices the items of the currently opened sub-menu\n\t * will be populated here)\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_currentItems!: Array<CurrentItem>;\n\n\t/**\n\t * Stores a list of parent menu items for each sub-menu (on phone).\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_parentItemsStack!: Array<MenuItem>;\n\n\t/**\n\t * Stores the ResponsivePopover instance\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_popover?: ResponsivePopover;\n\n\t/**\n\t * Stores parent menu item (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_parentMenuItem?: MenuItem;\n\n\t/**\n\t * Stores menu item that have sub-menu opened.\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_openedSubMenuItem?: MenuItem;\n\n\t/**\n\t * Defines the items of this component.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-menu-item</code> for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tstatic async onDefine() {\n\t\tMenu.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget itemsWithChildren() {\n\t\treturn !!this._currentItems.filter(item => item.item.items.length).length;\n\t}\n\n\tget itemsWithIcon() {\n\t\treturn !!this._currentItems.filter(item => item.item.icon !== \"\").length;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget placementType() {\n\t\tconst placement = this.isRtl ? \"Left\" : \"Right\";\n\t\treturn this._isSubMenu ? placement : \"Bottom\";\n\t}\n\n\tget verticalAlign() {\n\t\treturn this._isSubMenu ? \"Top\" : \"Bottom\";\n\t}\n\n\tget labelBack() {\n\t\treturn Menu.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn Menu.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget isSubMenuOpened() {\n\t\treturn !!this._parentMenuItem;\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\treturn this._parentMenuItem ? this._parentMenuItem.text : this.headerText;\n\t}\n\n\tonBeforeRendering() {\n\t\t!isPhone() && this._prepareCurrentItems(this.items);\n\n\t\tconst itemsWithChildren = this.itemsWithChildren;\n\t\tconst itemsWithIcon = this.itemsWithIcon;\n\n\t\tthis._currentItems.forEach(item => {\n\t\t\titem.item._siblingsWithChildren = itemsWithChildren;\n\t\t\titem.item._siblingsWithIcon = itemsWithIcon;\n\t\t\tconst subMenu = item.item._subMenu;\n\t\t\tconst menuItem = item.item;\n\t\t\tif (subMenu && subMenu.busy) {\n\t\t\t\tsubMenu.innerHTML = \"\";\n\t\t\t\tconst fragment = this._clonedItemsFragment(menuItem);\n\t\t\t\tsubMenu.appendChild(fragment);\n\t\t\t}\n\n\t\t\tif (subMenu) {\n\t\t\t\tsubMenu.busy = item.item.busy;\n\t\t\t\tsubMenu.busyDelay = item.item.busyDelay;\n\t\t\t}\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\tconst opener = this.getOpener();\n\t\t\tif (opener) {\n\t\t\t\tthis.showAt(opener);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the Menu near the opener element.\n\t *\n\t * @param opener the element that the popover is shown at\n\t * @public\n\t */\n\tasync showAt(opener: HTMLElement): Promise<void> {\n\t\tif (isPhone()) {\n\t\t\tthis._prepareCurrentItems(this.items);\n\t\t\tthis._parentItemsStack = [];\n\t\t}\n\t\tif (!this._isSubMenu) {\n\t\t\tthis._parentMenuItem = undefined;\n\t\t}\n\t\tconst popover = await this._createPopover();\n\t\tpopover.initialFocus = \"\";\n\t\tfor (let index = 0; index < this._currentItems.length; index++) {\n\t\t\tif (!this._currentItems[index].item.disabled) {\n\t\t\t\tpopover.initialFocus = `${this._id}-menu-item-${index}`;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpopover.showAt(opener);\n\t}\n\n\t/**\n\t * Closes the Menu.\n\t *\n\t * @public\n\t */\n\tclose(): void {\n\t\tif (this._popover) {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._parentItemsStack = [];\n\t\t\t}\n\t\t\tthis._popover.close();\n\t\t\tthis._popover.resetFocus();\n\t\t}\n\t}\n\n\tasync _createPopover() {\n\t\tconst staticAreaItemDomRef = await this.getStaticAreaItemDomRef();\n\t\tthis._popover = staticAreaItemDomRef!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\treturn this._popover;\n\t}\n\n\tgetOpener() {\n\t\tconst rootNode = this.getRootNode() as Document;\n\t\treturn this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener);\n\t}\n\n\t_navigateBack() {\n\t\tconst parentMenuItem = this._parentItemsStack.pop();\n\n\t\tthis.focus();\n\t\tif (parentMenuItem) {\n\t\t\tconst parentMenuItemParent = parentMenuItem.parentElement as MenuItem;\n\t\t\tthis._prepareCurrentItems(parentMenuItemParent.items);\n\t\t\tthis._parentMenuItem = this._parentItemsStack.length ? this._parentItemsStack[this._parentItemsStack.length - 1] : undefined;\n\t\t}\n\t}\n\n\t_prepareCurrentItems(items: Array<MenuItem>) {\n\t\tthis._currentItems = items.map((item, index) => {\n\t\t\treturn {\n\t\t\t\titem,\n\t\t\t\tposition: index + 1,\n\t\t\t\tariaHasPopup: item.hasSubmenu ? \"menu\" : undefined,\n\t\t\t};\n\t\t});\n\t}\n\n\t_createSubMenu(item: MenuItem, openerId: string) {\n\t\tconst ctor = this.constructor as typeof Menu;\n\t\tconst subMenu = document.createElement(ctor.getMetadata().getTag()) as Menu;\n\n\t\tsubMenu._isSubMenu = true;\n\t\tsubMenu.setAttribute(\"id\", `submenu-${openerId}`);\n\t\tsubMenu._parentMenuItem = item;\n\t\tsubMenu.busy = item.busy;\n\t\tsubMenu.busyDelay = item.busyDelay;\n\t\tconst fragment = this._clonedItemsFragment(item);\n\t\tsubMenu.appendChild(fragment);\n\t\tthis.staticAreaItem!.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.appendChild(subMenu);\n\t\titem._subMenu = subMenu;\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst clonedItem = item.items[i].cloneNode(true);\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_openItemSubMenu(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\n\t\titem._subMenu!.showAt(opener);\n\t\titem._preventSubMenuClose = true;\n\t\tthis._openedSubMenuItem = item;\n\t\tthis._subMenuOpenerId = actionId;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem, forceClose = false) {\n\t\tif (item) {\n\t\t\tif (forceClose) {\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._closeSubMenuPopover(item._subMenu!, true);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => this._closeSubMenuPopover(item._subMenu!), 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeSubMenuPopover(subMenu: Menu, forceClose = false) {\n\t\tif (subMenu) {\n\t\t\tconst parentItem = subMenu._parentMenuItem!;\n\n\t\t\tif (forceClose || !parentItem._preventSubMenuClose) {\n\t\t\t\tsubMenu.close();\n\t\t\t\tsubMenu.remove();\n\t\t\t\tparentItem._subMenu = undefined;\n\t\t\t\tthis._openedSubMenuItem = undefined;\n\t\t\t\tthis._subMenuOpenerId = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t_prepareSubMenuDesktopTablet(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tif (actionId !== this._subMenuOpenerId || (item && item.hasSubmenu)) {\n\t\t\t// close opened sub-menu if there is any opened\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem!, true);\n\t\t}\n\t\tif (item && item.hasSubmenu) {\n\t\t\t// create new sub-menu\n\t\t\tthis._createSubMenu(item, actionId);\n\t\t\tthis._openItemSubMenu(item, opener, actionId);\n\t\t}\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_prepareSubMenuPhone(item: MenuItem) {\n\t\tthis._prepareCurrentItems(item.items);\n\t\tthis._parentMenuItem = item;\n\t\tthis._parentItemsStack.push(item);\n\t}\n\n\t_startOpenTimeout(item: MenuItem, opener: OpenerStandardListItem, hoverId: string) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_startCloseTimeout(item: MenuItem) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeItemSubMenu(item);\n\t\t}, MENU_CLOSE_DELAY);\n\t}\n\n\t_clearTimeout() {\n\t\tif (this._timeout) {\n\t\t\tclearTimeout(this._timeout);\n\t\t}\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\topener.focus();\n\n\t\t\t// If there is a pending close operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener, hoverId);\n\t\t}\n\t}\n\n\t_busyMouseOver() {\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_itemMouseOut(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\t// If there is a pending open operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Close submenu with 400ms delay\n\t\t\tif (item && item.hasSubmenu && item._subMenu) {\n\t\t\t\t// try to close the sub-menu\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._startCloseTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst isMenuClose = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst isMenuOpen = this.isRtl ? isLeft(e) : isRight(e);\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isMenuOpen) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\titem.hasSubmenu && this._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t} else if (isMenuClose && this._isSubMenu && this._parentMenuItem) {\n\t\t\tconst parentMenuItemParent = this._parentMenuItem.parentElement as Menu;\n\t\t\tparentMenuItemParent._closeItemSubMenu(this._parentMenuItem, true);\n\t\t}\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst actionId = opener.getAttribute(\"id\")!;\n\n\t\tif (!item.hasSubmenu) {\n\t\t\t// click on an item that doesn't have sub-items fires an \"item-click\" event\n\t\t\tif (!this._isSubMenu) {\n\t\t\t\tif (isPhone()) {\n\t\t\t\t\tthis._parentMenuItem = undefined;\n\t\t\t\t}\n\t\t\t\t// fire event if the click is on top-level menu item\n\t\t\t\tconst prevented = !this.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tthis._popover!.close();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mainMenu = this._findMainMenu(item);\n\t\t\t\tconst prevented = !mainMenu.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tlet openerMenuItem = item;\n\t\t\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\tdo {\n\t\t\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\t\topenerMenuItem = parentMenu._parentMenuItem as MenuItem;\n\t\t\t\t\t} while (parentMenu._parentMenuItem);\n\n\t\t\t\t\tmainMenu._popover!.close();\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isPhone()) {\n\t\t\t// prepares and opens sub-menu on phone\n\t\t\tthis._prepareSubMenuPhone(item);\n\t\t} else if (isTablet()) {\n\t\t\t// prepares and opens sub-menu on tablet\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, actionId);\n\t\t}\n\t}\n\n\t_findMainMenu(item: MenuItem) {\n\t\tlet parentMenu = item.parentElement as Menu;\n\t\twhile (parentMenu._parentMenuItem) {\n\t\t\tparentMenu = parentMenu._parentMenuItem.parentElement as Menu;\n\t\t}\n\n\t\treturn parentMenu;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis.open = true;\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: CustomEvent<ResponsivePopoverBeforeCloseEventDetail>) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._openedSubMenuItem) {\n\t\t\tthis._openedSubMenuItem._preventSubMenuClose = false;\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem);\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n};\n"]}
@@ -22,6 +22,7 @@ import type { ListSelectionChangeEventDetail } from "./List.js";
22
22
  import ComboBoxFilter from "./types/ComboBoxFilter.js";
23
23
  import type FormSupportT from "./features/InputElementsFormSupport.js";
24
24
  import type ListItemBase from "./ListItemBase.js";
25
+ import { InputEventDetail } from "./Input.js";
25
26
  type ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;
26
27
  type ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;
27
28
  type MultiComboBoxSelectionChangeEventDetail = {
@@ -123,8 +124,6 @@ declare class MultiComboBox extends UI5Element {
123
124
  disabled: boolean;
124
125
  /**
125
126
  * Defines the value state of the component.
126
- * <br><br>
127
- * Available options are:
128
127
  *
129
128
  * @default "None"
130
129
  * @public
@@ -150,12 +149,19 @@ declare class MultiComboBox extends UI5Element {
150
149
  required: boolean;
151
150
  /**
152
151
  * Defines the filter type of the component.
153
- * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.
154
152
  *
155
153
  * @default "StartsWithPerTerm"
156
154
  * @public
157
155
  */
158
156
  filter: `${ComboBoxFilter}`;
157
+ /**
158
+ * Defines whether the clear icon of the multi-combobox will be shown.
159
+ *
160
+ * @default false
161
+ * @public
162
+ * @since 1.20.1
163
+ */
164
+ showClearIcon: boolean;
159
165
  /**
160
166
  * Defines the accessible ARIA name of the component.
161
167
  *
@@ -172,6 +178,13 @@ declare class MultiComboBox extends UI5Element {
172
178
  * @since 1.4.0
173
179
  */
174
180
  accessibleNameRef: string;
181
+ /**
182
+ * Determines if the select all checkbox is visible on top of suggestions.
183
+ *
184
+ * @default false
185
+ * @public
186
+ */
187
+ showSelectAll: boolean;
175
188
  _effectiveValueState: `${ValueState}`;
176
189
  /**
177
190
  * Indicates whether the dropdown is open. True if the dropdown is open, false otherwise.
@@ -180,6 +193,7 @@ declare class MultiComboBox extends UI5Element {
180
193
  * @private
181
194
  */
182
195
  _open: boolean;
196
+ _valueBeforeOpen: string;
183
197
  _filteredItems: Array<IMultiComboBoxItem>;
184
198
  _previouslySelectedItems: Array<IMultiComboBoxItem>;
185
199
  filterSelected: boolean;
@@ -189,6 +203,9 @@ declare class MultiComboBox extends UI5Element {
189
203
  _inputWidth: number;
190
204
  _listWidth: number;
191
205
  _performingSelectionTwice: boolean;
206
+ _allSelected: boolean;
207
+ _effectiveShowClearIcon: boolean;
208
+ _dialogInputValueState: `${ValueState}`;
192
209
  /**
193
210
  * Indicates whether the tokenizer has tokens
194
211
  * @private
@@ -222,7 +239,6 @@ declare class MultiComboBox extends UI5Element {
222
239
  valueStateMessage: Array<HTMLElement>;
223
240
  selectedValues: Array<IMultiComboBoxItem>;
224
241
  _inputLastValue: string;
225
- _valueBeforeOpen: string;
226
242
  _deleting: boolean;
227
243
  _validationTimeout: Timeout | null;
228
244
  _handleResizeBound: ResizeObserverCallback;
@@ -231,6 +247,7 @@ declare class MultiComboBox extends UI5Element {
231
247
  _lastValue: string;
232
248
  _shouldFilterItems?: boolean;
233
249
  _showMorePressed?: boolean;
250
+ _clearingValue?: boolean;
234
251
  allItemsPopover?: ResponsivePopover;
235
252
  valueStateHeader?: HTMLElement;
236
253
  list?: List;
@@ -246,7 +263,9 @@ declare class MultiComboBox extends UI5Element {
246
263
  onEnterDOM(): void;
247
264
  onExitDOM(): void;
248
265
  _handleResize(): void;
266
+ _handleMobileInput(e: CustomEvent<InputEventDetail>): void;
249
267
  _inputChange(): void;
268
+ _mobileInputChange(e: CustomEvent): Promise<void>;
250
269
  togglePopover(): void;
251
270
  togglePopoverByDropdownIcon(): void;
252
271
  _showFilteredItems(): void;
@@ -279,12 +298,13 @@ declare class MultiComboBox extends UI5Element {
279
298
  _handleEnd(e: KeyboardEvent): void;
280
299
  _handleTab(): void;
281
300
  _handleSelectAll(): void;
282
- _onValueStateKeydown(e: KeyboardEvent): void;
301
+ _onListHeaderKeydown(e: KeyboardEvent): Promise<void>;
302
+ _handleSelectAllCheckboxClick(e: CustomEvent): void;
283
303
  _onItemKeydown(e: KeyboardEvent): Promise<void>;
284
304
  _handleArrowCtrl(e: KeyboardEvent): void;
285
305
  _onItemTab(): void;
286
306
  _handleArrowNavigation(e: KeyboardEvent, isDownControl: boolean): Promise<void>;
287
- _handleArrowDown(): void;
307
+ _handleArrowDown(): Promise<void>;
288
308
  _handleItemRangeSelection(e: KeyboardEvent): void;
289
309
  _navigateToNextItem(): void;
290
310
  _navigateToPrevItem(): void;
@@ -318,6 +338,8 @@ declare class MultiComboBox extends UI5Element {
318
338
  onAfterRendering(): Promise<void>;
319
339
  get _isPhone(): boolean;
320
340
  _onIconMousedown(): void;
341
+ _clear(): void;
342
+ _iconMouseDown(): void;
321
343
  storeResponsivePopoverWidth(): void;
322
344
  toggle(isToggled: boolean): void;
323
345
  handleCancel(): void;
@@ -358,10 +380,13 @@ declare class MultiComboBox extends UI5Element {
358
380
  get _innerInput(): HTMLInputElement;
359
381
  get _headerTitleText(): string;
360
382
  get _iconAccessibleNameText(): string;
383
+ get _showSelectedButtonAccessibleNameText(): string;
361
384
  get _dialogOkButton(): string;
362
385
  get _tokenizerExpanded(): boolean;
363
386
  get _valueStatePopoverHorizontalAlign(): "Left" | "Right";
364
387
  get iconsCount(): number;
388
+ get clearIconAccessibleName(): string;
389
+ get selectAllCheckboxLabel(): string;
365
390
  get classes(): ClassMap;
366
391
  get styles(): {
367
392
  popoverValueStateMessage: {