@sapudex/web-components 2.4.2 → 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 (698) 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/MastheadItem.d.ts +3 -0
  59. package/dist/MastheadItem.js +17 -1
  60. package/dist/MastheadItem.js.map +1 -1
  61. package/dist/MastheadMenu.d.ts +3 -1
  62. package/dist/MastheadMenu.js +23 -14
  63. package/dist/MastheadMenu.js.map +1 -1
  64. package/dist/MastheadMobileMenu.d.ts +4 -0
  65. package/dist/MastheadMobileMenu.js +50 -9
  66. package/dist/MastheadMobileMenu.js.map +1 -1
  67. package/dist/MastheadShell.d.ts +78 -16
  68. package/dist/MastheadShell.js +99 -81
  69. package/dist/MastheadShell.js.map +1 -1
  70. package/dist/Modal.js +2 -2
  71. package/dist/Modal.js.map +1 -1
  72. package/dist/Search.js +5 -4
  73. package/dist/Search.js.map +1 -1
  74. package/dist/SearchableListBase.d.ts +24 -2
  75. package/dist/SearchableListBase.js +54 -4
  76. package/dist/SearchableListBase.js.map +1 -1
  77. package/dist/SecondaryNavigation.js +1 -1
  78. package/dist/SecondaryNavigation.js.map +1 -1
  79. package/dist/SecondaryNavigationItem.js +1 -2
  80. package/dist/SecondaryNavigationItem.js.map +1 -1
  81. package/dist/SegmentedButton.js +6 -4
  82. package/dist/SegmentedButton.js.map +1 -1
  83. package/dist/SelectBox.d.ts +0 -7
  84. package/dist/SelectBox.js +10 -13
  85. package/dist/SelectBox.js.map +1 -1
  86. package/dist/TabNavigation.d.ts +5 -0
  87. package/dist/TabNavigation.js +8 -0
  88. package/dist/TabNavigation.js.map +1 -1
  89. package/dist/Table.js +1 -1
  90. package/dist/Table.js.map +1 -1
  91. package/dist/TagGroup.js +3 -2
  92. package/dist/TagGroup.js.map +1 -1
  93. package/dist/TextArea.js +1 -1
  94. package/dist/TextArea.js.map +1 -1
  95. package/dist/assets/InputSuggestions-D_DpCFML.js +2 -0
  96. package/dist/assets/{ListItemStandardExpandableTextTemplate-87ypSvqu.js → ListItemStandardExpandableTextTemplate-Cd1WOyFc.js} +3 -3
  97. package/dist/assets/bundle-S1uYREqT.css +1 -0
  98. package/dist/assets/bundle.esm-B9JnRRJp.js +475 -0
  99. package/dist/assets/messagebundle_ar-C39XMRa3.js +1 -0
  100. package/dist/assets/messagebundle_bg-CFuqxDUo.js +1 -0
  101. package/dist/assets/messagebundle_cs-HZFdxP5k.js +1 -0
  102. package/dist/assets/messagebundle_da-Cb19y_UU.js +1 -0
  103. package/dist/assets/messagebundle_de-BPtfcnG8.js +1 -0
  104. package/dist/assets/messagebundle_el-BfR2BVvB.js +1 -0
  105. package/dist/assets/messagebundle_en-CKeTZNW3.js +1 -0
  106. package/dist/assets/messagebundle_es-DEz3xznF.js +1 -0
  107. package/dist/assets/messagebundle_et-BHSda64J.js +1 -0
  108. package/dist/assets/messagebundle_fi-DTkxmWJb.js +1 -0
  109. package/dist/assets/messagebundle_fr-BEq1Nxlj.js +1 -0
  110. package/dist/assets/messagebundle_hr-BzWPMYA7.js +1 -0
  111. package/dist/assets/messagebundle_hu-DQvndOA8.js +1 -0
  112. package/dist/assets/messagebundle_it-Bx7wA4HY.js +1 -0
  113. package/dist/assets/messagebundle_iw-L2hZONxh.js +1 -0
  114. package/dist/assets/messagebundle_ko-D4ckbm7i.js +1 -0
  115. package/dist/assets/messagebundle_lt-BriAnQM8.js +1 -0
  116. package/dist/assets/messagebundle_lv-Di1Ng3Tk.js +1 -0
  117. package/dist/assets/messagebundle_nl-Bhq20VT1.js +1 -0
  118. package/dist/assets/messagebundle_no-bTeyeWYl.js +1 -0
  119. package/dist/assets/messagebundle_pl-BnBUJpAL.js +1 -0
  120. package/dist/assets/messagebundle_pt-Cd_ey78V.js +1 -0
  121. package/dist/assets/messagebundle_ro-Cy-zHe5i.js +1 -0
  122. package/dist/assets/messagebundle_ru-CiDd56L1.js +1 -0
  123. package/dist/assets/messagebundle_sk-DJS6mahY.js +1 -0
  124. package/dist/assets/messagebundle_sl-BUi3OLzP.js +1 -0
  125. package/dist/assets/messagebundle_sr-BtodsTa0.js +1 -0
  126. package/dist/assets/messagebundle_sv-CVVuFZcm.js +1 -0
  127. package/dist/assets/messagebundle_tr-CqVlQ8yY.js +1 -0
  128. package/dist/assets/messagebundle_uk-aDyDoabO.js +1 -0
  129. package/dist/assets/messagebundle_zh_CN-CTb6-Dhs.js +1 -0
  130. package/dist/assets/messagebundle_zh_TW-DtT5REQh.js +1 -0
  131. package/dist/assets/parameters-bundle.css-B168-DcZ.js +2 -0
  132. package/dist/assets/parameters-bundle.css-B4OkERQ9.js +2 -0
  133. package/dist/assets/parameters-bundle.css-D1Mp0DP7.js +2 -0
  134. package/dist/assets/parameters-bundle.css-DPQMdjrz.js +2 -0
  135. package/dist/assets/parameters-bundle.css-DW-8EaO7.js +2 -0
  136. package/dist/assets/parameters-bundle.css-DpI130zX.js +2 -0
  137. package/dist/assets/parameters-bundle.css-DsEtCihj.js +2 -0
  138. package/dist/assets/parameters-bundle.css-y5CBgtzD.js +2 -0
  139. package/dist/css/themes/CountrySelector.css +1 -1
  140. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  141. package/dist/css/themes/MastheadItem.css +1 -1
  142. package/dist/css/themes/MastheadMenuItem.css +1 -1
  143. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  144. package/dist/css/themes/MastheadShell.css +1 -1
  145. package/dist/css/themes/RatingIndicator.css +1 -1
  146. package/dist/css/themes/Search.css +1 -1
  147. package/dist/css/themes/SearchableList.css +1 -1
  148. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  149. package/dist/css/themes/Slider.css +1 -1
  150. package/dist/css/themes/TextArea.css +1 -1
  151. package/dist/custom-elements-internal.json +391 -88
  152. package/dist/custom-elements.json +379 -88
  153. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  154. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  157. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  161. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  185. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  186. package/dist/generated/i18n/i18n-defaults.js +2 -1
  187. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  188. package/dist/generated/json-imports/Themes-fetch.js +1 -1
  189. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  190. package/dist/generated/json-imports/Themes-node.js +1 -1
  191. package/dist/generated/json-imports/Themes-node.js.map +1 -1
  192. package/dist/generated/json-imports/Themes.js +1 -1
  193. package/dist/generated/json-imports/Themes.js.map +1 -1
  194. package/dist/generated/json-imports/i18n-fetch.js +1 -1
  195. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  196. package/dist/generated/json-imports/i18n-node.js +1 -1
  197. package/dist/generated/json-imports/i18n-node.js.map +1 -1
  198. package/dist/generated/json-imports/i18n.js +1 -1
  199. package/dist/generated/json-imports/i18n.js.map +1 -1
  200. package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
  201. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +3 -3
  203. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  205. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  206. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +11 -11
  207. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  208. package/dist/generated/templates/MastheadShellTemplate.lit.js +17 -14
  209. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  210. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  211. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  212. package/dist/generated/themes/Accordion.css.js +2 -2
  213. package/dist/generated/themes/Accordion.css.js.map +1 -1
  214. package/dist/generated/themes/AccordionItem.css.js +2 -2
  215. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  216. package/dist/generated/themes/Avatar.css.js +2 -2
  217. package/dist/generated/themes/Avatar.css.js.map +1 -1
  218. package/dist/generated/themes/Badge.css.js +2 -2
  219. package/dist/generated/themes/Badge.css.js.map +1 -1
  220. package/dist/generated/themes/Breadcrumbs.css.js +2 -2
  221. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  222. package/dist/generated/themes/BreadcrumbsPopover.css.js +2 -2
  223. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  224. package/dist/generated/themes/Button.css.js +2 -2
  225. package/dist/generated/themes/Button.css.js.map +1 -1
  226. package/dist/generated/themes/Carousel.css.js +2 -2
  227. package/dist/generated/themes/Carousel.css.js.map +1 -1
  228. package/dist/generated/themes/Checkbox.css.js +2 -2
  229. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  230. package/dist/generated/themes/Contact.css.js +2 -2
  231. package/dist/generated/themes/Contact.css.js.map +1 -1
  232. package/dist/generated/themes/ContactItem.css.js +2 -2
  233. package/dist/generated/themes/ContactItem.css.js.map +1 -1
  234. package/dist/generated/themes/ControlButton.css.js +2 -2
  235. package/dist/generated/themes/ControlButton.css.js.map +1 -1
  236. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  237. package/dist/generated/themes/CountrySelector.css.js +3 -3
  238. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  239. package/dist/generated/themes/DatePicker.css.js +2 -2
  240. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  241. package/dist/generated/themes/DatePickerPopover.css.js +2 -2
  242. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  243. package/dist/generated/themes/Divider.css.js +2 -2
  244. package/dist/generated/themes/Divider.css.js.map +1 -1
  245. package/dist/generated/themes/Dropdown.css.js +2 -2
  246. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  247. package/dist/generated/themes/EventRibbon.css.js +2 -2
  248. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  249. package/dist/generated/themes/FilterMenu.css.js +2 -2
  250. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  251. package/dist/generated/themes/Footer.css.js +2 -2
  252. package/dist/generated/themes/Footer.css.js.map +1 -1
  253. package/dist/generated/themes/HeroBanner.css.js +2 -2
  254. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  255. package/dist/generated/themes/InputGroup.css.js +2 -2
  256. package/dist/generated/themes/InputGroup.css.js.map +1 -1
  257. package/dist/generated/themes/Link.css.js +2 -2
  258. package/dist/generated/themes/Link.css.js.map +1 -1
  259. package/dist/generated/themes/List.css.js +2 -2
  260. package/dist/generated/themes/List.css.js.map +1 -1
  261. package/dist/generated/themes/ListGroupHeader.css.js +2 -2
  262. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  263. package/dist/generated/themes/ListItem.css.js +2 -2
  264. package/dist/generated/themes/ListItem.css.js.map +1 -1
  265. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  266. package/dist/generated/themes/MastheadCountrySelector.css.js +3 -3
  267. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  268. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  269. package/dist/generated/themes/MastheadItem.css.js +3 -3
  270. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  271. package/dist/generated/themes/MastheadMenu.css.js +2 -2
  272. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  273. package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
  274. package/dist/generated/themes/MastheadMenuItem.css.js +3 -3
  275. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  276. package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
  277. package/dist/generated/themes/MastheadMobileMenu.css.js +3 -3
  278. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  279. package/dist/generated/themes/MastheadProfileMenu.css.js +2 -2
  280. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  281. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  282. package/dist/generated/themes/MastheadShell.css.js +3 -3
  283. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  284. package/dist/generated/themes/MediaPlayer.css.js +2 -2
  285. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  286. package/dist/generated/themes/MediaPlayerYoutube.css.js +2 -2
  287. package/dist/generated/themes/MediaPlayerYoutube.css.js.map +1 -1
  288. package/dist/generated/themes/MessageStrip.css.js +2 -2
  289. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  290. package/dist/generated/themes/Modal.css.js +2 -2
  291. package/dist/generated/themes/Modal.css.js.map +1 -1
  292. package/dist/generated/themes/Pagination.css.js +2 -2
  293. package/dist/generated/themes/Pagination.css.js.map +1 -1
  294. package/dist/generated/themes/PhoneNumberField.css.js +2 -2
  295. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  296. package/dist/generated/themes/ProgressBar.css.js +2 -2
  297. package/dist/generated/themes/ProgressBar.css.js.map +1 -1
  298. package/dist/generated/themes/Quote.css.js +2 -2
  299. package/dist/generated/themes/Quote.css.js.map +1 -1
  300. package/dist/generated/themes/RadioButton.css.js +2 -2
  301. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  302. package/dist/generated/themes/RatingBar.css.js +2 -2
  303. package/dist/generated/themes/RatingBar.css.js.map +1 -1
  304. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  305. package/dist/generated/themes/RatingIndicator.css.js +3 -3
  306. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  307. package/dist/generated/themes/Review.css.js +2 -2
  308. package/dist/generated/themes/Review.css.js.map +1 -1
  309. package/dist/generated/themes/ReviewItem.css.js +2 -2
  310. package/dist/generated/themes/ReviewItem.css.js.map +1 -1
  311. package/dist/generated/themes/Search.css.d.ts +1 -1
  312. package/dist/generated/themes/Search.css.js +3 -3
  313. package/dist/generated/themes/Search.css.js.map +1 -1
  314. package/dist/generated/themes/SearchSuggestions.css.js +2 -2
  315. package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
  316. package/dist/generated/themes/SearchableList.css.d.ts +1 -1
  317. package/dist/generated/themes/SearchableList.css.js +3 -3
  318. package/dist/generated/themes/SearchableList.css.js.map +1 -1
  319. package/dist/generated/themes/SecondaryNavigation.css.js +2 -2
  320. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  321. package/dist/generated/themes/SecondaryNavigationItem.css.js +2 -2
  322. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  323. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +2 -2
  324. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  325. package/dist/generated/themes/SegmentedButton.css.js +2 -2
  326. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  327. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  328. package/dist/generated/themes/SegmentedButtonItem.css.js +3 -3
  329. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  330. package/dist/generated/themes/SelectBox.css.js +2 -2
  331. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  332. package/dist/generated/themes/SideNavigation.css.js +2 -2
  333. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  334. package/dist/generated/themes/SideNavigationGroup.css.js +2 -2
  335. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  336. package/dist/generated/themes/SideNavigationItem.css.js +2 -2
  337. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  338. package/dist/generated/themes/SideNavigationMobile.css.js +2 -2
  339. package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
  340. package/dist/generated/themes/SideNavigationMobileDropdown.css.js +2 -2
  341. package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
  342. package/dist/generated/themes/SideNavigationSubItem.css.js +2 -2
  343. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  344. package/dist/generated/themes/Slider.css.d.ts +1 -1
  345. package/dist/generated/themes/Slider.css.js +3 -3
  346. package/dist/generated/themes/Slider.css.js.map +1 -1
  347. package/dist/generated/themes/StatusBadge.css.js +2 -2
  348. package/dist/generated/themes/StatusBadge.css.js.map +1 -1
  349. package/dist/generated/themes/StatusMessage.css.js +2 -2
  350. package/dist/generated/themes/StatusMessage.css.js.map +1 -1
  351. package/dist/generated/themes/StepInput.css.js +2 -2
  352. package/dist/generated/themes/StepInput.css.js.map +1 -1
  353. package/dist/generated/themes/Switch.css.js +2 -2
  354. package/dist/generated/themes/Switch.css.js.map +1 -1
  355. package/dist/generated/themes/TabInOverflow.css.js +2 -2
  356. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  357. package/dist/generated/themes/TabNavigation.css.js +2 -2
  358. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  359. package/dist/generated/themes/Table.css.js +2 -2
  360. package/dist/generated/themes/Table.css.js.map +1 -1
  361. package/dist/generated/themes/TableCell.css.js +2 -2
  362. package/dist/generated/themes/TableCell.css.js.map +1 -1
  363. package/dist/generated/themes/TableCellBase.css.js +2 -2
  364. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  365. package/dist/generated/themes/TableGroupRow.css.js +2 -2
  366. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  367. package/dist/generated/themes/TableHeaderCell.css.js +2 -2
  368. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  369. package/dist/generated/themes/TableRowBase.css.js +2 -2
  370. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  371. package/dist/generated/themes/Tag.css.js +2 -2
  372. package/dist/generated/themes/Tag.css.js.map +1 -1
  373. package/dist/generated/themes/TagGroup.css.js +2 -2
  374. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  375. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  376. package/dist/generated/themes/TextArea.css.js +3 -3
  377. package/dist/generated/themes/TextArea.css.js.map +1 -1
  378. package/dist/generated/themes/TextField.css.js +2 -2
  379. package/dist/generated/themes/TextField.css.js.map +1 -1
  380. package/dist/generated/themes/Tile.css.js +2 -2
  381. package/dist/generated/themes/Tile.css.js.map +1 -1
  382. package/dist/generated/themes/Toast.css.js +2 -2
  383. package/dist/generated/themes/Toast.css.js.map +1 -1
  384. package/dist/generated/themes/Tooltip.css.js +2 -2
  385. package/dist/generated/themes/Tooltip.css.js.map +1 -1
  386. package/dist/generated/themes/TruncatedText.css.js +2 -2
  387. package/dist/generated/themes/TruncatedText.css.js.map +1 -1
  388. package/dist/generated/themes/Upload.css.js +2 -2
  389. package/dist/generated/themes/Upload.css.js.map +1 -1
  390. package/dist/generated/themes/UploadItem.css.js +2 -2
  391. package/dist/generated/themes/UploadItem.css.js.map +1 -1
  392. package/dist/generated/themes/Wizard.css.js +2 -2
  393. package/dist/generated/themes/Wizard.css.js.map +1 -1
  394. package/dist/generated/themes/WizardTab.css.js +2 -2
  395. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  396. package/dist/messagebundle.properties +3 -0
  397. package/dist/messagebundle_ar.properties +3 -0
  398. package/dist/messagebundle_bg.properties +3 -0
  399. package/dist/messagebundle_cs.properties +3 -0
  400. package/dist/messagebundle_da.properties +3 -0
  401. package/dist/messagebundle_de.properties +3 -0
  402. package/dist/messagebundle_el.properties +3 -0
  403. package/dist/messagebundle_en.properties +1 -0
  404. package/dist/messagebundle_es.properties +3 -0
  405. package/dist/messagebundle_et.properties +3 -0
  406. package/dist/messagebundle_fi.properties +3 -0
  407. package/dist/messagebundle_fr.properties +3 -0
  408. package/dist/messagebundle_hr.properties +3 -0
  409. package/dist/messagebundle_hu.properties +3 -0
  410. package/dist/messagebundle_it.properties +3 -0
  411. package/dist/messagebundle_iw.properties +3 -1
  412. package/dist/messagebundle_ko.properties +3 -0
  413. package/dist/messagebundle_lt.properties +3 -0
  414. package/dist/messagebundle_lv.properties +3 -0
  415. package/dist/messagebundle_nl.properties +3 -0
  416. package/dist/messagebundle_no.properties +3 -0
  417. package/dist/messagebundle_pl.properties +3 -0
  418. package/dist/messagebundle_pt.properties +3 -0
  419. package/dist/messagebundle_pt_BR.properties +3 -0
  420. package/dist/messagebundle_ro.properties +3 -0
  421. package/dist/messagebundle_ru.properties +3 -0
  422. package/dist/messagebundle_sk.properties +3 -0
  423. package/dist/messagebundle_sl.properties +3 -0
  424. package/dist/messagebundle_sr.properties +3 -1
  425. package/dist/messagebundle_sv.properties +3 -0
  426. package/dist/messagebundle_tr.properties +3 -0
  427. package/dist/messagebundle_uk.properties +3 -0
  428. package/dist/messagebundle_zh_CN.properties +3 -1
  429. package/dist/messagebundle_zh_TW.properties +3 -0
  430. package/dist/types/SearchableListBase.d.ts +5 -0
  431. package/dist/types/SearchableListBase.js +6 -0
  432. package/dist/types/SearchableListBase.js.map +1 -1
  433. package/dist/utils/getEffectiveScrollbarStyle.d.ts +4 -0
  434. package/dist/utils/getEffectiveScrollbarStyle.js +45 -0
  435. package/dist/utils/getEffectiveScrollbarStyle.js.map +1 -0
  436. package/dist/vscode.html-custom-data.json +71 -16
  437. package/dist/web-types.json +158 -44
  438. package/package.json +7 -7
  439. package/src/Accordion.ts +38 -31
  440. package/src/AccordionItem.ts +23 -27
  441. package/src/AccordionItemTemplate.tsx +54 -0
  442. package/src/AccordionTemplate.tsx +37 -0
  443. package/src/AssetsVariables.ts +5 -1
  444. package/src/Avatar.ts +9 -11
  445. package/src/AvatarTemplate.tsx +22 -0
  446. package/src/Badge.ts +8 -12
  447. package/src/BadgeTemplate.tsx +22 -0
  448. package/src/Carousel.ts +30 -24
  449. package/src/CarouselTemplate.tsx +56 -0
  450. package/src/ContactItemTemplate.tsx +2 -1
  451. package/src/CountrySelector.ts +9 -10
  452. package/src/Divider.ts +13 -5
  453. package/src/DividerTemplate.tsx +11 -0
  454. package/src/Dropdown.ts +2 -1
  455. package/src/FilterMenu.ts +15 -18
  456. package/src/HeroBanner.hbs +1 -0
  457. package/src/List.ts +1 -1
  458. package/src/MastheadCountrySelector.hbs +5 -9
  459. package/src/MastheadCountrySelector.ts +19 -0
  460. package/src/MastheadItem.ts +21 -2
  461. package/src/MastheadMenu.hbs +3 -3
  462. package/src/MastheadMenu.ts +32 -15
  463. package/src/MastheadMobileMenu.hbs +13 -2
  464. package/src/MastheadMobileMenu.ts +57 -10
  465. package/src/MastheadShell.hbs +64 -30
  466. package/src/MastheadShell.ts +168 -43
  467. package/src/Modal.ts +2 -2
  468. package/src/Search.hbs +1 -1
  469. package/src/Search.ts +5 -4
  470. package/src/SearchableListBase.hbs +7 -1
  471. package/src/SearchableListBase.ts +69 -9
  472. package/src/SecondaryNavigation.ts +1 -1
  473. package/src/SecondaryNavigationItem.ts +1 -2
  474. package/src/SegmentedButton.ts +7 -4
  475. package/src/SelectBox.ts +13 -19
  476. package/src/TabNavigation.ts +13 -0
  477. package/src/Table.ts +1 -1
  478. package/src/TagGroup.ts +3 -2
  479. package/src/TextArea.ts +1 -1
  480. package/src/generated/i18n/i18n-defaults.ts +2 -2
  481. package/src/generated/json-imports/Themes-fetch.ts +1 -1
  482. package/src/generated/json-imports/Themes-node.ts +1 -1
  483. package/src/generated/json-imports/Themes.ts +1 -1
  484. package/src/generated/json-imports/i18n-fetch.ts +1 -1
  485. package/src/generated/json-imports/i18n-node.ts +1 -1
  486. package/src/generated/json-imports/i18n.ts +1 -1
  487. package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
  488. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +3 -3
  489. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  490. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +11 -11
  491. package/src/generated/templates/MastheadShellTemplate.lit.ts +17 -14
  492. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  493. package/src/generated/themes/Accordion.css.ts +2 -2
  494. package/src/generated/themes/AccordionItem.css.ts +2 -2
  495. package/src/generated/themes/Avatar.css.ts +2 -2
  496. package/src/generated/themes/Badge.css.ts +2 -2
  497. package/src/generated/themes/Breadcrumbs.css.ts +2 -2
  498. package/src/generated/themes/BreadcrumbsPopover.css.ts +2 -2
  499. package/src/generated/themes/Button.css.ts +2 -2
  500. package/src/generated/themes/Carousel.css.ts +2 -2
  501. package/src/generated/themes/Checkbox.css.ts +2 -2
  502. package/src/generated/themes/Contact.css.ts +2 -2
  503. package/src/generated/themes/ContactItem.css.ts +2 -2
  504. package/src/generated/themes/ControlButton.css.ts +2 -2
  505. package/src/generated/themes/CountrySelector.css.ts +3 -3
  506. package/src/generated/themes/DatePicker.css.ts +2 -2
  507. package/src/generated/themes/DatePickerPopover.css.ts +2 -2
  508. package/src/generated/themes/Divider.css.ts +2 -2
  509. package/src/generated/themes/Dropdown.css.ts +2 -2
  510. package/src/generated/themes/EventRibbon.css.ts +2 -2
  511. package/src/generated/themes/FilterMenu.css.ts +2 -2
  512. package/src/generated/themes/Footer.css.ts +2 -2
  513. package/src/generated/themes/HeroBanner.css.ts +2 -2
  514. package/src/generated/themes/InputGroup.css.ts +2 -2
  515. package/src/generated/themes/Link.css.ts +2 -2
  516. package/src/generated/themes/List.css.ts +2 -2
  517. package/src/generated/themes/ListGroupHeader.css.ts +2 -2
  518. package/src/generated/themes/ListItem.css.ts +2 -2
  519. package/src/generated/themes/MastheadCountrySelector.css.ts +3 -3
  520. package/src/generated/themes/MastheadItem.css.ts +3 -3
  521. package/src/generated/themes/MastheadMenu.css.ts +2 -2
  522. package/src/generated/themes/MastheadMenuItem.css.ts +3 -3
  523. package/src/generated/themes/MastheadMobileMenu.css.ts +3 -3
  524. package/src/generated/themes/MastheadProfileMenu.css.ts +2 -2
  525. package/src/generated/themes/MastheadShell.css.ts +3 -3
  526. package/src/generated/themes/MediaPlayer.css.ts +2 -2
  527. package/src/generated/themes/MediaPlayerYoutube.css.ts +2 -2
  528. package/src/generated/themes/MessageStrip.css.ts +2 -2
  529. package/src/generated/themes/Modal.css.ts +2 -2
  530. package/src/generated/themes/Pagination.css.ts +2 -2
  531. package/src/generated/themes/PhoneNumberField.css.ts +2 -2
  532. package/src/generated/themes/ProgressBar.css.ts +2 -2
  533. package/src/generated/themes/Quote.css.ts +2 -2
  534. package/src/generated/themes/RadioButton.css.ts +2 -2
  535. package/src/generated/themes/RatingBar.css.ts +2 -2
  536. package/src/generated/themes/RatingIndicator.css.ts +3 -3
  537. package/src/generated/themes/Review.css.ts +2 -2
  538. package/src/generated/themes/ReviewItem.css.ts +2 -2
  539. package/src/generated/themes/Search.css.ts +3 -3
  540. package/src/generated/themes/SearchSuggestions.css.ts +2 -2
  541. package/src/generated/themes/SearchableList.css.ts +3 -3
  542. package/src/generated/themes/SecondaryNavigation.css.ts +2 -2
  543. package/src/generated/themes/SecondaryNavigationItem.css.ts +2 -2
  544. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +2 -2
  545. package/src/generated/themes/SegmentedButton.css.ts +2 -2
  546. package/src/generated/themes/SegmentedButtonItem.css.ts +3 -3
  547. package/src/generated/themes/SelectBox.css.ts +2 -2
  548. package/src/generated/themes/SideNavigation.css.ts +2 -2
  549. package/src/generated/themes/SideNavigationGroup.css.ts +2 -2
  550. package/src/generated/themes/SideNavigationItem.css.ts +2 -2
  551. package/src/generated/themes/SideNavigationMobile.css.ts +2 -2
  552. package/src/generated/themes/SideNavigationMobileDropdown.css.ts +2 -2
  553. package/src/generated/themes/SideNavigationSubItem.css.ts +2 -2
  554. package/src/generated/themes/Slider.css.ts +3 -3
  555. package/src/generated/themes/StatusBadge.css.ts +2 -2
  556. package/src/generated/themes/StatusMessage.css.ts +2 -2
  557. package/src/generated/themes/StepInput.css.ts +2 -2
  558. package/src/generated/themes/Switch.css.ts +2 -2
  559. package/src/generated/themes/TabInOverflow.css.ts +2 -2
  560. package/src/generated/themes/TabNavigation.css.ts +2 -2
  561. package/src/generated/themes/Table.css.ts +2 -2
  562. package/src/generated/themes/TableCell.css.ts +2 -2
  563. package/src/generated/themes/TableCellBase.css.ts +2 -2
  564. package/src/generated/themes/TableGroupRow.css.ts +2 -2
  565. package/src/generated/themes/TableHeaderCell.css.ts +2 -2
  566. package/src/generated/themes/TableRowBase.css.ts +2 -2
  567. package/src/generated/themes/Tag.css.ts +2 -2
  568. package/src/generated/themes/TagGroup.css.ts +2 -2
  569. package/src/generated/themes/TextArea.css.ts +3 -3
  570. package/src/generated/themes/TextField.css.ts +2 -2
  571. package/src/generated/themes/Tile.css.ts +2 -2
  572. package/src/generated/themes/Toast.css.ts +2 -2
  573. package/src/generated/themes/Tooltip.css.ts +2 -2
  574. package/src/generated/themes/TruncatedText.css.ts +2 -2
  575. package/src/generated/themes/Upload.css.ts +2 -2
  576. package/src/generated/themes/UploadItem.css.ts +2 -2
  577. package/src/generated/themes/Wizard.css.ts +2 -2
  578. package/src/generated/themes/WizardTab.css.ts +2 -2
  579. package/src/i18n/messagebundle.properties +3 -0
  580. package/src/i18n/messagebundle_ar.properties +3 -0
  581. package/src/i18n/messagebundle_bg.properties +3 -0
  582. package/src/i18n/messagebundle_cs.properties +3 -0
  583. package/src/i18n/messagebundle_da.properties +3 -0
  584. package/src/i18n/messagebundle_de.properties +3 -0
  585. package/src/i18n/messagebundle_el.properties +3 -0
  586. package/src/i18n/messagebundle_en.properties +1 -0
  587. package/src/i18n/messagebundle_es.properties +3 -0
  588. package/src/i18n/messagebundle_et.properties +3 -0
  589. package/src/i18n/messagebundle_fi.properties +3 -0
  590. package/src/i18n/messagebundle_fr.properties +3 -0
  591. package/src/i18n/messagebundle_hr.properties +3 -0
  592. package/src/i18n/messagebundle_hu.properties +3 -0
  593. package/src/i18n/messagebundle_it.properties +3 -0
  594. package/src/i18n/messagebundle_iw.properties +3 -1
  595. package/src/i18n/messagebundle_ko.properties +3 -0
  596. package/src/i18n/messagebundle_lt.properties +3 -0
  597. package/src/i18n/messagebundle_lv.properties +3 -0
  598. package/src/i18n/messagebundle_nl.properties +3 -0
  599. package/src/i18n/messagebundle_no.properties +3 -0
  600. package/src/i18n/messagebundle_pl.properties +3 -0
  601. package/src/i18n/messagebundle_pt.properties +3 -0
  602. package/src/i18n/messagebundle_pt_BR.properties +3 -0
  603. package/src/i18n/messagebundle_ro.properties +3 -0
  604. package/src/i18n/messagebundle_ru.properties +3 -0
  605. package/src/i18n/messagebundle_sk.properties +3 -0
  606. package/src/i18n/messagebundle_sl.properties +3 -0
  607. package/src/i18n/messagebundle_sr.properties +3 -1
  608. package/src/i18n/messagebundle_sv.properties +3 -0
  609. package/src/i18n/messagebundle_tr.properties +3 -0
  610. package/src/i18n/messagebundle_uk.properties +3 -0
  611. package/src/i18n/messagebundle_zh_CN.properties +3 -1
  612. package/src/i18n/messagebundle_zh_TW.properties +3 -0
  613. package/src/themes/CountrySelector.css +11 -0
  614. package/src/themes/List.css +1 -0
  615. package/src/themes/MastheadCountrySelector.css +11 -0
  616. package/src/themes/MastheadItem.css +6 -2
  617. package/src/themes/MastheadMenuItem.css +5 -0
  618. package/src/themes/MastheadMobileMenu.css +1 -0
  619. package/src/themes/MastheadShell.css +42 -8
  620. package/src/themes/Search.css +3 -1
  621. package/src/themes/SearchableList.css +15 -0
  622. package/src/themes/SegmentedButtonItem.css +2 -2
  623. package/src/themes/TextArea.css +0 -7
  624. package/src/types/SearchableListBase.ts +6 -0
  625. package/src/utils/getEffectiveScrollbarStyle.ts +48 -0
  626. package/dist/assets/InputSuggestions-BaPMxFm1.js +0 -2
  627. package/dist/assets/bundle-C9ZlnwwH.css +0 -1
  628. package/dist/assets/bundle.esm-CoBHnkfj.js +0 -399
  629. package/dist/assets/messagebundle_ar-9zPDAqTU.js +0 -1
  630. package/dist/assets/messagebundle_bg-DWxB0fCn.js +0 -1
  631. package/dist/assets/messagebundle_cs-C_ZNAcZs.js +0 -1
  632. package/dist/assets/messagebundle_da-CRRThnbQ.js +0 -1
  633. package/dist/assets/messagebundle_de-CEztl_Bk.js +0 -1
  634. package/dist/assets/messagebundle_el-dli9W3Ld.js +0 -1
  635. package/dist/assets/messagebundle_en-DXEe5nWA.js +0 -1
  636. package/dist/assets/messagebundle_es-BKJxfGUS.js +0 -1
  637. package/dist/assets/messagebundle_et-CEgPnb-F.js +0 -1
  638. package/dist/assets/messagebundle_fi-CB9L6Ted.js +0 -1
  639. package/dist/assets/messagebundle_fr-DV0xFXy7.js +0 -1
  640. package/dist/assets/messagebundle_hr-CxG6YfU9.js +0 -1
  641. package/dist/assets/messagebundle_hu-BD5GvMh2.js +0 -1
  642. package/dist/assets/messagebundle_it-CcnIcv1Q.js +0 -1
  643. package/dist/assets/messagebundle_iw-njoSdOP-.js +0 -1
  644. package/dist/assets/messagebundle_ko-BsIdyV2m.js +0 -1
  645. package/dist/assets/messagebundle_lt-Cx5dKaVi.js +0 -1
  646. package/dist/assets/messagebundle_lv-CjYkt6X6.js +0 -1
  647. package/dist/assets/messagebundle_nl-BxcksDMG.js +0 -1
  648. package/dist/assets/messagebundle_no-6rWbHkD4.js +0 -1
  649. package/dist/assets/messagebundle_pl-CdoiDA_-.js +0 -1
  650. package/dist/assets/messagebundle_pt-DtbX15Ym.js +0 -1
  651. package/dist/assets/messagebundle_ro-C5ojQbzO.js +0 -1
  652. package/dist/assets/messagebundle_ru-BcLhFIo9.js +0 -1
  653. package/dist/assets/messagebundle_sk-B4D9Y2b-.js +0 -1
  654. package/dist/assets/messagebundle_sl-D43o0FSO.js +0 -1
  655. package/dist/assets/messagebundle_sr-Co2xNpod.js +0 -1
  656. package/dist/assets/messagebundle_sv-4hT4lgLu.js +0 -1
  657. package/dist/assets/messagebundle_tr-DxFj6Icf.js +0 -1
  658. package/dist/assets/messagebundle_uk-Sdu5cmOP.js +0 -1
  659. package/dist/assets/messagebundle_zh_CN-CuN02AOJ.js +0 -1
  660. package/dist/assets/messagebundle_zh_TW-CRXaxYip.js +0 -1
  661. package/dist/assets/parameters-bundle.css-1GGBOW8m.js +0 -2
  662. package/dist/assets/parameters-bundle.css-A9eeRg2R.js +0 -2
  663. package/dist/assets/parameters-bundle.css-COBI_9-U.js +0 -2
  664. package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +0 -2
  665. package/dist/assets/parameters-bundle.css-DuFHHRNK.js +0 -2
  666. package/dist/assets/parameters-bundle.css-Pf68NO0T.js +0 -2
  667. package/dist/assets/parameters-bundle.css-aX_t_-9o.js +0 -2
  668. package/dist/assets/parameters-bundle.css-rNSryFKH.js +0 -2
  669. package/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -3
  670. package/dist/generated/templates/AccordionItemTemplate.lit.js +0 -8
  671. package/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
  672. package/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -3
  673. package/dist/generated/templates/AccordionTemplate.lit.js +0 -10
  674. package/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
  675. package/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -3
  676. package/dist/generated/templates/AvatarTemplate.lit.js +0 -9
  677. package/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
  678. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -3
  679. package/dist/generated/templates/BadgeTemplate.lit.js +0 -9
  680. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  681. package/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -3
  682. package/dist/generated/templates/CarouselTemplate.lit.js +0 -10
  683. package/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
  684. package/dist/generated/templates/DividerTemplate.lit.d.ts +0 -3
  685. package/dist/generated/templates/DividerTemplate.lit.js +0 -7
  686. package/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
  687. package/src/Accordion.hbs +0 -25
  688. package/src/AccordionItem.hbs +0 -37
  689. package/src/Avatar.hbs +0 -19
  690. package/src/Badge.hbs +0 -16
  691. package/src/Carousel.hbs +0 -45
  692. package/src/Divider.hbs +0 -1
  693. package/src/generated/templates/AccordionItemTemplate.lit.ts +0 -12
  694. package/src/generated/templates/AccordionTemplate.lit.ts +0 -14
  695. package/src/generated/templates/AvatarTemplate.lit.ts +0 -13
  696. package/src/generated/templates/BadgeTemplate.lit.ts +0 -13
  697. package/src/generated/templates/CarouselTemplate.lit.ts +0 -14
  698. package/src/generated/templates/DividerTemplate.lit.ts +0 -11
