@ui5/webcomponents 2.16.0-rc.3 → 2.16.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Button.js +3 -0
  4. package/dist/Button.js.map +1 -1
  5. package/dist/Carousel.d.ts +1 -0
  6. package/dist/Carousel.js +4 -1
  7. package/dist/Carousel.js.map +1 -1
  8. package/dist/CarouselTemplate.js +1 -1
  9. package/dist/CarouselTemplate.js.map +1 -1
  10. package/dist/CheckBox.d.ts +7 -0
  11. package/dist/CheckBox.js +9 -0
  12. package/dist/CheckBox.js.map +1 -1
  13. package/dist/ColorPalette.d.ts +18 -0
  14. package/dist/ColorPalette.js +81 -9
  15. package/dist/ColorPalette.js.map +1 -1
  16. package/dist/ColorPaletteItem.d.ts +0 -5
  17. package/dist/ColorPaletteItem.js +1 -9
  18. package/dist/ColorPaletteItem.js.map +1 -1
  19. package/dist/ColorPaletteItemTemplate.js +1 -3
  20. package/dist/ColorPaletteItemTemplate.js.map +1 -1
  21. package/dist/DatePicker.js +1 -1
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/DynamicDateRange.js +1 -0
  24. package/dist/DynamicDateRange.js.map +1 -1
  25. package/dist/Form.d.ts +34 -6
  26. package/dist/Form.js +39 -9
  27. package/dist/Form.js.map +1 -1
  28. package/dist/FormGroup.d.ts +8 -1
  29. package/dist/FormGroup.js +10 -3
  30. package/dist/FormGroup.js.map +1 -1
  31. package/dist/FormItem.d.ts +5 -0
  32. package/dist/FormItem.js +7 -0
  33. package/dist/FormItem.js.map +1 -1
  34. package/dist/FormItemTemplate.js +8 -2
  35. package/dist/FormItemTemplate.js.map +1 -1
  36. package/dist/FormTemplate.js +33 -21
  37. package/dist/FormTemplate.js.map +1 -1
  38. package/dist/Menu.js +2 -1
  39. package/dist/Menu.js.map +1 -1
  40. package/dist/MenuItem.js +2 -1
  41. package/dist/MenuItem.js.map +1 -1
  42. package/dist/SegmentedButton.d.ts +6 -7
  43. package/dist/SegmentedButton.js +9 -10
  44. package/dist/SegmentedButton.js.map +1 -1
  45. package/dist/SegmentedButtonTemplate.js +2 -3
  46. package/dist/SegmentedButtonTemplate.js.map +1 -1
  47. package/dist/Select.d.ts +2 -2
  48. package/dist/Select.js +7 -7
  49. package/dist/Select.js.map +1 -1
  50. package/dist/Switch.d.ts +1 -0
  51. package/dist/Switch.js +7 -2
  52. package/dist/Switch.js.map +1 -1
  53. package/dist/css/themes/Avatar.css +1 -1
  54. package/dist/css/themes/AvatarGroup.css +1 -1
  55. package/dist/css/themes/Bar.css +1 -1
  56. package/dist/css/themes/Breadcrumbs.css +1 -1
  57. package/dist/css/themes/BusyIndicator.css +1 -1
  58. package/dist/css/themes/Button.css +1 -1
  59. package/dist/css/themes/ButtonBadge.css +1 -1
  60. package/dist/css/themes/Calendar.css +1 -1
  61. package/dist/css/themes/CalendarHeader.css +1 -1
  62. package/dist/css/themes/CalendarLegend.css +1 -1
  63. package/dist/css/themes/CalendarLegendItem.css +1 -1
  64. package/dist/css/themes/Card.css +1 -1
  65. package/dist/css/themes/CardHeader.css +1 -1
  66. package/dist/css/themes/Carousel.css +1 -1
  67. package/dist/css/themes/CheckBox.css +1 -1
  68. package/dist/css/themes/ColorPalette.css +1 -1
  69. package/dist/css/themes/ColorPaletteItem.css +1 -1
  70. package/dist/css/themes/ColorPalettePopover.css +1 -1
  71. package/dist/css/themes/ColorPicker.css +1 -1
  72. package/dist/css/themes/ComboBox.css +1 -1
  73. package/dist/css/themes/ComboBoxItem.css +1 -1
  74. package/dist/css/themes/DatePicker.css +1 -1
  75. package/dist/css/themes/DatePickerPopover.css +1 -1
  76. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  77. package/dist/css/themes/DayPicker.css +1 -1
  78. package/dist/css/themes/Dialog.css +1 -1
  79. package/dist/css/themes/DynamicDateRange.css +1 -1
  80. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  81. package/dist/css/themes/FileUploader.css +1 -1
  82. package/dist/css/themes/Form.css +1 -1
  83. package/dist/css/themes/FormItem.css +1 -1
  84. package/dist/css/themes/FormItemSpan.css +1 -1
  85. package/dist/css/themes/GrowingButton.css +1 -1
  86. package/dist/css/themes/Icon.css +1 -1
  87. package/dist/css/themes/Input.css +1 -1
  88. package/dist/css/themes/InputIcon.css +1 -1
  89. package/dist/css/themes/InputSharedStyles.css +1 -1
  90. package/dist/css/themes/Link.css +1 -1
  91. package/dist/css/themes/List.css +1 -1
  92. package/dist/css/themes/ListItem.css +1 -1
  93. package/dist/css/themes/ListItemBase.css +1 -1
  94. package/dist/css/themes/ListItemCustom.css +1 -1
  95. package/dist/css/themes/ListItemGroup.css +1 -1
  96. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  97. package/dist/css/themes/ListItemIcon.css +1 -1
  98. package/dist/css/themes/Menu.css +1 -1
  99. package/dist/css/themes/MenuItem.css +1 -1
  100. package/dist/css/themes/MessageStrip.css +1 -1
  101. package/dist/css/themes/MonthPicker.css +1 -1
  102. package/dist/css/themes/MultiComboBox.css +1 -1
  103. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  104. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  105. package/dist/css/themes/MultiInput.css +1 -1
  106. package/dist/css/themes/OptionBase.css +1 -1
  107. package/dist/css/themes/Panel.css +1 -1
  108. package/dist/css/themes/Popover.css +1 -1
  109. package/dist/css/themes/PopupsCommon.css +1 -1
  110. package/dist/css/themes/ProgressIndicator.css +1 -1
  111. package/dist/css/themes/RadioButton.css +1 -1
  112. package/dist/css/themes/RangeSlider.css +1 -1
  113. package/dist/css/themes/RatingIndicator.css +1 -1
  114. package/dist/css/themes/ResponsivePopover.css +1 -1
  115. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  116. package/dist/css/themes/SegmentedButton.css +1 -1
  117. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  118. package/dist/css/themes/Select.css +1 -1
  119. package/dist/css/themes/SliderBase.css +1 -1
  120. package/dist/css/themes/SplitButton.css +1 -1
  121. package/dist/css/themes/StepInput.css +1 -1
  122. package/dist/css/themes/SuggestionItem.css +1 -1
  123. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  124. package/dist/css/themes/Switch.css +1 -1
  125. package/dist/css/themes/TabContainer.css +1 -1
  126. package/dist/css/themes/TabInOverflow.css +1 -1
  127. package/dist/css/themes/TabInStrip.css +1 -1
  128. package/dist/css/themes/TabSemanticIcon.css +1 -1
  129. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  130. package/dist/css/themes/TableCellBase.css +1 -1
  131. package/dist/css/themes/TableHeaderRow.css +1 -1
  132. package/dist/css/themes/TableRow.css +1 -1
  133. package/dist/css/themes/TableRowActionBase.css +1 -1
  134. package/dist/css/themes/TableRowBase.css +1 -1
  135. package/dist/css/themes/Tag.css +1 -1
  136. package/dist/css/themes/Text.css +1 -1
  137. package/dist/css/themes/TextArea.css +1 -1
  138. package/dist/css/themes/TimePicker.css +1 -1
  139. package/dist/css/themes/Toast.css +1 -1
  140. package/dist/css/themes/ToggleButton.css +1 -1
  141. package/dist/css/themes/Token.css +1 -1
  142. package/dist/css/themes/Tokenizer.css +1 -1
  143. package/dist/css/themes/TokenizerPopover.css +1 -1
  144. package/dist/css/themes/Toolbar.css +1 -1
  145. package/dist/css/themes/ToolbarButton.css +1 -1
  146. package/dist/css/themes/ToolbarPopover.css +1 -1
  147. package/dist/css/themes/ToolbarSeparator.css +1 -1
  148. package/dist/css/themes/TreeItem.css +1 -1
  149. package/dist/css/themes/ValueStateMessage.css +1 -1
  150. package/dist/css/themes/ValueStateVariables.css +1 -1
  151. package/dist/css/themes/YearPicker.css +1 -1
  152. package/dist/css/themes/YearRangePicker.css +1 -1
  153. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  157. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  161. package/dist/custom-elements-internal.json +132 -71
  162. package/dist/custom-elements.json +99 -42
  163. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  213. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  215. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  216. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  217. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  218. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  219. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  220. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  221. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  222. package/dist/generated/i18n/i18n-defaults.js +2 -1
  223. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  224. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  225. package/dist/generated/themes/Avatar.css.js +1 -1
  226. package/dist/generated/themes/Avatar.css.js.map +1 -1
  227. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  228. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  229. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  230. package/dist/generated/themes/Bar.css.d.ts +1 -1
  231. package/dist/generated/themes/Bar.css.js +1 -1
  232. package/dist/generated/themes/Bar.css.js.map +1 -1
  233. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  234. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  235. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  236. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  237. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  238. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  239. package/dist/generated/themes/Button.css.d.ts +1 -1
  240. package/dist/generated/themes/Button.css.js +1 -1
  241. package/dist/generated/themes/Button.css.js.map +1 -1
  242. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  243. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  244. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  245. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  246. package/dist/generated/themes/Calendar.css.js +1 -1
  247. package/dist/generated/themes/Calendar.css.js.map +1 -1
  248. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  249. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  250. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  251. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  252. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  253. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  254. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  255. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  256. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  257. package/dist/generated/themes/Card.css.d.ts +1 -1
  258. package/dist/generated/themes/Card.css.js +1 -1
  259. package/dist/generated/themes/Card.css.js.map +1 -1
  260. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  261. package/dist/generated/themes/CardHeader.css.js +1 -1
  262. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  263. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  264. package/dist/generated/themes/Carousel.css.js +1 -1
  265. package/dist/generated/themes/Carousel.css.js.map +1 -1
  266. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  267. package/dist/generated/themes/CheckBox.css.js +1 -1
  268. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  269. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  270. package/dist/generated/themes/ColorPalette.css.js +1 -1
  271. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  272. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  273. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  274. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  275. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  276. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  277. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  278. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  279. package/dist/generated/themes/ColorPicker.css.js +1 -1
  280. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  281. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  282. package/dist/generated/themes/ComboBox.css.js +1 -1
  283. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  284. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  285. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  286. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  287. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  288. package/dist/generated/themes/DatePicker.css.js +1 -1
  289. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  290. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  291. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  292. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  293. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  294. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  295. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  296. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  297. package/dist/generated/themes/DayPicker.css.js +1 -1
  298. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  299. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  300. package/dist/generated/themes/Dialog.css.js +1 -1
  301. package/dist/generated/themes/Dialog.css.js.map +1 -1
  302. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  303. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  304. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  305. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  306. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  307. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  308. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  309. package/dist/generated/themes/FileUploader.css.js +1 -1
  310. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  311. package/dist/generated/themes/Form.css.d.ts +1 -1
  312. package/dist/generated/themes/Form.css.js +1 -1
  313. package/dist/generated/themes/Form.css.js.map +1 -1
  314. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  315. package/dist/generated/themes/FormItem.css.js +1 -1
  316. package/dist/generated/themes/FormItem.css.js.map +1 -1
  317. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  318. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  319. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  320. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  321. package/dist/generated/themes/GrowingButton.css.js +1 -1
  322. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  323. package/dist/generated/themes/Icon.css.d.ts +1 -1
  324. package/dist/generated/themes/Icon.css.js +1 -1
  325. package/dist/generated/themes/Icon.css.js.map +1 -1
  326. package/dist/generated/themes/Input.css.d.ts +1 -1
  327. package/dist/generated/themes/Input.css.js +1 -1
  328. package/dist/generated/themes/Input.css.js.map +1 -1
  329. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  330. package/dist/generated/themes/InputIcon.css.js +1 -1
  331. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  332. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  333. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  334. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  335. package/dist/generated/themes/Link.css.d.ts +1 -1
  336. package/dist/generated/themes/Link.css.js +1 -1
  337. package/dist/generated/themes/Link.css.js.map +1 -1
  338. package/dist/generated/themes/List.css.d.ts +1 -1
  339. package/dist/generated/themes/List.css.js +1 -1
  340. package/dist/generated/themes/List.css.js.map +1 -1
  341. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  342. package/dist/generated/themes/ListItem.css.js +1 -1
  343. package/dist/generated/themes/ListItem.css.js.map +1 -1
  344. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  345. package/dist/generated/themes/ListItemBase.css.js +1 -1
  346. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  347. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  348. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  349. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  350. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  351. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  352. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  353. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  354. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  355. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  356. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  357. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  358. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  359. package/dist/generated/themes/Menu.css.d.ts +1 -1
  360. package/dist/generated/themes/Menu.css.js +1 -1
  361. package/dist/generated/themes/Menu.css.js.map +1 -1
  362. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  363. package/dist/generated/themes/MenuItem.css.js +1 -1
  364. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  365. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  366. package/dist/generated/themes/MessageStrip.css.js +1 -1
  367. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  368. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  369. package/dist/generated/themes/MonthPicker.css.js +1 -1
  370. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  371. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  372. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  373. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  374. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  375. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  376. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  377. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  378. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  379. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  380. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  381. package/dist/generated/themes/MultiInput.css.js +1 -1
  382. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  383. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  384. package/dist/generated/themes/OptionBase.css.js +1 -1
  385. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  386. package/dist/generated/themes/Panel.css.d.ts +1 -1
  387. package/dist/generated/themes/Panel.css.js +1 -1
  388. package/dist/generated/themes/Panel.css.js.map +1 -1
  389. package/dist/generated/themes/Popover.css.d.ts +1 -1
  390. package/dist/generated/themes/Popover.css.js +1 -1
  391. package/dist/generated/themes/Popover.css.js.map +1 -1
  392. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  393. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  394. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  395. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  396. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  397. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  398. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  399. package/dist/generated/themes/RadioButton.css.js +1 -1
  400. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  401. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  402. package/dist/generated/themes/RangeSlider.css.js +1 -1
  403. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  404. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  405. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  406. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  407. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  408. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  409. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  410. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  411. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  412. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  413. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  414. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  415. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  416. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  417. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  418. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  419. package/dist/generated/themes/Select.css.d.ts +1 -1
  420. package/dist/generated/themes/Select.css.js +1 -1
  421. package/dist/generated/themes/Select.css.js.map +1 -1
  422. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  423. package/dist/generated/themes/SliderBase.css.js +1 -1
  424. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  425. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  426. package/dist/generated/themes/SplitButton.css.js +1 -1
  427. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  428. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  429. package/dist/generated/themes/StepInput.css.js +1 -1
  430. package/dist/generated/themes/StepInput.css.js.map +1 -1
  431. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  432. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  433. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  434. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  435. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  436. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  437. package/dist/generated/themes/Switch.css.d.ts +1 -1
  438. package/dist/generated/themes/Switch.css.js +1 -1
  439. package/dist/generated/themes/Switch.css.js.map +1 -1
  440. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  441. package/dist/generated/themes/TabContainer.css.js +1 -1
  442. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  443. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  444. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  445. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  446. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  447. package/dist/generated/themes/TabInStrip.css.js +1 -1
  448. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  449. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  450. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  451. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  452. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  453. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  454. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  455. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  456. package/dist/generated/themes/TableCellBase.css.js +1 -1
  457. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  458. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  459. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  460. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  461. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  462. package/dist/generated/themes/TableRow.css.js +1 -1
  463. package/dist/generated/themes/TableRow.css.js.map +1 -1
  464. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  465. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  466. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  467. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  468. package/dist/generated/themes/TableRowBase.css.js +1 -1
  469. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  470. package/dist/generated/themes/Tag.css.d.ts +1 -1
  471. package/dist/generated/themes/Tag.css.js +1 -1
  472. package/dist/generated/themes/Tag.css.js.map +1 -1
  473. package/dist/generated/themes/Text.css.d.ts +1 -1
  474. package/dist/generated/themes/Text.css.js +1 -1
  475. package/dist/generated/themes/Text.css.js.map +1 -1
  476. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  477. package/dist/generated/themes/TextArea.css.js +1 -1
  478. package/dist/generated/themes/TextArea.css.js.map +1 -1
  479. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  480. package/dist/generated/themes/TimePicker.css.js +1 -1
  481. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  482. package/dist/generated/themes/Toast.css.d.ts +1 -1
  483. package/dist/generated/themes/Toast.css.js +1 -1
  484. package/dist/generated/themes/Toast.css.js.map +1 -1
  485. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  486. package/dist/generated/themes/ToggleButton.css.js +1 -1
  487. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  488. package/dist/generated/themes/Token.css.d.ts +1 -1
  489. package/dist/generated/themes/Token.css.js +1 -1
  490. package/dist/generated/themes/Token.css.js.map +1 -1
  491. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  492. package/dist/generated/themes/Tokenizer.css.js +1 -1
  493. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  494. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  495. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  496. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  497. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  498. package/dist/generated/themes/Toolbar.css.js +1 -1
  499. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  500. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  501. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  502. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  503. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  504. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  505. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  506. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  507. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  508. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  509. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  510. package/dist/generated/themes/TreeItem.css.js +1 -1
  511. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  512. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  513. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  514. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  515. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  516. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  517. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  518. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  519. package/dist/generated/themes/YearPicker.css.js +1 -1
  520. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  521. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  522. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  523. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  524. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  525. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  526. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  527. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  528. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  529. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  530. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  531. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  532. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  533. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  534. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  535. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  536. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  537. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  538. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  539. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  540. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  541. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  542. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  543. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  544. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  545. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  546. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  547. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  548. package/dist/types/FormAccessibleMode.d.ts +26 -0
  549. package/dist/types/FormAccessibleMode.js +28 -0
  550. package/dist/types/FormAccessibleMode.js.map +1 -0
  551. package/dist/types/FormItemSpacing.d.ts +1 -2
  552. package/dist/types/FormItemSpacing.js +1 -2
  553. package/dist/types/FormItemSpacing.js.map +1 -1
  554. package/dist/types/{SelectTwoColumnSeparator.d.ts → SelectTextSeparator.d.ts} +2 -2
  555. package/dist/types/{SelectTwoColumnSeparator.js → SelectTextSeparator.js} +8 -8
  556. package/dist/types/SelectTextSeparator.js.map +1 -0
  557. package/dist/vscode.html-custom-data.json +20 -5
  558. package/dist/web-types.json +44 -14
  559. package/package.json +9 -9
  560. package/src/CarouselTemplate.tsx +1 -1
  561. package/src/ColorPaletteItemTemplate.tsx +0 -3
  562. package/src/FormItemTemplate.tsx +32 -11
  563. package/src/FormTemplate.tsx +66 -50
  564. package/src/SegmentedButtonTemplate.tsx +2 -3
  565. package/src/i18n/messagebundle.properties +3 -0
  566. package/src/i18n/messagebundle_ar.properties +13 -2
  567. package/src/i18n/messagebundle_bg.properties +13 -2
  568. package/src/i18n/messagebundle_ca.properties +13 -2
  569. package/src/i18n/messagebundle_cnr.properties +13 -2
  570. package/src/i18n/messagebundle_cs.properties +13 -2
  571. package/src/i18n/messagebundle_cy.properties +13 -2
  572. package/src/i18n/messagebundle_da.properties +13 -2
  573. package/src/i18n/messagebundle_de.properties +13 -2
  574. package/src/i18n/messagebundle_el.properties +13 -2
  575. package/src/i18n/messagebundle_en.properties +0 -303
  576. package/src/i18n/messagebundle_en_GB.properties +13 -2
  577. package/src/i18n/messagebundle_en_US_sappsd.properties +42 -0
  578. package/src/i18n/messagebundle_en_US_saprigi.properties +42 -0
  579. package/src/i18n/messagebundle_en_US_saptrc.properties +42 -0
  580. package/src/i18n/messagebundle_es.properties +13 -2
  581. package/src/i18n/messagebundle_es_MX.properties +18 -7
  582. package/src/i18n/messagebundle_et.properties +13 -2
  583. package/src/i18n/messagebundle_fi.properties +13 -2
  584. package/src/i18n/messagebundle_fr.properties +15 -4
  585. package/src/i18n/messagebundle_fr_CA.properties +13 -2
  586. package/src/i18n/messagebundle_hi.properties +13 -2
  587. package/src/i18n/messagebundle_hr.properties +13 -2
  588. package/src/i18n/messagebundle_hu.properties +14 -3
  589. package/src/i18n/messagebundle_id.properties +13 -2
  590. package/src/i18n/messagebundle_it.properties +13 -2
  591. package/src/i18n/messagebundle_iw.properties +13 -2
  592. package/src/i18n/messagebundle_ja.properties +13 -2
  593. package/src/i18n/messagebundle_kk.properties +13 -2
  594. package/src/i18n/messagebundle_ko.properties +13 -2
  595. package/src/i18n/messagebundle_lt.properties +13 -2
  596. package/src/i18n/messagebundle_lv.properties +13 -2
  597. package/src/i18n/messagebundle_mk.properties +13 -2
  598. package/src/i18n/messagebundle_ms.properties +13 -2
  599. package/src/i18n/messagebundle_nl.properties +13 -2
  600. package/src/i18n/messagebundle_no.properties +13 -2
  601. package/src/i18n/messagebundle_pl.properties +13 -2
  602. package/src/i18n/messagebundle_pt.properties +13 -2
  603. package/src/i18n/messagebundle_pt_PT.properties +13 -2
  604. package/src/i18n/messagebundle_ro.properties +13 -2
  605. package/src/i18n/messagebundle_ru.properties +13 -2
  606. package/src/i18n/messagebundle_sh.properties +13 -2
  607. package/src/i18n/messagebundle_sk.properties +13 -2
  608. package/src/i18n/messagebundle_sl.properties +13 -2
  609. package/src/i18n/messagebundle_sr.properties +13 -2
  610. package/src/i18n/messagebundle_sv.properties +13 -2
  611. package/src/i18n/messagebundle_th.properties +13 -2
  612. package/src/i18n/messagebundle_tr.properties +13 -2
  613. package/src/i18n/messagebundle_uk.properties +13 -2
  614. package/src/i18n/messagebundle_vi.properties +13 -2
  615. package/src/i18n/messagebundle_zh_CN.properties +13 -2
  616. package/src/i18n/messagebundle_zh_TW.properties +13 -2
  617. package/src/themes/ColorPaletteItem.css +1 -0
  618. package/src/themes/Form.css +4 -0
  619. package/src/themes/FormItem.css +3 -0
  620. package/src/themes/SegmentedButton.css +1 -1
  621. package/src/themes/ToggleButton.css +27 -0
  622. package/src/themes/base/ColorPalette-parameters.css +1 -0
  623. package/src/themes/sap_horizon_hcb/PopupsCommon-parameters.css +0 -1
  624. package/src/themes/sap_horizon_hcw/PopupsCommon-parameters.css +0 -1
  625. package/dist/types/SegmentedButtonContentMode.d.ts +0 -17
  626. package/dist/types/SegmentedButtonContentMode.js +0 -19
  627. package/dist/types/SegmentedButtonContentMode.js.map +0 -1
  628. package/dist/types/SelectTwoColumnSeparator.js.map +0 -1
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\n\t\tthis.items.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_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"]}
package/dist/MenuItem.js CHANGED
@@ -218,7 +218,8 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
218
218
  /** Returns all menu items (including those in groups */
