@sapudex/web-components 2.23.0 → 2.25.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 (432) hide show
  1. package/bundle.esm.js +2 -0
  2. package/cypress/downloads/downloads.html +0 -0
  3. package/cypress/specs/EventRibbon.cy.tsx +7 -7
  4. package/cypress/specs/ImageGridTable.cy.tsx +41 -0
  5. package/cypress/specs/ImageGridTableItem.cy.tsx +101 -0
  6. package/cypress/specs/ImageGridTickerItem.cy.tsx +1 -2
  7. package/cypress/specs/MastheadProfileMenu.cy.tsx +16 -0
  8. package/cypress/specs/UploadItem.cy.tsx +14 -5
  9. package/cypress/support/component-imports.instrumented.ts +4 -0
  10. package/cypress/support/component-imports.src.ts +4 -0
  11. package/dist/Accordion.js +3 -2
  12. package/dist/Accordion.js.map +1 -1
  13. package/dist/Avatar.js +4 -3
  14. package/dist/Avatar.js.map +1 -1
  15. package/dist/Breadcrumbs.js +4 -3
  16. package/dist/Breadcrumbs.js.map +1 -1
  17. package/dist/Button.js +3 -2
  18. package/dist/Button.js.map +1 -1
  19. package/dist/Carousel.d.ts +1 -0
  20. package/dist/Carousel.js +6 -4
  21. package/dist/Carousel.js.map +1 -1
  22. package/dist/CarouselTemplate.js +1 -1
  23. package/dist/CarouselTemplate.js.map +1 -1
  24. package/dist/Checkbox.js +7 -2
  25. package/dist/Checkbox.js.map +1 -1
  26. package/dist/Contact.js +5 -4
  27. package/dist/Contact.js.map +1 -1
  28. package/dist/CountrySelector.d.ts +1 -1
  29. package/dist/CountrySelector.js +1 -1
  30. package/dist/CountrySelector.js.map +1 -1
  31. package/dist/DatePicker.js +3 -2
  32. package/dist/DatePicker.js.map +1 -1
  33. package/dist/EventRibbon.d.ts +2 -2
  34. package/dist/EventRibbon.js.map +1 -1
  35. package/dist/FeedItem.js +2 -1
  36. package/dist/FeedItem.js.map +1 -1
  37. package/dist/FilterMenu.js +5 -4
  38. package/dist/FilterMenu.js.map +1 -1
  39. package/dist/Footer.js +15 -14
  40. package/dist/Footer.js.map +1 -1
  41. package/dist/FooterTemplate.js +1 -1
  42. package/dist/FooterTemplate.js.map +1 -1
  43. package/dist/ImageGridTable.d.ts +57 -0
  44. package/dist/ImageGridTable.js +120 -0
  45. package/dist/ImageGridTable.js.map +1 -0
  46. package/dist/ImageGridTableItem.d.ts +89 -0
  47. package/dist/ImageGridTableItem.js +108 -0
  48. package/dist/ImageGridTableItem.js.map +1 -0
  49. package/dist/ImageGridTableItemTemplate.d.ts +2 -0
  50. package/dist/ImageGridTableItemTemplate.js +13 -0
  51. package/dist/ImageGridTableItemTemplate.js.map +1 -0
  52. package/dist/ImageGridTableTemplate.d.ts +2 -0
  53. package/dist/ImageGridTableTemplate.js +5 -0
  54. package/dist/ImageGridTableTemplate.js.map +1 -0
  55. package/dist/ImageGridTicker.js +3 -2
  56. package/dist/ImageGridTicker.js.map +1 -1
  57. package/dist/ImageGridTickerItem.d.ts +4 -0
  58. package/dist/ImageGridTickerItem.js +14 -0
  59. package/dist/ImageGridTickerItem.js.map +1 -1
  60. package/dist/ImageGridTickerItemTemplate.js +1 -1
  61. package/dist/ImageGridTickerItemTemplate.js.map +1 -1
  62. package/dist/InputGroup.js +3 -2
  63. package/dist/InputGroup.js.map +1 -1
  64. package/dist/List.js +2 -1
  65. package/dist/List.js.map +1 -1
  66. package/dist/ListItem.d.ts +0 -2
  67. package/dist/ListItem.js +4 -9
  68. package/dist/ListItem.js.map +1 -1
  69. package/dist/ListSelectAll.js +2 -1
  70. package/dist/ListSelectAll.js.map +1 -1
  71. package/dist/MastheadCountrySelector.js +3 -2
  72. package/dist/MastheadCountrySelector.js.map +1 -1
  73. package/dist/MastheadItem.js +8 -7
  74. package/dist/MastheadItem.js.map +1 -1
  75. package/dist/MastheadMenuItem.js +2 -1
  76. package/dist/MastheadMenuItem.js.map +1 -1
  77. package/dist/MastheadMobileMenu.js +2 -1
  78. package/dist/MastheadMobileMenu.js.map +1 -1
  79. package/dist/MastheadProfileMenu.js +6 -5
  80. package/dist/MastheadProfileMenu.js.map +1 -1
  81. package/dist/MastheadShell.d.ts +17 -0
  82. package/dist/MastheadShell.js +42 -13
  83. package/dist/MastheadShell.js.map +1 -1
  84. package/dist/MediaPlayer.js +4 -2
  85. package/dist/MediaPlayer.js.map +1 -1
  86. package/dist/MessageStrip.js +2 -1
  87. package/dist/MessageStrip.js.map +1 -1
  88. package/dist/MessageStripTemplate.js +1 -1
  89. package/dist/MessageStripTemplate.js.map +1 -1
  90. package/dist/Pagination.d.ts +0 -2
  91. package/dist/Pagination.js +16 -29
  92. package/dist/Pagination.js.map +1 -1
  93. package/dist/PhoneNumberField.js +7 -6
  94. package/dist/PhoneNumberField.js.map +1 -1
  95. package/dist/ProgressBar.js +5 -4
  96. package/dist/ProgressBar.js.map +1 -1
  97. package/dist/PromoTile.js +3 -2
  98. package/dist/PromoTile.js.map +1 -1
  99. package/dist/RadioButton.js +5 -4
  100. package/dist/RadioButton.js.map +1 -1
  101. package/dist/RatingBar.js +2 -1
  102. package/dist/RatingBar.js.map +1 -1
  103. package/dist/RatingIndicator.js +2 -1
  104. package/dist/RatingIndicator.js.map +1 -1
  105. package/dist/Review.d.ts +1 -1
  106. package/dist/Review.js +3 -3
  107. package/dist/Review.js.map +1 -1
  108. package/dist/ReviewItem.js +2 -1
  109. package/dist/ReviewItem.js.map +1 -1
  110. package/dist/Search.d.ts +2 -0
  111. package/dist/Search.js +34 -19
  112. package/dist/Search.js.map +1 -1
  113. package/dist/SearchTemplate.js +1 -1
  114. package/dist/SearchTemplate.js.map +1 -1
  115. package/dist/SearchableListBase.d.ts +1 -1
  116. package/dist/SearchableListBase.js +4 -3
  117. package/dist/SearchableListBase.js.map +1 -1
  118. package/dist/SecondaryNavigation.js +2 -1
  119. package/dist/SecondaryNavigation.js.map +1 -1
  120. package/dist/SecondaryNavigationSubItem.js +2 -1
  121. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  122. package/dist/SelectBase.d.ts +4 -11
  123. package/dist/SelectBase.js +4 -11
  124. package/dist/SelectBase.js.map +1 -1
  125. package/dist/SelectBox.d.ts +1 -1
  126. package/dist/SelectBox.js +1 -1
  127. package/dist/SelectBox.js.map +1 -1
  128. package/dist/SocialMediaButton.js +2 -1
  129. package/dist/SocialMediaButton.js.map +1 -1
  130. package/dist/StatusBadge.js +7 -6
  131. package/dist/StatusBadge.js.map +1 -1
  132. package/dist/StepInput.js +9 -2
  133. package/dist/StepInput.js.map +1 -1
  134. package/dist/StepInputTemplate.js +1 -1
  135. package/dist/StepInputTemplate.js.map +1 -1
  136. package/dist/Tab.js +2 -1
  137. package/dist/Tab.js.map +1 -1
  138. package/dist/TabNavigation.js +2 -1
  139. package/dist/TabNavigation.js.map +1 -1
  140. package/dist/Table.d.ts +2 -2
  141. package/dist/Table.js +5 -15
  142. package/dist/Table.js.map +1 -1
  143. package/dist/TableCell.js +3 -3
  144. package/dist/TableCell.js.map +1 -1
  145. package/dist/TableCellBase.js +1 -3
  146. package/dist/TableCellBase.js.map +1 -1
  147. package/dist/TableCellTemplate.d.ts +2 -0
  148. package/dist/TableCellTemplate.js +9 -0
  149. package/dist/TableCellTemplate.js.map +1 -0
  150. package/dist/TableGroupRow.d.ts +1 -1
  151. package/dist/TableGroupRow.js +3 -6
  152. package/dist/TableGroupRow.js.map +1 -1
  153. package/dist/TableGroupRowTemplate.d.ts +2 -0
  154. package/dist/TableGroupRowTemplate.js +7 -0
  155. package/dist/TableGroupRowTemplate.js.map +1 -0
  156. package/dist/TableHeaderCell.js +3 -4
  157. package/dist/TableHeaderCell.js.map +1 -1
  158. package/dist/TableHeaderCellTemplate.d.ts +2 -0
  159. package/dist/TableHeaderCellTemplate.js +6 -0
  160. package/dist/TableHeaderCellTemplate.js.map +1 -0
  161. package/dist/TableHeaderRow.js +3 -5
  162. package/dist/TableHeaderRow.js.map +1 -1
  163. package/dist/TableHeaderRowTemplate.d.ts +2 -0
  164. package/dist/TableHeaderRowTemplate.js +5 -0
  165. package/dist/TableHeaderRowTemplate.js.map +1 -0
  166. package/dist/TableRow.js +3 -4
  167. package/dist/TableRow.js.map +1 -1
  168. package/dist/TableRowBase.d.ts +1 -1
  169. package/dist/TableRowBase.js +0 -2
  170. package/dist/TableRowBase.js.map +1 -1
  171. package/dist/TableRowTemplate.d.ts +2 -0
  172. package/dist/TableRowTemplate.js +5 -0
  173. package/dist/TableRowTemplate.js.map +1 -0
  174. package/dist/TableTemplate.d.ts +2 -0
  175. package/dist/TableTemplate.js +20 -0
  176. package/dist/TableTemplate.js.map +1 -0
  177. package/dist/TextArea.js +9 -8
  178. package/dist/TextArea.js.map +1 -1
  179. package/dist/TextField.js +7 -6
  180. package/dist/TextField.js.map +1 -1
  181. package/dist/Toast.d.ts +3 -1
  182. package/dist/Toast.js +15 -9
  183. package/dist/Toast.js.map +1 -1
  184. package/dist/ToastTemplate.d.ts +2 -0
  185. package/dist/ToastTemplate.js +11 -0
  186. package/dist/ToastTemplate.js.map +1 -0
  187. package/dist/TruncatedText.js +3 -2
  188. package/dist/TruncatedText.js.map +1 -1
  189. package/dist/Upload.js +2 -1
  190. package/dist/Upload.js.map +1 -1
  191. package/dist/UploadItem.d.ts +7 -0
  192. package/dist/UploadItem.js +14 -3
  193. package/dist/UploadItem.js.map +1 -1
  194. package/dist/assets/{InputSuggestions-C8m6N2-d.js → InputSuggestions-DF_pzCn9.js} +1 -1
  195. package/dist/assets/{ListItemStandardExpandableTextTemplate-BwD5bYhw.js → ListItemStandardExpandableTextTemplate-DOYL5Szm.js} +1 -1
  196. package/dist/assets/{bundle.esm-hGsUwmUy.js → bundle.esm-CWBg8c5Q.js} +269 -267
  197. package/dist/assets/fi-BGPAljj_.js +1 -0
  198. package/dist/assets/gl-DqaooM6m.js +1 -0
  199. package/dist/assets/messagebundle_en-mjqY85LY.js +1 -0
  200. package/dist/assets/{video.es-DIP_dh4I.js → video.es-BDeHzm02.js} +32 -32
  201. package/dist/css/themes/Checkbox.css +1 -1
  202. package/dist/css/themes/Footer.css +1 -1
  203. package/dist/css/themes/ImageGridTable.css +1 -0
  204. package/dist/css/themes/ImageGridTableItem.css +1 -0
  205. package/dist/css/themes/ImageGridTicker.css +1 -1
  206. package/dist/css/themes/ImageGridTickerItem.css +1 -1
  207. package/dist/css/themes/InputGroup.css +1 -1
  208. package/dist/css/themes/Link.css +1 -1
  209. package/dist/css/themes/MastheadItem.css +1 -1
  210. package/dist/css/themes/MastheadShell.css +1 -1
  211. package/dist/css/themes/RadioButton.css +1 -1
  212. package/dist/css/themes/RatingIndicator.css +1 -1
  213. package/dist/css/themes/Slider.css +1 -1
  214. package/dist/css/themes/StatusMessage.css +1 -1
  215. package/dist/custom-elements-internal.json +9292 -7325
  216. package/dist/custom-elements.json +6574 -5095
  217. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  218. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  219. package/dist/generated/i18n/i18n-defaults.js +4 -3
  220. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  221. package/dist/generated/templates/MastheadShellTemplate.lit.js +8 -7
  222. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  223. package/dist/generated/templates/UploadItemTemplate.lit.js +1 -1
  224. package/dist/generated/templates/UploadItemTemplate.lit.js.map +1 -1
  225. package/dist/generated/themes/Checkbox.css.d.ts +1 -1
  226. package/dist/generated/themes/Checkbox.css.js +1 -1
  227. package/dist/generated/themes/Checkbox.css.js.map +1 -1
  228. package/dist/generated/themes/Footer.css.d.ts +1 -1
  229. package/dist/generated/themes/Footer.css.js +1 -1
  230. package/dist/generated/themes/Footer.css.js.map +1 -1
  231. package/dist/generated/themes/ImageGridTable.css.d.ts +2 -0
  232. package/dist/generated/themes/ImageGridTable.css.js +8 -0
  233. package/dist/generated/themes/ImageGridTable.css.js.map +1 -0
  234. package/dist/generated/themes/ImageGridTableItem.css.d.ts +2 -0
  235. package/dist/generated/themes/ImageGridTableItem.css.js +8 -0
  236. package/dist/generated/themes/ImageGridTableItem.css.js.map +1 -0
  237. package/dist/generated/themes/ImageGridTicker.css.d.ts +1 -1
  238. package/dist/generated/themes/ImageGridTicker.css.js +1 -1
  239. package/dist/generated/themes/ImageGridTicker.css.js.map +1 -1
  240. package/dist/generated/themes/ImageGridTickerItem.css.d.ts +1 -1
  241. package/dist/generated/themes/ImageGridTickerItem.css.js +1 -1
  242. package/dist/generated/themes/ImageGridTickerItem.css.js.map +1 -1
  243. package/dist/generated/themes/InputGroup.css.d.ts +1 -1
  244. package/dist/generated/themes/InputGroup.css.js +1 -1
  245. package/dist/generated/themes/InputGroup.css.js.map +1 -1
  246. package/dist/generated/themes/Link.css.d.ts +1 -1
  247. package/dist/generated/themes/Link.css.js +1 -1
  248. package/dist/generated/themes/Link.css.js.map +1 -1
  249. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  250. package/dist/generated/themes/MastheadItem.css.js +1 -1
  251. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  252. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  253. package/dist/generated/themes/MastheadShell.css.js +1 -1
  254. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  255. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  256. package/dist/generated/themes/RadioButton.css.js +1 -1
  257. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  258. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  259. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  260. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  261. package/dist/generated/themes/Slider.css.d.ts +1 -1
  262. package/dist/generated/themes/Slider.css.js +1 -1
  263. package/dist/generated/themes/Slider.css.js.map +1 -1
  264. package/dist/generated/themes/StatusMessage.css.d.ts +1 -1
  265. package/dist/generated/themes/StatusMessage.css.js +1 -1
  266. package/dist/generated/themes/StatusMessage.css.js.map +1 -1
  267. package/dist/messagebundle.properties +6 -2
  268. package/dist/messagebundle_en.properties +3 -2
  269. package/dist/types/CustomTranslations.d.ts +3 -0
  270. package/dist/types/CustomTranslations.js +2 -0
  271. package/dist/types/CustomTranslations.js.map +1 -0
  272. package/dist/types/EventRibbon.d.ts +1 -1
  273. package/dist/types/EventRibbon.js +39 -39
  274. package/dist/types/EventRibbon.js.map +1 -1
  275. package/dist/utils/translate.d.ts +7 -0
  276. package/dist/utils/translate.js +15 -0
  277. package/dist/utils/translate.js.map +1 -0
  278. package/dist/vscode.html-custom-data.json +207 -7
  279. package/dist/web-types.json +541 -12
  280. package/package.json +2 -2
  281. package/src/Accordion.ts +3 -2
  282. package/src/Avatar.ts +5 -3
  283. package/src/Breadcrumbs.ts +4 -3
  284. package/src/Button.ts +3 -2
  285. package/src/Carousel.ts +7 -4
  286. package/src/CarouselTemplate.tsx +2 -1
  287. package/src/Checkbox.ts +7 -2
  288. package/src/Contact.ts +5 -4
  289. package/src/CountrySelector.ts +1 -1
  290. package/src/DatePicker.ts +3 -2
  291. package/src/EventRibbon.ts +2 -2
  292. package/src/FeedItem.ts +2 -1
  293. package/src/FilterMenu.ts +5 -4
  294. package/src/Footer.ts +15 -14
  295. package/src/FooterTemplate.tsx +5 -4
  296. package/src/ImageGridTable.ts +151 -0
  297. package/src/ImageGridTableItem.ts +148 -0
  298. package/src/ImageGridTableItemTemplate.tsx +48 -0
  299. package/src/ImageGridTableTemplate.tsx +9 -0
  300. package/src/ImageGridTicker.ts +4 -2
  301. package/src/ImageGridTickerItem.ts +20 -0
  302. package/src/ImageGridTickerItemTemplate.tsx +1 -0
  303. package/src/InputGroup.ts +3 -2
  304. package/src/List.ts +2 -1
  305. package/src/ListItem.ts +4 -11
  306. package/src/ListSelectAll.ts +2 -1
  307. package/src/MastheadCountrySelector.ts +3 -2
  308. package/src/MastheadItem.ts +8 -7
  309. package/src/MastheadMenuItem.ts +2 -1
  310. package/src/MastheadMobileMenu.ts +2 -1
  311. package/src/MastheadProfileMenu.ts +6 -5
  312. package/src/MastheadShell.hbs +38 -29
  313. package/src/MastheadShell.ts +57 -13
  314. package/src/MediaPlayer.ts +4 -2
  315. package/src/MessageStrip.ts +2 -1
  316. package/src/MessageStripTemplate.tsx +1 -1
  317. package/src/Pagination.ts +15 -28
  318. package/src/PhoneNumberField.ts +7 -6
  319. package/src/ProgressBar.ts +5 -4
  320. package/src/PromoTile.ts +3 -2
  321. package/src/RadioButton.ts +5 -4
  322. package/src/RatingBar.ts +2 -1
  323. package/src/RatingIndicator.ts +2 -1
  324. package/src/Review.ts +4 -3
  325. package/src/ReviewItem.ts +2 -1
  326. package/src/Search.ts +36 -19
  327. package/src/SearchTemplate.tsx +1 -1
  328. package/src/SearchableListBase.ts +4 -3
  329. package/src/SecondaryNavigation.ts +2 -1
  330. package/src/SecondaryNavigationSubItem.ts +2 -1
  331. package/src/SelectBase.ts +6 -12
  332. package/src/SelectBox.ts +1 -1
  333. package/src/SocialMediaButton.ts +2 -1
  334. package/src/StatusBadge.ts +7 -6
  335. package/src/StepInput.ts +9 -2
  336. package/src/StepInputTemplate.tsx +6 -2
  337. package/src/Tab.ts +2 -1
  338. package/src/TabNavigation.ts +2 -1
  339. package/src/Table.ts +7 -15
  340. package/src/TableCell.ts +3 -3
  341. package/src/TableCellBase.ts +1 -3
  342. package/src/TableCellTemplate.tsx +21 -0
  343. package/src/TableGroupRow.ts +4 -6
  344. package/src/TableGroupRowTemplate.tsx +36 -0
  345. package/src/TableHeaderCell.ts +3 -4
  346. package/src/TableHeaderCellTemplate.tsx +36 -0
  347. package/src/TableHeaderRow.ts +3 -5
  348. package/src/TableHeaderRowTemplate.tsx +13 -0
  349. package/src/TableRow.ts +3 -4
  350. package/src/TableRowBase.ts +1 -2
  351. package/src/TableRowTemplate.tsx +13 -0
  352. package/src/TableTemplate.tsx +94 -0
  353. package/src/TextArea.ts +8 -8
  354. package/src/TextField.ts +7 -6
  355. package/src/Toast.ts +17 -8
  356. package/src/ToastTemplate.tsx +42 -0
  357. package/src/TruncatedText.ts +3 -2
  358. package/src/Upload.ts +2 -1
  359. package/src/UploadItem.hbs +1 -1
  360. package/src/UploadItem.ts +13 -3
  361. package/src/generated/i18n/i18n-defaults.ts +2 -2
  362. package/src/generated/templates/MastheadShellTemplate.lit.ts +8 -7
  363. package/src/generated/templates/UploadItemTemplate.lit.ts +1 -1
  364. package/src/generated/themes/Checkbox.css.ts +1 -1
  365. package/src/generated/themes/Footer.css.ts +1 -1
  366. package/src/generated/themes/ImageGridTable.css.ts +9 -0
  367. package/src/generated/themes/ImageGridTableItem.css.ts +9 -0
  368. package/src/generated/themes/ImageGridTicker.css.ts +1 -1
  369. package/src/generated/themes/ImageGridTickerItem.css.ts +1 -1
  370. package/src/generated/themes/InputGroup.css.ts +1 -1
  371. package/src/generated/themes/Link.css.ts +1 -1
  372. package/src/generated/themes/MastheadItem.css.ts +1 -1
  373. package/src/generated/themes/MastheadShell.css.ts +1 -1
  374. package/src/generated/themes/RadioButton.css.ts +1 -1
  375. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  376. package/src/generated/themes/Slider.css.ts +1 -1
  377. package/src/generated/themes/StatusMessage.css.ts +1 -1
  378. package/src/i18n/messagebundle.properties +6 -2
  379. package/src/i18n/messagebundle_en.properties +3 -2
  380. package/src/themes/Checkbox.css +21 -15
  381. package/src/themes/Footer.css +3 -2
  382. package/src/themes/ImageGridTable.css +47 -0
  383. package/src/themes/ImageGridTableItem.css +102 -0
  384. package/src/themes/ImageGridTicker.css +1 -0
  385. package/src/themes/ImageGridTickerItem.css +1 -1
  386. package/src/themes/InputGroup.css +11 -6
  387. package/src/themes/Link.css +2 -0
  388. package/src/themes/MastheadItem.css +1 -0
  389. package/src/themes/MastheadShell.css +1 -0
  390. package/src/themes/RadioButton.css +29 -6
  391. package/src/themes/StatusMessage.css +1 -2
  392. package/src/types/CustomTranslations.ts +1 -0
  393. package/src/types/EventRibbon.ts +1 -1
  394. package/src/utils/translate.ts +21 -0
  395. package/dist/assets/fi-hYXoEotT.js +0 -1
  396. package/dist/assets/gl-eZFVp-ap.js +0 -1
  397. package/dist/assets/messagebundle_en-D_yCmNrd.js +0 -1
  398. package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -3
  399. package/dist/generated/templates/TableCellTemplate.lit.js +0 -8
  400. package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
  401. package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -3
  402. package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -9
  403. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
  404. package/dist/generated/templates/TableHeaderCellTemplate.lit.d.ts +0 -3
  405. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +0 -11
  406. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +0 -1
  407. package/dist/generated/templates/TableHeaderRowTemplate.lit.d.ts +0 -3
  408. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +0 -8
  409. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +0 -1
  410. package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -3
  411. package/dist/generated/templates/TableRowTemplate.lit.js +0 -8
  412. package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
  413. package/dist/generated/templates/TableTemplate.lit.d.ts +0 -3
  414. package/dist/generated/templates/TableTemplate.lit.js +0 -13
  415. package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
  416. package/dist/generated/templates/ToastTemplate.lit.d.ts +0 -3
  417. package/dist/generated/templates/ToastTemplate.lit.js +0 -10
  418. package/dist/generated/templates/ToastTemplate.lit.js.map +0 -1
  419. package/src/Table.hbs +0 -45
  420. package/src/TableCell.hbs +0 -4
  421. package/src/TableGroupRow.hbs +0 -24
  422. package/src/TableHeaderCell.hbs +0 -19
  423. package/src/TableHeaderRow.hbs +0 -3
  424. package/src/TableRow.hbs +0 -3
  425. package/src/Toast.hbs +0 -20
  426. package/src/generated/templates/TableCellTemplate.lit.ts +0 -12
  427. package/src/generated/templates/TableGroupRowTemplate.lit.ts +0 -13
  428. package/src/generated/templates/TableHeaderCellTemplate.lit.ts +0 -15
  429. package/src/generated/templates/TableHeaderRowTemplate.lit.ts +0 -12
  430. package/src/generated/templates/TableRowTemplate.lit.ts +0 -12
  431. package/src/generated/templates/TableTemplate.lit.ts +0 -17
  432. package/src/generated/templates/ToastTemplate.lit.ts +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadCountrySelector.js","sourceRoot":"","sources":["../src/MastheadCountrySelector.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport {\n isUp, isDown, isRight, isLeft, isEnd, isHome,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport MastheadCountrySelectorTemplate from \"./generated/templates/MastheadCountrySelectorTemplate.lit.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport MastheadCountrySelectorCss from \"./generated/themes/MastheadCountrySelector.css.js\";\n\nexport type Region = {\n title: string,\n countries: Array<Country>,\n};\n\nexport type Country = {\n displayTitle: string,\n countryCode: string,\n url: string,\n};\n\ntype UDExMastheadCountrySelectorRegionClickEventDetail = {\n item: {\n title: string,\n countries: Array<Country>,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorItemClickEventDetail = {\n item: {\n displayTitle: string,\n countryCode: string,\n url: string,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorSearchEventDetail = {\n value: string,\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>masthead-country-selector</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadCountrySelector.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-country-selector\",\n renderer: litRender,\n styles: MastheadCountrySelectorCss,\n template: MastheadCountrySelectorTemplate,\n dependencies: [UI5Icon, UDExMastheadMenuItem, UDExSearch],\n})\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked region item\n * @param {string} item.title the title of the region\n * @param {Array} item.countries the countries of the region\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"region-item-click\", { bubbles: true })\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked country item\n * @param {string} item.displayTitle the display title of the country\n * @param {string} item.countryCode the country code of the country\n * @param {string} item.url the url of the country\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"country-item-click\", { bubbles: true })\n\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n * @param {string} value The search value\n * @param {AnalyticsName} analyticsName The analytics name for the event\n */\n@event(\"country-selector-search\", { bubbles: true })\n\nclass UDExMastheadCountrySelector extends UI5Element {\n eventDetails!: {\n \"country-item-click\": UDExMastheadCountrySelectorItemClickEventDetail,\n \"country-selector-search\": UDExMastheadCountrySelectorSearchEventDetail,\n \"region-item-click\": UDExMastheadCountrySelectorRegionClickEventDetail\n };\n /**\n * Defines title of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n regionTitle!: string;\n\n /**\n * Defines title of the countries menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n countryTitle!: string;\n\n /**\n * Defines the object of the regions\n *\n * @default \"\"\n * @public\n */\n @property()\n regions!: string;\n\n /**\n * Defines the label of the search\n *\n * @default \"en-US\"\n * @public\n */\n @property()\n searchLabel!: string;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchVoiceButton!: boolean;\n\n /**\n * Defines the language voice of the search\n *\n * @default \"\"\n * @public\n */\n @property()\n languageVoice!: string;\n\n /**\n * Defines the country list of the region is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isActiveRegionOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines direction of the component.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n _activeRegion!: Region | null;\n _activeCountries!: Array<Country>;\n _shouldFocusBackBtn!: boolean;\n _shouldFocusRegionByIndex!: boolean;\n _accSearchResultInfo?: string;\n _activeRegionIndex!: number;\n _mastheadShell!: UDExMastheadShell;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._activeCountries = [];\n }\n\n onAfterRendering(): void {\n this._mastheadShell = this.mastheadShell;\n this.handleFocusItem();\n this.setTabIndexForItems();\n this.handleDirection();\n this.handleOutsideClick();\n\n if (this.isSingleMode) {\n this.handleSingleRegionMode();\n }\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n handleRegionClick(e: CustomEvent): void {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n\n handleCountryClick(e: CustomEvent): void {\n this.fireEventCountryItemClick(e);\n if (this._mastheadShell && this.isMobile) {\n this.closeMenu();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n\n if (item.hasAttribute(\"is-back\")) {\n this.handleBackKeyboard(e);\n return;\n }\n\n if (item.hasAttribute(\"is-nav-item\")) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n }\n\n handleBackKeyboard(e: KeyboardEvent): void {\n if (isLeft(e) && !this.isRtlDirection) {\n return this.backToRegions();\n }\n if (isRight(e) && this.isRtlDirection) {\n return this.backToRegions();\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e) && !this.isRtlDirection) {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e) && this.isRtlDirection) {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleSearch(e: CustomEvent): void {\n const searchTerm = e.detail.value.toLowerCase().trim() as string;\n\n if (!this._activeRegion || !this._activeRegion.countries) {\n this.setActiveCountries([]);\n return;\n }\n\n if (!searchTerm) {\n this.setActiveCountries([...this._activeRegion.countries]);\n } else {\n this.setActiveCountries(this._activeRegion.countries.filter(country => country.displayTitle.toLowerCase().includes(searchTerm)));\n }\n\n this._accSearchResultInfo = this._activeCountries.length\n ? `${this._activeCountries.length} ${this.resultReturnedText}`\n : this.noMatchesFoundText;\n\n this._shouldFocusBackBtn = false;\n this.fireDecoratorEvent(\"country-selector-search\", {\n value: e.detail.value,\n analyticsName: AnalyticsName.Header,\n });\n this.refreshRendering();\n }\n\n handleSearchReset(): void {\n this.setActiveCountries([...this._activeRegion?.countries || []]);\n this.refreshRendering();\n }\n\n handleFocusItem(): void {\n if (this._shouldFocusBackBtn) {\n this.focusBackBtn();\n }\n\n if (this._shouldFocusRegionByIndex) {\n this.focusRegionByIndex();\n }\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: Event): void => {\n if (e.target !== this && !this.isMobile) {\n this.handleSearchReset();\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n }\n });\n }\n\n openCountriesByRegion(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const activeRegion = this.regionsData[item.index];\n this.setActiveRegion(activeRegion);\n this.setActiveCountries(activeRegion.countries);\n this._isActiveRegionOpen = true;\n this._activeRegionIndex = item.index;\n this._shouldFocusBackBtn = true;\n this._shouldFocusRegionByIndex = false;\n }\n\n backToRegions(): void {\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n this._shouldFocusRegionByIndex = true;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const lastItemIndex = this.items.length - 1;\n const prevIndex = currentIndex - 1 < 0 ? lastItemIndex : currentIndex - 1;\n const prevItem = this.items[prevIndex];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const lastItemIndex = this.items.length - 1;\n const nextIndex = currentIndex + 1 > lastItemIndex ? 0 : currentIndex + 1;\n const nextItem = this.items[nextIndex];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const lastItemIndex = this.items.length - 1;\n const lastItem = this.items[lastItemIndex];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const firstItem = this.items[0];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n firstItem._tabIndex = \"0\";\n firstItem.focus();\n }\n }\n\n handleSingleRegionMode(): void {\n this.setActiveRegion(this.regionsData[0]);\n this.setActiveCountries([...this.regionsData[0].countries]);\n this._isActiveRegionOpen = true;\n }\n\n focusBackBtn(): void {\n const backBtn = this.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-country-selector__region-back-item\") || null;\n backBtn?.focus();\n }\n\n focusRegionByIndex(): void {\n const regionItems = this.shadowRoot?.querySelectorAll<HTMLElement>(\".udex-masthead-country-selector__item_region\") || [];\n regionItems[this._activeRegionIndex].focus();\n }\n\n fireEventRegionItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n\n this.fireDecoratorEvent(\"region-item-click\", {\n item: {\n title: item.label,\n countries: this._activeRegion?.countries || [],\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n fireEventCountryItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const { label, url } = item;\n\n this.fireDecoratorEvent(\"country-item-click\", {\n item: {\n displayTitle: label,\n countryCode: item.getAttribute(\"_country-code\") || \"\",\n url: url || \"\",\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setActiveRegion(region: Region | null): void {\n this._activeRegion = region;\n }\n\n setActiveCountries(countries: Array<Country>): void {\n this._activeCountries = countries;\n }\n\n setTabIndexForItems(): void {\n this.items.forEach((item, index) => {\n if (this._activeRegionIndex > 0 && this._shouldFocusRegionByIndex) {\n item._tabIndex = index === this._activeRegionIndex ? \"0\" : \"-1\";\n return;\n }\n\n item._tabIndex = index === 0 ? \"0\" : \"-1\";\n });\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n get noMatchesFoundText(): string {\n return UDExMastheadCountrySelector.i18nBundle.getText(NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return UDExMastheadCountrySelector.i18nBundle.getText(RESULT_RETURNED);\n }\n\n get items(): Array<UDExMastheadMenuItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExMastheadMenuItem>(\".udex-masthead-country-selector__item\");\n return items ? Array.from(items) : [];\n }\n\n get regionsData(): Array<Region> {\n return this.regions ? JSON.parse(this.regions) as Array<Region> : [];\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get homeSearchMode(): UDExSearchMode {\n return UDExSearchMode.HomeSearch;\n }\n\n get isSingleMode(): boolean {\n return this.regionsData.length === 1;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n}\n\nUDExMastheadCountrySelector.define();\n\nexport default UDExMastheadCountrySelector;\nexport type { UDExMastheadCountrySelectorSearchEventDetail, UDExMastheadCountrySelectorItemClickEventDetail, UDExMastheadCountrySelectorRegionClickEventDetail };\n"]}