@@ -211,6 +211,7 @@ declare class UDExMastheadItem extends UI5Element implements IMastheadItem {
211
211
  calculateMarginInlineStart(rect: DOMRect): number | null;
212
212
  handleDirection(): void;
213
213
  closeDropdown(): void;
214
+ applyFocusToFirstElement(): Promise<void>;
214
215
  getDomElement(selector: string): HTMLElement | undefined | null;
215
216
  getSubItems(): Array<MenuItem>;
216
217
  private isFocusOutPrevented;
@@ -218,6 +219,7 @@ declare class UDExMastheadItem extends UI5Element implements IMastheadItem {
218
219
  private isNavItemTarget;
219
220
  private isRelatedTargetOutside;
220
221
  private shouldCloseDropdown;
222
+ get dropdownHolder(): HTMLElement;
221
223
  get mastheadShell(): UDExMastheadShell;
222
224
  get additionalClass(): string;
223
225
  get profileAvatar(): UDExAvatar;
@@ -227,6 +229,7 @@ declare class UDExMastheadItem extends UI5Element implements IMastheadItem {
227
229
  get accessibleRoleName(): string;
228
230
  get selectedClass(): string;
229
231
  get ariaDescribedBy(): string | undefined;
232
+ get shouldFocusFirstElement(): boolean;
230
233
  get isDropdownOpened(): boolean;
231
234
  get hasDropdownSlot(): boolean;
232
235
  get hasArrowDown(): boolean;
@@ -16,6 +16,7 @@ import "@ui5/webcomponents-icons/dist/search.js";
16
16
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
17
17
  import { isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
18
18
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
19
+ import { getFirstFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
19
20
  import { OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH, } from "./generated/i18n/i18n-defaults.js";
20
21
  import UDExMastheadMenu from "./MastheadMenu.js";
21
22
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
@@ -102,6 +103,9 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
102
103
  if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn) {
103
104
  this.setDropdownInsetStart();
104
105
  }
106
+ if (this.shouldFocusFirstElement) {
107
+ this.applyFocusToFirstElement();
108
+ }
105
109
  this.handleOutsideClick();
106
110
  }
107
111
  handleOutsideClick() {
@@ -194,7 +198,7 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
194
198
  });
195
199
  }
196
200
  setDropdownInsetStart() {
197
- const dropdown = this.getDomElement(".udex-masthead-item__dropdown");
201
+ const dropdown = this.dropdownHolder;
198
202
  if (dropdown) {
199
203
  const rect = dropdown.getBoundingClientRect();
200
204
  const marginInlineStart = this.calculateMarginInlineStart(rect);
@@ -234,6 +238,12 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
234
238
  this.selected = false;
235
239
  this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);
236
240
  }
241
+ async applyFocusToFirstElement() {
242
+ const focusedElement = await getFirstFocusableElement(this.dropdownHolder);
243
+ if (focusedElement) {
244
+ focusedElement.focus();
245
+ }
246
+ }
237
247
  getDomElement(selector) {
238
248
  return this.shadowRoot?.querySelector(`${selector}`);
239
249
  }
@@ -257,6 +267,9 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
257
267
  || this.isProfileButtonTarget(relatedTarget)
258
268
  || this.isNavItemTarget(target);
259
269
  }
