@ui5/webcomponents 2.8.1-rc.0 → 2.9.0-rc.1

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 (714) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/cypress/specs/AvatarGroup.cy.tsx +15 -0
  3. package/cypress/specs/Carousel.cy.tsx +27 -0
  4. package/cypress/specs/ComboBox.cy.tsx +150 -0
  5. package/cypress/specs/DateControlsWithTimezone.cy.tsx +75 -0
  6. package/cypress/specs/DatePicker.cy.tsx +1693 -0
  7. package/cypress/specs/DateRangePicker.cy.tsx +588 -0
  8. package/cypress/specs/Input.cy.tsx +99 -1
  9. package/cypress/specs/List.cy.tsx +26 -0
  10. package/cypress/specs/Menu.cy.tsx +3 -1
  11. package/cypress/specs/MultiComboBox.cy.tsx +104 -0
  12. package/cypress/specs/MultiInput.cy.tsx +4 -1
  13. package/cypress/specs/RatingIndicator.cy.tsx +176 -0
  14. package/cypress/specs/SegmentedButton.cy.tsx +215 -0
  15. package/cypress/specs/Select.cy.tsx +18 -0
  16. package/cypress/specs/Slider.cy.tsx +26 -0
  17. package/cypress/specs/TabContainer.cy.tsx +49 -0
  18. package/cypress/specs/Table.cy.tsx +2 -0
  19. package/cypress/specs/Tag.cy.tsx +22 -0
  20. package/cypress/specs/base/AccessibilityTextsHelper.cy.tsx +141 -0
  21. package/cypress/specs/base/Events.cy.tsx +10 -1
  22. package/cypress/specs/base/Tooltips.cy.tsx +5 -3
  23. package/cypress/support/commands/DatePicker.commands.ts +218 -0
  24. package/cypress/support/commands/SegmentedButton.commands.ts +32 -0
  25. package/cypress/support/commands.ts +17 -0
  26. package/cypress/support/component-index.html +12 -0
  27. package/cypress/support/component.ts +35 -2
  28. package/cypress/tsconfig.json +0 -1
  29. package/cypress.config.js +11 -6
  30. package/dist/.tsbuildinfo +1 -1
  31. package/dist/AvatarGroup.js +3 -0
  32. package/dist/AvatarGroup.js.map +1 -1
  33. package/dist/Carousel.d.ts +1 -0
  34. package/dist/Carousel.js +4 -1
  35. package/dist/Carousel.js.map +1 -1
  36. package/dist/CarouselTemplate.js +2 -2
  37. package/dist/CarouselTemplate.js.map +1 -1
  38. package/dist/ComboBox.d.ts +4 -2
  39. package/dist/ComboBox.js +26 -4
  40. package/dist/ComboBox.js.map +1 -1
  41. package/dist/DayPicker.js +3 -3
  42. package/dist/DayPicker.js.map +1 -1
  43. package/dist/Icon.d.ts +1 -1
  44. package/dist/Icon.js +3 -4
  45. package/dist/Icon.js.map +1 -1
  46. package/dist/Input.d.ts +26 -1
  47. package/dist/Input.js +41 -4
  48. package/dist/Input.js.map +1 -1
  49. package/dist/InputTemplate.js +3 -2
  50. package/dist/InputTemplate.js.map +1 -1
  51. package/dist/List.d.ts +2 -0
  52. package/dist/List.js +10 -2
  53. package/dist/List.js.map +1 -1
  54. package/dist/ListItem.d.ts +1 -0
  55. package/dist/ListItem.js +9 -1
  56. package/dist/ListItem.js.map +1 -1
  57. package/dist/ListItemGroupHeader.js +1 -1
  58. package/dist/ListItemGroupHeader.js.map +1 -1
  59. package/dist/ListItemTemplate.js +1 -1
  60. package/dist/ListItemTemplate.js.map +1 -1
  61. package/dist/Menu.d.ts +1 -0
  62. package/dist/Menu.js +6 -3
  63. package/dist/Menu.js.map +1 -1
  64. package/dist/MenuItem.d.ts +1 -0
  65. package/dist/MenuItem.js +3 -13
  66. package/dist/MenuItem.js.map +1 -1
  67. package/dist/MenuItemTemplate.d.ts +1 -5
  68. package/dist/MenuItemTemplate.js +1 -1
  69. package/dist/MenuItemTemplate.js.map +1 -1
  70. package/dist/MultiComboBox.d.ts +4 -3
  71. package/dist/MultiComboBox.js +26 -25
  72. package/dist/MultiComboBox.js.map +1 -1
  73. package/dist/MultiComboBoxPopoverTemplate.js +1 -1
  74. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
  75. package/dist/MultiInput.d.ts +2 -1
  76. package/dist/OptionCustom.d.ts +1 -3
  77. package/dist/OptionCustom.js.map +1 -1
  78. package/dist/Popup.js +1 -4
  79. package/dist/Popup.js.map +1 -1
  80. package/dist/Select.d.ts +12 -0
  81. package/dist/Select.js +3 -0
  82. package/dist/Select.js.map +1 -1
  83. package/dist/SelectTemplate.js +6 -2
  84. package/dist/SelectTemplate.js.map +1 -1
  85. package/dist/Slider.d.ts +1 -0
  86. package/dist/Slider.js +8 -0
  87. package/dist/Slider.js.map +1 -1
  88. package/dist/SliderTemplate.js +1 -1
  89. package/dist/SliderTemplate.js.map +1 -1
  90. package/dist/Switch.js +0 -1
  91. package/dist/Switch.js.map +1 -1
  92. package/dist/TabContainer.js +2 -2
  93. package/dist/TabContainer.js.map +1 -1
  94. package/dist/Table.d.ts +14 -16
  95. package/dist/Table.js +37 -45
  96. package/dist/Table.js.map +1 -1
  97. package/dist/TableCell.js +0 -2
  98. package/dist/TableCell.js.map +1 -1
  99. package/dist/TableCellBase.d.ts +1 -0
  100. package/dist/TableCellBase.js +3 -10
  101. package/dist/TableCellBase.js.map +1 -1
  102. package/dist/TableDragAndDrop.d.ts +1 -1
  103. package/dist/TableDragAndDrop.js.map +1 -1
  104. package/dist/TableGrowing.d.ts +2 -2
  105. package/dist/TableGrowing.js +5 -11
  106. package/dist/TableGrowing.js.map +1 -1
  107. package/dist/TableHeaderCell.js +2 -6
  108. package/dist/TableHeaderCell.js.map +1 -1
  109. package/dist/TableHeaderCellActionAI.d.ts +1 -0
  110. package/dist/TableHeaderCellActionAI.js +4 -0
  111. package/dist/TableHeaderCellActionAI.js.map +1 -1
  112. package/dist/TableHeaderCellActionBaseTemplate.js +2 -1
  113. package/dist/TableHeaderCellActionBaseTemplate.js.map +1 -1
  114. package/dist/TableHeaderCellTemplate.js.map +1 -1
  115. package/dist/TableHeaderRow.d.ts +0 -1
  116. package/dist/TableHeaderRow.js +0 -3
  117. package/dist/TableHeaderRow.js.map +1 -1
  118. package/dist/TableHeaderRowTemplate.js +1 -1
  119. package/dist/TableHeaderRowTemplate.js.map +1 -1
  120. package/dist/TableNavigation.d.ts +2 -2
  121. package/dist/TableNavigation.js +1 -1
  122. package/dist/TableNavigation.js.map +1 -1
  123. package/dist/TableRow.d.ts +2 -4
  124. package/dist/TableRow.js +6 -35
  125. package/dist/TableRow.js.map +1 -1
  126. package/dist/TableRowActionBaseTemplate.js +4 -2
  127. package/dist/TableRowActionBaseTemplate.js.map +1 -1
  128. package/dist/TableRowActionNavigation.d.ts +1 -1
  129. package/dist/TableRowActionNavigation.js +4 -4
  130. package/dist/TableRowActionNavigation.js.map +1 -1
  131. package/dist/TableRowBase.d.ts +4 -2
  132. package/dist/TableRowBase.js +15 -16
  133. package/dist/TableRowBase.js.map +1 -1
  134. package/dist/TableRowTemplate.js +3 -2
  135. package/dist/TableRowTemplate.js.map +1 -1
  136. package/dist/TableUtils.d.ts +2 -1
  137. package/dist/TableUtils.js +14 -1
  138. package/dist/TableUtils.js.map +1 -1
  139. package/dist/TableVirtualizer.js +1 -1
  140. package/dist/TableVirtualizer.js.map +1 -1
  141. package/dist/Tag.d.ts +1 -1
  142. package/dist/Tag.js +2 -1
  143. package/dist/Tag.js.map +1 -1
  144. package/dist/Token.d.ts +1 -0
  145. package/dist/Token.js +6 -0
  146. package/dist/Token.js.map +1 -1
  147. package/dist/TokenTemplate.js +1 -1
  148. package/dist/TokenTemplate.js.map +1 -1
  149. package/dist/Toolbar.d.ts +2 -2
  150. package/dist/Toolbar.js +5 -8
  151. package/dist/Toolbar.js.map +1 -1
  152. package/dist/ToolbarButton.d.ts +6 -0
  153. package/dist/ToolbarButton.js +9 -0
  154. package/dist/ToolbarButton.js.map +1 -1
  155. package/dist/css/themes/Avatar.css +1 -1
  156. package/dist/css/themes/AvatarGroup.css +1 -1
  157. package/dist/css/themes/Bar.css +1 -1
  158. package/dist/css/themes/Breadcrumbs.css +1 -1
  159. package/dist/css/themes/BusyIndicator.css +1 -1
  160. package/dist/css/themes/Button.css +1 -1
  161. package/dist/css/themes/ButtonBadge.css +1 -1
  162. package/dist/css/themes/Calendar.css +1 -1
  163. package/dist/css/themes/CalendarHeader.css +1 -1
  164. package/dist/css/themes/CalendarLegend.css +1 -1
  165. package/dist/css/themes/CalendarLegendItem.css +1 -1
  166. package/dist/css/themes/Card.css +1 -1
  167. package/dist/css/themes/CardHeader.css +1 -1
  168. package/dist/css/themes/Carousel.css +1 -1
  169. package/dist/css/themes/CheckBox.css +1 -1
  170. package/dist/css/themes/ColorPalette.css +1 -1
  171. package/dist/css/themes/ColorPaletteItem.css +1 -1
  172. package/dist/css/themes/ColorPalettePopover.css +1 -1
  173. package/dist/css/themes/ColorPicker.css +1 -1
  174. package/dist/css/themes/ComboBox.css +1 -1
  175. package/dist/css/themes/ComboBoxItem.css +1 -1
  176. package/dist/css/themes/DatePicker.css +1 -1
  177. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  178. package/dist/css/themes/DayPicker.css +1 -1
  179. package/dist/css/themes/Dialog.css +1 -1
  180. package/dist/css/themes/FileUploader.css +1 -1
  181. package/dist/css/themes/Form.css +1 -1
  182. package/dist/css/themes/FormItem.css +1 -1
  183. package/dist/css/themes/FormItemSpan.css +1 -1
  184. package/dist/css/themes/GrowingButton.css +1 -1
  185. package/dist/css/themes/Icon.css +1 -1
  186. package/dist/css/themes/Input.css +1 -1
  187. package/dist/css/themes/InputIcon.css +1 -1
  188. package/dist/css/themes/InputSharedStyles.css +1 -1
  189. package/dist/css/themes/Link.css +1 -1
  190. package/dist/css/themes/List.css +1 -1
  191. package/dist/css/themes/ListItem.css +1 -1
  192. package/dist/css/themes/ListItemBase.css +1 -1
  193. package/dist/css/themes/ListItemCustom.css +1 -1
  194. package/dist/css/themes/ListItemGroup.css +1 -1
  195. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  196. package/dist/css/themes/ListItemIcon.css +1 -1
  197. package/dist/css/themes/Menu.css +1 -1
  198. package/dist/css/themes/MenuItem.css +1 -1
  199. package/dist/css/themes/MessageStrip.css +1 -1
  200. package/dist/css/themes/MonthPicker.css +1 -1
  201. package/dist/css/themes/MultiComboBox.css +1 -1
  202. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  203. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  204. package/dist/css/themes/MultiInput.css +1 -1
  205. package/dist/css/themes/OptionBase.css +1 -1
  206. package/dist/css/themes/Panel.css +1 -1
  207. package/dist/css/themes/Popover.css +1 -1
  208. package/dist/css/themes/PopupsCommon.css +1 -1
  209. package/dist/css/themes/ProgressIndicator.css +1 -1
  210. package/dist/css/themes/RadioButton.css +1 -1
  211. package/dist/css/themes/RangeSlider.css +1 -1
  212. package/dist/css/themes/RatingIndicator.css +1 -1
  213. package/dist/css/themes/ResponsivePopover.css +1 -1
  214. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  215. package/dist/css/themes/SegmentedButton.css +1 -1
  216. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  217. package/dist/css/themes/Select.css +1 -1
  218. package/dist/css/themes/SliderBase.css +1 -1
  219. package/dist/css/themes/SplitButton.css +1 -1
  220. package/dist/css/themes/StepInput.css +1 -1
  221. package/dist/css/themes/SuggestionItem.css +1 -1
  222. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  223. package/dist/css/themes/Switch.css +1 -1
  224. package/dist/css/themes/TabContainer.css +1 -1
  225. package/dist/css/themes/TabInOverflow.css +1 -1
  226. package/dist/css/themes/TabInStrip.css +1 -1
  227. package/dist/css/themes/TabSemanticIcon.css +1 -1
  228. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  229. package/dist/css/themes/Table.css +1 -1
  230. package/dist/css/themes/TableCellBase.css +1 -1
  231. package/dist/css/themes/TableHeaderRow.css +1 -1
  232. package/dist/css/themes/TableRow.css +1 -1
  233. package/dist/css/themes/TableRowActionBase.css +1 -1
  234. package/dist/css/themes/TableRowBase.css +1 -1
  235. package/dist/css/themes/Tag.css +1 -1
  236. package/dist/css/themes/Text.css +1 -1
  237. package/dist/css/themes/TextArea.css +1 -1
  238. package/dist/css/themes/TimePicker.css +1 -1
  239. package/dist/css/themes/Toast.css +1 -1
  240. package/dist/css/themes/ToggleButton.css +1 -1
  241. package/dist/css/themes/Token.css +1 -1
  242. package/dist/css/themes/Tokenizer.css +1 -1
  243. package/dist/css/themes/TokenizerPopover.css +1 -1
  244. package/dist/css/themes/Toolbar.css +1 -1
  245. package/dist/css/themes/ToolbarPopover.css +1 -1
  246. package/dist/css/themes/TreeItem.css +1 -1
  247. package/dist/css/themes/ValueStateMessage.css +1 -1
  248. package/dist/css/themes/YearPicker.css +1 -1
  249. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  250. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  251. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  252. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  253. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  254. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  255. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  256. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  257. package/dist/custom-elements-internal.json +241 -11
  258. package/dist/custom-elements.json +188 -10
  259. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  268. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  269. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  309. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  310. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  311. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  312. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  313. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  314. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  315. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  316. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  317. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  318. package/dist/generated/i18n/i18n-defaults.js +3 -1
  319. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  320. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  321. package/dist/generated/themes/Avatar.css.js +1 -1
  322. package/dist/generated/themes/Avatar.css.js.map +1 -1
  323. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  324. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  325. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  326. package/dist/generated/themes/Bar.css.d.ts +1 -1
  327. package/dist/generated/themes/Bar.css.js +1 -1
  328. package/dist/generated/themes/Bar.css.js.map +1 -1
  329. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  330. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  331. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  332. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  333. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  334. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  335. package/dist/generated/themes/Button.css.d.ts +1 -1
  336. package/dist/generated/themes/Button.css.js +1 -1
  337. package/dist/generated/themes/Button.css.js.map +1 -1
  338. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  339. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  340. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  341. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  342. package/dist/generated/themes/Calendar.css.js +1 -1
  343. package/dist/generated/themes/Calendar.css.js.map +1 -1
  344. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  345. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  346. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  347. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  348. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  349. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  350. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  351. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  352. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  353. package/dist/generated/themes/Card.css.d.ts +1 -1
  354. package/dist/generated/themes/Card.css.js +1 -1
  355. package/dist/generated/themes/Card.css.js.map +1 -1
  356. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  357. package/dist/generated/themes/CardHeader.css.js +1 -1
  358. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  359. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  360. package/dist/generated/themes/Carousel.css.js +1 -1
  361. package/dist/generated/themes/Carousel.css.js.map +1 -1
  362. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  363. package/dist/generated/themes/CheckBox.css.js +1 -1
  364. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  365. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  366. package/dist/generated/themes/ColorPalette.css.js +1 -1
  367. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  368. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  369. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  370. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  371. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  372. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  373. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  374. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  375. package/dist/generated/themes/ColorPicker.css.js +1 -1
  376. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  377. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  378. package/dist/generated/themes/ComboBox.css.js +1 -1
  379. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  380. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  381. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  382. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  383. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  384. package/dist/generated/themes/DatePicker.css.js +1 -1
  385. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  386. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  387. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  388. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  389. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  390. package/dist/generated/themes/DayPicker.css.js +1 -1
  391. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  392. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  393. package/dist/generated/themes/Dialog.css.js +1 -1
  394. package/dist/generated/themes/Dialog.css.js.map +1 -1
  395. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  396. package/dist/generated/themes/FileUploader.css.js +1 -1
  397. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  398. package/dist/generated/themes/Form.css.d.ts +1 -1
  399. package/dist/generated/themes/Form.css.js +1 -1
  400. package/dist/generated/themes/Form.css.js.map +1 -1
  401. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  402. package/dist/generated/themes/FormItem.css.js +1 -1
  403. package/dist/generated/themes/FormItem.css.js.map +1 -1
  404. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  405. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  406. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  407. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  408. package/dist/generated/themes/GrowingButton.css.js +1 -1
  409. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  410. package/dist/generated/themes/Icon.css.d.ts +1 -1
  411. package/dist/generated/themes/Icon.css.js +1 -1
  412. package/dist/generated/themes/Icon.css.js.map +1 -1
  413. package/dist/generated/themes/Input.css.d.ts +1 -1
  414. package/dist/generated/themes/Input.css.js +1 -1
  415. package/dist/generated/themes/Input.css.js.map +1 -1
  416. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  417. package/dist/generated/themes/InputIcon.css.js +1 -1
  418. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  419. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  420. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  421. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  422. package/dist/generated/themes/Link.css.d.ts +1 -1
  423. package/dist/generated/themes/Link.css.js +1 -1
  424. package/dist/generated/themes/Link.css.js.map +1 -1
  425. package/dist/generated/themes/List.css.d.ts +1 -1
  426. package/dist/generated/themes/List.css.js +1 -1
  427. package/dist/generated/themes/List.css.js.map +1 -1
  428. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  429. package/dist/generated/themes/ListItem.css.js +1 -1
  430. package/dist/generated/themes/ListItem.css.js.map +1 -1
  431. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  432. package/dist/generated/themes/ListItemBase.css.js +1 -1
  433. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  434. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  435. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  436. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  437. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  438. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  439. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  440. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  441. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  442. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  443. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  444. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  445. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  446. package/dist/generated/themes/Menu.css.d.ts +1 -1
  447. package/dist/generated/themes/Menu.css.js +1 -1
  448. package/dist/generated/themes/Menu.css.js.map +1 -1
  449. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  450. package/dist/generated/themes/MenuItem.css.js +1 -1
  451. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  452. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  453. package/dist/generated/themes/MessageStrip.css.js +1 -1
  454. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  455. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  456. package/dist/generated/themes/MonthPicker.css.js +1 -1
  457. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  458. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  459. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  460. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  461. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  462. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  463. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  464. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  465. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  466. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  467. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  468. package/dist/generated/themes/MultiInput.css.js +1 -1
  469. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  470. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  471. package/dist/generated/themes/OptionBase.css.js +1 -1
  472. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  473. package/dist/generated/themes/Panel.css.d.ts +1 -1
  474. package/dist/generated/themes/Panel.css.js +1 -1
  475. package/dist/generated/themes/Panel.css.js.map +1 -1
  476. package/dist/generated/themes/Popover.css.d.ts +1 -1
  477. package/dist/generated/themes/Popover.css.js +1 -1
  478. package/dist/generated/themes/Popover.css.js.map +1 -1
  479. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  480. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  481. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  482. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  483. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  484. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  485. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  486. package/dist/generated/themes/RadioButton.css.js +1 -1
  487. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  488. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  489. package/dist/generated/themes/RangeSlider.css.js +1 -1
  490. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  491. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  492. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  493. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  494. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  495. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  496. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  497. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  498. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  499. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  500. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  501. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  502. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  503. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  504. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  505. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  506. package/dist/generated/themes/Select.css.d.ts +1 -1
  507. package/dist/generated/themes/Select.css.js +1 -1
  508. package/dist/generated/themes/Select.css.js.map +1 -1
  509. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  510. package/dist/generated/themes/SliderBase.css.js +1 -1
  511. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  512. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  513. package/dist/generated/themes/SplitButton.css.js +1 -1
  514. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  515. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  516. package/dist/generated/themes/StepInput.css.js +1 -1
  517. package/dist/generated/themes/StepInput.css.js.map +1 -1
  518. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  519. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  520. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  521. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  522. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  523. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  524. package/dist/generated/themes/Switch.css.d.ts +1 -1
  525. package/dist/generated/themes/Switch.css.js +1 -1
  526. package/dist/generated/themes/Switch.css.js.map +1 -1
  527. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  528. package/dist/generated/themes/TabContainer.css.js +1 -1
  529. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  530. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  531. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  532. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  533. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  534. package/dist/generated/themes/TabInStrip.css.js +1 -1
  535. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  536. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  537. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  538. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  539. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  540. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  541. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  542. package/dist/generated/themes/Table.css.d.ts +1 -1
  543. package/dist/generated/themes/Table.css.js +1 -1
  544. package/dist/generated/themes/Table.css.js.map +1 -1
  545. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  546. package/dist/generated/themes/TableCellBase.css.js +1 -1
  547. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  548. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  549. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  550. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  551. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  552. package/dist/generated/themes/TableRow.css.js +1 -1
  553. package/dist/generated/themes/TableRow.css.js.map +1 -1
  554. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  555. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  556. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  557. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  558. package/dist/generated/themes/TableRowBase.css.js +1 -1
  559. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  560. package/dist/generated/themes/Tag.css.d.ts +1 -1
  561. package/dist/generated/themes/Tag.css.js +1 -1
  562. package/dist/generated/themes/Tag.css.js.map +1 -1
  563. package/dist/generated/themes/Text.css.d.ts +1 -1
  564. package/dist/generated/themes/Text.css.js +1 -1
  565. package/dist/generated/themes/Text.css.js.map +1 -1
  566. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  567. package/dist/generated/themes/TextArea.css.js +1 -1
  568. package/dist/generated/themes/TextArea.css.js.map +1 -1
  569. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  570. package/dist/generated/themes/TimePicker.css.js +1 -1
  571. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  572. package/dist/generated/themes/Toast.css.d.ts +1 -1
  573. package/dist/generated/themes/Toast.css.js +1 -1
  574. package/dist/generated/themes/Toast.css.js.map +1 -1
  575. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  576. package/dist/generated/themes/ToggleButton.css.js +1 -1
  577. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  578. package/dist/generated/themes/Token.css.d.ts +1 -1
  579. package/dist/generated/themes/Token.css.js +1 -1
  580. package/dist/generated/themes/Token.css.js.map +1 -1
  581. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  582. package/dist/generated/themes/Tokenizer.css.js +1 -1
  583. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  584. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  585. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  586. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  587. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  588. package/dist/generated/themes/Toolbar.css.js +1 -1
  589. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  590. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  591. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  592. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  593. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  594. package/dist/generated/themes/TreeItem.css.js +1 -1
  595. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  596. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  597. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  598. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  599. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  600. package/dist/generated/themes/YearPicker.css.js +1 -1
  601. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  602. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  603. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  604. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  605. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  606. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  607. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  608. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  609. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  610. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  611. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  612. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  613. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  614. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  615. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  616. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  617. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  618. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  619. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  620. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  621. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  622. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  623. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  624. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  625. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  626. package/dist/types/SearchPopupMode.d.ts +22 -0
  627. package/dist/types/SearchPopupMode.js +24 -0
  628. package/dist/types/SearchPopupMode.js.map +1 -0
  629. package/dist/vscode.html-custom-data.json +38 -3
  630. package/dist/web-types.json +95 -9
  631. package/package.json +11 -10
  632. package/src/CarouselTemplate.tsx +3 -2
  633. package/src/InputTemplate.tsx +7 -1
  634. package/src/ListItemTemplate.tsx +1 -2
  635. package/src/MenuItemTemplate.tsx +3 -8
  636. package/src/MultiComboBoxPopoverTemplate.tsx +1 -1
  637. package/src/SelectTemplate.tsx +11 -3
  638. package/src/SliderTemplate.tsx +1 -0
  639. package/src/TableHeaderCellActionBaseTemplate.tsx +2 -1
  640. package/src/TableHeaderCellTemplate.tsx +1 -2
  641. package/src/TableHeaderRowTemplate.tsx +1 -1
  642. package/src/TableRowActionBaseTemplate.tsx +4 -2
  643. package/src/TableRowTemplate.tsx +4 -3
  644. package/src/TokenTemplate.tsx +1 -0
  645. package/src/i18n/messagebundle.properties +6 -0
  646. package/src/i18n/messagebundle_ar.properties +6 -0
  647. package/src/i18n/messagebundle_bg.properties +7 -1
  648. package/src/i18n/messagebundle_ca.properties +6 -0
  649. package/src/i18n/messagebundle_cnr.properties +6 -0
  650. package/src/i18n/messagebundle_cs.properties +6 -0
  651. package/src/i18n/messagebundle_cy.properties +6 -0
  652. package/src/i18n/messagebundle_da.properties +6 -0
  653. package/src/i18n/messagebundle_de.properties +7 -1
  654. package/src/i18n/messagebundle_el.properties +6 -0
  655. package/src/i18n/messagebundle_en.properties +6 -0
  656. package/src/i18n/messagebundle_en_GB.properties +6 -0
  657. package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
  658. package/src/i18n/messagebundle_en_US_saprigi.properties +4 -0
  659. package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
  660. package/src/i18n/messagebundle_es.properties +7 -1
  661. package/src/i18n/messagebundle_es_MX.properties +6 -0
  662. package/src/i18n/messagebundle_et.properties +6 -0
  663. package/src/i18n/messagebundle_fi.properties +6 -0
  664. package/src/i18n/messagebundle_fr.properties +6 -0
  665. package/src/i18n/messagebundle_fr_CA.properties +6 -0
  666. package/src/i18n/messagebundle_hi.properties +6 -0
  667. package/src/i18n/messagebundle_hr.properties +6 -0
  668. package/src/i18n/messagebundle_hu.properties +6 -0
  669. package/src/i18n/messagebundle_id.properties +6 -0
  670. package/src/i18n/messagebundle_it.properties +6 -0
  671. package/src/i18n/messagebundle_iw.properties +6 -0
  672. package/src/i18n/messagebundle_ja.properties +6 -0
  673. package/src/i18n/messagebundle_kk.properties +6 -0
  674. package/src/i18n/messagebundle_ko.properties +6 -0
  675. package/src/i18n/messagebundle_lt.properties +6 -0
  676. package/src/i18n/messagebundle_lv.properties +6 -0
  677. package/src/i18n/messagebundle_mk.properties +6 -0
  678. package/src/i18n/messagebundle_ms.properties +6 -0
  679. package/src/i18n/messagebundle_nl.properties +6 -0
  680. package/src/i18n/messagebundle_no.properties +6 -0
  681. package/src/i18n/messagebundle_pl.properties +11 -5
  682. package/src/i18n/messagebundle_pt.properties +7 -1
  683. package/src/i18n/messagebundle_pt_PT.properties +6 -0
  684. package/src/i18n/messagebundle_ro.properties +7 -1
  685. package/src/i18n/messagebundle_ru.properties +7 -1
  686. package/src/i18n/messagebundle_sh.properties +6 -0
  687. package/src/i18n/messagebundle_sk.properties +7 -1
  688. package/src/i18n/messagebundle_sl.properties +7 -1
  689. package/src/i18n/messagebundle_sr.properties +6 -0
  690. package/src/i18n/messagebundle_sv.properties +7 -1
  691. package/src/i18n/messagebundle_th.properties +6 -0
  692. package/src/i18n/messagebundle_tr.properties +6 -0
  693. package/src/i18n/messagebundle_uk.properties +6 -0
  694. package/src/i18n/messagebundle_vi.properties +6 -0
  695. package/src/i18n/messagebundle_zh_CN.properties +6 -0
  696. package/src/i18n/messagebundle_zh_TW.properties +6 -0
  697. package/src/themes/List.css +3 -2
  698. package/src/themes/Select.css +14 -0
  699. package/src/themes/Switch.css +0 -2
  700. package/src/themes/TabInStrip.css +48 -28
  701. package/src/themes/TabSemanticIcon.css +3 -3
  702. package/src/themes/base/TabContainer-parameters.css +2 -22
  703. package/src/themes/sap_fiori_3/TabContainer-parameters.css +0 -3
  704. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +0 -3
  705. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +0 -20
  706. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +0 -20
  707. package/src/themes/sap_horizon/TabContainer-parameters.css +4 -9
  708. package/src/themes/sap_horizon/Tag-parameters.css +32 -0
  709. package/src/themes/sap_horizon_dark/TabContainer-parameters.css +4 -9
  710. package/src/themes/sap_horizon_dark/Tag-parameters.css +32 -0
  711. package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +4 -23
  712. package/src/themes/sap_horizon_hcb/Tag-parameters.css +20 -20
  713. package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +4 -23
  714. package/src/themes/sap_horizon_hcw/Tag-parameters.css +20 -20
