@sapudex/web-components 0.147.0 → 0.172.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 (471) hide show
  1. package/.eslintignore +1 -0
  2. package/bundle.esm.js +9 -0
  3. package/dist/Badge.d.ts +21 -14
  4. package/dist/Badge.js +20 -26
  5. package/dist/Badge.js.map +1 -1
  6. package/dist/Breadcrumbs.d.ts +23 -21
  7. package/dist/Breadcrumbs.js +58 -40
  8. package/dist/Breadcrumbs.js.map +1 -1
  9. package/dist/BreadcrumbsItem.js +0 -1
  10. package/dist/BreadcrumbsItem.js.map +1 -1
  11. package/dist/Checkbox.js +0 -1
  12. package/dist/Checkbox.js.map +1 -1
  13. package/dist/CountrySelector.d.ts +2 -2
  14. package/dist/CountrySelector.js +20 -12
  15. package/dist/CountrySelector.js.map +1 -1
  16. package/dist/DatePicker.d.ts +2 -2
  17. package/dist/DatePicker.js.map +1 -1
  18. package/dist/Dropdown.js +0 -3
  19. package/dist/Dropdown.js.map +1 -1
  20. package/dist/Footer.d.ts +53 -10
  21. package/dist/Footer.js +41 -11
  22. package/dist/Footer.js.map +1 -1
  23. package/dist/Link.d.ts +2 -5
  24. package/dist/Link.js +4 -8
  25. package/dist/Link.js.map +1 -1
  26. package/dist/List.d.ts +16 -1
  27. package/dist/List.js +154 -100
  28. package/dist/List.js.map +1 -1
  29. package/dist/ListItem.d.ts +1 -0
  30. package/dist/ListItem.js +3 -0
  31. package/dist/ListItem.js.map +1 -1
  32. package/dist/MastheadItem.d.ts +12 -2
  33. package/dist/MastheadItem.js +34 -7
  34. package/dist/MastheadItem.js.map +1 -1
  35. package/dist/MastheadMenu.d.ts +1 -0
  36. package/dist/MastheadMenu.js +13 -4
  37. package/dist/MastheadMenu.js.map +1 -1
  38. package/dist/MastheadMenuItem.d.ts +10 -0
  39. package/dist/MastheadMenuItem.js +24 -3
  40. package/dist/MastheadMenuItem.js.map +1 -1
  41. package/dist/MastheadMobileMenu.js +2 -2
  42. package/dist/MastheadMobileMenu.js.map +1 -1
  43. package/dist/MastheadProfileMenu.js +2 -2
  44. package/dist/MastheadProfileMenu.js.map +1 -1
  45. package/dist/MastheadShell.d.ts +4 -0
  46. package/dist/MastheadShell.js +21 -5
  47. package/dist/MastheadShell.js.map +1 -1
  48. package/dist/Pagination.d.ts +13 -3
  49. package/dist/Pagination.js +90 -57
  50. package/dist/Pagination.js.map +1 -1
  51. package/dist/PhoneNumberField.d.ts +3 -0
  52. package/dist/PhoneNumberField.js +9 -4
  53. package/dist/PhoneNumberField.js.map +1 -1
  54. package/dist/RangeSlider.js +0 -1
  55. package/dist/RangeSlider.js.map +1 -1
  56. package/dist/Search.d.ts +5 -4
  57. package/dist/Search.js +12 -12
  58. package/dist/Search.js.map +1 -1
  59. package/dist/SearchableListBase.d.ts +7 -1
  60. package/dist/SearchableListBase.js +47 -4
  61. package/dist/SearchableListBase.js.map +1 -1
  62. package/dist/SecondaryNavigation.d.ts +2 -2
  63. package/dist/SecondaryNavigation.js +20 -10
  64. package/dist/SecondaryNavigation.js.map +1 -1
  65. package/dist/SecondaryNavigationItem.d.ts +6 -3
  66. package/dist/SecondaryNavigationItem.js +50 -26
  67. package/dist/SecondaryNavigationItem.js.map +1 -1
  68. package/dist/SecondaryNavigationSubItem.d.ts +1 -0
  69. package/dist/SecondaryNavigationSubItem.js +3 -0
  70. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  71. package/dist/SegmentedButton.d.ts +2 -2
  72. package/dist/SegmentedButton.js.map +1 -1
  73. package/dist/SelectBox.js.map +1 -1
  74. package/dist/SideNavigationGroup.js +0 -1
  75. package/dist/SideNavigationGroup.js.map +1 -1
  76. package/dist/SideNavigationItem.js +0 -1
  77. package/dist/SideNavigationItem.js.map +1 -1
  78. package/dist/SideNavigationSubItem.js +0 -1
  79. package/dist/SideNavigationSubItem.js.map +1 -1
  80. package/dist/Slider.js +0 -1
  81. package/dist/Slider.js.map +1 -1
  82. package/dist/TabNavigation.js +2 -2
  83. package/dist/TabNavigation.js.map +1 -1
  84. package/dist/Tag.d.ts +1 -4
  85. package/dist/Tag.js +1 -5
  86. package/dist/Tag.js.map +1 -1
  87. package/dist/Tile.d.ts +1 -1
  88. package/dist/Tile.js +1 -1
  89. package/dist/Tile.js.map +1 -1
  90. package/dist/Toast.d.ts +0 -1
  91. package/dist/Toast.js +4 -3
  92. package/dist/Toast.js.map +1 -1
  93. package/dist/Wizard.js +1 -1
  94. package/dist/Wizard.js.map +1 -1
  95. package/dist/WizardTab.js +0 -1
  96. package/dist/WizardTab.js.map +1 -1
  97. package/dist/assets/{bundle.esm-6e8e301d.js → bundle.esm-981c5cbb.js} +187 -189
  98. package/dist/assets/messagebundle_ar-bb470511.js +1 -0
  99. package/dist/assets/messagebundle_bg-a533dfab.js +1 -0
  100. package/dist/assets/messagebundle_cs-c70a7f36.js +1 -0
  101. package/dist/assets/messagebundle_da-e292cac5.js +1 -0
  102. package/dist/assets/messagebundle_de-5c108de6.js +1 -0
  103. package/dist/assets/messagebundle_el-44746e0b.js +1 -0
  104. package/dist/assets/messagebundle_en-4997b226.js +1 -0
  105. package/dist/assets/messagebundle_es-c0c1060f.js +1 -0
  106. package/dist/assets/messagebundle_et-a5f15d3b.js +1 -0
  107. package/dist/assets/messagebundle_fi-f4b8eb82.js +1 -0
  108. package/dist/assets/messagebundle_fr-af18ac46.js +1 -0
  109. package/dist/assets/messagebundle_hr-d893e46d.js +1 -0
  110. package/dist/assets/messagebundle_hu-230c58c9.js +1 -0
  111. package/dist/assets/messagebundle_it-5bf1436c.js +1 -0
  112. package/dist/assets/messagebundle_iw-dd60afc4.js +1 -0
  113. package/dist/assets/messagebundle_ko-c450bda3.js +1 -0
  114. package/dist/assets/messagebundle_lt-87ab0529.js +1 -0
  115. package/dist/assets/messagebundle_lv-fc413852.js +1 -0
  116. package/dist/assets/messagebundle_nl-34d7e236.js +1 -0
  117. package/dist/assets/messagebundle_no-f22648fb.js +1 -0
  118. package/dist/assets/messagebundle_pl-10303f09.js +1 -0
  119. package/dist/assets/messagebundle_pt-b7a40c67.js +1 -0
  120. package/dist/assets/messagebundle_ro-94628623.js +1 -0
  121. package/dist/assets/messagebundle_ru-1f6595ba.js +1 -0
  122. package/dist/assets/messagebundle_sk-89eabac1.js +1 -0
  123. package/dist/assets/messagebundle_sl-d56532f1.js +1 -0
  124. package/dist/assets/messagebundle_sr-cf7f3b32.js +1 -0
  125. package/dist/assets/messagebundle_sv-3a3b20d3.js +1 -0
  126. package/dist/assets/messagebundle_tr-33b16d09.js +1 -0
  127. package/dist/assets/messagebundle_uk-82e1f2c1.js +1 -0
  128. package/dist/assets/messagebundle_zh_CN-15ca05aa.js +1 -0
  129. package/dist/assets/messagebundle_zh_TW-ad6445e7.js +1 -0
  130. package/dist/css/themes/Badge.css +1 -1
  131. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  132. package/dist/css/themes/DatePickerPopover.css +1 -1
  133. package/dist/css/themes/FilterMenu.css +1 -1
  134. package/dist/css/themes/Footer.css +1 -1
  135. package/dist/css/themes/MastheadItem.css +1 -1
  136. package/dist/css/themes/MastheadMenu.css +1 -1
  137. package/dist/css/themes/MastheadMenuItem.css +1 -1
  138. package/dist/css/themes/MastheadShell.css +1 -1
  139. package/dist/css/themes/MediaPlayer.css +1 -1
  140. package/dist/css/themes/Modal.css +1 -1
  141. package/dist/css/themes/RatingIndicator.css +1 -1
  142. package/dist/css/themes/Slider.css +1 -1
  143. package/dist/css/themes/TableCell.css +1 -1
  144. package/dist/css/themes/TableCellBase.css +1 -1
  145. package/dist/css/themes/TextArea.css +1 -1
  146. package/dist/custom-elements-internal.json +232 -31
  147. package/dist/custom-elements.json +224 -30
  148. package/dist/features/SearchSuggestionsPopover.d.ts +16 -0
  149. package/dist/features/SearchSuggestionsPopover.js +49 -0
  150. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  151. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
  152. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
  153. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
  154. package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
  155. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
  157. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
  160. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
  161. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
  163. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
  164. package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
  165. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
  166. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
  167. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
  168. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
  169. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
  170. package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
  171. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
  172. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
  173. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
  174. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
  175. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
  176. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
  177. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
  178. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
  179. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
  180. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
  181. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  182. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  183. package/dist/generated/i18n/i18n-defaults.d.ts +7 -1
  184. package/dist/generated/i18n/i18n-defaults.js +7 -1
  185. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  186. package/dist/generated/json-imports/i18n-static.js +86 -2
  187. package/dist/generated/json-imports/i18n-static.js.map +1 -1
  188. package/dist/generated/json-imports/i18n.js +58 -2
  189. package/dist/generated/json-imports/i18n.js.map +1 -1
  190. package/dist/generated/templates/BadgeTemplate.lit.js +4 -4
  191. package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -1
  192. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +3 -3
  193. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  194. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -1
  195. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  196. package/dist/generated/templates/FooterTemplate.lit.js +12 -11
  197. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  198. package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
  199. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  200. package/dist/generated/templates/ListTemplate.lit.js +3 -3
  201. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/MastheadItemTemplate.lit.js +17 -16
  203. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +15 -14
  205. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  206. package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
  207. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  208. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +1 -1
  209. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  210. package/dist/generated/templates/MastheadShellTemplate.lit.js +10 -9
  211. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  212. package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
  213. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  214. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
  215. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  216. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
  217. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
  219. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +3 -3
  221. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  222. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +3 -3
  223. package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
  224. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  225. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  226. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  227. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  228. package/dist/generated/templates/WizardTemplate.lit.js +1 -1
  229. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  230. package/dist/generated/themes/Badge.css.js +1 -1
  231. package/dist/generated/themes/Badge.css.js.map +1 -1
  232. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  233. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  234. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  235. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  236. package/dist/generated/themes/FilterMenu.css.js +1 -1
  237. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  238. package/dist/generated/themes/Footer.css.js +1 -1
  239. package/dist/generated/themes/Footer.css.js.map +1 -1
  240. package/dist/generated/themes/MastheadItem.css.js +1 -1
  241. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  242. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  243. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  244. package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
  245. package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
  246. package/dist/generated/themes/MastheadShell.css.js +1 -1
  247. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  248. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  249. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  250. package/dist/generated/themes/Modal.css.js +1 -1
  251. package/dist/generated/themes/Modal.css.js.map +1 -1
  252. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  253. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  254. package/dist/generated/themes/Slider.css.js +1 -1
  255. package/dist/generated/themes/Slider.css.js.map +1 -1
  256. package/dist/generated/themes/TableCell.css.js +1 -1
  257. package/dist/generated/themes/TableCell.css.js.map +1 -1
  258. package/dist/generated/themes/TableCellBase.css.js +1 -1
  259. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  260. package/dist/generated/themes/TextArea.css.js +1 -1
  261. package/dist/generated/themes/TextArea.css.js.map +1 -1
  262. package/dist/i18n/messagebundle.properties +10 -0
  263. package/dist/i18n/messagebundle_ar.properties +1 -0
  264. package/dist/i18n/messagebundle_bg.properties +1 -0
  265. package/dist/i18n/messagebundle_cs.properties +1 -0
  266. package/dist/i18n/messagebundle_da.properties +1 -0
  267. package/dist/i18n/messagebundle_de.properties +1 -0
  268. package/dist/i18n/messagebundle_el.properties +1 -0
  269. package/dist/i18n/messagebundle_en.properties +4 -0
  270. package/dist/i18n/messagebundle_es.properties +1 -0
  271. package/dist/i18n/messagebundle_et.properties +1 -0
  272. package/dist/i18n/messagebundle_fi.properties +1 -0
  273. package/dist/i18n/messagebundle_fr.properties +1 -0
  274. package/dist/i18n/messagebundle_hr.properties +1 -0
  275. package/dist/i18n/messagebundle_hu.properties +1 -0
  276. package/dist/i18n/messagebundle_it.properties +1 -0
  277. package/dist/i18n/messagebundle_iw.properties +2 -0
  278. package/dist/i18n/messagebundle_ko.properties +1 -0
  279. package/dist/i18n/messagebundle_lt.properties +1 -0
  280. package/dist/i18n/messagebundle_lv.properties +1 -0
  281. package/dist/i18n/messagebundle_nl.properties +1 -0
  282. package/dist/i18n/messagebundle_no.properties +1 -0
  283. package/dist/i18n/messagebundle_pl.properties +1 -0
  284. package/dist/i18n/messagebundle_pt.properties +1 -0
  285. package/dist/i18n/messagebundle_pt_BR.properties +1 -0
  286. package/dist/i18n/messagebundle_ro.properties +1 -0
  287. package/dist/i18n/messagebundle_ru.properties +1 -0
  288. package/dist/i18n/messagebundle_sk.properties +1 -0
  289. package/dist/i18n/messagebundle_sl.properties +1 -0
  290. package/dist/i18n/messagebundle_sr.properties +2 -0
  291. package/dist/i18n/messagebundle_sv.properties +1 -0
  292. package/dist/i18n/messagebundle_tr.properties +1 -0
  293. package/dist/i18n/messagebundle_uk.properties +1 -0
  294. package/dist/i18n/messagebundle_zh_CN.properties +4 -0
  295. package/dist/i18n/messagebundle_zh_TW.properties +1 -0
  296. package/dist/types/BadgeDesign.d.ts +15 -0
  297. package/dist/types/BadgeDesign.js +18 -0
  298. package/dist/types/BadgeDesign.js.map +1 -0
  299. package/dist/types/IconPlacement.d.ts +5 -0
  300. package/dist/types/IconPlacement.js +7 -0
  301. package/dist/types/IconPlacement.js.map +1 -0
  302. package/dist/types/List.d.ts +8 -0
  303. package/dist/types/List.js.map +1 -1
  304. package/dist/utils/isLetterKeyPressed.d.ts +2 -0
  305. package/dist/utils/isLetterKeyPressed.js +5 -0
  306. package/dist/utils/isLetterKeyPressed.js.map +1 -0
  307. package/dist/utils/listItemLabelStartsWithKeyFocus.d.ts +3 -0
  308. package/dist/utils/listItemLabelStartsWithKeyFocus.js +55 -0
  309. package/dist/utils/listItemLabelStartsWithKeyFocus.js.map +1 -0
  310. package/dist/utils/listItemLabelUtils.d.ts +7 -0
  311. package/dist/utils/listItemLabelUtils.js +36 -0
  312. package/dist/utils/listItemLabelUtils.js.map +1 -0
  313. package/dist/vscode.html-custom-data.json +63 -26
  314. package/dist/web-types.json +113 -38
  315. package/package.json +1 -1
  316. package/src/Badge.hbs +16 -5
  317. package/src/Badge.ts +36 -19
  318. package/src/Breadcrumbs.ts +92 -66
  319. package/src/BreadcrumbsItem.ts +0 -1
  320. package/src/BreadcrumbsPopover.hbs +11 -9
  321. package/src/Checkbox.ts +0 -1
  322. package/src/CountrySelector.hbs +0 -1
  323. package/src/CountrySelector.ts +30 -16
  324. package/src/DatePicker.ts +2 -2
  325. package/src/Dropdown.ts +0 -2
  326. package/src/Footer.hbs +52 -28
  327. package/src/Footer.ts +81 -22
  328. package/src/Link.ts +5 -9
  329. package/src/List.hbs +2 -2
  330. package/src/List.ts +182 -112
  331. package/src/ListItem.hbs +2 -2
  332. package/src/ListItem.ts +4 -0
  333. package/src/MastheadItem.hbs +14 -4
  334. package/src/MastheadItem.ts +42 -9
  335. package/src/MastheadMenu.hbs +4 -4
  336. package/src/MastheadMenu.ts +20 -8
  337. package/src/MastheadMenuItem.hbs +10 -2
  338. package/src/MastheadMenuItem.ts +28 -1
  339. package/src/MastheadMobileMenu.ts +2 -2
  340. package/src/MastheadProfileMenu.hbs +1 -0
  341. package/src/MastheadProfileMenu.ts +3 -2
  342. package/src/MastheadShell.hbs +25 -19
  343. package/src/MastheadShell.ts +25 -5
  344. package/src/Pagination.hbs +3 -2
  345. package/src/Pagination.ts +110 -60
  346. package/src/PhoneNumberField.hbs +3 -3
  347. package/src/PhoneNumberField.ts +16 -8
  348. package/src/RangeSlider.ts +0 -1
  349. package/src/Search.hbs +10 -10
  350. package/src/Search.ts +17 -17
  351. package/src/SearchSuggestions.hbs +1 -0
  352. package/src/SearchableListBase.hbs +3 -1
  353. package/src/SearchableListBase.ts +57 -6
  354. package/src/SecondaryNavigation.hbs +1 -0
  355. package/src/SecondaryNavigation.ts +23 -16
  356. package/src/SecondaryNavigationItem.hbs +10 -7
  357. package/src/SecondaryNavigationItem.ts +58 -28
  358. package/src/SecondaryNavigationSubItem.hbs +3 -0
  359. package/src/SecondaryNavigationSubItem.ts +3 -0
  360. package/src/SegmentedButton.ts +2 -2
  361. package/src/SelectBox.ts +1 -1
  362. package/src/SideNavigationGroup.ts +0 -1
  363. package/src/SideNavigationItem.ts +0 -1
  364. package/src/SideNavigationSubItem.ts +0 -1
  365. package/src/Slider.ts +0 -1
  366. package/src/StepInput.hbs +16 -16
  367. package/src/TabNavigation.ts +2 -2
  368. package/src/Tag.ts +1 -5
  369. package/src/Tile.ts +2 -2
  370. package/src/Toast.ts +4 -3
  371. package/src/Wizard.hbs +1 -0
  372. package/src/Wizard.ts +1 -1
  373. package/src/WizardTab.ts +0 -1
  374. package/src/features/SearchSuggestionsPopover.ts +67 -1
  375. package/src/generated/i18n/i18n-defaults.ts +2 -2
  376. package/src/generated/json-imports/i18n-static.ts +86 -2
  377. package/src/generated/json-imports/i18n.ts +59 -3
  378. package/src/generated/templates/BadgeTemplate.lit.ts +3 -3
  379. package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +3 -3
  380. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -1
  381. package/src/generated/templates/FooterTemplate.lit.ts +12 -11
  382. package/src/generated/templates/ListItemTemplate.lit.ts +2 -2
  383. package/src/generated/templates/ListTemplate.lit.ts +3 -3
  384. package/src/generated/templates/MastheadItemTemplate.lit.ts +17 -16
  385. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +15 -14
  386. package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
  387. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +1 -1
  388. package/src/generated/templates/MastheadShellTemplate.lit.ts +10 -9
  389. package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
  390. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  391. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
  392. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
  393. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
  394. package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +3 -3
  395. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  396. package/src/generated/templates/StepInputTemplate.lit.ts +1 -1
  397. package/src/generated/templates/WizardTemplate.lit.ts +1 -1
  398. package/src/generated/themes/Badge.css.ts +1 -1
  399. package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
  400. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  401. package/src/generated/themes/FilterMenu.css.ts +1 -1
  402. package/src/generated/themes/Footer.css.ts +1 -1
  403. package/src/generated/themes/MastheadItem.css.ts +1 -1
  404. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  405. package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
  406. package/src/generated/themes/MastheadShell.css.ts +1 -1
  407. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  408. package/src/generated/themes/Modal.css.ts +1 -1
  409. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  410. package/src/generated/themes/Slider.css.ts +1 -1
  411. package/src/generated/themes/TableCell.css.ts +1 -1
  412. package/src/generated/themes/TableCellBase.css.ts +1 -1
  413. package/src/generated/themes/TextArea.css.ts +1 -1
  414. package/src/i18n/messagebundle.properties +10 -0
  415. package/src/i18n/messagebundle_ar.properties +1 -0
  416. package/src/i18n/messagebundle_bg.properties +1 -0
  417. package/src/i18n/messagebundle_cs.properties +1 -0
  418. package/src/i18n/messagebundle_da.properties +1 -0
  419. package/src/i18n/messagebundle_de.properties +1 -0
  420. package/src/i18n/messagebundle_el.properties +1 -0
  421. package/src/i18n/messagebundle_en.properties +4 -0
  422. package/src/i18n/messagebundle_es.properties +1 -0
  423. package/src/i18n/messagebundle_et.properties +1 -0
  424. package/src/i18n/messagebundle_fi.properties +1 -0
  425. package/src/i18n/messagebundle_fr.properties +1 -0
  426. package/src/i18n/messagebundle_hr.properties +1 -0
  427. package/src/i18n/messagebundle_hu.properties +1 -0
  428. package/src/i18n/messagebundle_it.properties +1 -0
  429. package/src/i18n/messagebundle_iw.properties +2 -0
  430. package/src/i18n/messagebundle_ko.properties +1 -0
  431. package/src/i18n/messagebundle_lt.properties +1 -0
  432. package/src/i18n/messagebundle_lv.properties +1 -0
  433. package/src/i18n/messagebundle_nl.properties +1 -0
  434. package/src/i18n/messagebundle_no.properties +1 -0
  435. package/src/i18n/messagebundle_pl.properties +1 -0
  436. package/src/i18n/messagebundle_pt.properties +1 -0
  437. package/src/i18n/messagebundle_pt_BR.properties +1 -0
  438. package/src/i18n/messagebundle_ro.properties +1 -0
  439. package/src/i18n/messagebundle_ru.properties +1 -0
  440. package/src/i18n/messagebundle_sk.properties +1 -0
  441. package/src/i18n/messagebundle_sl.properties +1 -0
  442. package/src/i18n/messagebundle_sr.properties +2 -0
  443. package/src/i18n/messagebundle_sv.properties +1 -0
  444. package/src/i18n/messagebundle_tr.properties +1 -0
  445. package/src/i18n/messagebundle_uk.properties +1 -0
  446. package/src/i18n/messagebundle_zh_CN.properties +4 -0
  447. package/src/i18n/messagebundle_zh_TW.properties +1 -0
  448. package/src/themes/Badge.css +48 -52
  449. package/src/themes/BreadcrumbsPopover.css +1 -0
  450. package/src/themes/DatePickerPopover.css +9 -0
  451. package/src/themes/FilterMenu.css +6 -6
  452. package/src/themes/Footer.css +22 -3
  453. package/src/themes/MastheadItem.css +4 -0
  454. package/src/themes/MastheadMenu.css +1 -1
  455. package/src/themes/MastheadMenuItem.css +4 -0
  456. package/src/themes/MastheadShell.css +5 -0
  457. package/src/themes/MediaPlayer.css +2 -1
  458. package/src/themes/Modal.css +1 -0
  459. package/src/themes/TableCell.css +0 -2
  460. package/src/themes/TableCellBase.css +1 -0
  461. package/src/themes/TextArea.css +1 -1
  462. package/src/types/BadgeDesign.ts +17 -0
  463. package/src/types/IconPlacement.ts +6 -0
  464. package/src/types/List.ts +9 -0
  465. package/src/utils/isLetterKeyPressed.ts +5 -0
  466. package/src/utils/listItemLabelStartsWithKeyFocus.ts +74 -0
  467. package/src/utils/listItemLabelUtils.ts +50 -0
  468. package/dist/assets/messagebundle_de-8158912e.js +0 -1
  469. package/dist/assets/messagebundle_en-c677773a.js +0 -1
  470. package/dist/assets/messagebundle_es-8dab6565.js +0 -1
  471. package/dist/assets/messagebundle_fr-669aca6d.js +0 -1
