@sapudex/web-components 2.53.0 → 2.55.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 (339) hide show
  1. package/cypress/specs/Breadcrumbs.cy.tsx +3 -1
  2. package/cypress/specs/FilterMenu.cy.tsx +68 -2
  3. package/cypress/specs/Footer.cy.tsx +59 -0
  4. package/cypress/specs/MediaPlayer.cy.tsx +58 -0
  5. package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +2 -2
  6. package/cypress/specs/SelectBox.cy.tsx +117 -0
  7. package/dist/Accordion.js +1 -1
  8. package/dist/Accordion.js.map +1 -1
  9. package/dist/AccordionItem.js +1 -1
  10. package/dist/AccordionItem.js.map +1 -1
  11. package/dist/Avatar.d.ts +2 -2
  12. package/dist/Avatar.js +1 -1
  13. package/dist/Avatar.js.map +1 -1
  14. package/dist/Badge.js +1 -1
  15. package/dist/Badge.js.map +1 -1
  16. package/dist/Breadcrumbs.js +1 -1
  17. package/dist/Breadcrumbs.js.map +1 -1
  18. package/dist/BreadcrumbsTemplate.js +1 -1
  19. package/dist/BreadcrumbsTemplate.js.map +1 -1
  20. package/dist/Carousel.js +1 -1
  21. package/dist/Carousel.js.map +1 -1
  22. package/dist/Contact.js +1 -1
  23. package/dist/Contact.js.map +1 -1
  24. package/dist/ContactItem.js +1 -1
  25. package/dist/ContactItem.js.map +1 -1
  26. package/dist/Feed.d.ts +2 -1
  27. package/dist/Feed.js +1 -1
  28. package/dist/Feed.js.map +1 -1
  29. package/dist/FeedItem.d.ts +2 -1
  30. package/dist/FeedItem.js +1 -1
  31. package/dist/FeedItem.js.map +1 -1
  32. package/dist/FilterMenu.d.ts +1 -1
  33. package/dist/FilterMenu.js +6 -6
  34. package/dist/FilterMenu.js.map +1 -1
  35. package/dist/FilterMenuGroupHeader.js +1 -1
  36. package/dist/FilterMenuGroupHeader.js.map +1 -1
  37. package/dist/Footer.d.ts +22 -2
  38. package/dist/Footer.js +41 -4
  39. package/dist/Footer.js.map +1 -1
  40. package/dist/FooterTemplate.js +7 -2
  41. package/dist/FooterTemplate.js.map +1 -1
  42. package/dist/ImageGridCloud.js +1 -1
  43. package/dist/ImageGridCloud.js.map +1 -1
  44. package/dist/ImageGridTable.js +1 -1
  45. package/dist/ImageGridTable.js.map +1 -1
  46. package/dist/ImageGridTableItem.js +1 -1
  47. package/dist/ImageGridTableItem.js.map +1 -1
  48. package/dist/ImageGridTicker.js +1 -1
  49. package/dist/ImageGridTicker.js.map +1 -1
  50. package/dist/InputGroup.js +1 -1
  51. package/dist/InputGroup.js.map +1 -1
  52. package/dist/LinkList.js +1 -1
  53. package/dist/LinkList.js.map +1 -1
  54. package/dist/List.js +7 -7
  55. package/dist/List.js.map +1 -1
  56. package/dist/ListGroupHeader.js +12 -5
  57. package/dist/ListGroupHeader.js.map +1 -1
  58. package/dist/ListGroupHeaderBase.d.ts +1 -1
  59. package/dist/ListGroupHeaderBase.js +3 -3
  60. package/dist/ListGroupHeaderBase.js.map +1 -1
  61. package/dist/ListGroupHeaderTemplate.d.ts +2 -0
  62. package/dist/ListGroupHeaderTemplate.js +33 -0
  63. package/dist/ListGroupHeaderTemplate.js.map +1 -0
  64. package/dist/ListItem.d.ts +3 -3
  65. package/dist/ListItem.js +5 -4
  66. package/dist/ListItem.js.map +1 -1
  67. package/dist/ListItemBase.d.ts +1 -0
  68. package/dist/ListItemBase.js +8 -4
  69. package/dist/ListItemBase.js.map +1 -1
  70. package/dist/ListItemTemplate.d.ts +2 -0
  71. package/dist/ListItemTemplate.js +18 -0
  72. package/dist/ListItemTemplate.js.map +1 -0
  73. package/dist/ListSelectAll.js +4 -5
  74. package/dist/ListSelectAll.js.map +1 -1
  75. package/dist/ListSelectAllTemplate.d.ts +2 -0
  76. package/dist/ListSelectAllTemplate.js +6 -0
  77. package/dist/ListSelectAllTemplate.js.map +1 -0
  78. package/dist/ListTemplate.d.ts +2 -0
  79. package/dist/ListTemplate.js +11 -0
  80. package/dist/ListTemplate.js.map +1 -0
  81. package/dist/MastheadItem.d.ts +3 -3
  82. package/dist/MastheadItem.js +1 -1
  83. package/dist/MastheadItem.js.map +1 -1
  84. package/dist/MastheadMobileMenu.d.ts +3 -3
  85. package/dist/MastheadMobileMenu.js +1 -1
  86. package/dist/MastheadMobileMenu.js.map +1 -1
  87. package/dist/MastheadProfileMenu.d.ts +3 -2
  88. package/dist/MastheadProfileMenu.js +1 -1
  89. package/dist/MastheadProfileMenu.js.map +1 -1
  90. package/dist/MastheadShell.d.ts +9 -9
  91. package/dist/MastheadShell.js +1 -1
  92. package/dist/MastheadShell.js.map +1 -1
  93. package/dist/MediaPlayer.d.ts +1 -1
  94. package/dist/MediaPlayer.js +11 -3
  95. package/dist/MediaPlayer.js.map +1 -1
  96. package/dist/MediaPlayerVimeo.d.ts +6 -0
  97. package/dist/MediaPlayerVimeo.js +27 -6
  98. package/dist/MediaPlayerVimeo.js.map +1 -1
  99. package/dist/MediaPlayerYoutube.d.ts +3 -0
  100. package/dist/MediaPlayerYoutube.js +24 -5
  101. package/dist/MediaPlayerYoutube.js.map +1 -1
  102. package/dist/MessageStrip.d.ts +2 -1
  103. package/dist/MessageStrip.js +1 -1
  104. package/dist/MessageStrip.js.map +1 -1
  105. package/dist/Modal.d.ts +2 -0
  106. package/dist/Modal.js +10 -3
  107. package/dist/Modal.js.map +1 -1
  108. package/dist/PromoTile.d.ts +2 -2
  109. package/dist/PromoTile.js +1 -1
  110. package/dist/PromoTile.js.map +1 -1
  111. package/dist/Quote.d.ts +4 -4
  112. package/dist/Quote.js +1 -1
  113. package/dist/Quote.js.map +1 -1
  114. package/dist/Review.d.ts +3 -3
  115. package/dist/Review.js +1 -1
  116. package/dist/Review.js.map +1 -1
  117. package/dist/ReviewItem.d.ts +4 -3
  118. package/dist/ReviewItem.js +1 -1
  119. package/dist/ReviewItem.js.map +1 -1
  120. package/dist/Search.js +1 -1
  121. package/dist/Search.js.map +1 -1
  122. package/dist/SearchableListBase.js +5 -1
  123. package/dist/SearchableListBase.js.map +1 -1
  124. package/dist/SecondaryNavigation.d.ts +3 -3
  125. package/dist/SecondaryNavigation.js +1 -1
  126. package/dist/SecondaryNavigation.js.map +1 -1
  127. package/dist/SecondaryNavigationItem.d.ts +2 -1
  128. package/dist/SecondaryNavigationItem.js +1 -1
  129. package/dist/SecondaryNavigationItem.js.map +1 -1
  130. package/dist/SelectBase.js +1 -1
  131. package/dist/SelectBase.js.map +1 -1
  132. package/dist/SelectBox.js +31 -0
  133. package/dist/SelectBox.js.map +1 -1
  134. package/dist/SelectBoxGroupHeader.js +1 -1
  135. package/dist/SelectBoxGroupHeader.js.map +1 -1
  136. package/dist/SelectBoxItem.d.ts +3 -3
  137. package/dist/SelectBoxItem.js +1 -1
  138. package/dist/SelectBoxItem.js.map +1 -1
  139. package/dist/SelectBoxTemplate.js +2 -1
  140. package/dist/SelectBoxTemplate.js.map +1 -1
  141. package/dist/SideNavigationMobile.d.ts +2 -2
  142. package/dist/SideNavigationMobile.js +1 -1
  143. package/dist/SideNavigationMobile.js.map +1 -1
  144. package/dist/SocialMediaButton.js +1 -1
  145. package/dist/SocialMediaButton.js.map +1 -1
  146. package/dist/Tab.d.ts +2 -2
  147. package/dist/Tab.js +1 -1
  148. package/dist/Tab.js.map +1 -1
  149. package/dist/TabNavigation.d.ts +2 -2
  150. package/dist/TabNavigation.js +1 -1
  151. package/dist/TabNavigation.js.map +1 -1
  152. package/dist/Table.d.ts +5 -5
  153. package/dist/Table.js +1 -1
  154. package/dist/Table.js.map +1 -1
  155. package/dist/TableCellBase.js +1 -1
  156. package/dist/TableCellBase.js.map +1 -1
  157. package/dist/TableGroupRow.js +1 -1
  158. package/dist/TableGroupRow.js.map +1 -1
  159. package/dist/TableRowBase.js +1 -1
  160. package/dist/TableRowBase.js.map +1 -1
  161. package/dist/TagGroup.js +1 -1
  162. package/dist/TagGroup.js.map +1 -1
  163. package/dist/Tile.d.ts +2 -1
  164. package/dist/Tile.js +1 -1
  165. package/dist/Tile.js.map +1 -1
  166. package/dist/Tooltip.d.ts +2 -1
  167. package/dist/Tooltip.js +1 -1
  168. package/dist/Tooltip.js.map +1 -1
  169. package/dist/Wizard.js +1 -1
  170. package/dist/Wizard.js.map +1 -1
  171. package/dist/assets/{InputSuggestions-0yCPXAmq.js → InputSuggestions-DPiJnNLn.js} +1 -1
  172. package/dist/assets/{ListItemStandardExpandableTextTemplate-DjZEnCXN.js → ListItemStandardExpandableTextTemplate-B-v72jL6.js} +1 -1
  173. package/dist/assets/{bundle.esm-DJuMR5ko.js → bundle.esm-DPppjwN7.js} +260 -260
  174. package/dist/assets/messagebundle_en-B0P3kkb6.js +1 -0
  175. package/dist/assets/messagebundle_it-BML2SC0W.js +1 -0
  176. package/dist/assets/messagebundle_ja-zyFfZHcj.js +1 -0
  177. package/dist/assets/messagebundle_ko-BCPaSqNp.js +1 -0
  178. package/dist/assets/messagebundle_lt-DB4b6FVx.js +1 -0
  179. package/dist/assets/messagebundle_lv-tAOia5tU.js +1 -0
  180. package/dist/css/themes/AccordionItem.css +1 -1
  181. package/dist/css/themes/Breadcrumbs.css +1 -1
  182. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  183. package/dist/css/themes/Footer.css +1 -1
  184. package/dist/css/themes/Link.css +1 -1
  185. package/dist/css/themes/ListGroupHeader.css +1 -1
  186. package/dist/custom-elements-internal.json +267 -157
  187. package/dist/custom-elements.json +221 -133
  188. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  194. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  195. package/dist/generated/i18n/i18n-defaults.js +2 -1
  196. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  197. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  198. package/dist/generated/themes/AccordionItem.css.js +1 -1
  199. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  200. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  201. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  202. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  203. package/dist/generated/themes/BreadcrumbsPopover.css.d.ts +1 -1
  204. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  205. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  206. package/dist/generated/themes/Footer.css.d.ts +1 -1
  207. package/dist/generated/themes/Footer.css.js +1 -1
  208. package/dist/generated/themes/Footer.css.js.map +1 -1
  209. package/dist/generated/themes/Link.css.d.ts +1 -1
  210. package/dist/generated/themes/Link.css.js +1 -1
  211. package/dist/generated/themes/Link.css.js.map +1 -1
  212. package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
  213. package/dist/generated/themes/ListGroupHeader.css.js +1 -1
  214. package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
  215. package/dist/messagebundle.properties +1 -0
  216. package/dist/messagebundle_en.properties +1 -0
  217. package/dist/messagebundle_it.properties +123 -0
  218. package/dist/messagebundle_ja.properties +127 -1
  219. package/dist/messagebundle_ko.properties +126 -0
  220. package/dist/messagebundle_lt.properties +126 -0
  221. package/dist/messagebundle_lv.properties +9 -0
  222. package/dist/types/FooterAskJoulePosition.d.ts +5 -0
  223. package/dist/types/FooterAskJoulePosition.js +7 -0
  224. package/dist/types/FooterAskJoulePosition.js.map +1 -0
  225. package/dist/vscode.html-custom-data.json +13 -3
  226. package/dist/web-types.json +56 -9
  227. package/package.json +1 -1
  228. package/src/Accordion.ts +1 -1
  229. package/src/AccordionItem.ts +1 -1
  230. package/src/Avatar.ts +3 -3
  231. package/src/Badge.ts +1 -1
  232. package/src/Breadcrumbs.ts +1 -1
  233. package/src/BreadcrumbsTemplate.tsx +12 -10
  234. package/src/Carousel.ts +1 -1
  235. package/src/Contact.ts +1 -1
  236. package/src/ContactItem.ts +1 -1
  237. package/src/Feed.ts +3 -2
  238. package/src/FeedItem.ts +3 -2
  239. package/src/FilterMenu.ts +6 -6
  240. package/src/FilterMenuGroupHeader.ts +1 -1
  241. package/src/Footer.ts +44 -5
  242. package/src/FooterTemplate.tsx +28 -4
  243. package/src/ImageGridCloud.ts +1 -1
  244. package/src/ImageGridTable.ts +1 -1
  245. package/src/ImageGridTableItem.ts +1 -1
  246. package/src/ImageGridTicker.ts +1 -1
  247. package/src/InputGroup.ts +1 -1
  248. package/src/LinkList.ts +1 -1
  249. package/src/List.ts +9 -9
  250. package/src/ListGroupHeader.ts +12 -5
  251. package/src/ListGroupHeaderBase.ts +4 -4
  252. package/src/ListGroupHeaderTemplate.tsx +228 -0
  253. package/src/ListItem.ts +8 -7
  254. package/src/ListItemBase.ts +9 -4
  255. package/src/ListItemTemplate.tsx +193 -0
  256. package/src/ListSelectAll.ts +4 -5
  257. package/src/ListSelectAllTemplate.tsx +38 -0
  258. package/src/ListTemplate.tsx +60 -0
  259. package/src/MastheadItem.ts +4 -4
  260. package/src/MastheadMobileMenu.ts +4 -4
  261. package/src/MastheadProfileMenu.ts +4 -3
  262. package/src/MastheadShell.ts +10 -10
  263. package/src/MediaPlayer.ts +11 -4
  264. package/src/MediaPlayerVimeo.ts +31 -6
  265. package/src/MediaPlayerYoutube.ts +24 -5
  266. package/src/MessageStrip.ts +3 -2
  267. package/src/Modal.ts +18 -3
  268. package/src/PromoTile.ts +3 -3
  269. package/src/Quote.ts +5 -5
  270. package/src/Review.ts +4 -4
  271. package/src/ReviewItem.ts +5 -4
  272. package/src/Search.ts +1 -1
  273. package/src/SearchableListBase.ts +6 -1
  274. package/src/SecondaryNavigation.ts +4 -4
  275. package/src/SecondaryNavigationItem.ts +3 -2
  276. package/src/SelectBase.ts +1 -1
  277. package/src/SelectBox.ts +34 -0
  278. package/src/SelectBoxGroupHeader.ts +1 -1
  279. package/src/SelectBoxItem.ts +4 -4
  280. package/src/SelectBoxTemplate.tsx +2 -0
  281. package/src/SideNavigationMobile.ts +3 -3
  282. package/src/SocialMediaButton.ts +1 -1
  283. package/src/Tab.ts +3 -3
  284. package/src/TabNavigation.ts +3 -3
  285. package/src/Table.ts +6 -6
  286. package/src/TableCellBase.ts +1 -1
  287. package/src/TableGroupRow.ts +1 -1
  288. package/src/TableRowBase.ts +1 -1
  289. package/src/TagGroup.ts +1 -1
  290. package/src/Tile.ts +3 -2
  291. package/src/Tooltip.ts +3 -2
  292. package/src/Wizard.ts +1 -1
  293. package/src/generated/i18n/i18n-defaults.ts +2 -2
  294. package/src/generated/themes/AccordionItem.css.ts +1 -1
  295. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  296. package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
  297. package/src/generated/themes/Footer.css.ts +1 -1
  298. package/src/generated/themes/Link.css.ts +1 -1
  299. package/src/generated/themes/ListGroupHeader.css.ts +1 -1
  300. package/src/i18n/messagebundle.properties +1 -0
  301. package/src/i18n/messagebundle_en.properties +1 -0
  302. package/src/i18n/messagebundle_it.properties +123 -0
  303. package/src/i18n/messagebundle_ja.properties +127 -1
  304. package/src/i18n/messagebundle_ko.properties +126 -0
  305. package/src/i18n/messagebundle_lt.properties +126 -0
  306. package/src/i18n/messagebundle_lv.properties +9 -0
  307. package/src/themes/AccordionItem.css +2 -2
  308. package/src/themes/Breadcrumbs.css +46 -5
  309. package/src/themes/BreadcrumbsPopover.css +65 -0
  310. package/src/themes/Footer.css +99 -2
  311. package/src/themes/Link.css +127 -8
  312. package/src/themes/ListGroupHeader.css +6 -3
  313. package/src/types/FooterAskJoulePosition.ts +6 -0
  314. package/dist/assets/messagebundle_en-DoNTK1BE.js +0 -1
  315. package/dist/assets/messagebundle_it-BhrBdOd4.js +0 -1
  316. package/dist/assets/messagebundle_ja-5P5L7sQ1.js +0 -1
  317. package/dist/assets/messagebundle_ko-B9H5YQlC.js +0 -1
  318. package/dist/assets/messagebundle_lt-BJ5gr_LF.js +0 -1
  319. package/dist/assets/messagebundle_lv-D06tlATH.js +0 -1
  320. package/dist/generated/templates/ListGroupHeaderTemplate.lit.d.ts +0 -3
  321. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +0 -30
  322. package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +0 -1
  323. package/dist/generated/templates/ListItemTemplate.lit.d.ts +0 -3
  324. package/dist/generated/templates/ListItemTemplate.lit.js +0 -49
  325. package/dist/generated/templates/ListItemTemplate.lit.js.map +0 -1
  326. package/dist/generated/templates/ListSelectAllTemplate.lit.d.ts +0 -3
  327. package/dist/generated/templates/ListSelectAllTemplate.lit.js +0 -7
  328. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +0 -1
  329. package/dist/generated/templates/ListTemplate.lit.d.ts +0 -3
  330. package/dist/generated/templates/ListTemplate.lit.js +0 -11
  331. package/dist/generated/templates/ListTemplate.lit.js.map +0 -1
  332. package/src/List.hbs +0 -38
  333. package/src/ListGroupHeader.hbs +0 -188
  334. package/src/ListItem.hbs +0 -166
  335. package/src/ListSelectAll.hbs +0 -31
  336. package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +0 -34
  337. package/src/generated/templates/ListItemTemplate.lit.ts +0 -53
  338. package/src/generated/templates/ListSelectAllTemplate.lit.ts +0 -11
  339. package/src/generated/templates/ListTemplate.lit.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"FilterMenu.js","sourceRoot":"","sources":["../src/FilterMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n isTabPrevious, isTabNext, isEscape, isSpace, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport \"@ui5/webcomponents-fiori/dist/illustrations/NoSearchResults.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport UDExFilterMenuGroupHeader from \"./FilterMenuGroupHeader.js\";\nimport type { UDExSearchKeydownEventDetail } from \"./Search.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExButton from \"./Button.js\";\nimport type { UDExSearchableListBaseEvents } from \"./SearchableListBase.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport { UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { Placement, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { UDExListMode } from \"./types/List.js\";\nimport UDExFilterMenuSelectAll from \"./FilterMenuSelectAll.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport UDExBadge from \"./Badge.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport { RESET, SHOW_RESULTS, SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport FilterMenuTemplate from \"./FilterMenuTemplate.js\";\nimport SearchableListBaseTemplate from \"./SearchableListBaseTemplate.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FilterMenuCss from \"./generated/themes/FilterMenu.css.js\";\nimport SearchableListCss from \"./generated/themes/SearchableList.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nexport type initialItemState = {\n id: string,\n selected: boolean,\n indeterminate?: boolean,\n collapsed?: boolean,\n _filtered?: boolean,\n}\n\ntype UDExFilterMenuResultClickEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n}\n\ntype UDExFilterMenuResetClickEventDetail = {\n restoredItems: Array<UDExListItemBase>,\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-filter-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/UDExFilterMenu.js\";</code>\n *\n * @constructor\n * @extends UDExSearchableListBase\n * @tagname udex-filter-menu\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu\",\n renderer: jsxRenderer,\n styles: [FilterMenuCss, SearchableListCss, getEffectiveScrollbarStyle()],\n template: FilterMenuTemplate,\n dependencies: [\n IllustratedMessage,\n Popover,\n Icon,\n UDExBusyIndicator,\n UDExFilterMenuItem,\n UDExFilterMenuGroupHeader,\n UDExFilterMenuSelectAll,\n UDExList,\n UDExListSelectAll,\n UDExListItem,\n UDExListGroupHeader,\n UDExBadge,\n UDExSearch,\n UDExButton,\n ],\n})\n\n/**\n * Fired event when the user click on a reset button on the footer.\n *\n * @public\n * @param {Array<UDExListItemBase>} restoredItems\n */\n@event(\"reset-click\", { bubbles: true })\n\n/**\n * Fired event when the user click on a result button on the footer.\n *\n * @public\n * @param {Array<UDExListItemBase>} selectedItems\n */\n@event(\"result-click\", { bubbles: true })\n\n/**\n * Fired event when the user click on Select All header item.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired before the dropdown pane is opened.\n *\n * @public\n */\n@event(\"before-open\", { bubbles: true })\n\n/**\n * Fired after the dropdown pane is opened.\n *\n * @public\n */\n@event(\"after-open\", { bubbles: true })\n\n/**\n * Fired before the dropdown pane is closed.\n *\n * @public\n */\n@event(\"before-close\", { bubbles: true })\n\n/**\n * Fired after the dropdown pane is closed.\n *\n * @public\n */\n@event(\"after-close\", { bubbles: true })\n\nclass UDExFilterMenu extends UDExSearchableListBase {\n eventDetails!: {\n \"result-click\": UDExFilterMenuResultClickEventDetail,\n \"reset-click\": UDExFilterMenuResetClickEventDetail,\n \"before-open\": void,\n \"after-open\": void,\n \"before-close\": void,\n \"after-close\": void,\n } & UDExSearchableListBaseEvents;\n /**\n * Determines the value of the badge.\n *\n * @public\n */\n @property({ type: Number })\n badgeValue?: number;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property()\n placement: `${Placement}` = Placement.Bottom;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property()\n horizontalAlign: `${HorizontalAlign}` = HorizontalAlign.Start;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the label of the button reset in the footer.\n *\n * @default \"Reset\"\n * @public\n */\n @property()\n resetBtnLabel?: string;\n\n /**\n * Defines the label of the button result in the footer.\n *\n * @default \"Show Result\"\n * @public\n */\n @property()\n resultBtnLabel?: string;\n\n /**\n * Defines the filter name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterName!: string;\n\n /**\n * Defines the filter name prefix of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterNamePrefix!: string;\n\n /**\n * Defines whether the component is in disabled state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled: boolean = false;\n\n /**\n * Defines whether the dropdown is open or not.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _open: boolean = false;\n\n /**\n * Hides the result button in the footer.\n *\n * @type {boolean}\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideResultBtn: boolean = false;\n\n /**\n * Hides the reset button in the footer.\n *\n * @type {boolean}\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideResetBtn: boolean = false;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Defines id (or many ids) of the elements that contain the ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef!: string;\n /**\n * Allows setting a custom role.\n * @default \"Dialog\"\n * @public\n */\n @property()\n accessibleRole: `${PopupAccessibleRole}` = PopupAccessibleRole.Dialog;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"button\"\n * @public\n */\n @property({ type: String })\n triggerAccessibleRole: string = \"button\";\n\n /**\n * Determines whether the filter should be applied.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldApplyFilter: boolean = false;\n\n /**\n * Determines whether the component should be re-rendered.\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n _trigger!: UDExButton;\n _search!: UDExSearch | HTMLInputElement;\n _popover!: Popover;\n _breakpointSizeXS = 640;\n _initialState: Array<initialItemState> = [];\n _list!: UDExList;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n }\n\n onAfterRendering() {\n this._search = this.getSearch();\n this._popover = this.getPopover();\n this._trigger = this.getTriggerButton();\n this._list = this.getList();\n }\n\n handleSelectAll(e:CustomEvent): void {\n this.onSelectAllHeaderPress(e);\n }\n\n handleItemPress(e:CustomEvent): void {\n this.onItemPress(e);\n\n if (this.modeSingleSelect) {\n this.onDropdownClose();\n }\n }\n\n handleHeaderPress(e:CustomEvent): void {\n this.onHeaderPress(e);\n }\n\n handleValueSearch(e:CustomEvent<{ value: string }>): void {\n this.onSearch(e.detail.value);\n }\n\n handleSubmitSearch(): void {\n this.onDropdownClose();\n this.onSubmitSearch();\n }\n\n handleResetSearch(): void {\n this.onResetSearch();\n }\n\n handleReset(): void {\n this.onDropdownClose();\n this.fireDecoratorEvent(\"reset-click\", {\n restoredItems: this.selectedItems,\n });\n this.onReset();\n }\n\n handleResult(): void {\n this._shouldApplyFilter = true;\n this.onDropdownClose();\n this.fireDecoratorEvent(\"result-click\", {\n selectedItems: this.selectedItems,\n });\n }\n\n handleKeyDownList(e: KeyboardEvent): void {\n const isTabNextPress = isTabNext(e) && !this.hasFooterButtons;\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n const target = e.target as HTMLElement;\n const isSearchResetTrigger = target === this._search;\n if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress) {\n this.onDropdownClose(e);\n }\n }\n\n handleKeyDownSearch(keyEvent: CustomEvent<UDExSearchKeydownEventDetail>): void {\n const { detail: { e } } = keyEvent;\n if (isTabPrevious(e) || isEscape(e)) {\n this.onDropdownClose(e);\n }\n }\n\n handleKeyDownResultBtn(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isTabNext(e) && !this.hasResetBtn) {\n this.onDropdownClose();\n }\n }\n\n handleKeyDownResetBtn(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isTabNext(e)) {\n this.onDropdownClose();\n }\n }\n\n handleTriggerClick(): void {\n this.toggleDropdown();\n }\n\n handleTriggerKeydown(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.toggleDropdown();\n }\n }\n\n toggleDropdown(): void {\n this._open = !this._open;\n\n if (this._open) {\n this._trigger.classList.add(\"udex-filter-menu__trigger-active\");\n this._popover.opener = this._trigger;\n this._popover.open = true;\n } else {\n this.onDropdownClose();\n }\n }\n\n onDropdownClose(e?: KeyboardEvent): void {\n if (this._popover.open) {\n if (e && (isTabPrevious(e) || isEscape(e))) {\n e.preventDefault();\n this._popover.open = false;\n } else {\n this._popover.open = false;\n }\n }\n }\n\n _dropdownBeforeOpen(): void {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"addEventListener\");\n this._managePopupListeners(UDExPopoverPart.Footer, \"addEventListener\");\n }\n\n if (this.height) {\n this._setContentHeight();\n }\n\n this._initialState = this._getInitialState(this.items);\n this.fireDecoratorEvent(\"before-open\");\n }\n\n _dropdownAfterOpen(): void {\n const popoverLeftOffset = +this._popover.style.left.split(\"px\")[0];\n if (this._popover.offsetWidth + popoverLeftOffset < this._breakpointSizeXS) {\n this.style.setProperty(\"--udex-filter-menu-popover-left-offset\", `${this._popover.style.left}`);\n }\n if (this.modeMultiSelect) {\n this._focusFirstInteractiveElement();\n }\n if (this.modeSingleSelect && !this._search) {\n this.activeItem?.focus();\n }\n this._handleDropdownScroll();\n this.fireDecoratorEvent(\"after-open\");\n }\n\n _focusFirstInteractiveElement(): void {\n if (this.showSearch && this._search) {\n this._focusSearchInput();\n return;\n }\n\n this.focusFirstItem();\n }\n\n _focusSearchInput(): void {\n const input = this._search.shadowRoot?.querySelector(\"[id='search-input']\") as HTMLInputElement;\n input.focus();\n }\n\n _getInitialState(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<initialItemState> {\n return items.flatMap(item => {\n if (item.isGroup) {\n const groupState: initialItemState = {\n id: item._id,\n selected: item.selected,\n indeterminate: item.indeterminate,\n collapsed: item.collapsed,\n _filtered: item._filtered,\n };\n const subItemsState = (item as UDExListGroupHeaderBase).getItems().map(subItem => ({\n id: subItem._id,\n selected: subItem.selected,\n }));\n return [groupState, ...subItemsState];\n }\n return {\n id: item._id,\n selected: item.selected,\n };\n });\n }\n\n _setInitialListState(): void {\n this.getSlottedItems(this.items).forEach((item, index) => {\n const initialState = this._initialState[index];\n if (item._id === initialState?.id) {\n item.selected = initialState.selected;\n if (item.isGroup) {\n item.indeterminate = initialState.indeterminate;\n }\n }\n });\n }\n\n _setInitialState(): void {\n this._setInitialListState();\n this._requestRender = true;\n }\n\n _dropdownBeforeClose(): void {\n this.fireDecoratorEvent(\"before-close\");\n }\n\n _dropdownAfterClose(): void {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"removeEventListener\");\n this._managePopupListeners(UDExPopoverPart.Footer, \"removeEventListener\");\n }\n\n if (!this._shouldApplyFilter && this.modeMultiSelect && !this.modeSelectAll) {\n this._setInitialState();\n }\n\n this._shouldApplyFilter = false;\n this._open = false;\n this._trigger.classList.remove(\"udex-filter-menu__trigger-active\");\n this.fireDecoratorEvent(\"after-close\");\n }\n\n /**\n * Close the dropdown.\n * @public\n */\n close(): void {\n this.onDropdownClose();\n }\n\n get disableAllowTargetOverlap(): boolean {\n return !this.disableTargetOverlap;\n }\n\n get hasFilterNamePrefix(): boolean {\n return !!this.filterNamePrefix?.length;\n }\n\n get getResultLabelText(): string {\n return this.resultBtnLabel !== undefined && this.resultBtnLabel.length > 0 && this.resultBtnLabel ? this.resultBtnLabel : translate(UDExFilterMenu, SHOW_RESULTS);\n }\n\n get getResetLabelText(): string {\n return this.resetBtnLabel !== undefined && this.resetBtnLabel.length > 0 ? this.resetBtnLabel : translate(UDExFilterMenu, RESET);\n }\n\n get _iconAccessibleNameText(): string {\n return translate(UDExFilterMenu, SELECT_OPTIONS);\n }\n\n /**\n * FilterMenu uses the ARIA tree pattern for genuinely grouped items when:\n * - MultiSelect mode (headers/items expose aria-checked), or\n * - SingleSelect mode with at least one collapsible group\n * (headers expose aria-expanded, items expose aria-selected).\n *\n * A \"Select All\" header is NOT a hierarchical group — it is a bulk-select\n * affordance for a flat list — so it must not trigger the tree pattern.\n */\n override get isTreeStructure(): boolean {\n const groups = this._filteredItems.filter(e => e.isGroup && !(e.item as UDExListGroupHeaderBase).isSelectAllHeader);\n if (!groups.length) {\n return false;\n }\n if (this.modeMultiSelect) {\n return true;\n }\n return this.modeSingleSelect\n && groups.some(e => (e.item as UDExListGroupHeaderBase).collapsible);\n }\n\n get triggerButtonAccessibleName(): string {\n return this.accessibleName || translate(UDExFilterMenu, SELECT_OPTIONS);\n }\n\n get searchableList() {\n return SearchableListBaseTemplate.call(this);\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n\n get hideActionBar(): boolean {\n return this.hideResultBtn && this.hideResetBtn;\n }\n\n get hasFooterButtons(): boolean {\n return !!this.shadowRoot!.querySelector(\"[udex-button]\");\n }\n\n get hasResetBtn(): boolean {\n return !this.hideResetBtn;\n }\n\n get modeSelectAll(): boolean {\n return !!this.querySelector<UDExFilterMenuSelectAll>(\"[udex-filter-menu-select-all]\");\n }\n\n getTriggerButton(): UDExButton {\n return this.shadowRoot!.querySelector<UDExButton>(\"#filterMenuTrigger\")!;\n }\n\n getItems(): Array<UDExListItemBase> {\n return this.getSlottedNodes<UDExListItemBase>(\"items\");\n }\n}\n\nUDExFilterMenu.define();\n\nexport default UDExFilterMenu;\nexport type { UDExFilterMenuResetClickEventDetail, UDExFilterMenuResultClickEventDetail };\n"]}