1
+ {"version":3,"file":"MastheadCountrySelector.js","sourceRoot":"","sources":["../src/MastheadCountrySelector.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport {\n isUp, isDown, isRight, isLeft, isEnd, isHome,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport MastheadCountrySelectorTemplate from \"./generated/templates/MastheadCountrySelectorTemplate.lit.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadCountrySelectorCss from \"./generated/themes/MastheadCountrySelector.css.js\";\n\nexport type Region = {\n title: string,\n countries: Array<Country>,\n};\n\nexport type Country = {\n displayTitle: string,\n countryCode: string,\n url: string,\n};\n\ntype UDExMastheadCountrySelectorRegionClickEventDetail = {\n item: {\n title: string,\n countries: Array<Country>,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorItemClickEventDetail = {\n item: {\n displayTitle: string,\n countryCode: string,\n url: string,\n },\n originalEvent: Event,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadCountrySelectorSearchEventDetail = {\n value: string,\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>masthead-country-selector</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadCountrySelector.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-country-selector\",\n renderer: litRender,\n styles: MastheadCountrySelectorCss,\n template: MastheadCountrySelectorTemplate,\n dependencies: [UI5Icon, UDExMastheadMenuItem, UDExSearch],\n})\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked region item\n * @param {string} item.title the title of the region\n * @param {Array} item.countries the countries of the region\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"region-item-click\", { bubbles: true })\n\n/**\n * Fires when region item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {Object} item the clicked country item\n * @param {string} item.displayTitle the display title of the country\n * @param {string} item.countryCode the country code of the country\n * @param {string} item.url the url of the country\n * @param {AnalyticsName} analyticsName The analytics name for the event\n * @param {HTMLElement} sourceNode The source node which triggered the event\n */\n@event(\"country-item-click\", { bubbles: true })\n\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n * @param {string} value The search value\n * @param {AnalyticsName} analyticsName The analytics name for the event\n */\n@event(\"country-selector-search\", { bubbles: true })\n\nclass UDExMastheadCountrySelector extends UI5Element {\n eventDetails!: {\n \"country-item-click\": UDExMastheadCountrySelectorItemClickEventDetail,\n \"country-selector-search\": UDExMastheadCountrySelectorSearchEventDetail,\n \"region-item-click\": UDExMastheadCountrySelectorRegionClickEventDetail\n };\n /**\n * Defines title of the regions menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n regionTitle!: string;\n\n /**\n * Defines title of the countries menu\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n countryTitle!: string;\n\n /**\n * Defines the object of the regions\n *\n * @default \"\"\n * @public\n */\n @property()\n regions!: string;\n\n /**\n * Defines the label of the search\n *\n * @default \"en-US\"\n * @public\n */\n @property()\n searchLabel!: string;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchVoiceButton!: boolean;\n\n /**\n * Defines the language voice of the search\n *\n * @default \"\"\n * @public\n */\n @property()\n languageVoice!: string;\n\n /**\n * Defines the country list of the region is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isActiveRegionOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines direction of the component.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n _activeRegion!: Region | null;\n _activeCountries!: Array<Country>;\n _shouldFocusBackBtn!: boolean;\n _shouldFocusRegionByIndex!: boolean;\n _accSearchResultInfo?: string;\n _activeRegionIndex!: number;\n _mastheadShell!: UDExMastheadShell;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._activeCountries = [];\n }\n\n onAfterRendering(): void {\n this._mastheadShell = this.mastheadShell;\n this.handleFocusItem();\n this.setTabIndexForItems();\n this.handleDirection();\n this.handleOutsideClick();\n\n if (this.isSingleMode) {\n this.handleSingleRegionMode();\n }\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n handleRegionClick(e: CustomEvent): void {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n\n handleCountryClick(e: CustomEvent): void {\n this.fireEventCountryItemClick(e);\n if (this._mastheadShell && this.isMobile) {\n this.closeMenu();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n\n if (item.hasAttribute(\"is-back\")) {\n this.handleBackKeyboard(e);\n return;\n }\n\n if (item.hasAttribute(\"is-nav-item\")) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n }\n\n handleBackKeyboard(e: KeyboardEvent): void {\n if (isLeft(e) && !this.isRtlDirection) {\n return this.backToRegions();\n }\n if (isRight(e) && this.isRtlDirection) {\n return this.backToRegions();\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e) && !this.isRtlDirection) {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e) && this.isRtlDirection) {\n this.openCountriesByRegion(e);\n this.fireEventRegionItemClick(e);\n }\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleSearch(e: CustomEvent): void {\n const searchTerm = e.detail.value.toLowerCase().trim() as string;\n\n if (!this._activeRegion || !this._activeRegion.countries) {\n this.setActiveCountries([]);\n return;\n }\n\n if (!searchTerm) {\n this.setActiveCountries([...this._activeRegion.countries]);\n } else {\n this.setActiveCountries(this._activeRegion.countries.filter(country => country.displayTitle.toLowerCase().includes(searchTerm)));\n }\n\n this._accSearchResultInfo = this._activeCountries.length\n ? `${this._activeCountries.length} ${this.resultReturnedText}`\n : this.noMatchesFoundText;\n\n this._shouldFocusBackBtn = false;\n this.fireDecoratorEvent(\"country-selector-search\", {\n value: e.detail.value,\n analyticsName: AnalyticsName.Header,\n });\n this.refreshRendering();\n }\n\n handleSearchReset(): void {\n this.setActiveCountries([...this._activeRegion?.countries || []]);\n this.refreshRendering();\n }\n\n handleFocusItem(): void {\n if (this._shouldFocusBackBtn) {\n this.focusBackBtn();\n }\n\n if (this._shouldFocusRegionByIndex) {\n this.focusRegionByIndex();\n }\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", (e: Event): void => {\n if (e.target !== this && !this.isMobile) {\n this.handleSearchReset();\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n }\n });\n }\n\n openCountriesByRegion(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const activeRegion = this.regionsData[item.index];\n this.setActiveRegion(activeRegion);\n this.setActiveCountries(activeRegion.countries);\n this._isActiveRegionOpen = true;\n this._activeRegionIndex = item.index;\n this._shouldFocusBackBtn = true;\n this._shouldFocusRegionByIndex = false;\n }\n\n backToRegions(): void {\n this._isActiveRegionOpen = false;\n this.setActiveRegion(null);\n this._shouldFocusRegionByIndex = true;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const lastItemIndex = this.items.length - 1;\n const prevIndex = currentIndex - 1 < 0 ? lastItemIndex : currentIndex - 1;\n const prevItem = this.items[prevIndex];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const lastItemIndex = this.items.length - 1;\n const nextIndex = currentIndex + 1 > lastItemIndex ? 0 : currentIndex + 1;\n const nextItem = this.items[nextIndex];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const lastItemIndex = this.items.length - 1;\n const lastItem = this.items[lastItemIndex];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = (e.target as UDExMastheadMenuItem).index;\n const firstItem = this.items[0];\n\n this.items[currentIndex]._tabIndex = \"-1\";\n firstItem._tabIndex = \"0\";\n firstItem.focus();\n }\n }\n\n handleSingleRegionMode(): void {\n this.setActiveRegion(this.regionsData[0]);\n this.setActiveCountries([...this.regionsData[0].countries]);\n this._isActiveRegionOpen = true;\n }\n\n focusBackBtn(): void {\n const backBtn = this.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-country-selector__region-back-item\") || null;\n backBtn?.focus();\n }\n\n focusRegionByIndex(): void {\n const regionItems = this.shadowRoot?.querySelectorAll<HTMLElement>(\".udex-masthead-country-selector__item_region\") || [];\n regionItems[this._activeRegionIndex].focus();\n }\n\n fireEventRegionItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n\n this.fireDecoratorEvent(\"region-item-click\", {\n item: {\n title: item.label,\n countries: this._activeRegion?.countries || [],\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n fireEventCountryItemClick(e: CustomEvent | KeyboardEvent): void {\n const item = e.target as UDExMastheadMenuItem;\n const { label, url } = item;\n\n this.fireDecoratorEvent(\"country-item-click\", {\n item: {\n displayTitle: label,\n countryCode: item.getAttribute(\"_country-code\") || \"\",\n url: url || \"\",\n },\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setActiveRegion(region: Region | null): void {\n this._activeRegion = region;\n }\n\n setActiveCountries(countries: Array<Country>): void {\n this._activeCountries = countries;\n }\n\n setTabIndexForItems(): void {\n this.items.forEach((item, index) => {\n if (this._activeRegionIndex > 0 && this._shouldFocusRegionByIndex) {\n item._tabIndex = index === this._activeRegionIndex ? \"0\" : \"-1\";\n return;\n }\n\n item._tabIndex = index === 0 ? \"0\" : \"-1\";\n });\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExMastheadCountrySelector, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExMastheadCountrySelector, RESULT_RETURNED);\n }\n\n get items(): Array<UDExMastheadMenuItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExMastheadMenuItem>(\".udex-masthead-country-selector__item\");\n return items ? Array.from(items) : [];\n }\n\n get regionsData(): Array<Region> {\n return this.regions ? JSON.parse(this.regions) as Array<Region> : [];\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get homeSearchMode(): UDExSearchMode {\n return UDExSearchMode.HomeSearch;\n }\n\n get isSingleMode(): boolean {\n return this.regionsData.length === 1;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n}\n\nUDExMastheadCountrySelector.define();\n\nexport default UDExMastheadCountrySelector;\nexport type { UDExMastheadCountrySelectorSearchEventDetail, UDExMastheadCountrySelectorItemClickEventDetail, UDExMastheadCountrySelectorRegionClickEventDetail };\n"]}
@@ -25,6 +25,7 @@ import { UDExTarget } from "./types/common.js";
25
25
  import { BreakpointUtils } from "./utils/Breakpoints.js";