package/dist/Menu.js CHANGED
@@ -142,7 +142,7 @@ let Menu = Menu_1 = class Menu extends UI5Element {
142
142
  if (isDesktop()) {
143
143
  // respect mouseover only on desktop
144
144
  const item = e.target;
145
- if (item.hasAttribute("ui5-menu-item")) {
145
+ if (this._isInstanceOfMenuItem(item)) {
146
146
  item.focus();
147
147
  // Opens submenu with 300ms delay
148
148
  this._startOpenTimeout(item);
@@ -189,8 +189,8 @@ let Menu = Menu_1 = class Menu extends UI5Element {
189
189
  const parentElement = item.parentElement;
190
190
  const shouldItemNavigation = isUp(e) || isDown(e);
191
191
  const shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);
192
- const shouldCloseMenu = !shouldItemNavigation && !shouldOpenMenu && parentElement.hasAttribute("ui5-menu-item");
193
- if (item.hasAttribute("ui5-menu-item")) {
192
+ const shouldCloseMenu = !shouldItemNavigation && !shouldOpenMenu && this._isInstanceOfMenuItem(parentElement);
193
+ if (this._isInstanceOfMenuItem(item)) {
194
194
  if (isEnter(e) || isTabNextPrevious) {
195
195
  e.preventDefault();
196
196
  }
@@ -242,6 +242,9 @@ let Menu = Menu_1 = class Menu extends UI5Element {
242
242
  this.open = false;
243
243
  this.fireDecoratorEvent("close");
244
244
  }
245
+ _isInstanceOfMenuItem(object) {
246
+ return "isMenuItem" in object;
247
+ }
245
248
  };
246
249
  __decorate([
247
250
  property()
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\tisDown,\n\tisUp,\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 ResponsivePopover from \"./ResponsivePopover.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport \"./MenuItem.js\";\nimport \"./MenuSeparator.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\tisSeparator: 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 ditrection is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.\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 * 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;\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\n\tget _menuItems() {\n\t\treturn this.items.filter((item): item is MenuItem => !item.isSeparator);\n\t}\n\n\tget acessibleNameText() {\n\t\treturn Menu.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tonBeforeRendering() {\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\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\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem) {\n\t\tif (item && item._popover) {\n\t\t\tconst openedSibling = item._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);\n\t\t\tif (openedSibling) {\n\t\t\t\tthis._closeItemSubMenu(openedSibling);\n\t\t\t}\n\n\t\t\titem._popover.open = false;\n\t\t\titem.selected = false;\n\t\t}\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst item = e.target as MenuItem;\n\n\t\t\tif (item.hasAttribute(\"ui5-menu-item\")) {\n\t\t\t\titem.focus();\n\n\t\t\t\t// Opens submenu with 300ms delay\n\t\t\t\tthis._startOpenTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\tconst firstMenuItem = this._menuItems[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_startOpenTimeout(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tconst opener = item.parentElement as MenuItem | Menu;\n\t\t\tconst openedSibling = opener && opener._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);\n\t\t\tif (openedSibling) {\n\t\t\t\tthis._closeItemSubMenu(openedSibling);\n\t\t\t}\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 && this._popover) {\n\t\t\t\titem.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\t\tconst parentElement = item.parentElement as MenuItem;\n\t\tconst shouldItemNavigation = isUp(e) || isDown(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\t\tconst shouldCloseMenu = !shouldItemNavigation && !shouldOpenMenu && parentElement.hasAttribute(\"ui5-menu-item\");\n\n\t\tif (item.hasAttribute(\"ui5-menu-item\")) {\n\t\t\tif (isEnter(e) || isTabNextPrevious) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\n\t\t\tif (isRight(e) || isLeft(e)) {\n\t\t\t\titem._navigateToEndContent(isLeft(e));\n\t\t\t}\n\n\t\t\tif (shouldOpenMenu) {\n\t\t\t\tthis._openItemSubMenu(item);\n\t\t\t} else if ((shouldCloseMenu || isTabNextPrevious) && parentElement._popover) {\n\t\t\t\tparentElement._popover.open = false;\n\t\t\t\tparentElement.selected = false;\n\t\t\t\tparentElement._popover.focusOpener();\n\t\t\t}\n\t\t} else if (isUp(e)) {\n\t\t\tthis._navigateOutOfEndContent(parentElement);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._navigateOutOfEndContent(parentElement, true);\n\t\t}\n\t}\n\n\t_navigateOutOfEndContent(menuItem: MenuItem, isDownwards?: boolean) {\n\t\tconst opener = menuItem?.parentElement as MenuItem | Menu;\n\t\tconst currentIndex = opener._menuItems.indexOf(menuItem);\n\t\tconst nextItem = isDownwards ? opener._menuItems[currentIndex + 1] : opener._menuItems[currentIndex - 1];\n\t\tconst itemToFocus = nextItem || opener._menuItems[currentIndex];\n\n\t\titemToFocus.focus();\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._menuItems[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\tisDown,\n\tisUp,\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 ResponsivePopover from \"./ResponsivePopover.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport \"./MenuItem.js\";\nimport \"./MenuSeparator.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\tisSeparator: 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 ditrection is set to Right-to-left (RTL), `Arrow Right` and `Arrow Left` functionality is swapped.\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 * 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;\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\n\tget _menuItems() {\n\t\treturn this.items.filter((item): item is MenuItem => !item.isSeparator);\n\t}\n\n\tget acessibleNameText() {\n\t\treturn Menu.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tonBeforeRendering() {\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\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\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem) {\n\t\tif (item && item._popover) {\n\t\t\tconst openedSibling = item._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);\n\t\t\tif (openedSibling) {\n\t\t\t\tthis._closeItemSubMenu(openedSibling);\n\t\t\t}\n\n\t\t\titem._popover.open = false;\n\t\t\titem.selected = false;\n\t\t}\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst item = e.target as MenuItem;\n\n\t\t\tif (this._isInstanceOfMenuItem(item)) {\n\t\t\t\titem.focus();\n\n\t\t\t\t// Opens submenu with 300ms delay\n\t\t\t\tthis._startOpenTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync focus(focusOptions?: FocusOptions): Promise<void> {\n\t\tawait renderFinished();\n\t\tconst firstMenuItem = this._menuItems[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_startOpenTimeout(item: MenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tconst opener = item.parentElement as MenuItem | Menu;\n\t\t\tconst openedSibling = opener && opener._menuItems.find(menuItem => menuItem._popover && menuItem._popover.open);\n\t\t\tif (openedSibling) {\n\t\t\t\tthis._closeItemSubMenu(openedSibling);\n\t\t\t}\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 && this._popover) {\n\t\t\t\titem.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\t\tconst parentElement = item.parentElement as MenuItem;\n\t\tconst shouldItemNavigation = isUp(e) || isDown(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\t\tconst shouldCloseMenu = !shouldItemNavigation && !shouldOpenMenu && this._isInstanceOfMenuItem(parentElement);\n\n\t\tif (this._isInstanceOfMenuItem(item)) {\n\t\t\tif (isEnter(e) || isTabNextPrevious) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\n\t\t\tif (isRight(e) || isLeft(e)) {\n\t\t\t\titem._navigateToEndContent(isLeft(e));\n\t\t\t}\n\n\t\t\tif (shouldOpenMenu) {\n\t\t\t\tthis._openItemSubMenu(item);\n\t\t\t} else if ((shouldCloseMenu || isTabNextPrevious) && parentElement._popover) {\n\t\t\t\tparentElement._popover.open = false;\n\t\t\t\tparentElement.selected = false;\n\t\t\t\tparentElement._popover.focusOpener();\n\t\t\t}\n\t\t} else if (isUp(e)) {\n\t\t\tthis._navigateOutOfEndContent(parentElement);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._navigateOutOfEndContent(parentElement, true);\n\t\t}\n\t}\n\n\t_navigateOutOfEndContent(menuItem: MenuItem, isDownwards?: boolean) {\n\t\tconst opener = menuItem?.parentElement as MenuItem | Menu;\n\t\tconst currentIndex = opener._menuItems.indexOf(menuItem);\n\t\tconst nextItem = isDownwards ? opener._menuItems[currentIndex + 1] : opener._menuItems[currentIndex - 1];\n\t\tconst itemToFocus = nextItem || opener._menuItems[currentIndex];\n\n\t\titemToFocus.focus();\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._menuItems[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\t_isInstanceOfMenuItem(object: any): object is MenuItem {\n\t\treturn \"isMenuItem\" in object;\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tIMenuItem,\n};\n"]}
@@ -205,6 +205,7 @@ declare class MenuItem extends ListItem implements IMenuItem {
205
205
  _afterPopoverOpen(): void;
206
206
  _beforePopoverClose(e: CustomEvent): void;
207
207
  _afterPopoverClose(): void;
208
+ get isMenuItem(): boolean;
208
209
  }
209
210
  export default MenuItem;
210
211
  export type { MenuBeforeCloseEventDetail, MenuBeforeOpenEventDetail, MenuItemAccessibilityAttributes, };
package/dist/MenuItem.js CHANGED
@@ -72,19 +72,6 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
72
72
  * @since 1.13.0
73
73
  */
74
74
  this.loadingDelay = 1000;
75
- /**
76
- * Defines the additional accessibility attributes that will be applied to the component.
77
- * The following fields are supported:
78
- *
79
- * - **ariaKeyShortcuts**: Indicated the availability of a keyboard shortcuts defined for the menu item.
80
- *
81
- * - **role**: Defines the role of the menu item. If not set, menu item will have default role="menuitem".
82
- *
83
- * @public
84
- * @since 2.1.0
85
- * @default {}
86
- */
87
- this.accessibilityAttributes = {};
88
75
  /**
89
76
  * Indicates whether any of the element siblings have icon.
90
77
  */
@@ -222,6 +209,9 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
222
209
  _afterPopoverClose() {
223
210
  this.fireDecoratorEvent("close");
224
211
  }
212
+ get isMenuItem() {
213
+ return true;
214
+ }
225
215
  };
226
216
  __decorate([
227
217
  property()
@@ -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 { 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 type { ListItemAccessibilityAttributes } from \"./ListItem.js\";\nimport ListItem from \"./ListItem.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type PopoverPlacement from \"./types/PopoverPlacement.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 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 `ui5-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 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\")\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}\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 `ui5-menu-item` is in disabled state.\n\t *\n\t * **Note:** A disabled `ui5-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 ui5-menu popover.\n\t *\n\t * **Note:** If set to `true` a `ui5-busy-indicator` component will be displayed into the related one to the current `ui5-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 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 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 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 *\n\t * @public\n\t * @since 2.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: 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 items of this component.\n\t *\n\t * **Note:** The slot can hold `ui5-menu-item` and `ui5-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 * @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\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 _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\t_navigateToEndContent(isLast?: boolean) {\n\t\tconst item = isLast\n\t\t\t? this._navigableItems[this._navigableItems.length - 1]\n\t\t\t: this._navigableItems[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 ariaLabelledByText() {\n\t\treturn `${this.text} ${this.accessibleName}`.trim();\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 acessibleNameText() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tget isSeparator(): boolean {\n\t\treturn false;\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.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\treturn this._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 _accInfo() {\n\t\tconst accInfoSettings: {\n\t\t\trole: AriaRole;\n\t\t\tariaHaspopup?: `${AriaHasPopup}`;\n\t\t\tariaKeyShortcuts?: string;\n\t\t\tariaHidden?: boolean;\n\t\t} = {\n\t\t\trole: this.accessibilityAttributes.role || \"menuitem\",\n\t\t\tariaHaspopup: this.hasSubmenu ? \"menu\" : undefined,\n\t\t\tariaKeyShortcuts: this.accessibilityAttributes.ariaKeyShortcuts,\n\t\t\tariaHidden: !!this.additionalText && !!this.accessibilityAttributes.ariaKeyShortcuts ? true : undefined,\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\tget _popover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget _menuItems() {\n\t\treturn this.items.filter((item): item is MenuItem => !item.isSeparator);\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}\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.items[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\nMenuItem.define();\n\nexport default MenuItem;\n\nexport type {\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tMenuItemAccessibilityAttributes,\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 { 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 type { ListItemAccessibilityAttributes } from \"./ListItem.js\";\nimport ListItem from \"./ListItem.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type PopoverPlacement from \"./types/PopoverPlacement.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 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 `ui5-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 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\")\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}\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 `ui5-menu-item` is in disabled state.\n\t *\n\t * **Note:** A disabled `ui5-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 ui5-menu popover.\n\t *\n\t * **Note:** If set to `true` a `ui5-busy-indicator` component will be displayed into the related one to the current `ui5-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 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 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 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 *\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 items of this component.\n\t *\n\t * **Note:** The slot can hold `ui5-menu-item` and `ui5-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 * @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\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 _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\t_navigateToEndContent(isLast?: boolean) {\n\t\tconst item = isLast\n\t\t\t? this._navigableItems[this._navigableItems.length - 1]\n\t\t\t: this._navigableItems[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 ariaLabelledByText() {\n\t\treturn `${this.text} ${this.accessibleName}`.trim();\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 acessibleNameText() {\n\t\treturn MenuItem.i18nBundle.getText(MENU_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\tget isSeparator(): boolean {\n\t\treturn false;\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.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\treturn this._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 _accInfo() {\n\t\tconst accInfoSettings: {\n\t\t\trole: AriaRole;\n\t\t\tariaHaspopup?: `${AriaHasPopup}`;\n\t\t\tariaKeyShortcuts?: string;\n\t\t\tariaHidden?: boolean;\n\t\t} = {\n\t\t\trole: this.accessibilityAttributes.role || \"menuitem\",\n\t\t\tariaHaspopup: this.hasSubmenu ? \"menu\" : undefined,\n\t\t\tariaKeyShortcuts: this.accessibilityAttributes.ariaKeyShortcuts,\n\t\t\tariaHidden: !!this.additionalText && !!this.accessibilityAttributes.ariaKeyShortcuts ? true : undefined,\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\tget _popover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget _menuItems() {\n\t\treturn this.items.filter((item): item is MenuItem => !item.isSeparator);\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}\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.items[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\nMenuItem.define();\n\nexport default MenuItem;\n\nexport type {\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n\tMenuItemAccessibilityAttributes,\n};\n"]}
@@ -1,7 +1,3 @@
1
- import type { JsxTemplate } from "@ui5/webcomponents-base";
2
1
  import type MenuItem from "./MenuItem.js";
3
2
  import type { ListItemHooks } from "./ListItemTemplate.js";
4
- export type MenuItemHooks = ListItemHooks & {
5
- listItemPostContent: JsxTemplate;
6
- };
7
- export default function MenuItemTemplate(this: MenuItem, hooks?: Partial<MenuItemHooks>): import("@ui5/webcomponents-base").JSX.Element;
3
+ export default function MenuItemTemplate(this: MenuItem, hooks?: Partial<ListItemHooks>): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -38,6 +38,6 @@ function iconBegin() {
38
38
  }
39
39
  }
40
40
  function listItemPostContent() {
41
- return this.hasSubmenu && _jsxs(ResponsivePopover, { id: `${this._id}-menu-rp`, class: "ui5-menu-rp .ui5-menu-rp-sub-menu", preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, allowTargetOverlap: true, placement: this.placement, verticalAlign: "Top", accessibleName: this.acessibleNameText, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, children: [this.isPhone && (_jsx(_Fragment, { children: _jsxs("div", { slot: "header", class: "ui5-menu-dialog-header", children: [_jsx(Button, { icon: navBackIcon, class: "ui5-menu-back-button", design: "Transparent", "aria-label": this.labelBack, onClick: this._close }), _jsx("div", { class: "ui5-menu-dialog-title", children: _jsx("div", { children: this.text }) }), _jsx(Button, { icon: declineIcon, design: "Transparent", "aria-label": this.labelClose, onClick: this._closeAll })] }) })), _jsx("div", { id: `${this._id}-menu-main`, children: this.items.length ? (_jsx(List, { id: `${this._id}-menu-list`, selectionMode: "None", separators: "None", accessibleRole: "Menu", loading: this.loading, loadingDelay: this.loadingDelay, "onui5-close-menu": this._close, children: _jsx("slot", {}) })) : this.loading && _jsx(BusyIndicator, { id: `${this._id}-menu-busy-indicator`, delay: this.loadingDelay, class: "ui5-menu-busy-indicator", active: true }) })] });
41
+ return this.hasSubmenu && _jsxs(ResponsivePopover, { id: `${this._id}-menu-rp`, class: "ui5-menu-rp ui5-menu-rp-sub-menu", preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, allowTargetOverlap: true, placement: this.placement, verticalAlign: "Top", accessibleName: this.acessibleNameText, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, children: [this.isPhone && (_jsx(_Fragment, { children: _jsxs("div", { slot: "header", class: "ui5-menu-dialog-header", children: [_jsx(Button, { icon: navBackIcon, class: "ui5-menu-back-button", design: "Transparent", "aria-label": this.labelBack, onClick: this._close }), _jsx("div", { class: "ui5-menu-dialog-title", children: _jsx("div", { children: this.text }) }), _jsx(Button, { icon: declineIcon, design: "Transparent", "aria-label": this.labelClose, onClick: this._closeAll })] }) })), _jsx("div", { id: `${this._id}-menu-main`, children: this.items.length ? (_jsx(List, { id: `${this._id}-menu-list`, selectionMode: "None", separators: "None", accessibleRole: "Menu", loading: this.loading, loadingDelay: this.loadingDelay, "onui5-close-menu": this._close, children: _jsx("slot", {}) })) : this.loading && _jsx(BusyIndicator, { id: `${this._id}-menu-busy-indicator`, delay: this.loadingDelay, class: "ui5-menu-busy-indicator", active: true }) })] });
42
42
  }
43
43
  //# sourceMappingURL=MenuItemTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemTemplate.js","sourceRoot":"","sources":["../src/MenuItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JsxTemplate } from \"@ui5/webcomponents-base\";\nimport type MenuItem from \"./MenuItem.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport navBackIcon from \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport Icon from \"./Icon.js\";\nimport ListItemTemplate from \"./ListItemTemplate.js\";\nimport type { ListItemHooks } from \"./ListItemTemplate.js\";\n\nexport type MenuItemHooks = ListItemHooks & {\n\tlistItemPostContent: JsxTemplate,\n}\n\nconst predefinedHooks: Partial<MenuItemHooks> = {\n\tlistItemContent,\n\ticonBegin,\n};\n\nexport default function MenuItemTemplate(this: MenuItem, hooks?: Partial<MenuItemHooks>) {\n\tconst currentHooks = { ...predefinedHooks, ...hooks };\n\n\treturn <>\n\t\t{ListItemTemplate.call(this, currentHooks)}\n\n\t\t{listItemPostContent.call(this)}\n\t</>;\n}\n\nfunction listItemContent(this: MenuItem) {\n\treturn (<>\n\t\t{this.text && <div class=\"ui5-menu-item-text\">{this.text}</div>}\n\n\t\t{rightContent.call(this)}\n\t</>);\n}\n\nfunction rightContent(this: MenuItem) {\n\tswitch (true) {\n\tcase this.hasSubmenu:\n\t\treturn (\n\t\t\t<div class=\"ui5-menu-item-submenu-icon\" >\n\t\t\t\t<Icon\n\t\t\t\t\tpart=\"subicon\"\n\t\t\t\t\tname={slimArrowRight}\n\t\t\t\t\tclass=\"ui5-menu-item-icon-end\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\tcase this.hasEndContent:\n\t\treturn <slot name=\"endContent\"></slot>;\n\tcase !!this.additionalText:\n\t\treturn (\n\t\t\t<span\n\t\t\t\tpart=\"additional-text\"\n\t\t\t\tclass=\"ui5-li-additional-text\"\n\t\t\t\taria-hidden={this._accInfo.ariaHidden}\n\t\t\t>\n\t\t\t\t{this.additionalText}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nfunction iconBegin(this: MenuItem) {\n\tif (this.hasIcon) {\n\t\treturn <Icon class=\"ui5-li-icon\" name={this.icon} />;\n\t}\n\n\tif (this._siblingsWithIcon) {\n\t\treturn <div class=\"ui5-menu-item-dummy-icon\"></div>;\n\t}\n}\n\nfunction listItemPostContent(this: MenuItem) {\n\treturn this.hasSubmenu && <ResponsivePopover\n\t\tid={`${this._id}-menu-rp`}\n\t\tclass=\"ui5-menu-rp .ui5-menu-rp-sub-menu\"\n\t\tpreventInitialFocus={true}\n\t\tpreventFocusRestore={true}\n\t\thideArrow={true}\n\t\tallowTargetOverlap={true}\n\t\tplacement={this.placement}\n\t\tverticalAlign=\"Top\"\n\t\taccessibleName={this.acessibleNameText}\n\t\tonBeforeOpen={this._beforePopoverOpen}\n\t\tonOpen={this._afterPopoverOpen}\n\t\tonBeforeClose={this._beforePopoverClose}\n\t\tonClose={this._afterPopoverClose}\n\t>\n\t\t{\n\t\t\tthis.isPhone && (\n\t\t\t\t<>\n\t\t\t\t\t<div slot=\"header\" class=\"ui5-menu-dialog-header\" >\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={navBackIcon}\n\t\t\t\t\t\t\tclass=\"ui5-menu-back-button\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taria-label={this.labelBack}\n\t\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"ui5-menu-dialog-title\" >\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{this.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={declineIcon}\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taria-label={this.labelClose}\n\t\t\t\t\t\t\tonClick={this._closeAll}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div >\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\n\t\t<div id={`${this._id}-menu-main`}>\n\t\t\t{\n\t\t\t\tthis.items.length ? (\n\t\t\t\t\t<List\n\t\t\t\t\t\tid={`${this._id}-menu-list`}\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\t\t// handles event from slotted children\n\t\t\t\t\t\tonui5-close-menu={this._close}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t\t) : this.loading && <BusyIndicator\n\t\t\t\t\tid={`${this._id}-menu-busy-indicator`}\n\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\tclass=\"ui5-menu-busy-indicator\"\n\t\t\t\t\tactive={true}\n\t\t\t\t/>\n\t\t\t}\n\t\t</div >\n\t</ResponsivePopover>;\n}\n"]}
1
+ {"version":3,"file":"MenuItemTemplate.js","sourceRoot":"","sources":["../src/MenuItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type MenuItem from \"./MenuItem.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport navBackIcon from \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport Icon from \"./Icon.js\";\nimport ListItemTemplate from \"./ListItemTemplate.js\";\nimport type { ListItemHooks } from \"./ListItemTemplate.js\";\n\nconst predefinedHooks: Partial<ListItemHooks> = {\n\tlistItemContent,\n\ticonBegin,\n};\n\nexport default function MenuItemTemplate(this: MenuItem, hooks?: Partial<ListItemHooks>) {\n\tconst currentHooks = { ...predefinedHooks, ...hooks };\n\n\treturn <>\n\t\t{ListItemTemplate.call(this, currentHooks)}\n\n\t\t{listItemPostContent.call(this)}\n\t</>;\n}\n\nfunction listItemContent(this: MenuItem) {\n\treturn (<>\n\t\t{this.text && <div class=\"ui5-menu-item-text\">{this.text}</div>}\n\n\t\t{rightContent.call(this)}\n\t</>);\n}\n\nfunction rightContent(this: MenuItem) {\n\tswitch (true) {\n\tcase this.hasSubmenu:\n\t\treturn (\n\t\t\t<div class=\"ui5-menu-item-submenu-icon\" >\n\t\t\t\t<Icon\n\t\t\t\t\tpart=\"subicon\"\n\t\t\t\t\tname={slimArrowRight}\n\t\t\t\t\tclass=\"ui5-menu-item-icon-end\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\tcase this.hasEndContent:\n\t\treturn <slot name=\"endContent\"></slot>;\n\tcase !!this.additionalText:\n\t\treturn (\n\t\t\t<span\n\t\t\t\tpart=\"additional-text\"\n\t\t\t\tclass=\"ui5-li-additional-text\"\n\t\t\t\taria-hidden={this._accInfo.ariaHidden}\n\t\t\t>\n\t\t\t\t{this.additionalText}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nfunction iconBegin(this: MenuItem) {\n\tif (this.hasIcon) {\n\t\treturn <Icon class=\"ui5-li-icon\" name={this.icon} />;\n\t}\n\n\tif (this._siblingsWithIcon) {\n\t\treturn <div class=\"ui5-menu-item-dummy-icon\"></div>;\n\t}\n}\n\nfunction listItemPostContent(this: MenuItem) {\n\treturn this.hasSubmenu && <ResponsivePopover\n\t\tid={`${this._id}-menu-rp`}\n\t\tclass=\"ui5-menu-rp ui5-menu-rp-sub-menu\"\n\t\tpreventInitialFocus={true}\n\t\tpreventFocusRestore={true}\n\t\thideArrow={true}\n\t\tallowTargetOverlap={true}\n\t\tplacement={this.placement}\n\t\tverticalAlign=\"Top\"\n\t\taccessibleName={this.acessibleNameText}\n\t\tonBeforeOpen={this._beforePopoverOpen}\n\t\tonOpen={this._afterPopoverOpen}\n\t\tonBeforeClose={this._beforePopoverClose}\n\t\tonClose={this._afterPopoverClose}\n\t>\n\t\t{\n\t\t\tthis.isPhone && (\n\t\t\t\t<>\n\t\t\t\t\t<div slot=\"header\" class=\"ui5-menu-dialog-header\" >\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={navBackIcon}\n\t\t\t\t\t\t\tclass=\"ui5-menu-back-button\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taria-label={this.labelBack}\n\t\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"ui5-menu-dialog-title\" >\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{this.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={declineIcon}\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\taria-label={this.labelClose}\n\t\t\t\t\t\t\tonClick={this._closeAll}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div >\n\t\t\t\t</>\n\t\t\t)\n\t\t}\n\n\t\t<div id={`${this._id}-menu-main`}>\n\t\t\t{\n\t\t\t\tthis.items.length ? (\n\t\t\t\t\t<List\n\t\t\t\t\t\tid={`${this._id}-menu-list`}\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\t\t// handles event from slotted children\n\t\t\t\t\t\tonui5-close-menu={this._close}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t\t) : this.loading && <BusyIndicator\n\t\t\t\t\tid={`${this._id}-menu-busy-indicator`}\n\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\tclass=\"ui5-menu-busy-indicator\"\n\t\t\t\t\tactive={true}\n\t\t\t\t/>\n\t\t\t}\n\t\t</div >\n\t</ResponsivePopover>;\n}\n"]}
@@ -209,9 +209,10 @@ declare class MultiComboBox extends UI5Element implements IFormInputElement {
209
209
  tokenizerOpen: boolean;
210
210
  /**
211
211
  * Indicates whether the items picker is open.
212
- * @private
212
+ * @public
213
+ * @since 2.9.0
213
214
  */
214
- _open: boolean;
215
+ open: boolean;
215
216
  _valueBeforeOpen: string;
216
217
  _filteredItems: Array<IMultiComboBoxItem>;
217
218
  _previouslySelectedItems: Array<IMultiComboBoxItem>;
@@ -293,7 +294,7 @@ declare class MultiComboBox extends UI5Element implements IFormInputElement {
293
294
  * @default false
294
295
  * @public
295
296
  */
296
- get open(): boolean;
297
+ get isOpen(): boolean;
297
298
  get _showAllItemsButtonPressed(): boolean;
298
299
  get _inputDom(): HTMLInputElement;
299
300
  _inputLiveChange(e: InputEvent): void;
@@ -202,9 +202,10 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
202
202
  this.tokenizerOpen = false;
203
203
  /**
204
204
  * Indicates whether the items picker is open.
205
- * @private
205
+ * @public
206
+ * @since 2.9.0
206
207
  */
207
- this._open = false;
208
+ this.open = false;
208
209
  this._valueBeforeOpen = this.value;
209
210
  this.filterSelected = false;
210
211
  this.focused = false;
@@ -280,17 +281,17 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
280
281
  if (!changePrevented) {
281
282
  matchingItem.selected = !initiallySelected;
282
283
  this._getResponsivePopover().preventFocusRestore = false;
283
- this._open = false;
284
+ this.open = false;
284
285
  this.value = "";
285
286
  }
286
287
  }
287
288
  _toggleTokenizerPopover() {
288
289
  this.tokenizerOpen = false;
289
- this._open = !this.open;
290
+ this.open = !this.open;
290
291
  }
291
292
  togglePopoverByDropdownIcon() {
292
293
  this._shouldFilterItems = false;
293
- this._open = !this.open;
294
+ this.open = !this.open;
294
295
  this.tokenizerOpen = false;
295
296
  }
296
297
  _showFilteredItems() {
@@ -308,8 +309,8 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
308
309
  * @default false
309
310
  * @public
310
311
  */
311
- get open() {
312
- return this._open;
312
+ get isOpen() {
313
+ return this.open;
313
314
  }
314
315
  get _showAllItemsButtonPressed() {
315
316
  return this.filterSelected;
@@ -351,10 +352,10 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
351
352
  this._filteredItems = filteredItems;
352
353
  if (!isPhone()) {
353
354
  if (filteredItems.length === 0) {
354
- this._open = false;
355
+ this.open = false;
355
356
  }
356
357
  else {
357
- this._open = true;
358
+ this.open = true;
358
359
  }
359
360
  }
360
361
  this.fireDecoratorEvent("input");
@@ -390,7 +391,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
390
391
  }
391
392
  _onPopoverFocusOut() {
392
393
  if (!isPhone()) {
393
- this._tokenizer.expanded = this._open;
394
+ this._tokenizer.expanded = this.open;
394
395
  }
395
396
  }
396
397
  _tokenizerFocusOut(e) {
@@ -554,7 +555,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
554
555
  if (isAutoCompleted) {
555
556
  this.value = this.valueBeforeAutoComplete;
556
557
  }
557
- if (!this.noValidation || (!this._open && this.noValidation)) {
558
+ if (!this.noValidation || (!this.open && this.noValidation)) {
558
559
  this.value = this._lastValue;
559
560
  }
560
561
  }
@@ -575,7 +576,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
575
576
  }
576
577
  }
577
578
  _handleTab() {
578
- this._open = false;
579
+ this.open = false;
579
580
  }
580
581
  _handleSelectAll() {
581
582
  const filteredItems = this._getItems().filter(item => item._isVisible && !item.isGroupItem);
@@ -702,7 +703,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
702
703
  _onItemTab() {
703
704
  this._getResponsivePopover().preventFocusRestore = true;
704
705
  this._inputDom.focus();
705
- this._open = false;
706
+ this.open = false;
706
707
  this._tokenizer.expanded = false;
707
708
  }
708
709
  _handleArrowNavigation(e, isDownControl) {
@@ -726,7 +727,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
726
727
  if (isArrowDown && hasSuggestions) {
727
728
  this._handleArrowDown();
728
729
  }
729
- if (!isArrowDown && !this._open && !this.readonly) {
730
+ if (!isArrowDown && !this.open && !this.readonly) {
730
731
  this._navigateToPrevItem();
731
732
  }
732
733
  }
@@ -840,7 +841,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
840
841
  }
841
842
  }
842
843
  innerInput.setSelectionRange(matchingItem.text.length, matchingItem.text.length);
843
- this._open = false;
844
+ this.open = false;
844
845
  }
845
846
  else if (this._internals?.form) {
846
847
  submitForm(this);
@@ -909,7 +910,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
909
910
  }
910
911
  }
911
912
  _afterOpen() {
912
- const action = this._open ? "open" : "close";
913
+ const action = this.open ? "open" : "close";
913
914
  if (!isPhone() && !this._isOpenedByKeyboard) {
914
915
  this._innerInput.focus();
915
916
  }
@@ -970,7 +971,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
970
971
  this.filterSelected = false;
971
972
  }
972
973
  if (!e.detail.selectionComponentPressed && !isSpace(castedEvent) && !isSpaceCtrl(castedEvent)) {
973
- this._open = false;
974
+ this.open = false;
974
975
  this.value = "";
975
976
  // if the item (not checkbox) is clicked, call the selection change
976
977
  if (isPhone()) {
@@ -997,7 +998,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
997
998
  }
998
999
  _click() {
999
1000
  if (isPhone() && !this.readonly && !this._showMorePressed && !this._deleting) {
1000
- this._open = true;
1001
+ this.open = true;
1001
1002
  }
1002
1003
  this._showMorePressed = false;
1003
1004
  }
@@ -1011,10 +1012,10 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1011
1012
  }
1012
1013
  }
1013
1014
  _beforeClose() {
1014
- this._open = false;
1015
+ this.open = false;
1015
1016
  }
1016
1017
  _afterClose() {
1017
- const action = this._open ? "open" : "close";
1018
+ const action = this.open ? "open" : "close";
1018
1019
  // close device's keyboard and prevent further typing
1019
1020
  if (isPhone()) {
1020
1021
  this._dialogInputValueState = this.valueState;
@@ -1026,7 +1027,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1026
1027
  this.filterSelected = false;
1027
1028
  }
1028
1029
  _beforeOpen() {
1029
- this._open = true;
1030
+ this.open = true;
1030
1031
  this._itemsBeforeOpen = this._getItems().map(item => {
1031
1032
  return {
1032
1033
  ref: item,
@@ -1145,7 +1146,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1145
1146
  this._clearingValue = true;
1146
1147
  }
1147
1148
  storeResponsivePopoverWidth() {
1148
- if (this._open && !this._listWidth) {
1149
+ if (this.open && !this._listWidth) {
1149
1150
  this._listWidth = this.list.offsetWidth;
1150
1151
  }
1151
1152
  }
@@ -1365,7 +1366,7 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1365
1366
  return this._tokenizer.expanded;
1366
1367
  }
1367
1368
  const isCurrentlyExpanded = this._tokenizer?.expanded;
1368
- const shouldBeExpanded = this.focused || this._open || isCurrentlyExpanded;
1369
+ const shouldBeExpanded = this.focused || this.open || isCurrentlyExpanded;
1369
1370
  return shouldBeExpanded;
1370
1371
  }
1371
1372
  get _valueStatePopoverHorizontalAlign() {
@@ -1484,8 +1485,8 @@ __decorate([
1484
1485
  property({ type: Boolean, noAttribute: true })
1485
1486
  ], MultiComboBox.prototype, "tokenizerOpen", void 0);
1486
1487
  __decorate([
1487
- property({ type: Boolean, noAttribute: true })
1488
- ], MultiComboBox.prototype, "_open", void 0);
1488
+ property({ type: Boolean })
1489
+ ], MultiComboBox.prototype, "open", void 0);
1489
1490
  __decorate([
1490
1491
  property()
1491
1492
  ], MultiComboBox.prototype, "_valueBeforeOpen", void 0);