1
+ {"version":3,"file":"FilterMenu.js","sourceRoot":"","sources":["../src/FilterMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n isTabPrevious, isTabNext, isEscape, isSpace, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport \"@ui5/webcomponents-fiori/dist/illustrations/NoSearchResults.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport UDExFilterMenuGroupHeader from \"./FilterMenuGroupHeader.js\";\nimport type { UDExSearchKeydownEventDetail } from \"./Search.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExButton from \"./Button.js\";\nimport type { UDExSearchableListBaseEvents } from \"./SearchableListBase.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport { UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { Placement, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { UDExListMode } from \"./types/List.js\";\nimport UDExFilterMenuSelectAll from \"./FilterMenuSelectAll.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport UDExBadge from \"./Badge.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport { RESET, SHOW_RESULTS, SELECT_OPTIONS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport FilterMenuTemplate from \"./FilterMenuTemplate.js\";\nimport SearchableListBaseTemplate from \"./SearchableListBaseTemplate.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FilterMenuCss from \"./generated/themes/FilterMenu.css.js\";\nimport SearchableListCss from \"./generated/themes/SearchableList.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nexport type initialItemState = {\n id: string,\n selected: boolean,\n indeterminate?: boolean,\n collapsed?: boolean,\n _filtered?: boolean,\n}\n\ntype UDExFilterMenuResultClickEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n}\n\ntype UDExFilterMenuResetClickEventDetail = {\n restoredItems: Array<UDExListItemBase>,\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-filter-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/UDExFilterMenu.js\";</code>\n *\n * @constructor\n * @extends UDExSearchableListBase\n * @tagname udex-filter-menu\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu\",\n renderer: jsxRenderer,\n styles: [FilterMenuCss, SearchableListCss, getEffectiveScrollbarStyle()],\n template: FilterMenuTemplate,\n dependencies: [\n IllustratedMessage,\n Popover,\n Icon,\n UDExBusyIndicator,\n UDExFilterMenuItem,\n UDExFilterMenuGroupHeader,\n UDExFilterMenuSelectAll,\n UDExList,\n UDExListSelectAll,\n UDExListItem,\n UDExListGroupHeader,\n UDExBadge,\n UDExSearch,\n UDExButton,\n ],\n})\n\n/**\n * Fired event when the user click on a reset button on the footer.\n *\n * @public\n * @param {Array<UDExListItemBase>} restoredItems\n */\n@event(\"reset-click\", { bubbles: true })\n\n/**\n * Fired event when the user click on a result button on the footer.\n *\n * @public\n * @param {Array<UDExListItemBase>} selectedItems\n */\n@event(\"result-click\", { bubbles: true })\n\n/**\n * Fired event when the user click on Select All header item.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired before the dropdown pane is opened.\n *\n * @public\n */\n@event(\"before-open\", { bubbles: true })\n\n/**\n * Fired after the dropdown pane is opened.\n *\n * @public\n */\n@event(\"after-open\", { bubbles: true })\n\n/**\n * Fired before the dropdown pane is closed.\n *\n * @public\n */\n@event(\"before-close\", { bubbles: true })\n\n/**\n * Fired after the dropdown pane is closed.\n *\n * @public\n */\n@event(\"after-close\", { bubbles: true })\n\nclass UDExFilterMenu extends UDExSearchableListBase {\n eventDetails!: {\n \"result-click\": UDExFilterMenuResultClickEventDetail,\n \"reset-click\": UDExFilterMenuResetClickEventDetail,\n \"before-open\": void,\n \"after-open\": void,\n \"before-close\": void,\n \"after-close\": void,\n } & UDExSearchableListBaseEvents;\n /**\n * Determines the value of the badge.\n *\n * @public\n */\n @property({ type: Number })\n badgeValue?: number;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property()\n placement: `${Placement}` = Placement.Bottom;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property()\n horizontalAlign: `${HorizontalAlign}` = HorizontalAlign.Start;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the label of the button reset in the footer.\n *\n * @default \"Reset\"\n * @public\n */\n @property()\n resetBtnLabel?: string;\n\n /**\n * Defines the label of the button result in the footer.\n *\n * @default \"Show Result\"\n * @public\n */\n @property()\n resultBtnLabel?: string;\n\n /**\n * Defines the filter name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterName!: string;\n\n /**\n * Defines the filter name prefix of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n filterNamePrefix!: string;\n\n /**\n * Defines whether the component is in disabled state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled: boolean = false;\n\n /**\n * Defines whether the dropdown is open or not.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _open: boolean = false;\n\n /**\n * Hides the result button in the footer.\n *\n * @type {boolean}\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideResultBtn: boolean = false;\n\n /**\n * Hides the reset button in the footer.\n *\n * @type {boolean}\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideResetBtn: boolean = false;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Defines id (or many ids) of the elements that contain the ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef!: string;\n /**\n * Allows setting a custom role.\n * @default \"None\"\n * @public\n */\n @property()\n accessibleRole: `${PopupAccessibleRole}` = PopupAccessibleRole.None;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"button\"\n * @public\n */\n @property({ type: String })\n triggerAccessibleRole: string = \"button\";\n\n /**\n * Determines whether the filter should be applied.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldApplyFilter: boolean = false;\n\n /**\n * Determines whether the component should be re-rendered.\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n _trigger!: UDExButton;\n _search!: UDExSearch | HTMLInputElement;\n _popover!: Popover;\n _breakpointSizeXS = 640;\n _initialState: Array<initialItemState> = [];\n _list!: UDExList;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering() {\n super.onBeforeRendering();\n }\n\n onAfterRendering() {\n this._search = this.getSearch();\n this._popover = this.getPopover();\n this._trigger = this.getTriggerButton();\n this._list = this.getList();\n }\n\n handleSelectAll(e:CustomEvent): void {\n this.onSelectAllHeaderPress(e);\n }\n\n handleItemPress(e:CustomEvent): void {\n this.onItemPress(e);\n\n if (this.modeSingleSelect) {\n this.onDropdownClose();\n }\n }\n\n handleHeaderPress(e:CustomEvent): void {\n this.onHeaderPress(e);\n }\n\n handleValueSearch(e:CustomEvent<{ value: string }>): void {\n this.onSearch(e.detail.value);\n }\n\n handleSubmitSearch(): void {\n this.onDropdownClose();\n this.onSubmitSearch();\n }\n\n handleResetSearch(): void {\n this.onResetSearch();\n }\n\n handleReset(): void {\n this.onDropdownClose();\n this.fireDecoratorEvent(\"reset-click\", {\n restoredItems: this.selectedItems,\n });\n this.onReset();\n }\n\n handleResult(): void {\n this._shouldApplyFilter = true;\n this.onDropdownClose();\n this.fireDecoratorEvent(\"result-click\", {\n selectedItems: this.selectedItems,\n });\n }\n\n handleKeyDownList(e: KeyboardEvent): void {\n const isTabNextPress = isTabNext(e) && !this.hasFooterButtons;\n const isTabPrevPress = isTabPrevious(e) && !this._search;\n const target = e.target as HTMLElement;\n const isSearchResetTrigger = target === this._search;\n if ((isTabNextPress && (!isSearchResetTrigger || this.isListEmpty)) || isTabPrevPress) {\n this.onDropdownClose(e);\n }\n }\n\n handleKeyDownSearch(keyEvent: CustomEvent<UDExSearchKeydownEventDetail>): void {\n const { detail: { e } } = keyEvent;\n if (isTabPrevious(e) || isEscape(e)) {\n this.onDropdownClose(e);\n }\n }\n\n handleKeyDownResultBtn(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isEscape(e) || (isTabNext(e) && !this.hasResetBtn)) {\n this.onDropdownClose(e);\n }\n }\n\n handleKeyDownResetBtn(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isEscape(e) || isTabNext(e)) {\n this.onDropdownClose(e);\n }\n }\n\n handleTriggerClick(): void {\n this.toggleDropdown();\n }\n\n handleTriggerKeydown(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.toggleDropdown();\n }\n }\n\n toggleDropdown(): void {\n this._open = !this._open;\n\n if (this._open) {\n this._trigger.classList.add(\"udex-filter-menu__trigger-active\");\n this._popover.opener = this._trigger;\n this._popover.open = true;\n } else {\n this.onDropdownClose();\n }\n }\n\n onDropdownClose(e?: KeyboardEvent): void {\n if (this._popover.open) {\n if (e && (isTabPrevious(e) || isEscape(e))) {\n e.preventDefault();\n this._popover.open = false;\n } else {\n this._popover.open = false;\n }\n }\n }\n\n _dropdownBeforeOpen(): void {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"addEventListener\");\n this._managePopupListeners(UDExPopoverPart.Footer, \"addEventListener\");\n }\n\n if (this.height) {\n this._setContentHeight();\n }\n\n this._initialState = this._getInitialState(this.items);\n this.fireDecoratorEvent(\"before-open\");\n }\n\n _dropdownAfterOpen(): void {\n const popoverLeftOffset = +this._popover.style.left.split(\"px\")[0];\n if (this._popover.offsetWidth + popoverLeftOffset < this._breakpointSizeXS) {\n this.style.setProperty(\"--udex-filter-menu-popover-left-offset\", `${this._popover.style.left}`);\n }\n if (this.modeMultiSelect) {\n this._focusFirstInteractiveElement();\n }\n if (this.modeSingleSelect && !this._search) {\n this.activeItem?.focus();\n }\n this._handleDropdownScroll();\n this.fireDecoratorEvent(\"after-open\");\n }\n\n _focusFirstInteractiveElement(): void {\n if (this.showSearch && this._search) {\n this._focusSearchInput();\n return;\n }\n\n this.focusFirstItem();\n }\n\n _focusSearchInput(): void {\n const input = this._search.shadowRoot?.querySelector(\"[id='search-input']\") as HTMLInputElement;\n input.focus();\n }\n\n _getInitialState(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<initialItemState> {\n return items.flatMap(item => {\n if (item.isGroup) {\n const groupState: initialItemState = {\n id: item._id,\n selected: item.selected,\n indeterminate: item.indeterminate,\n collapsed: item.collapsed,\n _filtered: item._filtered,\n };\n const subItemsState = (item as UDExListGroupHeaderBase).getItems().map(subItem => ({\n id: subItem._id,\n selected: subItem.selected,\n }));\n return [groupState, ...subItemsState];\n }\n return {\n id: item._id,\n selected: item.selected,\n };\n });\n }\n\n _setInitialListState(): void {\n this.getSlottedItems(this.items).forEach((item, index) => {\n const initialState = this._initialState[index];\n if (item._id === initialState?.id) {\n item.selected = initialState.selected;\n if (item.isGroup) {\n item.indeterminate = initialState.indeterminate;\n }\n }\n });\n }\n\n _setInitialState(): void {\n this._setInitialListState();\n this._requestRender = true;\n }\n\n _dropdownBeforeClose(): void {\n this.fireDecoratorEvent(\"before-close\");\n }\n\n _dropdownAfterClose(): void {\n if (this.preventPageScroll) {\n this._managePopupListeners(UDExPopoverPart.Header, \"removeEventListener\");\n this._managePopupListeners(UDExPopoverPart.Footer, \"removeEventListener\");\n }\n\n if (!this._shouldApplyFilter && this.modeMultiSelect && !this.modeSelectAll) {\n this._setInitialState();\n }\n\n this._shouldApplyFilter = false;\n this._open = false;\n this._trigger.classList.remove(\"udex-filter-menu__trigger-active\");\n this.fireDecoratorEvent(\"after-close\");\n }\n\n /**\n * Close the dropdown.\n * @public\n */\n close(): void {\n this.onDropdownClose();\n }\n\n get disableAllowTargetOverlap(): boolean {\n return !this.disableTargetOverlap;\n }\n\n get hasFilterNamePrefix(): boolean {\n return !!this.filterNamePrefix?.length;\n }\n\n get getResultLabelText(): string {\n return this.resultBtnLabel !== undefined && this.resultBtnLabel.length > 0 && this.resultBtnLabel ? this.resultBtnLabel : translate(UDExFilterMenu, SHOW_RESULTS);\n }\n\n get getResetLabelText(): string {\n return this.resetBtnLabel !== undefined && this.resetBtnLabel.length > 0 ? this.resetBtnLabel : translate(UDExFilterMenu, RESET);\n }\n\n get _iconAccessibleNameText(): string {\n return translate(UDExFilterMenu, SELECT_OPTIONS);\n }\n\n /**\n * FilterMenu uses the ARIA tree pattern for genuinely grouped items when:\n * - MultiSelect mode (headers/items expose aria-checked), or\n * - SingleSelect mode with at least one collapsible group\n * (headers expose aria-expanded, items expose aria-selected).\n *\n * A \"Select All\" header is NOT a hierarchical group — it is a bulk-select\n * affordance for a flat list — so it must not trigger the tree pattern.\n */\n override get isTreeStructure(): boolean {\n const groups = this._filteredItems.filter(e => e.isGroup && !(e.item as UDExListGroupHeaderBase).isSelectAllHeader);\n if (!groups.length) {\n return false;\n }\n if (this.modeMultiSelect) {\n return true;\n }\n return this.modeSingleSelect\n && groups.some(e => (e.item as UDExListGroupHeaderBase).collapsible);\n }\n\n get triggerButtonAccessibleName(): string {\n return this.accessibleName || translate(UDExFilterMenu, SELECT_OPTIONS);\n }\n\n get searchableList() {\n return SearchableListBaseTemplate.call(this);\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n\n get hideActionBar(): boolean {\n return this.hideResultBtn && this.hideResetBtn;\n }\n\n get hasFooterButtons(): boolean {\n return !!this.shadowRoot!.querySelector(\"[udex-button]\");\n }\n\n get hasResetBtn(): boolean {\n return !this.hideResetBtn;\n }\n\n get modeSelectAll(): boolean {\n return !!this.querySelector<UDExFilterMenuSelectAll>(\"[udex-filter-menu-select-all]\");\n }\n\n getTriggerButton(): UDExButton {\n return this.shadowRoot!.querySelector<UDExButton>(\"#filterMenuTrigger\")!;\n }\n\n getItems(): Array<UDExListItemBase> {\n return this.getSlottedNodes<UDExListItemBase>(\"items\");\n }\n}\n\nUDExFilterMenu.define();\n\nexport default UDExFilterMenu;\nexport type { UDExFilterMenuResetClickEventDetail, UDExFilterMenuResultClickEventDetail };\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
8
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
9
9
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
10
  import UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
11
11
  import UDExFilterMenuItem from "./FilterMenuItem.js";
@@ -1 +1 @@
1
- {"version":3,"file":"FilterMenuGroupHeader.js","sourceRoot":"","sources":["../src/FilterMenuGroupHeader.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,uBAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AAGrD;;;;;;;;;;;;;;;;GAgBG;AAMH,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,uBAAuB;IAU7D,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,CAAqB,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AALG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;wDACV;AARtC,yBAAyB;IAL9B,aAAa,CAAC;QACb,GAAG,EAAE,+BAA+B;QACpC,QAAQ,EAAE,SAAS;KACpB,CAAC;GAEI,yBAAyB,CAa9B;AAED,yBAAyB,CAAC,MAAM,EAAE,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\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-filter-menu-group-header</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/FilterMenuGroupHeader.js\";</code>\n *\n * @constructor\n * @extends UDExListGroupHeaderBase\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu-group-header\",\n renderer: litRender,\n})\n\nclass UDExFilterMenuGroupHeader extends UDExListGroupHeaderBase {\n /**\n * Slot for list items.\n *\n * @slot items\n * @public\n */\n @slot({ type: UDExFilterMenuItem, \"default\": true })\n items!: DefaultSlot<UDExFilterMenuItem>;\n\n getItems(): Array<UDExFilterMenuItem> {\n return this.getSlottedNodes<UDExFilterMenuItem>(\"items\");\n }\n}\n\nUDExFilterMenuGroupHeader.define();\n\nexport default UDExFilterMenuGroupHeader;\n"]}
1
+ {"version":3,"file":"FilterMenuGroupHeader.js","sourceRoot":"","sources":["../src/FilterMenuGroupHeader.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,uBAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AAGrD;;;;;;;;;;;;;;;;GAgBG;AAMH,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,uBAAuB;IAU7D,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,CAAqB,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AALG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;wDACV;AARtC,yBAAyB;IAL9B,aAAa,CAAC;QACb,GAAG,EAAE,+BAA+B;QACpC,QAAQ,EAAE,SAAS;KACpB,CAAC;GAEI,yBAAyB,CAa9B;AAED,yBAAyB,CAAC,MAAM,EAAE,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\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-filter-menu-group-header</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/FilterMenuGroupHeader.js\";</code>\n *\n * @constructor\n * @extends UDExListGroupHeaderBase\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu-group-header\",\n renderer: litRender,\n})\n\nclass UDExFilterMenuGroupHeader extends UDExListGroupHeaderBase {\n /**\n * Slot for list items.\n *\n * @slot items\n * @public\n */\n @slot({ type: UDExFilterMenuItem, \"default\": true })\n items!: DefaultSlot<UDExFilterMenuItem>;\n\n getItems(): Array<UDExFilterMenuItem> {\n return this.getSlottedNodes<UDExFilterMenuItem>(\"items\");\n }\n}\n\nUDExFilterMenuGroupHeader.define();\n\nexport default UDExFilterMenuGroupHeader;\n"]}
package/dist/Footer.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
2
3
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
5
  import type { UDExAccordionItemClickEventDetail } from "./AccordionItem.js";
5
6
  import UDExSocialMediaButton from "./SocialMediaButton.js";
6
7
  import type { UDExSocialMediaButtonType } from "./types/SocialMediaButtonType.js";
7
8
  import type { UDExTarget } from "./types/common.js";
9
+ import UDExFooterAskJoulePosition from "./types/FooterAskJoulePosition.js";
8
10
  export declare const chineseICPDefaultLink = "https://beian.miit.gov.cn/";
9
11
  export type FooterLink = {
10
12
  id: string;
@@ -33,7 +35,7 @@ type UDExFooterDetailedClickEventDetail = {
33
35
  type UDExFooterBaseEventDetail = {
34
36
  originalEvent: MouseEvent | Event;
35
37
  };
36
- type BaseEvents = "contact-chat-click" | "contact-phone-local-numbers-click" | "contact-email-click" | "contact-phone-click" | "logo-click" | "back-to-top-click";
38
+ type BaseEvents = "contact-chat-click" | "contact-phone-local-numbers-click" | "contact-email-click" | "contact-phone-click" | "logo-click" | "back-to-top-click" | "ask-joule-click";
37
39
  type DetailedEvents = "quick-links-click" | "trending-click" | "about-sap-click" | "site-information-click" | "social-media-link-click";
38
40
  /**
39
41
  * @class
@@ -62,6 +64,7 @@ declare class UDExFooter extends UI5Element {
62
64
  "contact-phone-local-numbers-click": UDExFooterBaseEventDetail;
63
65
  "contact-email-click": UDExFooterBaseEventDetail;
64
66
  "contact-phone-click": UDExFooterBaseEventDetail;
67
+ "ask-joule-click": UDExFooterBaseEventDetail;
65
68
  "quick-links-click": UDExFooterDetailedClickEventDetail;
66
69
  "trending-click": UDExFooterDetailedClickEventDetail;
67
70
  "about-sap-click": UDExFooterDetailedClickEventDetail;
@@ -75,7 +78,7 @@ declare class UDExFooter extends UI5Element {
75
78
  * @slot content
76
79
  * @public
77
80
  */
78
- customSocialLinks: Array<UDExSocialMediaButton>;
81
+ customSocialLinks: Slot<UDExSocialMediaButton>;
79
82
  /**
80
83
  * Defines the Logo default title
81
84
  *
@@ -188,6 +191,21 @@ declare class UDExFooter extends UI5Element {
188
191
  * @public
189
192
  */
190
193
  chatWithUsLink: string;
194
+ /**
195
+ * Defines the Ask Joule link's href
196
+ *
197
+ * @default ""
198
+ * @public
199
+ */
200
+ askJouleLink: string;
201
+ /**
202
+ * Defines the position of the Ask Joule item within the contact section.
203
+ * Can be "start" (before phone/email/chat) or "end" (after phone/email/chat).
204
+ *
205
+ * @default "start"
206
+ * @public
207
+ */
208
+ askJoulePosition: UDExFooterAskJoulePosition;
191
209
  /**
192
210
  * List of the Social links and their icons
193
211
  *
@@ -276,6 +294,7 @@ declare class UDExFooter extends UI5Element {
276
294
  get contactUsAccessibleName(): string;
277
295
  get contactUsAccessibleLabel(): string;
278
296
  get chatWithUsAccessibleName(): string;
297
+ get askJouleAccessibleName(): string;
279
298
  get _quickLinksTitle(): string;
280
299
  get _trendingTitle(): string;
281
300
  get _aboutSapTitle(): string;
@@ -302,6 +321,7 @@ declare class UDExFooter extends UI5Element {
302
321
  _onContactPhoneLocalNumbersClick(e: Event): void;
303
322
  _onContactEmailClick(e: MouseEvent): void;
304
323
  _onContactChatClick(e: MouseEvent): void;
324
+ _onAskJouleClick(e: MouseEvent): void;
305
325
  _onQuickLinksClick(e: MouseEvent): void;
306
326
  _onTrendingClick(e: MouseEvent): void;
307
327
  _onAboutSapClick(e: MouseEvent): void;
package/dist/Footer.js CHANGED
@@ -10,7 +10,7 @@ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
14
14
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
15
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
@@ -22,10 +22,11 @@ import UDExAccordion from "./Accordion.js";
22
22
  import UDExLink from "./Link.js";
23
23
  import UDExDivider from "./Divider.js";
24
24
  import UDExSocialMediaButton from "./SocialMediaButton.js";
25
+ import UDExFooterAskJoulePosition from "./types/FooterAskJoulePosition.js";
25
26
  import { BreakpointUtils } from "./utils/Breakpoints.js";
26
27
  import parseArrayFromString from "./utils/parseArrayFromString.js";
27
28
  import FooterTemplate from "./FooterTemplate.js";
28
- import { ABOUT_SAP, CHAT_WITH_US, CONTACT_US, EMAIL, LOCAL_COUNTRY_NAMES, PHONE_NUMBER, QUICK_LINKS, SEE_COMPLETE_LIST, SITE_INFORMATION, TRENDING, COPYRIGHT, PUBLIC_SECURITY_NETWORK_NUMBER, ICP_NUMBER, BACK_TO_TOP, } from "./generated/i18n/i18n-defaults.js";
29
+ import { ABOUT_SAP, ASK_JOULE, CHAT_WITH_US, CONTACT_US, EMAIL, LOCAL_COUNTRY_NAMES, PHONE_NUMBER, QUICK_LINKS, SEE_COMPLETE_LIST, SITE_INFORMATION, TRENDING, COPYRIGHT, PUBLIC_SECURITY_NETWORK_NUMBER, ICP_NUMBER, BACK_TO_TOP, } from "./generated/i18n/i18n-defaults.js";
29
30
  import translate from "./utils/translate.js";
30
31
  // Styles
31
32
  import FooterCss from "./generated/themes/Footer.css.js";
@@ -115,6 +116,21 @@ let UDExFooter = UDExFooter_1 = class UDExFooter extends UI5Element {
115
116
  * @public
116
117
  */
117
118
  this.chatWithUsLink = "";
119
+ /**
120
+ * Defines the Ask Joule link's href
121
+ *
122
+ * @default ""
123
+ * @public
124
+ */
125
+ this.askJouleLink = "";
126
+ /**
127
+ * Defines the position of the Ask Joule item within the contact section.
128
+ * Can be "start" (before phone/email/chat) or "end" (after phone/email/chat).
129
+ *
130
+ * @default "start"
131
+ * @public
132
+ */
133
+ this.askJoulePosition = UDExFooterAskJoulePosition.Start;
118
134
  /**
119
135
  * List of the Social links and their icons
120
136
  *
@@ -179,7 +195,7 @@ let UDExFooter = UDExFooter_1 = class UDExFooter extends UI5Element {
179
195
  return parseArrayFromString(this.socialLinks);
180
196
  }
181
197
  get isContactContainerVisible() {
182
- return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;
198
+ return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink || !!this.askJouleLink;
183
199
  }
184
200
  get phoneNumberAccessibleName() {
185
201
  return `${translate(UDExFooter_1, PHONE_NUMBER)} `;
@@ -196,6 +212,9 @@ let UDExFooter = UDExFooter_1 = class UDExFooter extends UI5Element {
196
212
  get chatWithUsAccessibleName() {
197
213
  return translate(UDExFooter_1, CHAT_WITH_US);
198
214
  }
215
+ get askJouleAccessibleName() {
216
+ return translate(UDExFooter_1, ASK_JOULE);
217
+ }
199
218
  get _quickLinksTitle() {
200
219
  return this.quickLinksTitle || translate(UDExFooter_1, QUICK_LINKS);
201
220
  }
@@ -276,6 +295,9 @@ let UDExFooter = UDExFooter_1 = class UDExFooter extends UI5Element {
276
295
  _onContactChatClick(e) {
277
296
  this.fireFooterBaseEvent(e, "contact-chat-click");
278
297
  }
298
+ _onAskJouleClick(e) {
299
+ this.fireFooterBaseEvent(e, "ask-joule-click");
300
+ }
279
301
  _onQuickLinksClick(e) {
280
302
  this.fireFooterDetailedClickEvent(e, "quick-links-click");
281
303
  }
@@ -295,7 +317,8 @@ let UDExFooter = UDExFooter_1 = class UDExFooter extends UI5Element {
295
317
  this.fireDecoratorEvent(eventName, { originalEvent: e });
296
318
  }
297
319
  fireFooterDetailedClickEvent(e, eventName) {
298
- const sourceNode = e.composedPath()[0];
320
+ const target = e.composedPath()[0];
321
+ const sourceNode = (target.closest("a") ?? target);
299
322
  const { innerText, dataset: { id, name } } = sourceNode;
300
323
  this.fireDecoratorEvent(eventName, {
301
324
  ...(!!id?.length && { id }),
@@ -359,6 +382,12 @@ __decorate([
359
382
  __decorate([
360
383
  property({ type: String })
361
384
  ], UDExFooter.prototype, "chatWithUsLink", void 0);
385
+ __decorate([
386
+ property({ type: String })
387
+ ], UDExFooter.prototype, "askJouleLink", void 0);
388
+ __decorate([
389
+ property({ type: String })
390
+ ], UDExFooter.prototype, "askJoulePosition", void 0);
362
391
  __decorate([
363
392
  property({ type: String })
364
393
  ], UDExFooter.prototype, "socialLinks", void 0);
@@ -452,6 +481,14 @@ UDExFooter = UDExFooter_1 = __decorate([
452
481
  */
453
482
  ,
454
483
  event("contact-chat-click", { bubbles: true })
484
+ /**
485
+ * Triggered on click interaction with "Ask Joule" link
486
+ * @public
487
+ * @param { MouseEvent | Event } originalEvent
488
+ * @allowPreventDefault
489
+ */
490
+ ,
491
+ event("ask-joule-click", { bubbles: true })
455
492
  /**
456
493
  * Triggered on click interaction with a link within "Quick Links" category
457
494
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAEnD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,qBAAqB,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,KAAK,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,8BAA8B,EAC9B,UAAU,EACV,WAAW,GACZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,SAAS;AACT,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAsClE;;;;;;;;;;;;;;;;;;GAkBG;AA6GH,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,UAAU;IA0QjC;QACE,KAAK,EAAE,CAAC;QAhOV;;;;;WAKG;QAED,aAAQ,GAAW,EAAE,CAAC;QA+CxB;;;;;WAKG;QAED,eAAU,GAAW,IAAI,CAAC;QAE5B;;;;;WAKG;QAED,kBAAa,GAAW,IAAI,CAAC;QAE/B;;;;;WAKG;QAED,eAAU,GAAW,IAAI,CAAC;QAE5B;;;;;WAKG;QAED,yBAAoB,GAAW,IAAI,CAAC;QAEtC;;;;;WAKG;QAED,uBAAkB,GAAW,IAAI,CAAC;QAEpC;;;;;WAKG;QAED,4BAAuB,GAAW,EAAE,CAAC;QAEvC;;;;;WAKG;QAED,kBAAa,GAAW,EAAE,CAAC;QAE7B;;;;;WAKG;QAED,mBAAc,GAAW,EAAE,CAAC;QAE9B;;;;;WAKG;QAED,gBAAW,GAAW,IAAI,CAAC;QAE7B;;;;;WAKG;QAED,YAAO,GAAW,EAAE,CAAC;QAEvB;;;;;WAKG;QAED,kBAAa,GAAW,EAAE,CAAC;QAkC7B;;;;WAIG;QAED,yBAAoB,GAAW,qBAAqB,CAAC;QAkCrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,aAAa;QACX,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,gBAAgB,CAAC,CAAQ;QACvB,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAEjD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,oBAAoB,CAAa,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,oBAAoB,CAAa,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,oBAAoB,CAAa,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,oBAAoB,CAAa,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,oBAAoB,CAAsB,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,oBAAoB,CAAmB,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC5F,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,GAAG,SAAS,CAAC,YAAU,EAAE,YAAY,CAAC,GAAG,CAAC;IACnD,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,SAAS,CAAC,YAAU,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,wBAAwB;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,OAAO,GAAG,IAAI,CAAC,uBAAuB,IAAI,SAAS,CAAC,YAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3E,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,SAAS,CAAC,YAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,YAAU,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,YAAU,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,YAAU,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,oBAAoB,IAAI,SAAS,CAAC,YAAU,EAAE,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,GAAG,SAAS,CAAC,YAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC;IACxD,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,SAAS,CAAC,YAAU,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,SAAS,CAAC,YAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,YAAU,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,gCAAgC;QAClC,OAAO,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,YAAU,EAAE,8BAA8B,CAAC,EAAE,CAAC;IACnJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,WAAW,EAAE,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC;IAClD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACxF,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3F,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACjG,CAAC;IAED,IAAI,YAAY;QACd,MAAM,IAAI,GAAG,4BAA4B,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAED,IAAI,SAAS;QACX,MAAM,IAAI,GAAG,yBAAyB,CAAC;QACvC,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,SAAS,CAAC,YAAU,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,YAAY,CAAC,CAAa;QACxB,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB,CAAC,CAAa;QAChC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACrD,CAAC;IACD,gCAAgC,CAAC,CAAQ;QACvC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACnE,CAAC;IACD,oBAAoB,CAAC,CAAa;QAChC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACrD,CAAC;IACD,mBAAmB,CAAC,CAAa;QAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB,CAAC,CAAa;QAC9B,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB,CAAC,CAAa;QAC5B,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB,CAAC,CAAa;QAC5B,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,uBAAuB,CAAC,CAAa;QACnC,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,uBAAuB,CAAC,CAAa;QACnC,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;IAED,mBAAmB,CAAC,CAAqB,EAAE,SAAqB;QAC9D,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,4BAA4B,CAAC,CAAa,EAAE,SAAyB;QACnE,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAgB,CAAC;QACtD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC;QAExD,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;YAC3B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACzC,aAAa,EAAE,CAAC;YAChB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,CAAiD;QACxE,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA1cG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;qDACA;AASjD;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACN;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACR;AASjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACH;AAStB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACL;AASpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACL;AASpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACE;AAS3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACD;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACA;AASzB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACC;AAS1B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACI;AAS7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACC;AAS1B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACW;AASpC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACS;AASlC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2DACY;AASrC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACE;AAS3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACG;AAS5B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACE;AAS3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACJ;AASrB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACE;AAQ3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACA;AAQzB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACF;AAQvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACF;AAQvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACK;AAQ9B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAC4B;AAQrD;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACC;AAQ1B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gEACa;AAStC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACQ;AAG7B;IADN,IAAI,CAAC,yBAAyB,CAAC;oCACF;AAtQ1B,UAAU;IA5Gf,aAAa,CAAC;QACb,aAAa,EAAE,IAAI;QACnB,GAAG,EAAE,aAAa;QAClB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,SAAS,CAAC;QACnB,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB,CAAC;KACjH,CAAC;IACF;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC;;;;;OAKG;;IACF,KAAK,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9C;;;;;OAKG;;IACF,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChD;;;;;OAKG;;IACF,KAAK,CAAC,mCAAmC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9D;;;;;OAKG;;IACF,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChD;;;;;OAKG;;IACF,KAAK,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C;;;;;;;OAOG;;IACF,KAAK,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9C;;;;;;;;OAQG;;IACF,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C;;;;;;;;OAQG;;IACF,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5C;;;;;;;;OAQG;;IACF,KAAK,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnD;;;;;;;;OAQG;;IACF,KAAK,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEpD;;;;;OAKG;;IACF,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAE3C,UAAU,CAief;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getLanguage } from \"@ui5/webcomponents-base/dist/config/Language.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 type { UDExAccordionItemClickEventDetail } from \"./AccordionItem.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport type { UDExSocialMediaButtonType } from \"./types/SocialMediaButtonType.js\";\nimport type { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport FooterTemplate from \"./FooterTemplate.js\";\nimport {\n ABOUT_SAP,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n TRENDING,\n COPYRIGHT,\n PUBLIC_SECURITY_NETWORK_NUMBER,\n ICP_NUMBER,\n BACK_TO_TOP,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css.js\";\n\nexport const chineseICPDefaultLink = \"https://beian.miit.gov.cn/\";\n\nexport type FooterLink = {\n id: string;\n title: string;\n url: string;\n target: UDExTarget;\n role?: string;\n};\n\nexport type FooterSocialLink = {\n name?: UDExSocialMediaButtonType;\n url: string;\n target?: UDExTarget;\n accessibleName?: string;\n id? : string;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\ntype UDExFooterDetailedClickEventDetail = {\n originalEvent: MouseEvent,\n name: string | undefined;\n id?: string;\n sourceNode: HTMLElement;\n}\n\ntype UDExFooterBaseEventDetail = {\n originalEvent: MouseEvent | Event,\n}\n\ntype BaseEvents = \"contact-chat-click\" | \"contact-phone-local-numbers-click\" | \"contact-email-click\" | \"contact-phone-click\" | \"logo-click\" | \"back-to-top-click\";\n\ntype DetailedEvents = \"quick-links-click\" | \"trending-click\" | \"about-sap-click\" | \"site-information-click\" | \"social-media-link-click\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n languageAware: true,\n tag: \"udex-footer\",\n renderer: jsxRenderer,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordion, UDExAccordionItem, Icon, UDExButton, UDExDivider, UDExLink, UDExSocialMediaButton],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n * @param { string | undefined } name\n * @param { boolean } expanded\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExFooter extends UI5Element {\n eventDetails!: {\n \"logo-click\": UDExFooterBaseEventDetail,\n \"back-to-top-click\": UDExFooterBaseEventDetail,\n \"contact-chat-click\": UDExFooterBaseEventDetail,\n \"contact-phone-local-numbers-click\": UDExFooterBaseEventDetail,\n \"contact-email-click\": UDExFooterBaseEventDetail,\n \"contact-phone-click\": UDExFooterBaseEventDetail,\n \"quick-links-click\": UDExFooterDetailedClickEventDetail,\n \"trending-click\": UDExFooterDetailedClickEventDetail,\n \"about-sap-click\": UDExFooterDetailedClickEventDetail,\n \"site-information-click\":UDExFooterDetailedClickEventDetail,\n \"social-media-link-click\": UDExFooterDetailedClickEventDetail,\n \"accordion-item-click\": UDExAccordionItemClickEventDetail,\n };\n\n /**\n * Defines the slot for custom Social Links.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true })\n customSocialLinks!: Array<UDExSocialMediaButton>;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle?: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl?: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoLink: string = \"\";\n\n /**\n * Defines the tagline alt text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineAlt?: string;\n\n /**\n * Defines the tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineUrl?: string;\n\n /**\n * Defines the chinese tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseTaglineUrl?: string;\n\n /**\n * Defines the chinese logo url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoUrl?: string;\n\n /**\n * Defines the optional component href link for the chinese logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n quickLinks: string = \"[]\";\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n trendingLinks: string = \"[]\";\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n aboutLinks: string = \"[]\";\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n siteInformationLinks: string = \"[]\";\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbersList: string = \"[]\";\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n localCountryNumbersLink: string = \"\";\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n contactUsLink: string = \"\";\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chatWithUsLink: string = \"\";\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n socialLinks: string = \"[]\";\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAlt: string = \"\";\n\n /**\n * Defines an aria label for the logo link\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAriaLabel: string = \"\";\n\n /**\n * Defines an quick links column title\n *\n * @public\n */\n @property({ type: String })\n quickLinksTitle?: string;\n\n /**\n * Defines a trending column title\n *\n * @public\n */\n @property({ type: String })\n trendingTitle?: string;\n\n /**\n * Defines an \"about Sap\" column title\n *\n * @public\n */\n @property({ type: String })\n aboutSapTitle?: string;\n\n /**\n * Defines a site information column title\n *\n * @public\n */\n @property({ type: String })\n siteInformationTitle?: string;\n\n /**\n * Defines a href for the chinese ICP Number link\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumberLink: string = chineseICPDefaultLink;\n\n /**\n * Defines text for the chinese ICP Number\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumber!: string;\n\n /**\n * Defines text for the chinese security network number\n *\n * @public\n */\n @property({ type: String })\n chineseSecurityNetworkNumber!: string;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"back-to-top-click\");\n\n window.scrollTo(0, 0);\n }\n\n get quickLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get phoneNumberAccessibleName(): string {\n return `${translate(UDExFooter, PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return translate(UDExFooter, CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${translate(UDExFooter, EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return translate(UDExFooter, CHAT_WITH_US);\n }\n\n get _quickLinksTitle(): string {\n return this.quickLinksTitle || translate(UDExFooter, QUICK_LINKS);\n }\n\n get _trendingTitle(): string {\n return this.trendingTitle || translate(UDExFooter, TRENDING);\n }\n\n get _aboutSapTitle(): string {\n return this.aboutSapTitle || translate(UDExFooter, ABOUT_SAP);\n }\n\n get _siteInformationTitle(): string {\n return this.siteInformationTitle || translate(UDExFooter, SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${translate(UDExFooter, SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return translate(UDExFooter, LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return translate(UDExFooter, COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumberText(): string {\n return this.chineseIcpNumber ?? translate(UDExFooter, ICP_NUMBER);\n }\n\n get chineseSecurityNetworkNumberText(): string {\n return this.chineseSecurityNetworkNumber ? ` ${this.chineseSecurityNetworkNumber}` : ` ${translate(UDExFooter, PUBLIC_SECURITY_NETWORK_NUMBER)}`;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n get backToTopTitle(): string {\n return translate(UDExFooter, BACK_TO_TOP);\n }\n\n get hasSocialLinksSlot(): boolean {\n return !!this.customSocialLinks.length;\n }\n\n _onLogoClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: MouseEvent | Event, eventName: BaseEvents): void {\n this.fireDecoratorEvent(eventName, { originalEvent: e });\n }\n\n fireFooterDetailedClickEvent(e: MouseEvent, eventName: DetailedEvents): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireDecoratorEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n });\n }\n\n handleAccordionItemClick(e: CustomEvent<UDExAccordionItemClickEventDetail>): void {\n this.fireDecoratorEvent(\"accordion-item-click\", e.detail);\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\nexport type { UDExFooterBaseEventDetail, UDExFooterDetailedClickEventDetail };\n"]}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getLanguage } from \"@ui5/webcomponents-base/dist/config/Language.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 type { UDExAccordionItemClickEventDetail } from \"./AccordionItem.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport type { UDExSocialMediaButtonType } from \"./types/SocialMediaButtonType.js\";\nimport type { UDExTarget } from \"./types/common.js\";\nimport UDExFooterAskJoulePosition from \"./types/FooterAskJoulePosition.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport FooterTemplate from \"./FooterTemplate.js\";\nimport {\n ABOUT_SAP,\n ASK_JOULE,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n TRENDING,\n COPYRIGHT,\n PUBLIC_SECURITY_NETWORK_NUMBER,\n ICP_NUMBER,\n BACK_TO_TOP,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css.js\";\n\nexport const chineseICPDefaultLink = \"https://beian.miit.gov.cn/\";\n\nexport type FooterLink = {\n id: string;\n title: string;\n url: string;\n target: UDExTarget;\n role?: string;\n};\n\nexport type FooterSocialLink = {\n name?: UDExSocialMediaButtonType;\n url: string;\n target?: UDExTarget;\n accessibleName?: string;\n id? : string;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\ntype UDExFooterDetailedClickEventDetail = {\n originalEvent: MouseEvent,\n name: string | undefined;\n id?: string;\n sourceNode: HTMLElement;\n}\n\ntype UDExFooterBaseEventDetail = {\n originalEvent: MouseEvent | Event,\n}\n\ntype BaseEvents = \"contact-chat-click\" | \"contact-phone-local-numbers-click\" | \"contact-email-click\" | \"contact-phone-click\" | \"logo-click\" | \"back-to-top-click\" | \"ask-joule-click\";\n\ntype DetailedEvents = \"quick-links-click\" | \"trending-click\" | \"about-sap-click\" | \"site-information-click\" | \"social-media-link-click\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n languageAware: true,\n tag: \"udex-footer\",\n renderer: jsxRenderer,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordion, UDExAccordionItem, Icon, UDExButton, UDExDivider, UDExLink, UDExSocialMediaButton],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Ask Joule\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"ask-joule-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n * @param { string | undefined } name\n * @param { boolean } expanded\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExFooter extends UI5Element {\n eventDetails!: {\n \"logo-click\": UDExFooterBaseEventDetail,\n \"back-to-top-click\": UDExFooterBaseEventDetail,\n \"contact-chat-click\": UDExFooterBaseEventDetail,\n \"contact-phone-local-numbers-click\": UDExFooterBaseEventDetail,\n \"contact-email-click\": UDExFooterBaseEventDetail,\n \"contact-phone-click\": UDExFooterBaseEventDetail,\n \"ask-joule-click\": UDExFooterBaseEventDetail,\n \"quick-links-click\": UDExFooterDetailedClickEventDetail,\n \"trending-click\": UDExFooterDetailedClickEventDetail,\n \"about-sap-click\": UDExFooterDetailedClickEventDetail,\n \"site-information-click\":UDExFooterDetailedClickEventDetail,\n \"social-media-link-click\": UDExFooterDetailedClickEventDetail,\n \"accordion-item-click\": UDExAccordionItemClickEventDetail,\n };\n\n /**\n * Defines the slot for custom Social Links.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true })\n customSocialLinks!: Slot<UDExSocialMediaButton>;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle?: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl?: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoLink: string = \"\";\n\n /**\n * Defines the tagline alt text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineAlt?: string;\n\n /**\n * Defines the tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineUrl?: string;\n\n /**\n * Defines the chinese tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseTaglineUrl?: string;\n\n /**\n * Defines the chinese logo url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoUrl?: string;\n\n /**\n * Defines the optional component href link for the chinese logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n quickLinks: string = \"[]\";\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n trendingLinks: string = \"[]\";\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n aboutLinks: string = \"[]\";\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n siteInformationLinks: string = \"[]\";\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbersList: string = \"[]\";\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n localCountryNumbersLink: string = \"\";\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n contactUsLink: string = \"\";\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chatWithUsLink: string = \"\";\n\n /**\n * Defines the Ask Joule link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n askJouleLink: string = \"\";\n\n /**\n * Defines the position of the Ask Joule item within the contact section.\n * Can be \"start\" (before phone/email/chat) or \"end\" (after phone/email/chat).\n *\n * @default \"start\"\n * @public\n */\n @property({ type: String })\n askJoulePosition: UDExFooterAskJoulePosition = UDExFooterAskJoulePosition.Start;\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n socialLinks: string = \"[]\";\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAlt: string = \"\";\n\n /**\n * Defines an aria label for the logo link\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAriaLabel: string = \"\";\n\n /**\n * Defines an quick links column title\n *\n * @public\n */\n @property({ type: String })\n quickLinksTitle?: string;\n\n /**\n * Defines a trending column title\n *\n * @public\n */\n @property({ type: String })\n trendingTitle?: string;\n\n /**\n * Defines an \"about Sap\" column title\n *\n * @public\n */\n @property({ type: String })\n aboutSapTitle?: string;\n\n /**\n * Defines a site information column title\n *\n * @public\n */\n @property({ type: String })\n siteInformationTitle?: string;\n\n /**\n * Defines a href for the chinese ICP Number link\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumberLink: string = chineseICPDefaultLink;\n\n /**\n * Defines text for the chinese ICP Number\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumber!: string;\n\n /**\n * Defines text for the chinese security network number\n *\n * @public\n */\n @property({ type: String })\n chineseSecurityNetworkNumber!: string;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"back-to-top-click\");\n\n window.scrollTo(0, 0);\n }\n\n get quickLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink || !!this.askJouleLink;\n }\n\n get phoneNumberAccessibleName(): string {\n return `${translate(UDExFooter, PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return translate(UDExFooter, CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${translate(UDExFooter, EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return translate(UDExFooter, CHAT_WITH_US);\n }\n\n get askJouleAccessibleName(): string {\n return translate(UDExFooter, ASK_JOULE);\n }\n\n get _quickLinksTitle(): string {\n return this.quickLinksTitle || translate(UDExFooter, QUICK_LINKS);\n }\n\n get _trendingTitle(): string {\n return this.trendingTitle || translate(UDExFooter, TRENDING);\n }\n\n get _aboutSapTitle(): string {\n return this.aboutSapTitle || translate(UDExFooter, ABOUT_SAP);\n }\n\n get _siteInformationTitle(): string {\n return this.siteInformationTitle || translate(UDExFooter, SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${translate(UDExFooter, SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return translate(UDExFooter, LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return translate(UDExFooter, COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumberText(): string {\n return this.chineseIcpNumber ?? translate(UDExFooter, ICP_NUMBER);\n }\n\n get chineseSecurityNetworkNumberText(): string {\n return this.chineseSecurityNetworkNumber ? ` ${this.chineseSecurityNetworkNumber}` : ` ${translate(UDExFooter, PUBLIC_SECURITY_NETWORK_NUMBER)}`;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n get backToTopTitle(): string {\n return translate(UDExFooter, BACK_TO_TOP);\n }\n\n get hasSocialLinksSlot(): boolean {\n return !!this.customSocialLinks.length;\n }\n\n _onLogoClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onAskJouleClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"ask-joule-click\");\n }\n\n _onQuickLinksClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: MouseEvent | Event, eventName: BaseEvents): void {\n this.fireDecoratorEvent(eventName, { originalEvent: e });\n }\n\n fireFooterDetailedClickEvent(e: MouseEvent, eventName: DetailedEvents): void {\n const target = e.composedPath()[0] as HTMLElement;\n const sourceNode = (target.closest(\"a\") ?? target);\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireDecoratorEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n });\n }\n\n handleAccordionItemClick(e: CustomEvent<UDExAccordionItemClickEventDetail>): void {\n this.fireDecoratorEvent(\"accordion-item-click\", e.detail);\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\nexport type { UDExFooterBaseEventDetail, UDExFooterDetailedClickEventDetail };\n"]}
@@ -6,6 +6,7 @@ import headset from "@ui5/webcomponents-icons/dist/headset.js";
6
6
  import email from "@ui5/webcomponents-icons/dist/email.js";
7
7
  import backToTop from "@ui5/webcomponents-icons/dist/back-to-top.js";
8
8
  import discussion from "@ui5/webcomponents-icons/dist/discussion-2.js";
9
+ import da from "@ui5/webcomponents-icons/dist/da.js";
9
10
  import UDExLink from "./Link.js";
10
11
  import UDExDivider from "./Divider.js";
11
12
  import UDExSocialMediaButton from "./SocialMediaButton.js";
@@ -14,14 +15,18 @@ import UDExAccordionItem from "./AccordionItem.js";
14
15
  import UDExButton from "./Button.js";
15
16
  import UDExButtonDesign from "./types/ButtonDesign.js";
16
17
  import UDExButtonSize from "./types/ButtonSize.js";
18
+ import UDExFooterAskJoulePosition from "./types/FooterAskJoulePosition.js";
17
19
  export default function FooterTemplate() {
18
20
  const rootClass = "udex-footer";
19
- return (_jsxs("footer", { className: rootClass, children: [_jsxs("div", { className: `${rootClass}__content`, children: [_jsxs("div", { className: `${rootClass}__contact-social`, children: [this.hasLogo && (_jsxs("div", { className: `${rootClass}__logo`, children: [this.hasLogoLink ? (_jsx("a", { href: this.logoHref, onClick: this._onLogoClick, title: this.logoTitle, "aria-label": this.logoAriaLabel, children: _jsx("img", { id: `${rootClass}__logo-image`, src: this.currentLogoUrl, className: this.logoClass, alt: this.logoAlt }) })) : (_jsx("img", { id: `${rootClass}__logo-image`, src: this.currentLogoUrl, className: this.logoClass, alt: this.logoAlt })), this.hasTagline && (_jsx("img", { id: `${rootClass}__tagline-image`, src: this.currentTaglineUrl, className: this.taglineClass, alt: this.taglineAlt }))] })), this.isContactContainerVisible && (_jsxs("div", { className: `${rootClass}__contact`, children: [this.contactNumbersArray.length > 0 && (_jsxs("div", { className: `${rootClass}__numbers`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: headset, mode: IconMode.Decorative }) }), _jsxs("div", { children: [_jsx("div", { className: `${rootClass}__numbers-wrapper`, children: this.contactNumbersArray.map((contact, index) => (_jsxs("div", { children: [_jsx("span", { className: "hidden", "aria-hidden": true, id: `${rootClass}__${index}_phone-label`, children: `${this.phoneNumberAccessibleName} ${contact.country} : ${contact.number}` }), _jsx("p", { className: `${rootClass}__country`, children: contact.country }), _jsx("a", { href: `tel:${contact.number}`, className: `${rootClass}__number`, onClick: this._onContactPhoneClick, "aria-labelledby": `${rootClass}__${index}_phone-label`, children: contact.number })] }, index))) }), this.localCountryNumbersLink && (_jsxs("p", { className: `${rootClass}__remark`, children: [this.completeListTitle, _jsxs(UDExLink, { class: `${rootClass}__remark-link`, onClick: this._onContactPhoneLocalNumbersClick, href: this.localCountryNumbersLink, design: UI5LinkDesign.Subtle, children: [this.localCountryTitle, "."] })] }))] })] })), this.contactUsLink && (_jsxs("div", { className: `${rootClass}__contact-us`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: email, mode: IconMode.Decorative }) }), _jsx("span", { className: "hidden", "aria-hidden": true, id: `${rootClass}__contact-us-label`, children: this.contactUsAccessibleLabel }), _jsx("a", { href: this.contactUsLink, className: `${rootClass}__contact-us-link`, "aria-labelledby": `${rootClass}__contact-us-label`, onClick: this._onContactEmailClick, children: this.contactUsAccessibleName })] })), this.chatWithUsLink && (_jsxs("div", { className: `${rootClass}__chat-with-us`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: discussion, mode: IconMode.Decorative }) }), _jsx("a", { href: this.chatWithUsLink, className: `${rootClass}__chat-with-us-link`, onClick: this._onContactChatClick, children: this.chatWithUsAccessibleName })] }))] }))] }), _jsx(UDExDivider, { class: `${rootClass}__divider`, accessibleRole: "none" }), this._shouldRenderMobileMenu ? (mobileNavigation.call(this, rootClass)) : (desktopNavigation.call(this, rootClass)), _jsx(UDExDivider, { class: `${rootClass}__divider`, accessibleRole: "none" }), _jsxs("div", { className: `${rootClass}__copyright`, children: [this.isChineseLang && (_jsxs("span", { className: `${rootClass}__copyright-chinese-text`, children: [_jsx(UDExLink, { href: this.chineseIcpNumberLink, title: this.chineseICPNumberText, design: "Subtle", class: `${rootClass}__copyright-chinese-link`, target: "_blank", children: this.chineseICPNumberText }), this.chineseSecurityNetworkNumberText] })), _jsx("span", { className: `${rootClass}__copyright-text`, children: this.copyrightText })] }), (this.socialLinksArray.length > 0 || this.hasSocialLinksSlot) && (_jsxs("ul", { className: `${rootClass}__social-container`, children: [this.socialLinksArray.map((social, index) => (_jsx(UDExSocialMediaButton, { role: "listitem", type: social.name, url: social.url, target: social.target, "accessible-name": social.accessibleName, "data-name": social.name, "data-id": social.id, "onui5-click": this._onSocialMediaLinkClick }, index))), this.hasSocialLinksSlot && (_jsx(_Fragment, { children: this.customSocialLinks.map(link => _jsx("slot", { name: link._individualSlot })) }))] }))] }), _jsx(UDExButton, { class: `${rootClass}__back-to-top-button`, icon: backToTop, onClick: this.onBackToTopClick, design: UDExButtonDesign.Tertiary, size: UDExButtonSize.Large, tooltip: this.backToTopTitle })] }));
21
+ return (_jsxs("footer", { className: rootClass, children: [_jsxs("div", { className: `${rootClass}__content`, children: [_jsxs("div", { className: `${rootClass}__contact-social`, children: [this.hasLogo && (_jsxs("div", { className: `${rootClass}__logo`, children: [this.hasLogoLink ? (_jsx("a", { href: this.logoHref, onClick: this._onLogoClick, title: this.logoTitle, "aria-label": this.logoAriaLabel, children: _jsx("img", { id: `${rootClass}__logo-image`, src: this.currentLogoUrl, className: this.logoClass, alt: this.logoAlt }) })) : (_jsx("img", { id: `${rootClass}__logo-image`, src: this.currentLogoUrl, className: this.logoClass, alt: this.logoAlt })), this.hasTagline && (_jsx("img", { id: `${rootClass}__tagline-image`, src: this.currentTaglineUrl, className: this.taglineClass, alt: this.taglineAlt }))] })), this.isContactContainerVisible && (_jsxs("div", { className: `${rootClass}__contact`, children: [this.askJouleLink && this.askJoulePosition === UDExFooterAskJoulePosition.Start && askJouleBlock.call(this, rootClass), this.contactNumbersArray.length > 0 && (_jsxs("div", { className: `${rootClass}__numbers`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: headset, mode: IconMode.Decorative }) }), _jsxs("div", { children: [_jsx("div", { className: `${rootClass}__numbers-wrapper`, children: this.contactNumbersArray.map((contact, index) => (_jsxs("div", { children: [_jsx("span", { className: "hidden", "aria-hidden": true, id: `${rootClass}__${index}_phone-label`, children: `${this.phoneNumberAccessibleName} ${contact.country} : ${contact.number}` }), _jsx("p", { className: `${rootClass}__country`, children: contact.country }), _jsx("a", { href: `tel:${contact.number}`, className: `${rootClass}__number`, onClick: this._onContactPhoneClick, "aria-labelledby": `${rootClass}__${index}_phone-label`, children: contact.number })] }, index))) }), this.localCountryNumbersLink && (_jsxs("p", { className: `${rootClass}__remark`, children: [this.completeListTitle, _jsxs(UDExLink, { class: `${rootClass}__remark-link`, onClick: this._onContactPhoneLocalNumbersClick, href: this.localCountryNumbersLink, design: UI5LinkDesign.Subtle, children: [this.localCountryTitle, "."] })] }))] })] })), this.contactUsLink && (_jsxs("div", { className: `${rootClass}__contact-us`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: email, mode: IconMode.Decorative }) }), _jsx("span", { className: "hidden", "aria-hidden": true, id: `${rootClass}__contact-us-label`, children: this.contactUsAccessibleLabel }), _jsx("a", { href: this.contactUsLink, className: `${rootClass}__contact-us-link`, "aria-labelledby": `${rootClass}__contact-us-label`, onClick: this._onContactEmailClick, children: this.contactUsAccessibleName })] })), this.chatWithUsLink && (_jsxs("div", { className: `${rootClass}__chat-with-us`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: discussion, mode: IconMode.Decorative }) }), _jsx("a", { href: this.chatWithUsLink, className: `${rootClass}__chat-with-us-link`, onClick: this._onContactChatClick, children: this.chatWithUsAccessibleName })] })), this.askJouleLink && this.askJoulePosition === UDExFooterAskJoulePosition.End && askJouleBlock.call(this, rootClass)] }))] }), _jsx(UDExDivider, { class: `${rootClass}__divider`, accessibleRole: "none" }), this._shouldRenderMobileMenu ? (mobileNavigation.call(this, rootClass)) : (desktopNavigation.call(this, rootClass)), _jsx(UDExDivider, { class: `${rootClass}__divider`, accessibleRole: "none" }), _jsxs("div", { className: `${rootClass}__copyright`, children: [this.isChineseLang && (_jsxs("span", { className: `${rootClass}__copyright-chinese-text`, children: [_jsx(UDExLink, { href: this.chineseIcpNumberLink, title: this.chineseICPNumberText, design: "Subtle", class: `${rootClass}__copyright-chinese-link`, target: "_blank", children: this.chineseICPNumberText }), this.chineseSecurityNetworkNumberText] })), _jsx("span", { className: `${rootClass}__copyright-text`, children: this.copyrightText })] }), (this.socialLinksArray.length > 0 || this.hasSocialLinksSlot) && (_jsxs("ul", { className: `${rootClass}__social-container`, children: [this.socialLinksArray.map((social, index) => (_jsx(UDExSocialMediaButton, { role: "listitem", type: social.name, url: social.url, target: social.target, "accessible-name": social.accessibleName, "data-name": social.name, "data-id": social.id, "onui5-click": this._onSocialMediaLinkClick }, index))), this.hasSocialLinksSlot && (_jsx(_Fragment, { children: this.customSocialLinks.map(link => _jsx("slot", { name: link._individualSlot })) }))] }))] }), _jsx(UDExButton, { class: `${rootClass}__back-to-top-button`, icon: backToTop, onClick: this.onBackToTopClick, design: UDExButtonDesign.Tertiary, size: UDExButtonSize.Large, tooltip: this.backToTopTitle })] }));
20
22
  }