219
219
  get _allMenuItems() {
220
220
  const items = [];
221
- this.items.forEach(item => {
221
+ const slottedItems = this.getSlottedNodes("items");
222
+ slottedItems.forEach(item => {
222
223
  if (isInstanceOfMenuItemGroup(item)) {
223
224
  items.push(...item._menuItems);
224
225
  }
@@ -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 type PopoverPlacement from \"./types/PopoverPlacement.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 placement(): `${PopoverPlacement}` {\n\t\treturn this.isRtl ? \"Start\" : \"End\";\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\n\t\tthis.items.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 type PopoverPlacement from \"./types/PopoverPlacement.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 placement(): `${PopoverPlacement}` {\n\t\treturn this.isRtl ? \"Start\" : \"End\";\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"]}
@@ -5,7 +5,6 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import "./SegmentedButtonItem.js";
6
6
  import type SegmentedButtonItem from "./SegmentedButtonItem.js";
7
7
  import SegmentedButtonSelectionMode from "./types/SegmentedButtonSelectionMode.js";
8
- import SegmentedButtonContentMode from "./types/SegmentedButtonContentMode.js";
9
8
  /**
10
9
  * Interface for components that may be slotted inside `ui5-segmented-button` as items
11
10
  * @public
@@ -75,16 +74,16 @@ declare class SegmentedButton extends UI5Element {
75
74
  */
76
75
  selectionMode: `${SegmentedButtonSelectionMode}`;
77
76
  /**
78
- * Defines the content mode of the segmented button items.
77
+ * Determines whether the segmented button items should be sized to fit their content.
79
78
  *
80
- * - "EqualSized": All items are sized equally to fill the available space.
81
- * - "ContentFit": Each item is sized to fit its content, with any extra space placed after the last item.
79
+ * If set to `true`, each item will be sized to fit its content, with any extra space distributed after the last item.
80
+ * If set to `false` (the default), all items will be equally sized to fill the available space.
82
81
  *
83
- * @default "EqualSized"
82
+ * @default false
84
83
  * @public
85
84
  * @since 2.16.0
86
- */
87
- contentMode: `${SegmentedButtonContentMode}`;
85
+ */
86
+ itemsFitContent: boolean;
88
87
  /**
89
88
  * Defines the items of `ui5-segmented-button`.
90
89
  *
@@ -23,7 +23,6 @@ import SegmentedButtonSelectionMode from "./types/SegmentedButtonSelectionMode.j
23
23
  import SegmentedButtonTemplate from "./SegmentedButtonTemplate.js";
24
24
  // Styles
25
25
  import SegmentedButtonCss from "./generated/themes/SegmentedButton.css.js";
26
- import SegmentedButtonContentMode from "./types/SegmentedButtonContentMode.js";
27
26
  /**
28
27
  * @class
29
28
  *
@@ -53,16 +52,16 @@ let SegmentedButton = SegmentedButton_1 = class SegmentedButton extends UI5Eleme
53
52
  */
54
53
  this.selectionMode = "Single";
55
54
  /**
56
- * Defines the content mode of the segmented button items.
55
+ * Determines whether the segmented button items should be sized to fit their content.
57
56
  *
58
- * - "EqualSized": All items are sized equally to fill the available space.
59
- * - "ContentFit": Each item is sized to fit its content, with any extra space placed after the last item.
57
+ * If set to `true`, each item will be sized to fit its content, with any extra space distributed after the last item.
58
+ * If set to `false` (the default), all items will be equally sized to fill the available space.
60
59
  *
61
- * @default "EqualSized"
60
+ * @default false
62
61
  * @public
63
62
  * @since 2.16.0
64
- */
65
- this.contentMode = "EqualSized";
63
+ */
64
+ this.itemsFitContent = false;
66
65
  this._itemNavigation = new ItemNavigation(this, {
67
66
  getItemsCallback: () => this.navigatableItems,
68
67
  });
@@ -78,7 +77,7 @@ let SegmentedButton = SegmentedButton_1 = class SegmentedButton extends UI5Eleme
78
77
  item.sizeOfSet = item.hidden ? undefined : visibleItems.length;
79
78
  });
80
79
  this.normalizeSelection();
81
- if (this.contentMode === SegmentedButtonContentMode.EqualSized) {
80
+ if (!this.itemsFitContent) {
82
81
  this.style.setProperty(getScopedVarName("--_ui5_segmented_btn_items_count"), `${visibleItems.length}`);
83
82
  }
84
83
  }
@@ -218,8 +217,8 @@ __decorate([
218
217
  property()
219
218
  ], SegmentedButton.prototype, "selectionMode", void 0);
220
219
  __decorate([
221
- property()
222
- ], SegmentedButton.prototype, "contentMode", void 0);
220
+ property({ type: Boolean })
221
+ ], SegmentedButton.prototype, "itemsFitContent", void 0);
223
222
  __decorate([
224
223
  slot({ type: HTMLElement, invalidateOnChildChange: true, "default": true })
225
224
  ], SegmentedButton.prototype, "items", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButton.js","sourceRoot":"","sources":["../src/SegmentedButton.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetEffectiveAriaDescriptionText,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisShift,\n\tisEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { SEGMENTEDBUTTON_ARIA_DESCRIPTION, SEGMENTEDBUTTON_ARIA_DESCRIBEDBY } from \"./generated/i18n/i18n-defaults.js\";\nimport \"./SegmentedButtonItem.js\";\nimport type SegmentedButtonItem from \"./SegmentedButtonItem.js\";\nimport SegmentedButtonSelectionMode from \"./types/SegmentedButtonSelectionMode.js\";\n\n// Template\nimport SegmentedButtonTemplate from \"./SegmentedButtonTemplate.js\";\n\n// Styles\nimport SegmentedButtonCss from \"./generated/themes/SegmentedButton.css.js\";\nimport SegmentedButtonContentMode from \"./types/SegmentedButtonContentMode.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-segmented-button` as items\n * @public\n */\ninterface ISegmentedButtonItem extends UI5Element, ITabbable {\n\tdisabled: boolean,\n\tselected: boolean,\n}\n\ntype SegmentedButtonSelectionChangeEventDetail = {\n\tselectedItems: Array<ISegmentedButtonItem>,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-segmented-button` shows a group of items. When the user clicks or taps\n * one of the items, it stays in a pressed state. It automatically resizes the items\n * to fit proportionally within the component. When no width is set, the component uses the available width.\n *\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButton.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: SegmentedButtonTemplate,\n\tstyles: SegmentedButtonCss,\n})\n/**\n * Fired when the selected item changes.\n * @param {Array<ISegmentedButtonItem>} selectedItems an array of selected items. Since: 1.14.0\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\n\nclass SegmentedButton extends UI5Element {\n\teventDetails!: {\n\t\t\"selection-change\": SegmentedButtonSelectionChangeEventDetail,\n\t}\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.3\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines the component selection mode.\n\t * @default \"Single\"\n\t * @public\n\t * @since 1.14.0\n\t */\n\t@property()\n\tselectionMode: `${SegmentedButtonSelectionMode}` = \"Single\";\n\n\t/**\n * Defines the content mode of the segmented button items.\n *\n * - \"EqualSized\": All items are sized equally to fill the available space.\n * - \"ContentFit\": Each item is sized to fit its content, with any extra space placed after the last item.\n *\n * @default \"EqualSized\"\n * @public\n * @since 2.16.0\n */\n\t@property()\n\tcontentMode: `${SegmentedButtonContentMode}` = \"EqualSized\";\n\t/**\n\t * Defines the items of `ui5-segmented-button`.\n\t *\n\t * **Note:** Multiple items are allowed.\n\t *\n\t * **Note:** Use the `ui5-segmented-button-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<ISegmentedButtonItem>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\n\thasPreviouslyFocusedItem: boolean;\n\n\t_selectedItem?: ISegmentedButtonItem;\n\n\t_actionCanceled: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.navigatableItems,\n\t\t});\n\t\tthis.hasPreviouslyFocusedItem = false;\n\t\tthis._actionCanceled = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst items = this.getSlottedNodes<SegmentedButtonItem>(\"items\");\n\t\tconst visibleItems = items.filter(item => !item.hidden);\n\t\tlet index = 1;\n\n\t\titems.forEach(item => {\n\t\t\titem.posInSet = item.hidden ? undefined : index++;\n\t\t\titem.sizeOfSet = item.hidden ? undefined : visibleItems.length;\n\t\t});\n\n\t\tthis.normalizeSelection();\n\n\t\tif (this.contentMode === SegmentedButtonContentMode.EqualSized) {\n\t\t\tthis.style.setProperty(getScopedVarName(\"--_ui5_segmented_btn_items_count\"), `${visibleItems.length}`);\n\t\t}\n\t}\n\n\tnormalizeSelection() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.selectionMode) {\n\t\tcase SegmentedButtonSelectionMode.Single: {\n\t\t\tconst selectedItems = this.selectedItems;\n\t\t\tconst selectedItemIndex = this._selectedItem ? selectedItems.indexOf(this._selectedItem) : -1;\n\t\t\tif (this._selectedItem && selectedItems.length > 1) {\n\t\t\t\tselectedItems.splice(selectedItemIndex, 1);\n\t\t\t}\n\t\t\tconst selectedItem = selectedItems.pop() || this.items[0];\n\t\t\tthis._applySingleSelection(selectedItem);\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t}\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t_selectItem(e: MouseEvent | KeyboardEvent) {\n\t\tconst target = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = target.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (target.disabled || target === this.getDomRef() || !isTargetSegmentedButtonItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.selectionMode) {\n\t\tcase SegmentedButtonSelectionMode.Multiple:\n\t\t\tif (e instanceof KeyboardEvent) {\n\t\t\t\ttarget.selected = !target.selected;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthis._applySingleSelection(target);\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedItems: this.selectedItems,\n\t\t});\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\n\t\treturn this;\n\t}\n\n\t_applySingleSelection(item: ISegmentedButtonItem) {\n\t\tthis.items.forEach(currentItem => {\n\t\t\tcurrentItem.selected = false;\n\t\t});\n\t\titem.selected = true;\n\t\tthis._selectedItem = item;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectItem(e);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectItem(e); // Enter key behavior remains unaffected\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault(); // Prevent scrolling\n\t\t\tthis._actionCanceled = false; // Reset the action cancellation flag\n\t\t} else if (isShift(e) || isEscape(e)) {\n\t\t\tthis._actionCanceled = true; // Set the flag to cancel the action\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\t// Only select if the action was not canceled\n\t\t\tif (!this._actionCanceled) {\n\t\t\t\tthis._selectItem(e);\n\t\t\t}\n\t\t\tthis._actionCanceled = false; // Reset the flag after handling\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst eventTarget = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = eventTarget.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (isTargetSegmentedButtonItem) {\n\t\t\tthis._itemNavigation.setCurrentItem(eventTarget);\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\t// If the component was previously focused,\n\t\t// update the ItemNavigation to sync the button's tabindex values\n\t\tif (this.hasPreviouslyFocusedItem) {\n\t\t\tthis._itemNavigation.setCurrentItem(e.target as SegmentedButtonItem);\n\t\t\treturn;\n\t\t}\n\n\t\t// If the component is focused for the first time\n\t\t// focus the selected item if such is present\n\t\tif (this.selectedItems.length) {\n\t\t\tthis._itemNavigation.setCurrentItem(this.selectedItems[0]);\n\t\t\tthis.selectedItems[0].focus();\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t/**\n\t * Returns an array of the currently selected items.\n\t * @since 1.14.0\n\t * @public\n\t * @default []\n\t */\n\tget selectedItems(): Array<ISegmentedButtonItem> {\n\t\treturn this.items.filter(item => item.selected);\n\t}\n\n\tget navigatableItems() {\n\t\treturn this.getSlottedNodes<SegmentedButtonItem>(\"items\").filter(item => {\n\t\t\treturn !item.disabled;\n\t\t});\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || undefined;\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn `${(getEffectiveAriaDescriptionText(this) || \"\")} ${SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIBEDBY)}`.trim();\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIPTION);\n\t}\n}\n\nSegmentedButton.define();\n\nexport default SegmentedButton;\nexport type {\n\tSegmentedButtonSelectionChangeEventDetail,\n\tISegmentedButtonItem,\n};\n"]}