26
26
  import parseArrayFromString from "./utils/parseArrayFromString.js";
27
27
  import AnalyticsName from "./types/AnalyticsName.js";
28
+ import translate from "./utils/translate.js";
28
29
  // Styles
29
30
  import MastheadItemCss from "./generated/themes/MastheadItem.css.js";
30
31
  export var UDExMastheadDropdownItemAction;
@@ -346,7 +347,7 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
346
347
  return this.getAttribute("slot") === "support";
347
348
  }
348
349
  get accessibleLabel() {
349
- return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem_1.i18nBundle.getText(PROFILE) : "");
350
+ return this.accessibleName || this.innerText || (this.isProfileBtn ? translate(UDExMastheadItem_1, PROFILE) : "");
350
351
  }
351
352
  get profileSlot() {
352
353
  return this.getSlottedNodes("dropdown")[0];
@@ -358,23 +359,23 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
358
359
  return this.target === UDExTarget._blank;
359
360
  }
360
361
  get openInNewWindowText() {
361
- return UDExMastheadItem_1.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);
362
+ return translate(UDExMastheadItem_1, OPENS_IN_A_NEW_WINDOW);
362
363
  }
363
364
  get eventItemTitle() {
364
365
  if (this.isSearchBtn) {
365
- return UDExMastheadItem_1.i18nBundle.getText(SEARCH);
366
+ return translate(UDExMastheadItem_1, SEARCH);
366
367
  }
367
368
  if (this.isCartBtn) {
368
- return UDExMastheadItem_1.i18nBundle.getText(CART);
369
+ return translate(UDExMastheadItem_1, CART);
369
370
  }
370
371
  if (this.isProfileBtn) {
371
- return UDExMastheadItem_1.i18nBundle.getText(PROFILE);
372
+ return translate(UDExMastheadItem_1, PROFILE);
372
373
  }
373
374
  if (this.isCountrySelectorBtn) {
374
- return UDExMastheadItem_1.i18nBundle.getText(COUNTRY_SELECTOR);
375
+ return translate(UDExMastheadItem_1, COUNTRY_SELECTOR);
375
376
  }
376
377
  if (this.isSupportBtn) {
377
- return UDExMastheadItem_1.i18nBundle.getText(SUPPORT);
378
+ return translate(UDExMastheadItem_1, SUPPORT);
378
379
  }
379
380
  return this.firstChild?.nodeValue?.trim() || "";
380
381
  }
