@ui5/webcomponents 1.21.0 → 1.22.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 (797) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +16 -47
  4. package/dist/Avatar.js +4 -12
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarGroup.d.ts +13 -30
  7. package/dist/AvatarGroup.js +11 -15
  8. package/dist/AvatarGroup.js.map +1 -1
  9. package/dist/Badge.d.ts +61 -20
  10. package/dist/Badge.js +98 -12
  11. package/dist/Badge.js.map +1 -1
  12. package/dist/Breadcrumbs.d.ts +4 -16
  13. package/dist/Breadcrumbs.js +16 -6
  14. package/dist/Breadcrumbs.js.map +1 -1
  15. package/dist/BreadcrumbsItem.d.ts +4 -18
  16. package/dist/BreadcrumbsItem.js +1 -6
  17. package/dist/BreadcrumbsItem.js.map +1 -1
  18. package/dist/BusyIndicator.d.ts +6 -24
  19. package/dist/BusyIndicator.js +2 -4
  20. package/dist/BusyIndicator.js.map +1 -1
  21. package/dist/Button.d.ts +20 -48
  22. package/dist/Button.js +3 -15
  23. package/dist/Button.js.map +1 -1
  24. package/dist/Calendar.d.ts +7 -18
  25. package/dist/Calendar.js +19 -19
  26. package/dist/Calendar.js.map +1 -1
  27. package/dist/CalendarDate.d.ts +2 -7
  28. package/dist/CalendarDate.js +1 -5
  29. package/dist/CalendarDate.js.map +1 -1
  30. package/dist/CalendarHeader.d.ts +8 -9
  31. package/dist/CalendarHeader.js.map +1 -1
  32. package/dist/CalendarPart.d.ts +1 -4
  33. package/dist/CalendarPart.js +7 -5
  34. package/dist/CalendarPart.js.map +1 -1
  35. package/dist/Card.d.ts +5 -19
  36. package/dist/Card.js +1 -5
  37. package/dist/Card.js.map +1 -1
  38. package/dist/CardHeader.d.ts +14 -38
  39. package/dist/CardHeader.js +6 -18
  40. package/dist/CardHeader.js.map +1 -1
  41. package/dist/Carousel.d.ts +17 -58
  42. package/dist/Carousel.js +7 -19
  43. package/dist/Carousel.js.map +1 -1
  44. package/dist/CheckBox.d.ts +14 -49
  45. package/dist/CheckBox.js +3 -15
  46. package/dist/CheckBox.js.map +1 -1
  47. package/dist/ColorPalette.d.ts +6 -18
  48. package/dist/ColorPalette.js +4 -6
  49. package/dist/ColorPalette.js.map +1 -1
  50. package/dist/ColorPaletteItem.d.ts +10 -14
  51. package/dist/ColorPaletteItem.js +2 -5
  52. package/dist/ColorPaletteItem.js.map +1 -1
  53. package/dist/ColorPalettePopover.d.ts +17 -32
  54. package/dist/ColorPalettePopover.js +8 -13
  55. package/dist/ColorPalettePopover.js.map +1 -1
  56. package/dist/ColorPicker.d.ts +6 -8
  57. package/dist/ColorPicker.js +1 -5
  58. package/dist/ColorPicker.js.map +1 -1
  59. package/dist/ComboBox.d.ts +16 -58
  60. package/dist/ComboBox.js +5 -9
  61. package/dist/ComboBox.js.map +1 -1
  62. package/dist/ComboBoxGroupItem.d.ts +3 -8
  63. package/dist/ComboBoxGroupItem.js +2 -5
  64. package/dist/ComboBoxGroupItem.js.map +1 -1
  65. package/dist/ComboBoxItem.d.ts +4 -11
  66. package/dist/ComboBoxItem.js +2 -5
  67. package/dist/ComboBoxItem.js.map +1 -1
  68. package/dist/CustomListItem.d.ts +9 -27
  69. package/dist/CustomListItem.js +8 -24
  70. package/dist/CustomListItem.js.map +1 -1
  71. package/dist/DateComponentBase.d.ts +9 -18
  72. package/dist/DateComponentBase.js +2 -3
  73. package/dist/DateComponentBase.js.map +1 -1
  74. package/dist/DatePicker.d.ts +44 -75
  75. package/dist/DatePicker.js +46 -44
  76. package/dist/DatePicker.js.map +1 -1
  77. package/dist/DateRangePicker.d.ts +10 -24
  78. package/dist/DateRangePicker.js +5 -16
  79. package/dist/DateRangePicker.js.map +1 -1
  80. package/dist/DateTimePicker.d.ts +7 -9
  81. package/dist/DateTimePicker.js +5 -5
  82. package/dist/DateTimePicker.js.map +1 -1
  83. package/dist/DayPicker.d.ts +42 -35
  84. package/dist/DayPicker.js +35 -27
  85. package/dist/DayPicker.js.map +1 -1
  86. package/dist/Dialog.d.ts +11 -40
  87. package/dist/Dialog.js +6 -19
  88. package/dist/Dialog.js.map +1 -1
  89. package/dist/FileUploader.d.ts +11 -39
  90. package/dist/FileUploader.js +7 -9
  91. package/dist/FileUploader.js.map +1 -1
  92. package/dist/GroupHeaderListItem.d.ts +6 -18
  93. package/dist/GroupHeaderListItem.js +5 -5
  94. package/dist/GroupHeaderListItem.js.map +1 -1
  95. package/dist/Icon.d.ts +12 -34
  96. package/dist/Icon.js +4 -15
  97. package/dist/Icon.js.map +1 -1
  98. package/dist/Input.d.ts +38 -84
  99. package/dist/Input.js +20 -22
  100. package/dist/Input.js.map +1 -1
  101. package/dist/Interfaces.d.ts +115 -133
  102. package/dist/Interfaces.js +1 -193
  103. package/dist/Interfaces.js.map +1 -1
  104. package/dist/Label.d.ts +8 -25
  105. package/dist/Label.js +4 -13
  106. package/dist/Label.js.map +1 -1
  107. package/dist/Link.d.ts +13 -42
  108. package/dist/Link.js +18 -9
  109. package/dist/Link.js.map +1 -1
  110. package/dist/List.d.ts +14 -50
  111. package/dist/List.js +21 -13
  112. package/dist/List.js.map +1 -1
  113. package/dist/ListItem.d.ts +10 -32
  114. package/dist/ListItem.js +2 -4
  115. package/dist/ListItem.js.map +1 -1
  116. package/dist/ListItemBase.d.ts +3 -9
  117. package/dist/ListItemBase.js +1 -3
  118. package/dist/ListItemBase.js.map +1 -1
  119. package/dist/Menu.d.ts +10 -33
  120. package/dist/Menu.js +21 -16
  121. package/dist/Menu.js.map +1 -1
  122. package/dist/MenuItem.d.ts +11 -32
  123. package/dist/MenuItem.js +1 -5
  124. package/dist/MenuItem.js.map +1 -1
  125. package/dist/MessageStrip.d.ts +10 -28
  126. package/dist/MessageStrip.js +5 -5
  127. package/dist/MessageStrip.js.map +1 -1
  128. package/dist/MonthPicker.d.ts +8 -13
  129. package/dist/MonthPicker.js +6 -13
  130. package/dist/MonthPicker.js.map +1 -1
  131. package/dist/MultiComboBox.d.ts +19 -70
  132. package/dist/MultiComboBox.js +8 -24
  133. package/dist/MultiComboBox.js.map +1 -1
  134. package/dist/MultiComboBoxGroupItem.d.ts +2 -8
  135. package/dist/MultiComboBoxGroupItem.js +1 -5
  136. package/dist/MultiComboBoxGroupItem.js.map +1 -1
  137. package/dist/MultiComboBoxItem.d.ts +4 -8
  138. package/dist/MultiComboBoxItem.js +2 -5
  139. package/dist/MultiComboBoxItem.js.map +1 -1
  140. package/dist/MultiInput.d.ts +9 -16
  141. package/dist/MultiInput.js +4 -7
  142. package/dist/MultiInput.js.map +1 -1
  143. package/dist/NavigationMenu.d.ts +36 -0
  144. package/dist/NavigationMenu.js +123 -0
  145. package/dist/NavigationMenu.js.map +1 -0
  146. package/dist/NavigationMenuItem.d.ts +67 -0
  147. package/dist/NavigationMenuItem.js +51 -0
  148. package/dist/NavigationMenuItem.js.map +1 -0
  149. package/dist/Option.d.ts +11 -28
  150. package/dist/Option.js +2 -6
  151. package/dist/Option.js.map +1 -1
  152. package/dist/Panel.d.ts +16 -52
  153. package/dist/Panel.js +4 -15
  154. package/dist/Panel.js.map +1 -1
  155. package/dist/Popover.d.ts +22 -62
  156. package/dist/Popover.js +12 -27
  157. package/dist/Popover.js.map +1 -1
  158. package/dist/Popup.d.ts +10 -46
  159. package/dist/Popup.js +10 -20
  160. package/dist/Popup.js.map +1 -1
  161. package/dist/ProgressIndicator.d.ts +8 -22
  162. package/dist/ProgressIndicator.js +2 -5
  163. package/dist/ProgressIndicator.js.map +1 -1
  164. package/dist/RadioButton.d.ts +13 -40
  165. package/dist/RadioButton.js +1 -5
  166. package/dist/RadioButton.js.map +1 -1
  167. package/dist/RangeSlider.d.ts +12 -27
  168. package/dist/RangeSlider.js +10 -21
  169. package/dist/RangeSlider.js.map +1 -1
  170. package/dist/RatingIndicator.d.ts +11 -27
  171. package/dist/RatingIndicator.js +1 -5
  172. package/dist/RatingIndicator.js.map +1 -1
  173. package/dist/ResponsivePopover.d.ts +8 -29
  174. package/dist/ResponsivePopover.js +7 -27
  175. package/dist/ResponsivePopover.js.map +1 -1
  176. package/dist/SegmentedButton.d.ts +13 -28
  177. package/dist/SegmentedButton.js +13 -14
  178. package/dist/SegmentedButton.js.map +1 -1
  179. package/dist/SegmentedButtonItem.d.ts +9 -19
  180. package/dist/SegmentedButtonItem.js +2 -5
  181. package/dist/SegmentedButtonItem.js.map +1 -1
  182. package/dist/Select.d.ts +15 -66
  183. package/dist/Select.js +18 -20
  184. package/dist/Select.js.map +1 -1
  185. package/dist/SelectMenu.d.ts +3 -10
  186. package/dist/SelectMenu.js +2 -4
  187. package/dist/SelectMenu.js.map +1 -1
  188. package/dist/SelectMenuOption.d.ts +12 -32
  189. package/dist/SelectMenuOption.js +11 -23
  190. package/dist/SelectMenuOption.js.map +1 -1
  191. package/dist/Slider.d.ts +5 -18
  192. package/dist/Slider.js +4 -15
  193. package/dist/Slider.js.map +1 -1
  194. package/dist/SliderBase.d.ts +11 -32
  195. package/dist/SliderBase.js +22 -17
  196. package/dist/SliderBase.js.map +1 -1
  197. package/dist/SplitButton.d.ts +25 -48
  198. package/dist/SplitButton.js +6 -14
  199. package/dist/SplitButton.js.map +1 -1
  200. package/dist/StandardListItem.d.ts +23 -58
  201. package/dist/StandardListItem.js +15 -22
  202. package/dist/StandardListItem.js.map +1 -1
  203. package/dist/StepInput.d.ts +20 -51
  204. package/dist/StepInput.js +7 -9
  205. package/dist/StepInput.js.map +1 -1
  206. package/dist/SuggestionGroupItem.d.ts +5 -9
  207. package/dist/SuggestionGroupItem.js +2 -5
  208. package/dist/SuggestionGroupItem.js.map +1 -1
  209. package/dist/SuggestionItem.d.ts +15 -27
  210. package/dist/SuggestionItem.js +2 -5
  211. package/dist/SuggestionItem.js.map +1 -1
  212. package/dist/SuggestionListItem.d.ts +7 -20
  213. package/dist/SuggestionListItem.js +4 -15
  214. package/dist/SuggestionListItem.js.map +1 -1
  215. package/dist/Switch.d.ts +16 -48
  216. package/dist/Switch.js +6 -17
  217. package/dist/Switch.js.map +1 -1
  218. package/dist/Tab.d.ts +10 -33
  219. package/dist/Tab.js +3 -7
  220. package/dist/Tab.js.map +1 -1
  221. package/dist/TabContainer.d.ts +21 -87
  222. package/dist/TabContainer.js +14 -23
  223. package/dist/TabContainer.js.map +1 -1
  224. package/dist/TabSeparator.d.ts +3 -8
  225. package/dist/TabSeparator.js +2 -7
  226. package/dist/TabSeparator.js.map +1 -1
  227. package/dist/Table.d.ts +18 -64
  228. package/dist/Table.js +13 -16
  229. package/dist/Table.js.map +1 -1
  230. package/dist/TableCell.d.ts +2 -17
  231. package/dist/TableCell.js +2 -14
  232. package/dist/TableCell.js.map +1 -1
  233. package/dist/TableColumn.d.ts +7 -26
  234. package/dist/TableColumn.js +3 -14
  235. package/dist/TableColumn.js.map +1 -1
  236. package/dist/TableGroupRow.d.ts +6 -28
  237. package/dist/TableGroupRow.js +3 -15
  238. package/dist/TableGroupRow.js.map +1 -1
  239. package/dist/TableRow.d.ts +11 -33
  240. package/dist/TableRow.js +4 -18
  241. package/dist/TableRow.js.map +1 -1
  242. package/dist/TextArea.d.ts +20 -61
  243. package/dist/TextArea.js +3 -16
  244. package/dist/TextArea.js.map +1 -1
  245. package/dist/TimePicker.d.ts +5 -15
  246. package/dist/TimePicker.js +2 -7
  247. package/dist/TimePicker.js.map +1 -1
  248. package/dist/TimePickerBase.d.ts +15 -51
  249. package/dist/TimePickerBase.js +23 -39
  250. package/dist/TimePickerBase.js.map +1 -1
  251. package/dist/TimePickerClock.d.ts +49 -89
  252. package/dist/TimePickerClock.js +38 -33
  253. package/dist/TimePickerClock.js.map +1 -1
  254. package/dist/TimePickerInternals.d.ts +16 -27
  255. package/dist/TimePickerInternals.js +9 -12
  256. package/dist/TimePickerInternals.js.map +1 -1
  257. package/dist/TimeSelection.d.ts +16 -23
  258. package/dist/TimeSelection.js +2 -5
  259. package/dist/TimeSelection.js.map +1 -1
  260. package/dist/TimeSelectionClocks.d.ts +16 -19
  261. package/dist/TimeSelectionClocks.js +14 -17
  262. package/dist/TimeSelectionClocks.js.map +1 -1
  263. package/dist/TimeSelectionInputs.d.ts +12 -16
  264. package/dist/TimeSelectionInputs.js +11 -15
  265. package/dist/TimeSelectionInputs.js.map +1 -1
  266. package/dist/Title.d.ts +7 -21
  267. package/dist/Title.js +5 -15
  268. package/dist/Title.js.map +1 -1
  269. package/dist/Toast.d.ts +12 -26
  270. package/dist/Toast.js +5 -5
  271. package/dist/Toast.js.map +1 -1
  272. package/dist/ToggleButton.d.ts +2 -7
  273. package/dist/ToggleButton.js +1 -4
  274. package/dist/ToggleButton.js.map +1 -1
  275. package/dist/ToggleSpinButton.d.ts +5 -15
  276. package/dist/ToggleSpinButton.js +1 -4
  277. package/dist/ToggleSpinButton.js.map +1 -1
  278. package/dist/Token.d.ts +13 -27
  279. package/dist/Token.js +2 -7
  280. package/dist/Token.js.map +1 -1
  281. package/dist/Tokenizer.d.ts +7 -11
  282. package/dist/Tokenizer.js +1 -5
  283. package/dist/Tokenizer.js.map +1 -1
  284. package/dist/Toolbar.d.ts +7 -26
  285. package/dist/Toolbar.js +4 -8
  286. package/dist/Toolbar.js.map +1 -1
  287. package/dist/ToolbarButton.d.ts +11 -34
  288. package/dist/ToolbarButton.js +1 -6
  289. package/dist/ToolbarButton.js.map +1 -1
  290. package/dist/ToolbarItem.d.ts +5 -28
  291. package/dist/ToolbarItem.js +1 -11
  292. package/dist/ToolbarItem.js.map +1 -1
  293. package/dist/ToolbarRegistry.d.ts +3 -3
  294. package/dist/ToolbarRegistry.js.map +1 -1
  295. package/dist/ToolbarSelect.d.ts +8 -27
  296. package/dist/ToolbarSelect.js +4 -10
  297. package/dist/ToolbarSelect.js.map +1 -1
  298. package/dist/ToolbarSelectOption.d.ts +2 -11
  299. package/dist/ToolbarSelectOption.js +1 -5
  300. package/dist/ToolbarSelectOption.js.map +1 -1
  301. package/dist/ToolbarSeparator.d.ts +1 -5
  302. package/dist/ToolbarSeparator.js +1 -5
  303. package/dist/ToolbarSeparator.js.map +1 -1
  304. package/dist/ToolbarSpacer.d.ts +2 -8
  305. package/dist/ToolbarSpacer.js +1 -5
  306. package/dist/ToolbarSpacer.js.map +1 -1
  307. package/dist/Tree.d.ts +12 -36
  308. package/dist/Tree.js +28 -14
  309. package/dist/Tree.js.map +1 -1
  310. package/dist/TreeItem.d.ts +8 -25
  311. package/dist/TreeItem.js +5 -16
  312. package/dist/TreeItem.js.map +1 -1
  313. package/dist/TreeItemBase.d.ts +12 -38
  314. package/dist/TreeItemBase.js +2 -9
  315. package/dist/TreeItemBase.js.map +1 -1
  316. package/dist/TreeItemCustom.d.ts +6 -22
  317. package/dist/TreeItemCustom.js +5 -16
  318. package/dist/TreeItemCustom.js.map +1 -1
  319. package/dist/WheelSlider.d.ts +9 -23
  320. package/dist/WheelSlider.js +11 -11
  321. package/dist/WheelSlider.js.map +1 -1
  322. package/dist/YearPicker.d.ts +14 -12
  323. package/dist/YearPicker.js +12 -12
  324. package/dist/YearPicker.js.map +1 -1
  325. package/dist/bundle.esm.js.map +1 -1
  326. package/dist/css/themes/Avatar.css +1 -1
  327. package/dist/css/themes/AvatarGroup.css +1 -1
  328. package/dist/css/themes/Badge.css +1 -1
  329. package/dist/css/themes/Breadcrumbs.css +1 -1
  330. package/dist/css/themes/BusyIndicator.css +1 -1
  331. package/dist/css/themes/Button.css +1 -1
  332. package/dist/css/themes/Calendar.css +1 -1
  333. package/dist/css/themes/CalendarHeader.css +1 -1
  334. package/dist/css/themes/Card.css +1 -1
  335. package/dist/css/themes/CardHeader.css +1 -1
  336. package/dist/css/themes/Carousel.css +1 -1
  337. package/dist/css/themes/CheckBox.css +1 -1
  338. package/dist/css/themes/ColorPalette.css +1 -1
  339. package/dist/css/themes/ColorPaletteItem.css +1 -1
  340. package/dist/css/themes/ColorPalettePopover.css +1 -1
  341. package/dist/css/themes/ColorPicker.css +1 -1
  342. package/dist/css/themes/ComboBox.css +1 -1
  343. package/dist/css/themes/CustomListItem.css +1 -1
  344. package/dist/css/themes/DatePicker.css +1 -1
  345. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  346. package/dist/css/themes/DayPicker.css +1 -1
  347. package/dist/css/themes/Dialog.css +1 -1
  348. package/dist/css/themes/FileUploader.css +1 -1
  349. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  350. package/dist/css/themes/GrowingButton.css +1 -1
  351. package/dist/css/themes/Icon.css +1 -1
  352. package/dist/css/themes/Input.css +1 -1
  353. package/dist/css/themes/InputIcon.css +1 -1
  354. package/dist/css/themes/InputSharedStyles.css +1 -1
  355. package/dist/css/themes/Link.css +1 -1
  356. package/dist/css/themes/List.css +1 -1
  357. package/dist/css/themes/ListItem.css +1 -1
  358. package/dist/css/themes/ListItemBase.css +1 -1
  359. package/dist/css/themes/Menu.css +1 -1
  360. package/dist/css/themes/MessageStrip.css +1 -1
  361. package/dist/css/themes/MonthPicker.css +1 -1
  362. package/dist/css/themes/MultiComboBox.css +1 -1
  363. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  364. package/dist/css/themes/MultiInput.css +1 -1
  365. package/dist/css/themes/NavigationMenu.css +1 -0
  366. package/dist/css/themes/Panel.css +1 -1
  367. package/dist/css/themes/Popover.css +1 -1
  368. package/dist/css/themes/PopupsCommon.css +1 -1
  369. package/dist/css/themes/ProgressIndicator.css +1 -1
  370. package/dist/css/themes/RadioButton.css +1 -1
  371. package/dist/css/themes/RangeSlider.css +1 -1
  372. package/dist/css/themes/RatingIndicator.css +1 -1
  373. package/dist/css/themes/ResponsivePopover.css +1 -1
  374. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  375. package/dist/css/themes/SegmentedButton.css +1 -1
  376. package/dist/css/themes/Select.css +1 -1
  377. package/dist/css/themes/SelectMenu.css +1 -1
  378. package/dist/css/themes/SelectPopover.css +1 -1
  379. package/dist/css/themes/SliderBase.css +1 -1
  380. package/dist/css/themes/SplitButton.css +1 -1
  381. package/dist/css/themes/StepInput.css +1 -1
  382. package/dist/css/themes/Switch.css +1 -1
  383. package/dist/css/themes/TabContainer.css +1 -1
  384. package/dist/css/themes/TabInOverflow.css +1 -1
  385. package/dist/css/themes/TabInStrip.css +1 -1
  386. package/dist/css/themes/TabSemanticIcon.css +1 -1
  387. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  388. package/dist/css/themes/Table.css +1 -1
  389. package/dist/css/themes/TableCell.css +1 -1
  390. package/dist/css/themes/TableColumn.css +1 -1
  391. package/dist/css/themes/TableGroupRow.css +1 -1
  392. package/dist/css/themes/TableRow.css +1 -1
  393. package/dist/css/themes/TextArea.css +1 -1
  394. package/dist/css/themes/TimePicker.css +1 -1
  395. package/dist/css/themes/Toast.css +1 -1
  396. package/dist/css/themes/ToggleButton.css +1 -1
  397. package/dist/css/themes/Token.css +1 -1
  398. package/dist/css/themes/Tokenizer.css +1 -1
  399. package/dist/css/themes/TokenizerPopover.css +1 -1
  400. package/dist/css/themes/Toolbar.css +1 -1
  401. package/dist/css/themes/ToolbarPopover.css +1 -1
  402. package/dist/css/themes/TreeItem.css +1 -1
  403. package/dist/css/themes/ValueStateMessage.css +1 -1
  404. package/dist/css/themes/WheelSlider.css +1 -1
  405. package/dist/css/themes/YearPicker.css +1 -1
  406. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  407. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  408. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  409. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  410. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  411. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  412. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  413. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  414. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  415. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  416. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  417. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  418. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  419. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  420. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  421. package/dist/custom-elements-internal.json +20999 -0
  422. package/dist/custom-elements.json +16118 -1
  423. package/dist/features/InputSuggestions.d.ts +10 -10
  424. package/dist/features/InputSuggestions.js +1 -2
  425. package/dist/features/InputSuggestions.js.map +1 -1
  426. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  427. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  428. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  429. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  430. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  431. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  432. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  433. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  434. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  435. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  436. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  437. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  438. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  439. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  440. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  441. package/dist/generated/i18n/i18n-defaults.d.ts +9 -2
  442. package/dist/generated/i18n/i18n-defaults.js +9 -2
  443. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  444. package/dist/generated/templates/BadgeTemplate.lit.js +8 -3
  445. package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -1
  446. package/dist/generated/templates/NavigationMenuTemplate.lit.d.ts +4 -0
  447. package/dist/generated/templates/NavigationMenuTemplate.lit.js +21 -0
  448. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -0
  449. package/dist/generated/themes/Avatar.css.js +1 -1
  450. package/dist/generated/themes/Avatar.css.js.map +1 -1
  451. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  452. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  453. package/dist/generated/themes/Badge.css.js +1 -1
  454. package/dist/generated/themes/Badge.css.js.map +1 -1
  455. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  456. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  457. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  458. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  459. package/dist/generated/themes/Button.css.js +1 -1
  460. package/dist/generated/themes/Button.css.js.map +1 -1
  461. package/dist/generated/themes/Calendar.css.js +1 -1
  462. package/dist/generated/themes/Calendar.css.js.map +1 -1
  463. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  464. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  465. package/dist/generated/themes/Card.css.js +1 -1
  466. package/dist/generated/themes/Card.css.js.map +1 -1
  467. package/dist/generated/themes/CardHeader.css.js +1 -1
  468. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  469. package/dist/generated/themes/Carousel.css.js +1 -1
  470. package/dist/generated/themes/Carousel.css.js.map +1 -1
  471. package/dist/generated/themes/CheckBox.css.js +1 -1
  472. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  473. package/dist/generated/themes/ColorPalette.css.js +1 -1
  474. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  475. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  476. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  477. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  478. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  479. package/dist/generated/themes/ColorPicker.css.js +1 -1
  480. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  481. package/dist/generated/themes/ComboBox.css.js +1 -1
  482. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  483. package/dist/generated/themes/CustomListItem.css.js +1 -1
  484. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  485. package/dist/generated/themes/DatePicker.css.js +1 -1
  486. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  487. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  488. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  489. package/dist/generated/themes/DayPicker.css.js +1 -1
  490. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  491. package/dist/generated/themes/Dialog.css.js +1 -1
  492. package/dist/generated/themes/Dialog.css.js.map +1 -1
  493. package/dist/generated/themes/FileUploader.css.js +1 -1
  494. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  495. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  496. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  497. package/dist/generated/themes/GrowingButton.css.js +1 -1
  498. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  499. package/dist/generated/themes/Icon.css.js +1 -1
  500. package/dist/generated/themes/Icon.css.js.map +1 -1
  501. package/dist/generated/themes/Input.css.js +1 -1
  502. package/dist/generated/themes/Input.css.js.map +1 -1
  503. package/dist/generated/themes/InputIcon.css.js +1 -1
  504. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  505. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  506. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  507. package/dist/generated/themes/Link.css.js +1 -1
  508. package/dist/generated/themes/Link.css.js.map +1 -1
  509. package/dist/generated/themes/List.css.js +1 -1
  510. package/dist/generated/themes/List.css.js.map +1 -1
  511. package/dist/generated/themes/ListItem.css.js +1 -1
  512. package/dist/generated/themes/ListItem.css.js.map +1 -1
  513. package/dist/generated/themes/ListItemBase.css.js +1 -1
  514. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  515. package/dist/generated/themes/Menu.css.js +1 -1
  516. package/dist/generated/themes/Menu.css.js.map +1 -1
  517. package/dist/generated/themes/MessageStrip.css.js +1 -1
  518. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  519. package/dist/generated/themes/MonthPicker.css.js +1 -1
  520. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  521. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  522. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  523. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  524. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  525. package/dist/generated/themes/MultiInput.css.js +1 -1
  526. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  527. package/dist/generated/themes/NavigationMenu.css.d.ts +3 -0
  528. package/dist/generated/themes/NavigationMenu.css.js +9 -0
  529. package/dist/generated/themes/NavigationMenu.css.js.map +1 -0
  530. package/dist/generated/themes/Panel.css.js +1 -1
  531. package/dist/generated/themes/Panel.css.js.map +1 -1
  532. package/dist/generated/themes/Popover.css.js +1 -1
  533. package/dist/generated/themes/Popover.css.js.map +1 -1
  534. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  535. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  536. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  537. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  538. package/dist/generated/themes/RadioButton.css.js +1 -1
  539. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  540. package/dist/generated/themes/RangeSlider.css.js +1 -1
  541. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  542. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  543. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  544. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  545. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  546. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  547. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  548. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  549. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  550. package/dist/generated/themes/Select.css.js +1 -1
  551. package/dist/generated/themes/Select.css.js.map +1 -1
  552. package/dist/generated/themes/SelectMenu.css.js +1 -1
  553. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  554. package/dist/generated/themes/SelectPopover.css.js +1 -1
  555. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  556. package/dist/generated/themes/SliderBase.css.js +1 -1
  557. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  558. package/dist/generated/themes/SplitButton.css.js +1 -1
  559. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  560. package/dist/generated/themes/StepInput.css.js +1 -1
  561. package/dist/generated/themes/StepInput.css.js.map +1 -1
  562. package/dist/generated/themes/Switch.css.js +1 -1
  563. package/dist/generated/themes/Switch.css.js.map +1 -1
  564. package/dist/generated/themes/TabContainer.css.js +1 -1
  565. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  566. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  567. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  568. package/dist/generated/themes/TabInStrip.css.js +1 -1
  569. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  570. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  571. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  572. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  573. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  574. package/dist/generated/themes/Table.css.js +1 -1
  575. package/dist/generated/themes/Table.css.js.map +1 -1
  576. package/dist/generated/themes/TableCell.css.js +1 -1
  577. package/dist/generated/themes/TableCell.css.js.map +1 -1
  578. package/dist/generated/themes/TableColumn.css.js +1 -1
  579. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  580. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  581. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  582. package/dist/generated/themes/TableRow.css.js +1 -1
  583. package/dist/generated/themes/TableRow.css.js.map +1 -1
  584. package/dist/generated/themes/TextArea.css.js +1 -1
  585. package/dist/generated/themes/TextArea.css.js.map +1 -1
  586. package/dist/generated/themes/TimePicker.css.js +1 -1
  587. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  588. package/dist/generated/themes/Toast.css.js +1 -1
  589. package/dist/generated/themes/Toast.css.js.map +1 -1
  590. package/dist/generated/themes/ToggleButton.css.js +1 -1
  591. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  592. package/dist/generated/themes/Token.css.js +1 -1
  593. package/dist/generated/themes/Token.css.js.map +1 -1
  594. package/dist/generated/themes/Tokenizer.css.js +1 -1
  595. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  596. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  597. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  598. package/dist/generated/themes/Toolbar.css.js +1 -1
  599. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  600. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  601. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  602. package/dist/generated/themes/TreeItem.css.js +1 -1
  603. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  604. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  605. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  606. package/dist/generated/themes/WheelSlider.css.js +1 -1
  607. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  608. package/dist/generated/themes/YearPicker.css.js +1 -1
  609. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  610. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  611. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  612. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  613. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  614. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  615. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  616. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  617. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  618. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  619. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  620. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  621. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  622. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  623. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  624. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  625. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  626. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  627. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  628. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  629. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  630. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  631. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  632. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  633. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  634. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  635. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  636. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  637. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  638. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  639. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  640. package/dist/types/AvatarColorScheme.d.ts +0 -15
  641. package/dist/types/AvatarColorScheme.js +0 -15
  642. package/dist/types/AvatarColorScheme.js.map +1 -1
  643. package/dist/types/AvatarGroupType.d.ts +0 -6
  644. package/dist/types/AvatarGroupType.js +0 -6
  645. package/dist/types/AvatarGroupType.js.map +1 -1
  646. package/dist/types/AvatarShape.d.ts +0 -6
  647. package/dist/types/AvatarShape.js +0 -6
  648. package/dist/types/AvatarShape.js.map +1 -1
  649. package/dist/types/AvatarSize.d.ts +0 -9
  650. package/dist/types/AvatarSize.js +0 -9
  651. package/dist/types/AvatarSize.js.map +1 -1
  652. package/dist/types/BackgroundDesign.d.ts +0 -7
  653. package/dist/types/BackgroundDesign.js +0 -7
  654. package/dist/types/BackgroundDesign.js.map +1 -1
  655. package/dist/types/BadgeDesign.d.ts +49 -0
  656. package/dist/types/BadgeDesign.js +51 -0
  657. package/dist/types/BadgeDesign.js.map +1 -0
  658. package/dist/types/BorderDesign.d.ts +0 -6
  659. package/dist/types/BorderDesign.js +0 -6
  660. package/dist/types/BorderDesign.js.map +1 -1
  661. package/dist/types/BreadcrumbsDesign.d.ts +0 -6
  662. package/dist/types/BreadcrumbsDesign.js +0 -6
  663. package/dist/types/BreadcrumbsDesign.js.map +1 -1
  664. package/dist/types/BreadcrumbsSeparatorStyle.d.ts +0 -10
  665. package/dist/types/BreadcrumbsSeparatorStyle.js +0 -10
  666. package/dist/types/BreadcrumbsSeparatorStyle.js.map +1 -1
  667. package/dist/types/BusyIndicatorSize.d.ts +0 -7
  668. package/dist/types/BusyIndicatorSize.js +0 -7
  669. package/dist/types/BusyIndicatorSize.js.map +1 -1
  670. package/dist/types/ButtonDesign.d.ts +0 -10
  671. package/dist/types/ButtonDesign.js +0 -10
  672. package/dist/types/ButtonDesign.js.map +1 -1
  673. package/dist/types/ButtonType.d.ts +0 -7
  674. package/dist/types/ButtonType.js +0 -7
  675. package/dist/types/ButtonType.js.map +1 -1
  676. package/dist/types/CalendarPickersMode.d.ts +6 -10
  677. package/dist/types/CalendarPickersMode.js +6 -10
  678. package/dist/types/CalendarPickersMode.js.map +1 -1
  679. package/dist/types/CalendarSelectionMode.d.ts +0 -7
  680. package/dist/types/CalendarSelectionMode.js +0 -7
  681. package/dist/types/CalendarSelectionMode.js.map +1 -1
  682. package/dist/types/CarouselArrowsPlacement.d.ts +0 -6
  683. package/dist/types/CarouselArrowsPlacement.js +0 -6
  684. package/dist/types/CarouselArrowsPlacement.js.map +1 -1
  685. package/dist/types/CarouselPageIndicatorStyle.d.ts +0 -6
  686. package/dist/types/CarouselPageIndicatorStyle.js +0 -6
  687. package/dist/types/CarouselPageIndicatorStyle.js.map +1 -1
  688. package/dist/types/ComboBoxFilter.d.ts +0 -8
  689. package/dist/types/ComboBoxFilter.js +0 -8
  690. package/dist/types/ComboBoxFilter.js.map +1 -1
  691. package/dist/types/HasPopup.d.ts +0 -9
  692. package/dist/types/HasPopup.js +0 -9
  693. package/dist/types/HasPopup.js.map +1 -1
  694. package/dist/types/IconDesign.d.ts +0 -12
  695. package/dist/types/IconDesign.js +0 -12
  696. package/dist/types/IconDesign.js.map +1 -1
  697. package/dist/types/InputType.d.ts +0 -10
  698. package/dist/types/InputType.js +0 -10
  699. package/dist/types/InputType.js.map +1 -1
  700. package/dist/types/LinkDesign.d.ts +0 -7
  701. package/dist/types/LinkDesign.js +0 -7
  702. package/dist/types/LinkDesign.js.map +1 -1
  703. package/dist/types/ListGrowingMode.d.ts +0 -7
  704. package/dist/types/ListGrowingMode.js +0 -7
  705. package/dist/types/ListGrowingMode.js.map +1 -1
  706. package/dist/types/ListItemType.d.ts +0 -8
  707. package/dist/types/ListItemType.js +0 -8
  708. package/dist/types/ListItemType.js.map +1 -1
  709. package/dist/types/ListMode.d.ts +0 -11
  710. package/dist/types/ListMode.js +0 -11
  711. package/dist/types/ListMode.js.map +1 -1
  712. package/dist/types/ListSeparators.d.ts +0 -7
  713. package/dist/types/ListSeparators.js +0 -7
  714. package/dist/types/ListSeparators.js.map +1 -1
  715. package/dist/types/MessageStripDesign.d.ts +0 -8
  716. package/dist/types/MessageStripDesign.js +0 -8
  717. package/dist/types/MessageStripDesign.js.map +1 -1
  718. package/dist/types/PanelAccessibleRole.d.ts +0 -7
  719. package/dist/types/PanelAccessibleRole.js +0 -7
  720. package/dist/types/PanelAccessibleRole.js.map +1 -1
  721. package/dist/types/PopoverHorizontalAlign.d.ts +0 -8
  722. package/dist/types/PopoverHorizontalAlign.js +0 -8
  723. package/dist/types/PopoverHorizontalAlign.js.map +1 -1
  724. package/dist/types/PopoverPlacementType.d.ts +0 -8
  725. package/dist/types/PopoverPlacementType.js +0 -8
  726. package/dist/types/PopoverPlacementType.js.map +1 -1
  727. package/dist/types/PopoverVerticalAlign.d.ts +0 -8
  728. package/dist/types/PopoverVerticalAlign.js +0 -8
  729. package/dist/types/PopoverVerticalAlign.js.map +1 -1
  730. package/dist/types/PopupAccessibleRole.d.ts +0 -7
  731. package/dist/types/PopupAccessibleRole.js +0 -7
  732. package/dist/types/PopupAccessibleRole.js.map +1 -1
  733. package/dist/types/Priority.d.ts +0 -8
  734. package/dist/types/Priority.js +0 -8
  735. package/dist/types/Priority.js.map +1 -1
  736. package/dist/types/SegmentedButtonMode.d.ts +0 -6
  737. package/dist/types/SegmentedButtonMode.js +0 -6
  738. package/dist/types/SegmentedButtonMode.js.map +1 -1
  739. package/dist/types/SemanticColor.d.ts +0 -9
  740. package/dist/types/SemanticColor.js +0 -9
  741. package/dist/types/SemanticColor.js.map +1 -1
  742. package/dist/types/SwitchDesign.d.ts +0 -6
  743. package/dist/types/SwitchDesign.js +0 -6
  744. package/dist/types/SwitchDesign.js.map +1 -1
  745. package/dist/types/TabContainerBackgroundDesign.d.ts +0 -7
  746. package/dist/types/TabContainerBackgroundDesign.js +0 -7
  747. package/dist/types/TabContainerBackgroundDesign.js.map +1 -1
  748. package/dist/types/TabContainerTabsPlacement.d.ts +0 -6
  749. package/dist/types/TabContainerTabsPlacement.js +0 -6
  750. package/dist/types/TabContainerTabsPlacement.js.map +1 -1
  751. package/dist/types/TabLayout.d.ts +0 -6
  752. package/dist/types/TabLayout.js +0 -6
  753. package/dist/types/TabLayout.js.map +1 -1
  754. package/dist/types/TableColumnPopinDisplay.d.ts +0 -6
  755. package/dist/types/TableColumnPopinDisplay.js +0 -6
  756. package/dist/types/TableColumnPopinDisplay.js.map +1 -1
  757. package/dist/types/TableGrowingMode.d.ts +0 -7
  758. package/dist/types/TableGrowingMode.js +0 -7
  759. package/dist/types/TableGrowingMode.js.map +1 -1
  760. package/dist/types/TableMode.d.ts +0 -7
  761. package/dist/types/TableMode.js +0 -7
  762. package/dist/types/TableMode.js.map +1 -1
  763. package/dist/types/TableRowType.d.ts +0 -6
  764. package/dist/types/TableRowType.js +0 -6
  765. package/dist/types/TableRowType.js.map +1 -1
  766. package/dist/types/TabsOverflowMode.d.ts +0 -6
  767. package/dist/types/TabsOverflowMode.js +0 -6
  768. package/dist/types/TabsOverflowMode.js.map +1 -1
  769. package/dist/types/TitleLevel.d.ts +0 -10
  770. package/dist/types/TitleLevel.js +0 -10
  771. package/dist/types/TitleLevel.js.map +1 -1
  772. package/dist/types/ToastPlacement.d.ts +0 -13
  773. package/dist/types/ToastPlacement.js +0 -13
  774. package/dist/types/ToastPlacement.js.map +1 -1
  775. package/dist/types/ToolbarAlign.d.ts +2 -9
  776. package/dist/types/ToolbarAlign.js +2 -9
  777. package/dist/types/ToolbarAlign.js.map +1 -1
  778. package/dist/types/ToolbarItemOverflowBehavior.d.ts +1 -9
  779. package/dist/types/ToolbarItemOverflowBehavior.js +1 -9
  780. package/dist/types/ToolbarItemOverflowBehavior.js.map +1 -1
  781. package/dist/types/WrappingType.d.ts +0 -6
  782. package/dist/types/WrappingType.js +0 -6
  783. package/dist/types/WrappingType.js.map +1 -1
  784. package/package.json +9 -9
  785. package/src/Badge.hbs +26 -5
  786. package/src/NavigationMenu.hbs +159 -0
  787. package/src/i18n/messagebundle.properties +22 -1
  788. package/src/themes/Badge.css +505 -39
  789. package/src/themes/NavigationMenu.css +69 -0
  790. package/src/themes/base/Badge-parameters.css +106 -3
  791. package/src/themes/sap_belize/BusyIndicator-parameters.css +5 -0
  792. package/src/themes/sap_belize/parameters-bundle.css +1 -1
  793. package/src/themes/sap_horizon/Badge-parameters.css +3 -5
  794. package/src/themes/sap_horizon_dark/Badge-parameters.css +3 -5
  795. package/src/themes/sap_horizon_hcb/Badge-parameters.css +108 -5
  796. package/src/themes/sap_horizon_hcw/Badge-parameters.css +108 -2
  797. package/dist/api.json +0 -1
