@sapudex/web-components 2.9.0 → 2.11.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 (367) hide show
  1. package/bundle.esm.js +2 -0
  2. package/cypress/fixtures/footer-links.ts +32 -33
  3. package/cypress/specs/Accordion.cy.tsx +19 -0
  4. package/cypress/specs/AccordionItem.cy.tsx +9 -0
  5. package/cypress/specs/CountrySelector.cy.tsx +5 -2
  6. package/cypress/specs/FilterMenu.cy.tsx +884 -0
  7. package/cypress/specs/Footer.cy.tsx +54 -18
  8. package/cypress/specs/PromoTile.cy.tsx +124 -0
  9. package/cypress/specs/Quote.cy.tsx +65 -0
  10. package/cypress/specs/SocialMediaButton.cy.tsx +44 -0
  11. package/cypress/specs/Table.cy.tsx +8 -2
  12. package/cypress/specs/TextField.cy.tsx +11 -4
  13. package/cypress/support/component-imports.instrumented.ts +15 -1
  14. package/cypress/support/component-imports.src.ts +15 -1
  15. package/dist/Accordion.d.ts +15 -0
  16. package/dist/Accordion.js +19 -0
  17. package/dist/Accordion.js.map +1 -1
  18. package/dist/AccordionItem.d.ts +19 -0
  19. package/dist/AccordionItem.js +23 -0
  20. package/dist/AccordionItem.js.map +1 -1
  21. package/dist/AccordionItemTemplate.js +7 -2
  22. package/dist/AccordionItemTemplate.js.map +1 -1
  23. package/dist/AccordionTemplate.js +21 -1
  24. package/dist/AccordionTemplate.js.map +1 -1
  25. package/dist/Assets.d.ts +1 -0
  26. package/dist/Assets.js +1 -0
  27. package/dist/Assets.js.map +1 -1
  28. package/dist/CountrySelector.d.ts +2 -2
  29. package/dist/CountrySelector.js +6 -3
  30. package/dist/CountrySelector.js.map +1 -1
  31. package/dist/DatePicker.js +2 -2
  32. package/dist/DatePicker.js.map +1 -1
  33. package/dist/FilterMenu.d.ts +13 -2
  34. package/dist/FilterMenu.js +59 -13
  35. package/dist/FilterMenu.js.map +1 -1
  36. package/dist/Footer.d.ts +50 -6
  37. package/dist/Footer.js +44 -22
  38. package/dist/Footer.js.map +1 -1
  39. package/dist/MastheadItem.d.ts +12 -0
  40. package/dist/MastheadItem.js +6 -0
  41. package/dist/MastheadItem.js.map +1 -1
  42. package/dist/MastheadShell.d.ts +13 -3
  43. package/dist/MastheadShell.js +17 -4
  44. package/dist/MastheadShell.js.map +1 -1
  45. package/dist/PromoTile.d.ts +143 -0
  46. package/dist/PromoTile.js +198 -0
  47. package/dist/PromoTile.js.map +1 -0
  48. package/dist/PromoTileTemplate.d.ts +2 -0
  49. package/dist/PromoTileTemplate.js +22 -0
  50. package/dist/PromoTileTemplate.js.map +1 -0
  51. package/dist/Quote.d.ts +11 -0
  52. package/dist/Quote.js +18 -3
  53. package/dist/Quote.js.map +1 -1
  54. package/dist/Search.d.ts +3 -1
  55. package/dist/Search.js +1 -0
  56. package/dist/Search.js.map +1 -1
  57. package/dist/SelectBox.d.ts +0 -1
  58. package/dist/SelectBox.js +2 -2
  59. package/dist/SelectBox.js.map +1 -1
  60. package/dist/SocialMediaButton.d.ts +73 -0
  61. package/dist/SocialMediaButton.js +135 -0
  62. package/dist/SocialMediaButton.js.map +1 -0
  63. package/dist/SocialMediaButtonTemplate.d.ts +2 -0
  64. package/dist/SocialMediaButtonTemplate.js +6 -0
  65. package/dist/SocialMediaButtonTemplate.js.map +1 -0
  66. package/dist/StepInput.d.ts +2 -1
  67. package/dist/StepInput.js +6 -0
  68. package/dist/StepInput.js.map +1 -1
  69. package/dist/StepInputTemplate.js +1 -1
  70. package/dist/StepInputTemplate.js.map +1 -1
  71. package/dist/TableRow.d.ts +11 -0
  72. package/dist/TableRow.js +16 -0
  73. package/dist/TableRow.js.map +1 -1
  74. package/dist/TextArea.d.ts +3 -8
  75. package/dist/TextArea.js +12 -5
  76. package/dist/TextArea.js.map +1 -1
  77. package/dist/TextField.d.ts +20 -11
  78. package/dist/TextField.js +44 -31
  79. package/dist/TextField.js.map +1 -1
  80. package/dist/assets/{InputSuggestions-BmjyLzkP.js → InputSuggestions-9WQMOg4t.js} +1 -1
  81. package/dist/assets/{ListItemStandardExpandableTextTemplate-CDt3iORy.js → ListItemStandardExpandableTextTemplate-BQaMMo_n.js} +1 -1
  82. package/dist/assets/ar-CUjm9SSI.js +1 -0
  83. package/dist/assets/ar_EG-DQlFzN6x.js +1 -0
  84. package/dist/assets/ar_SA-lp21-ovF.js +1 -0
  85. package/dist/assets/bg-BMgSEqKu.js +1 -0
  86. package/dist/assets/{bundle.esm-Dz11sAJe.js → bundle.esm-ZNiP-jPI.js} +211 -209
  87. package/dist/assets/ca-BEgqToWu.js +1 -0
  88. package/dist/assets/cnr-IJYa9RjY.js +1 -0
  89. package/dist/assets/cs-DcM44PeB.js +1 -0
  90. package/dist/assets/da-D81rJc1N.js +1 -0
  91. package/dist/assets/de-eQRPkDbn.js +1 -0
  92. package/dist/assets/de_AT-Ag3CVI5m.js +1 -0
  93. package/dist/assets/de_CH-DgRYNg0p.js +1 -0
  94. package/dist/assets/el-W3XNt9Wl.js +1 -0
  95. package/dist/assets/el_CY-BfNIiYpU.js +1 -0
  96. package/dist/assets/en-CrBjXhTl.js +1 -0
  97. package/dist/assets/en_AU-Br7ytKW4.js +1 -0
  98. package/dist/assets/en_GB-DfnNoCgD.js +1 -0
  99. package/dist/assets/en_HK-Cyj9DPsW.js +1 -0
  100. package/dist/assets/en_IE-B5FpEUby.js +1 -0
  101. package/dist/assets/en_IN-C3XmKnWe.js +1 -0
  102. package/dist/assets/en_NZ-COJ5ycaE.js +1 -0
  103. package/dist/assets/en_PG-BB-Cmgcm.js +1 -0
  104. package/dist/assets/en_SG-Dfevg5da.js +1 -0
  105. package/dist/assets/en_ZA-BgOSNy0v.js +1 -0
  106. package/dist/assets/es-CRcVj7aR.js +1 -0
  107. package/dist/assets/es_AR-CFf6aWC5.js +1 -0
  108. package/dist/assets/es_BO-DNFEED1o.js +1 -0
  109. package/dist/assets/es_CL-DZhLyidG.js +1 -0
  110. package/dist/assets/es_CO-uWf-1tom.js +1 -0
  111. package/dist/assets/es_MX-C_wDRcT-.js +1 -0
  112. package/dist/assets/es_PE-QQsdF6EB.js +1 -0
  113. package/dist/assets/es_UY-CWhNSkyr.js +1 -0
  114. package/dist/assets/es_VE-hweLK9Ws.js +1 -0
  115. package/dist/assets/et-B3fco2O5.js +1 -0
  116. package/dist/assets/fa-oRguSKlL.js +1 -0
  117. package/dist/assets/fi-Daa_vlE5.js +1 -0
  118. package/dist/assets/fr-CANfYyyO.js +1 -0
  119. package/dist/assets/fr_BE-CCxD_K6m.js +1 -0
  120. package/dist/assets/fr_CA-BEtkRJZv.js +1 -0
  121. package/dist/assets/fr_CH-CrBmdh_n.js +1 -0
  122. package/dist/assets/fr_LU-CDcjZueC.js +1 -0
  123. package/dist/assets/he-CVUhin6m.js +1 -0
  124. package/dist/assets/hi-DF2PyuOw.js +1 -0
  125. package/dist/assets/hr-b6c4wXpD.js +1 -0
  126. package/dist/assets/hu-B7IWSU6b.js +1 -0
  127. package/dist/assets/id-GxIydI_w.js +1 -0
  128. package/dist/assets/it-DAjzvm2X.js +1 -0
  129. package/dist/assets/it_CH-BvNuHKQK.js +1 -0
  130. package/dist/assets/ja-DhVA6Wxm.js +1 -0
  131. package/dist/assets/kk-BSxmnq67.js +1 -0
  132. package/dist/assets/ko-ZT8Z04Uq.js +1 -0
  133. package/dist/assets/lt-BVWqkFr_.js +1 -0
  134. package/dist/assets/lv-DyXyW37Y.js +1 -0
  135. package/dist/assets/messagebundle_en-DwlTjyni.js +1 -0
  136. package/dist/assets/mk-ChbdOzZI.js +1 -0
  137. package/dist/assets/ms-H9bJ42GA.js +1 -0
  138. package/dist/assets/nb-Dgkq7ozi.js +1 -0
  139. package/dist/assets/nl-DZqLtAXS.js +1 -0
  140. package/dist/assets/nl_BE-Dx4AxOFo.js +1 -0
  141. package/dist/assets/pl-MzEgIfvm.js +1 -0
  142. package/dist/assets/pt-2N8dosOm.js +1 -0
  143. package/dist/assets/pt_PT-CIcj5FsJ.js +1 -0
  144. package/dist/assets/ro-CZHCJKTk.js +1 -0
  145. package/dist/assets/ru-BcU9rFqC.js +1 -0
  146. package/dist/assets/ru_UA-aH_wNrwj.js +1 -0
  147. package/dist/assets/sk-DYn5gXzA.js +1 -0
  148. package/dist/assets/sl-RYb_KlOx.js +1 -0
  149. package/dist/assets/sr-Bap_3nyz.js +1 -0
  150. package/dist/assets/sr_Latn-FYOU_tQB.js +1 -0
  151. package/dist/assets/sv-CeQXZ1qM.js +1 -0
  152. package/dist/assets/th-C5mRgAid.js +1 -0
  153. package/dist/assets/tr-vCU3KUkO.js +1 -0
  154. package/dist/assets/uk-CKvdHIrD.js +1 -0
  155. package/dist/assets/vi-0BxthtV1.js +1 -0
  156. package/dist/assets/zh_CN-BV9PXZ7J.js +1 -0
  157. package/dist/assets/zh_HK-kGfo3-wS.js +1 -0
  158. package/dist/assets/zh_SG-B8bEKxnm.js +1 -0
  159. package/dist/assets/zh_TW-BshO-JEe.js +1 -0
  160. package/dist/css/themes/AccordionItem.css +1 -1
  161. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  162. package/dist/css/themes/CountrySelector.css +1 -1
  163. package/dist/css/themes/DatePicker.css +1 -1
  164. package/dist/css/themes/Divider.css +1 -1
  165. package/dist/css/themes/Dropdown.css +1 -1
  166. package/dist/css/themes/FilterMenu.css +1 -1
  167. package/dist/css/themes/Footer.css +1 -1
  168. package/dist/css/themes/HeroBanner.css +1 -1
  169. package/dist/css/themes/Link.css +1 -1
  170. package/dist/css/themes/MastheadItem.css +1 -1
  171. package/dist/css/themes/MastheadMenu.css +1 -1
  172. package/dist/css/themes/PromoTile.css +1 -0
  173. package/dist/css/themes/Quote.css +1 -1
  174. package/dist/css/themes/RatingIndicator.css +1 -1
  175. package/dist/css/themes/SelectBox.css +1 -1
  176. package/dist/css/themes/Slider.css +1 -1
  177. package/dist/css/themes/SocialMediaButton.css +1 -0
  178. package/dist/css/themes/Tag.css +1 -1
  179. package/dist/css/themes/TextField.css +1 -1
  180. package/dist/custom-elements-internal.json +894 -232
  181. package/dist/custom-elements.json +858 -215
  182. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  183. package/dist/generated/i18n/i18n-defaults.d.ts +4 -2
  184. package/dist/generated/i18n/i18n-defaults.js +4 -2
  185. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  186. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -2
  187. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  188. package/dist/generated/templates/DatePickerTemplate.lit.js +4 -5
  189. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  190. package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
  191. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  192. package/dist/generated/templates/FooterTemplate.lit.js +33 -32
  193. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  194. package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
  195. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  196. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  197. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  198. package/dist/generated/templates/MastheadShellTemplate.lit.js +1 -1
  199. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  200. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +1 -1
  201. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/SelectBoxTemplate.lit.js +4 -4
  203. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
  205. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  206. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  207. package/dist/generated/themes/AccordionItem.css.js +1 -1
  208. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  209. package/dist/generated/themes/BreadcrumbsPopover.css.d.ts +1 -1
  210. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  211. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  212. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  213. package/dist/generated/themes/CountrySelector.css.js +1 -1
  214. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  215. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  216. package/dist/generated/themes/DatePicker.css.js +1 -1
  217. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  218. package/dist/generated/themes/Divider.css.d.ts +1 -1
  219. package/dist/generated/themes/Divider.css.js +1 -1
  220. package/dist/generated/themes/Divider.css.js.map +1 -1
  221. package/dist/generated/themes/Dropdown.css.d.ts +1 -1
  222. package/dist/generated/themes/Dropdown.css.js +1 -1
  223. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  224. package/dist/generated/themes/FilterMenu.css.d.ts +1 -1
  225. package/dist/generated/themes/FilterMenu.css.js +1 -1
  226. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  227. package/dist/generated/themes/Footer.css.d.ts +1 -1
  228. package/dist/generated/themes/Footer.css.js +1 -1
  229. package/dist/generated/themes/Footer.css.js.map +1 -1
  230. package/dist/generated/themes/HeroBanner.css.d.ts +1 -1
  231. package/dist/generated/themes/HeroBanner.css.js +1 -1
  232. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  233. package/dist/generated/themes/Link.css.d.ts +1 -1
  234. package/dist/generated/themes/Link.css.js +1 -1
  235. package/dist/generated/themes/Link.css.js.map +1 -1
  236. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  237. package/dist/generated/themes/MastheadItem.css.js +1 -1
  238. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  239. package/dist/generated/themes/MastheadMenu.css.d.ts +1 -1
  240. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  241. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  242. package/dist/generated/themes/PromoTile.css.d.ts +2 -0
  243. package/dist/generated/themes/PromoTile.css.js +8 -0
  244. package/dist/generated/themes/PromoTile.css.js.map +1 -0
  245. package/dist/generated/themes/Quote.css.d.ts +1 -1
  246. package/dist/generated/themes/Quote.css.js +1 -1
  247. package/dist/generated/themes/Quote.css.js.map +1 -1
  248. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  249. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  250. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  251. package/dist/generated/themes/SelectBox.css.d.ts +1 -1
  252. package/dist/generated/themes/SelectBox.css.js +1 -1
  253. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  254. package/dist/generated/themes/Slider.css.d.ts +1 -1
  255. package/dist/generated/themes/Slider.css.js +1 -1
  256. package/dist/generated/themes/Slider.css.js.map +1 -1
  257. package/dist/generated/themes/SocialMediaButton.css.d.ts +2 -0
  258. package/dist/generated/themes/SocialMediaButton.css.js +8 -0
  259. package/dist/generated/themes/SocialMediaButton.css.js.map +1 -0
  260. package/dist/generated/themes/Tag.css.d.ts +1 -1
  261. package/dist/generated/themes/Tag.css.js +1 -1
  262. package/dist/generated/themes/Tag.css.js.map +1 -1
  263. package/dist/generated/themes/TextField.css.d.ts +1 -1
  264. package/dist/generated/themes/TextField.css.js +1 -1
  265. package/dist/generated/themes/TextField.css.js.map +1 -1
  266. package/dist/messagebundle.properties +9 -3
  267. package/dist/messagebundle_en.properties +3 -1
  268. package/dist/types/PromoTile.d.ts +60 -0
  269. package/dist/types/PromoTile.js +63 -0
  270. package/dist/types/PromoTile.js.map +1 -0
  271. package/dist/types/SocialMediaButtonType.d.ts +9 -0
  272. package/dist/types/SocialMediaButtonType.js +11 -0
  273. package/dist/types/SocialMediaButtonType.js.map +1 -0
  274. package/dist/utils/debounce.d.ts +3 -1
  275. package/dist/utils/debounce.js +16 -4
  276. package/dist/utils/debounce.js.map +1 -1
  277. package/dist/vscode.html-custom-data.json +152 -1
  278. package/dist/web-types.json +341 -11
  279. package/package.json +2 -1
  280. package/src/Accordion.ts +19 -0
  281. package/src/AccordionItem.ts +28 -0
  282. package/src/AccordionItemTemplate.tsx +25 -10
  283. package/src/AccordionTemplate.tsx +22 -1
  284. package/src/Assets.ts +1 -0
  285. package/src/CountrySelector.hbs +3 -9
  286. package/src/CountrySelector.ts +7 -4
  287. package/src/DatePicker.hbs +17 -26
  288. package/src/DatePicker.ts +2 -2
  289. package/src/FilterMenu.hbs +33 -37
  290. package/src/FilterMenu.ts +69 -15
  291. package/src/Footer.hbs +39 -43
  292. package/src/Footer.ts +88 -14
  293. package/src/HeroBanner.hbs +0 -1
  294. package/src/MastheadItem.hbs +2 -2
  295. package/src/MastheadItem.ts +18 -0
  296. package/src/MastheadShell.hbs +3 -2
  297. package/src/MastheadShell.ts +28 -7
  298. package/src/PromoTile.ts +290 -0
  299. package/src/PromoTileTemplate.tsx +68 -0
  300. package/src/Quote.ts +17 -3
  301. package/src/Search.ts +1 -0
  302. package/src/SearchableListBase.hbs +1 -1
  303. package/src/SelectBox.hbs +11 -13
  304. package/src/SelectBox.ts +2 -2
  305. package/src/SocialMediaButton.ts +152 -0
  306. package/src/SocialMediaButtonTemplate.tsx +18 -0
  307. package/src/StepInput.ts +8 -1
  308. package/src/StepInputTemplate.tsx +1 -2
  309. package/src/TableRow.ts +27 -1
  310. package/src/TextArea.ts +14 -7
  311. package/src/TextField.hbs +5 -5
  312. package/src/TextField.ts +87 -66
  313. package/src/generated/i18n/i18n-defaults.ts +2 -2
  314. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -2
  315. package/src/generated/templates/DatePickerTemplate.lit.ts +4 -5
  316. package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
  317. package/src/generated/templates/FooterTemplate.lit.ts +33 -32
  318. package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
  319. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  320. package/src/generated/templates/MastheadShellTemplate.lit.ts +1 -1
  321. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +1 -1
  322. package/src/generated/templates/SelectBoxTemplate.lit.ts +4 -4
  323. package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
  324. package/src/generated/themes/AccordionItem.css.ts +1 -1
  325. package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
  326. package/src/generated/themes/CountrySelector.css.ts +1 -1
  327. package/src/generated/themes/DatePicker.css.ts +1 -1
  328. package/src/generated/themes/Divider.css.ts +1 -1
  329. package/src/generated/themes/Dropdown.css.ts +1 -1
  330. package/src/generated/themes/FilterMenu.css.ts +1 -1
  331. package/src/generated/themes/Footer.css.ts +1 -1
  332. package/src/generated/themes/HeroBanner.css.ts +1 -1
  333. package/src/generated/themes/Link.css.ts +1 -1
  334. package/src/generated/themes/MastheadItem.css.ts +1 -1
  335. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  336. package/src/generated/themes/PromoTile.css.ts +9 -0
  337. package/src/generated/themes/Quote.css.ts +1 -1
  338. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  339. package/src/generated/themes/SelectBox.css.ts +1 -1
  340. package/src/generated/themes/Slider.css.ts +1 -1
  341. package/src/generated/themes/SocialMediaButton.css.ts +9 -0
  342. package/src/generated/themes/Tag.css.ts +1 -1
  343. package/src/generated/themes/TextField.css.ts +1 -1
  344. package/src/i18n/messagebundle.properties +9 -3
  345. package/src/i18n/messagebundle_en.properties +3 -1
  346. package/src/themes/AccordionItem.css +61 -22
  347. package/src/themes/BreadcrumbsPopover.css +2 -1
  348. package/src/themes/CountrySelector.css +4 -0
  349. package/src/themes/DatePicker.css +0 -5
  350. package/src/themes/Divider.css +2 -1
  351. package/src/themes/Dropdown.css +1 -1
  352. package/src/themes/FilterMenu.css +2 -2
  353. package/src/themes/Footer.css +44 -25
  354. package/src/themes/HeroBanner.css +34 -32
  355. package/src/themes/Link.css +4 -1
  356. package/src/themes/MastheadItem.css +2 -1
  357. package/src/themes/MastheadMenu.css +4 -4
  358. package/src/themes/PromoTile.css +152 -0
  359. package/src/themes/Quote.css +21 -24
  360. package/src/themes/SelectBox.css +1 -1
  361. package/src/themes/SocialMediaButton.css +50 -0
  362. package/src/themes/Tag.css +18 -24
  363. package/src/themes/TextField.css +0 -15
  364. package/src/types/PromoTile.ts +61 -0
  365. package/src/types/SocialMediaButtonType.ts +10 -0
  366. package/src/utils/debounce.ts +19 -4
  367. package/dist/assets/messagebundle_en-CKeTZNW3.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\n\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport type { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\n\n// Template\nimport FooterTemplate from \"./generated/templates/FooterTemplate.lit.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n ABOUT_SAP,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n SOCIAL_LINK_ICON,\n TRENDING,\n COPYRIGHT,\n PUBLIC_SECURITY_NETWORK_NUMBER,\n ICP_NUMBER,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/headset.js\";\nimport \"@ui5/webcomponents-icons/dist/email.js\";\nimport \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport \"@ui5/webcomponents-icons/dist/discussion-2.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\n\nexport const chineseICPDefaultLink = \"https://beian.miit.gov.cn/\";\n\nexport type FooterLink = {\n title: string;\n url: string;\n target: UDExTarget;\n};\n\nexport type FooterSocialLink = {\n url: string;\n iconUrl: string;\n target: UDExTarget;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\ntype UDExFooterDetailedClickEventDetail = {\n originalEvent: PointerEvent,\n name: string | undefined;\n id?: string;\n sourceNode: HTMLElement;\n}\n\ntype UDExFooterBaseEventDetail = {\n originalEvent: PointerEvent,\n}\n\ntype BaseEvents = \"contact-chat-click\" | \"contact-phone-local-numbers-click\" | \"contact-email-click\" | \"contact-phone-click\" | \"logo-click\" | \"back-to-top-click\";\n\ntype DetailedEvents = \"quick-links-click\" | \"trending-click\" | \"about-sap-click\" | \"site-information-click\" | \"social-media-link-click\";\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-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n languageAware: true,\n tag: \"udex-footer\",\n renderer: litRender,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordion, UDExAccordionItem, Icon, UDExButton, UDExDivider, UDExLink],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\nclass UDExFooter extends UI5Element {\n eventDetails!: {\n \"logo-click\": UDExFooterBaseEventDetail,\n \"back-to-top-click\": UDExFooterBaseEventDetail,\n \"contact-chat-click\": UDExFooterBaseEventDetail,\n \"contact-phone-local-numbers-click\": UDExFooterBaseEventDetail,\n \"contact-email-click\": UDExFooterBaseEventDetail,\n \"contact-phone-click\": UDExFooterBaseEventDetail,\n \"quick-links-click\": UDExFooterDetailedClickEventDetail,\n \"trending-click\": UDExFooterDetailedClickEventDetail,\n \"about-sap-click\": UDExFooterDetailedClickEventDetail,\n \"site-information-click\":UDExFooterDetailedClickEventDetail,\n \"social-media-link-click\": UDExFooterDetailedClickEventDetail,\n };\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle: string = \"\";\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl: string = \"\";\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoLink: string = \"\";\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n quickLinks: string = \"[]\";\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n trendingLinks: string = \"[]\";\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n aboutLinks: string = \"[]\";\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n siteInformationLinks: string = \"[]\";\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbersList: string = \"[]\";\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n localCountryNumbersLink: string = \"\";\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n contactUsLink: string = \"\";\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chatWithUsLink: string = \"\";\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n socialLinks: string = \"[]\";\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAlt: string = \"\";\n\n /**\n * Defines an aria label for the logo link\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAriaLabel: string = \"\";\n\n /**\n * Defines an quick links column title\n *\n * @public\n */\n @property({ type: String })\n quickLinksTitle?: string;\n\n /**\n * Defines a trending column title\n *\n * @public\n */\n @property({ type: String })\n trendingTitle?: string;\n\n /**\n * Defines an \"about Sap\" column title\n *\n * @public\n */\n @property({ type: String })\n aboutSapTitle?: string;\n\n /**\n * Defines a site information column title\n *\n * @public\n */\n @property({ type: String })\n siteInformationTitle?: string;\n\n /**\n * Defines a href for the chinese ICP Number link\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumberLink: string = chineseICPDefaultLink;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"back-to-top-click\");\n\n window.scrollTo(0, 0);\n }\n\n get parsedRef(): string | undefined {\n return (this.logoLink && this.logoLink.length > 0) ? this.logoLink : undefined;\n }\n\n get quickLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get socialIconAccessibleName(): string {\n return ` ${UDExFooter.i18nBundle.getText(SOCIAL_LINK_ICON)}`;\n }\n\n get phoneNumberAccessibleName(): string {\n return `${UDExFooter.i18nBundle.getText(PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${UDExFooter.i18nBundle.getText(EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CHAT_WITH_US);\n }\n\n get _quickLinksTitle() {\n return this.quickLinksTitle || UDExFooter.i18nBundle.getText(QUICK_LINKS);\n }\n\n get _trendingTitle() {\n return this.trendingTitle || UDExFooter.i18nBundle.getText(TRENDING);\n }\n\n get _aboutSapTitle() {\n return this.aboutSapTitle || UDExFooter.i18nBundle.getText(ABOUT_SAP);\n }\n\n get _siteInformationTitle() {\n return this.siteInformationTitle || UDExFooter.i18nBundle.getText(SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${UDExFooter.i18nBundle.getText(SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return UDExFooter.i18nBundle.getText(LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return UDExFooter.i18nBundle.getText(COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumber(): string {\n return `${UDExFooter.i18nBundle.getText(ICP_NUMBER)} `;\n }\n\n get chineseSecurityNetworkNumber(): string {\n return UDExFooter.i18nBundle.getText(PUBLIC_SECURITY_NETWORK_NUMBER);\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n _onLogoClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: PointerEvent, eventName: BaseEvents): void {\n this.fireDecoratorEvent(eventName, { originalEvent: e });\n }\n\n fireFooterDetailedClickEvent(e: PointerEvent, eventName: DetailedEvents): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireDecoratorEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n });\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\n"]}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\n\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport type { UDExSocialMediaButtonType } from \"./types/SocialMediaButtonType.js\";\nimport type { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\n\n// Template\nimport FooterTemplate from \"./generated/templates/FooterTemplate.lit.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n ABOUT_SAP,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n TRENDING,\n COPYRIGHT,\n PUBLIC_SECURITY_NETWORK_NUMBER,\n ICP_NUMBER,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/headset.js\";\nimport \"@ui5/webcomponents-icons/dist/email.js\";\nimport \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport \"@ui5/webcomponents-icons/dist/discussion-2.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\n\nexport const chineseICPDefaultLink = \"https://beian.miit.gov.cn/\";\n\nexport type FooterLink = {\n title: string;\n url: string;\n target: UDExTarget;\n};\n\nexport type FooterSocialLink = {\n name?: UDExSocialMediaButtonType;\n url: string;\n target?: UDExTarget;\n accessibleName?: string;\n id? : string;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\ntype UDExFooterDetailedClickEventDetail = {\n originalEvent: PointerEvent,\n name: string | undefined;\n id?: string;\n sourceNode: HTMLElement;\n}\n\ntype UDExFooterBaseEventDetail = {\n originalEvent: PointerEvent,\n}\n\ntype BaseEvents = \"contact-chat-click\" | \"contact-phone-local-numbers-click\" | \"contact-email-click\" | \"contact-phone-click\" | \"logo-click\" | \"back-to-top-click\";\n\ntype DetailedEvents = \"quick-links-click\" | \"trending-click\" | \"about-sap-click\" | \"site-information-click\" | \"social-media-link-click\";\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-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n languageAware: true,\n tag: \"udex-footer\",\n renderer: litRender,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordion, UDExAccordionItem, Icon, UDExButton, UDExDivider, UDExLink, UDExSocialMediaButton],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\nclass UDExFooter extends UI5Element {\n eventDetails!: {\n \"logo-click\": UDExFooterBaseEventDetail,\n \"back-to-top-click\": UDExFooterBaseEventDetail,\n \"contact-chat-click\": UDExFooterBaseEventDetail,\n \"contact-phone-local-numbers-click\": UDExFooterBaseEventDetail,\n \"contact-email-click\": UDExFooterBaseEventDetail,\n \"contact-phone-click\": UDExFooterBaseEventDetail,\n \"quick-links-click\": UDExFooterDetailedClickEventDetail,\n \"trending-click\": UDExFooterDetailedClickEventDetail,\n \"about-sap-click\": UDExFooterDetailedClickEventDetail,\n \"site-information-click\":UDExFooterDetailedClickEventDetail,\n \"social-media-link-click\": UDExFooterDetailedClickEventDetail,\n };\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle?: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl?: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoLink: string = \"\";\n\n /**\n * Defines the tagline alt text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineAlt?: string;\n\n /**\n * Defines the tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineUrl?: string;\n\n /**\n * Defines the chinese tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseTaglineUrl?: string;\n\n /**\n * Defines the chinese logo url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoUrl?: string;\n\n /**\n * Defines the optional component href link for the chinese logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n quickLinks: string = \"[]\";\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n trendingLinks: string = \"[]\";\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n aboutLinks: string = \"[]\";\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n siteInformationLinks: string = \"[]\";\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbersList: string = \"[]\";\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n localCountryNumbersLink: string = \"\";\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n contactUsLink: string = \"\";\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chatWithUsLink: string = \"\";\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n socialLinks: string = \"[]\";\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAlt: string = \"\";\n\n /**\n * Defines an aria label for the logo link\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAriaLabel: string = \"\";\n\n /**\n * Defines an quick links column title\n *\n * @public\n */\n @property({ type: String })\n quickLinksTitle?: string;\n\n /**\n * Defines a trending column title\n *\n * @public\n */\n @property({ type: String })\n trendingTitle?: string;\n\n /**\n * Defines an \"about Sap\" column title\n *\n * @public\n */\n @property({ type: String })\n aboutSapTitle?: string;\n\n /**\n * Defines a site information column title\n *\n * @public\n */\n @property({ type: String })\n siteInformationTitle?: string;\n\n /**\n * Defines a href for the chinese ICP Number link\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumberLink: string = chineseICPDefaultLink;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"back-to-top-click\");\n\n window.scrollTo(0, 0);\n }\n\n get quickLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get phoneNumberAccessibleName(): string {\n return `${UDExFooter.i18nBundle.getText(PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${UDExFooter.i18nBundle.getText(EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CHAT_WITH_US);\n }\n\n get _quickLinksTitle() {\n return this.quickLinksTitle || UDExFooter.i18nBundle.getText(QUICK_LINKS);\n }\n\n get _trendingTitle() {\n return this.trendingTitle || UDExFooter.i18nBundle.getText(TRENDING);\n }\n\n get _aboutSapTitle() {\n return this.aboutSapTitle || UDExFooter.i18nBundle.getText(ABOUT_SAP);\n }\n\n get _siteInformationTitle() {\n return this.siteInformationTitle || UDExFooter.i18nBundle.getText(SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${UDExFooter.i18nBundle.getText(SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return UDExFooter.i18nBundle.getText(LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return UDExFooter.i18nBundle.getText(COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumber(): string {\n return `${UDExFooter.i18nBundle.getText(ICP_NUMBER)} `;\n }\n\n get chineseSecurityNetworkNumber(): string {\n return UDExFooter.i18nBundle.getText(PUBLIC_SECURITY_NETWORK_NUMBER);\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n _onLogoClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: PointerEvent): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: PointerEvent): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: PointerEvent, eventName: BaseEvents): void {\n this.fireDecoratorEvent(eventName, { originalEvent: e });\n }\n\n fireFooterDetailedClickEvent(e: PointerEvent, eventName: DetailedEvents): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireDecoratorEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n });\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\n"]}
@@ -186,7 +186,18 @@ declare class UDExMastheadItem extends UI5Element implements IMastheadItem {
186
186
  * @public
187
187
  */
188
188
  content?: Array<HTMLElement>;
189
+ /**
190
+ * Defines the prevents the item from losing focus.
191
+ *
192
+ * @private
193
+ */
189
194
  _preventFocusOut: boolean;
195
+ /**
196
+ * Defines the item is a menu close button
197
+ *
198
+ * @private
199
+ */
200
+ _isMenuCloseBtn?: boolean;
190
201
  static i18nBundle: I18nBundle;
191
202
  _profileAvatar: UDExAvatar;
192
203
  _mastheadShell: UDExMastheadShell;
@@ -223,6 +234,7 @@ declare class UDExMastheadItem extends UI5Element implements IMastheadItem {
223
234
  get mastheadShell(): UDExMastheadShell;
224
235
  get additionalClass(): string;
225
236
  get profileAvatar(): UDExAvatar;
237
+ get iconAltText(): string;
226
238
  get isRtlDirection(): boolean;
227
239
  get isLtrDirection(): boolean;
228
240
  get hasHref(): boolean;
@@ -284,6 +284,9 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
284
284
  get profileAvatar() {
285
285
  return this.querySelector("[udex-avatar]");
286
286
  }
287
+ get iconAltText() {
288
+ return this._isMenuCloseBtn ? this.accessibleName || this.icon : this.iconAlt;
289
+ }
287
290
  get isRtlDirection() {
288
291
  return this._direction === "rtl";
289
292
  }
@@ -427,6 +430,9 @@ __decorate([
427
430
  __decorate([
428
431
  property({ type: Boolean })
429
432
  ], UDExMastheadItem.prototype, "_preventFocusOut", void 0);
433
+ __decorate([
434
+ property({ type: Boolean })
435
+ ], UDExMastheadItem.prototype, "_isMenuCloseBtn", void 0);
430
436
  __decorate([
431
437
  i18n("@sapudex/web-components")
432
438
  ], UDExMastheadItem, "i18nBundle", void 0);
@@ -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 { 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"]}
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 /**\n * Defines the prevents the item from losing focus.\n *\n * @private\n */\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n /**\n * Defines the item is a menu close button\n *\n * @private\n */\n @property({ type: Boolean })\n _isMenuCloseBtn?: 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 iconAltText(): string {\n return this._isMenuCloseBtn ? this.accessibleName || this.icon : this.iconAlt;\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"]}
@@ -1,4 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
2
3
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
4
  import "@ui5/webcomponents-icons/dist/decline.js";
4
5
  import "@ui5/webcomponents-icons/dist/menu2.js";
@@ -22,6 +23,7 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
22
23
  analyticsName: AnalyticsName;
23
24
  };
24
25
  export declare enum UDExMastheadVariable {
26
+ itemArrowIconMarginInlineStart = "--udex-masthead-item-arrow-margin-inline-start",
25
27
  mobileMenuHeight = "--udex-masthead-shell-mobile-menu-height",
26
28
  itemButtonIconSize = "--udex-masthead-item-button-icon-size",
27
29
  itemArrowIconSize = "--udex-masthead-item-arrow-icon-size",
@@ -131,21 +133,21 @@ declare class UDExMastheadShell extends UI5Element {
131
133
  /**
132
134
  * Defines overflow style for the body after clicking mobile menu opener button
133
135
  *
134
- * @default ""
136
+ * @default false
135
137
  * @public
136
138
  */
137
139
  bodyOverflow: boolean;
138
140
  /**
139
141
  * Defines the visibility of the Search by default.
140
142
  *
141
- * @default ""
143
+ * @default false
142
144
  * @public
143
145
  */
144
146
  showSearchByDefault: boolean;
145
147
  /**
146
148
  * Defines sticky position for component
147
149
  *
148
- * @default ""
150
+ * @default false
149
151
  * @public
150
152
  */
151
153
  stickyPosition: boolean;
@@ -226,6 +228,13 @@ declare class UDExMastheadShell extends UI5Element {
226
228
  * @public
227
229
  */
228
230
  closeButtonAccessibleName?: string;
231
+ /**
232
+ * Defines an accessible name for the close mobile menu button
233
+ *
234
+ * @default undefined
235
+ * @public
236
+ */
237
+ mobileCloseButtonAccessibleName?: string;
229
238
  /**
230
239
  * Defines an aria label for the homepage link
231
240
  *
@@ -276,6 +285,7 @@ declare class UDExMastheadShell extends UI5Element {
276
285
  onAfterRendering(): void;
277
286
  onEnterDOM(): void;
278
287
  onExitDOM(): void;
288
+ onInvalidation({ name }: ChangeInfo): void;
279
289
  _handleResize(): void;
280
290
  handleMobileMode(): void;
281
291
  handleKeyDown(e: KeyboardEvent): void;
@@ -29,9 +29,10 @@ import AnalyticsName from "./types/AnalyticsName.js";
29
29
  import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.lit.js";
30
30
  // Styles
31
31
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
32
- const canvasContentFont = "16px '72 Brand Variable'";
32
+ const canvasContentFont = "14px '72 Brand Variable'";
33
33
  export var UDExMastheadVariable;
34
34
  (function (UDExMastheadVariable) {
35
+ UDExMastheadVariable["itemArrowIconMarginInlineStart"] = "--udex-masthead-item-arrow-margin-inline-start";
35
36
  UDExMastheadVariable["mobileMenuHeight"] = "--udex-masthead-shell-mobile-menu-height";
36
37
  UDExMastheadVariable["itemButtonIconSize"] = "--udex-masthead-item-button-icon-size";
37
38
  UDExMastheadVariable["itemArrowIconSize"] = "--udex-masthead-item-arrow-icon-size";
@@ -78,7 +79,9 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
78
79
  if (this._closeBtnClicked) {
79
80
  this.focusSearchBtn();
80
81
  }
81
- this.updateVisibility();
82
+ if (this.shouldHandleMobileView) {
83
+ this.updateVisibility();
84
+ }
82
85
  }
83
86
  onEnterDOM() {
84
87
  ResizeHandler.register(this, this._handleResizeBound);
@@ -89,6 +92,11 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
89
92
  onExitDOM() {
90
93
  ResizeHandler.deregister(this, this._handleResizeBound);
91
94
  }
95
+ onInvalidation({ name }) {
96
+ if (name === "default" && this.shouldHandleMobileView) {
97
+ this.handleMobileMode();
98
+ }
99
+ }
92
100
  _handleResize() {
93
101
  if (this.shouldHandleMobileView) {
94
102
  this.handleMobileMode();
@@ -305,7 +313,9 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
305
313
  return this.getItemIconSize(UDExMastheadVariable.itemButtonIconSize);
306
314
  }
307
315
  getItemArrowIconWidth() {
308
- return this.getItemIconSize(UDExMastheadVariable.itemArrowIconSize);
316
+ const arrowIconSize = this.getItemIconSize(UDExMastheadVariable.itemArrowIconSize);
317
+ const marginInlineStart = this.getItemIconSize(UDExMastheadVariable.itemArrowIconMarginInlineStart);
318
+ return arrowIconSize + marginInlineStart;
309
319
  }
310
320
  getMainMenuWidth() {
311
321
  const mainItems = this.getSlottedNodes("menuItems");
@@ -314,7 +324,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
314
324
  const mainItem = item;
315
325
  const hasArrowIcon = mainItem.hasArrowDown && !mainItem.hideArrowIcon;
316
326
  const arrowIconWidth = hasArrowIcon ? this.getItemArrowIconWidth() : 0;
317
- return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar) + arrowIconWidth);
327
+ return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar)) + arrowIconWidth;
318
328
  }, 0);
319
329
  }
320
330
  getDomElement(selector) {
@@ -618,6 +628,9 @@ __decorate([
618
628
  __decorate([
619
629
  property()
620
630
  ], UDExMastheadShell.prototype, "closeButtonAccessibleName", void 0);
631
+ __decorate([
632
+ property()
633
+ ], UDExMastheadShell.prototype, "mobileCloseButtonAccessibleName", void 0);
621
634
  __decorate([
622
635
  property()
623
636
  ], UDExMastheadShell.prototype, "homepageAriaLabel", void 0);