@@ -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\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.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\ntype 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 * @param {Event} originalEvent the original event object\n * @param {UDExMastheadItem} item the clicked item\n * @param {AnalyticsName} analyticsName the analytics name\n * @param {HTMLElement} sourceNode the source node\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\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 if (this.isProfileBtn) {\n this.profileSlot?.closeIdentitiesPanel();\n }\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 profileSlot(): UDExMastheadProfileMenu {\n return this.getSlottedNodes<UDExMastheadProfileMenu>(\"dropdown\")[0];\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;\nexport type { UDExMastheadDropdownEventDetail, UDExMastheadItemItemClickEventDetail };\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\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport translate from \"./utils/translate.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\ntype 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 * @param {Event} originalEvent the original event object\n * @param {UDExMastheadItem} item the clicked item\n * @param {AnalyticsName} analyticsName the analytics name\n * @param {HTMLElement} sourceNode the source node\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\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 if (this.isProfileBtn) {\n this.profileSlot?.closeIdentitiesPanel();\n }\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 ? translate(UDExMastheadItem, PROFILE) : \"\");\n }\n\n get profileSlot(): UDExMastheadProfileMenu {\n return this.getSlottedNodes<UDExMastheadProfileMenu>(\"dropdown\")[0];\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 translate(UDExMastheadItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return translate(UDExMastheadItem, SEARCH);\n }\n if (this.isCartBtn) {\n return translate(UDExMastheadItem, CART);\n }\n if (this.isProfileBtn) {\n return translate(UDExMastheadItem, PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return translate(UDExMastheadItem, COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return translate(UDExMastheadItem, SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\nexport type { UDExMastheadDropdownEventDetail, UDExMastheadItemItemClickEventDetail };\n"]}
@@ -17,6 +17,7 @@ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
17
17
  import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