270
+ get dropdownHolder() {
271
+ return this.getDomElement(".udex-masthead-item__dropdown");
272
+ }
260
273
  get mastheadShell() {
261
274
  return document.querySelector("[udex-masthead-shell]");
262
275
  }
@@ -296,6 +309,9 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
296
309
  }
297
310
  return labels.length ? labels.join(" ").trim() : undefined;
298
311
  }
312
+ get shouldFocusFirstElement() {
313
+ return this.isDropdownOpened && !this._preventFocusOut;
314
+ }
299
315
  get isDropdownOpened() {
300
316
  return this.hasDropdownSlot && this.selected;
301
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport type UDExAvatar from \"./Avatar.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport MastheadItemTemplate from \"./generated/templates/MastheadItemTemplate.lit.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum UDExMastheadDropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\n\nexport interface IMastheadItem {\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url: string;\n externalLink: boolean;\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadItemItemClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExMastheadItem,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\nexport type UDExMastheadDropdownEventDetail = {\n title: string,\n action: UDExMastheadDropdownItemAction,\n analyticsName: AnalyticsName,\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-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: litRender,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-opened\", { bubbles: true })\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n eventDetails!: {\n \"item-click\": UDExMastheadItemItemClickEventDetail,\n \"dropdown-closed\": UDExMastheadDropdownEventDetail,\n \"dropdown-opened\": UDExMastheadDropdownEventDetail,\n };\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"\";\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleRole?: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n iconAlt: string = \"\";\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder!: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the label for analytics\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown?: Array<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content?: Array<HTMLElement>;\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.label = this.eventItemTitle;\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn) {\n this.setDropdownInsetStart();\n }\n\n this.handleOutsideClick();\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile && this.selected) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleMouseDown(): void {\n this._preventFocusOut = true;\n }\n\n handleMouseUp(): void {\n this._preventFocusOut = false;\n }\n\n handleFocusout(e: FocusEvent): void {\n if (this.isFocusOutPrevented(e)) {\n return;\n }\n\n this.handleFocusOutForDropdowns(e);\n }\n\n handleFocusOutForDropdowns(e: FocusEvent): void {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const target = e.target as HTMLElement;\n\n if (this.shouldCloseDropdown(relatedTarget, target)) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: PointerEvent): void {\n this.handleSelectedChange();\n this.fireItemClickEvent(e);\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = UDExMastheadDropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-closed\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireDropdownOpenEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-opened\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireItemClickEvent(e: PointerEvent): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: e.currentTarget as HTMLElement,\n });\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown\");\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > window.innerWidth) {\n return right - window.innerWidth + 15;\n }\n\n if (this.isLtrDirection && right > window.innerWidth) {\n return window.innerWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getSubItems(): Array<MenuItem> {\n return parseArrayFromString(this.subItems);\n }\n\n private isFocusOutPrevented(e: FocusEvent): boolean {\n return this.isMobile || e.relatedTarget === null || this._preventFocusOut;\n }\n\n private isProfileButtonTarget(relatedTarget: HTMLElement | null): boolean {\n return (relatedTarget?.tagName === \"UDEX-AVATAR\" || relatedTarget?.tagName === \"UDEX-MASTHEAD-ITEM\") && this.isProfileBtn;\n }\n\n private isNavItemTarget(target: HTMLElement): boolean {\n return target.getAttribute(\"slot\") === \"dropdown\" && !this.isProfileBtn;\n }\n\n private isRelatedTargetOutside(relatedTarget: HTMLElement | null): boolean {\n return relatedTarget?.closest(\"[udex-masthead-item]\") === null;\n }\n\n private shouldCloseDropdown(relatedTarget: HTMLElement, target:HTMLElement): boolean {\n return this.isRelatedTargetOutside(relatedTarget)\n || this.isProfileButtonTarget(relatedTarget)\n || this.isNavItemTarget(target);\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = (this.icon || this.image) ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href?.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string | undefined {\n const labels = [];\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n if (this.imageAlt) {\n labels.push(`image-desc`);\n }\n\n return labels.length ? labels.join(\" \").trim() : undefined;\n }\n\n get isDropdownOpened(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length && !this.hideArrowIcon;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSearchBtn(): boolean {\n return this.icon === \"search\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : \"\");\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === UDExTarget._blank;\n }\n\n get openInNewWindowText(): string {\n return UDExMastheadItem.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return UDExMastheadItem.i18nBundle.getText(SEARCH);\n }\n if (this.isCartBtn) {\n return UDExMastheadItem.i18nBundle.getText(CART);\n }\n if (this.isProfileBtn) {\n return UDExMastheadItem.i18nBundle.getText(PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return UDExMastheadItem.i18nBundle.getText(COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return UDExMastheadItem.i18nBundle.getText(SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\n"]}
1
+ {"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport type UDExAvatar from \"./Avatar.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport MastheadItemTemplate from \"./generated/templates/MastheadItemTemplate.lit.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum UDExMastheadDropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\n\nexport interface IMastheadItem {\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url: string;\n externalLink: boolean;\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadItemItemClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExMastheadItem,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\nexport type UDExMastheadDropdownEventDetail = {\n title: string,\n action: UDExMastheadDropdownItemAction,\n analyticsName: AnalyticsName,\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-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: litRender,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-opened\", { bubbles: true })\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n eventDetails!: {\n \"item-click\": UDExMastheadItemItemClickEventDetail,\n \"dropdown-closed\": UDExMastheadDropdownEventDetail,\n \"dropdown-opened\": UDExMastheadDropdownEventDetail,\n };\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"\";\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleRole?: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n iconAlt: string = \"\";\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder!: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the label for analytics\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown?: Array<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content?: Array<HTMLElement>;\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.label = this.eventItemTitle;\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn) {\n this.setDropdownInsetStart();\n }\n\n if (this.shouldFocusFirstElement) {\n this.applyFocusToFirstElement();\n }\n\n this.handleOutsideClick();\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile && this.selected) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleMouseDown(): void {\n this._preventFocusOut = true;\n }\n\n handleMouseUp(): void {\n this._preventFocusOut = false;\n }\n\n handleFocusout(e: FocusEvent): void {\n if (this.isFocusOutPrevented(e)) {\n return;\n }\n\n this.handleFocusOutForDropdowns(e);\n }\n\n handleFocusOutForDropdowns(e: FocusEvent): void {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const target = e.target as HTMLElement;\n\n if (this.shouldCloseDropdown(relatedTarget, target)) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: PointerEvent): void {\n this.handleSelectedChange();\n this.fireItemClickEvent(e);\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = UDExMastheadDropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-closed\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireDropdownOpenEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-opened\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireItemClickEvent(e: PointerEvent): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: e.currentTarget as HTMLElement,\n });\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > window.innerWidth) {\n return right - window.innerWidth + 15;\n }\n\n if (this.isLtrDirection && right > window.innerWidth) {\n return window.innerWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n }\n\n async applyFocusToFirstElement(): Promise<void> {\n const focusedElement = await getFirstFocusableElement(this.dropdownHolder);\n if (focusedElement) {\n focusedElement.focus();\n }\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getSubItems(): Array<MenuItem> {\n return parseArrayFromString(this.subItems);\n }\n\n private isFocusOutPrevented(e: FocusEvent): boolean {\n return this.isMobile || e.relatedTarget === null || this._preventFocusOut;\n }\n\n private isProfileButtonTarget(relatedTarget: HTMLElement | null): boolean {\n return (relatedTarget?.tagName === \"UDEX-AVATAR\" || relatedTarget?.tagName === \"UDEX-MASTHEAD-ITEM\") && this.isProfileBtn;\n }\n\n private isNavItemTarget(target: HTMLElement): boolean {\n return target.getAttribute(\"slot\") === \"dropdown\" && !this.isProfileBtn;\n }\n\n private isRelatedTargetOutside(relatedTarget: HTMLElement | null): boolean {\n return relatedTarget?.closest(\"[udex-masthead-item]\") === null;\n }\n\n private shouldCloseDropdown(relatedTarget: HTMLElement, target:HTMLElement): boolean {\n return this.isRelatedTargetOutside(relatedTarget)\n || this.isProfileButtonTarget(relatedTarget)\n || this.isNavItemTarget(target);\n }\n\n get dropdownHolder(): HTMLElement {\n return this.getDomElement(\".udex-masthead-item__dropdown\")!;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = (this.icon || this.image) ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href?.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string | undefined {\n const labels = [];\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n if (this.imageAlt) {\n labels.push(`image-desc`);\n }\n\n return labels.length ? labels.join(\" \").trim() : undefined;\n }\n\n get shouldFocusFirstElement(): boolean {\n return this.isDropdownOpened && !this._preventFocusOut;\n }\n\n get isDropdownOpened(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length && !this.hideArrowIcon;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSearchBtn(): boolean {\n return this.icon === \"search\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : \"\");\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === UDExTarget._blank;\n }\n\n get openInNewWindowText(): string {\n return UDExMastheadItem.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return UDExMastheadItem.i18nBundle.getText(SEARCH);\n }\n if (this.isCartBtn) {\n return UDExMastheadItem.i18nBundle.getText(CART);\n }\n if (this.isProfileBtn) {\n return UDExMastheadItem.i18nBundle.getText(PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return UDExMastheadItem.i18nBundle.getText(COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return UDExMastheadItem.i18nBundle.getText(SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\n"]}
@@ -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;
@@ -19,9 +20,10 @@ export type MenuItem = {
19
20
  };