21
23
  function mobileNavigation(rootClass) {
22
24
  return (_jsxs(UDExAccordion, { class: `${rootClass}__accordion`, children: [this.quickLinksArray.length > 0 && (_jsx(_Fragment, { children: _jsxs(UDExAccordionItem, { onAccordionItemClick: this.handleAccordionItemClick, label: this._quickLinksTitle, class: `${rootClass}__action-item`, children: [_jsx("ul", { className: `${rootClass}__links-list udex-footer__links-list--mobile`, children: this.quickLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, href: link.url, "data-id": link.id, onClick: this._onQuickLinksClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h6", { className: `${rootClass}__links-item hidden`, "aria-hidden": "true", id: `${rootClass}__quick-links`, children: this._quickLinksTitle })] }) })), this.trendingLinksArray.length > 0 && (_jsx(_Fragment, { children: _jsxs(UDExAccordionItem, { onAccordionItemClick: this.handleAccordionItemClick, label: this._trendingTitle, class: `${rootClass}__action-item`, children: [_jsx("ul", { className: `${rootClass}__links-list ${rootClass}__links-list--mobile`, children: this.trendingLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, href: link.url, "data-id": link.id, onClick: this._onTrendingClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h6", { className: `${rootClass}__links-item hidden`, "aria-hidden": "true", id: `${rootClass}__trending`, children: this._trendingTitle })] }) })), this.aboutLinksArray.length > 0 && (_jsx(_Fragment, { children: _jsxs(UDExAccordionItem, { onAccordionItemClick: this.handleAccordionItemClick, label: this._aboutSapTitle, class: `${rootClass}__action-item`, children: [_jsx("ul", { className: `${rootClass}__links-list ${rootClass}__links-list--mobile`, children: this.aboutLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, href: link.url, "data-id": link.id, onClick: this._onAboutSapClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h6", { className: `${rootClass}__links-item hidden`, "aria-hidden": "true", id: `${rootClass}__about`, children: this._aboutSapTitle })] }) })), this.siteInformationLinksArray.length > 0 && (_jsx(_Fragment, { children: _jsxs(UDExAccordionItem, { onAccordionItemClick: this.handleAccordionItemClick, label: this._siteInformationTitle, class: `${rootClass}__action-item`, children: [_jsx("ul", { className: `${rootClass}__links-list rootClass__links-list--mobile`, children: this.siteInformationLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, href: link.url, "data-id": link.id, onClick: this._onSiteInformationClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h6", { className: `${rootClass}__links-item hidden`, "aria-hidden": "true", id: `${rootClass}__site-information`, children: this._siteInformationTitle })] }) }))] }));
23
25
  }
24
26
  function desktopNavigation(rootClass) {
25
- return (_jsxs("div", { className: `${rootClass}__links`, children: [this.quickLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__quick-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__quick-links`, children: this._quickLinksTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__quick-links`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.quickLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onQuickLinksClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }) })] })), this.trendingLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__trending-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__trending`, children: this._trendingTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__trending`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.trendingLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onTrendingClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }) })] })), this.aboutLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__about-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__about`, children: this._aboutSapTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__about`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.aboutLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onAboutSapClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }) })] })), this.siteInformationLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__site-information-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__site-information`, children: this._siteInformationTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__site-information`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.siteInformationLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onSiteInformationClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }) })] }))] }));
27
+ return (_jsxs("div", { className: `${rootClass}__links`, children: [this.quickLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__quick-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__quick-links`, children: this._quickLinksTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__quick-links`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.quickLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onQuickLinksClick, ...(link.role ? { "role": link.role } : {}), children: _jsx("span", { className: "udex-footer__nav-link-text", children: link.title }) }) }, index))) }) })] })), this.trendingLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__trending-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__trending`, children: this._trendingTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__trending`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.trendingLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onTrendingClick, ...(link.role ? { "role": link.role } : {}), children: _jsx("span", { className: "udex-footer__nav-link-text", children: link.title }) }) }, index))) }) })] })), this.aboutLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__about-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__about`, children: this._aboutSapTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__about`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.aboutLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onAboutSapClick, ...(link.role ? { "role": link.role } : {}), children: _jsx("span", { className: "udex-footer__nav-link-text", children: link.title }) }) }, index))) }) })] })), this.siteInformationLinksArray.length > 0 && (_jsxs("div", { className: `${rootClass}__links-group ${rootClass}__site-information-links`, children: [_jsx("h6", { className: `${rootClass}__links-item`, id: `${rootClass}__site-information`, children: this._siteInformationTitle }), _jsx("nav", { children: _jsx("ul", { "aria-labelledby": `${rootClass}__site-information`, className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.siteInformationLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "data-id": link.id, href: link.url, onClick: this._onSiteInformationClick, ...(link.role ? { "role": link.role } : {}), children: _jsx("span", { className: "udex-footer__nav-link-text", children: link.title }) }) }, index))) }) })] }))] }));
28
+ }
29
+ function askJouleBlock(rootClass) {
30
+ return (_jsxs("div", { className: `${rootClass}__ask-joule`, children: [_jsx("div", { className: `${rootClass}__icon-container`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, name: da, mode: IconMode.Decorative }) }), _jsx("a", { href: this.askJouleLink, className: `${rootClass}__ask-joule-link`, onClick: this._onAskJouleClick, children: this.askJouleAccessibleName })] }));
26
31
  }
27
32
  //# sourceMappingURL=FooterTemplate.js.map