18
18
  import { OPENS_IN_A_NEW_WINDOW } from "./generated/i18n/i18n-defaults.js";
19
19
  import { UDExTarget } from "./types/common.js";
20
+ import translate from "./utils/translate.js";
20
21
  import MastheadMenuItemTemplate from "./generated/templates/MastheadMenuItemTemplate.lit.js";
21
22
  // Styles
22
23
  import MastheadMenuItemCss from "./generated/themes/MastheadMenuItem.css.js";
@@ -99,7 +100,7 @@ let UDExMastheadMenuItem = UDExMastheadMenuItem_1 = class UDExMastheadMenuItem e
99
100
  return `${leadingWords} `;
100
101
  }
101
102
  get openInNewWindowText() {
102
- return UDExMastheadMenuItem_1.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);
103
+ return translate(UDExMastheadMenuItem_1, OPENS_IN_A_NEW_WINDOW);
103
104
  }
104
105
  get ariaDescribedby() {
105
106
  return this.externalLink ? "new-win-desc" : null;
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.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 { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\n\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport { OPENS_IN_A_NEW_WINDOW } from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExTarget } from \"./types/common.js\";\n\nimport MastheadMenuItemTemplate from \"./generated/templates/MastheadMenuItemTemplate.lit.js\";\n\n// Styles\nimport MastheadMenuItemCss from \"./generated/themes/MastheadMenuItem.css.js\";\n\nexport enum UDExItemType {\n Heading = \"Heading\",\n Button = \"Button\",\n Link = \"Link\"\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-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n tag: \"udex-masthead-menu-item\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadMenuItemCss,\n template: MastheadMenuItemTemplate,\n dependencies: [Icon],\n})\n\nclass UDExMastheadMenuItem extends UI5Element {\n /**\n * Defines the type of the item.\n *\n * @default \"Link\"\n * @public\n */\n @property()\n type: `${UDExItemType}` = UDExItemType.Link;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines the label of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the url of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n url?: string;\n\n /**\n * Defines the badge of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n badge?: string;\n\n /**\n * Defines the externalLink of the component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n externalLink?: boolean;\n\n /**\n * Defines the border for component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hasBorder?: boolean;\n\n /**\n * Defines the start position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconStart?: boolean;\n\n /**\n * Defines the end position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconEnd?: boolean;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ type: Number })\n index!: number;\n\n /**\n * Defines the aria-haspopup attribute for the item.\n *\n * @public\n */\n @property({ type: String })\n ariaHasPopup!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n * @default \"_self\"\n */\n @property()\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Defines the tabindex attribute for the item.\n *\n * @private\n */\n @property({ type: String })\n _tabIndex!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n get rootClass(): string {\n const prefixClass = \"udex-masthead-menu-item\";\n const badgeClass = this.badge ? `${prefixClass}_badge` : \"\";\n const rootClass = this.isHeadingType ? `${prefixClass}_is-header` : `${prefixClass}_is-list`;\n return `${rootClass} ${badgeClass}`;\n }\n\n get labelClass(): string {\n const root = \"udex-masthead-menu-item__label\";\n return this.externalLink ? `${root} ${root}__label_with-icon` : `${root}`;\n }\n\n get isHeadingType(): boolean {\n return this.type === UDExItemType.Heading;\n }\n\n get isButtonType(): boolean {\n return this.type === UDExItemType.Button;\n }\n\n get isActive(): boolean {\n return !!this.url && !this.isButtonType;\n }\n\n get targetLink(): string {\n if (this.externalLink) {\n return this.externalLink ? UDExTarget._blank : UDExTarget._self;\n }\n return this.target;\n }\n\n get lastWordOfLabel(): string | undefined {\n return this.label.split(\" \").pop();\n }\n\n get leadingWordsOfLabel(): string {\n const leadingWords = this.label.split(\" \").slice(0, -1).join(\" \");\n return `${leadingWords} `;\n }\n\n get openInNewWindowText(): string {\n return UDExMastheadMenuItem.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);\n }\n\n get ariaDescribedby(): string | null {\n return this.externalLink ? \"new-win-desc\" : null;\n }\n\n get accessibleRoleText(): string {\n return this.accessibleRole ? this.accessibleRole : \"menuitem\";\n }\n\n get partAttr(): string {\n return this.badge ? \"menu-item-link-badge\" : \"menu-item-link\";\n }\n}\n\nUDExMastheadMenuItem.define();\n\nexport default UDExMastheadMenuItem;\n"]}
1
+ {"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.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,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,yCAAyC,CAAC;AAEjD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,wBAAwB,MAAM,uDAAuD,CAAC;AAE7F,SAAS;AACT,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAE7E,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED;;;;;;;;;;;;;;;;GAgBG;AAUH,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,UAAU;IAA7C;;QACE;;;;;WAKG;QAED,SAAI,GAAsB,YAAY,CAAC,IAAI,CAAC;QA8F9C;;;;;WAKG;QAED,WAAM,GAAoB,UAAU,CAAC,KAAK,CAAC;IA0E/C,CAAC;IA7DC,UAAU;QACR,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QACX,MAAM,WAAW,GAAG,yBAAyB,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,UAAU,CAAC;QAC7F,OAAO,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,IAAI,GAAG,gCAAgC,CAAC;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,GAAG,YAAY,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,SAAS,CAAC,sBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAChE,CAAC;CACF,CAAA;AA/KG;IADD,QAAQ,EAAE;kDACmC;AAS5C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DACD;AASxB;IADD,QAAQ,EAAE;mDACM;AASf;IADD,QAAQ,EAAE;iDACI;AASb;IADD,QAAQ,EAAE;mDACM;AAUf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACH;AAUvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACN;AAUpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACN;AAUpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACR;AAQlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACV;AAQf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DACH;AAStB;IADD,QAAQ,EAAE;oDACkC;AAQ3C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACN;AAGd;IADN,IAAI,CAAC,yBAAyB,CAAC;8CACF;AAxH1B,oBAAoB;IATzB,aAAa,CAAC;QACb,GAAG,EAAE,yBAAyB;QAC9B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,wBAAwB;QAClC,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,oBAAoB,CAuLzB;AAED,oBAAoB,CAAC,MAAM,EAAE,CAAC;AAE9B,eAAe,oBAAoB,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 { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\n\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport { OPENS_IN_A_NEW_WINDOW } from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport translate from \"./utils/translate.js\";\n\nimport MastheadMenuItemTemplate from \"./generated/templates/MastheadMenuItemTemplate.lit.js\";\n\n// Styles\nimport MastheadMenuItemCss from \"./generated/themes/MastheadMenuItem.css.js\";\n\nexport enum UDExItemType {\n Heading = \"Heading\",\n Button = \"Button\",\n Link = \"Link\"\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-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n tag: \"udex-masthead-menu-item\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadMenuItemCss,\n template: MastheadMenuItemTemplate,\n dependencies: [Icon],\n})\n\nclass UDExMastheadMenuItem extends UI5Element {\n /**\n * Defines the type of the item.\n *\n * @default \"Link\"\n * @public\n */\n @property()\n type: `${UDExItemType}` = UDExItemType.Link;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines the label of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the url of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n url?: string;\n\n /**\n * Defines the badge of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n badge?: string;\n\n /**\n * Defines the externalLink of the component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n externalLink?: boolean;\n\n /**\n * Defines the border for component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hasBorder?: boolean;\n\n /**\n * Defines the start position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconStart?: boolean;\n\n /**\n * Defines the end position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconEnd?: boolean;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ type: Number })\n index!: number;\n\n /**\n * Defines the aria-haspopup attribute for the item.\n *\n * @public\n */\n @property({ type: String })\n ariaHasPopup!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n * @default \"_self\"\n */\n @property()\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Defines the tabindex attribute for the item.\n *\n * @private\n */\n @property({ type: String })\n _tabIndex!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n get rootClass(): string {\n const prefixClass = \"udex-masthead-menu-item\";\n const badgeClass = this.badge ? `${prefixClass}_badge` : \"\";\n const rootClass = this.isHeadingType ? `${prefixClass}_is-header` : `${prefixClass}_is-list`;\n return `${rootClass} ${badgeClass}`;\n }\n\n get labelClass(): string {\n const root = \"udex-masthead-menu-item__label\";\n return this.externalLink ? `${root} ${root}__label_with-icon` : `${root}`;\n }\n\n get isHeadingType(): boolean {\n return this.type === UDExItemType.Heading;\n }\n\n get isButtonType(): boolean {\n return this.type === UDExItemType.Button;\n }\n\n get isActive(): boolean {\n return !!this.url && !this.isButtonType;\n }\n\n get targetLink(): string {\n if (this.externalLink) {\n return this.externalLink ? UDExTarget._blank : UDExTarget._self;\n }\n return this.target;\n }\n\n get lastWordOfLabel(): string | undefined {\n return this.label.split(\" \").pop();\n }\n\n get leadingWordsOfLabel(): string {\n const leadingWords = this.label.split(\" \").slice(0, -1).join(\" \");\n return `${leadingWords} `;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadMenuItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get ariaDescribedby(): string | null {\n return this.externalLink ? \"new-win-desc\" : null;\n }\n\n get accessibleRoleText(): string {\n return this.accessibleRole ? this.accessibleRole : \"menuitem\";\n }\n\n get partAttr(): string {\n return this.badge ? \"menu-item-link-badge\" : \"menu-item-link\";\n }\n}\n\nUDExMastheadMenuItem.define();\n\nexport default UDExMastheadMenuItem;\n"]}
@@ -17,6 +17,7 @@ import UDExMastheadMenuItem, { UDExItemType } from "./MastheadMenuItem.js";
17
17
  import { OVERVIEW } from "./generated/i18n/i18n-defaults.js";
