@ui5/webcomponents 2.19.0-rc.0 → 2.19.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 (653) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Calendar.js +1 -1
  5. package/dist/Calendar.js.map +1 -1
  6. package/dist/ColorPicker.d.ts +5 -0
  7. package/dist/ColorPicker.js +12 -0
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/ColorPickerTemplate.js +1 -1
  10. package/dist/ColorPickerTemplate.js.map +1 -1
  11. package/dist/DateTimePicker.js +4 -3
  12. package/dist/DateTimePicker.js.map +1 -1
  13. package/dist/Input.d.ts +12 -9
  14. package/dist/Input.js +94 -57
  15. package/dist/Input.js.map +1 -1
  16. package/dist/InputTemplate.js +1 -1
  17. package/dist/InputTemplate.js.map +1 -1
  18. package/dist/Link.d.ts +0 -7
  19. package/dist/Link.js +1 -5
  20. package/dist/Link.js.map +1 -1
  21. package/dist/ListBoxItemGroupTemplate.js +1 -1
  22. package/dist/ListBoxItemGroupTemplate.js.map +1 -1
  23. package/dist/ListItemGroup.d.ts +2 -1
  24. package/dist/ListItemGroup.js +2 -0
  25. package/dist/ListItemGroup.js.map +1 -1
  26. package/dist/Menu.d.ts +1 -1
  27. package/dist/Menu.js +3 -3
  28. package/dist/Menu.js.map +1 -1
  29. package/dist/MenuItem.d.ts +1 -1
  30. package/dist/MenuItem.js +3 -3
  31. package/dist/MenuItem.js.map +1 -1
  32. package/dist/MenuItemTemplate.js +1 -2
  33. package/dist/MenuItemTemplate.js.map +1 -1
  34. package/dist/MenuTemplate.js +3 -3
  35. package/dist/MenuTemplate.js.map +1 -1
  36. package/dist/MultiComboBox.d.ts +6 -1
  37. package/dist/MultiComboBox.js +29 -5
  38. package/dist/MultiComboBox.js.map +1 -1
  39. package/dist/Popover.d.ts +23 -2
  40. package/dist/Popover.js +77 -12
  41. package/dist/Popover.js.map +1 -1
  42. package/dist/PopoverResize.d.ts +62 -0
  43. package/dist/PopoverResize.js +276 -0
  44. package/dist/PopoverResize.js.map +1 -0
  45. package/dist/PopoverTemplate.js +5 -2
  46. package/dist/PopoverTemplate.js.map +1 -1
  47. package/dist/SegmentedButtonItem.js +1 -0
  48. package/dist/SegmentedButtonItem.js.map +1 -1
  49. package/dist/StepInput.d.ts +17 -0
  50. package/dist/StepInput.js +79 -16
  51. package/dist/StepInput.js.map +1 -1
  52. package/dist/StepInputTemplate.js +1 -1
  53. package/dist/StepInputTemplate.js.map +1 -1
  54. package/dist/Table.js +4 -6
  55. package/dist/Table.js.map +1 -1
  56. package/dist/TableCell.d.ts +1 -1
  57. package/dist/TableCell.js +15 -13
  58. package/dist/TableCell.js.map +1 -1
  59. package/dist/TableCustomAnnouncement.js.map +1 -1
  60. package/dist/TableHeaderCell.d.ts +0 -1
  61. package/dist/TableHeaderCell.js +1 -8
  62. package/dist/TableHeaderCell.js.map +1 -1
  63. package/dist/TableHeaderCellActionBase.js.map +1 -1
  64. package/dist/TreeItemBaseTemplate.js +2 -2
  65. package/dist/TreeItemBaseTemplate.js.map +1 -1
  66. package/dist/bundle.common.bootstrap.d.ts +0 -1
  67. package/dist/bundle.common.bootstrap.js +2 -1
  68. package/dist/bundle.common.bootstrap.js.map +1 -1
  69. package/dist/css/themes/Avatar.css +1 -1
  70. package/dist/css/themes/AvatarGroup.css +1 -1
  71. package/dist/css/themes/Bar.css +1 -1
  72. package/dist/css/themes/Breadcrumbs.css +1 -1
  73. package/dist/css/themes/BusyIndicator.css +1 -1
  74. package/dist/css/themes/Button.css +1 -1
  75. package/dist/css/themes/ButtonBadge.css +1 -1
  76. package/dist/css/themes/Calendar.css +1 -1
  77. package/dist/css/themes/CalendarHeader.css +1 -1
  78. package/dist/css/themes/CalendarLegend.css +1 -1
  79. package/dist/css/themes/CalendarLegendItem.css +1 -1
  80. package/dist/css/themes/Card.css +1 -1
  81. package/dist/css/themes/CardHeader.css +1 -1
  82. package/dist/css/themes/Carousel.css +1 -1
  83. package/dist/css/themes/CheckBox.css +1 -1
  84. package/dist/css/themes/ColorPalette.css +1 -1
  85. package/dist/css/themes/ColorPaletteItem.css +1 -1
  86. package/dist/css/themes/ColorPalettePopover.css +1 -1
  87. package/dist/css/themes/ColorPicker.css +1 -1
  88. package/dist/css/themes/ComboBox.css +1 -1
  89. package/dist/css/themes/ComboBoxItem.css +1 -1
  90. package/dist/css/themes/DatePicker.css +1 -1
  91. package/dist/css/themes/DatePickerPopover.css +1 -1
  92. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  93. package/dist/css/themes/DayPicker.css +1 -1
  94. package/dist/css/themes/Dialog.css +1 -1
  95. package/dist/css/themes/DynamicDateRange.css +1 -1
  96. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  97. package/dist/css/themes/FileUploader.css +1 -1
  98. package/dist/css/themes/Form.css +1 -1
  99. package/dist/css/themes/FormItem.css +1 -1
  100. package/dist/css/themes/FormItemSpan.css +1 -1
  101. package/dist/css/themes/GrowingButton.css +1 -1
  102. package/dist/css/themes/Icon.css +1 -1
  103. package/dist/css/themes/Input.css +1 -1
  104. package/dist/css/themes/InputIcon.css +1 -1
  105. package/dist/css/themes/InputSharedStyles.css +1 -1
  106. package/dist/css/themes/Link.css +1 -1
  107. package/dist/css/themes/List.css +1 -1
  108. package/dist/css/themes/ListItem.css +1 -1
  109. package/dist/css/themes/ListItemBase.css +1 -1
  110. package/dist/css/themes/ListItemCustom.css +1 -1
  111. package/dist/css/themes/ListItemGroup.css +1 -1
  112. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  113. package/dist/css/themes/ListItemIcon.css +1 -1
  114. package/dist/css/themes/Menu.css +1 -1
  115. package/dist/css/themes/MenuItem.css +1 -1
  116. package/dist/css/themes/MessageStrip.css +1 -1
  117. package/dist/css/themes/MonthPicker.css +1 -1
  118. package/dist/css/themes/MultiComboBox.css +1 -1
  119. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  120. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  121. package/dist/css/themes/MultiInput.css +1 -1
  122. package/dist/css/themes/OptionBase.css +1 -1
  123. package/dist/css/themes/Panel.css +1 -1
  124. package/dist/css/themes/Popover.css +1 -1
  125. package/dist/css/themes/PopupsCommon.css +1 -1
  126. package/dist/css/themes/ProgressIndicator.css +1 -1
  127. package/dist/css/themes/RadioButton.css +1 -1
  128. package/dist/css/themes/RangeSlider.css +1 -1
  129. package/dist/css/themes/RatingIndicator.css +1 -1
  130. package/dist/css/themes/ResponsivePopover.css +1 -1
  131. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  132. package/dist/css/themes/SegmentedButton.css +1 -1
  133. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  134. package/dist/css/themes/Select.css +1 -1
  135. package/dist/css/themes/SliderBase.css +1 -1
  136. package/dist/css/themes/SplitButton.css +1 -1
  137. package/dist/css/themes/StepInput.css +1 -1
  138. package/dist/css/themes/SuggestionItem.css +1 -1
  139. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  140. package/dist/css/themes/Switch.css +1 -1
  141. package/dist/css/themes/TabContainer.css +1 -1
  142. package/dist/css/themes/TabInOverflow.css +1 -1
  143. package/dist/css/themes/TabInStrip.css +1 -1
  144. package/dist/css/themes/TabSemanticIcon.css +1 -1
  145. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  146. package/dist/css/themes/TableCellBase.css +1 -1
  147. package/dist/css/themes/TableHeaderRow.css +1 -1
  148. package/dist/css/themes/TableRow.css +1 -1
  149. package/dist/css/themes/TableRowActionBase.css +1 -1
  150. package/dist/css/themes/TableRowBase.css +1 -1
  151. package/dist/css/themes/Tag.css +1 -1
  152. package/dist/css/themes/Text.css +1 -1
  153. package/dist/css/themes/TextArea.css +1 -1
  154. package/dist/css/themes/TimePicker.css +1 -1
  155. package/dist/css/themes/Toast.css +1 -1
  156. package/dist/css/themes/ToggleButton.css +1 -1
  157. package/dist/css/themes/Token.css +1 -1
  158. package/dist/css/themes/Tokenizer.css +1 -1
  159. package/dist/css/themes/TokenizerPopover.css +1 -1
  160. package/dist/css/themes/Toolbar.css +1 -1
  161. package/dist/css/themes/ToolbarButton.css +1 -1
  162. package/dist/css/themes/ToolbarPopover.css +1 -1
  163. package/dist/css/themes/ToolbarSeparator.css +1 -1
  164. package/dist/css/themes/TreeItem.css +1 -1
  165. package/dist/css/themes/ValueStateMessage.css +1 -1
  166. package/dist/css/themes/ValueStateVariables.css +1 -1
  167. package/dist/css/themes/YearPicker.css +1 -1
  168. package/dist/css/themes/YearRangePicker.css +1 -1
  169. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  170. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  171. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  172. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  173. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  174. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  175. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  177. package/dist/custom-elements-internal.json +218 -13
  178. package/dist/custom-elements.json +154 -8
  179. package/dist/features/InputSuggestions.d.ts +1 -0
  180. package/dist/features/InputSuggestions.js +9 -6
  181. package/dist/features/InputSuggestions.js.map +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  233. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  234. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  235. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  236. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  237. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  238. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  239. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  240. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  241. package/dist/generated/i18n/i18n-defaults.d.ts +2 -2
  242. package/dist/generated/i18n/i18n-defaults.js +2 -2
  243. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  244. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  245. package/dist/generated/themes/Avatar.css.js +1 -1
  246. package/dist/generated/themes/Avatar.css.js.map +1 -1
  247. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  248. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  249. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  250. package/dist/generated/themes/Bar.css.d.ts +1 -1
  251. package/dist/generated/themes/Bar.css.js +1 -1
  252. package/dist/generated/themes/Bar.css.js.map +1 -1
  253. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  254. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  255. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  256. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  257. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  258. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  259. package/dist/generated/themes/Button.css.d.ts +1 -1
  260. package/dist/generated/themes/Button.css.js +1 -1
  261. package/dist/generated/themes/Button.css.js.map +1 -1
  262. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  263. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  264. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  265. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  266. package/dist/generated/themes/Calendar.css.js +1 -1
  267. package/dist/generated/themes/Calendar.css.js.map +1 -1
  268. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  269. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  270. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  271. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  272. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  273. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  274. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  275. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  276. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  277. package/dist/generated/themes/Card.css.d.ts +1 -1
  278. package/dist/generated/themes/Card.css.js +1 -1
  279. package/dist/generated/themes/Card.css.js.map +1 -1
  280. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  281. package/dist/generated/themes/CardHeader.css.js +1 -1
  282. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  283. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  284. package/dist/generated/themes/Carousel.css.js +1 -1
  285. package/dist/generated/themes/Carousel.css.js.map +1 -1
  286. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  287. package/dist/generated/themes/CheckBox.css.js +1 -1
  288. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  289. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  290. package/dist/generated/themes/ColorPalette.css.js +1 -1
  291. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  292. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  293. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  294. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  295. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  296. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  297. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  298. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  299. package/dist/generated/themes/ColorPicker.css.js +1 -1
  300. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  301. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  302. package/dist/generated/themes/ComboBox.css.js +1 -1
  303. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  304. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  305. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  306. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  307. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  308. package/dist/generated/themes/DatePicker.css.js +1 -1
  309. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  310. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  311. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  312. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  313. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  314. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  315. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  316. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  317. package/dist/generated/themes/DayPicker.css.js +1 -1
  318. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  319. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  320. package/dist/generated/themes/Dialog.css.js +1 -1
  321. package/dist/generated/themes/Dialog.css.js.map +1 -1
  322. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  323. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  324. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  325. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  326. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  327. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  328. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  329. package/dist/generated/themes/FileUploader.css.js +1 -1
  330. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  331. package/dist/generated/themes/Form.css.d.ts +1 -1
  332. package/dist/generated/themes/Form.css.js +1 -1
  333. package/dist/generated/themes/Form.css.js.map +1 -1
  334. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  335. package/dist/generated/themes/FormItem.css.js +1 -1
  336. package/dist/generated/themes/FormItem.css.js.map +1 -1
  337. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  338. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  339. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  340. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  341. package/dist/generated/themes/GrowingButton.css.js +1 -1
  342. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  343. package/dist/generated/themes/Icon.css.d.ts +1 -1
  344. package/dist/generated/themes/Icon.css.js +1 -1
  345. package/dist/generated/themes/Icon.css.js.map +1 -1
  346. package/dist/generated/themes/Input.css.d.ts +1 -1
  347. package/dist/generated/themes/Input.css.js +1 -1
  348. package/dist/generated/themes/Input.css.js.map +1 -1
  349. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  350. package/dist/generated/themes/InputIcon.css.js +1 -1
  351. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  352. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  353. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  354. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  355. package/dist/generated/themes/Link.css.d.ts +1 -1
  356. package/dist/generated/themes/Link.css.js +1 -1
  357. package/dist/generated/themes/Link.css.js.map +1 -1
  358. package/dist/generated/themes/List.css.d.ts +1 -1
  359. package/dist/generated/themes/List.css.js +1 -1
  360. package/dist/generated/themes/List.css.js.map +1 -1
  361. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  362. package/dist/generated/themes/ListItem.css.js +1 -1
  363. package/dist/generated/themes/ListItem.css.js.map +1 -1
  364. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  365. package/dist/generated/themes/ListItemBase.css.js +1 -1
  366. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  367. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  368. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  369. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  370. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  371. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  372. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  373. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  374. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  375. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  376. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  377. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  378. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  379. package/dist/generated/themes/Menu.css.d.ts +1 -1
  380. package/dist/generated/themes/Menu.css.js +1 -1
  381. package/dist/generated/themes/Menu.css.js.map +1 -1
  382. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  383. package/dist/generated/themes/MenuItem.css.js +1 -1
  384. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  385. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  386. package/dist/generated/themes/MessageStrip.css.js +1 -1
  387. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  388. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  389. package/dist/generated/themes/MonthPicker.css.js +1 -1
  390. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  391. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  392. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  393. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  394. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  395. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  396. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  397. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  398. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  399. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  400. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  401. package/dist/generated/themes/MultiInput.css.js +1 -1
  402. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  403. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  404. package/dist/generated/themes/OptionBase.css.js +1 -1
  405. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  406. package/dist/generated/themes/Panel.css.d.ts +1 -1
  407. package/dist/generated/themes/Panel.css.js +1 -1
  408. package/dist/generated/themes/Panel.css.js.map +1 -1
  409. package/dist/generated/themes/Popover.css.d.ts +1 -1
  410. package/dist/generated/themes/Popover.css.js +1 -1
  411. package/dist/generated/themes/Popover.css.js.map +1 -1
  412. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  413. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  414. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  415. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  416. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  417. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  418. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  419. package/dist/generated/themes/RadioButton.css.js +1 -1
  420. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  421. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  422. package/dist/generated/themes/RangeSlider.css.js +1 -1
  423. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  424. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  425. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  426. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  427. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  428. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  429. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  430. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  431. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  432. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  433. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  434. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  435. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  436. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  437. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  438. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  439. package/dist/generated/themes/Select.css.d.ts +1 -1
  440. package/dist/generated/themes/Select.css.js +1 -1
  441. package/dist/generated/themes/Select.css.js.map +1 -1
  442. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  443. package/dist/generated/themes/SliderBase.css.js +1 -1
  444. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  445. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  446. package/dist/generated/themes/SplitButton.css.js +1 -1
  447. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  448. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  449. package/dist/generated/themes/StepInput.css.js +1 -1
  450. package/dist/generated/themes/StepInput.css.js.map +1 -1
  451. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  452. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  453. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  454. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  455. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  456. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  457. package/dist/generated/themes/Switch.css.d.ts +1 -1
  458. package/dist/generated/themes/Switch.css.js +1 -1
  459. package/dist/generated/themes/Switch.css.js.map +1 -1
  460. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  461. package/dist/generated/themes/TabContainer.css.js +1 -1
  462. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  463. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  464. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  465. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  466. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  467. package/dist/generated/themes/TabInStrip.css.js +1 -1
  468. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  469. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  470. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  471. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  472. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  473. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  474. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  475. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  476. package/dist/generated/themes/TableCellBase.css.js +1 -1
  477. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  478. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  479. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  480. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  481. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  482. package/dist/generated/themes/TableRow.css.js +1 -1
  483. package/dist/generated/themes/TableRow.css.js.map +1 -1
  484. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  485. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  486. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  487. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  488. package/dist/generated/themes/TableRowBase.css.js +1 -1
  489. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  490. package/dist/generated/themes/Tag.css.d.ts +1 -1
  491. package/dist/generated/themes/Tag.css.js +1 -1
  492. package/dist/generated/themes/Tag.css.js.map +1 -1
  493. package/dist/generated/themes/Text.css.d.ts +1 -1
  494. package/dist/generated/themes/Text.css.js +1 -1
  495. package/dist/generated/themes/Text.css.js.map +1 -1
  496. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  497. package/dist/generated/themes/TextArea.css.js +1 -1
  498. package/dist/generated/themes/TextArea.css.js.map +1 -1
  499. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  500. package/dist/generated/themes/TimePicker.css.js +1 -1
  501. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  502. package/dist/generated/themes/Toast.css.d.ts +1 -1
  503. package/dist/generated/themes/Toast.css.js +1 -1
  504. package/dist/generated/themes/Toast.css.js.map +1 -1
  505. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  506. package/dist/generated/themes/ToggleButton.css.js +1 -1
  507. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  508. package/dist/generated/themes/Token.css.d.ts +1 -1
  509. package/dist/generated/themes/Token.css.js +1 -1
  510. package/dist/generated/themes/Token.css.js.map +1 -1
  511. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  512. package/dist/generated/themes/Tokenizer.css.js +1 -1
  513. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  514. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  515. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  516. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  517. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  518. package/dist/generated/themes/Toolbar.css.js +1 -1
  519. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  520. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  521. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  522. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  523. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  524. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  525. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  526. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  527. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  528. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  529. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  530. package/dist/generated/themes/TreeItem.css.js +1 -1
  531. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  532. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  533. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  534. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  535. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  536. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  537. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  538. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  539. package/dist/generated/themes/YearPicker.css.js +1 -1
  540. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  541. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  542. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  543. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  544. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  545. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  546. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  547. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  548. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  549. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  550. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  551. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  552. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  553. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  554. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  555. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  556. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  557. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  558. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  559. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  560. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  561. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  562. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  563. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  564. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  565. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  568. package/dist/popup-utils/PopoverRegistry.js +6 -4
  569. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  570. package/dist/types/InputSuggestionsFilter.d.ts +27 -0
  571. package/dist/types/InputSuggestionsFilter.js +29 -0
  572. package/dist/types/InputSuggestionsFilter.js.map +1 -0
  573. package/dist/vscode.html-custom-data.json +34 -4
  574. package/dist/web-types.json +65 -11
  575. package/package.json +9 -9
  576. package/src/ColorPickerTemplate.tsx +1 -1
  577. package/src/InputTemplate.tsx +1 -1
  578. package/src/ListBoxItemGroupTemplate.tsx +1 -1
  579. package/src/MenuItemTemplate.tsx +16 -8
  580. package/src/MenuTemplate.tsx +11 -7
  581. package/src/PopoverTemplate.tsx +10 -0
  582. package/src/StepInputTemplate.tsx +1 -0
  583. package/src/TreeItemBaseTemplate.tsx +2 -2
  584. package/src/i18n/messagebundle.properties +2 -2
  585. package/src/i18n/messagebundle_ar.properties +24 -0
  586. package/src/i18n/messagebundle_bg.properties +24 -0
  587. package/src/i18n/messagebundle_ca.properties +24 -0
  588. package/src/i18n/messagebundle_cnr.properties +24 -0
  589. package/src/i18n/messagebundle_cs.properties +24 -0
  590. package/src/i18n/messagebundle_cy.properties +24 -0
  591. package/src/i18n/messagebundle_da.properties +24 -0
  592. package/src/i18n/messagebundle_de.properties +25 -1
  593. package/src/i18n/messagebundle_el.properties +27 -3
  594. package/src/i18n/messagebundle_en.properties +8 -326
  595. package/src/i18n/messagebundle_en_GB.properties +24 -0
  596. package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
  597. package/src/i18n/messagebundle_en_US_saprigi.properties +8 -0
  598. package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
  599. package/src/i18n/messagebundle_es.properties +24 -0
  600. package/src/i18n/messagebundle_es_MX.properties +34 -10
  601. package/src/i18n/messagebundle_et.properties +24 -0
  602. package/src/i18n/messagebundle_fi.properties +24 -0
  603. package/src/i18n/messagebundle_fr.properties +24 -0
  604. package/src/i18n/messagebundle_fr_CA.properties +24 -0
  605. package/src/i18n/messagebundle_hi.properties +24 -0
  606. package/src/i18n/messagebundle_hr.properties +24 -0
  607. package/src/i18n/messagebundle_hu.properties +24 -0
  608. package/src/i18n/messagebundle_id.properties +24 -0
  609. package/src/i18n/messagebundle_it.properties +25 -1
  610. package/src/i18n/messagebundle_iw.properties +24 -0
  611. package/src/i18n/messagebundle_ja.properties +24 -0
  612. package/src/i18n/messagebundle_kk.properties +24 -0
  613. package/src/i18n/messagebundle_ko.properties +24 -0
  614. package/src/i18n/messagebundle_lt.properties +24 -0
  615. package/src/i18n/messagebundle_lv.properties +24 -0
  616. package/src/i18n/messagebundle_mk.properties +26 -2
  617. package/src/i18n/messagebundle_ms.properties +24 -0
  618. package/src/i18n/messagebundle_nl.properties +24 -0
  619. package/src/i18n/messagebundle_no.properties +24 -0
  620. package/src/i18n/messagebundle_pl.properties +24 -0
  621. package/src/i18n/messagebundle_pt.properties +24 -0
  622. package/src/i18n/messagebundle_pt_PT.properties +24 -0
  623. package/src/i18n/messagebundle_ro.properties +24 -0
  624. package/src/i18n/messagebundle_ru.properties +25 -1
  625. package/src/i18n/messagebundle_sh.properties +24 -0
  626. package/src/i18n/messagebundle_sk.properties +24 -0
  627. package/src/i18n/messagebundle_sl.properties +24 -0
  628. package/src/i18n/messagebundle_sr.properties +24 -0
  629. package/src/i18n/messagebundle_sv.properties +24 -0
  630. package/src/i18n/messagebundle_th.properties +24 -0
  631. package/src/i18n/messagebundle_tr.properties +24 -0
  632. package/src/i18n/messagebundle_uk.properties +24 -0
  633. package/src/i18n/messagebundle_vi.properties +24 -0
  634. package/src/i18n/messagebundle_zh_CN.properties +24 -0
  635. package/src/i18n/messagebundle_zh_TW.properties +24 -0
  636. package/src/themes/Button.css +3 -2
  637. package/src/themes/Dialog.css +0 -16
  638. package/src/themes/Form.css +1 -1
  639. package/src/themes/FormItem.css +0 -1
  640. package/src/themes/FormItemSpan.css +2 -2
  641. package/src/themes/Menu.css +17 -0
  642. package/src/themes/MenuItem.css +9 -0
  643. package/src/themes/Popover.css +77 -0
  644. package/src/themes/PopupsCommon.css +16 -0
  645. package/src/themes/SegmentedButton.css +2 -2
  646. package/src/themes/SegmentedButtonItem.css +0 -4
  647. package/src/themes/TableCellBase.css +4 -0
  648. package/src/themes/TreeItem.css +10 -2
  649. package/src/themes/base/sizes-parameters.css +6 -58
  650. package/src/themes/sap_fiori_3/sizes-parameters.css +0 -8
  651. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +0 -5
  652. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +0 -5
  653. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +0 -5
