@sapudex/web-components 2.5.0 → 2.6.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 (533) hide show
  1. package/cypress/specs/Accordion.cy.tsx +18 -10
  2. package/cypress/specs/Divider.cy.tsx +16 -0
  3. package/cypress/support/component-imports.instrumented.ts +2 -0
  4. package/cypress/support/component-imports.src.ts +4 -2
  5. package/dist/Accordion.d.ts +6 -5
  6. package/dist/Accordion.js +21 -20
  7. package/dist/Accordion.js.map +1 -1
  8. package/dist/AccordionItem.d.ts +1 -3
  9. package/dist/AccordionItem.js +17 -19
  10. package/dist/AccordionItem.js.map +1 -1
  11. package/dist/AccordionItemTemplate.d.ts +2 -0
  12. package/dist/AccordionItemTemplate.js +14 -0
  13. package/dist/AccordionItemTemplate.js.map +1 -0
  14. package/dist/AccordionTemplate.d.ts +2 -0
  15. package/dist/AccordionTemplate.js +11 -0
  16. package/dist/AccordionTemplate.js.map +1 -0
  17. package/dist/AssetsVariables.js +5 -1
  18. package/dist/AssetsVariables.js.map +1 -1
  19. package/dist/Avatar.d.ts +2 -1
  20. package/dist/Avatar.js +7 -9
  21. package/dist/Avatar.js.map +1 -1
  22. package/dist/AvatarTemplate.d.ts +2 -0
  23. package/dist/AvatarTemplate.js +6 -0
  24. package/dist/AvatarTemplate.js.map +1 -0
  25. package/dist/Badge.d.ts +1 -2
  26. package/dist/Badge.js +6 -9
  27. package/dist/Badge.js.map +1 -1
  28. package/dist/BadgeTemplate.d.ts +2 -0
  29. package/dist/BadgeTemplate.js +8 -0
  30. package/dist/BadgeTemplate.js.map +1 -0
  31. package/dist/Carousel.d.ts +16 -4
  32. package/dist/Carousel.js +21 -11
  33. package/dist/Carousel.js.map +1 -1
  34. package/dist/CarouselTemplate.d.ts +2 -0
  35. package/dist/CarouselTemplate.js +15 -0
  36. package/dist/CarouselTemplate.js.map +1 -0
  37. package/dist/ContactItemTemplate.js +2 -1
  38. package/dist/ContactItemTemplate.js.map +1 -1
  39. package/dist/CountrySelector.d.ts +1 -1
  40. package/dist/CountrySelector.js +6 -7
  41. package/dist/CountrySelector.js.map +1 -1
  42. package/dist/Divider.d.ts +10 -2
  43. package/dist/Divider.js +11 -4
  44. package/dist/Divider.js.map +1 -1
  45. package/dist/DividerTemplate.d.ts +2 -0
  46. package/dist/DividerTemplate.js +5 -0
  47. package/dist/DividerTemplate.js.map +1 -0
  48. package/dist/Dropdown.js +2 -1
  49. package/dist/Dropdown.js.map +1 -1
  50. package/dist/FilterMenu.d.ts +0 -7
  51. package/dist/FilterMenu.js +12 -12
  52. package/dist/FilterMenu.js.map +1 -1
  53. package/dist/List.js +1 -1
  54. package/dist/List.js.map +1 -1
  55. package/dist/MastheadCountrySelector.d.ts +5 -0
  56. package/dist/MastheadCountrySelector.js +17 -2
  57. package/dist/MastheadCountrySelector.js.map +1 -1
  58. package/dist/MastheadMenu.d.ts +1 -0
  59. package/dist/MastheadMenu.js +7 -3
  60. package/dist/MastheadMenu.js.map +1 -1
  61. package/dist/MastheadMobileMenu.js +6 -3
  62. package/dist/MastheadMobileMenu.js.map +1 -1
  63. package/dist/MastheadShell.d.ts +17 -0
  64. package/dist/MastheadShell.js +53 -15
  65. package/dist/MastheadShell.js.map +1 -1
  66. package/dist/Modal.js +2 -2
  67. package/dist/Modal.js.map +1 -1
  68. package/dist/Search.js +5 -4
  69. package/dist/Search.js.map +1 -1
  70. package/dist/SearchableListBase.d.ts +24 -2
  71. package/dist/SearchableListBase.js +50 -4
  72. package/dist/SearchableListBase.js.map +1 -1
  73. package/dist/SecondaryNavigation.js +1 -1
  74. package/dist/SecondaryNavigation.js.map +1 -1
  75. package/dist/SecondaryNavigationItem.js +1 -2
  76. package/dist/SecondaryNavigationItem.js.map +1 -1
  77. package/dist/SegmentedButton.js +6 -4
  78. package/dist/SegmentedButton.js.map +1 -1
  79. package/dist/SelectBox.d.ts +0 -7
  80. package/dist/SelectBox.js +10 -13
  81. package/dist/SelectBox.js.map +1 -1
  82. package/dist/TabNavigation.d.ts +5 -0
  83. package/dist/TabNavigation.js +8 -0
  84. package/dist/TabNavigation.js.map +1 -1
  85. package/dist/Table.js +1 -1
  86. package/dist/Table.js.map +1 -1
  87. package/dist/TextArea.js +1 -1
  88. package/dist/TextArea.js.map +1 -1
  89. package/dist/assets/InputSuggestions-D_DpCFML.js +2 -0
  90. package/dist/assets/{ListItemStandardExpandableTextTemplate-ClcY2jB2.js → ListItemStandardExpandableTextTemplate-Cd1WOyFc.js} +3 -3
  91. package/dist/assets/bundle-S1uYREqT.css +1 -0
  92. package/dist/assets/bundle.esm-B9JnRRJp.js +475 -0
  93. package/dist/assets/messagebundle_en-CKeTZNW3.js +1 -0
  94. package/dist/assets/parameters-bundle.css-B168-DcZ.js +2 -0
  95. package/dist/assets/parameters-bundle.css-B4OkERQ9.js +2 -0
  96. package/dist/assets/parameters-bundle.css-D1Mp0DP7.js +2 -0
  97. package/dist/assets/parameters-bundle.css-DPQMdjrz.js +2 -0
  98. package/dist/assets/parameters-bundle.css-DW-8EaO7.js +2 -0
  99. package/dist/assets/parameters-bundle.css-DpI130zX.js +2 -0
  100. package/dist/assets/parameters-bundle.css-DsEtCihj.js +2 -0
  101. package/dist/assets/parameters-bundle.css-y5CBgtzD.js +2 -0
  102. package/dist/css/themes/CountrySelector.css +1 -1
  103. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  104. package/dist/css/themes/MastheadItem.css +1 -1
  105. package/dist/css/themes/MastheadMenuItem.css +1 -1
  106. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  107. package/dist/css/themes/MastheadShell.css +1 -1
  108. package/dist/css/themes/RatingIndicator.css +1 -1
  109. package/dist/css/themes/Search.css +1 -1
  110. package/dist/css/themes/SearchableList.css +1 -1
  111. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  112. package/dist/css/themes/Slider.css +1 -1
  113. package/dist/css/themes/TextArea.css +1 -1
  114. package/dist/custom-elements-internal.json +219 -41
  115. package/dist/custom-elements.json +211 -41
  116. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  117. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  118. package/dist/generated/i18n/i18n-defaults.js +2 -1
  119. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  120. package/dist/generated/json-imports/Themes-fetch.js +1 -1
  121. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  122. package/dist/generated/json-imports/Themes-node.js +1 -1
  123. package/dist/generated/json-imports/Themes-node.js.map +1 -1
  124. package/dist/generated/json-imports/Themes.js +1 -1
  125. package/dist/generated/json-imports/Themes.js.map +1 -1
  126. package/dist/generated/json-imports/i18n-fetch.js +1 -1
  127. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  128. package/dist/generated/json-imports/i18n-node.js +1 -1
  129. package/dist/generated/json-imports/i18n-node.js.map +1 -1
  130. package/dist/generated/json-imports/i18n.js +1 -1
  131. package/dist/generated/json-imports/i18n.js.map +1 -1
  132. package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
  133. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  134. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +3 -3
  135. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  136. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  137. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  138. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +1 -1
  139. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  140. package/dist/generated/templates/MastheadShellTemplate.lit.js +1 -1
  141. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  142. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  143. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  144. package/dist/generated/themes/Accordion.css.js +2 -2
  145. package/dist/generated/themes/Accordion.css.js.map +1 -1
  146. package/dist/generated/themes/AccordionItem.css.js +2 -2
  147. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  148. package/dist/generated/themes/Avatar.css.js +2 -2
  149. package/dist/generated/themes/Avatar.css.js.map +1 -1
  150. package/dist/generated/themes/Badge.css.js +2 -2
  151. package/dist/generated/themes/Badge.css.js.map +1 -1
  152. package/dist/generated/themes/Breadcrumbs.css.js +2 -2
  153. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  154. package/dist/generated/themes/BreadcrumbsPopover.css.js +2 -2
  155. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  156. package/dist/generated/themes/Button.css.js +2 -2
  157. package/dist/generated/themes/Button.css.js.map +1 -1
  158. package/dist/generated/themes/Carousel.css.js +2 -2
  159. package/dist/generated/themes/Carousel.css.js.map +1 -1
  160. package/dist/generated/themes/Checkbox.css.js +2 -2
  161. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  162. package/dist/generated/themes/Contact.css.js +2 -2
  163. package/dist/generated/themes/Contact.css.js.map +1 -1
  164. package/dist/generated/themes/ContactItem.css.js +2 -2
  165. package/dist/generated/themes/ContactItem.css.js.map +1 -1
  166. package/dist/generated/themes/ControlButton.css.js +2 -2
  167. package/dist/generated/themes/ControlButton.css.js.map +1 -1
  168. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  169. package/dist/generated/themes/CountrySelector.css.js +3 -3
  170. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  171. package/dist/generated/themes/DatePicker.css.js +2 -2
  172. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  173. package/dist/generated/themes/DatePickerPopover.css.js +2 -2
  174. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  175. package/dist/generated/themes/Divider.css.js +2 -2
  176. package/dist/generated/themes/Divider.css.js.map +1 -1
  177. package/dist/generated/themes/Dropdown.css.js +2 -2
  178. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  179. package/dist/generated/themes/EventRibbon.css.js +2 -2
  180. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  181. package/dist/generated/themes/FilterMenu.css.js +2 -2
  182. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  183. package/dist/generated/themes/Footer.css.js +2 -2
  184. package/dist/generated/themes/Footer.css.js.map +1 -1
  185. package/dist/generated/themes/HeroBanner.css.js +2 -2
  186. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  187. package/dist/generated/themes/InputGroup.css.js +2 -2
  188. package/dist/generated/themes/InputGroup.css.js.map +1 -1
  189. package/dist/generated/themes/Link.css.js +2 -2
  190. package/dist/generated/themes/Link.css.js.map +1 -1
  191. package/dist/generated/themes/List.css.js +2 -2
  192. package/dist/generated/themes/List.css.js.map +1 -1
  193. package/dist/generated/themes/ListGroupHeader.css.js +2 -2
  194. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  195. package/dist/generated/themes/ListItem.css.js +2 -2
  196. package/dist/generated/themes/ListItem.css.js.map +1 -1
  197. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  198. package/dist/generated/themes/MastheadCountrySelector.css.js +3 -3
  199. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  200. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  201. package/dist/generated/themes/MastheadItem.css.js +3 -3
  202. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  203. package/dist/generated/themes/MastheadMenu.css.js +2 -2
  204. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  205. package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
  206. package/dist/generated/themes/MastheadMenuItem.css.js +3 -3
  207. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  208. package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
  209. package/dist/generated/themes/MastheadMobileMenu.css.js +3 -3
  210. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  211. package/dist/generated/themes/MastheadProfileMenu.css.js +2 -2
  212. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  213. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  214. package/dist/generated/themes/MastheadShell.css.js +3 -3
  215. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  216. package/dist/generated/themes/MediaPlayer.css.js +2 -2
  217. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  218. package/dist/generated/themes/MediaPlayerYoutube.css.js +2 -2
  219. package/dist/generated/themes/MediaPlayerYoutube.css.js.map +1 -1
  220. package/dist/generated/themes/MessageStrip.css.js +2 -2
  221. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  222. package/dist/generated/themes/Modal.css.js +2 -2
  223. package/dist/generated/themes/Modal.css.js.map +1 -1
  224. package/dist/generated/themes/Pagination.css.js +2 -2
  225. package/dist/generated/themes/Pagination.css.js.map +1 -1
  226. package/dist/generated/themes/PhoneNumberField.css.js +2 -2
  227. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  228. package/dist/generated/themes/ProgressBar.css.js +2 -2
  229. package/dist/generated/themes/ProgressBar.css.js.map +1 -1
  230. package/dist/generated/themes/Quote.css.js +2 -2
  231. package/dist/generated/themes/Quote.css.js.map +1 -1
  232. package/dist/generated/themes/RadioButton.css.js +2 -2
  233. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  234. package/dist/generated/themes/RatingBar.css.js +2 -2
  235. package/dist/generated/themes/RatingBar.css.js.map +1 -1
  236. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  237. package/dist/generated/themes/RatingIndicator.css.js +3 -3
  238. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  239. package/dist/generated/themes/Review.css.js +2 -2
  240. package/dist/generated/themes/Review.css.js.map +1 -1
  241. package/dist/generated/themes/ReviewItem.css.js +2 -2
  242. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  243. package/dist/generated/themes/Search.css.d.ts +1 -1
  244. package/dist/generated/themes/Search.css.js +3 -3
  245. package/dist/generated/themes/Search.css.js.map +1 -1
  246. package/dist/generated/themes/SearchSuggestions.css.js +2 -2
  247. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  248. package/dist/generated/themes/SearchableList.css.d.ts +1 -1
  249. package/dist/generated/themes/SearchableList.css.js +3 -3
  250. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  251. package/dist/generated/themes/SecondaryNavigation.css.js +2 -2
  252. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  253. package/dist/generated/themes/SecondaryNavigationItem.css.js +2 -2
  254. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  255. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +2 -2
  256. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  257. package/dist/generated/themes/SegmentedButton.css.js +2 -2
  258. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  259. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  260. package/dist/generated/themes/SegmentedButtonItem.css.js +3 -3
  261. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  262. package/dist/generated/themes/SelectBox.css.js +2 -2
  263. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  264. package/dist/generated/themes/SideNavigation.css.js +2 -2
  265. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  266. package/dist/generated/themes/SideNavigationGroup.css.js +2 -2
  267. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  268. package/dist/generated/themes/SideNavigationItem.css.js +2 -2
  269. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  270. package/dist/generated/themes/SideNavigationMobile.css.js +2 -2
  271. package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
  272. package/dist/generated/themes/SideNavigationMobileDropdown.css.js +2 -2
  273. package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
  274. package/dist/generated/themes/SideNavigationSubItem.css.js +2 -2
  275. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  276. package/dist/generated/themes/Slider.css.d.ts +1 -1
  277. package/dist/generated/themes/Slider.css.js +3 -3
  278. package/dist/generated/themes/Slider.css.js.map +1 -1
  279. package/dist/generated/themes/StatusBadge.css.js +2 -2
  280. package/dist/generated/themes/StatusBadge.css.js.map +1 -1
  281. package/dist/generated/themes/StatusMessage.css.js +2 -2
  282. package/dist/generated/themes/StatusMessage.css.js.map +1 -1
  283. package/dist/generated/themes/StepInput.css.js +2 -2
  284. package/dist/generated/themes/StepInput.css.js.map +1 -1
  285. package/dist/generated/themes/Switch.css.js +2 -2
  286. package/dist/generated/themes/Switch.css.js.map +1 -1
  287. package/dist/generated/themes/TabInOverflow.css.js +2 -2
  288. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  289. package/dist/generated/themes/TabNavigation.css.js +2 -2
  290. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  291. package/dist/generated/themes/Table.css.js +2 -2
  292. package/dist/generated/themes/Table.css.js.map +1 -1
  293. package/dist/generated/themes/TableCell.css.js +2 -2
  294. package/dist/generated/themes/TableCell.css.js.map +1 -1
  295. package/dist/generated/themes/TableCellBase.css.js +2 -2
  296. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  297. package/dist/generated/themes/TableGroupRow.css.js +2 -2
  298. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  299. package/dist/generated/themes/TableHeaderCell.css.js +2 -2
  300. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  301. package/dist/generated/themes/TableRowBase.css.js +2 -2
  302. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  303. package/dist/generated/themes/Tag.css.js +2 -2
  304. package/dist/generated/themes/Tag.css.js.map +1 -1
  305. package/dist/generated/themes/TagGroup.css.js +2 -2
  306. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  307. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  308. package/dist/generated/themes/TextArea.css.js +3 -3
  309. package/dist/generated/themes/TextArea.css.js.map +1 -1
  310. package/dist/generated/themes/TextField.css.js +2 -2
  311. package/dist/generated/themes/TextField.css.js.map +1 -1
  312. package/dist/generated/themes/Tile.css.js +2 -2
  313. package/dist/generated/themes/Tile.css.js.map +1 -1
  314. package/dist/generated/themes/Toast.css.js +2 -2
  315. package/dist/generated/themes/Toast.css.js.map +1 -1
  316. package/dist/generated/themes/Tooltip.css.js +2 -2
  317. package/dist/generated/themes/Tooltip.css.js.map +1 -1
  318. package/dist/generated/themes/TruncatedText.css.js +2 -2
  319. package/dist/generated/themes/TruncatedText.css.js.map +1 -1
  320. package/dist/generated/themes/Upload.css.js +2 -2
  321. package/dist/generated/themes/Upload.css.js.map +1 -1
  322. package/dist/generated/themes/UploadItem.css.js +2 -2
  323. package/dist/generated/themes/UploadItem.css.js.map +1 -1
  324. package/dist/generated/themes/Wizard.css.js +2 -2
  325. package/dist/generated/themes/Wizard.css.js.map +1 -1
  326. package/dist/generated/themes/WizardTab.css.js +2 -2
  327. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  328. package/dist/messagebundle.properties +3 -0
  329. package/dist/messagebundle_en.properties +1 -0
  330. package/dist/types/SearchableListBase.d.ts +5 -0
  331. package/dist/types/SearchableListBase.js +6 -0
  332. package/dist/types/SearchableListBase.js.map +1 -1
  333. package/dist/utils/getEffectiveScrollbarStyle.d.ts +4 -0
  334. package/dist/utils/getEffectiveScrollbarStyle.js +45 -0
  335. package/dist/utils/getEffectiveScrollbarStyle.js.map +1 -0
  336. package/dist/vscode.html-custom-data.json +40 -15
  337. package/dist/web-types.json +73 -27
  338. package/package.json +7 -7
  339. package/src/Accordion.ts +38 -31
  340. package/src/AccordionItem.ts +23 -27
  341. package/src/AccordionItemTemplate.tsx +54 -0
  342. package/src/AccordionTemplate.tsx +37 -0
  343. package/src/AssetsVariables.ts +5 -1
  344. package/src/Avatar.ts +9 -11
  345. package/src/AvatarTemplate.tsx +22 -0
  346. package/src/Badge.ts +8 -12
  347. package/src/BadgeTemplate.tsx +22 -0
  348. package/src/Carousel.ts +30 -24
  349. package/src/CarouselTemplate.tsx +56 -0
  350. package/src/ContactItemTemplate.tsx +2 -1
  351. package/src/CountrySelector.ts +9 -10
  352. package/src/Divider.ts +13 -5
  353. package/src/DividerTemplate.tsx +11 -0
  354. package/src/Dropdown.ts +2 -1
  355. package/src/FilterMenu.ts +15 -18
  356. package/src/HeroBanner.hbs +1 -0
  357. package/src/List.ts +1 -1
  358. package/src/MastheadCountrySelector.hbs +5 -9
  359. package/src/MastheadCountrySelector.ts +19 -0
  360. package/src/MastheadMenu.hbs +3 -3
  361. package/src/MastheadMenu.ts +10 -3
  362. package/src/MastheadMobileMenu.hbs +1 -2
  363. package/src/MastheadMobileMenu.ts +7 -3
  364. package/src/MastheadShell.hbs +29 -29
  365. package/src/MastheadShell.ts +65 -16
  366. package/src/Modal.ts +2 -2
  367. package/src/Search.hbs +1 -1
  368. package/src/Search.ts +5 -4
  369. package/src/SearchableListBase.hbs +7 -1
  370. package/src/SearchableListBase.ts +65 -9
  371. package/src/SecondaryNavigation.ts +1 -1
  372. package/src/SecondaryNavigationItem.ts +1 -2
  373. package/src/SegmentedButton.ts +7 -4
  374. package/src/SelectBox.ts +13 -19
  375. package/src/TabNavigation.ts +13 -0
  376. package/src/Table.ts +1 -1
  377. package/src/TextArea.ts +1 -1
  378. package/src/generated/i18n/i18n-defaults.ts +2 -2
  379. package/src/generated/json-imports/Themes-fetch.ts +1 -1
  380. package/src/generated/json-imports/Themes-node.ts +1 -1
  381. package/src/generated/json-imports/Themes.ts +1 -1
  382. package/src/generated/json-imports/i18n-fetch.ts +1 -1
  383. package/src/generated/json-imports/i18n-node.ts +1 -1
  384. package/src/generated/json-imports/i18n.ts +1 -1
  385. package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
  386. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +3 -3
  387. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  388. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +1 -1
  389. package/src/generated/templates/MastheadShellTemplate.lit.ts +1 -1
  390. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  391. package/src/generated/themes/Accordion.css.ts +2 -2
  392. package/src/generated/themes/AccordionItem.css.ts +2 -2
  393. package/src/generated/themes/Avatar.css.ts +2 -2
  394. package/src/generated/themes/Badge.css.ts +2 -2
  395. package/src/generated/themes/Breadcrumbs.css.ts +2 -2
  396. package/src/generated/themes/BreadcrumbsPopover.css.ts +2 -2
  397. package/src/generated/themes/Button.css.ts +2 -2
  398. package/src/generated/themes/Carousel.css.ts +2 -2
  399. package/src/generated/themes/Checkbox.css.ts +2 -2
  400. package/src/generated/themes/Contact.css.ts +2 -2
  401. package/src/generated/themes/ContactItem.css.ts +2 -2
  402. package/src/generated/themes/ControlButton.css.ts +2 -2
  403. package/src/generated/themes/CountrySelector.css.ts +3 -3
  404. package/src/generated/themes/DatePicker.css.ts +2 -2
  405. package/src/generated/themes/DatePickerPopover.css.ts +2 -2
  406. package/src/generated/themes/Divider.css.ts +2 -2
  407. package/src/generated/themes/Dropdown.css.ts +2 -2
  408. package/src/generated/themes/EventRibbon.css.ts +2 -2
  409. package/src/generated/themes/FilterMenu.css.ts +2 -2
  410. package/src/generated/themes/Footer.css.ts +2 -2
  411. package/src/generated/themes/HeroBanner.css.ts +2 -2
  412. package/src/generated/themes/InputGroup.css.ts +2 -2
  413. package/src/generated/themes/Link.css.ts +2 -2
  414. package/src/generated/themes/List.css.ts +2 -2
  415. package/src/generated/themes/ListGroupHeader.css.ts +2 -2
  416. package/src/generated/themes/ListItem.css.ts +2 -2
  417. package/src/generated/themes/MastheadCountrySelector.css.ts +3 -3
  418. package/src/generated/themes/MastheadItem.css.ts +3 -3
  419. package/src/generated/themes/MastheadMenu.css.ts +2 -2
  420. package/src/generated/themes/MastheadMenuItem.css.ts +3 -3
  421. package/src/generated/themes/MastheadMobileMenu.css.ts +3 -3
  422. package/src/generated/themes/MastheadProfileMenu.css.ts +2 -2
  423. package/src/generated/themes/MastheadShell.css.ts +3 -3
  424. package/src/generated/themes/MediaPlayer.css.ts +2 -2
  425. package/src/generated/themes/MediaPlayerYoutube.css.ts +2 -2
  426. package/src/generated/themes/MessageStrip.css.ts +2 -2
  427. package/src/generated/themes/Modal.css.ts +2 -2
  428. package/src/generated/themes/Pagination.css.ts +2 -2
  429. package/src/generated/themes/PhoneNumberField.css.ts +2 -2
  430. package/src/generated/themes/ProgressBar.css.ts +2 -2
  431. package/src/generated/themes/Quote.css.ts +2 -2
  432. package/src/generated/themes/RadioButton.css.ts +2 -2
  433. package/src/generated/themes/RatingBar.css.ts +2 -2
  434. package/src/generated/themes/RatingIndicator.css.ts +3 -3
  435. package/src/generated/themes/Review.css.ts +2 -2
  436. package/src/generated/themes/ReviewItem.css.ts +2 -2
  437. package/src/generated/themes/Search.css.ts +3 -3
  438. package/src/generated/themes/SearchSuggestions.css.ts +2 -2
  439. package/src/generated/themes/SearchableList.css.ts +3 -3
  440. package/src/generated/themes/SecondaryNavigation.css.ts +2 -2
  441. package/src/generated/themes/SecondaryNavigationItem.css.ts +2 -2
  442. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +2 -2
  443. package/src/generated/themes/SegmentedButton.css.ts +2 -2
  444. package/src/generated/themes/SegmentedButtonItem.css.ts +3 -3
  445. package/src/generated/themes/SelectBox.css.ts +2 -2
  446. package/src/generated/themes/SideNavigation.css.ts +2 -2
  447. package/src/generated/themes/SideNavigationGroup.css.ts +2 -2
  448. package/src/generated/themes/SideNavigationItem.css.ts +2 -2
  449. package/src/generated/themes/SideNavigationMobile.css.ts +2 -2
  450. package/src/generated/themes/SideNavigationMobileDropdown.css.ts +2 -2
  451. package/src/generated/themes/SideNavigationSubItem.css.ts +2 -2
  452. package/src/generated/themes/Slider.css.ts +3 -3
  453. package/src/generated/themes/StatusBadge.css.ts +2 -2
  454. package/src/generated/themes/StatusMessage.css.ts +2 -2
  455. package/src/generated/themes/StepInput.css.ts +2 -2
  456. package/src/generated/themes/Switch.css.ts +2 -2
  457. package/src/generated/themes/TabInOverflow.css.ts +2 -2
  458. package/src/generated/themes/TabNavigation.css.ts +2 -2
  459. package/src/generated/themes/Table.css.ts +2 -2
  460. package/src/generated/themes/TableCell.css.ts +2 -2
  461. package/src/generated/themes/TableCellBase.css.ts +2 -2
  462. package/src/generated/themes/TableGroupRow.css.ts +2 -2
  463. package/src/generated/themes/TableHeaderCell.css.ts +2 -2
  464. package/src/generated/themes/TableRowBase.css.ts +2 -2
  465. package/src/generated/themes/Tag.css.ts +2 -2
  466. package/src/generated/themes/TagGroup.css.ts +2 -2
  467. package/src/generated/themes/TextArea.css.ts +3 -3
  468. package/src/generated/themes/TextField.css.ts +2 -2
  469. package/src/generated/themes/Tile.css.ts +2 -2
  470. package/src/generated/themes/Toast.css.ts +2 -2
  471. package/src/generated/themes/Tooltip.css.ts +2 -2
  472. package/src/generated/themes/TruncatedText.css.ts +2 -2
  473. package/src/generated/themes/Upload.css.ts +2 -2
  474. package/src/generated/themes/UploadItem.css.ts +2 -2
  475. package/src/generated/themes/Wizard.css.ts +2 -2
  476. package/src/generated/themes/WizardTab.css.ts +2 -2
  477. package/src/i18n/messagebundle.properties +3 -0
  478. package/src/i18n/messagebundle_en.properties +1 -0
  479. package/src/themes/CountrySelector.css +11 -0
  480. package/src/themes/List.css +1 -0
  481. package/src/themes/MastheadCountrySelector.css +11 -0
  482. package/src/themes/MastheadItem.css +5 -2
  483. package/src/themes/MastheadMenuItem.css +5 -0
  484. package/src/themes/MastheadMobileMenu.css +1 -0
  485. package/src/themes/MastheadShell.css +4 -4
  486. package/src/themes/Search.css +3 -1
  487. package/src/themes/SearchableList.css +15 -0
  488. package/src/themes/SegmentedButtonItem.css +2 -2
  489. package/src/themes/TextArea.css +0 -7
  490. package/src/types/SearchableListBase.ts +6 -0
  491. package/src/utils/getEffectiveScrollbarStyle.ts +48 -0
  492. package/dist/assets/InputSuggestions-RQHqFxZ9.js +0 -2
  493. package/dist/assets/bundle-C9ZlnwwH.css +0 -1
  494. package/dist/assets/bundle.esm-DGH8Pvav.js +0 -399
  495. package/dist/assets/messagebundle_en-DXEe5nWA.js +0 -1
  496. package/dist/assets/parameters-bundle.css-1GGBOW8m.js +0 -2
  497. package/dist/assets/parameters-bundle.css-A9eeRg2R.js +0 -2
  498. package/dist/assets/parameters-bundle.css-COBI_9-U.js +0 -2
  499. package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +0 -2
  500. package/dist/assets/parameters-bundle.css-DuFHHRNK.js +0 -2
  501. package/dist/assets/parameters-bundle.css-Pf68NO0T.js +0 -2
  502. package/dist/assets/parameters-bundle.css-aX_t_-9o.js +0 -2
  503. package/dist/assets/parameters-bundle.css-rNSryFKH.js +0 -2
  504. package/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -3
  505. package/dist/generated/templates/AccordionItemTemplate.lit.js +0 -8
  506. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
  507. package/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -3
  508. package/dist/generated/templates/AccordionTemplate.lit.js +0 -10
  509. package/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
  510. package/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -3
  511. package/dist/generated/templates/AvatarTemplate.lit.js +0 -9
  512. package/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
  513. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -3
  514. package/dist/generated/templates/BadgeTemplate.lit.js +0 -9
  515. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  516. package/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -3
  517. package/dist/generated/templates/CarouselTemplate.lit.js +0 -10
  518. package/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
  519. package/dist/generated/templates/DividerTemplate.lit.d.ts +0 -3
  520. package/dist/generated/templates/DividerTemplate.lit.js +0 -7
  521. package/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
  522. package/src/Accordion.hbs +0 -25
  523. package/src/AccordionItem.hbs +0 -37
  524. package/src/Avatar.hbs +0 -19
  525. package/src/Badge.hbs +0 -16
  526. package/src/Carousel.hbs +0 -45
  527. package/src/Divider.hbs +0 -1
  528. package/src/generated/templates/AccordionItemTemplate.lit.ts +0 -12
  529. package/src/generated/templates/AccordionTemplate.lit.ts +0 -14
  530. package/src/generated/templates/AvatarTemplate.lit.ts +0 -13
  531. package/src/generated/templates/BadgeTemplate.lit.ts +0 -13
  532. package/src/generated/templates/CarouselTemplate.lit.ts +0 -14
  533. package/src/generated/templates/DividerTemplate.lit.ts +0 -11