@@ -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.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadItem, { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\n\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nexport type MobileItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadMenuItem,\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 \"@udex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: PointerEvent,\n },\n },\n})\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"explorer-menu-click\")\n\nclass UDExMastheadMobileMenu extends UI5Element {\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 _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadMobileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onAfterRendering() {\n this.handleMenuMode();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: Event) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireEvent(\"explorer-menu-click\");\n }\n\n handleBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: Event) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handleKeyDown(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isRight(e) || isEnter(e)) {\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isLeft(e) || isEnter(e)) {\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\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: Event) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMenuMode() {\n if (this.isCategoriesOpen) {\n if (this.isNoMenuItemsMode) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode) {\n this.openCategories(this.items[0]);\n }\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getItemByList(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\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level\")) {\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 target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const lastItemIndex = this.navigationItems.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n const listItem = this.getListItemByIndex(previousSelectIndex);\n listItem?.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const nextSelectIndex = currentSelectedIndex + 1 > this.navigationItems.length - 1 ? 0 : currentSelectedIndex + 1;\n const listItem = this.getListItemByIndex(nextSelectIndex);\n listItem?.focus();\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: Event) {\n this.fireEvent<MobileItemClickEventDetail>(\"item-click\", {\n item: e.target as UDExMastheadMenuItem,\n originalEvent: e,\n }, true, false);\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 getItemByList(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: HTMLElement): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): HTMLElement | null {\n return this.navigationItems[index]?.querySelector(\"udex-masthead-menu-item\");\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<HTMLElement> {\n return Array.from(this.shadowRoot!.querySelectorAll(\".udex-masthead-mobile-menu__list-item\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\n"]}
1
+ {"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadItem, { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\n\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nexport type MobileItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadMenuItem,\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 \"@udex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"explorer-menu-click\")\n\nclass UDExMastheadMobileMenu extends UI5Element {\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 _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadMobileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onAfterRendering() {\n this.handleMenuMode();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: Event) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireEvent(\"explorer-menu-click\");\n }\n\n handleBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: Event) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handleKeyDown(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isRight(e) || isEnter(e)) {\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isLeft(e) || isEnter(e)) {\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\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: Event) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMenuMode() {\n if (this.isCategoriesOpen) {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode) {\n this.openCategories(this.items[0]);\n }\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getItemByList(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\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level\")) {\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 target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const lastItemIndex = this.navigationItems.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n const listItem = this.getListItemByIndex(previousSelectIndex);\n listItem?.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const nextSelectIndex = currentSelectedIndex + 1 > this.navigationItems.length - 1 ? 0 : currentSelectedIndex + 1;\n const listItem = this.getListItemByIndex(nextSelectIndex);\n listItem?.focus();\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: Event) {\n this.fireEvent<MobileItemClickEventDetail>(\"item-click\", {\n item: e.target as UDExMastheadMenuItem,\n originalEvent: e,\n }, true, false);\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 getItemByList(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: HTMLElement): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): HTMLElement | null {\n return this.navigationItems[index]?.querySelector(\"udex-masthead-menu-item\");\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<HTMLElement> {\n return Array.from(this.shadowRoot!.querySelectorAll(\".udex-masthead-mobile-menu__list-item\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\n"]}
@@ -99,7 +99,7 @@ UDExMastheadProfileMenu = UDExMastheadProfileMenu_1 = __decorate([
99
99
  event("logout", {
100
100
  detail: {
101
101
  originalEvent: {
102
- type: PointerEvent,
102
+ type: Event,
103
103
  },
104
104
  },
105
105
  })
@@ -115,7 +115,7 @@ UDExMastheadProfileMenu = UDExMastheadProfileMenu_1 = __decorate([
115
115
  type: HTMLElement,
116
116
  },
117
117
  originalEvent: {
118
- type: PointerEvent,
118
+ type: Event,
119
119
  },
120
120
  },
121
121
  })
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadProfileMenu.js","sourceRoot":"","sources":["../src/MastheadProfileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { LOGOUT } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport MastheadProfileMenuTemplate from \"./generated/templates/MastheadProfileMenuTemplate.lit.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\n\n// Styles\nimport MastheadProfileMenuCss from \"./generated/themes/MastheadProfileMenu.css.js\";\n\ninterface UserData {\n name?: string,\n username?: string,\n email?: string,\n avatarUrl?: string,\n avatarInitials?: string\n}\n\nexport type LogoutClickEventDetail = {\n originalEvent: Event,\n}\n\nexport type ProfileMenuItemClickEventDetail = {\n item: UDExMastheadMenuItem,\n originalEvent: Event,\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-profile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadProfileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-profile-menu\",\n renderer: litRender,\n styles: [UDExMastheadMenu.styles, MastheadProfileMenuCss],\n template: MastheadProfileMenuTemplate,\n dependencies: [UDExMastheadMenu],\n})\n\n/**\n * Fired when use click Logout link\n * @public\n */\n@event(\"logout\", {\n detail: {\n originalEvent: {\n type: PointerEvent,\n },\n },\n})\n\n/**\n * Fires when profile ment item is clicked\n *\n * @public\n */\n@event(\"profile-item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: PointerEvent,\n },\n },\n})\n\nclass UDExMastheadProfileMenu extends UI5Element {\n /**\n * Defines the object of link values\n *\n * @default \"\"\n * @public\n */\n @property()\n links!: string;\n\n /**\n * Defines the object of user profile data\n *\n * @default \"\"\n * @public\n */\n @property()\n loggedInUser!: string;\n\n /**\n * Defines the link for logout\n *\n * @default \"\"\n * @public\n */\n @property()\n logoutUrl!: string;\n\n /**\n * Placeholder for message strip.\n *\n * @public\n */\n @slot({ type: Node, \"default\": false })\n message!: Array<Node>;\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadProfileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n handleUserLogoutItemClick(e: Event): void {\n this.fireEvent<LogoutClickEventDetail>(\"logout\", {\n originalEvent: e,\n });\n }\n\n handleProfileMenuItemClick(e: CustomEvent): void {\n const { item, originalEvent } = e.detail;\n\n this.fireEvent<ProfileMenuItemClickEventDetail>(\"profile-item-click\", {\n item,\n originalEvent,\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get linksList(): string {\n return this.links ? JSON.stringify([{\n subMenuLinkItems: JSON.parse(this.links),\n }]) : \"\";\n }\n\n get userData(): UserData {\n return this.parseArrayFromString(this.loggedInUser) as UserData;\n }\n\n get messageAvailable(): boolean {\n return !!this.message.length;\n }\n\n get logoutLink(): boolean {\n return !!this.logoutUrl.length;\n }\n\n get logoutText(): string {\n return UDExMastheadProfileMenu.i18nBundle.getText(LOGOUT);\n }\n}\n\nUDExMastheadProfileMenu.define();\n\nexport default UDExMastheadProfileMenu;\n"]}
1
+ {"version":3,"file":"MastheadProfileMenu.js","sourceRoot":"","sources":["../src/MastheadProfileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { LOGOUT } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport MastheadProfileMenuTemplate from \"./generated/templates/MastheadProfileMenuTemplate.lit.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\n\n// Styles\nimport MastheadProfileMenuCss from \"./generated/themes/MastheadProfileMenu.css.js\";\n\ninterface UserData {\n name?: string,\n username?: string,\n email?: string,\n avatarUrl?: string,\n avatarInitials?: string\n}\n\nexport type LogoutClickEventDetail = {\n originalEvent: Event,\n}\n\nexport type ProfileMenuItemClickEventDetail = {\n item: UDExMastheadMenuItem,\n originalEvent: Event,\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-profile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadProfileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-profile-menu\",\n renderer: litRender,\n styles: [UDExMastheadMenu.styles, MastheadProfileMenuCss],\n template: MastheadProfileMenuTemplate,\n dependencies: [UDExMastheadMenu],\n})\n\n/**\n * Fired when use click Logout link\n * @public\n */\n@event(\"logout\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fires when profile ment item is clicked\n *\n * @public\n */\n@event(\"profile-item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadProfileMenu extends UI5Element {\n /**\n * Defines the object of link values\n *\n * @default \"\"\n * @public\n */\n @property()\n links!: string;\n\n /**\n * Defines the object of user profile data\n *\n * @default \"\"\n * @public\n */\n @property()\n loggedInUser!: string;\n\n /**\n * Defines the link for logout\n *\n * @default \"\"\n * @public\n */\n @property()\n logoutUrl!: string;\n\n /**\n * Placeholder for message strip.\n *\n * @public\n */\n @slot({ type: Node, \"default\": false })\n message!: Array<Node>;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadProfileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n handleUserLogoutItemClick(e: Event): void {\n this.fireEvent<LogoutClickEventDetail>(\"logout\", {\n originalEvent: e,\n });\n }\n\n handleProfileMenuItemClick(e: CustomEvent): void {\n const { item, originalEvent } = e.detail;\n\n this.fireEvent<ProfileMenuItemClickEventDetail>(\"profile-item-click\", {\n item,\n originalEvent,\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get linksList(): string {\n return this.links ? JSON.stringify([{\n subMenuLinkItems: JSON.parse(this.links),\n }]) : \"\";\n }\n\n get userData(): UserData {\n return this.parseArrayFromString(this.loggedInUser) as UserData;\n }\n\n get messageAvailable(): boolean {\n return !!this.message.length;\n }\n\n get logoutLink(): boolean {\n return !!this.logoutUrl.length;\n }\n\n get logoutText(): string {\n return UDExMastheadProfileMenu.i18nBundle.getText(LOGOUT);\n }\n}\n\nUDExMastheadProfileMenu.define();\n\nexport default UDExMastheadProfileMenu;\n"]}
@@ -4,6 +4,7 @@ import "@ui5/webcomponents-icons/dist/decline.js";
4
4
  import "@ui5/webcomponents-icons/dist/menu2.js";