package/dist/Link.d.ts CHANGED
@@ -200,13 +200,6 @@ declare class Link extends UI5Element implements ITabbable {
200
200
  * @public
201
201
  */
202
202
  endIcon?: string;
203
- /**
204
- * Defines the text of the component.
205
- *
206
- * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
207
- * @public
208
- */
209
- text: Array<Node>;
210
203
  _rel: string | undefined;
211
204
  forcedTabIndex?: string;
212
205
  _dummyAnchor: HTMLAnchorElement;
package/dist/Link.js CHANGED
@@ -9,7 +9,6 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
12
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
13
  import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
15
14
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
@@ -151,7 +150,7 @@ let Link = Link_1 = class Link extends UI5Element {
151
150
  if (this.forcedTabIndex) {
152
151
  return Number.parseInt(this.forcedTabIndex);
153
152
  }
154
- return (this.disabled || !this.textContent?.length) ? -1 : 0;
153
+ return this.disabled ? -1 : 0;
155
154
  }
156
155
  get ariaLabelText() {
157
156
  return getEffectiveAriaLabelText(this);
@@ -256,9 +255,6 @@ __decorate([
256
255
  __decorate([
257
256
  property()
258
257
  ], Link.prototype, "endIcon", void 0);
259
- __decorate([
260
- slot({ type: Node, "default": true })
261
- ], Link.prototype, "text", void 0);
262
258
  __decorate([
263
259
  property({ noAttribute: true })
264
260
  ], Link.prototype, "_rel", void 0);
package/dist/Link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport { getLocationHostname, getLocationPort, getLocationProtocol } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type LinkAccessibleRole from \"./types/LinkAccessibleRole.js\";\nimport type InteractiveAreaSize from \"./types/InteractiveAreaSize.js\";\n// Template\nimport LinkTemplate from \"./LinkTemplate.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype LinkAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"current\">;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-link` is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `ui5-link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * `Subtle` or the more important ones as `Emphasized`,\n * by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML\n * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).\n * To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `ui5-link` becomes truncated.\n * If the `wrappingType` property is set to `\"Normal\"`, the text is displayed\n * on several lines instead of being truncated.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Link\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart icon - Used to style the provided icon within the link\n * @csspart endIcon - Used to style the provided endIcon within the link\n * @slot {Array<Node>} default - Defines the text of the component.\n *\n * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n * @public\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass Link extends UI5Element implements ITabbable {\n\teventDetails!: {\n\t\tclick: LinkClickEventDetail;\n\t}\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** When disabled, the click event cannot be triggered by the user.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t @property()\n\t tooltip?: string;\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\thref?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component design.\n\t *\n\t * **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${LinkDesign}` = \"Default\";\n\n\t/**\n\t * Defines the target area size of the link:\n\t * - **InteractiveAreaSize.Normal**: The default target area size.\n\t * - **InteractiveAreaSize.Large**: The target area size is enlarged to 24px in height.\n\t *\n\t * **Note:**The property is designed to make links easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes.\n\t * **Note:**To improve <code>ui5-link</code>'s reliability and usability, it is recommended to use the <code>InteractiveAreaSize.Large</code> value in scenarios where the <code>ui5-link</code> component is placed inside another interactive component, such as a list item or a table cell.\n\t * Setting the <code>interactiveAreaSize</code> property to <code>InteractiveAreaSize.Large</code> increases the <code>ui5-link</code>'s invisible touch area. As a result, the user's intended one-time selection command is more likely to activate the desired <code>ui5-link</code>, with minimal chance of unintentionally activating the underlying component.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t * @default \"Normal\"\n\t */\n\t@property()\n\tinteractiveAreaSize: `${InteractiveAreaSize}` = \"Normal\";\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** By default the text will wrap. If \"None\" is set - the text will truncate.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.\n\t * @default \"Link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property()\n\taccessibleRole: `${LinkAccessibleRole}` = \"Link\";\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: LinkAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.5.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component before the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target !== \"_self\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin(this.href);\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin(href: string) {\n\t\tthis._dummyAnchor.href = href;\n\n\t\treturn !(this._dummyAnchor.hostname === getLocationHostname()\n\t\t\t&& this._dummyAnchor.port === getLocationPort()\n\t\t\t&& this._dummyAnchor.protocol === getLocationProtocol());\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn Number.parseInt(this.forcedTabIndex);\n\t\t}\n\n\t\treturn (this.disabled || !this.textContent?.length) ? -1 : 0;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this.accessibleDescription === \"\" ? undefined : this.accessibleDescription;\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\n\t\tconst executeEvent = this.fireDecoratorEvent(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t});\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t\te.preventDefault();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tLinkAccessibilityAttributes,\n};\n"]}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport { getLocationHostname, getLocationPort, getLocationProtocol } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type LinkAccessibleRole from \"./types/LinkAccessibleRole.js\";\nimport type InteractiveAreaSize from \"./types/InteractiveAreaSize.js\";\n// Template\nimport LinkTemplate from \"./LinkTemplate.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype LinkAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"current\">;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-link` is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `ui5-link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * `Subtle` or the more important ones as `Emphasized`,\n * by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML\n * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).\n * To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `ui5-link` becomes truncated.\n * If the `wrappingType` property is set to `\"Normal\"`, the text is displayed\n * on several lines instead of being truncated.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Link\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart icon - Used to style the provided icon within the link\n * @csspart endIcon - Used to style the provided endIcon within the link\n * @slot {Array<Node>} default - Defines the text of the component.\n *\n * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n * @public\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass Link extends UI5Element implements ITabbable {\n\teventDetails!: {\n\t\tclick: LinkClickEventDetail;\n\t}\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** When disabled, the click event cannot be triggered by the user.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t @property()\n\t tooltip?: string;\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\thref?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component design.\n\t *\n\t * **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${LinkDesign}` = \"Default\";\n\n\t/**\n\t * Defines the target area size of the link:\n\t * - **InteractiveAreaSize.Normal**: The default target area size.\n\t * - **InteractiveAreaSize.Large**: The target area size is enlarged to 24px in height.\n\t *\n\t * **Note:**The property is designed to make links easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes.\n\t * **Note:**To improve <code>ui5-link</code>'s reliability and usability, it is recommended to use the <code>InteractiveAreaSize.Large</code> value in scenarios where the <code>ui5-link</code> component is placed inside another interactive component, such as a list item or a table cell.\n\t * Setting the <code>interactiveAreaSize</code> property to <code>InteractiveAreaSize.Large</code> increases the <code>ui5-link</code>'s invisible touch area. As a result, the user's intended one-time selection command is more likely to activate the desired <code>ui5-link</code>, with minimal chance of unintentionally activating the underlying component.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t * @default \"Normal\"\n\t */\n\t@property()\n\tinteractiveAreaSize: `${InteractiveAreaSize}` = \"Normal\";\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** By default the text will wrap. If \"None\" is set - the text will truncate.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.\n\t * @default \"Link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property()\n\taccessibleRole: `${LinkAccessibleRole}` = \"Link\";\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: LinkAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.5.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component before the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target !== \"_self\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin(this.href);\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin(href: string) {\n\t\tthis._dummyAnchor.href = href;\n\n\t\treturn !(this._dummyAnchor.hostname === getLocationHostname()\n\t\t\t&& this._dummyAnchor.port === getLocationPort()\n\t\t\t&& this._dummyAnchor.protocol === getLocationProtocol());\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn Number.parseInt(this.forcedTabIndex);\n\t\t}\n\n\t\treturn this.disabled ? -1 : 0;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this.accessibleDescription === \"\" ? undefined : this.accessibleDescription;\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\n\t\tconst executeEvent = this.fireDecoratorEvent(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t});\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t\te.preventDefault();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tLinkAccessibilityAttributes,\n};\n"]}
@@ -5,7 +5,7 @@ import ListItemAccessibleRole from "./types/ListItemAccessibleRole.js";
5
5
  export default function ListItemGroupTemplate(hooks) {
6
6
  const items = hooks?.items || defaultItems;
7
7
  return (_jsxs("ul", { role: "group", class: "ui5-group-li-root", onDragEnter: this._ondragenter, onDragOver: this._ondragover, onDrop: this._ondrop, onDragLeave: this._ondragleave, children: [this.hasHeader &&
8
- _jsx(ListItemGroupHeader, { focused: this.focused, part: "header", accessibleRole: ListItemAccessibleRole.Group, children: this.hasFormattedHeader ? _jsx("slot", { name: "header" }) : this.headerText }), items.call(this), _jsx(DropIndicator, { orientation: "Horizontal", ownerReference: this })] }));
8
+ _jsx(ListItemGroupHeader, { focused: this.focused, part: "header", accessibleRole: ListItemAccessibleRole.Group, wrappingType: this.getGroupHeaderWrapping(), children: this.hasFormattedHeader ? _jsx("slot", { name: "header" }) : this.headerText }), items.call(this), _jsx(DropIndicator, { orientation: "Horizontal", ownerReference: this })] }));
9
9
  }