1
+ {"version":3,"file":"SegmentedButton.js","sourceRoot":"","sources":["../src/SegmentedButton.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetEffectiveAriaDescriptionText,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisShift,\n\tisEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { SEGMENTEDBUTTON_ARIA_DESCRIPTION, SEGMENTEDBUTTON_ARIA_DESCRIBEDBY } from \"./generated/i18n/i18n-defaults.js\";\nimport \"./SegmentedButtonItem.js\";\nimport type SegmentedButtonItem from \"./SegmentedButtonItem.js\";\nimport SegmentedButtonSelectionMode from \"./types/SegmentedButtonSelectionMode.js\";\n\n// Template\nimport SegmentedButtonTemplate from \"./SegmentedButtonTemplate.js\";\n\n// Styles\nimport SegmentedButtonCss from \"./generated/themes/SegmentedButton.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-segmented-button` as items\n * @public\n */\ninterface ISegmentedButtonItem extends UI5Element, ITabbable {\n\tdisabled: boolean,\n\tselected: boolean,\n}\n\ntype SegmentedButtonSelectionChangeEventDetail = {\n\tselectedItems: Array<ISegmentedButtonItem>,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-segmented-button` shows a group of items. When the user clicks or taps\n * one of the items, it stays in a pressed state. It automatically resizes the items\n * to fit proportionally within the component. When no width is set, the component uses the available width.\n *\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButton.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: SegmentedButtonTemplate,\n\tstyles: SegmentedButtonCss,\n})\n/**\n * Fired when the selected item changes.\n * @param {Array<ISegmentedButtonItem>} selectedItems an array of selected items. Since: 1.14.0\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\n\nclass SegmentedButton extends UI5Element {\n\teventDetails!: {\n\t\t\"selection-change\": SegmentedButtonSelectionChangeEventDetail,\n\t}\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.3\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines the component selection mode.\n\t * @default \"Single\"\n\t * @public\n\t * @since 1.14.0\n\t */\n\t@property()\n\tselectionMode: `${SegmentedButtonSelectionMode}` = \"Single\";\n\n\t/**\n\t * Determines whether the segmented button items should be sized to fit their content.\n\t *\n\t * If set to `true`, each item will be sized to fit its content, with any extra space distributed after the last item.\n\t * If set to `false` (the default), all items will be equally sized to fill the available space.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.16.0\n\t*/\n\t@property({ type: Boolean })\n\titemsFitContent: boolean = false;\n\t/**\n\t * Defines the items of `ui5-segmented-button`.\n\t *\n\t * **Note:** Multiple items are allowed.\n\t *\n\t * **Note:** Use the `ui5-segmented-button-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<ISegmentedButtonItem>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\n\thasPreviouslyFocusedItem: boolean;\n\n\t_selectedItem?: ISegmentedButtonItem;\n\n\t_actionCanceled: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.navigatableItems,\n\t\t});\n\t\tthis.hasPreviouslyFocusedItem = false;\n\t\tthis._actionCanceled = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst items = this.getSlottedNodes<SegmentedButtonItem>(\"items\");\n\t\tconst visibleItems = items.filter(item => !item.hidden);\n\t\tlet index = 1;\n\n\t\titems.forEach(item => {\n\t\t\titem.posInSet = item.hidden ? undefined : index++;\n\t\t\titem.sizeOfSet = item.hidden ? undefined : visibleItems.length;\n\t\t});\n\n\t\tthis.normalizeSelection();\n\n\t\tif (!this.itemsFitContent) {\n\t\t\tthis.style.setProperty(getScopedVarName(\"--_ui5_segmented_btn_items_count\"), `${visibleItems.length}`);\n\t\t}\n\t}\n\n\tnormalizeSelection() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.selectionMode) {\n\t\tcase SegmentedButtonSelectionMode.Single: {\n\t\t\tconst selectedItems = this.selectedItems;\n\t\t\tconst selectedItemIndex = this._selectedItem ? selectedItems.indexOf(this._selectedItem) : -1;\n\t\t\tif (this._selectedItem && selectedItems.length > 1) {\n\t\t\t\tselectedItems.splice(selectedItemIndex, 1);\n\t\t\t}\n\t\t\tconst selectedItem = selectedItems.pop() || this.items[0];\n\t\t\tthis._applySingleSelection(selectedItem);\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t}\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t_selectItem(e: MouseEvent | KeyboardEvent) {\n\t\tconst target = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = target.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (target.disabled || target === this.getDomRef() || !isTargetSegmentedButtonItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.selectionMode) {\n\t\tcase SegmentedButtonSelectionMode.Multiple:\n\t\t\tif (e instanceof KeyboardEvent) {\n\t\t\t\ttarget.selected = !target.selected;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthis._applySingleSelection(target);\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedItems: this.selectedItems,\n\t\t});\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\n\t\treturn this;\n\t}\n\n\t_applySingleSelection(item: ISegmentedButtonItem) {\n\t\tthis.items.forEach(currentItem => {\n\t\t\tcurrentItem.selected = false;\n\t\t});\n\t\titem.selected = true;\n\t\tthis._selectedItem = item;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectItem(e);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectItem(e); // Enter key behavior remains unaffected\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault(); // Prevent scrolling\n\t\t\tthis._actionCanceled = false; // Reset the action cancellation flag\n\t\t} else if (isShift(e) || isEscape(e)) {\n\t\t\tthis._actionCanceled = true; // Set the flag to cancel the action\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\t// Only select if the action was not canceled\n\t\t\tif (!this._actionCanceled) {\n\t\t\t\tthis._selectItem(e);\n\t\t\t}\n\t\t\tthis._actionCanceled = false; // Reset the flag after handling\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst eventTarget = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = eventTarget.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (isTargetSegmentedButtonItem) {\n\t\t\tthis._itemNavigation.setCurrentItem(eventTarget);\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\t// If the component was previously focused,\n\t\t// update the ItemNavigation to sync the button's tabindex values\n\t\tif (this.hasPreviouslyFocusedItem) {\n\t\t\tthis._itemNavigation.setCurrentItem(e.target as SegmentedButtonItem);\n\t\t\treturn;\n\t\t}\n\n\t\t// If the component is focused for the first time\n\t\t// focus the selected item if such is present\n\t\tif (this.selectedItems.length) {\n\t\t\tthis._itemNavigation.setCurrentItem(this.selectedItems[0]);\n\t\t\tthis.selectedItems[0].focus();\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t/**\n\t * Returns an array of the currently selected items.\n\t * @since 1.14.0\n\t * @public\n\t * @default []\n\t */\n\tget selectedItems(): Array<ISegmentedButtonItem> {\n\t\treturn this.items.filter(item => item.selected);\n\t}\n\n\tget navigatableItems() {\n\t\treturn this.getSlottedNodes<SegmentedButtonItem>(\"items\").filter(item => {\n\t\t\treturn !item.disabled;\n\t\t});\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || undefined;\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn `${(getEffectiveAriaDescriptionText(this) || \"\")} ${SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIBEDBY)}`.trim();\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIPTION);\n\t}\n}\n\nSegmentedButton.define();\n\nexport default SegmentedButton;\nexport type {\n\tSegmentedButtonSelectionChangeEventDetail,\n\tISegmentedButtonItem,\n};\n"]}
@@ -1,10 +1,9 @@
1
1
  import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