5
5
  import "@ui5/webcomponents-icons/dist/search.js";
6
6
  import "@ui5/webcomponents-icons/dist/cart.js";
7
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
7
8
  import UDExMastheadItem from "./MastheadItem.js";
8
9
  import UDExMastheadMobileMenu from "./MastheadMobileMenu.js";
9
10
  /**
@@ -166,6 +167,8 @@ declare class UDExMastheadShell extends UI5Element {
166
167
  _handleResizeBound: ResizeObserverCallback;
167
168
  _rootHolder: HTMLElement | null | undefined;
168
169
  _shouldHandleResize: boolean;
170
+ static i18nBundle: I18nBundle;
171
+ static onDefine(): Promise<void>;
169
172
  constructor();
170
173
  onAfterRendering(): void;
171
174
  onEnterDOM(): void;
@@ -210,5 +213,6 @@ declare class UDExMastheadShell extends UI5Element {
210
213
  get isMainMenuVisible(): boolean;
211
214
  get isRightMenuVisible(): boolean;
212
215
  get isSearchVisible(): boolean;
216
+ get mainNavigationAriaLabel(): string;
213
217
  }
214
218
  export default UDExMastheadShell;
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var UDExMastheadShell_1;
7
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
@@ -17,6 +18,7 @@ import "@ui5/webcomponents-icons/dist/decline.js";
17
18
  import "@ui5/webcomponents-icons/dist/menu2.js";
18
19
  import "@ui5/webcomponents-icons/dist/search.js";
19
20
  import "@ui5/webcomponents-icons/dist/cart.js";
21
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
20
22
  import UDExMastheadItem from "./MastheadItem.js";
21
23
  import UDExMastheadMenu from "./MastheadMenu.js";
22
24
  import UDExControlButton from "./ControlButton.js";
@@ -24,6 +26,7 @@ import UDExMastheadMobileMenu from "./MastheadMobileMenu.js";
24
26
  import MastheadShellTemplate from "./generated/templates/MastheadShellTemplate.lit.js";
25
27
  // Styles
26
28
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
29
+ import { MAIN_LINKS } from "./generated/i18n/i18n-defaults.js";
27
30
  const breakpointSizeM = 1279;
28
31
  /**
29
32
  * @class
@@ -42,7 +45,10 @@ const breakpointSizeM = 1279;
42
45
  * @extends UI5Element
43
46
  * @public
44
47
  */