10
10
  function defaultItems() {
11
11
  return _jsx("slot", {});
@@ -1 +1 @@
1
- {"version":3,"file":"ListBoxItemGroupTemplate.js","sourceRoot":"","sources":["../src/ListBoxItemGroupTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAsB,KAA6B;IAC/F,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,YAAY,CAAC;IAE3C,OAAO,CACN,cACC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,mBAAmB,EACzB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,WAAW,EAAE,IAAI,CAAC,YAAY,aAE7B,IAAI,CAAC,SAAS;gBACd,KAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,QAAQ,EAAC,cAAc,EAAE,sBAAsB,CAAC,KAAK,YACnG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAM,IAAI,EAAC,QAAQ,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GACpD,EAGrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAElB,KAAC,aAAa,IAAC,WAAW,EAAC,YAAY,EAAC,cAAc,EAAE,IAAI,GAAG,IAC3D,CACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,gBAAa,CAAC;AACtB,CAAC","sourcesContent":["import type ListItemGroup from \"./ListItemGroup.js\";\nimport ListItemGroupHeader from \"./ListItemGroupHeader.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport ListItemAccessibleRole from \"./types/ListItemAccessibleRole.js\";\n\nexport default function ListItemGroupTemplate(this: ListItemGroup, hooks?: { items: () => void }) {\n\tconst items = hooks?.items || defaultItems;\n\n\treturn (\n\t\t<ul\n\t\t\trole=\"group\"\n\t\t\tclass=\"ui5-group-li-root\"\n\t\t\tonDragEnter={this._ondragenter}\n\t\t\tonDragOver={this._ondragover}\n\t\t\tonDrop={this._ondrop}\n\t\t\tonDragLeave={this._ondragleave}\n\t\t>\n\t\t\t{this.hasHeader &&\n\t\t\t\t<ListItemGroupHeader focused={this.focused} part=\"header\" accessibleRole={ListItemAccessibleRole.Group}>\n\t\t\t\t\t{ this.hasFormattedHeader ? <slot name=\"header\"></slot> : this.headerText }\n\t\t\t\t</ListItemGroupHeader>\n\t\t\t}\n\n\t\t\t{ items.call(this) }\n\n\t\t\t<DropIndicator orientation=\"Horizontal\" ownerReference={this}/>\n\t\t</ul>\n\t);\n}\n\nfunction defaultItems(this: ListItemGroup) {\n\treturn <slot></slot>;\n}\n"]}
1
+ {"version":3,"file":"ListBoxItemGroupTemplate.js","sourceRoot":"","sources":["../src/ListBoxItemGroupTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAsB,KAA6B;IAC/F,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,YAAY,CAAC;IAE3C,OAAO,CACN,cACC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,mBAAmB,EACzB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,WAAW,EAAE,IAAI,CAAC,YAAY,aAE7B,IAAI,CAAC,SAAS;gBACd,KAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,QAAQ,EAAC,cAAc,EAAE,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAChJ,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAM,IAAI,EAAC,QAAQ,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GACpD,EAGrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAElB,KAAC,aAAa,IAAC,WAAW,EAAC,YAAY,EAAC,cAAc,EAAE,IAAI,GAAG,IAC3D,CACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,gBAAa,CAAC;AACtB,CAAC","sourcesContent":["import type ListItemGroup from \"./ListItemGroup.js\";\nimport ListItemGroupHeader from \"./ListItemGroupHeader.js\";\nimport DropIndicator from \"./DropIndicator.js\";\nimport ListItemAccessibleRole from \"./types/ListItemAccessibleRole.js\";\n\nexport default function ListItemGroupTemplate(this: ListItemGroup, hooks?: { items: () => void }) {\n\tconst items = hooks?.items || defaultItems;\n\n\treturn (\n\t\t<ul\n\t\t\trole=\"group\"\n\t\t\tclass=\"ui5-group-li-root\"\n\t\t\tonDragEnter={this._ondragenter}\n\t\t\tonDragOver={this._ondragover}\n\t\t\tonDrop={this._ondrop}\n\t\t\tonDragLeave={this._ondragleave}\n\t\t>\n\t\t\t{this.hasHeader &&\n\t\t\t\t<ListItemGroupHeader focused={this.focused} part=\"header\" accessibleRole={ListItemAccessibleRole.Group} wrappingType={this.getGroupHeaderWrapping()} >\n\t\t\t\t\t{ this.hasFormattedHeader ? <slot name=\"header\"></slot> : this.headerText }\n\t\t\t\t</ListItemGroupHeader>\n\t\t\t}\n\n\t\t\t{ items.call(this) }\n\n\t\t\t<DropIndicator orientation=\"Horizontal\" ownerReference={this}/>\n\t\t</ul>\n\t);\n}\n\nfunction defaultItems(this: ListItemGroup) {\n\treturn <slot></slot>;\n}\n"]}
@@ -4,7 +4,7 @@ import MovePlacement from "@ui5/webcomponents-base/dist/types/MovePlacement.js";
4
4
  import type DropIndicator from "./DropIndicator.js";
5
5
  import type ListItemBase from "./ListItemBase.js";
6
6
  import type ListItemGroupHeader from "./ListItemGroupHeader.js";
7
- import type WrappingType from "./types/WrappingType.js";
7
+ import WrappingType from "./types/WrappingType.js";
8
8
  type ListItemGroupMoveEventDetail = {
9
9
  source: {
10
10
  element: HTMLElement;
@@ -94,6 +94,7 @@ declare class ListItemGroup extends UI5Element {
94
94
  _ondrop(e: DragEvent): void;
95
95
  _filterPlacements(placements: MovePlacement[], draggedElement: HTMLElement, targetElement: HTMLElement): MovePlacement[];
96
96
  getFocusDomRef(): ListItemGroupHeader;
97
+ getGroupHeaderWrapping(): WrappingType;
97
98
  }
98
99
  declare const isInstanceOfListItemGroup: (object: any) => object is ListItemGroup;
99
100
  export default ListItemGroup;
@@ -16,6 +16,7 @@ import MovePlacement from "@ui5/webcomponents-base/dist/types/MovePlacement.js";
16
16
  import ListItemGroupTemplate from "./ListItemGroupTemplate.js";
17
17
  // Styles
18
18
  import ListItemGroupCss from "./generated/themes/ListItemGroup.css.js";
19
+ import WrappingType from "./types/WrappingType.js";
19
20
  /**
20
21
  * @class
21
22
  * ### Overview
@@ -102,6 +103,7 @@ let ListItemGroup = class ListItemGroup extends UI5Element {
102
103
  getFocusDomRef() {
103
104
  return this.groupHeaderItem || this.items.at(0);
104
105
  }
106
+ getGroupHeaderWrapping() { return WrappingType.None; }
105
107
  };
106
108
  __decorate([
107
109
  property()
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemGroup.js","sourceRoot":"","sources":["../src/ListItemGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,aAAa,MAAM,qDAAqD,CAAC;AAIhF,WAAW;AACX,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAE/D,SAAS;AACT,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAcvE;;;;;;;;;;;;;;GAcG;AAqCH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAsErC;QACC,KAAK,EAAE,CAAC;QAvCT;;;;;;;;;;;;;;;;WAgBG;QAEH,iBAAY,GAAsB,MAAM,CAAC;QAEzC;;;WAGG;QAEH,YAAO,GAAG,KAAK,CAAC;QAgBf,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YAC1B,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB;YAC7C,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SACnD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAsB,uBAAuB,CAAE,CAAC;IACtF,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,CAAY;QACxB,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,CAAY;QACxB,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,CAAY;QACvB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,CAAY;QACnB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,iBAAiB,CAAC,UAA2B,EAAE,cAA2B,EAAE,aAA0B;QACrG,yEAAyE;QACzE,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACtC,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;CACD,CAAA;AAtHA;IADC,QAAQ,EAAE;iDACS;AAQpB;IADC,QAAQ,EAAE;2DACmB;AAW9B;IALC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE,IAAI;QAC7B,IAAI,EAAE,WAAW;KACjB,CAAC;4CAC0B;AAoB5B;IADC,QAAQ,EAAE;mDAC8B;AAOzC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACZ;AAShB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;6CACC;AAlExB,aAAa;IApClB,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,QAAQ,EAAE,WAAW;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,CAAC,gBAAgB,CAAC;KAC1B,CAAC;IAEF;;;;;;;;OAQG;;IAEF,KAAK,CAAC,WAAW,EAAE;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;;;;;;OAQG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;GAEI,aAAa,CAiIlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,MAAM,yBAAyB,GAAG,CAAC,MAAW,EAA2B,EAAE;IAC1E,OAAO,iBAAiB,IAAI,MAAM,CAAC;AACpC,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,CAAC","sourcesContent":["import slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport DragAndDropHandler from \"./delegate/DragAndDropHandler.js\";\nimport MovePlacement from \"@ui5/webcomponents-base/dist/types/MovePlacement.js\";\nimport type DropIndicator from \"./DropIndicator.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\n\n// Template\nimport ListItemGroupTemplate from \"./ListItemGroupTemplate.js\";\n\n// Styles\nimport ListItemGroupCss from \"./generated/themes/ListItemGroup.css.js\";\nimport type ListItemGroupHeader from \"./ListItemGroupHeader.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\n\ntype ListItemGroupMoveEventDetail = {\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-li-group` is a special list item, used only to create groups of list items.\n *\n * This is the item to use inside a `ui5-list`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ListItemGroup.js\";`\n * @csspart header - Used to style the header item of the group\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.0.0\n */\n@customElement({\n\ttag: \"ui5-li-group\",\n\trenderer: jsxRenderer,\n\tlanguageAware: true,\n\ttemplate: ListItemGroupTemplate,\n\tstyles: [ListItemGroupCss],\n})\n\n/**\n * Fired when a movable list item is moved over a potential drop target during a dragging operation.\n *\n * If the new position is valid, prevent the default action of the event using `preventDefault()`.\n * @param {object} source Contains information about the moved element under `element` property.\n * @param {object} destination Contains information about the destination of the moved element. Has `element` and `placement` properties.\n * @public\n * @since 2.1.0\n */\n\n@event(\"move-over\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired when a movable list item is dropped onto a drop target.\n *\n * **Note:** `move` event is fired only if there was a preceding `move-over` with prevented default action.\n * @param {object} source Contains information about the moved element under `element` property.\n * @param {object} destination Contains information about the destination of the moved element. Has `element` and `placement` properties.\n * @public\n * @since 2.1.0\n */\n@event(\"move\", {\n\tbubbles: true,\n})\n\nclass ListItemGroup extends UI5Element {\n\teventDetails!: {\n\t\t\"move-over\": ListItemGroupMoveEventDetail,\n\t\t\"move\": ListItemGroupMoveEventDetail,\n\t}\n\t/**\n\t * Defines the header text of the <code>ui5-li-group</code>.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Defines the accessible name of the header.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\theaderAccessibleName?: string;\n\n\t/**\n\t * Defines the items of the <code>ui5-li-group</code>.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: true,\n\t\ttype: HTMLElement,\n\t})\n\titems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines if the text of the component should wrap when it's too long.\n\t * When set to \"Normal\", the content (title, description) will be wrapped\n\t * using the `ui5-expandable-text` component.<br/>\n\t *\n\t * The text can wrap up to 100 characters on small screens (size S) and\n\t * up to 300 characters on larger screens (size M and above). When text exceeds\n\t * these limits, it truncates with an ellipsis followed by a text expansion trigger.\n\t *\n\t * Available options are:\n\t * - `None` (default) - The text will truncate with an ellipsis.\n\t * - `Normal` - The text will wrap (without truncation).\n\t *\n\t * @default \"None\"\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"None\";\n\n\t/**\n\t * Indicates whether the header is focused\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t* Defines the header of the component.\n\t*\n\t* **Note:** Using this slot, the default header text of group and the value of `headerText` property will be overwritten.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement })\n\theader!: Array<ListItemBase>;\n\n\t_dragAndDropHandler: DragAndDropHandler;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Initialize the DragAndDropHandler with the necessary configurations\n\t\t// The handler will manage the drag and drop operations for the list items.\n\t\tthis._dragAndDropHandler = new DragAndDropHandler(this, {\n\t\t\tgetItems: () => this.items,\n\t\t\tgetDropIndicator: () => this.dropIndicatorDOM,\n\t\t\tfilterPlacements: this._filterPlacements.bind(this),\n\t\t});\n\t}\n\n\tget groupHeaderItem() {\n\t\treturn this.shadowRoot!.querySelector<ListItemGroupHeader>(\"[ui5-li-group-header]\")!;\n\t}\n\n\tget hasHeader(): boolean {\n\t\treturn !!this.headerText || this.hasFormattedHeader;\n\t}\n\n\tget hasFormattedHeader(): boolean {\n\t\treturn !!this.header.length;\n\t}\n\n\tget isListItemGroup() {\n\t\treturn true;\n\t}\n\n\tget dropIndicatorDOM(): DropIndicator | null {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-drop-indicator]\");\n\t}\n\n\t_ondragenter(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondragenter(e);\n\t}\n\n\t_ondragleave(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondragleave(e);\n\t}\n\n\t_ondragover(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondragover(e);\n\t}\n\n\t_ondrop(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondrop(e);\n\t}\n\n\t_filterPlacements(placements: MovePlacement[], draggedElement: HTMLElement, targetElement: HTMLElement): MovePlacement[] {\n\t\t// Filter out MovePlacement.On when dragged element is the same as target\n\t\tif (targetElement === draggedElement) {\n\t\t\treturn placements.filter(placement => placement !== MovePlacement.On);\n\t\t}\n\t\treturn placements;\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this.groupHeaderItem || this.items.at(0);\n\t}\n}\n\nListItemGroup.define();\n\nconst isInstanceOfListItemGroup = (object: any): object is ListItemGroup => {\n\treturn \"isListItemGroup\" in object;\n};\n\nexport default ListItemGroup;\nexport { isInstanceOfListItemGroup };\nexport type { ListItemGroupMoveEventDetail };\n"]}
1
+ {"version":3,"file":"ListItemGroup.js","sourceRoot":"","sources":["../src/ListItemGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport DragAndDropHandler from \"./delegate/DragAndDropHandler.js\";\nimport MovePlacement from \"@ui5/webcomponents-base/dist/types/MovePlacement.js\";\nimport type DropIndicator from \"./DropIndicator.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\n\n// Template\nimport ListItemGroupTemplate from \"./ListItemGroupTemplate.js\";\n\n// Styles\nimport ListItemGroupCss from \"./generated/themes/ListItemGroup.css.js\";\nimport type ListItemGroupHeader from \"./ListItemGroupHeader.js\";\nimport WrappingType from \"./types/WrappingType.js\";\n\ntype ListItemGroupMoveEventDetail = {\n\tsource: {\n\t\telement: HTMLElement,\n\t},\n\tdestination: {\n\t\telement: HTMLElement,\n\t\tplacement: `${MovePlacement}`,\n\t}\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-li-group` is a special list item, used only to create groups of list items.\n *\n * This is the item to use inside a `ui5-list`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ListItemGroup.js\";`\n * @csspart header - Used to style the header item of the group\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.0.0\n */\n@customElement({\n\ttag: \"ui5-li-group\",\n\trenderer: jsxRenderer,\n\tlanguageAware: true,\n\ttemplate: ListItemGroupTemplate,\n\tstyles: [ListItemGroupCss],\n})\n\n/**\n * Fired when a movable list item is moved over a potential drop target during a dragging operation.\n *\n * If the new position is valid, prevent the default action of the event using `preventDefault()`.\n * @param {object} source Contains information about the moved element under `element` property.\n * @param {object} destination Contains information about the destination of the moved element. Has `element` and `placement` properties.\n * @public\n * @since 2.1.0\n */\n\n@event(\"move-over\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired when a movable list item is dropped onto a drop target.\n *\n * **Note:** `move` event is fired only if there was a preceding `move-over` with prevented default action.\n * @param {object} source Contains information about the moved element under `element` property.\n * @param {object} destination Contains information about the destination of the moved element. Has `element` and `placement` properties.\n * @public\n * @since 2.1.0\n */\n@event(\"move\", {\n\tbubbles: true,\n})\n\nclass ListItemGroup extends UI5Element {\n\teventDetails!: {\n\t\t\"move-over\": ListItemGroupMoveEventDetail,\n\t\t\"move\": ListItemGroupMoveEventDetail,\n\t}\n\t/**\n\t * Defines the header text of the <code>ui5-li-group</code>.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Defines the accessible name of the header.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\theaderAccessibleName?: string;\n\n\t/**\n\t * Defines the items of the <code>ui5-li-group</code>.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: true,\n\t\ttype: HTMLElement,\n\t})\n\titems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines if the text of the component should wrap when it's too long.\n\t * When set to \"Normal\", the content (title, description) will be wrapped\n\t * using the `ui5-expandable-text` component.<br/>\n\t *\n\t * The text can wrap up to 100 characters on small screens (size S) and\n\t * up to 300 characters on larger screens (size M and above). When text exceeds\n\t * these limits, it truncates with an ellipsis followed by a text expansion trigger.\n\t *\n\t * Available options are:\n\t * - `None` (default) - The text will truncate with an ellipsis.\n\t * - `Normal` - The text will wrap (without truncation).\n\t *\n\t * @default \"None\"\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"None\";\n\n\t/**\n\t * Indicates whether the header is focused\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t* Defines the header of the component.\n\t*\n\t* **Note:** Using this slot, the default header text of group and the value of `headerText` property will be overwritten.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement })\n\theader!: Array<ListItemBase>;\n\n\t_dragAndDropHandler: DragAndDropHandler;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Initialize the DragAndDropHandler with the necessary configurations\n\t\t// The handler will manage the drag and drop operations for the list items.\n\t\tthis._dragAndDropHandler = new DragAndDropHandler(this, {\n\t\t\tgetItems: () => this.items,\n\t\t\tgetDropIndicator: () => this.dropIndicatorDOM,\n\t\t\tfilterPlacements: this._filterPlacements.bind(this),\n\t\t});\n\t}\n\n\tget groupHeaderItem() {\n\t\treturn this.shadowRoot!.querySelector<ListItemGroupHeader>(\"[ui5-li-group-header]\")!;\n\t}\n\n\tget hasHeader(): boolean {\n\t\treturn !!this.headerText || this.hasFormattedHeader;\n\t}\n\n\tget hasFormattedHeader(): boolean {\n\t\treturn !!this.header.length;\n\t}\n\n\tget isListItemGroup() {\n\t\treturn true;\n\t}\n\n\tget dropIndicatorDOM(): DropIndicator | null {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-drop-indicator]\");\n\t}\n\n\t_ondragenter(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondragenter(e);\n\t}\n\n\t_ondragleave(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondragleave(e);\n\t}\n\n\t_ondragover(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondragover(e);\n\t}\n\n\t_ondrop(e: DragEvent) {\n\t\tthis._dragAndDropHandler.ondrop(e);\n\t}\n\n\t_filterPlacements(placements: MovePlacement[], draggedElement: HTMLElement, targetElement: HTMLElement): MovePlacement[] {\n\t\t// Filter out MovePlacement.On when dragged element is the same as target\n\t\tif (targetElement === draggedElement) {\n\t\t\treturn placements.filter(placement => placement !== MovePlacement.On);\n\t\t}\n\t\treturn placements;\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this.groupHeaderItem || this.items.at(0);\n\t}\n\n\tgetGroupHeaderWrapping(): WrappingType { return WrappingType.None; }\n}\n\nListItemGroup.define();\n\nconst isInstanceOfListItemGroup = (object: any): object is ListItemGroup => {\n\treturn \"isListItemGroup\" in object;\n};\n\nexport default ListItemGroup;\nexport { isInstanceOfListItemGroup };\nexport type { ListItemGroupMoveEventDetail };\n"]}
package/dist/Menu.d.ts CHANGED
@@ -141,7 +141,7 @@ declare class Menu extends UI5Element {
141
141
  static i18nBundle: I18nBundle;
142
142
  _timeout?: Timeout;
143
143
  get isRtl(): boolean;
144
- get labelClose(): string;
144
+ get labelCancel(): string;
145
145
  get isPhone(): boolean;
146
146
  get _popover(): ResponsivePopover;
147
147
  get _list(): List | null;
package/dist/Menu.js CHANGED
@@ -22,7 +22,7 @@ import { isInstanceOfMenuItem } from "./MenuItem.js";
22
22
  import { isInstanceOfMenuItemGroup } from "./MenuItemGroup.js";
23
23
  import { isInstanceOfMenuSeparator } from "./MenuSeparator.js";
24
24
  import menuTemplate from "./MenuTemplate.js";
25
- import { MENU_CLOSE_BUTTON_ARIA_LABEL, MENU_POPOVER_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
25
+ import { MENU_CANCEL_BUTTON_TEXT, MENU_POPOVER_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
26
26
  // Styles
27
27
  import menuCss from "./generated/themes/Menu.css.js";
28
28
  const MENU_OPEN_DELAY = 300;
@@ -111,8 +111,8 @@ let Menu = Menu_1 = class Menu extends UI5Element {
111
111
  get isRtl() {
112
112
  return this.effectiveDir === "rtl";
113
113
  }
114
- get labelClose() {
115
- return Menu_1.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);
114
+ get labelCancel() {
115
+ return Menu_1.i18nBundle.getText(MENU_CANCEL_BUTTON_TEXT);
116
116
  }
117
117
  get isPhone() {
118
118
  return isPhone();
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-strict.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type List from \"./List.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type MenuItem from \"./MenuItem.js\";\n// The import below should be kept, as MenuItem is part of the Menu component.\nimport { isInstanceOfMenuItem } from \"./MenuItem.js\";\nimport { isInstanceOfMenuItemGroup } from \"./MenuItemGroup.js\";\nimport { isInstanceOfMenuSeparator } from \"./MenuSeparator.js\";\nimport type PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport type PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport type {\n\tListItemClickEventDetail,\n} from \"./List.js\";\nimport menuTemplate from \"./MenuTemplate.js\";\nimport {\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n\tMENU_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport menuCss from \"./generated/themes/Menu.css.js\";\n\nconst MENU_OPEN_DELAY = 300;\n\n/**\n * Interface for components that may be slotted inside a `ui5-menu`.\n *\n * **Note:** Use with `ui5-menu-item` or `ui5-menu-separator`. Implementing the interface does not guarantee that any other classes can work with the `ui5-menu`.\n * @public\n */\ninterface IMenuItem extends UI5Element {\n\tisMenuItem?: boolean;\n\tisSeparator?: boolean;\n\tisGroup?: boolean;\n}\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-menu` component represents a hierarchical menu structure.\n *\n * ### Structure\n *\n * The `ui5-menu` can hold two types of entities:\n *\n * - `ui5-menu-item` components\n * - `ui5-menu-separator` - used to separate menu items with a line\n *\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Keyboard Handling\n *\n * The `ui5-menu` provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n *\n * - `Arrow Up` / `Arrow Down` - Navigates up and down the menu items that are currently visible.\n * - `Arrow Right`, `Space` or `Enter` - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.\n * - `Arrow Left` or `Escape` - Closes the currently opened sub-menu.\n *\n * when there is `endContent` :\n * - `Arrow Left` or `ArrowRight` - Navigate between the menu item actions and the menu item itself\n * - `Arrow Up` / `Arrow Down` - Navigates up and down the currently visible menu items\n *\n * **Note:** If the text direction is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.\n *\n * Application developers are responsible for ensuring that interactive elements placed in the `endContent` slot\n * have the correct accessibility behaviour, including their enabled or disabled states.\n * The menu does not manage these aspects when the menu item state changes.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Menu.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: jsxRenderer,\n\tstyles: menuCss,\n\ttemplate: menuTemplate,\n})\n\n/**\n * Fired when an item is being clicked.\n *\n * **Note:** Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\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\tcancelable: true,\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @since 1.10.0\n * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.\n */\n@event(\"before-open\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is opened.\n * @public\n * @since 1.10.0\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the menu is being closed.\n * @private\n */\n@event(\"close-menu\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is closed.\n * @public\n * @since 1.10.0\n */\n@event(\"close\")\n\nclass Menu extends UI5Element {\n\teventDetails!: {\n\t\t\"item-click\": MenuItemClickEventDetail,\n\t\t\"before-open\": MenuBeforeOpenEventDetail,\n\t\t\"open\": void,\n\t\t\"before-close\": MenuBeforeCloseEventDetail,\n\t\t\"close\": void,\n\t\t\"close-menu\": void,\n\t}\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Indicates if the menu is open.\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"Bottom\"\n\t * @public\n\t * @since 2.16.0\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"Bottom\";\n\n\t/**\n\t * Determines the horizontal alignment of the menu relative to its opener control.\n\t * @default \"Start\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Start\";\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding ui5-menu popover.\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.10.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-menu-item` and `ui5-menu-separator` for their intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<IMenuItem>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\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 _popover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\tget _list() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list]\");\n\t}\n\n\t/** Returns menu item groups */\n\tget _menuItemGroups() {\n\t\treturn this.items.filter(isInstanceOfMenuItemGroup);\n\t}\n\n\t/** Returns menu items */\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n\n\t/** Returns all menu items (including those in groups */\n\tget _allMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<IMenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\titems.push(...item._menuItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item as MenuItem);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t/** Returns menu items included in the ItemNavigation */\n\tget _navigatableMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<MenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\tconst groupItems = item.getSlottedNodes<MenuItem>(\"items\");\n\t\t\t\titems.push(...groupItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\tget accessibleNameText() {\n\t\treturn Menu.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tonBeforeRendering() {\n\t\tconst siblingsWithIcon = this._allMenuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._setupItemNavigation();\n\n\t\tthis._allMenuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._list?.getFocusDomRef();\n\t}\n\n\t_setupItemNavigation() {\n\t\tif (this._list) {\n\t\t\tthis._list._itemNavigation._getItems = () => this._navigatableMenuItems;\n\t\t}\n\t}\n\n\t_close() {\n\t\tthis.open = false;\n\t}\n\n\t_openItemSubMenu(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"before-open\", {\n\t\t\titem,\n\t\t});\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (!isDesktop()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = e.target as MenuItem;\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\titem.focus();\n\n\t\t// Opens submenu with 300ms delay\n\t\tthis._startOpenTimeout(item);\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\tconst firstMenuItem = this._allMenuItems[0];\n\n\t\tif (firstMenuItem) {\n\t\t\treturn firstMenuItem.focus(focusOptions);\n\t\t}\n\n\t\treturn super.focus(focusOptions);\n\t}\n\n\t_closeOtherSubMenus(item: MenuItem) {\n\t\tconst menuItems = this._allMenuItems;\n\t\tif (!menuItems.includes(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tmenuItems.forEach(menuItem => {\n\t\t\tif (menuItem !== item) {\n\t\t\t\tmenuItem._close();\n\t\t\t}\n\t\t});\n\t}\n\n\t_startOpenTimeout(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeOtherSubMenus(item);\n\n\t\t\tthis._openItemSubMenu(item);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as MenuItem;\n\n\t\tif (!item._popover) {\n\t\t\tconst prevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t\t\"text\": item.text || \"\",\n\t\t\t});\n\n\t\t\tif (!prevented) {\n\t\t\t\titem._updateCheckedState();\n\t\t\t\tthis._popover && !item._shiftPressed && item.fireDecoratorEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst isTabNextPrevious = isTabNext(e) || isTabPrevious(e);\n\t\tconst item = e.target as MenuItem;\n\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isEndContentNavigation = isRight(e) || isLeft(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\n\t\tif (isEnter(e) || isTabNextPrevious) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEndContentNavigation) {\n\t\t\titem._navigateToEndContent(isLeft(e));\n\t\t}\n\n\t\tif (shouldOpenMenu) {\n\t\t\tthis._openItemSubMenu(item);\n\t\t} else if (isTabNextPrevious) {\n\t\t\tthis._close();\n\t\t}\n\t}\n\n\t_navigateOutOfEndContent(e: CustomEvent) {\n\t\tconst item = e.target as MenuItem;\n\t\tconst shouldNavigateToNextItem = e.detail.shouldNavigateToNextItem;\n\t\tconst menuItems = this._allMenuItems;\n\t\tconst itemIndex = menuItems.indexOf(item);\n\n\t\tif (itemIndex > -1) {\n\t\t\tconst nextItem = shouldNavigateToNextItem ? menuItems[itemIndex + 1] : menuItems[itemIndex - 1];\n\t\t\tconst itemToFocus = nextItem || menuItems[itemIndex];\n\t\t\titemToFocus?.focus();\n\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\", {});\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._allMenuItems[0]?.focus();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_beforePopoverClose(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed: e.detail.escPressed });\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tIMenuItem,\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-strict.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type List from \"./List.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type MenuItem from \"./MenuItem.js\";\n// The import below should be kept, as MenuItem is part of the Menu component.\nimport { isInstanceOfMenuItem } from \"./MenuItem.js\";\nimport { isInstanceOfMenuItemGroup } from \"./MenuItemGroup.js\";\nimport { isInstanceOfMenuSeparator } from \"./MenuSeparator.js\";\nimport type PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport type PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport type {\n\tListItemClickEventDetail,\n} from \"./List.js\";\nimport menuTemplate from \"./MenuTemplate.js\";\nimport {\n\tMENU_CANCEL_BUTTON_TEXT,\n\tMENU_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport menuCss from \"./generated/themes/Menu.css.js\";\n\nconst MENU_OPEN_DELAY = 300;\n\n/**\n * Interface for components that may be slotted inside a `ui5-menu`.\n *\n * **Note:** Use with `ui5-menu-item` or `ui5-menu-separator`. Implementing the interface does not guarantee that any other classes can work with the `ui5-menu`.\n * @public\n */\ninterface IMenuItem extends UI5Element {\n\tisMenuItem?: boolean;\n\tisSeparator?: boolean;\n\tisGroup?: boolean;\n}\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-menu` component represents a hierarchical menu structure.\n *\n * ### Structure\n *\n * The `ui5-menu` can hold two types of entities:\n *\n * - `ui5-menu-item` components\n * - `ui5-menu-separator` - used to separate menu items with a line\n *\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Keyboard Handling\n *\n * The `ui5-menu` provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n *\n * - `Arrow Up` / `Arrow Down` - Navigates up and down the menu items that are currently visible.\n * - `Arrow Right`, `Space` or `Enter` - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.\n * - `Arrow Left` or `Escape` - Closes the currently opened sub-menu.\n *\n * when there is `endContent` :\n * - `Arrow Left` or `ArrowRight` - Navigate between the menu item actions and the menu item itself\n * - `Arrow Up` / `Arrow Down` - Navigates up and down the currently visible menu items\n *\n * **Note:** If the text direction is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.\n *\n * Application developers are responsible for ensuring that interactive elements placed in the `endContent` slot\n * have the correct accessibility behaviour, including their enabled or disabled states.\n * The menu does not manage these aspects when the menu item state changes.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Menu.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: jsxRenderer,\n\tstyles: menuCss,\n\ttemplate: menuTemplate,\n})\n\n/**\n * Fired when an item is being clicked.\n *\n * **Note:** Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\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\tcancelable: true,\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @since 1.10.0\n * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.\n */\n@event(\"before-open\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is opened.\n * @public\n * @since 1.10.0\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the menu is being closed.\n * @private\n */\n@event(\"close-menu\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is closed.\n * @public\n * @since 1.10.0\n */\n@event(\"close\")\n\nclass Menu extends UI5Element {\n\teventDetails!: {\n\t\t\"item-click\": MenuItemClickEventDetail,\n\t\t\"before-open\": MenuBeforeOpenEventDetail,\n\t\t\"open\": void,\n\t\t\"before-close\": MenuBeforeCloseEventDetail,\n\t\t\"close\": void,\n\t\t\"close-menu\": void,\n\t}\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Indicates if the menu is open.\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"Bottom\"\n\t * @public\n\t * @since 2.16.0\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"Bottom\";\n\n\t/**\n\t * Determines the horizontal alignment of the menu relative to its opener control.\n\t * @default \"Start\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Start\";\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding ui5-menu popover.\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.10.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-menu-item` and `ui5-menu-separator` for their intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<IMenuItem>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget labelCancel() {\n\t\treturn Menu.i18nBundle.getText(MENU_CANCEL_BUTTON_TEXT);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _popover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\tget _list() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list]\");\n\t}\n\n\t/** Returns menu item groups */\n\tget _menuItemGroups() {\n\t\treturn this.items.filter(isInstanceOfMenuItemGroup);\n\t}\n\n\t/** Returns menu items */\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n\n\t/** Returns all menu items (including those in groups */\n\tget _allMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<IMenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\titems.push(...item._menuItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item as MenuItem);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t/** Returns menu items included in the ItemNavigation */\n\tget _navigatableMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<MenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\tconst groupItems = item.getSlottedNodes<MenuItem>(\"items\");\n\t\t\t\titems.push(...groupItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\tget accessibleNameText() {\n\t\treturn Menu.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tonBeforeRendering() {\n\t\tconst siblingsWithIcon = this._allMenuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._setupItemNavigation();\n\n\t\tthis._allMenuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._list?.getFocusDomRef();\n\t}\n\n\t_setupItemNavigation() {\n\t\tif (this._list) {\n\t\t\tthis._list._itemNavigation._getItems = () => this._navigatableMenuItems;\n\t\t}\n\t}\n\n\t_close() {\n\t\tthis.open = false;\n\t}\n\n\t_openItemSubMenu(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"before-open\", {\n\t\t\titem,\n\t\t});\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (!isDesktop()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = e.target as MenuItem;\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\titem.focus();\n\n\t\t// Opens submenu with 300ms delay\n\t\tthis._startOpenTimeout(item);\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\tconst firstMenuItem = this._allMenuItems[0];\n\n\t\tif (firstMenuItem) {\n\t\t\treturn firstMenuItem.focus(focusOptions);\n\t\t}\n\n\t\treturn super.focus(focusOptions);\n\t}\n\n\t_closeOtherSubMenus(item: MenuItem) {\n\t\tconst menuItems = this._allMenuItems;\n\t\tif (!menuItems.includes(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tmenuItems.forEach(menuItem => {\n\t\t\tif (menuItem !== item) {\n\t\t\t\tmenuItem._close();\n\t\t\t}\n\t\t});\n\t}\n\n\t_startOpenTimeout(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeOtherSubMenus(item);\n\n\t\t\tthis._openItemSubMenu(item);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as MenuItem;\n\n\t\tif (!item._popover) {\n\t\t\tconst prevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t\t\"text\": item.text || \"\",\n\t\t\t});\n\n\t\t\tif (!prevented) {\n\t\t\t\titem._updateCheckedState();\n\t\t\t\tthis._popover && !item._shiftPressed && item.fireDecoratorEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst isTabNextPrevious = isTabNext(e) || isTabPrevious(e);\n\t\tconst item = e.target as MenuItem;\n\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isEndContentNavigation = isRight(e) || isLeft(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\n\t\tif (isEnter(e) || isTabNextPrevious) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEndContentNavigation) {\n\t\t\titem._navigateToEndContent(isLeft(e));\n\t\t}\n\n\t\tif (shouldOpenMenu) {\n\t\t\tthis._openItemSubMenu(item);\n\t\t} else if (isTabNextPrevious) {\n\t\t\tthis._close();\n\t\t}\n\t}\n\n\t_navigateOutOfEndContent(e: CustomEvent) {\n\t\tconst item = e.target as MenuItem;\n\t\tconst shouldNavigateToNextItem = e.detail.shouldNavigateToNextItem;\n\t\tconst menuItems = this._allMenuItems;\n\t\tconst itemIndex = menuItems.indexOf(item);\n\n\t\tif (itemIndex > -1) {\n\t\t\tconst nextItem = shouldNavigateToNextItem ? menuItems[itemIndex + 1] : menuItems[itemIndex - 1];\n\t\t\tconst itemToFocus = nextItem || menuItems[itemIndex];\n\t\t\titemToFocus?.focus();\n\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\", {});\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._allMenuItems[0]?.focus();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_beforePopoverClose(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed: e.detail.escPressed });\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tIMenuItem,\n};\n"]}
@@ -201,7 +201,7 @@ declare class MenuItem extends ListItem implements IMenuItem {
201
201
  get menuHeaderTextPhone(): string | undefined;
202
202
  get isPhone(): boolean;
203
203
  get labelBack(): string;
204
- get labelClose(): string;
204
+ get labelCancel(): string;
205
205
  get accessibleNameText(): string;
206
206
  onBeforeRendering(): void;
207
207
  focus(focusOptions?: FocusOptions): Promise<void>;
package/dist/MenuItem.js CHANGED
@@ -23,7 +23,7 @@ import ListItem from "./ListItem.js";
23
23
  import { isInstanceOfMenuSeparator } from "./MenuSeparator.js";
24
24
  import { isInstanceOfMenuItemGroup } from "./MenuItemGroup.js";
25
25
  import MenuItemTemplate from "./MenuItemTemplate.js";
26
- import { MENU_BACK_BUTTON_ARIA_LABEL, MENU_CLOSE_BUTTON_ARIA_LABEL, MENU_POPOVER_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
26
+ import { MENU_BACK_BUTTON_ARIA_LABEL, MENU_CANCEL_BUTTON_TEXT, MENU_POPOVER_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
27
27
  // Styles
28
28
  import menuItemCss from "./generated/themes/MenuItem.css.js";
29
29
  /**
@@ -152,8 +152,8 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
152
152
  get labelBack() {
153
153
  return MenuItem_1.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);
154
154
  }
155
- get labelClose() {
156
- return MenuItem_1.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);
155
+ get labelCancel() {
156
+ return MenuItem_1.i18nBundle.getText(MENU_CANCEL_BUTTON_TEXT);
157
157
  }
158
158
  get accessibleNameText() {
159
159
  return MenuItem_1.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../src/MenuItem.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { AccessibilityAttributes, AriaHasPopup, AriaRole } from \"@ui5/webcomponents-base\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n\tisSpace,\n\tisEnterShift,\n\tisSpaceShift,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n\tisDown,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop, isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ItemNavigationBehavior from \"@ui5/webcomponents-base/dist/types/ItemNavigationBehavior.js\";\nimport MenuItemGroupCheckMode from \"./types/MenuItemGroupCheckMode.js\";\nimport type { ListItemAccessibilityAttributes } from \"./ListItem.js\";\nimport type List from \"./List.js\";\nimport ListItem from \"./ListItem.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport { isInstanceOfMenuSeparator } from \"./MenuSeparator.js\";\nimport { isInstanceOfMenuItemGroup } from \"./MenuItemGroup.js\";\nimport MenuItemTemplate from \"./MenuItemTemplate.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n\tMENU_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { IMenuItem } from \"./Menu.js\";\n\n// Styles\nimport menuItemCss from \"./generated/themes/MenuItem.css.js\";\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype MenuNavigateOutOfEndContentEventDetail = { shouldNavigateToNextItem: boolean };\n\ntype MenuItemAccessibilityAttributes = Pick<AccessibilityAttributes, \"ariaKeyShortcuts\" | \"role\"> & ListItemAccessibilityAttributes;\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-menu-item` is the item to use inside a `ui5-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Usage\n *\n * `ui5-menu-item` represents a node in a `ui5-menu`. The menu itself is rendered as a list,\n * and each `ui5-menu-item` is represented by a list item in that list. Therefore, you should only use\n * `ui5-menu-item` directly in your apps. The `ui5-li` list item is internal for the list, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MenuItem.js\";`\n * @constructor\n * @extends ListItem\n * @implements {IMenuItem}\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu-item\",\n\trenderer: jsxRenderer,\n\ttemplate: MenuItemTemplate,\n\tstyles: [ListItem.styles, menuItemCss],\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @since 1.10.0\n * @param { HTMLElement } item The menu item that triggers opening of the sub-menu or undefined when fired upon root menu opening.\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is opened.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired when the menu is being closed.\n * @private\n */\n@event(\"close-menu\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when navigating out of end-content.\n * @private\n */\n@event(\"exit-end-content\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is closed.\n * @public\n * @since 1.10.0\n */\n@event(\"close\")\n\n/**\n * Fired when an item is checked or unchecked.\n * @public\n * @since 2.12.0\n */\n@event(\"check\", {\n\tbubbles: true,\n})\nclass MenuItem extends ListItem implements IMenuItem {\n\teventDetails!: ListItem[\"eventDetails\"] & {\n\t\t\"before-open\": MenuBeforeOpenEventDetail\n\t\t\"open\": void\n\t\t\"before-close\": MenuBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"close-menu\": void\n\t\t\"check\": void\n\t\t\"exit-end-content\": MenuNavigateOutOfEndContentEventDetail\n\t}\n\n\t/**\n\t * Defines the text of the tree item.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the `additionalText`, displayed in the end of the menu item.\n\t *\n\t * **Note:** The additional text will not be displayed if there are items added in `items` slot or there are\n\t * components added to `endContent` slot.\n\t *\n\t * The priority of what will be displayed at the end of the menu item is as follows:\n\t * sub-menu arrow (if there are items added in `items` slot) -> components added in `endContent` -> text set to `additionalText`.\n\t * @default undefined\n\t * @public\n\t * @since 1.8.0\n\t */\n\t@property()\n\tadditionalText?: string;\n\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Example:**\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines whether menu item is in disabled state.\n\t *\n\t * **Note:** A disabled menu item is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding menu popover.\n\t *\n\t * **Note:** If set to `true` a busy indicator component will be displayed into the related one to the current menu item sub-menu popover.\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding menu popover.\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the text of the tooltip for the menu item.\n\t * @default undefined\n\t * @public\n\t * @since 1.23.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines whether menu item is in checked state.\n\t *\n\t * **Note:** checked state is only taken into account when menu item is added to menu item group\n\t * with `checkMode` other than `None`.\n\t *\n\t * **Note:** A checked menu item has a checkmark displayed at its end.\n\t * @default false\n\t * @public\n\t * @since 2.12.0\n\t */\n\t@property({ type: Boolean })\n\tchecked = false;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **ariaKeyShortcuts**: Indicated the availability of a keyboard shortcuts defined for the menu item.\n\t *\n\t * - **role**: Defines the role of the menu item. If not set, menu item will have default role=\"menuitem\".\n\t * @public\n\t * @since 2.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\tdeclare accessibilityAttributes: MenuItemAccessibilityAttributes;\n\n\t/**\n\t * Indicates whether any of the element siblings have icon.\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_siblingsWithIcon = false;\n\n\t/**\n\t * Defines the component's check mode.\n\t * @default \"None\"\n\t * @private\n\t */\n\t@property()\n\t_checkMode: `${MenuItemGroupCheckMode}` = \"None\";\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** The slot can hold menu item and menu separator items.\n\t *\n\t * If there are items added to this slot, an arrow will be displayed at the end\n\t * of the item in order to indicate that there are items added. In that case components added\n\t * to `endContent` slot or `additionalText` content will not be displayed.\n\t *\n\t * The priority of what will be displayed at the end of the menu item is as follows:\n\t * sub-menu arrow (if there are items added in `items` slot) -> components added in `endContent` -> text set to `additionalText`.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<IMenuItem>;\n\n\t/**\n\t * Defines the components that should be displayed at the end of the menu item.\n\t *\n\t * **Note:** It is highly recommended to slot only components of type `ui5-button`,`ui5-link`\n\t * or `ui5-icon` in order to preserve the intended design. If there are components added to this slot,\n\t * and there is text set in `additionalText`, it will not be displayed. If there are items added to `items` slot,\n\t * nether `additionalText` nor components added to this slot would be displayed.\n\t *\n\t * The priority of what will be displayed at the end of the menu item is as follows:\n\t * sub-menu arrow (if there are items added in `items` slot) -> components added in `endContent` -> text set to `additionalText`.\n\t *\n\t * Application developers are responsible for ensuring that interactive elements placed in the `endContent` slot\n\t * have the correct accessibility behaviour, including their enabled or disabled states.\n\t * The menu does not manage these aspects when the menu item state changes.\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@slot({ type: HTMLElement })\n\tendContent!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\t_shiftPressed: boolean = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\tbehavior: ItemNavigationBehavior.Static,\n\t\t\tgetItemsCallback: () => this._navigableItems,\n\t\t});\n\t}\n\n\tget _list() {\n\t\treturn this.shadowRoot && this.shadowRoot.querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\tget _navigableItems(): Array<HTMLElement> {\n\t\treturn [...this.endContent].filter(item => {\n\t\t\treturn item.hasAttribute(\"ui5-button\")\n\t\t\t|| item.hasAttribute(\"ui5-link\")\n\t\t\t|| (item.hasAttribute(\"ui5-icon\") && item.getAttribute(\"mode\") === \"Interactive\");\n\t\t});\n\t}\n\n\tget _isCheckable() {\n\t\treturn this._checkMode !== MenuItemGroupCheckMode.None;\n\t}\n\n\t_navigateToEndContent(shouldNavigateToPreviousItem: boolean) {\n\t\tconst navigatableItems = this._navigableItems;\n\t\tconst item = shouldNavigateToPreviousItem\n\t\t\t? navigatableItems[navigatableItems.length - 1]\n\t\t\t: navigatableItems[0];\n\n\t\tif (item) {\n\t\t\tthis._itemNavigation.setCurrentItem(item);\n\t\t\tthis._itemNavigation._focusCurrentItem();\n\t\t}\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget hasSubmenu() {\n\t\treturn !!(this.items.length || this.loading) && !this.disabled;\n\t}\n\n\tget hasEndContent() {\n\t\treturn !!(this.endContent.length);\n\t}\n\n\tget hasIcon() {\n\t\treturn !!this.icon;\n\t}\n\n\tget isSubMenuOpen() {\n\t\treturn this._popover?.open;\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\treturn this.text;\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget labelBack() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget accessibleNameText() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tconst siblingsWithIcon = this._allMenuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._setupItemNavigation();\n\n\t\tthis._allMenuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\n\t\tif (this.hasSubmenu && this.isSubMenuOpen) {\n\t\t\tconst menuItems = this._allMenuItems;\n\t\t\treturn menuItems[0] && menuItems[0].focus(focusOptions);\n\t\t}\n\n\t\treturn super.focus(focusOptions);\n\t}\n\n\tget _focusable() {\n\t\treturn true;\n\t}\n\n\tget _role() {\n\t\tswitch (this._checkMode) {\n\t\tcase MenuItemGroupCheckMode.Single:\n\t\t\treturn \"menuitemradio\";\n\t\tcase MenuItemGroupCheckMode.Multiple:\n\t\t\treturn \"menuitemcheckbox\";\n\t\tdefault:\n\t\t\treturn \"menuitem\";\n\t\t}\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings: {\n\t\t\trole: AriaRole;\n\t\t\tariaHaspopup?: `${AriaHasPopup}`;\n\t\t\tariaKeyShortcuts?: string;\n\t\t\tariaExpanded?: boolean;\n\t\t\tariaHidden?: boolean;\n\t\t\tariaChecked?: boolean;\n\t\t} = {\n\t\t\trole: this.accessibilityAttributes.role || this._role,\n\t\t\tariaHaspopup: this.hasSubmenu ? \"menu\" : undefined,\n\t\t\tariaKeyShortcuts: this.accessibilityAttributes.ariaKeyShortcuts,\n\t\t\tariaExpanded: this.hasSubmenu ? this.isSubMenuOpen : undefined,\n\t\t\tariaHidden: !!this.additionalText && !!this.accessibilityAttributes.ariaKeyShortcuts ? true : undefined,\n\t\t\tariaChecked: this._markChecked ? true : undefined,\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\tget _popover() {\n\t\treturn this.shadowRoot && this.shadowRoot.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget _markChecked() {\n\t\treturn !this.hasSubmenu && this.checked && this._checkMode !== MenuItemGroupCheckMode.None;\n\t}\n\n\t/** Returns menu item groups */\n\tget _menuItemGroups() {\n\t\treturn this.items.filter(isInstanceOfMenuItemGroup);\n\t}\n\n\t/** Returns menu items */\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n\n\t/** Returns all menu items (including those in groups */\n\tget _allMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<IMenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\titems.push(...item._menuItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item as MenuItem);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t/** Returns menu items included in the ItemNavigation */\n\tget _navigatableMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<MenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\tconst groupItems = item.getSlottedNodes<MenuItem>(\"items\");\n\t\t\t\titems.push(...groupItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t_setupItemNavigation() {\n\t\tif (this._list) {\n\t\t\tthis._list._itemNavigation._getItems = () => this._navigatableMenuItems;\n\t\t}\n\t}\n\n\t_closeOtherSubMenus(item: MenuItem) {\n\t\tconst menuItems = this._allMenuItems;\n\t\tif (!menuItems.includes(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tmenuItems.forEach(menuItem => {\n\t\t\tif (menuItem !== item) {\n\t\t\t\tmenuItem._close();\n\t\t\t}\n\t\t});\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (!isDesktop()) {\n\t\t\treturn;\n\t\t}\n\t\tconst item = e.target as MenuItem;\n\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\t\titem.focus();\n\n\t\tthis._closeOtherSubMenus(item);\n\t}\n\n\t_isSpace(e: KeyboardEvent) {\n\t\tthis._shiftPressed = this._isCheckable && isSpaceShift(e);\n\t\treturn isSpace(e) || isSpaceShift(e);\n\t}\n\n\t_isEnter(e: KeyboardEvent) {\n\t\tthis._shiftPressed = this._isCheckable && isEnterShift(e);\n\t\treturn isEnter(e) || isEnterShift(e);\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._shiftPressed = this._isCheckable && e.shiftKey;\n\t\tsuper._onclick(e);\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst item = e.target as MenuItem;\n\t\tconst itemInMenuItems = this._allMenuItems.includes(item);\n\t\tconst isTabNextPrevious = isTabNext(e) || isTabPrevious(e);\n\t\tconst shouldCloseMenu = this.isRtl ? isRight(e) : isLeft(e);\n\n\t\tif (itemInMenuItems && (isTabNextPrevious || shouldCloseMenu)) {\n\t\t\tthis._close();\n\t\t\tthis.focus();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_itemKeyUp(e: KeyboardEvent) {\n\t\tif (isShift(e)) {\n\t\t\tthis._shiftPressed = false;\n\t\t}\n\t}\n\n\t_endContentKeyDown(e: KeyboardEvent) {\n\t\tconst shouldNavigateOutOfEndContent = isUp(e) || isDown(e);\n\n\t\tif (shouldNavigateOutOfEndContent) {\n\t\t\tthis.fireDecoratorEvent(\"exit-end-content\", { shouldNavigateToNextItem: isDown(e) });\n\t\t}\n\t}\n\n\t_navigateOutOfEndContent(e: CustomEvent) {\n\t\tconst item = e.target as MenuItem;\n\t\tconst shouldNavigateToNextItem = e.detail.shouldNavigateToNextItem;\n\t\tconst menuItems = this._allMenuItems;\n\t\tconst itemIndex = menuItems.indexOf(item);\n\n\t\tif (itemIndex > -1) {\n\t\t\tconst nextItem = shouldNavigateToNextItem ? menuItems[itemIndex + 1] : menuItems[itemIndex - 1];\n\t\t\tconst itemToFocus = nextItem || menuItems[itemIndex];\n\t\t\titemToFocus?.focus();\n\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_closeAll() {\n\t\tif (this._popover) {\n\t\t\tthis._popover.open = false;\n\t\t}\n\t\tthis.selected = false;\n\t\tthis.fireDecoratorEvent(\"close-menu\");\n\t}\n\n\t_close() {\n\t\tif (this._popover) {\n\t\t\tthis._popover.open = false;\n\t\t\tthis._allMenuItems.forEach(item => item._close());\n\t\t}\n\t\tthis.selected = false;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\", {});\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis._allMenuItems[0]?.focus();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_beforePopoverClose(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed: e.detail.escPressed });\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selected = false;\n\t\tif (e.detail.escPressed) {\n\t\t\tthis.focus();\n\t\t\tif (isPhone()) {\n\t\t\t\tthis.fireDecoratorEvent(\"close-menu\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tget isMenuItem(): boolean {\n\t\treturn true;\n\t}\n\n\t_updateCheckedState() {\n\t\tif (this._checkMode === MenuItemGroupCheckMode.None) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newState = !this.checked;\n\n\t\tthis.checked = newState;\n\t\tthis.fireDecoratorEvent(\"check\");\n\t}\n}\n\nMenuItem.define();\n\nconst isInstanceOfMenuItem = (object: any): object is MenuItem => {\n\treturn \"isMenuItem\" in object;\n};\n\nexport default MenuItem;\n\nexport type {\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tMenuItemAccessibilityAttributes,\n};\n\nexport {\n\tisInstanceOfMenuItem,\n};\n"]}
1
+ {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../src/MenuItem.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { AccessibilityAttributes, AriaHasPopup, AriaRole } from \"@ui5/webcomponents-base\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n\tisSpace,\n\tisEnterShift,\n\tisSpaceShift,\n\tisShift,\n\tisTabNext,\n\tisTabPrevious,\n\tisDown,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop, isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ItemNavigationBehavior from \"@ui5/webcomponents-base/dist/types/ItemNavigationBehavior.js\";\nimport MenuItemGroupCheckMode from \"./types/MenuItemGroupCheckMode.js\";\nimport type { ListItemAccessibilityAttributes } from \"./ListItem.js\";\nimport type List from \"./List.js\";\nimport ListItem from \"./ListItem.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport { isInstanceOfMenuSeparator } from \"./MenuSeparator.js\";\nimport { isInstanceOfMenuItemGroup } from \"./MenuItemGroup.js\";\nimport MenuItemTemplate from \"./MenuItemTemplate.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CANCEL_BUTTON_TEXT,\n\tMENU_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { IMenuItem } from \"./Menu.js\";\n\n// Styles\nimport menuItemCss from \"./generated/themes/MenuItem.css.js\";\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype MenuNavigateOutOfEndContentEventDetail = { shouldNavigateToNextItem: boolean };\n\ntype MenuItemAccessibilityAttributes = Pick<AccessibilityAttributes, \"ariaKeyShortcuts\" | \"role\"> & ListItemAccessibilityAttributes;\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-menu-item` is the item to use inside a `ui5-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Usage\n *\n * `ui5-menu-item` represents a node in a `ui5-menu`. The menu itself is rendered as a list,\n * and each `ui5-menu-item` is represented by a list item in that list. Therefore, you should only use\n * `ui5-menu-item` directly in your apps. The `ui5-li` list item is internal for the list, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MenuItem.js\";`\n * @constructor\n * @extends ListItem\n * @implements {IMenuItem}\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu-item\",\n\trenderer: jsxRenderer,\n\ttemplate: MenuItemTemplate,\n\tstyles: [ListItem.styles, menuItemCss],\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @since 1.10.0\n * @param { HTMLElement } item The menu item that triggers opening of the sub-menu or undefined when fired upon root menu opening.\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is opened.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired when the menu is being closed.\n * @private\n */\n@event(\"close-menu\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when navigating out of end-content.\n * @private\n */\n@event(\"exit-end-content\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the menu is closed.\n * @public\n * @since 1.10.0\n */\n@event(\"close\")\n\n/**\n * Fired when an item is checked or unchecked.\n * @public\n * @since 2.12.0\n */\n@event(\"check\", {\n\tbubbles: true,\n})\nclass MenuItem extends ListItem implements IMenuItem {\n\teventDetails!: ListItem[\"eventDetails\"] & {\n\t\t\"before-open\": MenuBeforeOpenEventDetail\n\t\t\"open\": void\n\t\t\"before-close\": MenuBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"close-menu\": void\n\t\t\"check\": void\n\t\t\"exit-end-content\": MenuNavigateOutOfEndContentEventDetail\n\t}\n\n\t/**\n\t * Defines the text of the tree item.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the `additionalText`, displayed in the end of the menu item.\n\t *\n\t * **Note:** The additional text will not be displayed if there are items added in `items` slot or there are\n\t * components added to `endContent` slot.\n\t *\n\t * The priority of what will be displayed at the end of the menu item is as follows:\n\t * sub-menu arrow (if there are items added in `items` slot) -> components added in `endContent` -> text set to `additionalText`.\n\t * @default undefined\n\t * @public\n\t * @since 1.8.0\n\t */\n\t@property()\n\tadditionalText?: string;\n\n\t/**\n\t * Defines the icon to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Example:**\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines whether menu item is in disabled state.\n\t *\n\t * **Note:** A disabled menu item is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding menu popover.\n\t *\n\t * **Note:** If set to `true` a busy indicator component will be displayed into the related one to the current menu item sub-menu popover.\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will be displayed inside the corresponding menu popover.\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the text of the tooltip for the menu item.\n\t * @default undefined\n\t * @public\n\t * @since 1.23.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines whether menu item is in checked state.\n\t *\n\t * **Note:** checked state is only taken into account when menu item is added to menu item group\n\t * with `checkMode` other than `None`.\n\t *\n\t * **Note:** A checked menu item has a checkmark displayed at its end.\n\t * @default false\n\t * @public\n\t * @since 2.12.0\n\t */\n\t@property({ type: Boolean })\n\tchecked = false;\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **ariaKeyShortcuts**: Indicated the availability of a keyboard shortcuts defined for the menu item.\n\t *\n\t * - **role**: Defines the role of the menu item. If not set, menu item will have default role=\"menuitem\".\n\t * @public\n\t * @since 2.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\tdeclare accessibilityAttributes: MenuItemAccessibilityAttributes;\n\n\t/**\n\t * Indicates whether any of the element siblings have icon.\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_siblingsWithIcon = false;\n\n\t/**\n\t * Defines the component's check mode.\n\t * @default \"None\"\n\t * @private\n\t */\n\t@property()\n\t_checkMode: `${MenuItemGroupCheckMode}` = \"None\";\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** The slot can hold menu item and menu separator items.\n\t *\n\t * If there are items added to this slot, an arrow will be displayed at the end\n\t * of the item in order to indicate that there are items added. In that case components added\n\t * to `endContent` slot or `additionalText` content will not be displayed.\n\t *\n\t * The priority of what will be displayed at the end of the menu item is as follows:\n\t * sub-menu arrow (if there are items added in `items` slot) -> components added in `endContent` -> text set to `additionalText`.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<IMenuItem>;\n\n\t/**\n\t * Defines the components that should be displayed at the end of the menu item.\n\t *\n\t * **Note:** It is highly recommended to slot only components of type `ui5-button`,`ui5-link`\n\t * or `ui5-icon` in order to preserve the intended design. If there are components added to this slot,\n\t * and there is text set in `additionalText`, it will not be displayed. If there are items added to `items` slot,\n\t * nether `additionalText` nor components added to this slot would be displayed.\n\t *\n\t * The priority of what will be displayed at the end of the menu item is as follows:\n\t * sub-menu arrow (if there are items added in `items` slot) -> components added in `endContent` -> text set to `additionalText`.\n\t *\n\t * Application developers are responsible for ensuring that interactive elements placed in the `endContent` slot\n\t * have the correct accessibility behaviour, including their enabled or disabled states.\n\t * The menu does not manage these aspects when the menu item state changes.\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@slot({ type: HTMLElement })\n\tendContent!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\t_shiftPressed: boolean = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Horizontal,\n\t\t\tbehavior: ItemNavigationBehavior.Static,\n\t\t\tgetItemsCallback: () => this._navigableItems,\n\t\t});\n\t}\n\n\tget _list() {\n\t\treturn this.shadowRoot && this.shadowRoot.querySelector<List>(\"[ui5-list]\")!;\n\t}\n\n\tget _navigableItems(): Array<HTMLElement> {\n\t\treturn [...this.endContent].filter(item => {\n\t\t\treturn item.hasAttribute(\"ui5-button\")\n\t\t\t|| item.hasAttribute(\"ui5-link\")\n\t\t\t|| (item.hasAttribute(\"ui5-icon\") && item.getAttribute(\"mode\") === \"Interactive\");\n\t\t});\n\t}\n\n\tget _isCheckable() {\n\t\treturn this._checkMode !== MenuItemGroupCheckMode.None;\n\t}\n\n\t_navigateToEndContent(shouldNavigateToPreviousItem: boolean) {\n\t\tconst navigatableItems = this._navigableItems;\n\t\tconst item = shouldNavigateToPreviousItem\n\t\t\t? navigatableItems[navigatableItems.length - 1]\n\t\t\t: navigatableItems[0];\n\n\t\tif (item) {\n\t\t\tthis._itemNavigation.setCurrentItem(item);\n\t\t\tthis._itemNavigation._focusCurrentItem();\n\t\t}\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget hasSubmenu() {\n\t\treturn !!(this.items.length || this.loading) && !this.disabled;\n\t}\n\n\tget hasEndContent() {\n\t\treturn !!(this.endContent.length);\n\t}\n\n\tget hasIcon() {\n\t\treturn !!this.icon;\n\t}\n\n\tget isSubMenuOpen() {\n\t\treturn this._popover?.open;\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\treturn this.text;\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget labelBack() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelCancel() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_CANCEL_BUTTON_TEXT);\n\t}\n\n\tget accessibleNameText() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tconst siblingsWithIcon = this._allMenuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._setupItemNavigation();\n\n\t\tthis._allMenuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\n\t\tif (this.hasSubmenu && this.isSubMenuOpen) {\n\t\t\tconst menuItems = this._allMenuItems;\n\t\t\treturn menuItems[0] && menuItems[0].focus(focusOptions);\n\t\t}\n\n\t\treturn super.focus(focusOptions);\n\t}\n\n\tget _focusable() {\n\t\treturn true;\n\t}\n\n\tget _role() {\n\t\tswitch (this._checkMode) {\n\t\tcase MenuItemGroupCheckMode.Single:\n\t\t\treturn \"menuitemradio\";\n\t\tcase MenuItemGroupCheckMode.Multiple:\n\t\t\treturn \"menuitemcheckbox\";\n\t\tdefault:\n\t\t\treturn \"menuitem\";\n\t\t}\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings: {\n\t\t\trole: AriaRole;\n\t\t\tariaHaspopup?: `${AriaHasPopup}`;\n\t\t\tariaKeyShortcuts?: string;\n\t\t\tariaExpanded?: boolean;\n\t\t\tariaHidden?: boolean;\n\t\t\tariaChecked?: boolean;\n\t\t} = {\n\t\t\trole: this.accessibilityAttributes.role || this._role,\n\t\t\tariaHaspopup: this.hasSubmenu ? \"menu\" : undefined,\n\t\t\tariaKeyShortcuts: this.accessibilityAttributes.ariaKeyShortcuts,\n\t\t\tariaExpanded: this.hasSubmenu ? this.isSubMenuOpen : undefined,\n\t\t\tariaHidden: !!this.additionalText && !!this.accessibilityAttributes.ariaKeyShortcuts ? true : undefined,\n\t\t\tariaChecked: this._markChecked ? true : undefined,\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\tget _popover() {\n\t\treturn this.shadowRoot && this.shadowRoot.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget _markChecked() {\n\t\treturn !this.hasSubmenu && this.checked && this._checkMode !== MenuItemGroupCheckMode.None;\n\t}\n\n\t/** Returns menu item groups */\n\tget _menuItemGroups() {\n\t\treturn this.items.filter(isInstanceOfMenuItemGroup);\n\t}\n\n\t/** Returns menu items */\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n\n\t/** Returns all menu items (including those in groups */\n\tget _allMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<IMenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\titems.push(...item._menuItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item as MenuItem);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t/** Returns menu items included in the ItemNavigation */\n\tget _navigatableMenuItems() {\n\t\tconst items: MenuItem[] = [];\n\t\tconst slottedItems = this.getSlottedNodes<MenuItem>(\"items\");\n\n\t\tslottedItems.forEach(item => {\n\t\t\tif (isInstanceOfMenuItemGroup(item)) {\n\t\t\t\tconst groupItems = item.getSlottedNodes<MenuItem>(\"items\");\n\t\t\t\titems.push(...groupItems);\n\t\t\t} else if (!isInstanceOfMenuSeparator(item)) {\n\t\t\t\titems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n\n\t_setupItemNavigation() {\n\t\tif (this._list) {\n\t\t\tthis._list._itemNavigation._getItems = () => this._navigatableMenuItems;\n\t\t}\n\t}\n\n\t_closeOtherSubMenus(item: MenuItem) {\n\t\tconst menuItems = this._allMenuItems;\n\t\tif (!menuItems.includes(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tmenuItems.forEach(menuItem => {\n\t\t\tif (menuItem !== item) {\n\t\t\t\tmenuItem._close();\n\t\t\t}\n\t\t});\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (!isDesktop()) {\n\t\t\treturn;\n\t\t}\n\t\tconst item = e.target as MenuItem;\n\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\t\titem.focus();\n\n\t\tthis._closeOtherSubMenus(item);\n\t}\n\n\t_isSpace(e: KeyboardEvent) {\n\t\tthis._shiftPressed = this._isCheckable && isSpaceShift(e);\n\t\treturn isSpace(e) || isSpaceShift(e);\n\t}\n\n\t_isEnter(e: KeyboardEvent) {\n\t\tthis._shiftPressed = this._isCheckable && isEnterShift(e);\n\t\treturn isEnter(e) || isEnterShift(e);\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._shiftPressed = this._isCheckable && e.shiftKey;\n\t\tsuper._onclick(e);\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst item = e.target as MenuItem;\n\t\tconst itemInMenuItems = this._allMenuItems.includes(item);\n\t\tconst isTabNextPrevious = isTabNext(e) || isTabPrevious(e);\n\t\tconst shouldCloseMenu = this.isRtl ? isRight(e) : isLeft(e);\n\n\t\tif (itemInMenuItems && (isTabNextPrevious || shouldCloseMenu)) {\n\t\t\tthis._close();\n\t\t\tthis.focus();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_itemKeyUp(e: KeyboardEvent) {\n\t\tif (isShift(e)) {\n\t\t\tthis._shiftPressed = false;\n\t\t}\n\t}\n\n\t_endContentKeyDown(e: KeyboardEvent) {\n\t\tconst shouldNavigateOutOfEndContent = isUp(e) || isDown(e);\n\n\t\tif (shouldNavigateOutOfEndContent) {\n\t\t\tthis.fireDecoratorEvent(\"exit-end-content\", { shouldNavigateToNextItem: isDown(e) });\n\t\t}\n\t}\n\n\t_navigateOutOfEndContent(e: CustomEvent) {\n\t\tconst item = e.target as MenuItem;\n\t\tconst shouldNavigateToNextItem = e.detail.shouldNavigateToNextItem;\n\t\tconst menuItems = this._allMenuItems;\n\t\tconst itemIndex = menuItems.indexOf(item);\n\n\t\tif (itemIndex > -1) {\n\t\t\tconst nextItem = shouldNavigateToNextItem ? menuItems[itemIndex + 1] : menuItems[itemIndex - 1];\n\t\t\tconst itemToFocus = nextItem || menuItems[itemIndex];\n\t\t\titemToFocus?.focus();\n\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_closeAll() {\n\t\tif (this._popover) {\n\t\t\tthis._popover.open = false;\n\t\t}\n\t\tthis.selected = false;\n\t\tthis.fireDecoratorEvent(\"close-menu\");\n\t}\n\n\t_close() {\n\t\tif (this._popover) {\n\t\t\tthis._popover.open = false;\n\t\t\tthis._allMenuItems.forEach(item => item._close());\n\t\t}\n\t\tthis.selected = false;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\", {});\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis._allMenuItems[0]?.focus();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_beforePopoverClose(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed: e.detail.escPressed });\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selected = false;\n\t\tif (e.detail.escPressed) {\n\t\t\tthis.focus();\n\t\t\tif (isPhone()) {\n\t\t\t\tthis.fireDecoratorEvent(\"close-menu\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tget isMenuItem(): boolean {\n\t\treturn true;\n\t}\n\n\t_updateCheckedState() {\n\t\tif (this._checkMode === MenuItemGroupCheckMode.None) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newState = !this.checked;\n\n\t\tthis.checked = newState;\n\t\tthis.fireDecoratorEvent(\"check\");\n\t}\n}\n\nMenuItem.define();\n\nconst isInstanceOfMenuItem = (object: any): object is MenuItem => {\n\treturn \"isMenuItem\" in object;\n};\n\nexport default MenuItem;\n\nexport type {\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tMenuItemAccessibilityAttributes,\n};\n\nexport {\n\tisInstanceOfMenuItem,\n};\n"]}
@@ -5,7 +5,6 @@ import Button from "./Button.js";
5
5
  import List from "./List.js";
6
6
  import BusyIndicator from "./BusyIndicator.js";
7
7
  import navBackIcon from "@ui5/webcomponents-icons/dist/nav-back.js";
8
- import declineIcon from "@ui5/webcomponents-icons/dist/decline.js";
9
8
  import checkIcon from "@ui5/webcomponents-icons/dist/accept.js";
10
9
  import slimArrowRight from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
11
10
  import Icon from "./Icon.js";
@@ -43,6 +42,6 @@ function iconBegin() {
43
42
  }
44
43
  }
45
44
  function listItemPostContent() {
46
- return this.hasSubmenu && _jsxs(ResponsivePopover, { id: `${this._id}-menu-rp`, class: "ui5-menu-rp ui5-menu-rp-sub-menu", preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, allowTargetOverlap: true, placement: PopoverPlacement.End, verticalAlign: "Top", accessibleName: this.accessibleNameText, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, children: [this.isPhone && (_jsx(_Fragment, { children: _jsxs("div", { slot: "header", class: "ui5-menu-dialog-header", children: [_jsx(Button, { icon: navBackIcon, class: "ui5-menu-back-button", design: "Transparent", "aria-label": this.labelBack, onClick: this._close }), _jsx("div", { class: "ui5-menu-dialog-title", children: _jsx("div", { children: this.text }) }), _jsx(Button, { icon: declineIcon, design: "Transparent", "aria-label": this.labelClose, onClick: this._closeAll })] }) })), _jsx("div", { id: `${this._id}-menu-main`, children: this.items.length ? (_jsx(List, { id: `${this._id}-menu-list`, selectionMode: "None", separators: "None", accessibleRole: "Menu", loading: this.loading, loadingDelay: this.loadingDelay, onMouseOver: this._itemMouseOver, onKeyDown: this._itemKeyDown, onKeyUp: this._itemKeyUp, "onui5-close-menu": this._close, "onui5-exit-end-content": this._navigateOutOfEndContent, children: _jsx("slot", {}) })) : this.loading && _jsx(BusyIndicator, { id: `${this._id}-menu-busy-indicator`, delay: this.loadingDelay, class: "ui5-menu-busy-indicator", active: true }) })] });
45
+ return this.hasSubmenu && _jsxs(ResponsivePopover, { id: `${this._id}-menu-rp`, class: "ui5-menu-rp ui5-menu-rp-sub-menu", preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, allowTargetOverlap: true, placement: PopoverPlacement.End, verticalAlign: "Top", accessibleName: this.accessibleNameText, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, children: [this.isPhone && (_jsx(_Fragment, { children: _jsxs("div", { slot: "header", class: "ui5-menu-dialog-header", children: [_jsx(Button, { icon: navBackIcon, class: "ui5-menu-back-button", design: "Transparent", "aria-label": this.labelBack, onClick: this._close }), _jsx("div", { class: "ui5-menu-dialog-title", children: _jsx("div", { children: this.text }) })] }) })), _jsx("div", { id: `${this._id}-menu-main`, class: this.loading ? "menu-busy-indicator-main" : "", children: this.items.length ? (_jsx(List, { id: `${this._id}-menu-list`, selectionMode: "None", separators: "None", accessibleRole: "Menu", loading: this.loading, loadingDelay: this.loadingDelay, onMouseOver: this._itemMouseOver, onKeyDown: this._itemKeyDown, onKeyUp: this._itemKeyUp, "onui5-close-menu": this._close, "onui5-exit-end-content": this._navigateOutOfEndContent, children: _jsx("slot", {}) })) : this.loading && _jsx(BusyIndicator, { id: `${this._id}-menu-busy-indicator`, delay: this.loadingDelay, class: "ui5-menu-busy-indicator", active: true }) }), this.isPhone && (_jsx("div", { slot: "footer", class: "ui5-menu-dialog-footer", children: _jsx(Button, { design: "Transparent", onClick: this._closeAll, children: this.labelCancel }) }))] });
47
46
  }
48
47
  //# sourceMappingURL=MenuItemTemplate.js.map