18
18
  import AnalyticsName from "./types/AnalyticsName.js";
19
19
  import MastheadMobileMenuTemplate from "./generated/templates/MastheadMobileMenuTemplate.lit.js";
20
+ import translate from "./utils/translate.js";
20
21
  // Styles
21
22
  import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js";
22
23
  const INDEX_OFFSET_WITH_OVERVIEW = 2;
@@ -405,7 +406,7 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
405
406
  return !this._showCategories && !this._showCategoryItems;
406
407
  }
407
408
  get overviewLinkText() {
408
- return UDExMastheadMobileMenu_1.i18nBundle.getText(OVERVIEW);
409
+ return translate(UDExMastheadMobileMenu_1, OVERVIEW);
409
410
  }
410
411
  get exploreItem() {
411
412
  return this.getSlottedNodes("exploreSapMobileButton")[0];
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nconst INDEX_OFFSET_WITH_OVERVIEW = 2;\nconst INDEX_OFFSET_WITHOUT_OVERVIEW = 1;\n\ntype UDExMastheadMobileMenuItemClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n item: UDExMastheadMenuItem,\n category?: string,\n isMobile: boolean,\n isBack: boolean,\n analyticsName: AnalyticsName,\n analyticsPath: Array<string>,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadMobileMenuExploreClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked item\n * @param {string} [category] The category of the clicked item\n * @param {boolean} isMobile Indicates whether the click happened in mobile menu\n * @param {boolean} isBack Indicates whether the clicked item is a back button\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {Array<string>} analyticsPath The analytics path for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"item-click\", { cancelable: true, bubbles: false })\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"explorer-menu-click\", { bubbles: true })\n\nclass UDExMastheadMobileMenu extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExMastheadMobileMenuItemClickEventDetail,\n \"explorer-menu-click\": UDExMastheadMobileMenuExploreClickEventDetail,\n };\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton?: UDExMastheadItem;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @property({ type: String })\n _direction?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n _navItem?: UDExMastheadMenuItem;\n _mastheadShell!: UDExMastheadShell;\n\n onAfterRendering() {\n this._mastheadShell = this.mastheadShell;\n this.handleMenuMode();\n this.setTabIndexForItems();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: PointerEvent) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireExploreSapMobileButton(e);\n }\n\n handleBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: PointerEvent) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handlePressKey(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleLeftRightKeys(e);\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n\n handleLeftRightKeys(e: KeyboardEvent) {\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n if (isRight(e)) {\n e.preventDefault();\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n if (isLeft(e)) {\n e.preventDefault();\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToNextLevelWithKeyboard(e);\n } else {\n this.moveToBackWithKeyboard(e);\n }\n }\n }\n\n handleUpArrow(e: KeyboardEvent) {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent) {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window.getComputedStyle(this).getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMobileCategoryItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e, this._category.category);\n }\n\n handleMenuMode() {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode && !this._hideExploreSapBtn) {\n this.openCategories(this.items[0]);\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this._focusedItemIndex = 0;\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n\n if (target.hasAttribute(\"is-explore\")) {\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"first-level-btn\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level-btn\")) {\n this.openCategoryItems(e);\n this.fireMobileItemEvent(e);\n }\n\n this.setFocusItemByIndex(0);\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const previousIndex = currentIndex - 1 < 0 ? lastIndex : currentIndex - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let prevItem = this.getListItemByIndex(previousIndex);\n\n if (prevItem.type === UDExItemType.Heading) {\n prevItem = this.getListItemByIndex(lastIndex);\n }\n\n currentItem._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const navLength = this.navigationItems.length;\n const nextIndex = currentIndex + 1 > navLength - 1 ? 0 : currentIndex + 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let nextItem = this.getListItemByIndex(nextIndex);\n\n if (nextItem.type === UDExItemType.Heading) {\n nextItem = this.getListItemByIndex(nextIndex + 1);\n }\n\n currentItem._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n const lastItem = this.getListItemByIndex(lastIndex);\n\n currentItem._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const currentItem = this.getListItemByIndex(currentIndex);\n const firstItem = this.getListItemByIndex(0);\n const focusedIndex = firstItem.type === UDExItemType.Heading ? 1 : 0;\n\n currentItem._tabIndex = \"-1\";\n this.getListItemByIndex(focusedIndex)._tabIndex = \"0\";\n this.getListItemByIndex(focusedIndex).focus();\n }\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const indexOffset = this._clickedItem.href ? INDEX_OFFSET_WITH_OVERVIEW : INDEX_OFFSET_WITHOUT_OVERVIEW;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index: index + indexOffset };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: PointerEvent | KeyboardEvent, category?: string) {\n const item = e.target as UDExMastheadMenuItem;\n const isBack = item.hasAttribute(\"is-back\");\n const eventDetail: UDExMastheadMobileMenuItemClickEventDetail = {\n ...(category && { category }),\n item,\n isMobile: true,\n isBack,\n analyticsPath: this.buildAnalyticsPath(item),\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n };\n\n this.fireDecoratorEvent(\"item-click\", eventDetail);\n\n if (item.url && this._mastheadShell) {\n this.closeMenu();\n }\n }\n\n fireExploreSapMobileButton(e: PointerEvent | KeyboardEvent) {\n this.fireDecoratorEvent(\"explorer-menu-click\", {\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: (e.target as HTMLElement).shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getClickedItem(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): UDExMastheadMenuItem {\n return this.navigationItems[index];\n }\n\n setTabIndexForItems(): void {\n this.navigationItems.forEach((item, index) => {\n if (this._focusedItemIndex > 0) {\n item._tabIndex = index === this._focusedItemIndex ? \"0\" : \"-1\";\n return;\n }\n\n const isPrevItemHeading = this.navigationItems[index - 1]?.type === UDExItemType.Heading;\n item._tabIndex = isPrevItemHeading || index === 0 ? \"0\" : \"-1\";\n });\n }\n\n buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {\n const category = this.getListItemByIndex(0).label.trim();\n const isFirstLevel = item.hasAttribute(\"first-level\");\n const isSecondLevel = item.hasAttribute(\"second-level\");\n const isThirdLevel = item.hasAttribute(\"third-level\");\n const isBackToCategories = item.hasAttribute(\"is-back-to-categories\");\n const shouldResetPath = item.hasAttribute(\"is-back-to-nav\") || this._hideExploreSapBtn;\n const isExploreMode = !this.showExploreBtn && !!this.items.length;\n const clickedLabel = item.label.trim();\n const analyticsPath: Array<string> = [];\n\n if (shouldResetPath) {\n this._navItem = undefined;\n analyticsPath.length = 0;\n }\n\n if (isFirstLevel) {\n this._navItem = item;\n analyticsPath.push(clickedLabel);\n } else if (isSecondLevel) {\n analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));\n } else if (isThirdLevel) {\n analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));\n } else if (isBackToCategories) {\n if (this._navItem) {\n analyticsPath.push(this._navItem.label.trim());\n }\n }\n\n if (isExploreMode && this.hasExploreBtnSlot) {\n analyticsPath.unshift(this.exploreItem.label);\n }\n\n return analyticsPath;\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get navigationItems(): Array<UDExMastheadMenuItem> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExMastheadMenuItem>(\"ul [udex-masthead-menu-item]\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\nexport type { UDExMastheadMobileMenuItemClickEventDetail, UDExMastheadMobileMenuExploreClickEventDetail };\n"]}
1
+ {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.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,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAC7C,MAAM,sCAAsC,CAAC;AAG9C,OAAO,oBAAoB,EAAE,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,0BAA0B,MAAM,yDAAyD,CAAC;AAEjG,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,SAAS;AACT,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAmBxC;;;;;;;;;;;;;;;;GAgBG;AAoCH,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAuD7C,gBAAgB;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,CAAe;QACjC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAA0B,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,uBAAuB,CAAC,CAAe;QACrC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,qBAAqB,CAAC,CAAe;QACnC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,CAAe;QACnC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,sBAAsB,CAAC,CAAe;QACpC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,4BAA4B,CAAC,CAAe;QAC1C,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,CAAgB;QAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,mBAAmB,CAAC,CAAgB;QAClC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe,CAAC,CAAgB;QAC9B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACZ,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,eAAe,CAAC,CAAgB;QAC9B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,eAAe;QACb,MAAM,eAAe,GAAW,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;QACpC,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,CAAe;QACnC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,6BAA6B,CAAC,CAAe;QAC3C,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,CAAgB;QACrC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA8B,CAAC;QAChD,IAAI,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,2BAA2B,CAAC,CAAgB;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAA0B,CAAC,CAAC;QAE/D,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,iBAAiB,CAAC,CAAgB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAA8B,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEtD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;YAC3C,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAA8B,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC9C,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;YAC3C,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,CAAgB;QAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAA8B,CAAC,CAAC;YAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAEpD,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;YAC7B,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;YACzB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAA8B,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;YACtD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,CAAQ;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAA0B,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,IAAsB;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,iBAAiB,CAAC,CAAQ;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,MAA8B,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6BAA6B,CAAC;QACxG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,mBAAmB,CAAC,CAA+B,EAAE,QAAiB;QACpE,MAAM,IAAI,GAAG,CAAC,CAAC,MAA8B,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,WAAW,GAA+C;YAC9D,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7B,IAAI;YACJ,QAAQ,EAAE,IAAI;YACd,MAAM;YACN,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC5C,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,0BAA0B,CAAgB;SACtF,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,CAA+B;QACxD,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YAC7C,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,UAAU,EAAG,CAAC,CAAC,MAAsB,CAAC,UAAU,EAAE,aAAa,CAAC,0BAA0B,CAAgB;SAC3G,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,EAAoB;QACjC,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,KAAK;YACb,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;SACzB,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAE,CAAC;IACjE,CAAC;IAED,aAAa,CAAC,KAAsB;QAClC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACvC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,IAA0B;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC;YACzF,IAAI,CAAC,SAAS,GAAG,iBAAiB,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,IAA0B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC;QACvF,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,aAAa,GAAkB,EAAE,CAAC;QAExC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3H,CAAC;aAAM,IAAI,kBAAkB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,QAAQ,CAAC,aAAa,CAAoB,uBAAuB,CAAE,CAAC;IAC7E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAuB,yCAAyC,CAAE,CAAC;IAC1G,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAuB,8BAA8B,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,SAAS,CAAC,wBAAsB,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,CAAmB,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACnF,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAClC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IACzD,CAAC;CACF,CAAA;AA3fG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;sDACE;AASrB;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qDACX;AAShC;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;sEACgB;AAG1C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+DACA;AAG1B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kEACG;AAG7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kEACG;AAG7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DACL;AAGf;IADN,IAAI,CAAC,yBAAyB,CAAC;gDACF;AA5C1B,sBAAsB;IAnC3B,aAAa,CAAC;QACb,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,0BAA0B;QACpC,YAAY,EAAE,CAAC,oBAAoB,CAAC;KACrC,CAAC;IAEF;;;;;;;;;;;;;OAaG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAE1D;;;;;;;;OAQG;;IACF,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAE1C,sBAAsB,CAsgB3B;AAED,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAEhC,eAAe,sBAAsB,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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nconst INDEX_OFFSET_WITH_OVERVIEW = 2;\nconst INDEX_OFFSET_WITHOUT_OVERVIEW = 1;\n\ntype UDExMastheadMobileMenuItemClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n item: UDExMastheadMenuItem,\n category?: string,\n isMobile: boolean,\n isBack: boolean,\n analyticsName: AnalyticsName,\n analyticsPath: Array<string>,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadMobileMenuExploreClickEventDetail = {\n originalEvent: PointerEvent | KeyboardEvent,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked item\n * @param {string} [category] The category of the clicked item\n * @param {boolean} isMobile Indicates whether the click happened in mobile menu\n * @param {boolean} isBack Indicates whether the clicked item is a back button\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {Array<string>} analyticsPath The analytics path for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"item-click\", { cancelable: true, bubbles: false })\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {PointerEvent | KeyboardEvent} originalEvent The original event object\n * @param {AnalyticsName} analyticsName The analytics name for the clicked item\n * @param {HTMLElement} sourceNode The source node of the clicked item\n */\n@event(\"explorer-menu-click\", { bubbles: true })\n\nclass UDExMastheadMobileMenu extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExMastheadMobileMenuItemClickEventDetail,\n \"explorer-menu-click\": UDExMastheadMobileMenuExploreClickEventDetail,\n };\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton?: UDExMastheadItem;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @property({ type: String })\n _direction?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n _navItem?: UDExMastheadMenuItem;\n _mastheadShell!: UDExMastheadShell;\n\n onAfterRendering() {\n this._mastheadShell = this.mastheadShell;\n this.handleMenuMode();\n this.setTabIndexForItems();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: PointerEvent) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireExploreSapMobileButton(e);\n }\n\n handleBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: PointerEvent) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: PointerEvent) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handlePressKey(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleLeftRightKeys(e);\n this.handleHomeKey(e);\n this.handleEndKey(e);\n }\n\n handleLeftRightKeys(e: KeyboardEvent) {\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n if (isRight(e)) {\n e.preventDefault();\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n if (isLeft(e)) {\n e.preventDefault();\n this.handleDirection();\n if (this.isRtlDirection) {\n this.moveToNextLevelWithKeyboard(e);\n } else {\n this.moveToBackWithKeyboard(e);\n }\n }\n }\n\n handleUpArrow(e: KeyboardEvent) {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent) {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window.getComputedStyle(this).getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMobileCategoryItemEvent(e: PointerEvent) {\n e.stopPropagation();\n this.fireMobileItemEvent(e, this._category.category);\n }\n\n handleMenuMode() {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode && !this._hideExploreSapBtn) {\n this.openCategories(this.items[0]);\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this._focusedItemIndex = 0;\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n\n if (target.hasAttribute(\"is-explore\")) {\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"first-level-btn\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level-btn\")) {\n this.openCategoryItems(e);\n this.fireMobileItemEvent(e);\n }\n\n this.setFocusItemByIndex(0);\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const previousIndex = currentIndex - 1 < 0 ? lastIndex : currentIndex - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let prevItem = this.getListItemByIndex(previousIndex);\n\n if (prevItem.type === UDExItemType.Heading) {\n prevItem = this.getListItemByIndex(lastIndex);\n }\n\n currentItem._tabIndex = \"-1\";\n prevItem._tabIndex = \"0\";\n prevItem.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const navLength = this.navigationItems.length;\n const nextIndex = currentIndex + 1 > navLength - 1 ? 0 : currentIndex + 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n let nextItem = this.getListItemByIndex(nextIndex);\n\n if (nextItem.type === UDExItemType.Heading) {\n nextItem = this.getListItemByIndex(nextIndex + 1);\n }\n\n currentItem._tabIndex = \"-1\";\n nextItem._tabIndex = \"0\";\n nextItem.focus();\n }\n\n handleEndKey(e: KeyboardEvent): void {\n if (isEnd(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const lastIndex = this.navigationItems.length - 1;\n const currentItem = this.getListItemByIndex(currentIndex);\n const lastItem = this.getListItemByIndex(lastIndex);\n\n currentItem._tabIndex = \"-1\";\n lastItem._tabIndex = \"0\";\n lastItem.focus();\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n if (isHome(e)) {\n e.preventDefault();\n const currentIndex = this.getCurrentIndex(e.target as UDExMastheadMenuItem);\n const currentItem = this.getListItemByIndex(currentIndex);\n const firstItem = this.getListItemByIndex(0);\n const focusedIndex = firstItem.type === UDExItemType.Heading ? 1 : 0;\n\n currentItem._tabIndex = \"-1\";\n this.getListItemByIndex(focusedIndex)._tabIndex = \"0\";\n this.getListItemByIndex(focusedIndex).focus();\n }\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getClickedItem(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const indexOffset = this._clickedItem.href ? INDEX_OFFSET_WITH_OVERVIEW : INDEX_OFFSET_WITHOUT_OVERVIEW;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index: index + indexOffset };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: PointerEvent | KeyboardEvent, category?: string) {\n const item = e.target as UDExMastheadMenuItem;\n const isBack = item.hasAttribute(\"is-back\");\n const eventDetail: UDExMastheadMobileMenuItemClickEventDetail = {\n ...(category && { category }),\n item,\n isMobile: true,\n isBack,\n analyticsPath: this.buildAnalyticsPath(item),\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: item.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n };\n\n this.fireDecoratorEvent(\"item-click\", eventDetail);\n\n if (item.url && this._mastheadShell) {\n this.closeMenu();\n }\n }\n\n fireExploreSapMobileButton(e: PointerEvent | KeyboardEvent) {\n this.fireDecoratorEvent(\"explorer-menu-click\", {\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: (e.target as HTMLElement).shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement,\n });\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getClickedItem(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): UDExMastheadMenuItem {\n return this.navigationItems[index];\n }\n\n setTabIndexForItems(): void {\n this.navigationItems.forEach((item, index) => {\n if (this._focusedItemIndex > 0) {\n item._tabIndex = index === this._focusedItemIndex ? \"0\" : \"-1\";\n return;\n }\n\n const isPrevItemHeading = this.navigationItems[index - 1]?.type === UDExItemType.Heading;\n item._tabIndex = isPrevItemHeading || index === 0 ? \"0\" : \"-1\";\n });\n }\n\n buildAnalyticsPath(item: UDExMastheadMenuItem): Array<string> {\n const category = this.getListItemByIndex(0).label.trim();\n const isFirstLevel = item.hasAttribute(\"first-level\");\n const isSecondLevel = item.hasAttribute(\"second-level\");\n const isThirdLevel = item.hasAttribute(\"third-level\");\n const isBackToCategories = item.hasAttribute(\"is-back-to-categories\");\n const shouldResetPath = item.hasAttribute(\"is-back-to-nav\") || this._hideExploreSapBtn;\n const isExploreMode = !this.showExploreBtn && !!this.items.length;\n const clickedLabel = item.label.trim();\n const analyticsPath: Array<string> = [];\n\n if (shouldResetPath) {\n this._navItem = undefined;\n analyticsPath.length = 0;\n }\n\n if (isFirstLevel) {\n this._navItem = item;\n analyticsPath.push(clickedLabel);\n } else if (isSecondLevel) {\n analyticsPath.push(...(this._navItem ? [category, clickedLabel] : [clickedLabel]));\n } else if (isThirdLevel) {\n analyticsPath.push(...(this._navItem ? [this._navItem.label.trim(), category, clickedLabel] : [category, clickedLabel]));\n } else if (isBackToCategories) {\n if (this._navItem) {\n analyticsPath.push(this._navItem.label.trim());\n }\n }\n\n if (isExploreMode && this.hasExploreBtnSlot) {\n analyticsPath.unshift(this.exploreItem.label);\n }\n\n return analyticsPath;\n }\n\n closeMenu():void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get navigationItems(): Array<UDExMastheadMenuItem> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExMastheadMenuItem>(\"ul [udex-masthead-menu-item]\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return translate(UDExMastheadMobileMenu, OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\nexport type { UDExMastheadMobileMenuItemClickEventDetail, UDExMastheadMobileMenuExploreClickEventDetail };\n"]}