20
21
  type UDExMastheadMenuMenuItemClickEventDetail = {
21
22
  category?: string;
23
+ analyticsPath: Array<string>;
24
+ analyticsName: AnalyticsName;
22
25
  originalEvent: PointerEvent;
23
26
  item: UDExMastheadMenuItem;
24
- analyticsName: AnalyticsName;
25
27
  sourceNode: HTMLElement;
26
28
  };
27
29
  /**
@@ -76,18 +76,23 @@ let UDExMastheadMenu = class UDExMastheadMenu extends UI5Element {
76
76
  }
77
77
  }
78
78
  handleMenuItemClick(e) {
79
- const item = e.target;
80
- const { url, type } = item;
81
- if (url?.length) {
82
- const list = item.closest(".udex-masthead-menu__list");
83
- this.fireDecoratorEvent("menu-item-click", {
84
- sourceNode: item.shadowRoot?.querySelector(".udex-masthead-menu-item"),
85
- analyticsName: AnalyticsName.Header,
86
- item,
87
- originalEvent: e,
88
- ...(type !== UDExItemType.Heading && { category: list?.getAttribute("category") || "" }),
89
- });
79
+ const menuItem = e.target;
80
+ if (!menuItem.url?.length) {
81
+ return;
90
82
  }
83
+ const mainItem = this.closest("[udex-masthead-item]");
84
+ const menuList = menuItem.closest(".udex-masthead-menu__list");
85
+ const sourceNode = menuItem.shadowRoot?.querySelector(".udex-masthead-menu-item");
86
+ const category = menuList?.getAttribute("category") || "";
87
+ const eventDetail = {
88
+ analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),
89
+ analyticsName: AnalyticsName.Header,
90
+ originalEvent: e,
91
+ item: menuItem,
92
+ sourceNode,
93
+ ...(menuItem.type !== UDExItemType.Heading && { category }),
94
+ };
95
+ this.fireDecoratorEvent("menu-item-click", eventDetail);
91
96
  }
92
97
  focusPreviousItem(item) {
93
98
  const currentSelectedIndex = this.getCurrentIndex(item);
@@ -111,9 +116,13 @@ let UDExMastheadMenu = class UDExMastheadMenu extends UI5Element {
111
116
  let id = 1;
112
117
  const parsedItems = parseArrayFromString(this.subItems);
113
118
  return parsedItems.map((mainItem) => {
114
- mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((category) => {
115
- category.categoryId = `${id++}`;
116
- 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;
117
126
  });
118
127
  return mainItem;
119
128
  });
@@ -1 +1 @@
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;AAC3E,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;AA2BtD;;;;;;;;;;;;;;;;GAgBG;AAiBH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QAIE;;;;;WAKG;QAED,cAAS,GAAW,EAAE,CAAC;QAEzB;;;;;WAKG;QAED,aAAQ,GAAW,IAAI,CAAC;IAqF5B,CAAC;IA3EC,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,IAAI,GAAG,CAAC,CAAC,MAA8B,CAAC;QAC9C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAgB,CAAC;YACtE,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,0BAA0B,CAAgB;gBACrF,aAAa,EAAE,aAAa,CAAC,MAAM;gBACnC,IAAI;gBACJ,aAAa,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;aACzF,CAAC,CAAC;QACL,CAAC;IACH,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;QACzE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE;YAC5C,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAyB,EAAE,EAAE;gBACtF,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC;YAClB,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;AA9FG;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,CAyGrB;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 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 originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\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-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 item = e.target as UDExMastheadMenuItem;\n const { url, type } = item;\n if (url?.length) {\n const list = item.closest(\".udex-masthead-menu__list\") as HTMLElement;\n this.fireDecoratorEvent(\"menu-item-click\", {\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n analyticsName: AnalyticsName.Header,\n item,\n originalEvent: e,\n ...(type !== UDExItemType.Heading && { category: list?.getAttribute(\"category\") || \"\" }),\n });\n }\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":"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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 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"]}
@@ -9,7 +9,9 @@ type UDExMastheadMobileMenuItemClickEventDetail = {
9
9
  item: UDExMastheadMenuItem;
10
10
  category?: string;
11
11
  isMobile: boolean;
12
+ isBack: boolean;
12
13
  analyticsName: AnalyticsName;
14
+ analyticsPath: Array<string>;
13
15
  sourceNode: HTMLElement;
14
16
  };
15
17
  type UDExMastheadMobileMenuExploreClickEventDetail = {
@@ -70,6 +72,7 @@ declare class UDExMastheadMobileMenu extends UI5Element {
70
72
  _shouldFocusItemByIndex: boolean;
71
73
  _shouldFocusExploreBtn: boolean;
72
74
  _focusedItemIndex: number;
75
+ _navItem?: UDExMastheadMenuItem;
73
76
  onAfterRendering(): void;
74
77
  handleMenuItemClick(e: PointerEvent): void;
75
78
  handleMenuCategoryClick(e: PointerEvent): void;
@@ -110,6 +113,7 @@ declare class UDExMastheadMobileMenu extends UI5Element {
110
113
  getCurrentIndex(item: UDExMastheadMenuItem): number;
111
114
  getListItemByIndex(index: number): UDExMastheadMenuItem;
112
115
  setTabIndexForItems(): void;
116
+ buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string>;
113
117
  get exploreBtnMenu(): UDExMastheadMenuItem;
114
118
  get isRtlDirection(): boolean;
115
119
  get navigationItems(): Array<UDExMastheadMenuItem>;
@@ -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")) {
@@ -186,11 +188,11 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
186
188
  this._showCategoryItems = false;
187
189
  this.fireMobileItemEvent(e);
188
190
  }
189
- if (target.hasAttribute("first-level")) {
191
+ if (target.hasAttribute("first-level-btn")) {
190
192
  this.openCategories(item);
191
193
  this.fireMobileItemEvent(e);
192
194
  }
193
- if (target.hasAttribute("second-level")) {
195
+ if (target.hasAttribute("second-level-btn")) {
194
196
  this.openCategoryItems(e);
195
197
  this.fireMobileItemEvent(e);
196
198
  }
@@ -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
  }
@@ -283,14 +286,18 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
283
286
  }
284
287
  fireMobileItemEvent(e, category) {
285
288
  const item = e.target;
286
- this.fireDecoratorEvent("item-click", {
287
- isMobile: true,
289
+ const isBack = item.hasAttribute("is-back");
290
+ const eventDetail = {
291
+ ...(category && { category }),
288
292
  item,
293
+ isMobile: true,
294
+ isBack,
295
+ analyticsPath: this.buildAnalyticsPath(item),
289
296
  originalEvent: e,
290
297
  analyticsName: AnalyticsName.Header,
291
298
  sourceNode: item.shadowRoot?.querySelector(".udex-masthead-menu-item"),
292
- ...(category && { category }),
293
- });
299
+ };
300
+ this.fireDecoratorEvent("item-click", eventDetail);
294
301
  }
295
302
  fireExploreSapMobileButton(e) {
296
303
  this.fireDecoratorEvent("explorer-menu-click", {
@@ -338,6 +345,40 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
338
345
  item._tabIndex = isPrevItemHeading || index === 0 ? "0" : "-1";
339
346
  });
340
347
  }
348
+ buildAnalyticsPath(item) {
349
+ const category = this.getListItemByIndex(0).label.trim();
350
+ const isFirstLevel = item.hasAttribute("first-level");
351
+ const isSecondLevel = item.hasAttribute("second-level");
352
+ const isThirdLevel = item.hasAttribute("third-level");
353
+ const isBackToCategories = item.hasAttribute("is-back-to-categories");
354
+ const shouldResetPath = item.hasAttribute("is-back-to-nav") || this._hideExploreSapBtn;
355
+ const isExploreMode = !this.showExploreBtn && !!this.items.length;
356
+ const clickedLabel = item.label.trim();
357
+ const analyticsPath = [];
358
+ if (shouldResetPath) {
359
+ this._navItem = undefined;
360
+ analyticsPath.length = 0;
361
+ }
362
+ if (isFirstLevel) {
363
+ this._navItem = item;
364
+ analyticsPath.push(clickedLabel);
365
+ }
366
+ else if (isSecondLevel) {
367
+ analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));
368
+ }
369
+ else if (isThirdLevel) {
370
+ analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));
371
+ }
372
+ else if (isBackToCategories) {
373
+ if (this._navItem) {
374
+ analyticsPath.push(this._navItem.label.trim());
375
+ }
376
+ }
377
+ if (isExploreMode) {
378
+ analyticsPath.unshift(this.exploreItem.label);
379
+ }
380
+ return analyticsPath;
381
+ }
341
382
  get exploreBtnMenu() {
342
383
  return this.shadowRoot.querySelector(".udex-masthead-mobile-menu__explore-btn");
343
384
  }