45
- let UDExMastheadShell = class UDExMastheadShell extends UI5Element {
48
+ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI5Element {
49
+ static async onDefine() {
50
+ UDExMastheadShell_1.i18nBundle = await getI18nBundle("@udex/web-components");
51
+ }
46
52
  constructor() {
47
53
  super();
48
54
  this._handleResizeBound = this._handleResize.bind(this);
@@ -84,6 +90,9 @@ let UDExMastheadShell = class UDExMastheadShell extends UI5Element {
84
90
  if (isLeft(e)) {
85
91
  const currentItem = e.target;
86
92
  if (this.isNavigationItem(currentItem)) {
93
+ if (currentItem.selected) {
94
+ currentItem.closeDropdown();
95
+ }
87
96
  this.focusPreviousMenuItem(currentItem);
88
97
  }
89
98
  }
@@ -92,6 +101,9 @@ let UDExMastheadShell = class UDExMastheadShell extends UI5Element {
92
101
  if (isRight(e)) {
93
102
  const currentItem = e.target;
94
103
  if (this.isNavigationItem(currentItem)) {
104
+ if (currentItem.selected) {
105
+ currentItem.closeDropdown();
106
+ }
95
107
  this.focusNextMenuItem(currentItem);
96
108
  }
97
109
  }
@@ -132,8 +144,8 @@ let UDExMastheadShell = class UDExMastheadShell extends UI5Element {
132
144
  this.closeMobileMenu();
133
145
  }
134
146
  handleEnterAndSpaceOnCloseBtn(e) {
135
- e.preventDefault();
136
147
  if (isSpace(e) || isEnter(e)) {
148
+ e.preventDefault();
137
149
  this.closeMobileMenu();
138
150
  this.mobileBtn?.focus();
139
151
  }
@@ -267,6 +279,9 @@ let UDExMastheadShell = class UDExMastheadShell extends UI5Element {
267
279
  get isSearchVisible() {
268
280
  return this.showSearchByDefault || this._isSearchOpened;
269
281
  }
282
+ get mainNavigationAriaLabel() {
283
+ return UDExMastheadShell_1.i18nBundle.getText(MAIN_LINKS);
284
+ }
270
285
  };
271
286
  __decorate([
272
287
  slot({ type: HTMLElement })
@@ -331,9 +346,10 @@ __decorate([
331
346
  __decorate([
332
347
  property({ type: Boolean })
333
348
  ], UDExMastheadShell.prototype, "_closeBtnClicked", void 0);
334
- UDExMastheadShell = __decorate([
349
+ UDExMastheadShell = UDExMastheadShell_1 = __decorate([
335
350
  customElement({
336
351
  tag: "udex-masthead-shell",
352
+ languageAware: true,
337
353
  renderer: litRender,
338
354
  styles: MastheadShellCss,
339
355
  template: MastheadShellTemplate,
@@ -375,7 +391,7 @@ UDExMastheadShell = __decorate([
375
391
  event("logo-click", {
376
392
  detail: {
377
393
  originalEvent: {
378
- type: PointerEvent,
394
+ type: Event,
379
395
  },
380
396
  },
381
397
  })
@@ -388,7 +404,7 @@ UDExMastheadShell = __decorate([
388
404
  event("site-label-click", {
389
405
  detail: {
390
406
  originalEvent: {
391
- type: PointerEvent,
407
+ type: Event,
392
408
  },
393
409
  },
394
410
  })
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadShell.js","sourceRoot":"","sources":["../src/MastheadShell.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n isLeft, isRight, isSpace, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/menu2.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/cart.js\";\nimport UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\n\nimport MastheadShellTemplate from \"./generated/templates/MastheadShellTemplate.lit.js\";\n\n// Styles\nimport MastheadShellCss from \"./generated/themes/MastheadShell.css.js\";\n\nconst breakpointSizeM: number = 1279;\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-shell</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadShell.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-shell\",\n renderer: litRender,\n styles: MastheadShellCss,\n template: MastheadShellTemplate,\n dependencies: [\n UDExMastheadMobileMenu,\n UDExControlButton,\n UDExMastheadItem,\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fired event when the user clicks the search button trigger.\n *\n * @public\n */\n@event(\"search-click\")\n\n/**\n * Fired event when the user clicks the cart button trigger.\n *\n * @public\n */\n@event(\"cart-click\")\n\n/**\n * Fired event when the user clicks the profile button trigger.\n *\n * @public\n */\n@event(\"profile-click\")\n\n/**\n * Fired event when the user clicks the logo.\n *\n * @public\n */\n@event(\"logo-click\", {\n detail: {\n originalEvent: {\n type: PointerEvent,\n },\n },\n})\n\n/**\n * Fired event when the user clicks the site label.\n *\n * @public\n */\n@event(\"site-label-click\", {\n detail: {\n originalEvent: {\n type: PointerEvent,\n },\n },\n})\n\nclass UDExMastheadShell extends UI5Element {\n /**\n * Slot for mobile menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n mobileMenu!: Array<Node>;\n\n /**\n * Slot for main menu items.\n *\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n menuItems!: Array<UDExMastheadItem>;\n\n /**\n * Slot for search component - will be visible on search icon click.\n * Note: search component should be hidden by default.\n * Note: search icon won't be visible if this slot would be empty\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * Slot for 'Explore SAP' menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSAP!: Array<UDExMastheadItem>;\n\n /**\n * Slot for cart menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n cart!: Array<UDExMastheadItem>;\n\n /**\n * Slot for avatar\n *\n * @public\n */\n @slot({ type: HTMLElement })\n profile!: Array<UDExMastheadItem>;\n\n /**\n * Defines URL to homepage. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n homeUrl!: string;\n\n /**\n * Defines URL for site label. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabelUrl!: string;\n\n /**\n * Defines overflow style for the body after clicking mobile menu opener button\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n bodyOverflow!: boolean;\n\n /**\n * Defines the visibility of the Search by default.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n showSearchByDefault!: boolean;\n\n /**\n * Defines sticky position for component\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n stickyPosition!: boolean;\n\n /**\n * Defines the Logo image URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoUrl!: string;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoTitle!: string;\n\n /**\n * Defines a site label. It will be displayed next to a logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n siteLabel!: string;\n\n /**\n * Defines an alt text for logo\n *\n * @public\n */\n @property({ type: String })\n logoAlt!: string;\n\n /**\n * Defines an accessible name for close icon for the search bar\n *\n * default: \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n closeButtonAccessibleName?: string;\n\n /**\n * Defines an aria label for the homepage link\n *\n * @public\n */\n @property({ type: String })\n homepageAriaLabel!: string;\n\n /**\n * Defines an aria label for the site label\n *\n * @public\n */\n @property({ type: String })\n siteLabelAriaLabel!: string;\n\n /**\n * Defines if the search container is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isSearchOpened!: boolean;\n\n /**\n * Defines if the mobile menu is open\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMenuOpen!: boolean;\n\n /**\n * Defines if the close button was clicked\n *\n * @private\n */\n @property({ type: Boolean })\n _closeBtnClicked!: boolean;\n\n _searchOpener!: UDExMastheadItem | null | undefined;\n _mobileMenu!: UDExMastheadMobileMenu | null | undefined;\n _handleResizeBound: ResizeObserverCallback;\n _rootHolder!: HTMLElement | null | undefined;\n _shouldHandleResize!: boolean;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onAfterRendering() {\n this._rootHolder = this.mastheadHolder;\n this._searchOpener = this.searchOpener;\n this._mobileMenu = this.mastheadMobileMenu;\n\n this.handleOutsideClick();\n\n if (this._isSearchOpened) {\n this.focusSearchInput();\n }\n\n if (this._closeBtnClicked) {\n this.focusSearchBtn();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n if (this.isBreakpointSizeM) {\n this._isSearchOpened = false;\n }\n\n if (this._shouldHandleResize && this.isBreakpointSizeM) {\n this.closeMobileMenu();\n return;\n }\n\n this._shouldHandleResize = true;\n }\n\n handleKeyDown(e: KeyboardEvent) {\n e.stopPropagation();\n this.handleLeftArrow(e);\n this.handleRightArrow(e);\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n this.focusPreviousMenuItem(currentItem);\n }\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n this.focusNextMenuItem(currentItem);\n }\n }\n }\n\n handleLogoClick(e: CustomEvent): void {\n this.fireEvent(\"logo-click\", { originalEvent: e });\n }\n\n handleSiteLabelClick(e: CustomEvent): void {\n this.fireEvent(\"site-label-click\", { originalEvent: e });\n }\n\n handleSearchClick(e: CustomEvent): void {\n e.stopPropagation();\n this._isSearchOpened = true;\n this.resetSelectedItems();\n if (this._searchOpener) {\n this._searchOpener.selected = false;\n }\n this.fireEvent(\"search-click\");\n }\n\n handleCartClick(e: CustomEvent) {\n e.stopPropagation();\n this.fireEvent(\"cart-click\");\n }\n\n handleProfileClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"profile-click\");\n }\n\n handleMobileMenuClick(e: CustomEvent) {\n e.stopPropagation();\n this.setSelectedItem(e);\n this._isMobileMenuOpen = true;\n\n if (this.bodyOverflow) {\n this.setOverflowBody();\n }\n }\n\n handleMobileCloseClick(e: CustomEvent) {\n e.preventDefault();\n this.closeMobileMenu();\n }\n\n handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent) {\n e.preventDefault();\n if (isSpace(e) || isEnter(e)) {\n this.closeMobileMenu();\n this.mobileBtn?.focus();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: MouseEvent) => {\n const el = e.target as UDExMastheadItem;\n const isMobile = window.innerWidth < 1280;\n const isDropdownSlot = el.getAttribute(\"slot\") === \"dropdown\";\n if (!isDropdownSlot && !el.isMenuItem && !isMobile) {\n this.resetSelectedItems();\n }\n });\n }\n\n focusSearchInput(): void {\n const searchSlot = this.querySelector<UDExSearch>(\"udex-search\");\n if (searchSlot) {\n const input = searchSlot.shadowRoot!.querySelector<HTMLElement>(\"input\");\n input?.focus();\n }\n }\n\n focusPreviousMenuItem(item: UDExMastheadItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.menuItems.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n this.menuItems[previousSelectIndex].focus();\n }\n\n focusNextMenuItem(item: UDExMastheadItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.menuItems.length - 1 ? 0 : currentSelectedIndex + 1;\n this.menuItems[nextSelectIndex].focus();\n }\n\n resetSelectedItems(): void {\n this.getSelectedItems().forEach(item => {\n item.selected = false;\n });\n }\n\n setSelectedItem(e: CustomEvent): void {\n const clickedItem: UDExMastheadItem = e.detail.item;\n if (!clickedItem) {\n return;\n }\n\n this.getSelectedItems().forEach(item => {\n if (item._id !== clickedItem._id) {\n item.selected = false;\n }\n });\n }\n\n focusSearchBtn(): void {\n if (this._searchOpener) {\n this._searchOpener.focus();\n this._closeBtnClicked = false;\n }\n }\n\n hideSearch(): void {\n this._isSearchOpened = false;\n this._closeBtnClicked = true;\n }\n\n getCurrentIndex(item: UDExMastheadItem): number {\n return this.menuItems.indexOf(item);\n }\n\n getSelectedItems(): Array<UDExMastheadItem> {\n const buttonsArray: Array<UDExMastheadItem> = [\n ...this.menuItems,\n ...this.exploreSAP,\n ...this.cart,\n ...this.profile,\n ...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),\n ];\n\n return buttonsArray.filter(({ selected }) => selected);\n }\n\n isNavigationItem(item: UDExMastheadItem): boolean {\n return this.menuItems.some(menuItem => menuItem === item);\n }\n\n setOverflowBody() {\n const { body: { style } } = document;\n this._shouldHandleResize = false;\n style.overflow = \"hidden\";\n }\n\n removeOverflowBody() {\n const { body: { style } } = document;\n style.removeProperty(\"overflow\");\n }\n\n closeMobileMenu(): void {\n this._isMobileMenuOpen = false;\n this.resetSelectedItems();\n this._mobileMenu?.showFirstLevelMenu();\n\n if (this.bodyOverflow) {\n this.removeOverflowBody();\n }\n }\n\n get searchOpener(): UDExMastheadItem | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__search-btn\");\n }\n\n get mastheadHolder(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell\");\n }\n\n get mastheadMobileMenu(): UDExMastheadMobileMenu | null {\n return this.querySelector(\"[udex-masthead-mobile-menu]\");\n }\n\n get mobileBtn(): UDExMastheadItem | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__menu-btn\");\n }\n\n get closeBtn(): UDExMastheadItem | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__close-btn\");\n }\n\n get hasProfile(): boolean {\n return !!this.profile.length;\n }\n\n get hasCart(): boolean {\n return !!this.cart.length;\n }\n\n get hasSearch(): boolean {\n return !!this.search.length;\n }\n\n get hasExploreSAP(): boolean {\n return !!this.exploreSAP.length;\n }\n\n get hasMobileMenuButtons(): boolean {\n return !!this.mobileMenu.length;\n }\n\n get isBreakpointSizeM(): boolean {\n return window.innerWidth <= breakpointSizeM;\n }\n\n get isMainMenuVisible(): boolean {\n return !this.showSearchByDefault && !this._isSearchOpened;\n }\n\n get isRightMenuVisible(): boolean {\n return this.showSearchByDefault || !this._isSearchOpened;\n }\n\n get isSearchVisible(): boolean {\n return this.showSearchByDefault || this._isSearchOpened;\n }\n}\n\nUDExMastheadShell.define();\n\nexport default UDExMastheadShell;\n"]}
1
+ {"version":3,"file":"MastheadShell.js","sourceRoot":"","sources":["../src/MastheadShell.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n isLeft, isRight, isSpace, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/menu2.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/cart.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\n\nimport MastheadShellTemplate from \"./generated/templates/MastheadShellTemplate.lit.js\";\n\n// Styles\nimport MastheadShellCss from \"./generated/themes/MastheadShell.css.js\";\nimport { MAIN_LINKS } from \"./generated/i18n/i18n-defaults.js\";\n\nconst breakpointSizeM: number = 1279;\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-shell</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadShell.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-shell\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadShellCss,\n template: MastheadShellTemplate,\n dependencies: [\n UDExMastheadMobileMenu,\n UDExControlButton,\n UDExMastheadItem,\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fired event when the user clicks the search button trigger.\n *\n * @public\n */\n@event(\"search-click\")\n\n/**\n * Fired event when the user clicks the cart button trigger.\n *\n * @public\n */\n@event(\"cart-click\")\n\n/**\n * Fired event when the user clicks the profile button trigger.\n *\n * @public\n */\n@event(\"profile-click\")\n\n/**\n * Fired event when the user clicks the logo.\n *\n * @public\n */\n@event(\"logo-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fired event when the user clicks the site label.\n *\n * @public\n */\n@event(\"site-label-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadShell extends UI5Element {\n /**\n * Slot for mobile menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n mobileMenu!: Array<Node>;\n\n /**\n * Slot for main menu items.\n *\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n menuItems!: Array<UDExMastheadItem>;\n\n /**\n * Slot for search component - will be visible on search icon click.\n * Note: search component should be hidden by default.\n * Note: search icon won't be visible if this slot would be empty\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * Slot for 'Explore SAP' menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSAP!: Array<UDExMastheadItem>;\n\n /**\n * Slot for cart menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n cart!: Array<UDExMastheadItem>;\n\n /**\n * Slot for avatar\n *\n * @public\n */\n @slot({ type: HTMLElement })\n profile!: Array<UDExMastheadItem>;\n\n /**\n * Defines URL to homepage. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n homeUrl!: string;\n\n /**\n * Defines URL for site label. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabelUrl!: string;\n\n /**\n * Defines overflow style for the body after clicking mobile menu opener button\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n bodyOverflow!: boolean;\n\n /**\n * Defines the visibility of the Search by default.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n showSearchByDefault!: boolean;\n\n /**\n * Defines sticky position for component\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n stickyPosition!: boolean;\n\n /**\n * Defines the Logo image URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoUrl!: string;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n logoTitle!: string;\n\n /**\n * Defines a site label. It will be displayed next to a logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n siteLabel!: string;\n\n /**\n * Defines an alt text for logo\n *\n * @public\n */\n @property({ type: String })\n logoAlt!: string;\n\n /**\n * Defines an accessible name for close icon for the search bar\n *\n * default: \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n closeButtonAccessibleName?: string;\n\n /**\n * Defines an aria label for the homepage link\n *\n * @public\n */\n @property({ type: String })\n homepageAriaLabel!: string;\n\n /**\n * Defines an aria label for the site label\n *\n * @public\n */\n @property({ type: String })\n siteLabelAriaLabel!: string;\n\n /**\n * Defines if the search container is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isSearchOpened!: boolean;\n\n /**\n * Defines if the mobile menu is open\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMenuOpen!: boolean;\n\n /**\n * Defines if the close button was clicked\n *\n * @private\n */\n @property({ type: Boolean })\n _closeBtnClicked!: boolean;\n\n _searchOpener!: UDExMastheadItem | null | undefined;\n _mobileMenu!: UDExMastheadMobileMenu | null | undefined;\n _handleResizeBound: ResizeObserverCallback;\n _rootHolder!: HTMLElement | null | undefined;\n _shouldHandleResize!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadShell.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onAfterRendering() {\n this._rootHolder = this.mastheadHolder;\n this._searchOpener = this.searchOpener;\n this._mobileMenu = this.mastheadMobileMenu;\n\n this.handleOutsideClick();\n\n if (this._isSearchOpened) {\n this.focusSearchInput();\n }\n\n if (this._closeBtnClicked) {\n this.focusSearchBtn();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n if (this.isBreakpointSizeM) {\n this._isSearchOpened = false;\n }\n\n if (this._shouldHandleResize && this.isBreakpointSizeM) {\n this.closeMobileMenu();\n return;\n }\n\n this._shouldHandleResize = true;\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.handleLeftArrow(e);\n this.handleRightArrow(e);\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusPreviousMenuItem(currentItem);\n }\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusNextMenuItem(currentItem);\n }\n }\n }\n\n handleLogoClick(e: CustomEvent): void {\n this.fireEvent(\"logo-click\", { originalEvent: e });\n }\n\n handleSiteLabelClick(e: CustomEvent): void {\n this.fireEvent(\"site-label-click\", { originalEvent: e });\n }\n\n handleSearchClick(e: CustomEvent): void {\n e.stopPropagation();\n this._isSearchOpened = true;\n this.resetSelectedItems();\n if (this._searchOpener) {\n this._searchOpener.selected = false;\n }\n this.fireEvent(\"search-click\");\n }\n\n handleCartClick(e: CustomEvent) {\n e.stopPropagation();\n this.fireEvent(\"cart-click\");\n }\n\n handleProfileClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"profile-click\");\n }\n\n handleMobileMenuClick(e: CustomEvent) {\n e.stopPropagation();\n this.setSelectedItem(e);\n this._isMobileMenuOpen = true;\n\n if (this.bodyOverflow) {\n this.setOverflowBody();\n }\n }\n\n handleMobileCloseClick(e: CustomEvent) {\n e.preventDefault();\n this.closeMobileMenu();\n }\n\n handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent) {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.closeMobileMenu();\n this.mobileBtn?.focus();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const el = e.target as UDExMastheadItem;\n const isMobile = window.innerWidth < 1280;\n const isDropdownSlot = el.getAttribute(\"slot\") === \"dropdown\";\n if (!isDropdownSlot && !el.isMenuItem && !isMobile) {\n this.resetSelectedItems();\n }\n });\n }\n\n focusSearchInput(): void {\n const searchSlot = this.querySelector<UDExSearch>(\"udex-search\");\n if (searchSlot) {\n const input = searchSlot.shadowRoot!.querySelector<HTMLElement>(\"input\");\n input?.focus();\n }\n }\n\n focusPreviousMenuItem(item: UDExMastheadItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.menuItems.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n this.menuItems[previousSelectIndex].focus();\n }\n\n focusNextMenuItem(item: UDExMastheadItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.menuItems.length - 1 ? 0 : currentSelectedIndex + 1;\n this.menuItems[nextSelectIndex].focus();\n }\n\n resetSelectedItems(): void {\n this.getSelectedItems().forEach(item => {\n item.selected = false;\n });\n }\n\n setSelectedItem(e: CustomEvent): void {\n const clickedItem: UDExMastheadItem = e.detail.item;\n if (!clickedItem) {\n return;\n }\n\n this.getSelectedItems().forEach(item => {\n if (item._id !== clickedItem._id) {\n item.selected = false;\n }\n });\n }\n\n focusSearchBtn(): void {\n if (this._searchOpener) {\n this._searchOpener.focus();\n this._closeBtnClicked = false;\n }\n }\n\n hideSearch(): void {\n this._isSearchOpened = false;\n this._closeBtnClicked = true;\n }\n\n getCurrentIndex(item: UDExMastheadItem): number {\n return this.menuItems.indexOf(item);\n }\n\n getSelectedItems(): Array<UDExMastheadItem> {\n const buttonsArray: Array<UDExMastheadItem> = [\n ...this.menuItems,\n ...this.exploreSAP,\n ...this.cart,\n ...this.profile,\n ...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),\n ];\n\n return buttonsArray.filter(({ selected }) => selected);\n }\n\n isNavigationItem(item: UDExMastheadItem): boolean {\n return this.menuItems.some(menuItem => menuItem === item);\n }\n\n setOverflowBody() {\n const { body: { style } } = document;\n this._shouldHandleResize = false;\n style.overflow = \"hidden\";\n }\n\n removeOverflowBody() {\n const { body: { style } } = document;\n style.removeProperty(\"overflow\");\n }\n\n closeMobileMenu(): void {\n this._isMobileMenuOpen = false;\n this.resetSelectedItems();\n this._mobileMenu?.showFirstLevelMenu();\n\n if (this.bodyOverflow) {\n this.removeOverflowBody();\n }\n }\n\n get searchOpener(): UDExMastheadItem | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__search-btn\");\n }\n\n get mastheadHolder(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell\");\n }\n\n get mastheadMobileMenu(): UDExMastheadMobileMenu | null {\n return this.querySelector(\"[udex-masthead-mobile-menu]\");\n }\n\n get mobileBtn(): UDExMastheadItem | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__menu-btn\");\n }\n\n get closeBtn(): UDExMastheadItem | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__close-btn\");\n }\n\n get hasProfile(): boolean {\n return !!this.profile.length;\n }\n\n get hasCart(): boolean {\n return !!this.cart.length;\n }\n\n get hasSearch(): boolean {\n return !!this.search.length;\n }\n\n get hasExploreSAP(): boolean {\n return !!this.exploreSAP.length;\n }\n\n get hasMobileMenuButtons(): boolean {\n return !!this.mobileMenu.length;\n }\n\n get isBreakpointSizeM(): boolean {\n return window.innerWidth <= breakpointSizeM;\n }\n\n get isMainMenuVisible(): boolean {\n return !this.showSearchByDefault && !this._isSearchOpened;\n }\n\n get isRightMenuVisible(): boolean {\n return this.showSearchByDefault || !this._isSearchOpened;\n }\n\n get isSearchVisible(): boolean {\n return this.showSearchByDefault || this._isSearchOpened;\n }\n\n get mainNavigationAriaLabel(): string {\n return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);\n }\n}\n\nUDExMastheadShell.define();\n\nexport default UDExMastheadShell;\n"]}
@@ -69,11 +69,17 @@ declare class UDExPagination extends UI5Element {
69
69
  */
70
70
  _direction?: string;
71
71
  _pages: Page[];
72
+ _visiblePages: Page[];
72
73
  _previousPageElement?: HTMLElement;
73
74
  _mobileDisplayNumber: number;
75
+ _desktopDisplayNumber: number;
76
+ _firstPageIndex: number;
77
+ _lastPageIndex: number;
78
+ _pageFocusedManually: boolean;
74
79
  static i18nBundle: I18nBundle;
75
80
  constructor();
76
81
  onEnterDOM(): void;
82
+ onBeforeRendering(): void;
77
83
  get nextButtonDisbled(): boolean;
78
84
  get prevButtonDisbled(): boolean;
79
85
  get typeFull(): boolean;
@@ -81,6 +87,7 @@ declare class UDExPagination extends UI5Element {
81
87
  get shortTextStart(): string;
82
88
  get shortTextEnd(): string;
83
89
  get shortTextSeparator(): string;
90
+ get paginationAccessibleName(): string;
84
91
  get pageAccessibleName(): string;
85
92
  get paginationShortAccessibleName(): string;
86
93
  get activatePageAccessibleText(): string;
@@ -92,15 +99,18 @@ declare class UDExPagination extends UI5Element {
92
99
  get nextBtnTooltip(): string;
93
100
  get pagination(): Page[];
94
101
  get paginationClass(): string;
102
+ get displayNumber(): number;
103
+ get pageOffset(): number;
95
104
  static onDefine(): Promise<void>;
96
105
  setActive(element: HTMLElement): void;
97
106
  setNextPage(e: Event): void;
98
107
  setPrevPage(e: Event): void;
99
108
  setFirstPage(e: Event): void;
100
109
  setLastPage(e: Event): void;
101
- setupMobilePages(pages: number): Page[];
102
- setupDesktopPages(pages: number): Page[];
103
- setupPages(pages?: number): Page[];
110
+ setupPages(pages?: number): void;
111
+ setupPagesData(): Page[];
112
+ shiftVisiblePages(shiftBackwards?: boolean): Page[];
113
+ getPageAccessibleName(index: number): string;
104
114
  onPageClick(e: Event): void;
105
115
  emitChangeEvent(): void;
106
116
  onAfterRendering(): void;