@ui5/webcomponents 2.6.2 → 2.7.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (783) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/cypress/specs/Table.cy.ts +32 -2
  4. package/cypress/specs/TableRowActions.cy.ts +212 -0
  5. package/cypress/specs/Toolbar.cy.ts +26 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/ColorPalette.d.ts +1 -0
  8. package/dist/ColorPalette.js +1 -0
  9. package/dist/ColorPalette.js.map +1 -1
  10. package/dist/DialogTemplate.js +1 -1
  11. package/dist/DialogTemplate.js.map +1 -1
  12. package/dist/Form.d.ts +0 -2
  13. package/dist/Form.js +0 -1
  14. package/dist/Form.js.map +1 -1
  15. package/dist/FormGroup.d.ts +0 -1
  16. package/dist/FormGroup.js +0 -1
  17. package/dist/FormGroup.js.map +1 -1
  18. package/dist/FormItem.d.ts +0 -1
  19. package/dist/FormItem.js +0 -1
  20. package/dist/FormItem.js.map +1 -1
  21. package/dist/Menu.d.ts +2 -2
  22. package/dist/Menu.js +34 -19
  23. package/dist/Menu.js.map +1 -1
  24. package/dist/MenuItem.d.ts +9 -2
  25. package/dist/MenuItem.js +50 -6
  26. package/dist/MenuItem.js.map +1 -1
  27. package/dist/NavigationMenuTemplate.js +1 -1
  28. package/dist/NavigationMenuTemplate.js.map +1 -1
  29. package/dist/Popover.d.ts +1 -1
  30. package/dist/Popover.js +7 -6
  31. package/dist/Popover.js.map +1 -1
  32. package/dist/Select.d.ts +1 -3
  33. package/dist/Select.js +4 -6
  34. package/dist/Select.js.map +1 -1
  35. package/dist/SelectPopoverTemplate.d.ts +2 -0
  36. package/dist/SelectPopoverTemplate.js +28 -0
  37. package/dist/SelectPopoverTemplate.js.map +1 -0
  38. package/dist/SelectTemplate.d.ts +2 -0
  39. package/dist/SelectTemplate.js +19 -0
  40. package/dist/SelectTemplate.js.map +1 -0
  41. package/dist/SliderBaseTemplate.js +2 -2
  42. package/dist/SliderBaseTemplate.js.map +1 -1
  43. package/dist/SuggestionListItem.d.ts +1 -1
  44. package/dist/SuggestionListItem.js +1 -1
  45. package/dist/SuggestionListItem.js.map +1 -1
  46. package/dist/SwitchTemplate.js +1 -1
  47. package/dist/SwitchTemplate.js.map +1 -1
  48. package/dist/Table.d.ts +31 -7
  49. package/dist/Table.js +43 -8
  50. package/dist/Table.js.map +1 -1
  51. package/dist/TableCell.d.ts +2 -0
  52. package/dist/TableCell.js +9 -4
  53. package/dist/TableCell.js.map +1 -1
  54. package/dist/TableCellBase.d.ts +2 -2
  55. package/dist/TableCellBase.js +3 -3
  56. package/dist/TableCellBase.js.map +1 -1
  57. package/dist/TableExtension.d.ts +1 -1
  58. package/dist/TableExtension.js +1 -1
  59. package/dist/TableExtension.js.map +1 -1
  60. package/dist/TableHeaderCell.d.ts +8 -0
  61. package/dist/TableHeaderCell.js +7 -2
  62. package/dist/TableHeaderCell.js.map +1 -1
  63. package/dist/TableHeaderRow.d.ts +2 -0
  64. package/dist/TableHeaderRow.js +7 -1
  65. package/dist/TableHeaderRow.js.map +1 -1
  66. package/dist/TableRow.d.ts +18 -1
  67. package/dist/TableRow.js +64 -5
  68. package/dist/TableRow.js.map +1 -1
  69. package/dist/TableRowAction.d.ts +45 -0
  70. package/dist/TableRowAction.js +72 -0
  71. package/dist/TableRowAction.js.map +1 -0
  72. package/dist/TableRowActionBase.d.ts +38 -0
  73. package/dist/TableRowActionBase.js +104 -0
  74. package/dist/TableRowActionBase.js.map +1 -0
  75. package/dist/TableRowActionNavigation.d.ts +27 -0
  76. package/dist/TableRowActionNavigation.js +53 -0
  77. package/dist/TableRowActionNavigation.js.map +1 -0
  78. package/dist/TableRowBase.d.ts +1 -0
  79. package/dist/TableRowBase.js +4 -0
  80. package/dist/TableRowBase.js.map +1 -1
  81. package/dist/TableVirtualizer.d.ts +2 -2
  82. package/dist/TableVirtualizer.js +2 -2
  83. package/dist/TableVirtualizer.js.map +1 -1
  84. package/dist/ToastTemplate.js +3 -2
  85. package/dist/ToastTemplate.js.map +1 -1
  86. package/dist/Token.d.ts +0 -5
  87. package/dist/Token.js +0 -8
  88. package/dist/Token.js.map +1 -1
  89. package/dist/Tokenizer.d.ts +0 -1
  90. package/dist/Tokenizer.js +0 -23
  91. package/dist/Tokenizer.js.map +1 -1
  92. package/dist/TokenizerPopoverTemplate.js +0 -1
  93. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  94. package/dist/Toolbar.js +3 -0
  95. package/dist/Toolbar.js.map +1 -1
  96. package/dist/TreeItemBase.d.ts +1 -1
  97. package/dist/TreeItemTemplate.js +1 -1
  98. package/dist/TreeItemTemplate.js.map +1 -1
  99. package/dist/bundle.esm.js +2 -0
  100. package/dist/bundle.esm.js.map +1 -1
  101. package/dist/css/themes/Avatar.css +1 -1
  102. package/dist/css/themes/AvatarGroup.css +1 -1
  103. package/dist/css/themes/Bar.css +1 -1
  104. package/dist/css/themes/Breadcrumbs.css +1 -1
  105. package/dist/css/themes/BusyIndicator.css +1 -1
  106. package/dist/css/themes/Button.css +1 -1
  107. package/dist/css/themes/Calendar.css +1 -1
  108. package/dist/css/themes/CalendarHeader.css +1 -1
  109. package/dist/css/themes/CalendarLegend.css +1 -1
  110. package/dist/css/themes/CalendarLegendItem.css +1 -1
  111. package/dist/css/themes/Card.css +1 -1
  112. package/dist/css/themes/CardHeader.css +1 -1
  113. package/dist/css/themes/Carousel.css +1 -1
  114. package/dist/css/themes/CheckBox.css +1 -1
  115. package/dist/css/themes/ColorPalette.css +1 -1
  116. package/dist/css/themes/ColorPaletteItem.css +1 -1
  117. package/dist/css/themes/ColorPalettePopover.css +1 -1
  118. package/dist/css/themes/ColorPicker.css +1 -1
  119. package/dist/css/themes/ComboBox.css +1 -1
  120. package/dist/css/themes/ComboBoxItem.css +1 -1
  121. package/dist/css/themes/DatePicker.css +1 -1
  122. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  123. package/dist/css/themes/DayPicker.css +1 -1
  124. package/dist/css/themes/Dialog.css +1 -1
  125. package/dist/css/themes/FileUploader.css +1 -1
  126. package/dist/css/themes/Form.css +1 -1
  127. package/dist/css/themes/FormItem.css +1 -1
  128. package/dist/css/themes/FormItemSpan.css +1 -1
  129. package/dist/css/themes/GrowingButton.css +1 -1
  130. package/dist/css/themes/Icon.css +1 -1
  131. package/dist/css/themes/Input.css +1 -1
  132. package/dist/css/themes/InputIcon.css +1 -1
  133. package/dist/css/themes/InputSharedStyles.css +1 -1
  134. package/dist/css/themes/Label.css +1 -1
  135. package/dist/css/themes/Link.css +1 -1
  136. package/dist/css/themes/List.css +1 -1
  137. package/dist/css/themes/ListItem.css +1 -1
  138. package/dist/css/themes/ListItemBase.css +1 -1
  139. package/dist/css/themes/ListItemCustom.css +1 -1
  140. package/dist/css/themes/ListItemGroup.css +1 -1
  141. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  142. package/dist/css/themes/ListItemIcon.css +1 -1
  143. package/dist/css/themes/Menu.css +1 -1
  144. package/dist/css/themes/MenuItem.css +1 -1
  145. package/dist/css/themes/MessageStrip.css +1 -1
  146. package/dist/css/themes/MonthPicker.css +1 -1
  147. package/dist/css/themes/MultiComboBox.css +1 -1
  148. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  149. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  150. package/dist/css/themes/MultiInput.css +1 -1
  151. package/dist/css/themes/NavigationMenu.css +1 -1
  152. package/dist/css/themes/NavigationMenuItem.css +1 -1
  153. package/dist/css/themes/OptionBase.css +1 -1
  154. package/dist/css/themes/Panel.css +1 -1
  155. package/dist/css/themes/Popover.css +1 -1
  156. package/dist/css/themes/PopupsCommon.css +1 -1
  157. package/dist/css/themes/ProgressIndicator.css +1 -1
  158. package/dist/css/themes/RadioButton.css +1 -1
  159. package/dist/css/themes/RangeSlider.css +1 -1
  160. package/dist/css/themes/RatingIndicator.css +1 -1
  161. package/dist/css/themes/ResponsivePopover.css +1 -1
  162. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  163. package/dist/css/themes/SegmentedButton.css +1 -1
  164. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  165. package/dist/css/themes/Select.css +1 -1
  166. package/dist/css/themes/SliderBase.css +1 -1
  167. package/dist/css/themes/SplitButton.css +1 -1
  168. package/dist/css/themes/StepInput.css +1 -1
  169. package/dist/css/themes/SuggestionItem.css +1 -1
  170. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  171. package/dist/css/themes/Switch.css +1 -1
  172. package/dist/css/themes/TabContainer.css +1 -1
  173. package/dist/css/themes/TabInOverflow.css +1 -1
  174. package/dist/css/themes/TabInStrip.css +1 -1
  175. package/dist/css/themes/TabSemanticIcon.css +1 -1
  176. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  177. package/dist/css/themes/Table.css +1 -1
  178. package/dist/css/themes/TableCellBase.css +1 -1
  179. package/dist/css/themes/TableHeaderRow.css +1 -1
  180. package/dist/css/themes/TableRow.css +1 -1
  181. package/dist/css/themes/TableRowActionBase.css +1 -0
  182. package/dist/css/themes/TableRowBase.css +1 -1
  183. package/dist/css/themes/Tag.css +1 -1
  184. package/dist/css/themes/Text.css +1 -1
  185. package/dist/css/themes/TextArea.css +1 -1
  186. package/dist/css/themes/TimePicker.css +1 -1
  187. package/dist/css/themes/Toast.css +1 -1
  188. package/dist/css/themes/ToggleButton.css +1 -1
  189. package/dist/css/themes/Token.css +1 -1
  190. package/dist/css/themes/Tokenizer.css +1 -1
  191. package/dist/css/themes/TokenizerPopover.css +1 -1
  192. package/dist/css/themes/Toolbar.css +1 -1
  193. package/dist/css/themes/ToolbarPopover.css +1 -1
  194. package/dist/css/themes/TreeItem.css +1 -1
  195. package/dist/css/themes/ValueStateMessage.css +1 -1
  196. package/dist/css/themes/YearPicker.css +1 -1
  197. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  198. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  199. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  200. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  201. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  202. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  203. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  204. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  205. package/dist/custom-elements-internal.json +489 -53
  206. package/dist/custom-elements.json +392 -34
  207. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  208. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  209. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  210. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  211. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  212. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  213. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  215. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  216. package/dist/generated/i18n/i18n-defaults.js +3 -1
  217. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  218. package/dist/generated/json-imports/Themes-fetch.js +1 -5
  219. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  220. package/dist/generated/json-imports/Themes.js +1 -5
  221. package/dist/generated/json-imports/Themes.js.map +1 -1
  222. package/dist/generated/templates/TableCellTemplate.lit.js +6 -4
  223. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  224. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +3 -2
  225. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  226. package/dist/generated/templates/TableRowActionBaseTemplate.lit.d.ts +3 -0
  227. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +11 -0
  228. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js.map +1 -0
  229. package/dist/generated/templates/TableRowTemplate.lit.js +8 -4
  230. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  231. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  232. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  233. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  234. package/dist/generated/themes/Avatar.css.js +1 -1
  235. package/dist/generated/themes/Avatar.css.js.map +1 -1
  236. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  237. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  238. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  239. package/dist/generated/themes/Bar.css.d.ts +1 -1
  240. package/dist/generated/themes/Bar.css.js +1 -1
  241. package/dist/generated/themes/Bar.css.js.map +1 -1
  242. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  243. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  244. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  245. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  246. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  247. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  248. package/dist/generated/themes/Button.css.d.ts +1 -1
  249. package/dist/generated/themes/Button.css.js +1 -1
  250. package/dist/generated/themes/Button.css.js.map +1 -1
  251. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  252. package/dist/generated/themes/Calendar.css.js +1 -1
  253. package/dist/generated/themes/Calendar.css.js.map +1 -1
  254. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  255. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  256. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  257. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  258. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  259. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  260. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  261. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  262. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  263. package/dist/generated/themes/Card.css.d.ts +1 -1
  264. package/dist/generated/themes/Card.css.js +1 -1
  265. package/dist/generated/themes/Card.css.js.map +1 -1
  266. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  267. package/dist/generated/themes/CardHeader.css.js +1 -1
  268. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  269. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  270. package/dist/generated/themes/Carousel.css.js +1 -1
  271. package/dist/generated/themes/Carousel.css.js.map +1 -1
  272. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  273. package/dist/generated/themes/CheckBox.css.js +1 -1
  274. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  275. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  276. package/dist/generated/themes/ColorPalette.css.js +1 -1
  277. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  278. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  279. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  280. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  281. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  282. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  283. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  284. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  285. package/dist/generated/themes/ColorPicker.css.js +1 -1
  286. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  287. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  288. package/dist/generated/themes/ComboBox.css.js +1 -1
  289. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  290. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  291. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  292. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  293. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  294. package/dist/generated/themes/DatePicker.css.js +1 -1
  295. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  296. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  297. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  298. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  299. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  300. package/dist/generated/themes/DayPicker.css.js +1 -1
  301. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  302. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  303. package/dist/generated/themes/Dialog.css.js +1 -1
  304. package/dist/generated/themes/Dialog.css.js.map +1 -1
  305. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  306. package/dist/generated/themes/FileUploader.css.js +1 -1
  307. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  308. package/dist/generated/themes/Form.css.d.ts +1 -1
  309. package/dist/generated/themes/Form.css.js +1 -1
  310. package/dist/generated/themes/Form.css.js.map +1 -1
  311. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  312. package/dist/generated/themes/FormItem.css.js +1 -1
  313. package/dist/generated/themes/FormItem.css.js.map +1 -1
  314. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  315. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  316. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  317. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  318. package/dist/generated/themes/GrowingButton.css.js +1 -1
  319. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  320. package/dist/generated/themes/Icon.css.d.ts +1 -1
  321. package/dist/generated/themes/Icon.css.js +1 -1
  322. package/dist/generated/themes/Icon.css.js.map +1 -1
  323. package/dist/generated/themes/Input.css.d.ts +1 -1
  324. package/dist/generated/themes/Input.css.js +1 -1
  325. package/dist/generated/themes/Input.css.js.map +1 -1
  326. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  327. package/dist/generated/themes/InputIcon.css.js +1 -1
  328. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  329. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  330. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  331. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  332. package/dist/generated/themes/Label.css.d.ts +1 -1
  333. package/dist/generated/themes/Label.css.js +1 -1
  334. package/dist/generated/themes/Label.css.js.map +1 -1
  335. package/dist/generated/themes/Link.css.d.ts +1 -1
  336. package/dist/generated/themes/Link.css.js +1 -1
  337. package/dist/generated/themes/Link.css.js.map +1 -1
  338. package/dist/generated/themes/List.css.d.ts +1 -1
  339. package/dist/generated/themes/List.css.js +1 -1
  340. package/dist/generated/themes/List.css.js.map +1 -1
  341. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  342. package/dist/generated/themes/ListItem.css.js +1 -1
  343. package/dist/generated/themes/ListItem.css.js.map +1 -1
  344. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  345. package/dist/generated/themes/ListItemBase.css.js +1 -1
  346. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  347. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  348. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  349. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  350. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  351. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  352. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  353. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  354. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  355. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  356. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  357. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  358. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  359. package/dist/generated/themes/Menu.css.d.ts +1 -1
  360. package/dist/generated/themes/Menu.css.js +1 -1
  361. package/dist/generated/themes/Menu.css.js.map +1 -1
  362. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  363. package/dist/generated/themes/MenuItem.css.js +1 -1
  364. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  365. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  366. package/dist/generated/themes/MessageStrip.css.js +1 -1
  367. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  368. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  369. package/dist/generated/themes/MonthPicker.css.js +1 -1
  370. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  371. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  372. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  373. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  374. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  375. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  376. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  377. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  378. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  379. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  380. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  381. package/dist/generated/themes/MultiInput.css.js +1 -1
  382. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  383. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  384. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  385. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  386. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  387. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  388. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  389. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  390. package/dist/generated/themes/OptionBase.css.js +1 -1
  391. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  392. package/dist/generated/themes/Panel.css.d.ts +1 -1
  393. package/dist/generated/themes/Panel.css.js +1 -1
  394. package/dist/generated/themes/Panel.css.js.map +1 -1
  395. package/dist/generated/themes/Popover.css.d.ts +1 -1
  396. package/dist/generated/themes/Popover.css.js +1 -1
  397. package/dist/generated/themes/Popover.css.js.map +1 -1
  398. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  399. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  400. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  401. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  402. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  403. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  404. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  405. package/dist/generated/themes/RadioButton.css.js +1 -1
  406. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  407. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  408. package/dist/generated/themes/RangeSlider.css.js +1 -1
  409. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  410. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  411. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  412. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  413. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  414. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  415. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  416. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  417. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  418. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  419. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  420. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  421. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  422. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  423. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  424. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  425. package/dist/generated/themes/Select.css.d.ts +1 -1
  426. package/dist/generated/themes/Select.css.js +1 -1
  427. package/dist/generated/themes/Select.css.js.map +1 -1
  428. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  429. package/dist/generated/themes/SliderBase.css.js +1 -1
  430. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  431. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  432. package/dist/generated/themes/SplitButton.css.js +1 -1
  433. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  434. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  435. package/dist/generated/themes/StepInput.css.js +1 -1
  436. package/dist/generated/themes/StepInput.css.js.map +1 -1
  437. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  438. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  439. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  440. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  441. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  442. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  443. package/dist/generated/themes/Switch.css.d.ts +1 -1
  444. package/dist/generated/themes/Switch.css.js +1 -1
  445. package/dist/generated/themes/Switch.css.js.map +1 -1
  446. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  447. package/dist/generated/themes/TabContainer.css.js +1 -1
  448. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  449. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  450. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  451. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  452. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  453. package/dist/generated/themes/TabInStrip.css.js +1 -1
  454. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  455. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  456. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  457. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  458. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  459. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  460. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  461. package/dist/generated/themes/Table.css.d.ts +1 -1
  462. package/dist/generated/themes/Table.css.js +1 -1
  463. package/dist/generated/themes/Table.css.js.map +1 -1
  464. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  465. package/dist/generated/themes/TableCellBase.css.js +1 -1
  466. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  467. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  468. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  469. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  470. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  471. package/dist/generated/themes/TableRow.css.js +1 -1
  472. package/dist/generated/themes/TableRow.css.js.map +1 -1
  473. package/dist/generated/themes/TableRowActionBase.css.d.ts +2 -0
  474. package/dist/generated/themes/TableRowActionBase.css.js +8 -0
  475. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -0
  476. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  477. package/dist/generated/themes/TableRowBase.css.js +1 -1
  478. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  479. package/dist/generated/themes/Tag.css.d.ts +1 -1
  480. package/dist/generated/themes/Tag.css.js +1 -1
  481. package/dist/generated/themes/Tag.css.js.map +1 -1
  482. package/dist/generated/themes/Text.css.d.ts +1 -1
  483. package/dist/generated/themes/Text.css.js +1 -1
  484. package/dist/generated/themes/Text.css.js.map +1 -1
  485. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  486. package/dist/generated/themes/TextArea.css.js +1 -1
  487. package/dist/generated/themes/TextArea.css.js.map +1 -1
  488. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  489. package/dist/generated/themes/TimePicker.css.js +1 -1
  490. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  491. package/dist/generated/themes/Toast.css.d.ts +1 -1
  492. package/dist/generated/themes/Toast.css.js +1 -1
  493. package/dist/generated/themes/Toast.css.js.map +1 -1
  494. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  495. package/dist/generated/themes/ToggleButton.css.js +1 -1
  496. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  497. package/dist/generated/themes/Token.css.d.ts +1 -1
  498. package/dist/generated/themes/Token.css.js +1 -1
  499. package/dist/generated/themes/Token.css.js.map +1 -1
  500. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  501. package/dist/generated/themes/Tokenizer.css.js +1 -1
  502. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  503. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  504. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  505. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  506. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  507. package/dist/generated/themes/Toolbar.css.js +1 -1
  508. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  509. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  510. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  511. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  512. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  513. package/dist/generated/themes/TreeItem.css.js +1 -1
  514. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  515. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  516. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  517. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  518. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  519. package/dist/generated/themes/YearPicker.css.js +1 -1
  520. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  521. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  522. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  523. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  524. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  525. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  526. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  527. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  528. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  529. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  530. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  531. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  532. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  533. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  534. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  535. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  536. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  537. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  538. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  539. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  540. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  541. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  542. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  543. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  544. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  545. package/dist/vscode.html-custom-data.json +77 -11
  546. package/dist/web-types.json +177 -27
  547. package/package.json +9 -9
  548. package/src/DialogTemplate.tsx +1 -1
  549. package/src/NavigationMenuTemplate.tsx +1 -0
  550. package/src/SelectPopoverTemplate.tsx +106 -0
  551. package/src/SelectTemplate.tsx +68 -0
  552. package/src/SliderBaseTemplate.tsx +2 -2
  553. package/src/SwitchTemplate.tsx +1 -7
  554. package/src/Table.hbs +1 -1
  555. package/src/TableCell.hbs +6 -5
  556. package/src/TableHeaderRow.hbs +4 -0
  557. package/src/TableRow.hbs +22 -3
  558. package/src/TableRowActionBase.hbs +17 -0
  559. package/src/ToastTemplate.tsx +6 -4
  560. package/src/TokenizerPopoverTemplate.tsx +0 -1
  561. package/src/TreeItemTemplate.tsx +1 -1
  562. package/src/i18n/messagebundle.properties +5 -1
  563. package/src/themes/FormItem.css +4 -5
  564. package/src/themes/Label.css +1 -1
  565. package/src/themes/NavigationMenuItem.css +3 -1
  566. package/src/themes/Switch.css +0 -9
  567. package/src/themes/TableCellBase.css +1 -1
  568. package/src/themes/TableRow.css +96 -73
  569. package/src/themes/TableRowActionBase.css +13 -0
  570. package/src/themes/TableRowBase.css +14 -6
  571. package/src/themes/Toolbar.css +13 -1
  572. package/src/themes/base/Switch-parameters.css +0 -1
  573. package/src/themes/base/Table-parameters.css +3 -9
  574. package/src/themes/base/Toolbar-parameters.css +2 -1
  575. package/src/themes/base/sizes-parameters.css +0 -6
  576. package/src/themes/sap_horizon/RadioButton-parameters.css +5 -1
  577. package/src/themes/sap_horizon_dark/RadioButton-parameters.css +5 -1
  578. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  579. package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +5 -5
  580. package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +5 -5
  581. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
  582. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +0 -1
  583. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
  584. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
  585. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +0 -1
  586. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +0 -1
  587. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +0 -1
  588. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +0 -1
  589. package/dist/generated/templates/SelectPopoverTemplate.lit.d.ts +0 -3
  590. package/dist/generated/templates/SelectPopoverTemplate.lit.js +0 -19
  591. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +0 -1
  592. package/dist/generated/templates/SelectTemplate.lit.d.ts +0 -3
  593. package/dist/generated/templates/SelectTemplate.lit.js +0 -24
  594. package/dist/generated/templates/SelectTemplate.lit.js.map +0 -1
  595. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +0 -2
  596. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +0 -3
  597. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +0 -1
  598. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +0 -2
  599. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +0 -3
  600. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +0 -1
  601. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +0 -2
  602. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +0 -3
  603. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +0 -1
  604. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +0 -2
  605. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +0 -3
  606. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +0 -1
  607. package/src/Select.hbs +0 -51
  608. package/src/SelectPopover.hbs +0 -78
  609. package/src/themes/sap_horizon_dark_exp/Avatar-parameters.css +0 -54
  610. package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +0 -3
  611. package/src/themes/sap_horizon_dark_exp/Button-parameters.css +0 -17
  612. package/src/themes/sap_horizon_dark_exp/CalendarHeader-parameters.css +0 -19
  613. package/src/themes/sap_horizon_dark_exp/CalendarLegendItem-parameters.css +0 -6
  614. package/src/themes/sap_horizon_dark_exp/Card-parameters.css +0 -15
  615. package/src/themes/sap_horizon_dark_exp/Carousel-parameters.css +0 -5
  616. package/src/themes/sap_horizon_dark_exp/CheckBox-parameters.css +0 -44
  617. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +0 -25
  618. package/src/themes/sap_horizon_dark_exp/ColorPicker-parameters.css +0 -12
  619. package/src/themes/sap_horizon_dark_exp/DatePicker-parameters.css +0 -6
  620. package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -68
  621. package/src/themes/sap_horizon_dark_exp/Dialog-parameters.css +0 -9
  622. package/src/themes/sap_horizon_dark_exp/FileUploader-parameters.css +0 -5
  623. package/src/themes/sap_horizon_dark_exp/GrowingButton-parameters.css +0 -6
  624. package/src/themes/sap_horizon_dark_exp/Icon-parameters.css +0 -3
  625. package/src/themes/sap_horizon_dark_exp/Input-parameters.css +0 -34
  626. package/src/themes/sap_horizon_dark_exp/InputIcon-parameters.css +0 -24
  627. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +0 -15
  628. package/src/themes/sap_horizon_dark_exp/List-parameters.css +0 -5
  629. package/src/themes/sap_horizon_dark_exp/ListItemBase-parameters.css +0 -5
  630. package/src/themes/sap_horizon_dark_exp/Menu-parameters.css +0 -5
  631. package/src/themes/sap_horizon_dark_exp/MessageStrip-parameters.css +0 -5
  632. package/src/themes/sap_horizon_dark_exp/MonthPicker-parameters.css +0 -16
  633. package/src/themes/sap_horizon_dark_exp/MultiComboBox-parameters.css +0 -5
  634. package/src/themes/sap_horizon_dark_exp/Panel-parameters.css +0 -14
  635. package/src/themes/sap_horizon_dark_exp/PopupsCommon-parameters.css +0 -5
  636. package/src/themes/sap_horizon_dark_exp/RadioButton-parameters.css +0 -23
  637. package/src/themes/sap_horizon_dark_exp/RatingIndicator-parameters.css +0 -17
  638. package/src/themes/sap_horizon_dark_exp/SegmentedButtton-parameters.css +0 -13
  639. package/src/themes/sap_horizon_dark_exp/Select-parameters.css +0 -5
  640. package/src/themes/sap_horizon_dark_exp/SelectPopover-parameters.css +0 -4
  641. package/src/themes/sap_horizon_dark_exp/SliderBase-parameters.css +0 -72
  642. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -31
  643. package/src/themes/sap_horizon_dark_exp/StepInput-parameters.css +0 -25
  644. package/src/themes/sap_horizon_dark_exp/Switch-parameters.css +0 -148
  645. package/src/themes/sap_horizon_dark_exp/TabContainer-parameters.css +0 -38
  646. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +0 -1
  647. package/src/themes/sap_horizon_dark_exp/TextArea-parameters.css +0 -45
  648. package/src/themes/sap_horizon_dark_exp/TimePicker-parameters.css +0 -6
  649. package/src/themes/sap_horizon_dark_exp/ToggleButton-parameters.css +0 -1
  650. package/src/themes/sap_horizon_dark_exp/Token-parameters.css +0 -28
  651. package/src/themes/sap_horizon_dark_exp/Tokenizer-parameters.css +0 -5
  652. package/src/themes/sap_horizon_dark_exp/ValueStateMessage-parameters.css +0 -12
  653. package/src/themes/sap_horizon_dark_exp/YearPicker-parameters.css +0 -15
  654. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -57
  655. package/src/themes/sap_horizon_dark_exp/rtl-parameters.css +0 -6
  656. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +0 -52
  657. package/src/themes/sap_horizon_exp/Avatar-parameters.css +0 -54
  658. package/src/themes/sap_horizon_exp/AvatarGroup-parameters.css +0 -5
  659. package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +0 -3
  660. package/src/themes/sap_horizon_exp/Button-parameters.css +0 -17
  661. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +0 -19
  662. package/src/themes/sap_horizon_exp/Card-parameters.css +0 -15
  663. package/src/themes/sap_horizon_exp/Carousel-parameters.css +0 -5
  664. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -44
  665. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +0 -25
  666. package/src/themes/sap_horizon_exp/ColorPicker-parameters.css +0 -12
  667. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +0 -6
  668. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -71
  669. package/src/themes/sap_horizon_exp/Dialog-parameters.css +0 -9
  670. package/src/themes/sap_horizon_exp/FileUploader-parameters.css +0 -5
  671. package/src/themes/sap_horizon_exp/GrowingButton-parameters.css +0 -6
  672. package/src/themes/sap_horizon_exp/Icon-parameters.css +0 -3
  673. package/src/themes/sap_horizon_exp/Input-parameters.css +0 -34
  674. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +0 -24
  675. package/src/themes/sap_horizon_exp/Link-parameters.css +0 -15
  676. package/src/themes/sap_horizon_exp/List-parameters.css +0 -5
  677. package/src/themes/sap_horizon_exp/ListItemBase-parameters.css +0 -5
  678. package/src/themes/sap_horizon_exp/Menu-parameters.css +0 -5
  679. package/src/themes/sap_horizon_exp/MessageStrip-parameters.css +0 -5
  680. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +0 -16
  681. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +0 -5
  682. package/src/themes/sap_horizon_exp/Panel-parameters.css +0 -14
  683. package/src/themes/sap_horizon_exp/PopupsCommon-parameters.css +0 -5
  684. package/src/themes/sap_horizon_exp/ProgressIndicator-parameters.css +0 -32
  685. package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +0 -40
  686. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +0 -23
  687. package/src/themes/sap_horizon_exp/RatingIndicator-parameters.css +0 -17
  688. package/src/themes/sap_horizon_exp/SegmentedButtton-parameters.css +0 -13
  689. package/src/themes/sap_horizon_exp/Select-parameters.css +0 -5
  690. package/src/themes/sap_horizon_exp/SelectPopover-parameters.css +0 -4
  691. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +0 -71
  692. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -31
  693. package/src/themes/sap_horizon_exp/StepInput-parameters.css +0 -25
  694. package/src/themes/sap_horizon_exp/Switch-parameters.css +0 -150
  695. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +0 -38
  696. package/src/themes/sap_horizon_exp/Tag-parameters.css +0 -1
  697. package/src/themes/sap_horizon_exp/TextArea-parameters.css +0 -45
  698. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +0 -6
  699. package/src/themes/sap_horizon_exp/ToggleButton-parameters.css +0 -1
  700. package/src/themes/sap_horizon_exp/Token-parameters.css +0 -28
  701. package/src/themes/sap_horizon_exp/Tokenizer-parameters.css +0 -5
  702. package/src/themes/sap_horizon_exp/ValueStateMessage-parameters.css +0 -12
  703. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +0 -15
  704. package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -57
  705. package/src/themes/sap_horizon_exp/rtl-parameters.css +0 -6
  706. package/src/themes/sap_horizon_exp/sizes-parameters.css +0 -51
  707. package/src/themes/sap_horizon_hcb_exp/Avatar-parameters.css +0 -54
  708. package/src/themes/sap_horizon_hcb_exp/BusyIndicator-parameters.css +0 -5
  709. package/src/themes/sap_horizon_hcb_exp/Button-parameters.css +0 -9
  710. package/src/themes/sap_horizon_hcb_exp/CalendarHeader-parameters.css +0 -11
  711. package/src/themes/sap_horizon_hcb_exp/Card-parameters.css +0 -11
  712. package/src/themes/sap_horizon_hcb_exp/Carousel-parameters.css +0 -9
  713. package/src/themes/sap_horizon_hcb_exp/CheckBox-parameters.css +0 -45
  714. package/src/themes/sap_horizon_hcb_exp/ColorPicker-parameters.css +0 -10
  715. package/src/themes/sap_horizon_hcb_exp/DatePicker-parameters.css +0 -5
  716. package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -70
  717. package/src/themes/sap_horizon_hcb_exp/FileUploader-parameters.css +0 -6
  718. package/src/themes/sap_horizon_hcb_exp/GrowingButton-parameters.css +0 -8
  719. package/src/themes/sap_horizon_hcb_exp/Input-parameters.css +0 -32
  720. package/src/themes/sap_horizon_hcb_exp/InputIcon-parameters.css +0 -11
  721. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +0 -11
  722. package/src/themes/sap_horizon_hcb_exp/ListItem-parameters.css +0 -3
  723. package/src/themes/sap_horizon_hcb_exp/Menu-parameters.css +0 -5
  724. package/src/themes/sap_horizon_hcb_exp/MessageStrip-parameters.css +0 -10
  725. package/src/themes/sap_horizon_hcb_exp/MonthPicker-parameters.css +0 -12
  726. package/src/themes/sap_horizon_hcb_exp/Panel-parameters.css +0 -10
  727. package/src/themes/sap_horizon_hcb_exp/PopupsCommon-parameters.css +0 -5
  728. package/src/themes/sap_horizon_hcb_exp/ProgressIndicator-parameters.css +0 -15
  729. package/src/themes/sap_horizon_hcb_exp/RadioButton-parameters.css +0 -26
  730. package/src/themes/sap_horizon_hcb_exp/RatingIndicator-parameters.css +0 -16
  731. package/src/themes/sap_horizon_hcb_exp/SegmentedButtton-parameters.css +0 -8
  732. package/src/themes/sap_horizon_hcb_exp/Select-parameters.css +0 -10
  733. package/src/themes/sap_horizon_hcb_exp/SliderBase-parameters.css +0 -78
  734. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +0 -34
  735. package/src/themes/sap_horizon_hcb_exp/Switch-parameters.css +0 -144
  736. package/src/themes/sap_horizon_hcb_exp/TabContainer-parameters.css +0 -49
  737. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +0 -1
  738. package/src/themes/sap_horizon_hcb_exp/TextArea-parameters.css +0 -42
  739. package/src/themes/sap_horizon_hcb_exp/TimePicker-parameters.css +0 -5
  740. package/src/themes/sap_horizon_hcb_exp/ToggleButton-parameters.css +0 -1
  741. package/src/themes/sap_horizon_hcb_exp/Token-parameters.css +0 -17
  742. package/src/themes/sap_horizon_hcb_exp/ValueStateMessage-parameters.css +0 -13
  743. package/src/themes/sap_horizon_hcb_exp/YearPicker-parameters.css +0 -12
  744. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -52
  745. package/src/themes/sap_horizon_hcb_exp/sizes-parameters.css +0 -16
  746. package/src/themes/sap_horizon_hcw_exp/Avatar-parameters.css +0 -54
  747. package/src/themes/sap_horizon_hcw_exp/BusyIndicator-parameters.css +0 -5
  748. package/src/themes/sap_horizon_hcw_exp/Button-parameters.css +0 -9
  749. package/src/themes/sap_horizon_hcw_exp/CalendarHeader-parameters.css +0 -11
  750. package/src/themes/sap_horizon_hcw_exp/Card-parameters.css +0 -11
  751. package/src/themes/sap_horizon_hcw_exp/Carousel-parameters.css +0 -9
  752. package/src/themes/sap_horizon_hcw_exp/CheckBox-parameters.css +0 -45
  753. package/src/themes/sap_horizon_hcw_exp/ColorPicker-parameters.css +0 -10
  754. package/src/themes/sap_horizon_hcw_exp/DatePicker-parameters.css +0 -5
  755. package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -69
  756. package/src/themes/sap_horizon_hcw_exp/FileUploader-parameters.css +0 -6
  757. package/src/themes/sap_horizon_hcw_exp/GrowingButton-parameters.css +0 -8
  758. package/src/themes/sap_horizon_hcw_exp/Input-parameters.css +0 -32
  759. package/src/themes/sap_horizon_hcw_exp/InputIcon-parameters.css +0 -11
  760. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +0 -11
  761. package/src/themes/sap_horizon_hcw_exp/ListItem-parameters.css +0 -3
  762. package/src/themes/sap_horizon_hcw_exp/Menu-parameters.css +0 -5
  763. package/src/themes/sap_horizon_hcw_exp/MessageStrip-parameters.css +0 -10
  764. package/src/themes/sap_horizon_hcw_exp/MonthPicker-parameters.css +0 -12
  765. package/src/themes/sap_horizon_hcw_exp/Panel-parameters.css +0 -11
  766. package/src/themes/sap_horizon_hcw_exp/PopupsCommon-parameters.css +0 -5
  767. package/src/themes/sap_horizon_hcw_exp/RadioButton-parameters.css +0 -30
  768. package/src/themes/sap_horizon_hcw_exp/RatingIndicator-parameters.css +0 -16
  769. package/src/themes/sap_horizon_hcw_exp/SegmentedButtton-parameters.css +0 -8
  770. package/src/themes/sap_horizon_hcw_exp/Select-parameters.css +0 -10
  771. package/src/themes/sap_horizon_hcw_exp/SliderBase-parameters.css +0 -78
  772. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +0 -34
  773. package/src/themes/sap_horizon_hcw_exp/Switch-parameters.css +0 -149
  774. package/src/themes/sap_horizon_hcw_exp/TabContainer-parameters.css +0 -49
  775. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +0 -1
  776. package/src/themes/sap_horizon_hcw_exp/TextArea-parameters.css +0 -42
  777. package/src/themes/sap_horizon_hcw_exp/TimePicker-parameters.css +0 -5
  778. package/src/themes/sap_horizon_hcw_exp/ToggleButton-parameters.css +0 -1
  779. package/src/themes/sap_horizon_hcw_exp/Token-parameters.css +0 -17
  780. package/src/themes/sap_horizon_hcw_exp/ValueStateMessage-parameters.css +0 -13
  781. package/src/themes/sap_horizon_hcw_exp/YearPicker-parameters.css +0 -12
  782. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -52
  783. package/src/themes/sap_horizon_hcw_exp/sizes-parameters.css +0 -16
