@sapudex/web-components 2.57.0 → 2.58.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 (222) hide show
  1. package/cypress/specs/FilterMenu.cy.tsx +209 -19
  2. package/cypress/specs/List.cy.tsx +67 -4
  3. package/cypress/specs/ListItem.cy.tsx +35 -9
  4. package/cypress/specs/SelectBox.cy.tsx +100 -0
  5. package/cypress/specs/TabNavigation.cy.tsx +297 -21
  6. package/dist/List.d.ts +15 -1
  7. package/dist/List.js +23 -2
  8. package/dist/List.js.map +1 -1
  9. package/dist/ListGroupHeaderBase.d.ts +13 -0
  10. package/dist/ListGroupHeaderBase.js +43 -2
  11. package/dist/ListGroupHeaderBase.js.map +1 -1
  12. package/dist/ListGroupHeaderTemplate.js +26 -7
  13. package/dist/ListGroupHeaderTemplate.js.map +1 -1
  14. package/dist/ListItem.d.ts +0 -3
  15. package/dist/ListItem.js +18 -12
  16. package/dist/ListItem.js.map +1 -1
  17. package/dist/ListItemBase.d.ts +17 -0
  18. package/dist/ListItemBase.js +15 -0
  19. package/dist/ListItemBase.js.map +1 -1
  20. package/dist/ListItemTemplate.js +2 -2
  21. package/dist/ListItemTemplate.js.map +1 -1
  22. package/dist/MastheadCountrySelector.js +5 -5
  23. package/dist/MastheadCountrySelector.js.map +1 -1
  24. package/dist/MastheadCountrySelectorTemplate.d.ts +2 -0
  25. package/dist/MastheadCountrySelectorTemplate.js +15 -0
  26. package/dist/MastheadCountrySelectorTemplate.js.map +1 -0
  27. package/dist/MastheadItem.d.ts +0 -3
  28. package/dist/MastheadItem.js +3 -6
  29. package/dist/MastheadItem.js.map +1 -1
  30. package/dist/MastheadItemTemplate.d.ts +2 -0
  31. package/dist/MastheadItemTemplate.js +41 -0
  32. package/dist/MastheadItemTemplate.js.map +1 -0
  33. package/dist/MastheadMenu.d.ts +1 -0
  34. package/dist/MastheadMenu.js +4 -6
  35. package/dist/MastheadMenu.js.map +1 -1
  36. package/dist/MastheadMenuItem.d.ts +0 -3
  37. package/dist/MastheadMenuItem.js +3 -6
  38. package/dist/MastheadMenuItem.js.map +1 -1
  39. package/dist/MastheadMenuItemTemplate.d.ts +2 -0
  40. package/dist/MastheadMenuItemTemplate.js +36 -0
  41. package/dist/MastheadMenuItemTemplate.js.map +1 -0
  42. package/dist/MastheadMenuTemplate.d.ts +2 -0
  43. package/dist/MastheadMenuTemplate.js +13 -0
  44. package/dist/MastheadMenuTemplate.js.map +1 -0
  45. package/dist/MastheadMobileMenu.js +3 -3
  46. package/dist/MastheadMobileMenu.js.map +1 -1
  47. package/dist/MastheadMobileMenuTemplate.d.ts +2 -0
  48. package/dist/MastheadMobileMenuTemplate.js +33 -0
  49. package/dist/MastheadMobileMenuTemplate.js.map +1 -0
  50. package/dist/MastheadProfileMenu.d.ts +2 -4
  51. package/dist/MastheadProfileMenu.js +5 -20
  52. package/dist/MastheadProfileMenu.js.map +1 -1
  53. package/dist/MastheadProfileMenuTemplate.d.ts +2 -0
  54. package/dist/MastheadProfileMenuTemplate.js +24 -0
  55. package/dist/MastheadProfileMenuTemplate.js.map +1 -0
  56. package/dist/MastheadShell.js +3 -5
  57. package/dist/MastheadShell.js.map +1 -1
  58. package/dist/MastheadShellTemplate.d.ts +2 -0
  59. package/dist/MastheadShellTemplate.js +20 -0
  60. package/dist/MastheadShellTemplate.js.map +1 -0
  61. package/dist/SearchableListBase.d.ts +10 -0
  62. package/dist/SearchableListBase.js +34 -1
  63. package/dist/SearchableListBase.js.map +1 -1
  64. package/dist/SearchableListBaseTemplate.js +35 -4
  65. package/dist/SearchableListBaseTemplate.js.map +1 -1
  66. package/dist/SecondaryNavigation.d.ts +1 -0
  67. package/dist/SecondaryNavigation.js +20 -6
  68. package/dist/SecondaryNavigation.js.map +1 -1
  69. package/dist/SelectBase.js +8 -3
  70. package/dist/SelectBase.js.map +1 -1
  71. package/dist/Tab.d.ts +0 -7
  72. package/dist/Tab.js +4 -19
  73. package/dist/Tab.js.map +1 -1
  74. package/dist/TabHeaderTemplate.d.ts +2 -0
  75. package/dist/TabHeaderTemplate.js +15 -0
  76. package/dist/TabHeaderTemplate.js.map +1 -0
  77. package/dist/TabInOverflowTemplate.d.ts +2 -0
  78. package/dist/TabInOverflowTemplate.js +7 -0
  79. package/dist/TabInOverflowTemplate.js.map +1 -0
  80. package/dist/TabNavigation.d.ts +3 -4
  81. package/dist/TabNavigation.js +53 -40
  82. package/dist/TabNavigation.js.map +1 -1
  83. package/dist/TabNavigationPopoverTemplate.d.ts +2 -0
  84. package/dist/TabNavigationPopoverTemplate.js +9 -0
  85. package/dist/TabNavigationPopoverTemplate.js.map +1 -0
  86. package/dist/TabNavigationTemplate.d.ts +2 -0
  87. package/dist/TabNavigationTemplate.js +10 -0
  88. package/dist/TabNavigationTemplate.js.map +1 -0
  89. package/dist/TabTemplate.d.ts +2 -0
  90. package/dist/TabTemplate.js +5 -0
  91. package/dist/TabTemplate.js.map +1 -0
  92. package/dist/assets/{InputSuggestions-C8grDr_8.js → InputSuggestions-CMYjJsHw.js} +1 -1
  93. package/dist/assets/{ListItemStandardExpandableTextTemplate-BQtSr7yg.js → ListItemStandardExpandableTextTemplate-D2i8wWuR.js} +1 -1
  94. package/dist/assets/{bundle.esm-GvPkDyXP.js → bundle.esm-BjN47C_y.js} +242 -242
  95. package/dist/assets/messagebundle_en-B7YJOdQz.js +1 -0
  96. package/dist/css/themes/Button.css +1 -1
  97. package/dist/css/themes/ListGroupHeader.css +1 -1
  98. package/dist/css/themes/PromoTile.css +1 -1
  99. package/dist/css/themes/TabInOverflow.css +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  101. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  102. package/dist/generated/i18n/i18n-defaults.js +3 -1
  103. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  104. package/dist/generated/themes/Button.css.d.ts +1 -1
  105. package/dist/generated/themes/Button.css.js +1 -1
  106. package/dist/generated/themes/Button.css.js.map +1 -1
  107. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  108. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  109. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  110. package/dist/generated/themes/PromoTile.css.d.ts +1 -1
  111. package/dist/generated/themes/PromoTile.css.js +1 -1
  112. package/dist/generated/themes/PromoTile.css.js.map +1 -1
  113. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  114. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  115. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  116. package/dist/messagebundle.properties +4 -0
  117. package/dist/messagebundle_en.properties +2 -0
  118. package/dist/web-types.json +1 -1
  119. package/package.json +1 -1
  120. package/src/List.ts +24 -2
  121. package/src/ListGroupHeaderBase.ts +44 -2
  122. package/src/ListGroupHeaderTemplate.tsx +74 -23
  123. package/src/ListItem.ts +18 -15
  124. package/src/ListItemBase.ts +30 -0
  125. package/src/ListItemTemplate.tsx +4 -4
  126. package/src/MastheadCountrySelector.ts +5 -5
  127. package/src/MastheadCountrySelectorTemplate.tsx +98 -0
  128. package/src/MastheadItem.ts +3 -6
  129. package/src/MastheadItemTemplate.tsx +178 -0
  130. package/src/MastheadMenu.ts +5 -6
  131. package/src/MastheadMenuItem.ts +3 -7
  132. package/src/MastheadMenuItemTemplate.tsx +123 -0
  133. package/src/MastheadMenuTemplate.tsx +142 -0
  134. package/src/MastheadMobileMenu.ts +3 -3
  135. package/src/MastheadMobileMenuTemplate.tsx +274 -0
  136. package/src/MastheadProfileMenu.ts +10 -23
  137. package/src/MastheadProfileMenuTemplate.tsx +143 -0
  138. package/src/MastheadShell.ts +3 -5
  139. package/src/MastheadShellTemplate.tsx +228 -0
  140. package/src/SearchableListBase.ts +37 -1
  141. package/src/SearchableListBaseTemplate.tsx +38 -2
  142. package/src/SecondaryNavigation.ts +21 -6
  143. package/src/SelectBase.ts +8 -3
  144. package/src/Tab.ts +4 -24
  145. package/src/TabHeaderTemplate.tsx +153 -0
  146. package/src/TabInOverflowTemplate.tsx +68 -0
  147. package/src/TabNavigation.ts +61 -44
  148. package/src/TabNavigationPopoverTemplate.tsx +27 -0
  149. package/src/TabNavigationTemplate.tsx +98 -0
  150. package/src/TabTemplate.tsx +7 -0
  151. package/src/generated/i18n/i18n-defaults.ts +2 -2
  152. package/src/generated/themes/Button.css.ts +1 -1
  153. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  154. package/src/generated/themes/PromoTile.css.ts +1 -1
  155. package/src/generated/themes/TabInOverflow.css.ts +1 -1
  156. package/src/i18n/messagebundle.properties +4 -0
  157. package/src/i18n/messagebundle_en.properties +2 -0
  158. package/src/themes/Button.css +2 -1
  159. package/src/themes/ListGroupHeader.css +50 -7
  160. package/src/themes/PromoTile.css +1 -0
  161. package/src/themes/TabInOverflow.css +9 -4
  162. package/dist/assets/messagebundle_en-DBpf5Il2.js +0 -1
  163. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts +0 -3
  164. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +0 -13
  165. package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +0 -1
  166. package/dist/generated/templates/MastheadItemTemplate.lit.d.ts +0 -3
  167. package/dist/generated/templates/MastheadItemTemplate.lit.js +0 -43
  168. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +0 -1
  169. package/dist/generated/templates/MastheadMenuItemTemplate.lit.d.ts +0 -3
  170. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +0 -21
  171. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +0 -1
  172. package/dist/generated/templates/MastheadMenuTemplate.lit.d.ts +0 -3
  173. package/dist/generated/templates/MastheadMenuTemplate.lit.js +0 -25
  174. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +0 -1
  175. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.d.ts +0 -3
  176. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +0 -37
  177. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +0 -1
  178. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.d.ts +0 -3
  179. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +0 -18
  180. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +0 -1
  181. package/dist/generated/templates/MastheadShellTemplate.lit.d.ts +0 -3
  182. package/dist/generated/templates/MastheadShellTemplate.lit.js +0 -28
  183. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +0 -1
  184. package/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -3
  185. package/dist/generated/templates/TabHeaderTemplate.lit.js +0 -52
  186. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
  187. package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -3
  188. package/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -15
  189. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
  190. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -3
  191. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -8
  192. package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
  193. package/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -3
  194. package/dist/generated/templates/TabNavigationTemplate.lit.js +0 -16
  195. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
  196. package/dist/generated/templates/TabTemplate.lit.d.ts +0 -3
  197. package/dist/generated/templates/TabTemplate.lit.js +0 -7
  198. package/dist/generated/templates/TabTemplate.lit.js.map +0 -1
  199. package/src/MastheadCountrySelector.hbs +0 -76
  200. package/src/MastheadItem.hbs +0 -136
  201. package/src/MastheadMenu.hbs +0 -131
  202. package/src/MastheadMenuItem.hbs +0 -102
  203. package/src/MastheadMobileMenu.hbs +0 -253
  204. package/src/MastheadProfileMenu.hbs +0 -121
  205. package/src/MastheadShell.hbs +0 -223
  206. package/src/Tab.hbs +0 -1
  207. package/src/TabHeader.hbs +0 -141
  208. package/src/TabInOverflow.hbs +0 -59
  209. package/src/TabNavigation.hbs +0 -88
  210. package/src/TabNavigationPopover.hbs +0 -18
  211. package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +0 -17
  212. package/src/generated/templates/MastheadItemTemplate.lit.ts +0 -47
  213. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +0 -25
  214. package/src/generated/templates/MastheadMenuTemplate.lit.ts +0 -29
  215. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +0 -41
  216. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +0 -22
  217. package/src/generated/templates/MastheadShellTemplate.lit.ts +0 -32
  218. package/src/generated/templates/TabHeaderTemplate.lit.ts +0 -56
  219. package/src/generated/templates/TabInOverflowTemplate.lit.ts +0 -19
  220. package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +0 -12
  221. package/src/generated/templates/TabNavigationTemplate.lit.ts +0 -20
  222. package/src/generated/templates/TabTemplate.lit.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,yCAAyC,CAAC;AACjD,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EACL,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GACxE,MAAM,mCAAmC,CAAC;AAC3C,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,wCAAwC,CAAC;AAKhD,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE,MAAM,CAAN,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,+CAAa,CAAA;IACb,iDAAe,CAAA;IACf,gEAA8B,CAAA;AAChC,CAAC,EAJW,8BAA8B,KAA9B,8BAA8B,QAIzC;AAwCD;;;;;;;;;;;;;;;;GAgBG;AA+CH,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QAME;;;;;WAKG;QAED,aAAQ,GAAW,EAAE,CAAC;QAExB;;;;;WAKG;QAED,cAAS,GAAW,EAAE,CAAC;QAoBzB;;;;;WAKG;QAED,SAAI,GAAW,EAAE,CAAC;QA4BpB;;;;WAIG;QAED,WAAM,GAAe,UAAU,CAAC,KAAK,CAAC;QAoBxC;;;;;WAKG;QAED,YAAO,GAAW,EAAE,CAAC;QA+EvB;;;;WAIG;QAED,oBAAe,GAAG,KAAK,CAAC;QAE1B;;;;WAIG;QAED,wBAAmB,GAAG,KAAK,CAAC;IA0ZhC,CAAC;IAlZC,UAAU;QACR,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QACjC,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9G,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAc;QAC3C,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACpD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,8BAA8B,CAAC,YAAY,CAAC,CAAC;gBAChG,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,CAAa;QAC1B,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,0BAA0B,CAAC,CAAa;QACtC,MAAM,aAAa,GAAG,CAAC,CAAC,aAA4B,CAAC;QACrD,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAElE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,4DAA4D,CAAC,CAAC;YAChG,IAAI,MAAM,IAAI,CAAC,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,CAAgB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAmB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,CAAe;QAC7B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxD,CAAC;IAED,wBAAwB;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,8BAA8B,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,MAAsC;QAC1E,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,MAAsC;QACzE,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,kBAAkB,CAAC,CAAe;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,UAAU,EAAE,CAAC,CAAC,aAA4B;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAyB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;YAC5E,QAAQ,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,iBAAiB,GAAG,CAAC,IAAI,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,IAAa;QACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QAE3D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;YACjD,OAAO,KAAK,GAAG,aAAa,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;YACjD,OAAO,aAAa,GAAG,KAAK,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;QACb,MAAM,eAAe,GAAG,MAAM;aAC3B,gBAAgB,CAAC,IAAI,CAAC;aACtB,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;QACpC,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QACT,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEO,mBAAmB,CAAC,CAAa;QACvC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAC5E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAAE,CAAC;IAC9D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,QAAQ,CAAC,aAAa,CAAoB,uBAAuB,CAAE,CAAC;IAC7E,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO,sBAAsB,SAAS,IAAI,YAAY,IAAI,YAAY,IAAI,oBAAoB,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1H,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAE,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAChF,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IAChG,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;IACjD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC;IACpD,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC;IACzD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;IACjD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,CAA0B,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC;IAC5E,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,SAAS,CAAC,kBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC,kBAAgB,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC,kBAAgB,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,kBAAgB,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,kBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,kBAAgB,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,kBAAkB;QACpB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;IAChC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,oBAAoB,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,eAAe,CAAmB,UAAU,CAAC;aACtD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;IAC7C,CAAC;CACF,CAAA;AAxlBG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACH;AAStB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACF;AASvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACP;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACF;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACV;AASf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACP;AAQlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACX;AAQd;IADD,QAAQ,EAAE;gDAC6B;AAStC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACJ;AASrB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACC;AAQ3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACL;AAQpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACF;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACV;AASf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACJ;AASrB;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;kDACG;AAS7B;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;iDACR;AASnC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACC;AAQ3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACA;AAQ1B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACF;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6DACE;AAGvB;IADN,IAAI,CAAC,yBAAyB,CAAC;0CACF;AA9M1B,gBAAgB;IA9CrB,aAAa,CAAC;QACb,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,oBAAoB;QAC9B,YAAY,EAAE;YACZ,gBAAgB;YAChB,OAAO;SACR;KACF,CAAC;IAEF;;;;;;;;;OASG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEvC;;;;;;;;OAQG;;IACF,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE5C;;;;;;;;OAQG;;IACF,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAEtC,gBAAgB,CAqmBrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot, ChangeInfo } 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-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEscape, isTabNext } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/world.js\";\nimport type UDExAvatar from \"./Avatar.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport type UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport MastheadItemTemplate from \"./generated/templates/MastheadItemTemplate.lit.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum UDExMastheadDropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\n\nexport interface IMastheadItem {\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url?: string;\n externalLink: boolean;\n subItems?: CategoryItem[];\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadItemItemClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExMastheadItem,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadDropdownEventDetail = {\n title: string,\n action: UDExMastheadDropdownItemAction,\n analyticsName: AnalyticsName,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: litRender,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {Event} originalEvent the original event object\n * @param {UDExMastheadItem} item the clicked item\n * @param {AnalyticsName} analyticsName the analytics name\n * @param {HTMLElement} sourceNode the source node\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-opened\", { bubbles: true })\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n eventDetails!: {\n \"item-click\": UDExMastheadItemItemClickEventDetail,\n \"dropdown-closed\": UDExMastheadDropdownEventDetail,\n \"dropdown-opened\": UDExMastheadDropdownEventDetail,\n };\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"\";\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleRole?: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n iconAlt: string = \"\";\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder!: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the label for analytics\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the number badge for item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n numberBadge?: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown!: Slot<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: DefaultSlot<HTMLElement>;\n\n /**\n * Defines the prevents the item from losing focus.\n *\n * @private\n */\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n /**\n * Defines the item is a menu close button\n *\n * @private\n */\n @property({ type: Boolean })\n _isMenuCloseBtn?: boolean;\n\n /**\n * Defines if the image failed to load\n *\n * @private\n */\n @property({ type: Boolean })\n _imageLoadError = false;\n\n /**\n * Defines if the item has the dropdown with four columns menu\n *\n * @private\n */\n @property({ type: Boolean })\n _hasFourColumnsMenu = false;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.label = this.eventItemTitle;\n if (this.hasFourColumnsMenu && !this.isExploreBtn) {\n this._hasFourColumnsMenu = true;\n }\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn && !this.hasFourColumnsMenu) {\n this.setDropdownInsetStart();\n }\n\n this.handleOutsideClick();\n }\n\n onInvalidation({ name, newValue }: ChangeInfo): void {\n if (name === \"selected\" && !newValue && this.isMobile) {\n this.dropdownScrollToTop();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile && this.selected) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleMouseDown(): void {\n this._preventFocusOut = true;\n }\n\n handleMouseUp(): void {\n this._preventFocusOut = false;\n }\n\n handleFocusout(e: FocusEvent): void {\n if (this.isFocusOutPrevented(e)) {\n return;\n }\n\n this.handleFocusOutForDropdowns(e);\n }\n\n handleFocusOutForDropdowns(e: FocusEvent): void {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const currentItem = relatedTarget.closest(\"[udex-masthead-item]\");\n\n if (currentItem !== this) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n if (isTabNext(e) && this.isDropdownOpened) {\n const button = this.getDomElement(\".udex-masthead-item__btn, .udex-masthead-item__profile-btn\");\n if (button && e.currentTarget === button) {\n this.handleTabIntoDropdown(e);\n }\n }\n }\n\n handleTabIntoDropdown(e: KeyboardEvent): void {\n const menu = this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")[0];\n if (menu && typeof menu.focusFirstItem === \"function\") {\n e.preventDefault();\n menu.focusFirstItem();\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: PointerEvent): void {\n if (this.isProfileBtn) {\n this.handleProfileButtonClick();\n }\n this.handleSelectedChange();\n this.fireItemClickEvent(e);\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n handleProfileButtonClick(): void {\n const profile = this.profileSlot;\n if (profile) {\n profile.closeIdentitiesPanel();\n profile.scrollToTopProfileMenu();\n profile._requestRender = true;\n }\n }\n\n handleImageError(): void {\n this._imageLoadError = true;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = UDExMastheadDropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-closed\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireDropdownOpenEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-opened\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireItemClickEvent(e: PointerEvent): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: e.currentTarget as HTMLElement,\n });\n }\n\n dropdownScrollToTop(): void {\n if (this.isMobileMenuOpenBtn) {\n const menu = this.getSlottedNodes<UDExMastheadMobileMenu>(\"dropdown\")[0];\n menu.mobileMenuScrollToTop();\n } else {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown-holder\");\n dropdown?.scrollTo({ top: 0 });\n }\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n recalculateDropdownPosition(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown && !this.hasFourColumnsMenu) {\n dropdown.style.marginInlineStart = \"\";\n this.setDropdownInsetStart();\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n const viewportWidth = document.documentElement.clientWidth;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > viewportWidth) {\n return right - viewportWidth + 15;\n }\n\n if (this.isLtrDirection && right > viewportWidth) {\n return viewportWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getSubItems(): Array<MenuItem> {\n return parseArrayFromString(this.subItems);\n }\n\n private isFocusOutPrevented(e: FocusEvent): boolean {\n return this.isMobile || e.relatedTarget === null || this._preventFocusOut;\n }\n\n get dropdownHolder(): HTMLElement {\n return this.getDomElement(\".udex-masthead-item__dropdown\")!;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = (this.icon || this.image || this.isProfileBtn) ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get iconAltText(): string {\n return this._isMenuCloseBtn ? this.accessibleName || this.icon : this.iconAlt;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href?.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string | undefined {\n const labels = [];\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n if (this.imageAlt) {\n labels.push(`image-desc`);\n }\n\n return labels.length ? labels.join(\" \").trim() : undefined;\n }\n\n get isDropdownOpened(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get isMobileMenuOpenBtn(): boolean {\n return this.hasAttribute(\"_is-menu-open-btn\");\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length && !this.hideArrowIcon;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSearchBtn(): boolean {\n return this.icon === \"search\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? translate(UDExMastheadItem, PROFILE) : \"\");\n }\n\n get profileSlot(): UDExMastheadProfileMenu {\n return this.getSlottedNodes<UDExMastheadProfileMenu>(\"dropdown\")[0];\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === UDExTarget._blank;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return translate(UDExMastheadItem, SEARCH);\n }\n if (this.isCartBtn) {\n return translate(UDExMastheadItem, CART);\n }\n if (this.isProfileBtn) {\n return translate(UDExMastheadItem, PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return translate(UDExMastheadItem, COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return translate(UDExMastheadItem, SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n\n get buttonAriaExpanded(): boolean | undefined {\n if (!this.hasDropdownSlot) {\n return undefined;\n }\n return this.selected || false;\n }\n\n get imageLoadError(): boolean {\n return this._imageLoadError && this.isCountrySelectorBtn;\n }\n\n get dropdownMenu(): UDExMastheadMenu | undefined {\n return this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")\n .find(el => el instanceof UDExMastheadMenu);\n }\n\n get hasFourColumnsMenu(): boolean {\n return !!this.dropdownMenu?.hasFourColumns;\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\nexport type { UDExMastheadDropdownEventDetail, UDExMastheadItemItemClickEventDetail };\n"]}
1
+ {"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot, ChangeInfo } 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-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isEscape, isTabNext } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport type UDExAvatar from \"./Avatar.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport type UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport MastheadItemTemplate from \"./MastheadItemTemplate.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum UDExMastheadDropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\n\nexport interface IMastheadItem {\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url?: string;\n externalLink: boolean;\n subItems?: CategoryItem[];\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadItemItemClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExMastheadItem,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadDropdownEventDetail = {\n title: string,\n action: UDExMastheadDropdownItemAction,\n analyticsName: AnalyticsName,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: jsxRenderer,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {Event} originalEvent the original event object\n * @param {UDExMastheadItem} item the clicked item\n * @param {AnalyticsName} analyticsName the analytics name\n * @param {HTMLElement} sourceNode the source node\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-opened\", { bubbles: true })\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n eventDetails!: {\n \"item-click\": UDExMastheadItemItemClickEventDetail,\n \"dropdown-closed\": UDExMastheadDropdownEventDetail,\n \"dropdown-opened\": UDExMastheadDropdownEventDetail,\n };\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"\";\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleRole?: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n iconAlt: string = \"\";\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder!: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the label for analytics\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the number badge for item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n numberBadge?: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown!: Slot<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: DefaultSlot<HTMLElement>;\n\n /**\n * Defines the prevents the item from losing focus.\n *\n * @private\n */\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n /**\n * Defines the item is a menu close button\n *\n * @private\n */\n @property({ type: Boolean })\n _isMenuCloseBtn?: boolean;\n\n /**\n * Defines if the image failed to load\n *\n * @private\n */\n @property({ type: Boolean })\n _imageLoadError = false;\n\n /**\n * Defines if the item has the dropdown with four columns menu\n *\n * @private\n */\n @property({ type: Boolean })\n _hasFourColumnsMenu = false;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.label = this.eventItemTitle;\n if (this.hasFourColumnsMenu && !this.isExploreBtn) {\n this._hasFourColumnsMenu = true;\n }\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn && !this.hasFourColumnsMenu) {\n this.setDropdownInsetStart();\n }\n\n this.handleOutsideClick();\n }\n\n onInvalidation({ name, newValue }: ChangeInfo): void {\n if (name === \"selected\" && !newValue && this.isMobile) {\n this.dropdownScrollToTop();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile && this.selected) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleMouseDown(): void {\n this._preventFocusOut = true;\n }\n\n handleMouseUp(): void {\n this._preventFocusOut = false;\n }\n\n handleFocusout(e: FocusEvent): void {\n if (this.isFocusOutPrevented(e)) {\n return;\n }\n\n this.handleFocusOutForDropdowns(e);\n }\n\n handleFocusOutForDropdowns(e: FocusEvent): void {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const currentItem = relatedTarget.closest(\"[udex-masthead-item]\");\n\n if (currentItem !== this) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n if (isTabNext(e) && this.isDropdownOpened) {\n const button = this.getDomElement(\".udex-masthead-item__btn, .udex-masthead-item__profile-btn\");\n if (button && e.currentTarget === button) {\n this.handleTabIntoDropdown(e);\n }\n }\n }\n\n handleTabIntoDropdown(e: KeyboardEvent): void {\n const menu = this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")[0];\n if (menu && typeof menu.focusFirstItem === \"function\") {\n e.preventDefault();\n menu.focusFirstItem();\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: PointerEvent): void {\n if (this.isProfileBtn) {\n this.handleProfileButtonClick();\n }\n this.handleSelectedChange();\n this.fireItemClickEvent(e);\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n handleProfileButtonClick(): void {\n const profile = this.profileSlot;\n if (profile) {\n profile.closeIdentitiesPanel();\n profile.scrollToTopProfileMenu();\n profile._requestRender = true;\n }\n }\n\n handleImageError(): void {\n this._imageLoadError = true;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = UDExMastheadDropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-closed\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireDropdownOpenEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-opened\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireItemClickEvent(e: PointerEvent): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: e.currentTarget as HTMLElement,\n });\n }\n\n dropdownScrollToTop(): void {\n if (this.isMobileMenuOpenBtn) {\n const menu = this.getSlottedNodes<UDExMastheadMobileMenu>(\"dropdown\")[0];\n menu.mobileMenuScrollToTop();\n } else {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown-holder\");\n dropdown?.scrollTo({ top: 0 });\n }\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n recalculateDropdownPosition(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown && !this.hasFourColumnsMenu) {\n dropdown.style.marginInlineStart = \"\";\n this.setDropdownInsetStart();\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n const viewportWidth = document.documentElement.clientWidth;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > viewportWidth) {\n return right - viewportWidth + 15;\n }\n\n if (this.isLtrDirection && right > viewportWidth) {\n return viewportWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getSubItems(): Array<MenuItem> {\n return parseArrayFromString(this.subItems);\n }\n\n private isFocusOutPrevented(e: FocusEvent): boolean {\n return this.isMobile || e.relatedTarget === null || this._preventFocusOut;\n }\n\n get dropdownHolder(): HTMLElement {\n return this.getDomElement(\".udex-masthead-item__dropdown\")!;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = (this.icon || this.image || this.isProfileBtn) ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get iconAltText(): string {\n return this._isMenuCloseBtn ? this.accessibleName || this.icon : this.iconAlt;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href?.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string | undefined {\n const labels = [];\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n if (this.imageAlt) {\n labels.push(`image-desc`);\n }\n\n return labels.length ? labels.join(\" \").trim() : undefined;\n }\n\n get isDropdownOpened(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get isMobileMenuOpenBtn(): boolean {\n return this.hasAttribute(\"_is-menu-open-btn\");\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length && !this.hideArrowIcon;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSearchBtn(): boolean {\n return this.icon === \"search\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? translate(UDExMastheadItem, PROFILE) : \"\");\n }\n\n get profileSlot(): UDExMastheadProfileMenu {\n return this.getSlottedNodes<UDExMastheadProfileMenu>(\"dropdown\")[0];\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === UDExTarget._blank;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return translate(UDExMastheadItem, SEARCH);\n }\n if (this.isCartBtn) {\n return translate(UDExMastheadItem, CART);\n }\n if (this.isProfileBtn) {\n return translate(UDExMastheadItem, PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return translate(UDExMastheadItem, COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return translate(UDExMastheadItem, SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n\n get buttonAriaExpanded(): boolean | undefined {\n if (!this.hasDropdownSlot) {\n return undefined;\n }\n return this.selected || false;\n }\n\n get imageLoadError(): boolean {\n return this._imageLoadError && this.isCountrySelectorBtn;\n }\n\n get dropdownMenu(): UDExMastheadMenu | undefined {\n return this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")\n .find(el => el instanceof UDExMastheadMenu);\n }\n\n get hasFourColumnsMenu(): boolean {\n return !!this.dropdownMenu?.hasFourColumns;\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\nexport type { UDExMastheadDropdownEventDetail, UDExMastheadItemItemClickEventDetail };\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExMastheadItem from "./MastheadItem.js";
2
+ export default function MastheadItemTemplate(this: UDExMastheadItem): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,41 @@
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
4
+ import UDExBadge from "./Badge.js";
5
+ import arrowDownIcon from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
6
+ import worldIcon from "@ui5/webcomponents-icons/dist/world.js";
7
+ import { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
8
+ export default function MastheadItemTemplate() {
9
+ if (this.hasHref) {
10
+ return link.call(this);
11
+ }
12
+ if (this.isProfileBtn) {
13
+ return profileButton.call(this);
14
+ }
15
+ return button.call(this);
16
+ }
17
+ function link() {
18
+ return (_jsxs(_Fragment, { children: [_jsxs("a", { id: this._id, class: this.additionalClass, role: this.accessibleRoleName, "aria-label": this.accessibleLabel, target: this.target, href: this.href, "aria-describedby": this.ariaDescribedBy, onClick: this.handleItemClick, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, tabindex: 0, children: [content.call(this), badge.call(this)] }), this.isTargetBlank && (_jsx("span", { id: "new-win-desc", class: "udex-masthead-hidden-text", children: this.openInNewWindowText }))] }));
19
+ }
20
+ function profileButton() {
21
+ return (_jsxs(_Fragment, { children: [_jsxs("button", { class: `udex-masthead-item__btn udex-masthead-item__profile-btn ${this.additionalClass}`, id: this._id, tabindex: 0, "aria-expanded": this.buttonAriaExpanded, "aria-describedby": this.ariaDescribedBy, "aria-controls": `${this._id}_dropdown`, "aria-label": this.accessibleLabel, onKeyDown: this.handleKeyDown, onClick: this.handleItemClick, "onclick-default": this.handleItemClick, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, children: [content.call(this), badge.call(this)] }), dropdown.call(this)] }));
22
+ }
23
+ function button() {
24
+ return (_jsxs(_Fragment, { children: [_jsxs("button", { role: this.accessibleRoleName, id: this._id, class: `udex-masthead-item__btn ${this.additionalClass}`, tabindex: 0, "aria-expanded": this.buttonAriaExpanded, "aria-controls": `${this._id}_dropdown`, "aria-describedby": this.ariaDescribedBy, "aria-label": this.accessibleLabel, onKeyDown: this.handleKeyDown, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, onClick: this.handleItemClick, children: [content.call(this), badge.call(this)] }), dropdown.call(this)] }));
25
+ }
26
+ function content() {
27
+ if (this.icon) {
28
+ return (_jsx(UI5Icon, { class: "udex-masthead-item__icon", name: this.icon, "show-tooltip": this.iconAltText, "accessible-name": this.iconAltText, mode: IconMode.Decorative }));
29
+ }
30
+ if (this.image) {
31
+ return (_jsxs(_Fragment, { children: [this.imageLoadError ? (_jsx(UI5Icon, { class: "udex-masthead-item__icon", name: worldIcon, mode: IconMode.Decorative })) : (_jsx("div", { class: "udex-masthead-item__image-wrap", children: _jsx("img", { class: "udex-masthead-item__image", id: `${this._id}_image-alt`, src: this.image, "aria-hidden": this.isCountrySelectorBtn, alt: this.imageAlt, onError: this.handleImageError }) })), this.imageAlt && (_jsx("span", { id: "image-desc", class: "udex-masthead-hidden-text", children: this.imageAlt }))] }));
32
+ }
33
+ return (_jsxs("span", { class: "udex-masthead-item__text", children: [_jsx("slot", {}), this.hasArrowDown && (_jsx(UI5Icon, { class: "udex-masthead-item__dropdown-icon", name: arrowDownIcon, mode: IconMode.Decorative }))] }));
34
+ }
35
+ function dropdown() {
36
+ return this.isDropdownOpened ? (_jsx("div", { class: "udex-masthead-item__dropdown", id: `${this._id}_dropdown`, onKeyDown: this.handleKeyDown, onFocusOut: this.handleFocusout, children: _jsx("div", { class: "udex-masthead-item__dropdown-holder", children: _jsx("slot", { name: "dropdown" }) }) })) : (_jsx("div", { id: `${this._id}_dropdown` }));
37
+ }
38
+ function badge() {
39
+ return this.numberBadge ? (_jsx(UDExBadge, { class: "udex-masthead-item__badge", type: UDExTypeBadgeDesign.Number, numberDesign: UDExNumberBadgeDesign.Red, size: UDExSizeBadgeDesign.Small, children: this.numberBadge })) : undefined;
40
+ }
41
+ //# sourceMappingURL=MastheadItemTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MastheadItemTemplate.js","sourceRoot":"","sources":["../src/MastheadItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadItem from \"./MastheadItem.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UDExBadge from \"./Badge.js\";\nimport arrowDownIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport worldIcon from \"@ui5/webcomponents-icons/dist/world.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\n\nexport default function MastheadItemTemplate(this: UDExMastheadItem) {\n if (this.hasHref) {\n return link.call(this);\n }\n if (this.isProfileBtn) {\n return profileButton.call(this);\n }\n return button.call(this);\n}\n\nfunction link(this: UDExMastheadItem) {\n return (\n <>\n <a\n id={this._id}\n class={this.additionalClass}\n role={this.accessibleRoleName as AriaRole}\n aria-label={this.accessibleLabel}\n target={this.target}\n href={this.href}\n aria-describedby={this.ariaDescribedBy}\n onClick={this.handleItemClick as any}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n tabindex={0}>\n {content.call(this)}\n {badge.call(this)}\n </a>\n {this.isTargetBlank && (\n <span id=\"new-win-desc\" class=\"udex-masthead-hidden-text\">\n {this.openInNewWindowText}\n </span>\n )}\n </>\n );\n}\n\nfunction profileButton(this: UDExMastheadItem) {\n return (\n <>\n <button\n class={`udex-masthead-item__btn udex-masthead-item__profile-btn ${this.additionalClass}`}\n id={this._id}\n tabindex={0}\n aria-expanded={this.buttonAriaExpanded}\n aria-describedby={this.ariaDescribedBy}\n aria-controls={`${this._id}_dropdown`}\n aria-label={this.accessibleLabel}\n onKeyDown={this.handleKeyDown}\n onClick={this.handleItemClick as any}\n onclick-default={this.handleItemClick}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}>\n {content.call(this)}\n {badge.call(this)}\n </button>\n {dropdown.call(this)}\n </>\n );\n}\n\nfunction button(this: UDExMastheadItem) {\n return (\n <>\n <button\n role={this.accessibleRoleName as AriaRole}\n id={this._id}\n class={`udex-masthead-item__btn ${this.additionalClass}`}\n tabindex={0}\n aria-expanded={this.buttonAriaExpanded}\n aria-controls={`${this._id}_dropdown`}\n aria-describedby={this.ariaDescribedBy}\n aria-label={this.accessibleLabel}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onClick={this.handleItemClick as any}>\n {content.call(this)}\n {badge.call(this)}\n </button>\n {dropdown.call(this)}\n </>\n );\n}\n\nfunction content(this: UDExMastheadItem) {\n if (this.icon) {\n return (\n <UI5Icon\n class=\"udex-masthead-item__icon\"\n name={this.icon}\n show-tooltip={this.iconAltText}\n accessible-name={this.iconAltText}\n mode={IconMode.Decorative}>\n </UI5Icon>\n );\n }\n\n if (this.image) {\n return (\n <>\n {this.imageLoadError ? (\n <UI5Icon\n class=\"udex-masthead-item__icon\"\n name={worldIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n ) : (\n <div class=\"udex-masthead-item__image-wrap\">\n <img\n class=\"udex-masthead-item__image\"\n id={`${this._id}_image-alt`}\n src={this.image}\n aria-hidden={this.isCountrySelectorBtn}\n alt={this.imageAlt}\n onError={this.handleImageError}\n />\n </div>\n )}\n {this.imageAlt && (\n <span id=\"image-desc\" class=\"udex-masthead-hidden-text\">\n {this.imageAlt}\n </span>\n )}\n </>\n );\n }\n\n return (\n <span class=\"udex-masthead-item__text\">\n <slot></slot>\n {this.hasArrowDown && (\n <UI5Icon\n class=\"udex-masthead-item__dropdown-icon\"\n name={arrowDownIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n )}\n </span>\n );\n}\n\nfunction dropdown(this: UDExMastheadItem) {\n return this.isDropdownOpened ? (\n <div\n class=\"udex-masthead-item__dropdown\"\n id={`${this._id}_dropdown`}\n onKeyDown={this.handleKeyDown}\n onFocusOut={this.handleFocusout}>\n <div class=\"udex-masthead-item__dropdown-holder\">\n <slot name=\"dropdown\"></slot>\n </div>\n </div>\n ) : (\n <div id={`${this._id}_dropdown`}></div>\n );\n}\n\nfunction badge(this: UDExMastheadItem) {\n return this.numberBadge ? (\n <UDExBadge\n class=\"udex-masthead-item__badge\"\n type={UDExTypeBadgeDesign.Number}\n numberDesign={UDExNumberBadgeDesign.Red}\n size={UDExSizeBadgeDesign.Small}>\n {this.numberBadge}\n </UDExBadge>\n ) : undefined;\n}\n"]}
@@ -9,6 +9,7 @@ export type Item = {
9
9
  title: string;
10
10
  url?: string;
11
11
  externalLink: boolean;
12
+ badge?: string;
12
13
  isDivider?: boolean;
13
14
  subItems?: Item[];
14
15
  };
@@ -8,17 +8,15 @@ var UDExMastheadMenu_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
12
12
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
13
  import Icon from "@ui5/webcomponents/dist/Icon.js";
14
14
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
15
15
  import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
16
16
  import "@ui5/webcomponents-icons/dist/action.js";
17
17
  import { isTabNext, isTabPrevious, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
18
- import UDExBadge from "./Badge.js";
19
18
  import UDExMastheadMenuItem, { UDExItemType } from "./MastheadMenuItem.js";
20
- import UDExDivider from "./Divider.js";
21
- import MastheadMenuTemplate from "./generated/templates/MastheadMenuTemplate.lit.js";
19
+ import MastheadMenuTemplate from "./MastheadMenuTemplate.js";
22
20
  import parseArrayFromString from "./utils/parseArrayFromString.js";
23
21
  import AnalyticsName from "./types/AnalyticsName.js";
24
22
  import { OVERVIEW } from "./generated/i18n/i18n-defaults.js";
@@ -194,10 +192,10 @@ __decorate([
194
192
  UDExMastheadMenu = UDExMastheadMenu_1 = __decorate([
195
193
  customElement({
196
194
  tag: "udex-masthead-menu",
197
- renderer: litRender,
195
+ renderer: jsxRenderer,
198
196
  styles: MastheadMenuCss,
199
197
  template: MastheadMenuTemplate,
200
- dependencies: [Icon, UDExBadge, UDExMastheadMenuItem, UDExDivider],
198
+ dependencies: [Icon, UDExMastheadMenuItem],
201
199
  })
202
200
  /**
203
201
  * Fires when menu item is clicked
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport {\n isTabNext, isTabPrevious, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExDivider from \"./Divider.js\";\nimport MastheadMenuTemplate from \"./generated/templates/MastheadMenuTemplate.lit.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport type { UDExScrollIntoViewOptions } from \"./types/List.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url?: string;\n externalLink: boolean;\n isDivider?: boolean;\n subItems?: Item[];\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadMenuMenuItemClickEventDetail = {\n category?: string,\n analyticsPath: Array<string>,\n analyticsName: AnalyticsName,\n originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: litRender,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExBadge, UDExMastheadMenuItem, UDExDivider],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {string} category The category of the clicked menu item\n * @param {Array<string>} analyticsPath The analytics path for the clicked menu item\n * @param {AnalyticsName} analyticsName The analytics name for the clicked menu item\n * @param {PointerEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked menu item\n * @param {HTMLElement} sourceNode The source node of the clicked menu item\n */\n@event(\"menu-item-click\", { bubbles: true })\n\nclass UDExMastheadMenu extends UI5Element {\n eventDetails!: {\n \"menu-item-click\": UDExMastheadMenuMenuItemClickEventDetail\n };\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"[]\";\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the scroll behavior for the items of the component.\n *\n * @default undefined\n * @private\n */\n @property()\n _scrollIntoView?: `${UDExScrollIntoViewOptions}`;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n handleKeyDown(e: KeyboardEvent): void {\n const isFirstItem = e.target === this.links[0];\n const isLastItem = e.target === this.links[this.links.length - 1];\n\n if (isTabPrevious(e) && !isFirstItem) {\n this.handlePreviousItemFocus(e);\n }\n if (isTabNext(e) && !isLastItem) {\n this.handleNextItemFocus(e);\n }\n if (isHome(e)) {\n this.handleHomeKey(e);\n }\n if (isEnd(e)) {\n this.handleEndKey(e);\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[0]);\n }\n\n handleEndKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[this.links.length - 1]);\n }\n\n handlePreviousItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n\n handleNextItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n\n handleMenuItemClick(e: PointerEvent): void {\n const menuItem = e.target as UDExMastheadMenuItem;\n if (!menuItem.url?.length) {\n return;\n }\n\n const mainItem = this.closest(\"[udex-masthead-item]\") as UDExMastheadItem;\n const menuList = menuItem.closest(\".udex-masthead-menu__list\") as HTMLElement;\n const sourceNode = menuItem.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement;\n const category = menuList?.getAttribute(\"category\") || \"\";\n\n const eventDetail: UDExMastheadMenuMenuItemClickEventDetail = {\n analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),\n analyticsName: AnalyticsName.Header,\n originalEvent: e,\n item: menuItem,\n sourceNode,\n ...(menuItem.type !== UDExItemType.Heading && { category }),\n };\n\n this.fireDecoratorEvent(\"menu-item-click\", eventDetail);\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[previousSelectIndex]);\n }\n this.focusInnerElement(this.links[previousSelectIndex]);\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[nextSelectIndex]);\n }\n this.focusInnerElement(this.links[nextSelectIndex]);\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n focusFirstItem(): void {\n const firstItem = this.links[0];\n if (firstItem) {\n this.focusInnerElement(firstItem);\n }\n }\n\n private focusInnerElement(item: UDExMastheadMenuItem): void {\n item.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-menu-item\")?.focus();\n }\n\n scrollToItem(item: UDExMastheadMenuItem): void {\n item.scrollIntoView({ block: this._scrollIntoView?.toLowerCase() as ScrollLogicalPosition });\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = parseArrayFromString(this.subItems);\n\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((subMenu: SubMenuLinkItem) => {\n subMenu.categoryId = `${id++}`;\n\n subMenu.items = subMenu.items ? subMenu.items.map((item: Item) => ({\n ...item,\n ...(item.title === \"-\" && { isDivider: true }),\n })) : [];\n\n return subMenu;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n\n get overviewHeaderLinkText(): string {\n return translate(UDExMastheadMenu, OVERVIEW);\n }\n\n get hasFourColumns(): boolean {\n return this.itemsList.some(item => item.subMenuLinkItems.length === 4);\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\nexport type { UDExMastheadMenuMenuItemClickEventDetail };\n"]}
1
+ {"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport {\n isTabNext, isTabPrevious, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport MastheadMenuTemplate from \"./MastheadMenuTemplate.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport type { UDExScrollIntoViewOptions } from \"./types/List.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url?: string;\n externalLink: boolean;\n badge?: string;\n isDivider?: boolean;\n subItems?: Item[];\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadMenuMenuItemClickEventDetail = {\n category?: string,\n analyticsPath: Array<string>,\n analyticsName: AnalyticsName,\n originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\n sourceNode: HTMLElement,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: jsxRenderer,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExMastheadMenuItem],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {string} category The category of the clicked menu item\n * @param {Array<string>} analyticsPath The analytics path for the clicked menu item\n * @param {AnalyticsName} analyticsName The analytics name for the clicked menu item\n * @param {PointerEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked menu item\n * @param {HTMLElement} sourceNode The source node of the clicked menu item\n */\n@event(\"menu-item-click\", { bubbles: true })\n\nclass UDExMastheadMenu extends UI5Element {\n eventDetails!: {\n \"menu-item-click\": UDExMastheadMenuMenuItemClickEventDetail\n };\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"[]\";\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the scroll behavior for the items of the component.\n *\n * @default undefined\n * @private\n */\n @property()\n _scrollIntoView?: `${UDExScrollIntoViewOptions}`;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n handleKeyDown(e: KeyboardEvent): void {\n const isFirstItem = e.target === this.links[0];\n const isLastItem = e.target === this.links[this.links.length - 1];\n\n if (isTabPrevious(e) && !isFirstItem) {\n this.handlePreviousItemFocus(e);\n }\n if (isTabNext(e) && !isLastItem) {\n this.handleNextItemFocus(e);\n }\n if (isHome(e)) {\n this.handleHomeKey(e);\n }\n if (isEnd(e)) {\n this.handleEndKey(e);\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[0]);\n }\n\n handleEndKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[this.links.length - 1]);\n }\n\n handlePreviousItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n\n handleNextItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n\n handleMenuItemClick(e: PointerEvent): void {\n const menuItem = e.target as UDExMastheadMenuItem;\n if (!menuItem.url?.length) {\n return;\n }\n\n const mainItem = this.closest(\"[udex-masthead-item]\") as UDExMastheadItem;\n const menuList = menuItem.closest(\".udex-masthead-menu__list\") as HTMLElement;\n const sourceNode = menuItem.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement;\n const category = menuList?.getAttribute(\"category\") || \"\";\n\n const eventDetail: UDExMastheadMenuMenuItemClickEventDetail = {\n analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),\n analyticsName: AnalyticsName.Header,\n originalEvent: e,\n item: menuItem,\n sourceNode,\n ...(menuItem.type !== UDExItemType.Heading && { category }),\n };\n\n this.fireDecoratorEvent(\"menu-item-click\", eventDetail);\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[previousSelectIndex]);\n }\n this.focusInnerElement(this.links[previousSelectIndex]);\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[nextSelectIndex]);\n }\n this.focusInnerElement(this.links[nextSelectIndex]);\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n focusFirstItem(): void {\n const firstItem = this.links[0];\n if (firstItem) {\n this.focusInnerElement(firstItem);\n }\n }\n\n private focusInnerElement(item: UDExMastheadMenuItem): void {\n item.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-menu-item\")?.focus();\n }\n\n scrollToItem(item: UDExMastheadMenuItem): void {\n item.scrollIntoView({ block: this._scrollIntoView?.toLowerCase() as ScrollLogicalPosition });\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = parseArrayFromString(this.subItems);\n\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((subMenu: SubMenuLinkItem) => {\n subMenu.categoryId = `${id++}`;\n\n subMenu.items = subMenu.items ? subMenu.items.map((item: Item) => ({\n ...item,\n ...(item.title === \"-\" && { isDivider: true }),\n })) : [];\n\n return subMenu;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n\n get overviewHeaderLinkText(): string {\n return translate(UDExMastheadMenu, OVERVIEW);\n }\n\n get hasFourColumns(): boolean {\n return this.itemsList.some(item => item.subMenuLinkItems.length === 4);\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\nexport type { UDExMastheadMenuMenuItemClickEventDetail };\n"]}
@@ -1,8 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- import "@ui5/webcomponents-icons/dist/action.js";
4
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
5
- import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
6
3
  import { UDExTarget } from "./types/common.js";
7
4
  export declare enum UDExItemType {
8
5
  Heading = "Heading",
@@ -8,17 +8,14 @@ var UDExMastheadMenuItem_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
12
12
  import Icon from "@ui5/webcomponents/dist/Icon.js";
13
13
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
- import "@ui5/webcomponents-icons/dist/action.js";
16
- import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
17
- import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
18
15
  import { OPENS_IN_A_NEW_WINDOW } from "./generated/i18n/i18n-defaults.js";
19
16
  import { UDExTarget } from "./types/common.js";
20
17
  import translate from "./utils/translate.js";
21
- import MastheadMenuItemTemplate from "./generated/templates/MastheadMenuItemTemplate.lit.js";
18
+ import MastheadMenuItemTemplate from "./MastheadMenuItemTemplate.js";
22
19
  // Styles
23
20
  import MastheadMenuItemCss from "./generated/themes/MastheadMenuItem.css.js";
24
21
  export var UDExItemType;
@@ -161,7 +158,7 @@ UDExMastheadMenuItem = UDExMastheadMenuItem_1 = __decorate([
161
158
  customElement({
162
159
  tag: "udex-masthead-menu-item",
163
160
  languageAware: true,
164
- renderer: litRender,
161
+ renderer: jsxRenderer,
165
162
  styles: MastheadMenuItemCss,
166
163
  template: MastheadMenuItemTemplate,
167
164
  dependencies: [Icon],
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\n\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport { OPENS_IN_A_NEW_WINDOW } from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport translate from \"./utils/translate.js\";\n\nimport MastheadMenuItemTemplate from \"./generated/templates/MastheadMenuItemTemplate.lit.js\";\n\n// Styles\nimport MastheadMenuItemCss from \"./generated/themes/MastheadMenuItem.css.js\";\n\nexport enum UDExItemType {\n Heading = \"Heading\",\n Button = \"Button\",\n Link = \"Link\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n tag: \"udex-masthead-menu-item\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadMenuItemCss,\n template: MastheadMenuItemTemplate,\n dependencies: [Icon],\n})\n\nclass UDExMastheadMenuItem extends UI5Element {\n /**\n * Defines the type of the item.\n *\n * @default \"Link\"\n * @public\n */\n @property()\n type: `${UDExItemType}` = UDExItemType.Link;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines the label of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the url of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n url?: string;\n\n /**\n * Defines the badge of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n badge?: string;\n\n /**\n * Defines the externalLink of the component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n externalLink?: boolean;\n\n /**\n * Defines the border for component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hasBorder?: boolean;\n\n /**\n * Defines the start position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconStart?: boolean;\n\n /**\n * Defines the end position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconEnd?: boolean;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ type: Number })\n index!: number;\n\n /**\n * Defines the aria-haspopup attribute for the item.\n *\n * @public\n */\n @property({ type: String })\n ariaHasPopup!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n * @default \"_self\"\n */\n @property()\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Defines the accessible name of the item.\n *\n * @default undefined\n * @private\n */\n @property()\n _accessibleName?: string;\n\n /**\n * Defines the tabindex attribute for the item.\n *\n * @private\n */\n @property({ type: String })\n _tabIndex!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n get rootClass(): string {\n const prefixClass = \"udex-masthead-menu-item\";\n const badgeClass = this.badge ? `${prefixClass}_badge` : \"\";\n const rootClass = this.isHeadingType ? `${prefixClass}_is-header` : `${prefixClass}_is-list`;\n return `${rootClass} ${badgeClass}`;\n }\n\n get labelClass(): string {\n const root = \"udex-masthead-menu-item__label\";\n return this.externalLink ? `${root} ${root}__label_with-icon` : `${root}`;\n }\n\n get isHeadingType(): boolean {\n return this.type === UDExItemType.Heading;\n }\n\n get isButtonType(): boolean {\n return this.type === UDExItemType.Button;\n }\n\n get isActive(): boolean {\n return !!this.url && !this.isButtonType;\n }\n\n get targetLink(): string {\n if (this.externalLink) {\n return this.externalLink ? UDExTarget._blank : UDExTarget._self;\n }\n return this.target;\n }\n\n get lastWordOfLabel(): string | undefined {\n return this.label.split(\" \").pop();\n }\n\n get leadingWordsOfLabel(): string {\n const leadingWords = this.label.split(\" \").slice(0, -1).join(\" \");\n return `${leadingWords} `;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadMenuItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get ariaDescribedby(): string | null {\n return this.externalLink ? \"new-win-desc\" : null;\n }\n\n get accessibleRoleText(): string {\n return this.accessibleRole ? this.accessibleRole : \"menuitem\";\n }\n\n get partAttr(): string {\n return this.badge ? \"menu-item-link-badge\" : \"menu-item-link\";\n }\n}\n\nUDExMastheadMenuItem.define();\n\nexport default UDExMastheadMenuItem;\n"]}
1
+ {"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { OPENS_IN_A_NEW_WINDOW } from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport translate from \"./utils/translate.js\";\n\nimport MastheadMenuItemTemplate from \"./MastheadMenuItemTemplate.js\";\n\n// Styles\nimport MastheadMenuItemCss from \"./generated/themes/MastheadMenuItem.css.js\";\n\nexport enum UDExItemType {\n Heading = \"Heading\",\n Button = \"Button\",\n Link = \"Link\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n tag: \"udex-masthead-menu-item\",\n languageAware: true,\n renderer: jsxRenderer,\n styles: MastheadMenuItemCss,\n template: MastheadMenuItemTemplate,\n dependencies: [Icon],\n})\n\nclass UDExMastheadMenuItem extends UI5Element {\n /**\n * Defines the type of the item.\n *\n * @default \"Link\"\n * @public\n */\n @property()\n type: `${UDExItemType}` = UDExItemType.Link;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines the label of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the url of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n url?: string;\n\n /**\n * Defines the badge of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n badge?: string;\n\n /**\n * Defines the externalLink of the component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n externalLink?: boolean;\n\n /**\n * Defines the border for component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hasBorder?: boolean;\n\n /**\n * Defines the start position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconStart?: boolean;\n\n /**\n * Defines the end position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconEnd?: boolean;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ type: Number })\n index!: number;\n\n /**\n * Defines the aria-haspopup attribute for the item.\n *\n * @public\n */\n @property({ type: String })\n ariaHasPopup!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n * @default \"_self\"\n */\n @property()\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Defines the accessible name of the item.\n *\n * @default undefined\n * @private\n */\n @property()\n _accessibleName?: string;\n\n /**\n * Defines the tabindex attribute for the item.\n *\n * @private\n */\n @property({ type: String })\n _tabIndex!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n get rootClass(): string {\n const prefixClass = \"udex-masthead-menu-item\";\n const badgeClass = this.badge ? `${prefixClass}_badge` : \"\";\n const rootClass = this.isHeadingType ? `${prefixClass}_is-header` : `${prefixClass}_is-list`;\n return `${rootClass} ${badgeClass}`;\n }\n\n get labelClass(): string {\n const root = \"udex-masthead-menu-item__label\";\n return this.externalLink ? `${root} ${root}__label_with-icon` : `${root}`;\n }\n\n get isHeadingType(): boolean {\n return this.type === UDExItemType.Heading;\n }\n\n get isButtonType(): boolean {\n return this.type === UDExItemType.Button;\n }\n\n get isActive(): boolean {\n return !!this.url && !this.isButtonType;\n }\n\n get targetLink(): string {\n if (this.externalLink) {\n return this.externalLink ? UDExTarget._blank : UDExTarget._self;\n }\n return this.target;\n }\n\n get lastWordOfLabel(): string | undefined {\n return this.label.split(\" \").pop();\n }\n\n get leadingWordsOfLabel(): string {\n const leadingWords = this.label.split(\" \").slice(0, -1).join(\" \");\n return `${leadingWords} `;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadMenuItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get ariaDescribedby(): string | null {\n return this.externalLink ? \"new-win-desc\" : null;\n }\n\n get accessibleRoleText(): string {\n return this.accessibleRole ? this.accessibleRole : \"menuitem\";\n }\n\n get partAttr(): string {\n return this.badge ? \"menu-item-link-badge\" : \"menu-item-link\";\n }\n}\n\nUDExMastheadMenuItem.define();\n\nexport default UDExMastheadMenuItem;\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExMastheadMenuItem from "./MastheadMenuItem.js";
2
+ export default function MastheadMenuItemTemplate(this: UDExMastheadMenuItem): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
4
+ import UDExBadge from "./Badge.js";
5
+ import { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
6
+ import actionIcon from "@ui5/webcomponents-icons/dist/action.js";
7
+ import slimArrowRightIcon from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
8
+ import slimArrowLeftIcon from "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
9
+ export default function MastheadMenuItemTemplate() {
10
+ if (this.isActive) {
11
+ return activeItem.call(this);
12
+ }
13
+ if (this.isButtonType) {
14
+ return buttonItem.call(this);
15
+ }
16
+ return spanItem.call(this);
17
+ }
18
+ function activeItem() {
19
+ return (_jsxs(_Fragment, { children: [_jsxs("a", { class: `udex-masthead-menu-item ${this.rootClass}`, "aria-describedby": this.ariaDescribedby || undefined, role: this.accessibleRoleText, href: this.url, part: this.partAttr, target: this.targetLink, tabindex: Number(this._tabIndex), children: [this.iconStart && arrowLeft(), _jsx("span", { class: this.labelClass, children: label.call(this) }), this.iconEnd && arrowRight()] }), this.externalLink && (_jsx("span", { id: "new-win-desc", class: "udex-masthead-hidden-text", children: this.openInNewWindowText })), this.badge && (_jsx(UDExBadge, { class: "udex-masthead-menu-item-badge", part: "badge", type: UDExTypeBadgeDesign.Number, "number-design": UDExNumberBadgeDesign.Blue, size: UDExSizeBadgeDesign.Small, children: this.badge }))] }));
20
+ }
21
+ function buttonItem() {
22
+ return (_jsxs("button", { "_id": this.id, part: "menu-item-button", class: `udex-masthead-menu-item ${this.rootClass}`, "aria-label": this._accessibleName, "aria-haspopup": this.ariaHasPopup, role: this.accessibleRoleText, tabindex: Number(this._tabIndex), children: [this.iconStart && arrowLeft(), this.label, this.iconEnd && arrowRight()] }));
23
+ }
24
+ function spanItem() {
25
+ return (_jsxs("span", { class: `udex-masthead-menu-item ${this.rootClass}`, part: "menu-item", children: [this.iconStart && arrowLeft(), this.label, this.iconEnd && arrowRight()] }));
26
+ }
27
+ function label() {
28
+ return this.externalLink ? (_jsxs(_Fragment, { children: [this.leadingWordsOfLabel, _jsxs("span", { class: "udex-masthead-menu-item__text-with-icon", children: [this.lastWordOfLabel, _jsx(UI5Icon, { class: "udex-masthead-menu-item__icon udex-masthead-menu-item_icon-action", name: actionIcon, mode: IconMode.Decorative })] })] })) : (_jsx("span", { children: this.label }));
29
+ }
30
+ function arrowLeft() {
31
+ return (_jsx(UI5Icon, { class: "udex-masthead-menu-item__icon udex-masthead-menu-item_icon-left", part: "left", name: slimArrowLeftIcon, mode: IconMode.Decorative }));
32
+ }
33
+ function arrowRight() {
34
+ return (_jsx(UI5Icon, { class: "udex-masthead-menu-item__icon udex-masthead-menu-item_icon-right", part: "right", name: slimArrowRightIcon, mode: IconMode.Decorative }));
35
+ }
36
+ //# sourceMappingURL=MastheadMenuItemTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MastheadMenuItemTemplate.js","sourceRoot":"","sources":["../src/MastheadMenuItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UDExBadge from \"./Badge.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\nimport actionIcon from \"@ui5/webcomponents-icons/dist/action.js\";\nimport slimArrowRightIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport slimArrowLeftIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport type { Booleanish } from \"@ui5/webcomponents-base/thirdparty/preact/jsx.js\";\n\nexport default function MastheadMenuItemTemplate(this: UDExMastheadMenuItem) {\n if (this.isActive) {\n return activeItem.call(this);\n }\n if (this.isButtonType) {\n return buttonItem.call(this);\n }\n return spanItem.call(this);\n}\n\nfunction activeItem(this: UDExMastheadMenuItem) {\n return (\n <>\n <a\n class={`udex-masthead-menu-item ${this.rootClass}`}\n aria-describedby={this.ariaDescribedby || undefined}\n role={this.accessibleRoleText as AriaRole}\n href={this.url}\n part={this.partAttr}\n target={this.targetLink}\n tabindex={Number(this._tabIndex)}>\n {this.iconStart && arrowLeft()}\n <span class={this.labelClass}>\n {label.call(this)}\n </span>\n {this.iconEnd && arrowRight()}\n </a>\n {this.externalLink && (\n <span id=\"new-win-desc\" class=\"udex-masthead-hidden-text\">\n {this.openInNewWindowText}\n </span>\n )}\n {this.badge && (\n <UDExBadge\n class=\"udex-masthead-menu-item-badge\"\n part=\"badge\"\n type={UDExTypeBadgeDesign.Number}\n number-design={UDExNumberBadgeDesign.Blue}\n size={UDExSizeBadgeDesign.Small}>\n {this.badge}\n </UDExBadge>\n )}\n </>\n );\n}\n\nfunction buttonItem(this: UDExMastheadMenuItem) {\n return (\n <button\n {...{ \"_id\": this.id }}\n part=\"menu-item-button\"\n class={`udex-masthead-menu-item ${this.rootClass}`}\n aria-label={this._accessibleName}\n aria-haspopup={this.ariaHasPopup as Booleanish}\n role={this.accessibleRoleText as AriaRole}\n tabindex={Number(this._tabIndex)}>\n {this.iconStart && arrowLeft()}\n {this.label}\n {this.iconEnd && arrowRight()}\n </button>\n );\n}\n\nfunction spanItem(this: UDExMastheadMenuItem) {\n return (\n <span class={`udex-masthead-menu-item ${this.rootClass}`} part=\"menu-item\">\n {this.iconStart && arrowLeft()}\n {this.label}\n {this.iconEnd && arrowRight()}\n </span>\n );\n}\n\nfunction label(this: UDExMastheadMenuItem) {\n return this.externalLink ? (\n <>\n {this.leadingWordsOfLabel}\n <span class=\"udex-masthead-menu-item__text-with-icon\">\n {this.lastWordOfLabel}\n <UI5Icon\n class=\"udex-masthead-menu-item__icon udex-masthead-menu-item_icon-action\"\n name={actionIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </span>\n </>\n ) : (\n <span>{this.label}</span>\n );\n}\n\nfunction arrowLeft() {\n return (\n <UI5Icon\n class=\"udex-masthead-menu-item__icon udex-masthead-menu-item_icon-left\"\n part=\"left\"\n name={slimArrowLeftIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n );\n}\n\nfunction arrowRight() {\n return (\n <UI5Icon\n class=\"udex-masthead-menu-item__icon udex-masthead-menu-item_icon-right\"\n part=\"right\"\n name={slimArrowRightIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type UDExMastheadMenu from "./MastheadMenu.js";
2
+ export default function MastheadMenuTemplate(this: UDExMastheadMenu): import("@ui5/webcomponents-base").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import UDExMastheadMenuItem from "./MastheadMenuItem.js";
3
+ import UDExDivider from "./Divider.js";
4
+ export default function MastheadMenuTemplate() {
5
+ return (_jsxs("div", { class: `udex-masthead-menu ${this.oneRowClass}`, part: "menu", onKeyDown: this.handleKeyDown, children: [this.menuTitle && (_jsx("div", { class: "udex-masthead-menu__title", children: this.menuTitle })), this.itemsList.map((mainItem, index) => (_jsx("div", { class: "udex-masthead-menu__row", children: mainItem.subMenuLinkItems.map(subMenu => (_jsxs("div", { class: "udex-masthead-menu__column", part: "column", children: [subMenu.category && header.call(this, subMenu), list.call(this, subMenu)] }, subMenu.categoryId))) }, index)))] }));
6
+ }
7
+ function header(subMenu) {
8
+ return (_jsx("div", { class: "udex-masthead-menu__header", children: subMenu.url ? (this._isMobileMode ? (_jsxs(_Fragment, { children: [_jsx(UDExMastheadMenuItem, { id: `category-${subMenu.categoryId}`, type: "Heading", part: "menu-item", exportparts: "menu-item", label: subMenu.category, "has-border": true }), _jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "menu-item", label: this.overviewHeaderLinkText, url: subMenu.url, "has-border": true })] })) : (_jsx(UDExMastheadMenuItem, { id: `category-${subMenu.categoryId}`, type: "Heading", part: "menu-item", exportparts: "menu-item", "accessible-role": "link", onClick: this.handleMenuItemClick, url: subMenu.url, label: subMenu.category, "icon-end": true, "has-border": true }))) : (_jsx(UDExMastheadMenuItem, { id: `category-${subMenu.categoryId}`, type: "Heading", part: "menu-item", exportparts: "menu-item", label: subMenu.category, "has-border": true })) }));
9
+ }
10
+ function list(subMenu) {
11
+ return (_jsx("ul", { class: "udex-masthead-menu__list", "aria-labelledby": `category-${subMenu.categoryId}`, category: subMenu.category, children: subMenu.items.map((item, index) => (_jsx("li", { children: item.isDivider ? (_jsx(UDExDivider, { class: "udex-masthead-menu__item-divider" })) : item.subItems ? (_jsxs(_Fragment, { children: [item.url ? (_jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "menu-item", onClick: this.handleMenuItemClick, url: item.url, label: item.title, class: "udex-masthead-menu__sub-category" })) : (_jsx("span", { class: "udex-masthead-menu__sub-category", children: item.title })), _jsx("ul", { class: "udex-masthead-menu__sub-list", "aria-label": item.title, children: item.subItems.map((subItem, subIndex) => (_jsx("li", { children: subItem.isDivider ? (_jsx(UDExDivider, { class: "udex-masthead-menu__item-divider" })) : (_jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "badge", onClick: this.handleMenuItemClick, badge: subItem.badge, "external-link": subItem.externalLink, url: subItem.url, label: subItem.title })) }, subIndex))) })] })) : (_jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "badge", onClick: this.handleMenuItemClick, badge: item.badge, "external-link": item.externalLink, url: item.url, label: item.title })) }, index))) }));
12
+ }
13
+ //# sourceMappingURL=MastheadMenuTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MastheadMenuTemplate.js","sourceRoot":"","sources":["../src/MastheadMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadMenu from \"./MastheadMenu.js\";\nimport type { SubMenuLinkItem } from \"./MastheadMenu.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExDivider from \"./Divider.js\";\n\nexport default function MastheadMenuTemplate(this: UDExMastheadMenu) {\n return (\n <div\n class={`udex-masthead-menu ${this.oneRowClass}`}\n part=\"menu\"\n onKeyDown={this.handleKeyDown}>\n {this.menuTitle && (\n <div class=\"udex-masthead-menu__title\">{this.menuTitle}</div>\n )}\n {this.itemsList.map((mainItem, index) => (\n <div class=\"udex-masthead-menu__row\" key={index}>\n {mainItem.subMenuLinkItems.map(subMenu => (\n <div class=\"udex-masthead-menu__column\" part=\"column\" key={subMenu.categoryId}>\n {subMenu.category && header.call(this, subMenu)}\n {list.call(this, subMenu)}\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n}\n\nfunction header(this: UDExMastheadMenu, subMenu: SubMenuLinkItem) {\n return (\n <div class=\"udex-masthead-menu__header\">\n {subMenu.url ? (\n this._isMobileMode ? (\n <>\n <UDExMastheadMenuItem\n id={`category-${subMenu.categoryId}`}\n type=\"Heading\"\n part=\"menu-item\"\n exportparts=\"menu-item\"\n label={subMenu.category}\n has-border={true}>\n </UDExMastheadMenuItem>\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"menu-item\"\n label={this.overviewHeaderLinkText}\n url={subMenu.url}\n has-border={true}>\n </UDExMastheadMenuItem>\n </>\n ) : (\n <UDExMastheadMenuItem\n id={`category-${subMenu.categoryId}`}\n type=\"Heading\"\n part=\"menu-item\"\n exportparts=\"menu-item\"\n accessible-role=\"link\"\n onClick={this.handleMenuItemClick as any}\n url={subMenu.url}\n label={subMenu.category}\n icon-end={true}\n has-border={true}>\n </UDExMastheadMenuItem>\n )\n ) : (\n <UDExMastheadMenuItem\n id={`category-${subMenu.categoryId}`}\n type=\"Heading\"\n part=\"menu-item\"\n exportparts=\"menu-item\"\n label={subMenu.category}\n has-border={true}>\n </UDExMastheadMenuItem>\n )}\n </div>\n );\n}\n\nfunction list(this: UDExMastheadMenu, subMenu: SubMenuLinkItem) {\n return (\n <ul\n class=\"udex-masthead-menu__list\"\n aria-labelledby={`category-${subMenu.categoryId}`}\n {...{ category: subMenu.category }}>\n {subMenu.items.map((item, index) => (\n <li key={index}>\n {item.isDivider ? (\n <UDExDivider class=\"udex-masthead-menu__item-divider\"></UDExDivider>\n ) : item.subItems ? (\n <>\n {item.url ? (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"menu-item\"\n onClick={this.handleMenuItemClick as any}\n url={item.url}\n label={item.title}\n class=\"udex-masthead-menu__sub-category\">\n </UDExMastheadMenuItem>\n ) : (\n <span class=\"udex-masthead-menu__sub-category\">{item.title}</span>\n )}\n <ul class=\"udex-masthead-menu__sub-list\" aria-label={item.title}>\n {item.subItems.map((subItem, subIndex) => (\n <li key={subIndex}>\n {subItem.isDivider ? (\n <UDExDivider class=\"udex-masthead-menu__item-divider\"></UDExDivider>\n ) : (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"badge\"\n onClick={this.handleMenuItemClick as any}\n badge={subItem.badge}\n external-link={subItem.externalLink}\n url={subItem.url}\n label={subItem.title}>\n </UDExMastheadMenuItem>\n )}\n </li>\n ))}\n </ul>\n </>\n ) : (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"badge\"\n onClick={this.handleMenuItemClick as any}\n badge={item.badge}\n external-link={item.externalLink}\n url={item.url}\n label={item.title}>\n </UDExMastheadMenuItem>\n )}\n </li>\n ))}\n </ul>\n );\n}\n"]}
@@ -8,7 +8,7 @@ var UDExMastheadMobileMenu_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
12
12
  import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
13
13
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
@@ -16,7 +16,7 @@ import { isHome, isEnd, isTabNext, isTabPrevious, } from "@ui5/webcomponents-bas
16
16
  import UDExMastheadMenuItem, { UDExItemType } from "./MastheadMenuItem.js";
17
17
  import { OVERVIEW } from "./generated/i18n/i18n-defaults.js";
18
18
  import AnalyticsName from "./types/AnalyticsName.js";
19
- import MastheadMobileMenuTemplate from "./generated/templates/MastheadMobileMenuTemplate.lit.js";
19
+ import MastheadMobileMenuTemplate from "./MastheadMobileMenuTemplate.js";
20
20
  import translate from "./utils/translate.js";
21
21
  // Styles
22
22
  import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js";
@@ -386,7 +386,7 @@ __decorate([
386
386
  UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = __decorate([
387
387
  customElement({
388
388
  tag: "udex-masthead-mobile-menu",
389
- renderer: litRender,
389
+ renderer: jsxRenderer,
390
390
  styles: MastheadMobileMenuCss,
391
391
  template: MastheadMobileMenuTemplate,
392
392
  dependencies: [UDExMastheadMenuItem],