package/dist/Menu.d.ts CHANGED
@@ -55,11 +55,7 @@ type OpenerStandardListItem = StandardListItem & {
55
55
  * <code>import "@ui5/webcomponents/dist/Menu.js";</code>
56
56
  *
57
57
  * @constructor
58
- * @author SAP SE
59
- * @alias sap.ui.webc.main.Menu
60
- * @extends sap.ui.webc.base.UI5Element
61
- * @tagname ui5-menu
62
- * @appenddocs sap.ui.webc.main.MenuItem
58
+ * @extends UI5Element
63
59
  * @since 1.3.0
64
60
  * @public
65
61
  */
@@ -67,28 +63,22 @@ declare class Menu extends UI5Element {
67
63
  /**
68
64
  * Defines the header text of the menu (displayed on mobile).
69
65
  *
70
- * @name sap.ui.webc.main.Menu.prototype.headerText
71
- * @type {string}
72
- * @defaultvalue ""
66
+ * @default ""
73
67
  * @public
74
68
  */
75
69
  headerText: string;
76
70
  /**
77
71
  * Indicates if the menu is open
78
72
  *
79
- * @name sap.ui.webc.main.Menu.prototype.open
80
73
  * @public
81
- * @type {boolean}
82
- * @defaultvalue false
74
+ * @default false
83
75
  * @since 1.10.0
84
76
  */
85
77
  open: boolean;
86
78
  /**
87
79
  * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.
88
80
  *
89
- * @name sap.ui.webc.main.Menu.prototype.busy
90
- * @type {boolean}
91
- * @defaultvalue false
81
+ * @default false
92
82
  * @public
93
83
  * @since 1.13.0
94
84
  */
@@ -96,9 +86,7 @@ declare class Menu extends UI5Element {
96
86
  /**
97
87
  * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..
98
88
  *
99
- * @name sap.ui.webc.main.Menu.prototype.busyDelay
100
- * @type {sap.ui.webc.base.types.Integer}
101
- * @defaultValue 1000
89
+ * @default 1000
102
90
  * @public
103
91
  * @since 1.13.0
104
92
  */
@@ -106,23 +94,19 @@ declare class Menu extends UI5Element {
106
94
  /**
107
95
  * Defines the ID or DOM Reference of the element that the menu is shown at
108
96
  *
109
- * @name sap.ui.webc.main.Menu.prototype.opener
110
97
  * @public
111
- * @type {sap.ui.webc.base.types.DOMReference}
112
- * @defaultvalue ""
98
+ * @default ""
113
99
  * @since 1.10.0
114
100
  */
115
101
  opener: HTMLElement | string;
116
102
  /**
117
103
  * Defines if the menu is sub-menu (not first-level).
118
- * @type {boolean}
119
- * @defaultvalue false
104
+ * @default false
120
105
  * @private
121
106
  */
122
107
  _isSubMenu: boolean;
123
108
  /**
124
109
  * Stores id of a list item that opened sub-menu.
125
- * @type {string}
126
110
  * @private
127
111
  */
128
112
  _subMenuOpenerId: string;
@@ -131,13 +115,11 @@ declare class Menu extends UI5Element {
131
115
  * (in case of non-phone devices these are the items of the menu,
132
116
  * but for phone devices the items of the currently opened sub-menu
133
117
  * will be populated here)
134
- * @type {array}
135
118
  * @private
136
119
  */
137
120
  _currentItems: Array<CurrentItem>;
138
121
  /**
139
122
  * Stores a list of parent menu items for each sub-menu (on phone).
140
- * @type {array}
141
123
  * @private
142
124
  */
143
125
  _parentItemsStack: Array<MenuItem>;
@@ -158,9 +140,6 @@ declare class Menu extends UI5Element {
158
140
  * <br><br>
159
141
  * <b>Note:</b> Use <code>ui5-menu-item</code> for the intended design.
160
142
  *
161
- * @name sap.ui.webc.main.Menu.prototype.default
162
- * @type {sap.ui.webc.main.IMenuItem[]}
163
- * @slot items
164
143
  * @public
165
144
  */
166
145
  items: Array<MenuItem>;
@@ -181,17 +160,15 @@ declare class Menu extends UI5Element {
181
160
  onAfterRendering(): void;
182
161
  /**
183
162
  * Shows the Menu near the opener element.
184
- * @param {HTMLElement} opener the element that the popover is shown at
163
+ *
164
+ * @param opener the element that the popover is shown at
185
165
  * @public
186
- * @method
187
- * @name sap.ui.webc.main.Menu#showAt
188
166
  */
189
167
  showAt(opener: HTMLElement): Promise<void>;
190
168
  /**
191
169
  * Closes the Menu.
170
+ *
192
171
  * @public
193
- * @method
194
- * @name sap.ui.webc.main.Menu#close
195
172
  */
196
173
  close(): void;
197
174
  _createPopover(): Promise<ResponsivePopover>;
package/dist/Menu.js CHANGED
@@ -60,11 +60,7 @@ const MENU_CLOSE_DELAY = 400;
60
60
  * <code>import "@ui5/webcomponents/dist/Menu.js";</code>
61
61
  *
62
62
  * @constructor
63
- * @author SAP SE
64
- * @alias sap.ui.webc.main.Menu
65
- * @extends sap.ui.webc.base.UI5Element
66
- * @tagname ui5-menu
67
- * @appenddocs sap.ui.webc.main.MenuItem
63
+ * @extends UI5Element
68
64
  * @since 1.3.0
69
65
  * @public
70
66
  */
@@ -139,10 +135,9 @@ let Menu = Menu_1 = class Menu extends UI5Element {
139
135
  }
140
136
  /**
141
137
  * Shows the Menu near the opener element.
142
- * @param {HTMLElement} opener the element that the popover is shown at
138
+ *
139
+ * @param opener the element that the popover is shown at
143
140
  * @public
144
- * @method
145
- * @name sap.ui.webc.main.Menu#showAt
146
141
  */
147
142
  async showAt(opener) {
148
143
  if (isPhone()) {
@@ -164,9 +159,8 @@ let Menu = Menu_1 = class Menu extends UI5Element {
164
159
  }
165
160
  /**
166
161
  * Closes the Menu.
162
+ *
167
163
  * @public
168
- * @method
169
- * @name sap.ui.webc.main.Menu#close
170
164
  */
171
165
  close() {
172
166
  if (this._popover) {
@@ -485,9 +479,9 @@ Menu = Menu_1 = __decorate([
485
479
  })
486
480
  /**
487
481
  * Fired when an item is being clicked.
482
+ * <br />
488
483
  * <b>Note:</b> Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.
489
484
  *
490
- * @event sap.ui.webc.main.Menu#item-click
491
485
  * @allowPreventDefault
492
486
  * @param { HTMLElement } item The currently clicked menu item.
493
487
  * @param { string } text The text of the currently clicked menu item.
@@ -496,9 +490,15 @@ Menu = Menu_1 = __decorate([
496
490
  ,
497
491
  event("item-click", {
498
492
  detail: {
493
+ /**
494
+ * @public
495
+ */
499
496
  item: {
500
497
  type: HTMLElement,
501
498
  },
499
+ /**
500
+ * @public
501
+ */
502
502
  text: {
503
503
  type: String,
504
504
  },
@@ -506,10 +506,10 @@ Menu = Menu_1 = __decorate([
506
506
  })
507
507
  /**
508
508
  * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. <b>This event does not bubble.</b>
509
+ * <br />
509
510
  * <b>Note:</b> Since 1.14.0 the event is also fired before a sub-menu opens.
510
511
  *
511
512
  * @public
512
- * @event sap.ui.webc.main.Menu#before-open
513
513
  * @allowPreventDefault
514
514
  * @since 1.10.0
515
515
  * @param { HTMLElement } item The <code>ui5-menu-item</code> that triggers opening of the sub-menu or undefined when fired upon root menu opening. <b>Note:</b> available since 1.14.0.
@@ -517,6 +517,9 @@ Menu = Menu_1 = __decorate([
517
517
  ,
518
518
  event("before-open", {
519
519
  detail: {
520
+ /**
521
+ * @public
522
+ */
520
523
  item: {
521
524
  type: HTMLElement,
522
525
  },
@@ -526,7 +529,6 @@ Menu = Menu_1 = __decorate([
526
529
  * Fired after the menu is opened. <b>This event does not bubble.</b>
527
530
  *
528
531
  * @public
529
- * @event sap.ui.webc.main.Menu#after-open
530
532
  * @since 1.10.0
531
533
  */
532
534
  ,
@@ -535,7 +537,6 @@ Menu = Menu_1 = __decorate([
535
537
  * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. <b>This event does not bubble.</b>
536
538
  *
537
539
  * @public
538
- * @event sap.ui.webc.main.Menu#before-close
539
540
  * @allowPreventDefault
540
541
  * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.
541
542
  * @since 1.10.0
@@ -543,14 +544,18 @@ Menu = Menu_1 = __decorate([
543
544
  ,
544
545
  event("before-close", {
545
546
  detail: {
546
- escPressed: { type: Boolean },
547
+ /**
548
+ * @public
549
+ */
550
+ escPressed: {
551
+ type: Boolean,
552
+ },
547
553
  },
548
554
  })
549
555
  /**
550
556
  * Fired after the menu is closed. <b>This event does not bubble.</b>
551
557
  *
552
558
  * @public
553
- * @event sap.ui.webc.main.Menu#after-close
554
559
  * @since 1.10.0
555
560
  */
556
561
  ,
package/dist/Menu.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../src/Menu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ResponsivePopoverBeforeCloseEventDetail } from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/MenuTemplate.lit.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\ntype CurrentItem = {\n\titem: MenuItem,\n\tposition: number,\n\tariaHasPopup: string | undefined,\n}\n\nconst MENU_OPEN_DELAY = 300;\nconst MENU_CLOSE_DELAY = 400;\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-menu</code> component represents a hierarchical menu structure.\n *\n * <h3>Usage</h3>\n *\n * <code>ui5-menu</code> contains <code>ui5-menu-item</code> components.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * <h3>Keyboard Handling</h3>\n *\n * The <code>ui5-menu</code> provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n * <ul>\n * <li><code>Arrow Up</code> / <code>Arrow Down</code> - Navigates up and down the menu items that are currently visible.</li>\n * <li><code>Arrow Right</code>, <code>Space</code> or <code>Enter</code> - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.</li>\n * <li><code>Arrow Left</code> or <code>Escape</code> - Closes the currently opened sub-menu.</li>\n * </ul>\n * Note: if the text ditrection is set to Right-to-left (RTL), <code>Arrow Right</code> and <code>Arrow Left</code> functionality is swapped.\n * <br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Menu.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Menu\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-menu\n * @appenddocs sap.ui.webc.main.MenuItem\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: staticAreaMenuCss,\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tButton,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tBusyIndicator,\n\t],\n})\n\n/**\n * Fired when an item is being clicked.\n * <b>Note:</b> Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\n *\n * @event sap.ui.webc.main.Menu#item-click\n * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event(\"item-click\", {\n\tdetail: {\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\ttext: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. <b>This event does not bubble.</b>\n * <b>Note:</b> Since 1.14.0 the event is also fired before a sub-menu opens.\n *\n * @public\n * @event sap.ui.webc.main.Menu#before-open\n * @allowPreventDefault\n * @since 1.10.0\n * @param { HTMLElement } item The <code>ui5-menu-item</code> that triggers opening of the sub-menu or undefined when fired upon root menu opening. <b>Note:</b> available since 1.14.0.\n */\n@event(\"before-open\", {\n\tdetail: {\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Menu#after-open\n * @since 1.10.0\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Menu#before-close\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tdetail: {\n\t\tescPressed: { type: Boolean },\n\t},\n})\n\n/**\n * Fired after the menu is closed. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Menu#after-close\n * @since 1.10.0\n */\n@event(\"after-close\")\nclass Menu extends UI5Element {\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t *\n\t * @name sap.ui.webc.main.Menu.prototype.headerText\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Indicates if the menu is open\n\t *\n\t * @name sap.ui.webc.main.Menu.prototype.open\n\t * @public\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen!:boolean;\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * @name sap.ui.webc.main.Menu.prototype.busy\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..\n\t *\n\t * @name sap.ui.webc.main.Menu.prototype.busyDelay\n\t * @type {sap.ui.webc.base.types.Integer}\n\t * @defaultValue 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t *\n\t * @name sap.ui.webc.main.Menu.prototype.opener\n\t * @public\n\t * @type {sap.ui.webc.base.types.DOMReference}\n\t * @defaultvalue \"\"\n\t * @since 1.10.0\n\t */\n\t@property({ validator: DOMReference, defaultValue: \"\" })\n\topener!: HTMLElement | string;\n\n\t/**\n\t * Defines if the menu is sub-menu (not first-level).\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isSubMenu!: boolean;\n\n\t/**\n\t * Stores id of a list item that opened sub-menu.\n\t * @type {string}\n\t * @private\n\t */\n\t@property()\n\t_subMenuOpenerId!: string;\n\n\t/**\n\t * Defines the currently available menu items.\n\t * (in case of non-phone devices these are the items of the menu,\n\t * but for phone devices the items of the currently opened sub-menu\n\t * will be populated here)\n\t * @type {array}\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_currentItems!: Array<CurrentItem>;\n\n\t/**\n\t * Stores a list of parent menu items for each sub-menu (on phone).\n\t * @type {array}\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_parentItemsStack!: Array<MenuItem>;\n\n\t/**\n\t * Stores the ResponsivePopover instance\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_popover?: ResponsivePopover;\n\n\t/**\n\t * Stores parent menu item (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_parentMenuItem?: MenuItem;\n\n\t/**\n\t * Stores menu item that have sub-menu opened.\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_openedSubMenuItem?: MenuItem;\n\n\t/**\n\t * Defines the items of this component.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-menu-item</code> for the intended design.\n\t *\n\t * @name sap.ui.webc.main.Menu.prototype.default\n\t * @type {sap.ui.webc.main.IMenuItem[]}\n\t * @slot items\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tstatic async onDefine() {\n\t\tMenu.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget itemsWithChildren() {\n\t\treturn !!this._currentItems.filter(item => item.item.items.length).length;\n\t}\n\n\tget itemsWithIcon() {\n\t\treturn !!this._currentItems.filter(item => item.item.icon !== \"\").length;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget placementType() {\n\t\tconst placement = this.isRtl ? \"Left\" : \"Right\";\n\t\treturn this._isSubMenu ? placement : \"Bottom\";\n\t}\n\n\tget verticalAlign() {\n\t\treturn this._isSubMenu ? \"Top\" : \"Bottom\";\n\t}\n\n\tget labelBack() {\n\t\treturn Menu.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn Menu.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget isSubMenuOpened() {\n\t\treturn !!this._parentMenuItem;\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\treturn this._parentMenuItem ? this._parentMenuItem.text : this.headerText;\n\t}\n\n\tonBeforeRendering() {\n\t\t!isPhone() && this._prepareCurrentItems(this.items);\n\n\t\tconst itemsWithChildren = this.itemsWithChildren;\n\t\tconst itemsWithIcon = this.itemsWithIcon;\n\n\t\tthis._currentItems.forEach(item => {\n\t\t\titem.item._siblingsWithChildren = itemsWithChildren;\n\t\t\titem.item._siblingsWithIcon = itemsWithIcon;\n\t\t\tconst subMenu = item.item._subMenu;\n\t\t\tconst menuItem = item.item;\n\t\t\tif (subMenu && subMenu.busy) {\n\t\t\t\tsubMenu.innerHTML = \"\";\n\t\t\t\tconst fragment = this._clonedItemsFragment(menuItem);\n\t\t\t\tsubMenu.appendChild(fragment);\n\t\t\t}\n\n\t\t\tif (subMenu) {\n\t\t\t\tsubMenu.busy = item.item.busy;\n\t\t\t\tsubMenu.busyDelay = item.item.busyDelay;\n\t\t\t}\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\tconst opener = this.getOpener();\n\t\t\tif (opener) {\n\t\t\t\tthis.showAt(opener);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the Menu near the opener element.\n\t * @param {HTMLElement} opener the element that the popover is shown at\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Menu#showAt\n\t */\n\tasync showAt(opener: HTMLElement) {\n\t\tif (isPhone()) {\n\t\t\tthis._prepareCurrentItems(this.items);\n\t\t\tthis._parentItemsStack = [];\n\t\t}\n\t\tif (!this._isSubMenu) {\n\t\t\tthis._parentMenuItem = undefined;\n\t\t}\n\t\tconst popover = await this._createPopover();\n\t\tpopover.initialFocus = \"\";\n\t\tfor (let index = 0; index < this._currentItems.length; index++) {\n\t\t\tif (!this._currentItems[index].item.disabled) {\n\t\t\t\tpopover.initialFocus = `${this._id}-menu-item-${index}`;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpopover.showAt(opener);\n\t}\n\n\t/**\n\t * Closes the Menu.\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Menu#close\n\t */\n\tclose() {\n\t\tif (this._popover) {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._parentItemsStack = [];\n\t\t\t}\n\t\t\tthis._popover.close();\n\t\t\tthis._popover.resetFocus();\n\t\t}\n\t}\n\n\tasync _createPopover() {\n\t\tconst staticAreaItemDomRef = await this.getStaticAreaItemDomRef();\n\t\tthis._popover = staticAreaItemDomRef!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\treturn this._popover;\n\t}\n\n\tgetOpener() {\n\t\tconst rootNode = this.getRootNode() as Document;\n\t\treturn this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener);\n\t}\n\n\t_navigateBack() {\n\t\tconst parentMenuItem = this._parentItemsStack.pop();\n\n\t\tthis.focus();\n\t\tif (parentMenuItem) {\n\t\t\tconst parentMenuItemParent = parentMenuItem.parentElement as MenuItem;\n\t\t\tthis._prepareCurrentItems(parentMenuItemParent.items);\n\t\t\tthis._parentMenuItem = this._parentItemsStack.length ? this._parentItemsStack[this._parentItemsStack.length - 1] : undefined;\n\t\t}\n\t}\n\n\t_prepareCurrentItems(items: Array<MenuItem>) {\n\t\tthis._currentItems = items.map((item, index) => {\n\t\t\treturn {\n\t\t\t\titem,\n\t\t\t\tposition: index + 1,\n\t\t\t\tariaHasPopup: item.hasSubmenu ? \"menu\" : undefined,\n\t\t\t};\n\t\t});\n\t}\n\n\t_createSubMenu(item: MenuItem, openerId: string) {\n\t\tconst ctor = this.constructor as typeof Menu;\n\t\tconst subMenu = document.createElement(ctor.getMetadata().getTag()) as Menu;\n\n\t\tsubMenu._isSubMenu = true;\n\t\tsubMenu.setAttribute(\"id\", `submenu-${openerId}`);\n\t\tsubMenu._parentMenuItem = item;\n\t\tsubMenu.busy = item.busy;\n\t\tsubMenu.busyDelay = item.busyDelay;\n\t\tconst fragment = this._clonedItemsFragment(item);\n\t\tsubMenu.appendChild(fragment);\n\t\tthis.staticAreaItem!.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.appendChild(subMenu);\n\t\titem._subMenu = subMenu;\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst clonedItem = item.items[i].cloneNode(true);\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_openItemSubMenu(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\n\t\titem._subMenu!.showAt(opener);\n\t\titem._preventSubMenuClose = true;\n\t\tthis._openedSubMenuItem = item;\n\t\tthis._subMenuOpenerId = actionId;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem, forceClose = false) {\n\t\tif (item) {\n\t\t\tif (forceClose) {\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._closeSubMenuPopover(item._subMenu!, true);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => this._closeSubMenuPopover(item._subMenu!), 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeSubMenuPopover(subMenu: Menu, forceClose = false) {\n\t\tif (subMenu) {\n\t\t\tconst parentItem = subMenu._parentMenuItem!;\n\n\t\t\tif (forceClose || !parentItem._preventSubMenuClose) {\n\t\t\t\tsubMenu.close();\n\t\t\t\tsubMenu.remove();\n\t\t\t\tparentItem._subMenu = undefined;\n\t\t\t\tthis._openedSubMenuItem = undefined;\n\t\t\t\tthis._subMenuOpenerId = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t_prepareSubMenuDesktopTablet(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tif (actionId !== this._subMenuOpenerId || (item && item.hasSubmenu)) {\n\t\t\t// close opened sub-menu if there is any opened\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem!, true);\n\t\t}\n\t\tif (item && item.hasSubmenu) {\n\t\t\t// create new sub-menu\n\t\t\tthis._createSubMenu(item, actionId);\n\t\t\tthis._openItemSubMenu(item, opener, actionId);\n\t\t}\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_prepareSubMenuPhone(item: MenuItem) {\n\t\tthis._prepareCurrentItems(item.items);\n\t\tthis._parentMenuItem = item;\n\t\tthis._parentItemsStack.push(item);\n\t}\n\n\t_startOpenTimeout(item: MenuItem, opener: OpenerStandardListItem, hoverId: string) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_startCloseTimeout(item: MenuItem) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeItemSubMenu(item);\n\t\t}, MENU_CLOSE_DELAY);\n\t}\n\n\t_clearTimeout() {\n\t\tif (this._timeout) {\n\t\t\tclearTimeout(this._timeout);\n\t\t}\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\topener.focus();\n\n\t\t\t// If there is a pending close operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener, hoverId);\n\t\t}\n\t}\n\n\t_busyMouseOver() {\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_itemMouseOut(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\t// If there is a pending open operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Close submenu with 400ms delay\n\t\t\tif (item && item.hasSubmenu && item._subMenu) {\n\t\t\t\t// try to close the sub-menu\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._startCloseTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst isMenuClose = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst isMenuOpen = this.isRtl ? isLeft(e) : isRight(e);\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isMenuOpen) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\titem.hasSubmenu && this._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t} else if (isMenuClose && this._isSubMenu && this._parentMenuItem) {\n\t\t\tconst parentMenuItemParent = this._parentMenuItem.parentElement as Menu;\n\t\t\tparentMenuItemParent._closeItemSubMenu(this._parentMenuItem, true);\n\t\t}\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst actionId = opener.getAttribute(\"id\")!;\n\n\t\tif (!item.hasSubmenu) {\n\t\t\t// click on an item that doesn't have sub-items fires an \"item-click\" event\n\t\t\tif (!this._isSubMenu) {\n\t\t\t\tif (isPhone()) {\n\t\t\t\t\tthis._parentMenuItem = undefined;\n\t\t\t\t}\n\t\t\t\t// fire event if the click is on top-level menu item\n\t\t\t\tconst prevented = !this.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tthis._popover!.close();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mainMenu = this._findMainMenu(item);\n\t\t\t\tconst prevented = !mainMenu.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tlet openerMenuItem = item;\n\t\t\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\tdo {\n\t\t\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\t\topenerMenuItem = parentMenu._parentMenuItem as MenuItem;\n\t\t\t\t\t} while (parentMenu._parentMenuItem);\n\n\t\t\t\t\tmainMenu._popover!.close();\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isPhone()) {\n\t\t\t// prepares and opens sub-menu on phone\n\t\t\tthis._prepareSubMenuPhone(item);\n\t\t} else if (isTablet()) {\n\t\t\t// prepares and opens sub-menu on tablet\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, actionId);\n\t\t}\n\t}\n\n\t_findMainMenu(item: MenuItem) {\n\t\tlet parentMenu = item.parentElement as Menu;\n\t\twhile (parentMenu._parentMenuItem) {\n\t\t\tparentMenu = parentMenu._parentMenuItem.parentElement as Menu;\n\t\t}\n\n\t\treturn parentMenu;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis.open = true;\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: CustomEvent<ResponsivePopoverBeforeCloseEventDetail>) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._openedSubMenuItem) {\n\t\t\tthis._openedSubMenuItem._preventSubMenuClose = false;\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem);\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../src/Menu.ts"],"names":[],"mappings":";;;;;;;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,kDAAkD,CAAC;AACrE,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EACN,MAAM,EACN,OAAO,EACP,OAAO,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACT,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAwB,uCAAuC,CAAC;AAChE,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EACN,2BAA2B,EAC3B,4BAA4B,GAC5B,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAQ/D,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAY7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAkGH,IAAM,IAAI,YAAV,MAAM,IAAK,SAAQ,UAAU;IAiH5B,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,MAAI,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC3E,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,aAAa;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,MAAI,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,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,eAAe;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3E,CAAC;IAED,iBAAiB;QAChB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,iBAAiB,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;gBAC5B,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACrD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC9B;YAED,IAAI,OAAO,EAAE;gBACZ,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;aACxC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,OAAO;SACP;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACpB;SACD;aAAM;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;SACb;IACF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAmB;QAC/B,IAAI,OAAO,EAAE,EAAE;YACd,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SACjC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC7C,OAAO,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,cAAc,KAAK,EAAE,CAAC;gBACxD,MAAM;aACN;SACD;QACD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,OAAO,EAAE,EAAE;gBACd,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;aAC5B;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC3B;IACF,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG,oBAAqB,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;QACpG,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,SAAS;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAc,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnG,CAAC;IAED,aAAa;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,cAAc,EAAE;YACnB,MAAM,oBAAoB,GAAG,cAAc,CAAC,aAAyB,CAAC;YACtE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7H;IACF,CAAC;IAED,oBAAoB,CAAC,KAAsB;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9C,OAAO;gBACN,IAAI;gBACJ,QAAQ,EAAE,KAAK,GAAG,CAAC;gBACnB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,IAAc,EAAE,QAAgB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAA0B,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAS,CAAC;QAE5E,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAe,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,oBAAoB,CAAC,IAAc;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SACjC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,IAAc,EAAE,MAAmB,EAAE,QAAgB;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,QAAQ,CAAC,SAAS,CAA4B,aAAa,EAAE;YAC5D,IAAI;SACJ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,IAAc,EAAE,UAAU,GAAG,KAAK;QACnD,IAAI,IAAI,EAAE;YACT,IAAI,UAAU,EAAE;gBACf,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,CAAC;aAChD;iBAAM;gBACN,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aAC/D;SACD;IACF,CAAC;IAED,oBAAoB,CAAC,OAAa,EAAE,UAAU,GAAG,KAAK;QACrD,IAAI,OAAO,EAAE;YACZ,MAAM,UAAU,GAAG,OAAO,CAAC,eAAgB,CAAC;YAE5C,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE;gBACnD,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;aAC3B;SACD;IACF,CAAC;IAED,4BAA4B,CAAC,IAAc,EAAE,MAAmB,EAAE,QAAgB;QACjF,IAAI,QAAQ,KAAK,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;YACpE,+CAA+C;YAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAmB,EAAE,IAAI,CAAC,CAAC;SACvD;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5B,sBAAsB;YACtB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACjD;IACF,CAAC;IAED,oBAAoB,CAAC,IAAc;QAClC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,IAAc,EAAE,MAA8B,EAAE,OAAe;QAChF,yCAAyC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC,EAAE,eAAe,CAAC,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,IAAc;QAChC,yCAAyC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACtB,CAAC;IAED,aAAa;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5B;IACF,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,IAAI,SAAS,EAAE,EAAE;YAChB,oCAAoC;YACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAgC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC;YAE3C,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,mDAAmD;YACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,iCAAiC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC9C;IACF,CAAC;IAED,cAAc;QACb,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACjD;IACF,CAAC;IAED,aAAa,CAAC,CAAa;QAC1B,IAAI,SAAS,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAgC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;YAEnC,kDAAkD;YAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,iCAAiC;YACjC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC7C,4BAA4B;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aAC9B;SACD;IACF,CAAC;IAED,YAAY,CAAC,CAAgB;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;SACnB;QACD,IAAI,UAAU,EAAE;YACf,MAAM,MAAM,GAAG,CAAC,CAAC,MAAgC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC;YAE3C,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAC5E;aAAM,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE;YAClE,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAqB,CAAC;YACxE,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SACnE;IACF,CAAC;IAED,UAAU,CAAC,CAAwC;QAClD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAA8B,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,2EAA2E;YAC3E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACrB,IAAI,OAAO,EAAE,EAAE;oBACd,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;iBACjC;gBACD,oDAAoD;gBACpD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAA2B,YAAY,EAAE;oBACzE,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI,CAAC,IAAI;iBACjB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEhB,IAAI,CAAC,SAAS,EAAE;oBACf,IAAI,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;iBACvB;aACD;iBAAM;gBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA2B,YAAY,EAAE;oBAC7E,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI,CAAC,IAAI;iBACjB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEhB,IAAI,CAAC,SAAS,EAAE;oBACf,IAAI,cAAc,GAAG,IAAI,CAAC;oBAC1B,IAAI,UAAU,GAAG,cAAc,CAAC,aAAqB,CAAC;oBACtD,GAAG;wBACF,cAAc,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBAC5C,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;wBACvC,UAAU,GAAG,cAAc,CAAC,aAAqB,CAAC;wBAClD,cAAc,GAAG,UAAU,CAAC,eAA2B,CAAC;qBACxD,QAAQ,UAAU,CAAC,eAAe,EAAE;oBAErC,QAAQ,CAAC,QAAS,CAAC,KAAK,EAAE,CAAC;iBAC3B;aACD;SACD;aAAM,IAAI,OAAO,EAAE,EAAE;YACrB,uCAAuC;YACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAChC;aAAM,IAAI,QAAQ,EAAE,EAAE;YACtB,wCAAwC;YACxC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC1D;IACF,CAAC;IAED,aAAa,CAAC,IAAc;QAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,aAAqB,CAAC;QAC5C,OAAO,UAAU,CAAC,eAAe,EAAE;YAClC,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,aAAqB,CAAC;SAC9D;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,CAAc;QAChC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAA4B,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7F,IAAI,SAAS,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;SACnB;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,mBAAmB,CAAC,CAAuD;QAC1E,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAA6B,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAEhI,IAAI,SAAS,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;SACP;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAChD;IACF,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;CACD,CAAA;AAxgBA;IADC,QAAQ,EAAE;wCACS;AAUpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kCACd;AAUd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kCACb;AAUf;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;uCAClC;AAUnB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;oCAC1B;AAQ9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wCAC1B;AAOrB;IADC,QAAQ,EAAE;8CACe;AAU1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;2CACR;AAOnC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;+CACP;AAMpC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;sCACvB;AAM7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;6CACzB;AAM3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;gDACtB;AAU9B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;mCACpD;AA5GnB,IAAI;IAjGT,aAAa,CAAC;QACd,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,iBAAiB;QACnC,kBAAkB,EAAE,sBAAsB;QAC1C,YAAY,EAAE;YACb,iBAAiB;YACjB,MAAM;YACN,IAAI;YACJ,gBAAgB;YAChB,IAAI;YACJ,aAAa;SACb;KACD,CAAC;IAEF;;;;;;;;;OASG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,MAAM,EAAE;YACP;;eAEG;YACH,IAAI,EAAE;gBACL,IAAI,EAAE,WAAW;aACjB;YACD;;eAEG;YACH,IAAI,EAAE;gBACL,IAAI,EAAE,MAAM;aACZ;SACD;KACD,CAAC;IAEF;;;;;;;;;OASG;;IACF,KAAK,CAAC,aAAa,EAAE;QACrB,MAAM,EAAE;YACP;;eAEG;YACH,IAAI,EAAE;gBACL,IAAI,EAAE,WAAW;aACjB;SACD;KACD,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,CAAC;IAEpB;;;;;;;OAOG;;IACF,KAAK,CAAC,cAAc,EAAE;QACtB,MAAM,EAAE;YACP;;eAEG;YACH,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;aACb;SACD;KACD,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,aAAa,CAAC;GACf,IAAI,CAghBT;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.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport type { ResponsivePopoverBeforeCloseEventDetail } from \"./ResponsivePopover.js\";\nimport Button from \"./Button.js\";\nimport List from \"./List.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport type MenuItem from \"./MenuItem.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/MenuTemplate.lit.js\";\nimport {\n\tMENU_BACK_BUTTON_ARIA_LABEL,\n\tMENU_CLOSE_BUTTON_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\ntype CurrentItem = {\n\titem: MenuItem,\n\tposition: number,\n\tariaHasPopup: string | undefined,\n}\n\nconst MENU_OPEN_DELAY = 300;\nconst MENU_CLOSE_DELAY = 400;\n\ntype MenuItemClickEventDetail = {\n\titem: MenuItem,\n\ttext: string,\n}\n\ntype MenuBeforeOpenEventDetail = { item?: MenuItem };\ntype MenuBeforeCloseEventDetail = { escPressed: boolean };\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-menu</code> component represents a hierarchical menu structure.\n *\n * <h3>Usage</h3>\n *\n * <code>ui5-menu</code> contains <code>ui5-menu-item</code> components.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * <h3>Keyboard Handling</h3>\n *\n * The <code>ui5-menu</code> provides advanced keyboard handling.\n * The user can use the following keyboard shortcuts in order to navigate trough the tree:\n * <ul>\n * <li><code>Arrow Up</code> / <code>Arrow Down</code> - Navigates up and down the menu items that are currently visible.</li>\n * <li><code>Arrow Right</code>, <code>Space</code> or <code>Enter</code> - Opens a sub-menu if there are menu items nested\n * in the currently clicked menu item.</li>\n * <li><code>Arrow Left</code> or <code>Escape</code> - Closes the currently opened sub-menu.</li>\n * </ul>\n * Note: if the text ditrection is set to Right-to-left (RTL), <code>Arrow Right</code> and <code>Arrow Left</code> functionality is swapped.\n * <br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Menu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.3.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: staticAreaMenuCss,\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tButton,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tBusyIndicator,\n\t],\n})\n\n/**\n * Fired when an item is being clicked.\n * <br />\n * <b>Note:</b> Since 1.17.0 the event is preventable, allowing the menu to remain open after an item is pressed.\n *\n * @allowPreventDefault\n * @param { HTMLElement } item The currently clicked menu item.\n * @param { string } text The text of the currently clicked menu item.\n * @public\n */\n@event(\"item-click\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t},\n\t},\n})\n\n/**\n * Fired before the menu is opened. This event can be cancelled, which will prevent the menu from opening. <b>This event does not bubble.</b>\n * <br />\n * <b>Note:</b> Since 1.14.0 the event is also fired before a sub-menu opens.\n *\n * @public\n * @allowPreventDefault\n * @since 1.10.0\n * @param { HTMLElement } item The <code>ui5-menu-item</code> that triggers opening of the sub-menu or undefined when fired upon root menu opening. <b>Note:</b> available since 1.14.0.\n */\n@event(\"before-open\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: {\n\t\t\ttype: HTMLElement,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @since 1.10.0\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed. This event can be cancelled, which will prevent the menu from closing. <b>This event does not bubble.</b>\n *\n * @public\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.\n * @since 1.10.0\n */\n@event(\"before-close\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tescPressed: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired after the menu is closed. <b>This event does not bubble.</b>\n *\n * @public\n * @since 1.10.0\n */\n@event(\"after-close\")\nclass Menu extends UI5Element {\n\t/**\n\t * Defines the header text of the menu (displayed on mobile).\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Indicates if the menu is open\n\t *\n\t * @public\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\topen!:boolean;\n\n\t/**\n\t * Defines if a loading indicator would be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover..\n\t *\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the menu is shown at\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 1.10.0\n\t */\n\t@property({ validator: DOMReference, defaultValue: \"\" })\n\topener!: HTMLElement | string;\n\n\t/**\n\t * Defines if the menu is sub-menu (not first-level).\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isSubMenu!: boolean;\n\n\t/**\n\t * Stores id of a list item that opened sub-menu.\n\t * @private\n\t */\n\t@property()\n\t_subMenuOpenerId!: string;\n\n\t/**\n\t * Defines the currently available menu items.\n\t * (in case of non-phone devices these are the items of the menu,\n\t * but for phone devices the items of the currently opened sub-menu\n\t * will be populated here)\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_currentItems!: Array<CurrentItem>;\n\n\t/**\n\t * Stores a list of parent menu items for each sub-menu (on phone).\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_parentItemsStack!: Array<MenuItem>;\n\n\t/**\n\t * Stores the ResponsivePopover instance\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_popover?: ResponsivePopover;\n\n\t/**\n\t * Stores parent menu item (if there is such).\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_parentMenuItem?: MenuItem;\n\n\t/**\n\t * Stores menu item that have sub-menu opened.\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_openedSubMenuItem?: MenuItem;\n\n\t/**\n\t * Defines the items of this component.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-menu-item</code> for the intended design.\n\t *\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\t_timeout?: Timeout;\n\n\tstatic async onDefine() {\n\t\tMenu.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget itemsWithChildren() {\n\t\treturn !!this._currentItems.filter(item => item.item.items.length).length;\n\t}\n\n\tget itemsWithIcon() {\n\t\treturn !!this._currentItems.filter(item => item.item.icon !== \"\").length;\n\t}\n\n\tget isRtl() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget placementType() {\n\t\tconst placement = this.isRtl ? \"Left\" : \"Right\";\n\t\treturn this._isSubMenu ? placement : \"Bottom\";\n\t}\n\n\tget verticalAlign() {\n\t\treturn this._isSubMenu ? \"Top\" : \"Bottom\";\n\t}\n\n\tget labelBack() {\n\t\treturn Menu.i18nBundle.getText(MENU_BACK_BUTTON_ARIA_LABEL);\n\t}\n\n\tget labelClose() {\n\t\treturn Menu.i18nBundle.getText(MENU_CLOSE_BUTTON_ARIA_LABEL);\n\t}\n\n\tget isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget isSubMenuOpened() {\n\t\treturn !!this._parentMenuItem;\n\t}\n\n\tget menuHeaderTextPhone() {\n\t\treturn this._parentMenuItem ? this._parentMenuItem.text : this.headerText;\n\t}\n\n\tonBeforeRendering() {\n\t\t!isPhone() && this._prepareCurrentItems(this.items);\n\n\t\tconst itemsWithChildren = this.itemsWithChildren;\n\t\tconst itemsWithIcon = this.itemsWithIcon;\n\n\t\tthis._currentItems.forEach(item => {\n\t\t\titem.item._siblingsWithChildren = itemsWithChildren;\n\t\t\titem.item._siblingsWithIcon = itemsWithIcon;\n\t\t\tconst subMenu = item.item._subMenu;\n\t\t\tconst menuItem = item.item;\n\t\t\tif (subMenu && subMenu.busy) {\n\t\t\t\tsubMenu.innerHTML = \"\";\n\t\t\t\tconst fragment = this._clonedItemsFragment(menuItem);\n\t\t\t\tsubMenu.appendChild(fragment);\n\t\t\t}\n\n\t\t\tif (subMenu) {\n\t\t\t\tsubMenu.busy = item.item.busy;\n\t\t\t\tsubMenu.busyDelay = item.item.busyDelay;\n\t\t\t}\n\t\t});\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\tconst opener = this.getOpener();\n\t\t\tif (opener) {\n\t\t\t\tthis.showAt(opener);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the Menu near the opener element.\n\t *\n\t * @param opener the element that the popover is shown at\n\t * @public\n\t */\n\tasync showAt(opener: HTMLElement): Promise<void> {\n\t\tif (isPhone()) {\n\t\t\tthis._prepareCurrentItems(this.items);\n\t\t\tthis._parentItemsStack = [];\n\t\t}\n\t\tif (!this._isSubMenu) {\n\t\t\tthis._parentMenuItem = undefined;\n\t\t}\n\t\tconst popover = await this._createPopover();\n\t\tpopover.initialFocus = \"\";\n\t\tfor (let index = 0; index < this._currentItems.length; index++) {\n\t\t\tif (!this._currentItems[index].item.disabled) {\n\t\t\t\tpopover.initialFocus = `${this._id}-menu-item-${index}`;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpopover.showAt(opener);\n\t}\n\n\t/**\n\t * Closes the Menu.\n\t *\n\t * @public\n\t */\n\tclose(): void {\n\t\tif (this._popover) {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._parentItemsStack = [];\n\t\t\t}\n\t\t\tthis._popover.close();\n\t\t\tthis._popover.resetFocus();\n\t\t}\n\t}\n\n\tasync _createPopover() {\n\t\tconst staticAreaItemDomRef = await this.getStaticAreaItemDomRef();\n\t\tthis._popover = staticAreaItemDomRef!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t\treturn this._popover;\n\t}\n\n\tgetOpener() {\n\t\tconst rootNode = this.getRootNode() as Document;\n\t\treturn this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener);\n\t}\n\n\t_navigateBack() {\n\t\tconst parentMenuItem = this._parentItemsStack.pop();\n\n\t\tthis.focus();\n\t\tif (parentMenuItem) {\n\t\t\tconst parentMenuItemParent = parentMenuItem.parentElement as MenuItem;\n\t\t\tthis._prepareCurrentItems(parentMenuItemParent.items);\n\t\t\tthis._parentMenuItem = this._parentItemsStack.length ? this._parentItemsStack[this._parentItemsStack.length - 1] : undefined;\n\t\t}\n\t}\n\n\t_prepareCurrentItems(items: Array<MenuItem>) {\n\t\tthis._currentItems = items.map((item, index) => {\n\t\t\treturn {\n\t\t\t\titem,\n\t\t\t\tposition: index + 1,\n\t\t\t\tariaHasPopup: item.hasSubmenu ? \"menu\" : undefined,\n\t\t\t};\n\t\t});\n\t}\n\n\t_createSubMenu(item: MenuItem, openerId: string) {\n\t\tconst ctor = this.constructor as typeof Menu;\n\t\tconst subMenu = document.createElement(ctor.getMetadata().getTag()) as Menu;\n\n\t\tsubMenu._isSubMenu = true;\n\t\tsubMenu.setAttribute(\"id\", `submenu-${openerId}`);\n\t\tsubMenu._parentMenuItem = item;\n\t\tsubMenu.busy = item.busy;\n\t\tsubMenu.busyDelay = item.busyDelay;\n\t\tconst fragment = this._clonedItemsFragment(item);\n\t\tsubMenu.appendChild(fragment);\n\t\tthis.staticAreaItem!.shadowRoot!.querySelector(\".ui5-menu-submenus\")!.appendChild(subMenu);\n\t\titem._subMenu = subMenu;\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst clonedItem = item.items[i].cloneNode(true);\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_openItemSubMenu(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tmainMenu.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {\n\t\t\titem,\n\t\t}, false, false);\n\t\titem._subMenu!.showAt(opener);\n\t\titem._preventSubMenuClose = true;\n\t\tthis._openedSubMenuItem = item;\n\t\tthis._subMenuOpenerId = actionId;\n\t}\n\n\t_closeItemSubMenu(item: MenuItem, forceClose = false) {\n\t\tif (item) {\n\t\t\tif (forceClose) {\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._closeSubMenuPopover(item._subMenu!, true);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => this._closeSubMenuPopover(item._subMenu!), 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeSubMenuPopover(subMenu: Menu, forceClose = false) {\n\t\tif (subMenu) {\n\t\t\tconst parentItem = subMenu._parentMenuItem!;\n\n\t\t\tif (forceClose || !parentItem._preventSubMenuClose) {\n\t\t\t\tsubMenu.close();\n\t\t\t\tsubMenu.remove();\n\t\t\t\tparentItem._subMenu = undefined;\n\t\t\t\tthis._openedSubMenuItem = undefined;\n\t\t\t\tthis._subMenuOpenerId = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t_prepareSubMenuDesktopTablet(item: MenuItem, opener: HTMLElement, actionId: string) {\n\t\tif (actionId !== this._subMenuOpenerId || (item && item.hasSubmenu)) {\n\t\t\t// close opened sub-menu if there is any opened\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem!, true);\n\t\t}\n\t\tif (item && item.hasSubmenu) {\n\t\t\t// create new sub-menu\n\t\t\tthis._createSubMenu(item, actionId);\n\t\t\tthis._openItemSubMenu(item, opener, actionId);\n\t\t}\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_prepareSubMenuPhone(item: MenuItem) {\n\t\tthis._prepareCurrentItems(item.items);\n\t\tthis._parentMenuItem = item;\n\t\tthis._parentItemsStack.push(item);\n\t}\n\n\t_startOpenTimeout(item: MenuItem, opener: OpenerStandardListItem, hoverId: string) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_startCloseTimeout(item: MenuItem) {\n\t\t// If theres already a timeout, clears it\n\t\tthis._clearTimeout();\n\n\t\t// Sets the new timeout\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeItemSubMenu(item);\n\t\t}, MENU_CLOSE_DELAY);\n\t}\n\n\t_clearTimeout() {\n\t\tif (this._timeout) {\n\t\t\tclearTimeout(this._timeout);\n\t\t}\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\topener.focus();\n\n\t\t\t// If there is a pending close operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener, hoverId);\n\t\t}\n\t}\n\n\t_busyMouseOver() {\n\t\tif (this._parentMenuItem) {\n\t\t\tthis._parentMenuItem._preventSubMenuClose = true;\n\t\t}\n\t}\n\n\t_itemMouseOut(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\n\t\t\t// If there is a pending open operation, cancel it\n\t\t\tthis._clearTimeout();\n\n\t\t\t// Close submenu with 400ms delay\n\t\t\tif (item && item.hasSubmenu && item._subMenu) {\n\t\t\t\t// try to close the sub-menu\n\t\t\t\titem._preventSubMenuClose = false;\n\t\t\t\tthis._startCloseTimeout(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_itemKeyDown(e: KeyboardEvent) {\n\t\tconst isMenuClose = this.isRtl ? isRight(e) : isLeft(e);\n\t\tconst isMenuOpen = this.isRtl ? isLeft(e) : isRight(e);\n\n\t\tif (isEnter(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isMenuOpen) {\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tconst item = opener.associatedItem;\n\t\t\tconst hoverId = opener.getAttribute(\"id\")!;\n\n\t\t\titem.hasSubmenu && this._prepareSubMenuDesktopTablet(item, opener, hoverId);\n\t\t} else if (isMenuClose && this._isSubMenu && this._parentMenuItem) {\n\t\t\tconst parentMenuItemParent = this._parentMenuItem.parentElement as Menu;\n\t\t\tparentMenuItemParent._closeItemSubMenu(this._parentMenuItem, true);\n\t\t}\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst actionId = opener.getAttribute(\"id\")!;\n\n\t\tif (!item.hasSubmenu) {\n\t\t\t// click on an item that doesn't have sub-items fires an \"item-click\" event\n\t\t\tif (!this._isSubMenu) {\n\t\t\t\tif (isPhone()) {\n\t\t\t\t\tthis._parentMenuItem = undefined;\n\t\t\t\t}\n\t\t\t\t// fire event if the click is on top-level menu item\n\t\t\t\tconst prevented = !this.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tthis._popover!.close();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst mainMenu = this._findMainMenu(item);\n\t\t\t\tconst prevented = !mainMenu.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\t\t\"item\": item,\n\t\t\t\t\t\"text\": item.text,\n\t\t\t\t}, true, false);\n\n\t\t\t\tif (!prevented) {\n\t\t\t\t\tlet openerMenuItem = item;\n\t\t\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\tdo {\n\t\t\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\t\t\topenerMenuItem = parentMenu._parentMenuItem as MenuItem;\n\t\t\t\t\t} while (parentMenu._parentMenuItem);\n\n\t\t\t\t\tmainMenu._popover!.close();\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isPhone()) {\n\t\t\t// prepares and opens sub-menu on phone\n\t\t\tthis._prepareSubMenuPhone(item);\n\t\t} else if (isTablet()) {\n\t\t\t// prepares and opens sub-menu on tablet\n\t\t\tthis._prepareSubMenuDesktopTablet(item, opener, actionId);\n\t\t}\n\t}\n\n\t_findMainMenu(item: MenuItem) {\n\t\tlet parentMenu = item.parentElement as Menu;\n\t\twhile (parentMenu._parentMenuItem) {\n\t\t\tparentMenu = parentMenu._parentMenuItem.parentElement as Menu;\n\t\t}\n\n\t\treturn parentMenu;\n\t}\n\n\t_beforePopoverOpen(e: CustomEvent) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeOpenEventDetail>(\"before-open\", {}, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_afterPopoverOpen() {\n\t\tthis.open = true;\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\n\t}\n\n\t_beforePopoverClose(e: CustomEvent<ResponsivePopoverBeforeCloseEventDetail>) {\n\t\tconst prevented = !this.fireEvent<MenuBeforeCloseEventDetail>(\"before-close\", { escPressed: e.detail.escPressed }, true, false);\n\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._openedSubMenuItem) {\n\t\t\tthis._openedSubMenuItem._preventSubMenuClose = false;\n\t\t\tthis._closeItemSubMenu(this._openedSubMenuItem);\n\t\t}\n\t}\n\n\t_afterPopoverClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t}\n}\n\nMenu.define();\n\nexport default Menu;\nexport type {\n\tMenuItemClickEventDetail,\n\tMenuBeforeCloseEventDetail,\n\tMenuBeforeOpenEventDetail,\n};\n"]}
@@ -19,12 +19,8 @@ import type Menu from "./Menu.js";
19
19
  * <code>import "@ui5/webcomponents/dist/MenuItem.js";</code>
20
20
  *
21
21
  * @constructor
22
- * @author SAP SE
23
- * @alias sap.ui.webc.main.MenuItem
24
- * @extends sap.ui.webc.base.UI5Element
22
+ * @extends UI5Element
25
23
  * @abstract
26
- * @tagname ui5-menu-item
27
- * @implements sap.ui.webc.main.IMenuItem
28
24
  * @since 1.3.0
29
25
  * @public
30
26
  */
@@ -32,9 +28,7 @@ declare class MenuItem extends UI5Element {
32
28
  /**
33
29
  * Defines the text of the tree item.
34
30
  *
35
- * @name sap.ui.webc.main.MenuItem.prototype.text
36
- * @type {string}
37
- * @defaultValue ""
31
+ * @default ""
38
32
  * @public
39
33
  */
40
34
  text: string;
@@ -42,8 +36,7 @@ declare class MenuItem extends UI5Element {
42
36
  * Defines the <code>additionalText</code>, displayed in the end of the menu item.
43
37
  * <b>Note:</b> The additional text would not be displayed if the item has a submenu.
44
38
  *
45
- * @name sap.ui.webc.main.MenuItem.prototype.additionalText
46
- * @type {string}
39
+ * @default ""
47
40
  * @public
48
41
  * @since 1.8.0
49
42
  */
@@ -52,21 +45,18 @@ declare class MenuItem extends UI5Element {
52
45
  * Defines the icon to be displayed as graphical element within the component.
53
46
  * The SAP-icons font provides numerous options.
54
47
  * <br><br>
55
- <b>* Example:</b>
48
+ * <b>Example:</b>
49
+ * <br />
56
50
  * See all the available icons in the <ui5-link target="_blank" href="https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html">Icon Explorer</ui5-link>.
57
51
  *
58
- * @name sap.ui.webc.main.MenuItem.prototype.icon
59
- * @type {string}
60
- * @defaultvalue ""
52
+ * @default ""
61
53
  * @public
62
54
  */
63
55
  icon: string;
64
56
  /**
65
57
  * Defines whether a visual separator should be rendered before the item.
66
58
  *
67
- * @name sap.ui.webc.main.MenuItem.prototype.startsSection
68
- * @type {boolean}
69
- * @defaultvalue false
59
+ * @default false
70
60
  * @public
71
61
  */
72
62
  startsSection: boolean;
@@ -75,9 +65,7 @@ declare class MenuItem extends UI5Element {
75
65
  * <br><br>
76
66
  * <b>Note:</b> A disabled <code>ui5-menu-item</code> is noninteractive.
77
67
  *
78
- * @name sap.ui.webc.main.MenuItem.prototype.disabled
79
- * @type {boolean}
80
- * @defaultvalue false
68
+ * @default false
81
69
  * @public
82
70
  */
83
71
  disabled: boolean;
@@ -86,9 +74,7 @@ declare class MenuItem extends UI5Element {
86
74
  *
87
75
  * Note: If set to <code>true</code> a <code>ui5-busy-indicator</code> component will be displayed into the related one to the current <code>ui5-menu-item</code> sub-menu popover.
88
76
  *
89
- * @name sap.ui.webc.main.MenuItem.prototype.busy
90
- * @type {boolean}
91
- * @defaultvalue false
77
+ * @default false
92
78
  * @public
93
79
  * @since 1.13.0
94
80
  */
@@ -96,9 +82,7 @@ declare class MenuItem extends UI5Element {
96
82
  /**
97
83
  * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover.
98
84
  *
99
- * @name sap.ui.webc.main.MenuItem.prototype.busyDelay
100
- * @type {sap.ui.webc.base.types.Integer}
101
- * @defaultValue 1000
85
+ * @default 1000
102
86
  * @public
103
87
  * @since 1.13.0
104
88
  */
@@ -106,9 +90,7 @@ declare class MenuItem extends UI5Element {
106
90
  /**
107
91
  * Defines the accessible ARIA name of the component.
108
92
  *
109
- * @name sap.ui.webc.main.MenuItem.prototype.accessibleName
110
- * @type {string}
111
- * @defaultvalue ""
93
+ * @default ""
112
94
  * @public
113
95
  * @since 1.7.0
114
96
  */
@@ -132,9 +114,6 @@ declare class MenuItem extends UI5Element {
132
114
  /**
133
115
  * Defines the items of this component.
134
116
  *
135
- * @name sap.ui.webc.main.MenuItem.prototype.default
136
- * @type {sap.ui.webc.main.IMenuItem[]}
137
- * @slot items
138
117
  * @public
139
118
  */
140
119
  items: Array<MenuItem>;
package/dist/MenuItem.js CHANGED
@@ -28,12 +28,8 @@ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
28
28
  * <code>import "@ui5/webcomponents/dist/MenuItem.js";</code>
29
29
  *
30
30
  * @constructor
31
- * @author SAP SE
32
- * @alias sap.ui.webc.main.MenuItem
33
- * @extends sap.ui.webc.base.UI5Element
31
+ * @extends UI5Element
34
32
  * @abstract
35
- * @tagname ui5-menu-item
36
- * @implements sap.ui.webc.main.IMenuItem
37
33
  * @since 1.3.0
38
34
  * @public
39
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../src/MenuItem.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,OAAO,MAAM,+CAA+C,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAwIhC,IAAI,UAAU;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACnD,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;CACD,CAAA;AAjJA;IADC,QAAQ,EAAE;sCACG;AAYd;IADC,QAAQ,EAAE;gDACa;AAexB;IADC,QAAQ,EAAE;sCACG;AAWd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACJ;AAaxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAcnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACb;AAYf;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;2CAClC;AAYnB;IADC,QAAQ,EAAE;gDACa;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;uDACf;AAMhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mDACnB;AAM5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;sDAChB;AAM/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;0CACpC;AAWhB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;uCACpD;AAtInB,QAAQ;IADb,aAAa,CAAC,eAAe,CAAC;GACzB,QAAQ,CA2Jb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,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 Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type Menu from \"./Menu.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-menu-item</code> is the item to use inside a <code>ui5-menu</code>.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * <h3>Usage</h3>\n *\n * <code>ui5-menu-item</code> is an abstract element, representing a node in a <code>ui5-menu</code>. The menu itself is rendered as a list,\n * and each <code>ui5-menu-item</code> is represented by a list item (<code>ui5-li</code>) in that list. Therefore, you should only use\n * <code>ui5-menu-item</code> directly in your apps. The <code>ui5-li</code> list item is internal for the list, and not intended for public use.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/MenuItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.MenuItem\n * @extends sap.ui.webc.base.UI5Element\n * @abstract\n * @tagname ui5-menu-item\n * @implements sap.ui.webc.main.IMenuItem\n * @since 1.3.0\n * @public\n */\n@customElement(\"ui5-menu-item\")\nclass MenuItem extends UI5Element {\n\t/**\n\t * Defines the text of the tree item.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.text\n\t * @type {string}\n\t * @defaultValue \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the <code>additionalText</code>, displayed in the end of the menu item.\n\t * <b>Note:</b> The additional text would not be displayed if the item has a submenu.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.additionalText\n\t * @type {string}\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 * <br><br>\n\t <b>* Example:</b>\n\t * See all the available icons in the <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.icon\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines whether a visual separator should be rendered before the item.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.startsSection\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstartsSection!: boolean;\n\n\t/**\n\t * Defines whether <code>ui5-menu-item</code> is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled <code>ui5-menu-item</code> is noninteractive.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.disabled\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * Note: If set to <code>true</code> a <code>ui5-busy-indicator</code> component will be displayed into the related one to the current <code>ui5-menu-item</code> sub-menu popover.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.busy\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.busyDelay\n\t * @type {sap.ui.webc.base.types.Integer}\n\t * @defaultValue 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.accessibleName\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Indicates whether any of the element siblings have children items.\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_siblingsWithChildren!: boolean;\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!: boolean;\n\n\t/**\n\t * Defines whether the submenu closing must be prevented\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_preventSubMenuClose!: boolean;\n\n\t/**\n\t * Stores Menu object with submenu items\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_subMenu?: Menu;\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * @name sap.ui.webc.main.MenuItem.prototype.default\n\t * @type {sap.ui.webc.main.IMenuItem[]}\n\t * @slot items\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tget hasSubmenu() {\n\t\treturn !!(this.items.length || this.busy);\n\t}\n\n\tget hasDummyIcon() {\n\t\treturn this._siblingsWithIcon && !this.icon;\n\t}\n\n\tget subMenuOpened() {\n\t\treturn !!this._subMenu;\n\t}\n\n\tget _additionalText() {\n\t\treturn this.hasSubmenu ? \"\" : this.additionalText;\n\t}\n\n\tget ariaLabelledByText() {\n\t\treturn `${this.text} ${this.accessibleName}`.trim();\n\t}\n}\n\nMenuItem.define();\n\nexport default MenuItem;\n"]}
1
+ {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../src/MenuItem.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,OAAO,MAAM,+CAA+C,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAuHhC,IAAI,UAAU;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACnD,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;CACD,CAAA;AAlIA;IADC,QAAQ,EAAE;sCACG;AAWd;IADC,QAAQ,EAAE;gDACa;AAcxB;IADC,QAAQ,EAAE;sCACG;AASd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACJ;AAWxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAYnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACb;AAUf;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;2CAClC;AAUnB;IADC,QAAQ,EAAE;gDACa;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;uDACf;AAMhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mDACnB;AAM5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;sDAChB;AAM/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;0CACpC;AAQhB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;uCACpD;AArHnB,QAAQ;IADb,aAAa,CAAC,eAAe,CAAC;GACzB,QAAQ,CA0Ib;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,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 Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type Menu from \"./Menu.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-menu-item</code> is the item to use inside a <code>ui5-menu</code>.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * <h3>Usage</h3>\n *\n * <code>ui5-menu-item</code> is an abstract element, representing a node in a <code>ui5-menu</code>. The menu itself is rendered as a list,\n * and each <code>ui5-menu-item</code> is represented by a list item (<code>ui5-li</code>) in that list. Therefore, you should only use\n * <code>ui5-menu-item</code> directly in your apps. The <code>ui5-li</code> list item is internal for the list, and not intended for public use.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/MenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.3.0\n * @public\n */\n@customElement(\"ui5-menu-item\")\nclass MenuItem extends UI5Element {\n\t/**\n\t * Defines the text of the tree item.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Defines the <code>additionalText</code>, displayed in the end of the menu item.\n\t * <b>Note:</b> The additional text would not be displayed if the item has a submenu.\n\t *\n\t * @default \"\"\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 * <br><br>\n\t * <b>Example:</b>\n\t * <br />\n\t * See all the available icons in the <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines whether a visual separator should be rendered before the item.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstartsSection!: boolean;\n\n\t/**\n\t * Defines whether <code>ui5-menu-item</code> is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled <code>ui5-menu-item</code> is noninteractive.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * Note: If set to <code>true</code> a <code>ui5-busy-indicator</code> component will be displayed into the related one to the current <code>ui5-menu-item</code> sub-menu popover.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ type: Boolean })\n\tbusy!: boolean;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will be displayed inside the corresponding ui5-menu popover.\n\t *\n\t * @default 1000\n\t * @public\n\t * @since 1.13.0\n\t */\n\t@property({ validator: Integer, defaultValue: 1000 })\n\tbusyDelay!: number;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.7.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Indicates whether any of the element siblings have children items.\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_siblingsWithChildren!: boolean;\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!: boolean;\n\n\t/**\n\t * Defines whether the submenu closing must be prevented\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_preventSubMenuClose!: boolean;\n\n\t/**\n\t * Stores Menu object with submenu items\n\t */\n\t@property({ type: Object, defaultValue: undefined })\n\t_subMenu?: Menu;\n\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\titems!: Array<MenuItem>;\n\n\tget hasSubmenu() {\n\t\treturn !!(this.items.length || this.busy);\n\t}\n\n\tget hasDummyIcon() {\n\t\treturn this._siblingsWithIcon && !this.icon;\n\t}\n\n\tget subMenuOpened() {\n\t\treturn !!this._subMenu;\n\t}\n\n\tget _additionalText() {\n\t\treturn this.hasSubmenu ? \"\" : this.additionalText;\n\t}\n\n\tget ariaLabelledByText() {\n\t\treturn `${this.text} ${this.accessibleName}`.trim();\n\t}\n}\n\nMenuItem.define();\n\nexport default MenuItem;\n"]}