- import SegmentedButtonContentMode from "./types/SegmentedButtonContentMode.js";
3
2
  export default function SegmentedButtonTemplate() {
4
3
  return (_jsx("ul", { role: "listbox", class: {
5
4
  "ui5-segmented-button-root": true,
6
- "ui5-segmented-button-root-equal-sized-items": this.contentMode === SegmentedButtonContentMode.EqualSized,
7
- "ui5-segmented-button-root-content-fit-items": this.contentMode === SegmentedButtonContentMode.ContentFit,
5
+ "ui5-segmented-button-root-equal-sized-items": !this.itemsFitContent,
6
+ "ui5-segmented-button-root-content-fit-items": this.itemsFitContent,
8
7
  }, onClick: this._onclick, onMouseDown: this._onmousedown, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onFocusIn: this._onfocusin, "aria-multiselectable": this.selectionMode === "Multiple" ? "true" : "false", "aria-orientation": "horizontal", "aria-description": this.ariaDescriptionText, "aria-label": this.ariaLabelText, "aria-roledescription": this.ariaRoleDescription, children: _jsx("slot", {}) }));
9
8
  }
10
9
  //# sourceMappingURL=SegmentedButtonTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButtonTemplate.js","sourceRoot":"","sources":["../src/SegmentedButtonTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC9C,OAAO,CACN,aACC,IAAI,EAAC,SAAS,EACd,KAAK,EAAE;YACN,2BAA2B,EAAE,IAAI;YACjC,6CAA6C,EAAE,IAAI,CAAC,WAAW,KAAK,0BAA0B,CAAC,UAAU;YACzG,6CAA6C,EAAE,IAAI,CAAC,WAAW,KAAK,0BAA0B,CAAC,UAAU;SACzG,EACD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,0BACJ,IAAI,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBACzD,YAAY,sBACX,IAAI,CAAC,mBAAmB,gBAC9B,IAAI,CAAC,aAAa,0BACR,IAAI,CAAC,mBAAmB,YAE9C,gBAAa,GACT,CACL,CAAC;AACH,CAAC","sourcesContent":["import type SegmentedButton from \"./SegmentedButton.js\";\nimport SegmentedButtonContentMode from \"./types/SegmentedButtonContentMode.js\";\n\nexport default function SegmentedButtonTemplate(this: SegmentedButton) {\n\treturn (\n\t\t<ul\n\t\t\trole=\"listbox\"\n\t\t\tclass={{\n\t\t\t\t\"ui5-segmented-button-root\": true,\n\t\t\t\t\"ui5-segmented-button-root-equal-sized-items\": this.contentMode === SegmentedButtonContentMode.EqualSized,\n\t\t\t\t\"ui5-segmented-button-root-content-fit-items\": this.contentMode === SegmentedButtonContentMode.ContentFit,\n\t\t\t}}\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\taria-multiselectable={this.selectionMode === \"Multiple\" ? \"true\" : \"false\"}\n\t\t\taria-orientation=\"horizontal\"\n\t\t\taria-description={this.ariaDescriptionText}\n\t\t\taria-label={this.ariaLabelText}\n\t\t\taria-roledescription={this.ariaRoleDescription}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</ul>\n\t);\n}\n"]}