@@ -7,6 +7,7 @@ export type Item = {
7
7
  title: string;
8
8
  url: string;
9
9
  externalLink: boolean;
10
+ isDivider?: boolean;
10
11
  };
11
12
  export type SubMenuLinkItem = {
12
13
  categoryId: string;
@@ -116,9 +116,13 @@ let UDExMastheadMenu = class UDExMastheadMenu extends UI5Element {
116
116
  let id = 1;
117
117
  const parsedItems = parseArrayFromString(this.subItems);
118
118
  return parsedItems.map((mainItem) => {
119
- mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((category) => {
120
- category.categoryId = `${id++}`;
121
- return category;
119
+ mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((subMenu) => {
120
+ subMenu.categoryId = `${id++}`;
121
+ subMenu.items = subMenu.items.map((item) => ({
122
+ ...item,
123
+ ...(item.title === "-" && { isDivider: true }),
124
+ }));
125
+ return subMenu;
122
126
  });
123
127
  return mainItem;
124
128
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport { isUp, isDown } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExDivider from \"./Divider.js\";\nimport MastheadMenuTemplate from \"./generated/templates/MastheadMenuTemplate.lit.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url: string;\n externalLink: boolean;\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadMenuMenuItemClickEventDetail = {\n category?: string,\n analyticsPath: Array<string>,\n analyticsName: AnalyticsName,\n originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: litRender,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExBadge, UDExMastheadMenuItem, UDExDivider],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"menu-item-click\", { bubbles: true })\n\nclass UDExMastheadMenu extends UI5Element {\n eventDetails!: {\n \"menu-item-click\": UDExMastheadMenuMenuItemClickEventDetail\n };\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"[]\";\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n handleKeyDown(e: KeyboardEvent): void {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n if (isUp(e)) {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n if (isDown(e)) {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n }\n\n handleMenuItemClick(e: PointerEvent): void {\n const menuItem = e.target as UDExMastheadMenuItem;\n if (!menuItem.url?.length) {\n return;\n }\n\n const mainItem = this.closest(\"[udex-masthead-item]\") as UDExMastheadItem;\n const menuList = menuItem.closest(\".udex-masthead-menu__list\") as HTMLElement;\n const sourceNode = menuItem.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement;\n const category = menuList?.getAttribute(\"category\") || \"\";\n\n const eventDetail: UDExMastheadMenuMenuItemClickEventDetail = {\n analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),\n analyticsName: AnalyticsName.Header,\n originalEvent: e,\n item: menuItem,\n sourceNode,\n ...(menuItem.type !== UDExItemType.Heading && { category }),\n };\n\n this.fireDecoratorEvent(\"menu-item-click\", eventDetail);\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n this.links[previousSelectIndex].focus();\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n this.links[nextSelectIndex].focus();\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = parseArrayFromString(this.subItems);\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((category: SubMenuLinkItem) => {\n category.categoryId = `${id++}`;\n return category;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\n"]}
1
+ {"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,EAAE,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AACrF,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AA6BtD;;;;;;;;;;;;;;;;GAgBG;AAiBH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QAIE;;;;;WAKG;QAED,cAAS,GAAW,EAAE,CAAC;QAEzB;;;;;WAKG;QAED,aAAQ,GAAW,IAAI,CAAC;IAmG5B,CAAC;IAzFC,aAAa,CAAC,CAAgB;QAC5B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACZ,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,CAAC,CAAC,MAA8B,CAAC;YACrD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,CAAgB;QAC9B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,CAAC,CAAC,MAA8B,CAAC;YACrD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,CAAe;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAA8B,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAqB,CAAC;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,2BAA2B,CAAgB,CAAC;QAC9E,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,0BAA0B,CAAgB,CAAC;QACjG,MAAM,QAAQ,GAAG,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAE1D,MAAM,WAAW,GAA6C;YAC5D,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1E,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC5D,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,iBAAiB,CAAC,IAA0B;QAC1C,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACpG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,IAA0B;QACtC,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACxG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,IAA0B;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACP,MAAM,SAAS,GAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC1H,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,SAAS;QACX,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,MAAM,WAAW,GAAoB,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE;YAC5C,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAwB,EAAE,EAAE;gBACrF,OAAO,CAAC,UAAU,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC;oBACjD,GAAG,IAAI;oBACP,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;iBAC/C,CAAC,CAAC,CAAC;gBAEJ,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;QACpG,OAAO,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,CAAC;CACF,CAAA;AA5GG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACF;AASvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACD;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACF;AA5BtB,gBAAgB;IAhBrB,aAAa,CAAC;QACb,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,oBAAoB;QAC9B,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,CAAC;KACnE,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAEtC,gBAAgB,CAuHrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport { isUp, isDown } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExDivider from \"./Divider.js\";\nimport MastheadMenuTemplate from \"./generated/templates/MastheadMenuTemplate.lit.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url: string;\n externalLink: boolean;\n isDivider?: boolean;\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadMenuMenuItemClickEventDetail = {\n category?: string,\n analyticsPath: Array<string>,\n analyticsName: AnalyticsName,\n originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: litRender,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExBadge, UDExMastheadMenuItem, UDExDivider],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"menu-item-click\", { bubbles: true })\n\nclass UDExMastheadMenu extends UI5Element {\n eventDetails!: {\n \"menu-item-click\": UDExMastheadMenuMenuItemClickEventDetail\n };\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"[]\";\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n handleKeyDown(e: KeyboardEvent): void {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n if (isUp(e)) {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n if (isDown(e)) {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n }\n\n handleMenuItemClick(e: PointerEvent): void {\n const menuItem = e.target as UDExMastheadMenuItem;\n if (!menuItem.url?.length) {\n return;\n }\n\n const mainItem = this.closest(\"[udex-masthead-item]\") as UDExMastheadItem;\n const menuList = menuItem.closest(\".udex-masthead-menu__list\") as HTMLElement;\n const sourceNode = menuItem.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement;\n const category = menuList?.getAttribute(\"category\") || \"\";\n\n const eventDetail: UDExMastheadMenuMenuItemClickEventDetail = {\n analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),\n analyticsName: AnalyticsName.Header,\n originalEvent: e,\n item: menuItem,\n sourceNode,\n ...(menuItem.type !== UDExItemType.Heading && { category }),\n };\n\n this.fireDecoratorEvent(\"menu-item-click\", eventDetail);\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n this.links[previousSelectIndex].focus();\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n this.links[nextSelectIndex].focus();\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = parseArrayFromString(this.subItems);\n\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((subMenu: SubMenuLinkItem) => {\n subMenu.categoryId = `${id++}`;\n subMenu.items = subMenu.items.map((item: Item) => ({\n ...item,\n ...(item.title === \"-\" && { isDivider: true }),\n }));\n\n return subMenu;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\n"]}
@@ -19,6 +19,8 @@ import AnalyticsName from "./types/AnalyticsName.js";
19
19
  import MastheadMobileMenuTemplate from "./generated/templates/MastheadMobileMenuTemplate.lit.js";
20
20
  // Styles
21
21
  import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js";
22
+ const INDEX_OFFSET_WITH_OVERVIEW = 2;
23
+ const INDEX_OFFSET_WITHOUT_OVERVIEW = 1;
22
24
  /**
23
25
  * @class
24
26
  *
@@ -72,7 +74,7 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
72
74
  handleBackToCategories(e) {
73
75
  e.stopPropagation();
74
76
  this.showCategories();
75
- this.setFocusItemByIndex(this._category.index + 1);
77
+ this.setFocusItemByIndex(this._category.index);
76
78
  this.fireMobileItemEvent(e);
77
79
  }
78
80
  handleExploreBackToMenuItems(e) {
@@ -168,7 +170,7 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
168
170
  }
169
171
  if (target.hasAttribute("is-back-to-categories")) {
170
172
  this.showCategories();
171
- this.setFocusItemByIndex(this._category.index + 1);
173
+ this.setFocusItemByIndex(this._category.index);
172
174
  this.fireMobileItemEvent(e);
173
175
  }
174
176
  if (target.hasAttribute("is-explore-back")) {
@@ -267,8 +269,9 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
267
269
  }
268
270
  openCategoryItems(e) {
269
271
  const item = e.target;
272
+ const indexOffset = this._clickedItem.href ? INDEX_OFFSET_WITH_OVERVIEW : INDEX_OFFSET_WITHOUT_OVERVIEW;
270
273
  const index = Number(item.getAttribute("id"));
271
- this._category = { ...this._categories[index], index };
274
+ this._category = { ...this._categories[index], index: index + indexOffset };
272
275
  this._showCategories = false;
273
276
  this._showCategoryItems = true;
274
277
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\ntype UDExMastheadMobileMenuItemClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n item: UDExMastheadMenuItem,\n category?: string,\n isMobile: boolean,\n isBack: boolean,\n analyticsName: AnalyticsName,\n analyticsPath: Array<string>,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadMobileMenuExploreClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", { cancelable: true, bubbles: false })\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"explorer-menu-click\", { bubbles: true })\n\nclass UDExMastheadMobileMenu extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExMastheadMobileMenuItemClickEventDetail,\n \"explorer-menu-click\": UDExMastheadMobileMenuExploreClickEventDetail,\n };\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton?: UDExMastheadItem;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @property({ type: String })\n _direction?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n _navItem?: UDExMastheadMenuItem;\n\n onAfterRendering() {\n this.handleMenuMode();\n this.setTabIndexForItems();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: PointerEvent) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireExploreSapMobileButton(e);\n }\n\n handleBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: PointerEvent) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handlePressKey(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleLeftRightKeys(e);\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n\n handleLeftRightKeys(e: KeyboardEvent) {\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n if (isRight(e)) {\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n if (isLeft(e)) {\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToNextLevelWithKeyboard(e);\n } else {\n this.moveToBackWithKeyboard(e);\n }\n }\n }\n\n handleUpArrow(e: KeyboardEvent) {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent) {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window.getComputedStyle(this).getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMobileCategoryItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e, this._category.category);\n }\n\n handleMenuMode() {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode && !this._hideExploreSapBtn) {\n this.openCategories(this.items[0]);\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this._focusedItemIndex = 0;\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n\n if (target.hasAttribute(\"is-explore\")) {\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"first-level-btn\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level-btn\")) {\n this.openCategoryItems(e);\n this.fireMobileItemEvent(e);\n }\n\n this.setFocusItemByIndex(0);\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const previousIndex = currentIndex - 1 < 0 ? lastIndex : currentIndex - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let prevItem = this.getListItemByIndex(previousIndex);\n\n if (prevItem.type === UDExItemType.Heading) {\n prevItem = this.getListItemByIndex(lastIndex);\n }\n\n currentItem._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const navLength = this.navigationItems.length;\n const nextIndex = currentIndex + 1 > navLength - 1 ? 0 : currentIndex + 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let nextItem = this.getListItemByIndex(nextIndex);\n\n if (nextItem.type === UDExItemType.Heading) {\n nextItem = this.getListItemByIndex(nextIndex + 1);\n }\n\n currentItem._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n const lastItem = this.getListItemByIndex(lastIndex);\n\n currentItem._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const currentItem = this.getListItemByIndex(currentIndex);\n const firstItem = this.getListItemByIndex(0);\n const focusedIndex = firstItem.type === UDExItemType.Heading ? 1 : 0;\n\n currentItem._tabIndex = \"-1\";\n this.getListItemByIndex(focusedIndex)._tabIndex = \"0\";\n this.getListItemByIndex(focusedIndex).focus();\n }\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: PointerEvent | KeyboardEvent, category?: string) {\n const item = e.target as UDExMastheadMenuItem;\n const isBack = item.hasAttribute(\"is-back\");\n const eventDetail: UDExMastheadMobileMenuItemClickEventDetail = {\n ...(category && { category }),\n item,\n isMobile: true,\n isBack,\n analyticsPath: this.buildAnalyticsPath(item),\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n };\n\n this.fireDecoratorEvent(\"item-click\", eventDetail);\n }\n\n fireExploreSapMobileButton(e: PointerEvent | KeyboardEvent) {\n this.fireDecoratorEvent(\"explorer-menu-click\", {\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: (e.target as HTMLElement).shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getClickedItem(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): UDExMastheadMenuItem {\n return this.navigationItems[index];\n }\n\n setTabIndexForItems(): void {\n this.navigationItems.forEach((item, index) => {\n if (this._focusedItemIndex > 0) {\n item._tabIndex = index === this._focusedItemIndex ? \"0\" : \"-1\";\n return;\n }\n\n const isPrevItemHeading = this.navigationItems[index - 1]?.type === UDExItemType.Heading;\n item._tabIndex = isPrevItemHeading || index === 0 ? \"0\" : \"-1\";\n });\n }\n\n buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {\n const category = this.getListItemByIndex(0).label.trim();\n const isFirstLevel = item.hasAttribute(\"first-level\");\n const isSecondLevel = item.hasAttribute(\"second-level\");\n const isThirdLevel = item.hasAttribute(\"third-level\");\n const isBackToCategories = item.hasAttribute(\"is-back-to-categories\");\n const shouldResetPath = item.hasAttribute(\"is-back-to-nav\") || this._hideExploreSapBtn;\n const isExploreMode = !this.showExploreBtn && !!this.items.length;\n const clickedLabel = item.label.trim();\n const analyticsPath: Array<string> = [];\n\n if (shouldResetPath) {\n this._navItem = undefined;\n analyticsPath.length = 0;\n }\n\n if (isFirstLevel) {\n this._navItem = item;\n analyticsPath.push(clickedLabel);\n } else if (isSecondLevel) {\n analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));\n } else if (isThirdLevel) {\n analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));\n } else if (isBackToCategories) {\n if (this._navItem) {\n analyticsPath.push(this._navItem.label.trim());\n }\n }\n\n if (isExploreMode) {\n analyticsPath.unshift(this.exploreItem.label);\n }\n\n return analyticsPath;\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get navigationItems(): Array<UDExMastheadMenuItem> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExMastheadMenuItem>(\"ul [udex-masthead-menu-item]\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\n"]}
1
+ {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nconst INDEX_OFFSET_WITH_OVERVIEW = 2;\nconst INDEX_OFFSET_WITHOUT_OVERVIEW = 1;\n\ntype UDExMastheadMobileMenuItemClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n item: UDExMastheadMenuItem,\n category?: string,\n isMobile: boolean,\n isBack: boolean,\n analyticsName: AnalyticsName,\n analyticsPath: Array<string>,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadMobileMenuExploreClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", { cancelable: true, bubbles: false })\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"explorer-menu-click\", { bubbles: true })\n\nclass UDExMastheadMobileMenu extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExMastheadMobileMenuItemClickEventDetail,\n \"explorer-menu-click\": UDExMastheadMobileMenuExploreClickEventDetail,\n };\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton?: UDExMastheadItem;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @property({ type: String })\n _direction?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n _navItem?: UDExMastheadMenuItem;\n\n onAfterRendering() {\n this.handleMenuMode();\n this.setTabIndexForItems();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: PointerEvent) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireExploreSapMobileButton(e);\n }\n\n handleBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: PointerEvent) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handlePressKey(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleLeftRightKeys(e);\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n\n handleLeftRightKeys(e: KeyboardEvent) {\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n if (isRight(e)) {\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n if (isLeft(e)) {\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToNextLevelWithKeyboard(e);\n } else {\n this.moveToBackWithKeyboard(e);\n }\n }\n }\n\n handleUpArrow(e: KeyboardEvent) {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent) {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window.getComputedStyle(this).getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMobileCategoryItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e, this._category.category);\n }\n\n handleMenuMode() {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode && !this._hideExploreSapBtn) {\n this.openCategories(this.items[0]);\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this._focusedItemIndex = 0;\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n\n if (target.hasAttribute(\"is-explore\")) {\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"first-level-btn\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level-btn\")) {\n this.openCategoryItems(e);\n this.fireMobileItemEvent(e);\n }\n\n this.setFocusItemByIndex(0);\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const previousIndex = currentIndex - 1 < 0 ? lastIndex : currentIndex - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let prevItem = this.getListItemByIndex(previousIndex);\n\n if (prevItem.type === UDExItemType.Heading) {\n prevItem = this.getListItemByIndex(lastIndex);\n }\n\n currentItem._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const navLength = this.navigationItems.length;\n const nextIndex = currentIndex + 1 > navLength - 1 ? 0 : currentIndex + 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let nextItem = this.getListItemByIndex(nextIndex);\n\n if (nextItem.type === UDExItemType.Heading) {\n nextItem = this.getListItemByIndex(nextIndex + 1);\n }\n\n currentItem._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n const lastItem = this.getListItemByIndex(lastIndex);\n\n currentItem._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const currentItem = this.getListItemByIndex(currentIndex);\n const firstItem = this.getListItemByIndex(0);\n const focusedIndex = firstItem.type === UDExItemType.Heading ? 1 : 0;\n\n currentItem._tabIndex = \"-1\";\n this.getListItemByIndex(focusedIndex)._tabIndex = \"0\";\n this.getListItemByIndex(focusedIndex).focus();\n }\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const indexOffset = this._clickedItem.href ? INDEX_OFFSET_WITH_OVERVIEW : INDEX_OFFSET_WITHOUT_OVERVIEW;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index: index + indexOffset };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: PointerEvent | KeyboardEvent, category?: string) {\n const item = e.target as UDExMastheadMenuItem;\n const isBack = item.hasAttribute(\"is-back\");\n const eventDetail: UDExMastheadMobileMenuItemClickEventDetail = {\n ...(category && { category }),\n item,\n isMobile: true,\n isBack,\n analyticsPath: this.buildAnalyticsPath(item),\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n };\n\n this.fireDecoratorEvent(\"item-click\", eventDetail);\n }\n\n fireExploreSapMobileButton(e: PointerEvent | KeyboardEvent) {\n this.fireDecoratorEvent(\"explorer-menu-click\", {\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: (e.target as HTMLElement).shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getClickedItem(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): UDExMastheadMenuItem {\n return this.navigationItems[index];\n }\n\n setTabIndexForItems(): void {\n this.navigationItems.forEach((item, index) => {\n if (this._focusedItemIndex > 0) {\n item._tabIndex = index === this._focusedItemIndex ? \"0\" : \"-1\";\n return;\n }\n\n const isPrevItemHeading = this.navigationItems[index - 1]?.type === UDExItemType.Heading;\n item._tabIndex = isPrevItemHeading || index === 0 ? \"0\" : \"-1\";\n });\n }\n\n buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {\n const category = this.getListItemByIndex(0).label.trim();\n const isFirstLevel = item.hasAttribute(\"first-level\");\n const isSecondLevel = item.hasAttribute(\"second-level\");\n const isThirdLevel = item.hasAttribute(\"third-level\");\n const isBackToCategories = item.hasAttribute(\"is-back-to-categories\");\n const shouldResetPath = item.hasAttribute(\"is-back-to-nav\") || this._hideExploreSapBtn;\n const isExploreMode = !this.showExploreBtn && !!this.items.length;\n const clickedLabel = item.label.trim();\n const analyticsPath: Array<string> = [];\n\n if (shouldResetPath) {\n this._navItem = undefined;\n analyticsPath.length = 0;\n }\n\n if (isFirstLevel) {\n this._navItem = item;\n analyticsPath.push(clickedLabel);\n } else if (isSecondLevel) {\n analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));\n } else if (isThirdLevel) {\n analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));\n } else if (isBackToCategories) {\n if (this._navItem) {\n analyticsPath.push(this._navItem.label.trim());\n }\n }\n\n if (isExploreMode) {\n analyticsPath.unshift(this.exploreItem.label);\n }\n\n return analyticsPath;\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get navigationItems(): Array<UDExMastheadMenuItem> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExMastheadMenuItem>(\"ul [udex-masthead-menu-item]\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\n"]}
@@ -21,6 +21,16 @@ type UDExMastheadShellBaseEventDetail = {
21
21
  type UDExMastheadShellAnalyticsNameEventDetail = {
22
22
  analyticsName: AnalyticsName;
23
23
  };
24
+ export declare enum UDExMastheadVariable {
25
+ mobileMenuHeight = "--udex-masthead-shell-mobile-menu-height",
26
+ itemButtonIconSize = "--udex-masthead-item-button-icon-size",
27
+ itemArrowIconSize = "--udex-masthead-item-arrow-icon-size",
28
+ rightMenuPadding = "--udex-masthead-right-menu-padding",
29
+ exploreMargin = "--udex-masthead-shell-explore-margin",
30
+ itemIconGap = "--udex-masthead-shell-item-icon-gap",
31
+ mastheadHeight = "--udex-masthead-shell-height",
32
+ itemGap = "--udex-masthead-shell-item-gap"
33
+ }
24
34
  /**
25
35
  * @class
26
36
  *
@@ -260,6 +270,7 @@ declare class UDExMastheadShell extends UI5Element {
260
270
  _handleResizeBound: ResizeObserverCallback;
261
271
  _rootHolder: HTMLElement | null | undefined;
262
272
  _shouldHandleResize: boolean;
273
+ _isVisible: boolean;
263
274
  constructor();
264
275
  onBeforeRendering(): void;
265
276
  onAfterRendering(): void;
@@ -293,7 +304,9 @@ declare class UDExMastheadShell extends UI5Element {
293
304
  getRootHolderWidth(root: HTMLElement): number;
294
305
  getLandingHolderWidth(): number;
295
306
  getRightMenuWidth(): number;
307
+ getItemIconSize(cssVariableName: string): number;
296
308
  getItemIconWidth(): number;
309
+ getItemArrowIconWidth(): number;
297
310
  getMainMenuWidth(): number;
298
311
  getDomElement(selector: string): HTMLElement | undefined | null;
299
312
  getItemWidth(item: UDExMastheadItem): number;
@@ -308,6 +321,7 @@ declare class UDExMastheadShell extends UI5Element {
308
321
  setMobileMode(): void;
309
322
  setMobileMenuHeight(): void;
310
323
  removeMobileMode(): void;
324
+ updateVisibility(): void;
311
325
  fireMastheadEvent(eventName: keyof this["eventDetails"], e?: PointerEvent): void;
312
326
  /**
313
327
  * Close the search panel.
@@ -354,8 +368,11 @@ declare class UDExMastheadShell extends UI5Element {
354
368
  get isMobileMenuMode(): boolean;
355
369
  get isMainMenuVisible(): boolean;
356
370
  get isSearchVisible(): boolean;
371
+ get isVisible(): boolean;
357
372
  get shouldHandleMobileView(): boolean;
358
373
  get mainNavigationAriaLabel(): string;
374
+ get isSimpleExploreMode(): boolean;
375
+ get rightMenuClass(): string;
359
376
  get mainClass(): string;
360
377
  }
361
378
  export default UDExMastheadShell;
@@ -30,6 +30,17 @@ import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.l
30
30
  // Styles
31
31
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
32
32
  const canvasContentFont = "16px '72 Brand Variable'";
33
+ export var UDExMastheadVariable;
34
+ (function (UDExMastheadVariable) {
35
+ UDExMastheadVariable["mobileMenuHeight"] = "--udex-masthead-shell-mobile-menu-height";
36
+ UDExMastheadVariable["itemButtonIconSize"] = "--udex-masthead-item-button-icon-size";
37
+ UDExMastheadVariable["itemArrowIconSize"] = "--udex-masthead-item-arrow-icon-size";
38
+ UDExMastheadVariable["rightMenuPadding"] = "--udex-masthead-right-menu-padding";
39
+ UDExMastheadVariable["exploreMargin"] = "--udex-masthead-shell-explore-margin";
40
+ UDExMastheadVariable["itemIconGap"] = "--udex-masthead-shell-item-icon-gap";
41
+ UDExMastheadVariable["mastheadHeight"] = "--udex-masthead-shell-height";
42
+ UDExMastheadVariable["itemGap"] = "--udex-masthead-shell-item-gap";
43
+ })(UDExMastheadVariable || (UDExMastheadVariable = {}));
33
44
  /**
34
45
  * @class
35
46
  *
@@ -67,6 +78,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
67
78
  if (this._closeBtnClicked) {
68
79
  this.focusSearchBtn();
69
80
  }
81
+ this.updateVisibility();
70
82
  }
71
83
  onEnterDOM() {
72
84
  ResizeHandler.register(this, this._handleResizeBound);
@@ -108,6 +120,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
108
120
  else {
109
121
  this.removeMobileMode();
110
122
  }
123
+ this._isVisible = true;
111
124
  }
112
125
  }
113
126
  handleKeyDown(e) {
@@ -272,24 +285,34 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
272
285
  const itemsIcon = [...this.shadowRoot.querySelectorAll(".udex-masthead-shell__item_icon")];
273
286
  const itemIconWidths = itemsIcon.length * this.getItemIconWidth();
274
287
  const itemIconGaps = itemsIcon.length * this.getItemIconGap();
275
- const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(this.exploreSAP[0]) : 0;
288
+ const exploreItem = this.exploreSAP[0];
289
+ const exploreItemIconWidth = exploreItem.hasArrowDown ? this.getItemArrowIconWidth() : 0;
290
+ const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(exploreItem) : 0;
276
291
  const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;
277
- return exploreSAPWidth + itemIconWidths + rightMenuGaps;
292
+ return exploreSAPWidth + exploreItemIconWidth + itemIconWidths + rightMenuGaps;
278
293
  }
279
- getItemIconWidth() {
294
+ getItemIconSize(cssVariableName) {
280
295
  const item = this.querySelector("[udex-masthead-item]");
281
296
  if (!item) {
282
297
  return 0;
283
298
  }
284
299
  const style = window.getComputedStyle(item);
285
- const itemIconWidthVar = style.getPropertyValue("--udex-masthead-item-button-icon-size");
286
- return parseInt(itemIconWidthVar);
300
+ const iconSizeVar = style.getPropertyValue(cssVariableName);
301
+ return parseInt(iconSizeVar);
302
+ }
303
+ getItemIconWidth() {
304
+ return this.getItemIconSize(UDExMastheadVariable.itemButtonIconSize);
305
+ }
306
+ getItemArrowIconWidth() {
307
+ return this.getItemIconSize(UDExMastheadVariable.itemArrowIconSize);
287
308
  }
288
309
  getMainMenuWidth() {
289
310
  const mainItems = this.getSlottedNodes("menuItems");
290
- const gapItemVar = this.getRootVar("--udex-masthead-shell-item-gap");
311
+ const gapItemVar = this.getRootVar(UDExMastheadVariable.itemGap);
291
312
  return mainItems.reduce((accumulatedWidth, item, index) => {
292
- return accumulatedWidth + this.getItemWidth(item) + (index && parseInt(gapItemVar));
313
+ const mainItem = item;
314
+ const arrowIconWidth = mainItem.hasArrowDown ? this.getItemArrowIconWidth() : 0;
315
+ return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar) + arrowIconWidth);
293
316
  }, 0);
294
317
  }
295
318
  getDomElement(selector) {
@@ -305,15 +328,15 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
305
328
  return canvas.getContext("2d");
306
329
  }
307
330
  getItemIconGap() {
308
- const gapIconItemVar = this.getRootVar("--udex-masthead-shell-item-icon-gap");
331
+ const gapIconItemVar = this.getRootVar(UDExMastheadVariable.itemIconGap);
309
332
  return parseInt(gapIconItemVar);
310
333
  }
311
334
  getExploreSapBtnGap() {
312
- const exploreSapBtnGapVar = this.getRootVar("--udex-masthead-shell-explore-margin");
335
+ const exploreSapBtnGapVar = this.getRootVar(UDExMastheadVariable.exploreMargin);
313
336
  return this.hasExploreSAP ? parseInt(exploreSapBtnGapVar) : 0;
314
337
  }
315
338
  getRightMenuGap() {
316
- const rightMenuGapVar = this.getRootVar("--udex-masthead-right-menu-padding");
339
+ const rightMenuGapVar = this.getRootVar(UDExMastheadVariable.rightMenuPadding);
317
340
  return parseInt(rightMenuGapVar);
318
341
  }
319
342
  getRootVar(variableName) {
@@ -340,9 +363,9 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
340
363
  });
341
364
  }
342
365
  setMobileMenuHeight() {
343
- const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue("--udex-masthead-shell-height"));
366
+ const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue(UDExMastheadVariable.mastheadHeight));
344
367
  const mobileMenuHeight = `${window.innerHeight - mastheadHeight}px`;
345
- this.style.setProperty("--udex-masthead-shell-mobile-menu-height", mobileMenuHeight);
368
+ this.style.setProperty(UDExMastheadVariable.mobileMenuHeight, mobileMenuHeight);
346
369
  }
347
370
  removeMobileMode() {
348
371
  this._isMobileMode = false;
@@ -350,6 +373,9 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
350
373
  item?.removeAttribute("_is-mobile-mode");
351
374
  });
352
375
  }
376
+ updateVisibility() {
377
+ this.style.opacity = this.isVisible ? "1" : "0";
378
+ }
353
379
  fireMastheadEvent(eventName, e) {
354
380
  const eventDetails = {
355
381
  analyticsName: AnalyticsName.Header,
@@ -495,15 +521,27 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
495
521
  get isSearchVisible() {
496
522
  return this.showSearchByDefault || this._isSearchOpened;
497
523
  }
524
+ get isVisible() {
525
+ return this.isMobileMenuMode || !this.menuItems.length || this._isVisible;
526
+ }
498
527
  get shouldHandleMobileView() {
499
- return !this.isAtMostBreakpointSizeM && !this.showSearchByDefault;
528
+ return !this.isAtMostBreakpointSizeM && this.isMainMenuVisible;
500
529
  }
501
530
  get mainNavigationAriaLabel() {
502
531
  return UDExMastheadShell_1.i18nBundle.getText(MAIN_LINKS);
503
532
  }
533
+ get isSimpleExploreMode() {
534
+ return !this.hasSearch && !this.hasProfile && !this.hasCart && !this.hasSupport && !this.hasCountrySelector;
535
+ }
536
+ get rightMenuClass() {
537
+ const root = "udex-masthead-shell__right-menu";
538
+ const simpleExploreClass = this.isSimpleExploreMode ? `${root}_simple-explore` : "";
539
+ return `${root} ${simpleExploreClass}`.trim();
540
+ }
504
541
  get mainClass() {
505
- const coBrandWithoutNavClass = (!!this.coBrandImage && !this.menuItems.length) ? "udex-masthead-shell_co-brand-without-nav" : "";
506
- return `udex-masthead-shell ${coBrandWithoutNavClass}`.trim();
542
+ const root = "udex-masthead-shell";
543
+ const coBrandWithoutNavClass = (!!this.coBrandImage && !this.menuItems.length) ? `${root}_co-brand-without-nav` : "";
544
+ return `${root} ${coBrandWithoutNavClass}`.trim();
507
545
  }
508
546
  };
509
547
  __decorate([