package/dist/Menu.js CHANGED
@@ -117,9 +117,9 @@ let Menu = Menu_1 = class Menu extends UI5Element {
117
117
  if (!item._popover || item._popover.open) {
118
118
  return;
119
119
  }
120
- this.fireEvent("before-open", {
120
+ this.fireDecoratorEvent("before-open", {
121
121
  item,
122
- }, false, false);
122
+ });
123
123
  item._popover.opener = item;
124
124
  item._popover.open = true;
125
125
  item.selected = true;
@@ -167,12 +167,12 @@ let Menu = Menu_1 = class Menu extends UI5Element {
167
167
  _itemClick(e) {
168
168
  const item = e.detail.item;
169
169
  if (!item._popover) {
170
- const prevented = !this.fireEvent("item-click", {
170
+ const prevented = !this.fireDecoratorEvent("item-click", {
171
171
  "item": item,
172
172
  "text": item.text || "",
173
- }, true, false);
173
+ });
174
174
  if (!prevented && this._popover) {
175
- item.fireEvent("close-menu", {});
175
+ item.fireDecoratorEvent("close-menu");
176
176
  }
177
177
  }
178
178
  else {
@@ -200,7 +200,7 @@ let Menu = Menu_1 = class Menu extends UI5Element {
200
200
  }
201
201
  }
202
202
  _beforePopoverOpen(e) {
203
- const prevented = !this.fireEvent("before-open", {}, true, true);
203
+ const prevented = !this.fireDecoratorEvent("before-open", {});
204
204
  if (prevented) {
205
205
  this.open = false;
206
206
  e.preventDefault();
@@ -208,10 +208,10 @@ let Menu = Menu_1 = class Menu extends UI5Element {
208
208
  }
209
209
  _afterPopoverOpen() {
210
210
  this._menuItems[0]?.focus();
211
- this.fireEvent("open", {}, false, true);
211
+ this.fireDecoratorEvent("open");
212
212
  }
213
213
  _beforePopoverClose(e) {
214
- const prevented = !this.fireEvent("before-close", { escPressed: e.detail.escPressed }, true, true);
214
+ const prevented = !this.fireDecoratorEvent("before-close", { escPressed: e.detail.escPressed });
215
215
  if (prevented) {
216
216
  this.open = true;
217
217
  e.preventDefault();
@@ -254,42 +254,57 @@ Menu = Menu_1 = __decorate([
254
254
  * Fired when an item is being clicked.
255
255
  *
256
256
  * **Note:** Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.
257
- * @allowPreventDefault
258
257
  * @param { HTMLElement } item The currently clicked menu item.
259
258
  * @param { string } text The text of the currently clicked menu item.
260
259
  * @public
261
260
  */
262
261
  ,
263
- event("item-click")
262
+ event("item-click", {
263
+ cancelable: true,
264
+ })
264
265
  /**
265
- * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. **This event does not bubble.**
266
+ * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.
266
267
  *
267
268
  * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.
268
269
  * @public
269
- * @allowPreventDefault
270
270
  * @since 1.10.0
271
271
  * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.
272
272
  */
273
273
  ,
274
- event("before-open")
274
+ event("before-open", {
275
+ bubbles: true,
276
+ cancelable: true,
277
+ })
275
278
  /**
276
- * Fired after the menu is opened. **This event does not bubble.**
279
+ * Fired after the menu is opened.
277
280
  * @public
278
281
  * @since 1.10.0
279
282
  */
280
283
  ,
281
- event("open")
284
+ event("open", {
285
+ bubbles: true,
286
+ })
282
287
  /**
283
- * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. **This event does not bubble.**
288
+ * Fired when the menu is being closed.
289
+ * @private
290
+ */
291
+ ,
292
+ event("close-menu", {
293
+ bubbles: true,
294
+ })
295
+ /**
296
+ * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.
284
297
  * @public
285
- * @allowPreventDefault
286
298
  * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.
287
299
  * @since 1.10.0
288
300
  */
289
301
  ,
290
- event("before-close")
302
+ event("before-close", {
303
+ bubbles: true,
304
+ cancelable: true,
305
+ })
291
306
  /**
292
- * Fired after the menu is closed. **This event does not bubble.**
307
+ * Fired after the menu is closed.
293
308
  * @public
294
309
  * @since 1.10.0
295
310
  */
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 type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\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} 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 * 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 * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event(\"item-click\")\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. **This event does not bubble.**\n *\n * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.\n * @public\n * @allowPreventDefault\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\n/**\n * Fired after the menu is opened. **This event does not bubble.**\n * @public\n * @since 1.10.0\n */\n@event(\"open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. **This event does not bubble.**\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\")\n\n/**\n * Fired after the menu is closed. **This event does not bubble.**\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}\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.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\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.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t\t\"text\": item.text || \"\",\n\t\t\t}, true, false);\n\n\t\t\tif (!prevented && this._popover) {\n\t\t\t\titem.fireEvent(\"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\tif (!isLeft(e) && !isRight(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst shouldCloseMenu = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\t\tconst item = e.target as MenuItem;\n\t\tconst parentElement = item.parentElement as MenuItem;\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (shouldOpenMenu) {\n\t\t\tthis._openItemSubMenu(item);\n\t\t} else if (shouldCloseMenu && parentElement.hasAttribute(\"ui5-menu-item\") && parentElement._popover) {\n\t\t\tparentElement._popover.open = false;\n\t\t\tparentElement.selected = false;\n\t\t\t(parentElement._popover.opener as HTMLElement)?.focus();\n\t\t}\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, true);\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.fireEvent(\"open\", {}, false, true);\n\t}\n\n\t_beforePopoverClose(e: UI5CustomEvent<ResponsivePopover, \"before-close\">) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, true);\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":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,EACN,MAAM,EACN,OAAO,EACP,OAAO,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,OAAO,EACP,SAAS,GACT,MAAM,wCAAwC,CAAC;AAChD,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,mDAAmD,CAAC;AAC3D,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,qBAAqB,MAAM,yDAAyD,CAAC;AAG5F,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAI5B,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACN,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,MAAM,eAAe,GAAG,GAAG,CAAC;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAoEH,IAAM,IAAI,YAAV,MAAM,IAAK,SAAQ,UAAU;IAA7B;;QAiBC;;;;;WAKG;QAEH,SAAI,GAAG,KAAK,CAAC;QAEb;;;;;WAKG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;;;;WAKG;QAEH,iBAAY,GAAG,IAAI,CAAC;IAkMrB,CAAC;IAxKA,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,MAAI,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO;QACV,OAAO,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;IACvF,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,MAAI,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB;QAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM;QACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,gBAAgB,CAAC,IAAc;QAC9B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO;QACR,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;YACtC,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,IAAc;QAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,CAAC;IACF,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,IAAI,SAAS,EAAE,EAAE,CAAC;YACjB,oCAAoC;YACpC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAkB,CAAC;YAElC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,iCAAiC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAA2B;QACtC,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEzC,IAAI,aAAa,EAAE,CAAC;YACnB,OAAO,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,IAAc;QAC/B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAgC,CAAC;YACrD,MAAM,aAAa,GAAG,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChH,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,CAAwC;QAClD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAgB,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;gBACxD,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,YAAY,CAAC,CAAgB;QAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAkB,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAyB,CAAC;QAErD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,eAAe,IAAI,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrG,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;YACpC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC9B,aAAa,CAAC,QAAQ,CAAC,MAAsB,EAAE,KAAK,EAAE,CAAC;QACzD,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,CAAc;QAChC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAE9D,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,mBAAmB,CAAC,CAAc;QACjC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEhG,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AA7NA;IADC,QAAQ,EAAE;wCACS;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kCACf;AASb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qCACZ;AAShB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACP;AAWpB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;oCACjB;AAS9B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;mCACnD;AAGlB;IADN,IAAI,CAAC,oBAAoB,CAAC;8BACG;AAjEzB,IAAI;IAnET,aAAa,CAAC;QACd,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,YAAY;KACtB,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,aAAa,EAAE;QACrB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,cAAc,EAAE;QACtB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,OAAO,CAAC;GAET,IAAI,CA4OT;AAED,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,eAAe,IAAI,CAAC","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} 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 * 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\tif (!isLeft(e) && !isRight(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst shouldCloseMenu = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst shouldOpenMenu = this.isRtl ? isLeft(e) : isRight(e);\n\t\tconst item = e.target as MenuItem;\n\t\tconst parentElement = item.parentElement as MenuItem;\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (shouldOpenMenu) {\n\t\t\tthis._openItemSubMenu(item);\n\t\t} else if (shouldCloseMenu && parentElement.hasAttribute(\"ui5-menu-item\") && parentElement._popover) {\n\t\t\tparentElement._popover.open = false;\n\t\t\tparentElement.selected = false;\n\t\t\t(parentElement._popover.opener as HTMLElement)?.focus();\n\t\t}\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\", {});\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis._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,4 +1,4 @@
1
- import type { AccessibilityAttributes, UI5CustomEvent } from "@ui5/webcomponents-base";
1
+ import type { AccessibilityAttributes } from "@ui5/webcomponents-base";
2
2
  import "@ui5/webcomponents-icons/dist/nav-back.js";
3
3
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
4
  import type { ListItemAccessibilityAttributes } from "./ListItem.js";
@@ -37,6 +37,13 @@ type MenuItemAccessibilityAttributes = Pick<AccessibilityAttributes, "ariaKeySho
37
37
  * @public
38
38
  */
39
39
  declare class MenuItem extends ListItem implements IMenuItem {
40
+ eventDetails: ListItem["eventDetails"] & {
41
+ "before-open": MenuBeforeOpenEventDetail;
42
+ "open": void;
43
+ "before-close": MenuBeforeCloseEventDetail;
44
+ "close": void;
45
+ "close-menu": void;
46
+ };
40
47
  /**
41
48
  * Defines the text of the tree item.
42
49
  * @default undefined
@@ -191,7 +198,7 @@ declare class MenuItem extends ListItem implements IMenuItem {
191
198
  _close(): void;
192
199
  _beforePopoverOpen(e: CustomEvent): void;
193
200
  _afterPopoverOpen(): void;
194
- _beforePopoverClose(e: UI5CustomEvent<ResponsivePopover, "before-close">): void;
201
+ _beforePopoverClose(e: CustomEvent): void;
195
202
  _afterPopoverClose(): void;
196
203
  }
197
204
  export default MenuItem;
package/dist/MenuItem.js CHANGED
@@ -8,6 +8,7 @@ var MenuItem_1;
8
8
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
12
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
13
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
14
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
@@ -162,7 +163,7 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
162
163
  this._popover.open = false;
163
164
  }
164
165
  this.selected = false;
165
- this.fireEvent("close-menu", {});
166
+ this.fireDecoratorEvent("close-menu");
166
167
  }
167
168
  _close() {
168
169
  if (this._popover) {
@@ -171,17 +172,17 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
171
172
  this.selected = false;
172
173
  }
173
174
  _beforePopoverOpen(e) {
174
- const prevented = !this.fireEvent("before-open", {}, true, false);
175
+ const prevented = !this.fireDecoratorEvent("before-open", {});
175
176
  if (prevented) {
176
177
  e.preventDefault();
177
178
  }
178
179
  }
179
180
  _afterPopoverOpen() {
180
181
  this.items[0]?.focus();
181
- this.fireEvent("open", {}, false, false);
182
+ this.fireDecoratorEvent("open");
182
183
  }
183
184
  _beforePopoverClose(e) {
184
- const prevented = !this.fireEvent("before-close", { escPressed: e.detail.escPressed }, true, false);
185
+ const prevented = !this.fireDecoratorEvent("before-close", { escPressed: e.detail.escPressed });
185
186
  if (prevented) {
186
187
  e.preventDefault();
187
188
  return;
@@ -190,12 +191,12 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
190
191
  if (e.detail.escPressed) {
191
192
  this.focus();
192
193
  if (isPhone()) {
193
- this.fireEvent("close-menu", {});
194
+ this.fireDecoratorEvent("close-menu");
194
195
  }
195
196
  }
196
197
  }
197
198
  _afterPopoverClose() {
198
- this.fireEvent("close", {}, false, false);
199
+ this.fireDecoratorEvent("close");
199
200
  }
200
201
  };
201
202
  __decorate([
@@ -244,6 +245,49 @@ MenuItem = MenuItem_1 = __decorate([
244
245
  template: MenuItemTemplate,
245
246
  styles: [ListItem.styles, menuItemCss],
246
247
  })
248
+ /**
249
+ * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening.
250
+ *
251
+ * **Note:** Since 1.14.0 the event is also fired before a sub-menu opens.
252
+ * @public
253
+ * @since 1.10.0
254
+ * @param { HTMLElement } item The `ui5-menu-item` that triggers opening of the sub-menu or undefined when fired upon root menu opening.
255
+ */
256
+ ,
257
+ event("before-open", {
258
+ cancelable: true,
259
+ })
260
+ /**
261
+ * Fired after the menu is opened.
262
+ * @public
263
+ */
264
+ ,
265
+ event("open")
266
+ /**
267
+ * Fired when the menu is being closed.
268
+ * @private
269
+ */
270
+ ,
271
+ event("close-menu", {
272
+ bubbles: true,
273
+ })
274
+ /**
275
+ * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing.
276
+ * @public
277
+ * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.
278
+ * @since 1.10.0
279
+ */
280
+ ,
281
+ event("before-close", {
282
+ cancelable: true,
283
+ })
284
+ /**
285
+ * Fired after the menu is closed.
286
+ * @public
287
+ * @since 1.10.0
288
+ */
289
+ ,
290
+ event("close")
247
291
  ], MenuItem);
248
292
  MenuItem.define();
249
293
  export default MenuItem;
@@ -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, UI5CustomEvent } from \"@ui5/webcomponents-base\";\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 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})\nclass MenuItem extends ListItem implements IMenuItem {\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\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: this.accessibilityAttributes.role || \"menuitem\" as const,\n\t\t\tariaHaspopup: this.hasSubmenu ? \"menu\" as const : 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.fireEvent(\"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.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\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.fireEvent(\"open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: UI5CustomEvent<ResponsivePopover, \"before-close\">) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\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.fireEvent(\"close-menu\", {});\n\t\t\t}\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.fireEvent(\"close\", {}, false, false);\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 } 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 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\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: this.accessibilityAttributes.role || \"menuitem\" as const,\n\t\t\tariaHaspopup: this.hasSubmenu ? \"menu\" as const : 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"]}
@@ -5,7 +5,7 @@ import BusyIndicator from "./BusyIndicator.js";
5
5
  import ResponsivePopover from "./ResponsivePopover.js";
6
6
  import declineIcon from "@ui5/webcomponents-icons/dist/decline.js";
7
7
  export default function NavigationMenuTemplate() {
8
- return (_jsxs(ResponsivePopover, { id: `${this._id}-navigation-menu-rp`, class: "ui5-menu-rp ui5-navigation-menu", verticalAlign: "Center", opener: this.opener, open: this.open, preventInitialFocus: true, preventFocusRestore: true, accessibleNameRef: `${this._id}-navigationMenuPopoverText`, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, children: [_jsx("span", { id: `${this._id}-navigationMenuPopoverText`, class: "ui5-hidden-text", children: this.accSideNavigationPopoverHiddenText }), this.isPhone &&
8
+ return (_jsxs(ResponsivePopover, { id: `${this._id}-navigation-menu-rp`, class: "ui5-menu-rp ui5-navigation-menu", verticalAlign: "Center", opener: this.opener, open: this.open, preventInitialFocus: true, preventFocusRestore: true, accessibleNameRef: `${this._id}-navigationMenuPopoverText`, onBeforeOpen: this._beforePopoverOpen, onOpen: this._afterPopoverOpen, onBeforeClose: this._beforePopoverClose, onClose: this._afterPopoverClose, hideArrow: true, children: [_jsx("span", { id: `${this._id}-navigationMenuPopoverText`, class: "ui5-hidden-text", children: this.accSideNavigationPopoverHiddenText }), this.isPhone &&
9
9
  _jsxs("div", { slot: "header", class: "ui5-menu-dialog-header", children: [_jsx("div", { class: "ui5-menu-dialog-title", children: _jsx("div", { children: this.headerText }) }), _jsx(Button, { icon: declineIcon, design: "Transparent", "aria-label": this.labelClose, onClick: this._close })] }), _jsx("div", { id: `${this._id}-menu-main`, class: "ui5-navigation-menu-main", children: this.items.length > 0 ?
10
10
  _jsx(List, { id: `${this._id}-menu-list`, accessibleRole: "Tree", selectionMode: "None", loading: this.loading, loadingDelay: this.loadingDelay, separators: "None", onItemClick: this._itemClick, onKeyDown: this._itemKeyDown, "onui5-close-menu": this._close, children: _jsx("slot", {}) })
11
11
  :
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationMenuTemplate.js","sourceRoot":"","sources":["../src/NavigationMenuTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,sBAAsB;IAC7C,OAAO,CACN,MAAC,iBAAiB,IACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,qBAAqB,EACpC,KAAK,EAAC,iCAAiC,EACvC,aAAa,EAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,mBAAmB,EAAE,IAAI,EACzB,mBAAmB,EAAE,IAAI,EACzB,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,4BAA4B,EAC1D,YAAY,EAAE,IAAI,CAAC,kBAAkB,EACrC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,aAAa,EAAE,IAAI,CAAC,mBAAmB,EACvC,OAAO,EAAE,IAAI,CAAC,kBAAkB,aAEhC,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,4BAA4B,EAAE,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,kCAAkC,GAAQ,EAC1H,IAAI,CAAC,OAAO;gBACZ,eAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,wBAAwB,aAChD,cAAK,KAAK,EAAC,uBAAuB,YACjC,wBAAM,IAAI,CAAC,UAAU,GAAO,GACvB,EACN,KAAC,MAAM,IACN,IAAI,EAAE,WAAW,EACjB,MAAM,EAAC,aAAa,gBACR,IAAI,CAAC,UAAU,EAC3B,OAAO,EAAE,IAAI,CAAC,MAAM,GAEZ,IACJ,EAEP,cAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAAE,KAAK,EAAC,0BAA0B,YAChE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACvB,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAC3B,cAAc,EAAC,MAAM,EACrB,aAAa,EAAC,MAAM,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAC,MAAM,EACjB,WAAW,EAAE,IAAI,CAAC,UAAU,EAC5B,SAAS,EAAE,IAAI,CAAC,YAAY,sBAEV,IAAI,CAAC,MAAM,YAE7B,gBAAa,GACP;oBACP,CAAC;wBACD,IAAI,CAAC,OAAO;4BACX,KAAC,aAAa,IACb,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,sBAAsB,EACrC,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,KAAK,EAAC,yBAAyB,GACf,GAEd,IACa,CACpB,CAAC;AACH,CAAC","sourcesContent":["import List from \"./List.js\";\nimport Button from \"./Button.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type NavigationMenu from \"./NavigationMenu.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\n\nexport default function NavigationMenuTemplate(this: NavigationMenu) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid={`${this._id}-navigation-menu-rp`}\n\t\t\tclass=\"ui5-menu-rp ui5-navigation-menu\"\n\t\t\tverticalAlign=\"Center\"\n\t\t\topener={this.opener}\n\t\t\topen={this.open}\n\t\t\tpreventInitialFocus={true}\n\t\t\tpreventFocusRestore={true}\n\t\t\taccessibleNameRef={`${this._id}-navigationMenuPopoverText`}\n\t\t\tonBeforeOpen={this._beforePopoverOpen}\n\t\t\tonOpen={this._afterPopoverOpen}\n\t\t\tonBeforeClose={this._beforePopoverClose}\n\t\t\tonClose={this._afterPopoverClose}\n\t\t>\n\t\t\t<span id={`${this._id}-navigationMenuPopoverText`} class=\"ui5-hidden-text\">{this.accSideNavigationPopoverHiddenText}</span>\n\t\t\t{this.isPhone &&\n\t\t\t\t<div slot=\"header\" class=\"ui5-menu-dialog-header\">\n\t\t\t\t\t<div class=\"ui5-menu-dialog-title\">\n\t\t\t\t\t\t<div>{this.headerText}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={declineIcon}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\taria-label={this.labelClose}\n\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div id={`${this._id}-menu-main`} class=\"ui5-navigation-menu-main\">\n\t\t\t\t{this.items.length > 0 ?\n\t\t\t\t\t<List\n\t\t\t\t\t\tid={`${this._id}-menu-list`}\n\t\t\t\t\t\taccessibleRole=\"Tree\"\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\tonItemClick={this._itemClick}\n\t\t\t\t\t\tonKeyDown={this._itemKeyDown}\n\t\t\t\t\t\t// events bubbling from slotted items\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\t:\n\t\t\t\t\tthis.loading &&\n\t\t\t\t\t\t<BusyIndicator\n\t\t\t\t\t\t\tid={`${this._id}-menu-busy-indicator`}\n\t\t\t\t\t\t\tactive={true}\n\t\t\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\t\t\tclass=\"ui5-menu-busy-indicator\"\n\t\t\t\t\t\t></BusyIndicator>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ResponsivePopover>\n\t);\n}\n"]}
1
+ {"version":3,"file":"NavigationMenuTemplate.js","sourceRoot":"","sources":["../src/NavigationMenuTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,sBAAsB;IAC7C,OAAO,CACN,MAAC,iBAAiB,IACjB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,qBAAqB,EACpC,KAAK,EAAC,iCAAiC,EACvC,aAAa,EAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,mBAAmB,EAAE,IAAI,EACzB,mBAAmB,EAAE,IAAI,EACzB,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,4BAA4B,EAC1D,YAAY,EAAE,IAAI,CAAC,kBAAkB,EACrC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,aAAa,EAAE,IAAI,CAAC,mBAAmB,EACvC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,SAAS,EAAE,IAAI,aAEf,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,4BAA4B,EAAE,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,kCAAkC,GAAQ,EAC1H,IAAI,CAAC,OAAO;gBACZ,eAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,wBAAwB,aAChD,cAAK,KAAK,EAAC,uBAAuB,YACjC,wBAAM,IAAI,CAAC,UAAU,GAAO,GACvB,EACN,KAAC,MAAM,IACN,IAAI,EAAE,WAAW,EACjB,MAAM,EAAC,aAAa,gBACR,IAAI,CAAC,UAAU,EAC3B,OAAO,EAAE,IAAI,CAAC,MAAM,GAEZ,IACJ,EAEP,cAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAAE,KAAK,EAAC,0BAA0B,YAChE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACvB,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAC3B,cAAc,EAAC,MAAM,EACrB,aAAa,EAAC,MAAM,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAC,MAAM,EACjB,WAAW,EAAE,IAAI,CAAC,UAAU,EAC5B,SAAS,EAAE,IAAI,CAAC,YAAY,sBAEV,IAAI,CAAC,MAAM,YAE7B,gBAAa,GACP;oBACP,CAAC;wBACD,IAAI,CAAC,OAAO;4BACX,KAAC,aAAa,IACb,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,sBAAsB,EACrC,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,KAAK,EAAC,yBAAyB,GACf,GAEd,IACa,CACpB,CAAC;AACH,CAAC","sourcesContent":["import List from \"./List.js\";\nimport Button from \"./Button.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type NavigationMenu from \"./NavigationMenu.js\";\nimport declineIcon from \"@ui5/webcomponents-icons/dist/decline.js\";\n\nexport default function NavigationMenuTemplate(this: NavigationMenu) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid={`${this._id}-navigation-menu-rp`}\n\t\t\tclass=\"ui5-menu-rp ui5-navigation-menu\"\n\t\t\tverticalAlign=\"Center\"\n\t\t\topener={this.opener}\n\t\t\topen={this.open}\n\t\t\tpreventInitialFocus={true}\n\t\t\tpreventFocusRestore={true}\n\t\t\taccessibleNameRef={`${this._id}-navigationMenuPopoverText`}\n\t\t\tonBeforeOpen={this._beforePopoverOpen}\n\t\t\tonOpen={this._afterPopoverOpen}\n\t\t\tonBeforeClose={this._beforePopoverClose}\n\t\t\tonClose={this._afterPopoverClose}\n\t\t\thideArrow={true}\n\t\t>\n\t\t\t<span id={`${this._id}-navigationMenuPopoverText`} class=\"ui5-hidden-text\">{this.accSideNavigationPopoverHiddenText}</span>\n\t\t\t{this.isPhone &&\n\t\t\t\t<div slot=\"header\" class=\"ui5-menu-dialog-header\">\n\t\t\t\t\t<div class=\"ui5-menu-dialog-title\">\n\t\t\t\t\t\t<div>{this.headerText}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={declineIcon}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\taria-label={this.labelClose}\n\t\t\t\t\t\tonClick={this._close}\n\t\t\t\t\t>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div id={`${this._id}-menu-main`} class=\"ui5-navigation-menu-main\">\n\t\t\t\t{this.items.length > 0 ?\n\t\t\t\t\t<List\n\t\t\t\t\t\tid={`${this._id}-menu-list`}\n\t\t\t\t\t\taccessibleRole=\"Tree\"\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tloading={this.loading}\n\t\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\tonItemClick={this._itemClick}\n\t\t\t\t\t\tonKeyDown={this._itemKeyDown}\n\t\t\t\t\t\t// events bubbling from slotted items\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\t:\n\t\t\t\t\tthis.loading &&\n\t\t\t\t\t\t<BusyIndicator\n\t\t\t\t\t\t\tid={`${this._id}-menu-busy-indicator`}\n\t\t\t\t\t\t\tactive={true}\n\t\t\t\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\t\t\t\tclass=\"ui5-menu-busy-indicator\"\n\t\t\t\t\t\t></BusyIndicator>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ResponsivePopover>\n\t);\n}\n"]}
package/dist/Popover.d.ts CHANGED
@@ -187,7 +187,7 @@ declare class Popover extends Popup {
187
187
  _adjustForIOSKeyboard(top: number): number;
188
188
  getPopoverSize(): PopoverSize;
189
189
  _showOutsideViewport(): void;
190
- _isUI5Element(el: HTMLElement): el is UI5Element;
190
+ _isUI5AbstractElement(el: HTMLElement): el is UI5Element;
191
191
  get arrowDOM(): Element;
192
192
  /**
193
193
  * @private
package/dist/Popover.js CHANGED
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var Popover_1;
8
+ import { instanceOfUI5Element } from "@ui5/webcomponents-base/dist/UI5Element.js";
8
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
@@ -195,7 +196,7 @@ let Popover = Popover_1 = class Popover extends Popup {
195
196
  return opener;
196
197
  }
197
198
  if (opener instanceof HTMLElement) {
198
- return this._isUI5Element(opener) ? opener.getFocusDomRef() : opener;
199
+ return this._isUI5AbstractElement(opener) ? opener.getFocusDomRef() : opener;
199
200
  }
200
201
  let rootNode = this.getRootNode();
201
202
  if (rootNode === this) {
@@ -205,8 +206,8 @@ let Popover = Popover_1 = class Popover extends Popup {
205
206
  if (rootNode instanceof ShadowRoot && !openerHTMLElement) {
206
207
  openerHTMLElement = document.getElementById(opener);
207
208
  }
208
- if (openerHTMLElement && this._isUI5Element(openerHTMLElement)) {
209
- return openerHTMLElement.getFocusDomRef() || openerHTMLElement;
209
+ if (openerHTMLElement) {
210
+ return this._isUI5AbstractElement(openerHTMLElement) ? openerHTMLElement.getFocusDomRef() : openerHTMLElement;
210
211
  }
211
212
  return openerHTMLElement;
212
213
  }
@@ -256,7 +257,7 @@ let Popover = Popover_1 = class Popover extends Popup {
256
257
  async _show() {
257
258
  super._show();
258
259
  const opener = this.getOpenerHTMLElement(this.opener);
259
- if (opener && this._isUI5Element(opener) && !opener.getDomRef()) {
260
+ if (opener && instanceOfUI5Element(opener) && !opener.getDomRef()) {
260
261
  return;
261
262
  }
262
263
  if (!this._opened) {
@@ -332,8 +333,8 @@ let Popover = Popover_1 = class Popover extends Popup {
332
333
  left: "-10000px",
333
334
  });
334
335
  }
335
- _isUI5Element(el) {
336
- return "isUI5Element" in el;
336
+ _isUI5AbstractElement(el) {
337
+ return instanceOfUI5Element(el) && el.isUI5AbstractElement;
337
338
  }
338
339
  get arrowDOM() {
339
340
  return this.shadowRoot.querySelector(".ui5-popover-arrow");