1
+ {"version":3,"file":"SegmentedButtonTemplate.js","sourceRoot":"","sources":["../src/SegmentedButtonTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC9C,OAAO,CACN,aACC,IAAI,EAAC,SAAS,EACd,KAAK,EAAE;YACN,2BAA2B,EAAE,IAAI;YACjC,6CAA6C,EAAE,CAAC,IAAI,CAAC,eAAe;YACpE,6CAA6C,EAAE,IAAI,CAAC,eAAe;SACnE,EACD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,0BACJ,IAAI,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBACzD,YAAY,sBACX,IAAI,CAAC,mBAAmB,gBAC9B,IAAI,CAAC,aAAa,0BACR,IAAI,CAAC,mBAAmB,YAE9C,gBAAa,GACT,CACL,CAAC;AACH,CAAC","sourcesContent":["import type SegmentedButton from \"./SegmentedButton.js\";\n\nexport default function SegmentedButtonTemplate(this: SegmentedButton) {\n\treturn (\n\t\t<ul\n\t\t\trole=\"listbox\"\n\t\t\tclass={{\n\t\t\t\t\"ui5-segmented-button-root\": true,\n\t\t\t\t\"ui5-segmented-button-root-equal-sized-items\": !this.itemsFitContent,\n\t\t\t\t\"ui5-segmented-button-root-content-fit-items\": this.itemsFitContent,\n\t\t\t}}\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\taria-multiselectable={this.selectionMode === \"Multiple\" ? \"true\" : \"false\"}\n\t\t\taria-orientation=\"horizontal\"\n\t\t\taria-description={this.ariaDescriptionText}\n\t\t\taria-label={this.ariaLabelText}\n\t\t\taria-roledescription={this.ariaRoleDescription}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</ul>\n\t);\n}\n"]}
package/dist/Select.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
3
- import SelectTwoColumnSeparator from "./types/SelectTwoColumnSeparator.js";
3
+ import SelectTextSeparator from "./types/SelectTextSeparator.js";
4
4
  import "@ui5/webcomponents-icons/dist/error.js";
5
5
  import "@ui5/webcomponents-icons/dist/alert.js";
6
6
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
@@ -193,7 +193,7 @@ declare class Select extends UI5Element implements IFormInputElement {
193
193
  * @public
194
194
  * @since 2.16.0
195
195
  */
196
- twoColumnSeparator: `${SelectTwoColumnSeparator}`;
196
+ textSeparator: `${SelectTextSeparator}`;
197
197
  /**
198
198
  * Constantly updated value of texts collected from the associated description texts
199
199
  * @private
package/dist/Select.js CHANGED
@@ -15,7 +15,7 @@ import { isSpace, isUp, isDown, isEnter, isEscape, isHome, isEnd, isShow, isTabN
15
15
  import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
16
16
  import { getEffectiveAriaLabelText, getAssociatedLabelForTexts, registerUI5Element, deregisterUI5Element, getAllAccessibleDescriptionRefTexts, getEffectiveAriaDescriptionText, } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
17
17
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
18
- import SelectTwoColumnSeparator from "./types/SelectTwoColumnSeparator.js";
18
+ import SelectTextSeparator from "./types/SelectTextSeparator.js";
19
19
  import "@ui5/webcomponents-icons/dist/error.js";
20
20
  import "@ui5/webcomponents-icons/dist/alert.js";
21
21
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
@@ -136,7 +136,7 @@ let Select = Select_1 = class Select extends UI5Element {
136
136
  * @public
137
137
  * @since 2.16.0
138
138
  */
139
- this.twoColumnSeparator = "Dash";
139
+ this.textSeparator = "Dash";
140
140
  /**
141
141
  * @private
142
142
  */
@@ -337,12 +337,12 @@ let Select = Select_1 = class Select extends UI5Element {
337
337
  return undefined;
338
338
  }
339
339
  get _separatorSymbol() {
340
- switch (this.twoColumnSeparator) {
341
- case SelectTwoColumnSeparator.Bullet:
340
+ switch (this.textSeparator) {
341
+ case SelectTextSeparator.Bullet:
342
342
  return "·"; // Middle dot (U+00B7)
343
- case SelectTwoColumnSeparator.VerticalLine:
343
+ case SelectTextSeparator.VerticalLine:
344
344
  return "|"; // Vertical line (U+007C)
345
- case SelectTwoColumnSeparator.Dash:
345
+ case SelectTextSeparator.Dash:
346
346
  default:
347
347
  return "–"; // En dash (U+2013)
348
348
  }
@@ -816,7 +816,7 @@ __decorate([
816
816
  ], Select.prototype, "tooltip", void 0);
817
817
  __decorate([
818
818
  property()
819
- ], Select.prototype, "twoColumnSeparator", void 0);
819
+ ], Select.prototype, "textSeparator", void 0);
820
820
  __decorate([
821
821
  property({ type: String, noAttribute: true })
822
822
  ], Select.prototype, "_associatedDescriptionRefTexts", void 0);