@sapudex/web-components 2.20.1 → 2.22.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 (253) hide show
  1. package/bundle.esm.js +4 -0
  2. package/cypress/specs/Feed.cy.tsx +72 -0
  3. package/cypress/specs/FeedItem.cy.tsx +82 -0
  4. package/cypress/specs/Footer.cy.tsx +45 -1
  5. package/cypress/specs/ImageGridCloud.cy.tsx +78 -0
  6. package/cypress/specs/ImageGridCloudItem.cy.tsx +29 -0
  7. package/cypress/support/component-imports.instrumented.ts +8 -0
  8. package/cypress/support/component-imports.src.ts +8 -0
  9. package/dist/Accordion.js +1 -0
  10. package/dist/Accordion.js.map +1 -1
  11. package/dist/AccordionItem.js +2 -0
  12. package/dist/AccordionItem.js.map +1 -1
  13. package/dist/AssetsVariables.js +5 -0
  14. package/dist/AssetsVariables.js.map +1 -1
  15. package/dist/Breadcrumbs.js +5 -0
  16. package/dist/Breadcrumbs.js.map +1 -1
  17. package/dist/ContactItem.js +2 -0
  18. package/dist/ContactItem.js.map +1 -1
  19. package/dist/CountrySelector.js +1 -0
  20. package/dist/CountrySelector.js.map +1 -1
  21. package/dist/DatePicker.js +2 -1
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/Feed.d.ts +88 -0
  24. package/dist/Feed.js +103 -0
  25. package/dist/Feed.js.map +1 -0
  26. package/dist/FeedItem.d.ts +114 -0
  27. package/dist/FeedItem.js +131 -0
  28. package/dist/FeedItem.js.map +1 -0
  29. package/dist/FeedItemTemplate.d.ts +2 -0
  30. package/dist/FeedItemTemplate.js +16 -0
  31. package/dist/FeedItemTemplate.js.map +1 -0
  32. package/dist/FeedTemplate.d.ts +2 -0
  33. package/dist/FeedTemplate.js +19 -0
  34. package/dist/FeedTemplate.js.map +1 -0
  35. package/dist/FilterMenu.js +2 -0
  36. package/dist/FilterMenu.js.map +1 -1
  37. package/dist/Footer.d.ts +14 -2
  38. package/dist/Footer.js +37 -4
  39. package/dist/Footer.js.map +1 -1
  40. package/dist/FooterTemplate.js +3 -3
  41. package/dist/FooterTemplate.js.map +1 -1
  42. package/dist/ImageGridCloud.d.ts +76 -0
  43. package/dist/ImageGridCloud.js +153 -0
  44. package/dist/ImageGridCloud.js.map +1 -0
  45. package/dist/ImageGridCloudItem.d.ts +35 -0
  46. package/dist/ImageGridCloudItem.js +49 -0
  47. package/dist/ImageGridCloudItem.js.map +1 -0
  48. package/dist/ImageGridCloudItemTemplate.d.ts +2 -0
  49. package/dist/ImageGridCloudItemTemplate.js +5 -0
  50. package/dist/ImageGridCloudItemTemplate.js.map +1 -0
  51. package/dist/ImageGridCloudTemplate.d.ts +2 -0
  52. package/dist/ImageGridCloudTemplate.js +6 -0
  53. package/dist/ImageGridCloudTemplate.js.map +1 -0
  54. package/dist/ImageGridTicker.d.ts +2 -2
  55. package/dist/ImageGridTicker.js +1 -8
  56. package/dist/ImageGridTicker.js.map +1 -1
  57. package/dist/LinkListItem.js +1 -0
  58. package/dist/LinkListItem.js.map +1 -1
  59. package/dist/List.js +3 -0
  60. package/dist/List.js.map +1 -1
  61. package/dist/ListGroupHeader.js +1 -0
  62. package/dist/ListGroupHeader.js.map +1 -1
  63. package/dist/ListItem.js +2 -0
  64. package/dist/ListItem.js.map +1 -1
  65. package/dist/ListItemBase.js +4 -0
  66. package/dist/ListItemBase.js.map +1 -1
  67. package/dist/ListSelectAll.js +1 -0
  68. package/dist/ListSelectAll.js.map +1 -1
  69. package/dist/MastheadCountrySelector.js +15 -0
  70. package/dist/MastheadCountrySelector.js.map +1 -1
  71. package/dist/MastheadItem.js +10 -0
  72. package/dist/MastheadItem.js.map +1 -1
  73. package/dist/MastheadMenu.js +6 -0
  74. package/dist/MastheadMenu.js.map +1 -1
  75. package/dist/MastheadMobileMenu.js +11 -0
  76. package/dist/MastheadMobileMenu.js.map +1 -1
  77. package/dist/MastheadProfileMenu.js +11 -0
  78. package/dist/MastheadProfileMenu.js.map +1 -1
  79. package/dist/MastheadShell.js +41 -0
  80. package/dist/MastheadShell.js.map +1 -1
  81. package/dist/MediaPlayer.js +1 -0
  82. package/dist/MediaPlayer.js.map +1 -1
  83. package/dist/MediaPlayerVimeo.d.ts +3 -3
  84. package/dist/MediaPlayerVimeo.js +1 -0
  85. package/dist/MediaPlayerVimeo.js.map +1 -1
  86. package/dist/MediaPlayerYoutube.js +3 -0
  87. package/dist/MediaPlayerYoutube.js.map +1 -1
  88. package/dist/Pagination.js +1 -1
  89. package/dist/Pagination.js.map +1 -1
  90. package/dist/Search.d.ts +2 -1
  91. package/dist/Search.js +18 -3
  92. package/dist/Search.js.map +1 -1
  93. package/dist/SearchTemplate.d.ts +2 -0
  94. package/dist/SearchTemplate.js +48 -0
  95. package/dist/SearchTemplate.js.map +1 -0
  96. package/dist/SearchableListBase.d.ts +3 -0
  97. package/dist/SearchableListBase.js +10 -0
  98. package/dist/SearchableListBase.js.map +1 -1
  99. package/dist/SecondaryNavigation.js +19 -0
  100. package/dist/SecondaryNavigation.js.map +1 -1
  101. package/dist/SecondaryNavigationItem.js +6 -0
  102. package/dist/SecondaryNavigationItem.js.map +1 -1
  103. package/dist/SecondaryNavigationSubItem.js +3 -0
  104. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  105. package/dist/SelectBox.js +1 -0
  106. package/dist/SelectBox.js.map +1 -1
  107. package/dist/SocialMediaButton.js +2 -0
  108. package/dist/SocialMediaButton.js.map +1 -1
  109. package/dist/StepInput.js +2 -0
  110. package/dist/StepInput.js.map +1 -1
  111. package/dist/TabNavigation.js +3 -0
  112. package/dist/TabNavigation.js.map +1 -1
  113. package/dist/Tag.js +1 -0
  114. package/dist/Tag.js.map +1 -1
  115. package/dist/TagGroup.js +3 -0
  116. package/dist/TagGroup.js.map +1 -1
  117. package/dist/TextField.js +1 -0
  118. package/dist/TextField.js.map +1 -1
  119. package/dist/Tile.js +1 -0
  120. package/dist/Tile.js.map +1 -1
  121. package/dist/Upload.js +5 -0
  122. package/dist/Upload.js.map +1 -1
  123. package/dist/assets/{InputSuggestions-yR1p8cXL.js → InputSuggestions-By00xQan.js} +1 -1
  124. package/dist/assets/{ListItemStandardExpandableTextTemplate-BovnAV24.js → ListItemStandardExpandableTextTemplate-BGtoxRbA.js} +1 -1
  125. package/dist/assets/{bundle.esm-C7AybWk0.js → bundle.esm-9yDdQqR5.js} +223 -214
  126. package/dist/assets/messagebundle_en-D_yCmNrd.js +1 -0
  127. package/dist/css/themes/Feed.css +1 -0
  128. package/dist/css/themes/FeedItem.css +1 -0
  129. package/dist/css/themes/Footer.css +1 -1
  130. package/dist/css/themes/ImageGridCloud.css +1 -0
  131. package/dist/css/themes/ImageGridCloudItem.css +1 -0
  132. package/dist/css/themes/MediaPlayer.css +1 -1
  133. package/dist/css/themes/Pagination.css +1 -1
  134. package/dist/css/themes/RatingIndicator.css +1 -1
  135. package/dist/css/themes/Slider.css +1 -1
  136. package/dist/custom-elements-internal.json +4455 -456
  137. package/dist/custom-elements.json +1411 -288
  138. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  139. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  140. package/dist/generated/i18n/i18n-defaults.js +2 -1
  141. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  142. package/dist/generated/themes/Feed.css.d.ts +2 -0
  143. package/dist/generated/themes/Feed.css.js +8 -0
  144. package/dist/generated/themes/Feed.css.js.map +1 -0
  145. package/dist/generated/themes/FeedItem.css.d.ts +2 -0
  146. package/dist/generated/themes/FeedItem.css.js +8 -0
  147. package/dist/generated/themes/FeedItem.css.js.map +1 -0
  148. package/dist/generated/themes/Footer.css.d.ts +1 -1
  149. package/dist/generated/themes/Footer.css.js +1 -1
  150. package/dist/generated/themes/Footer.css.js.map +1 -1
  151. package/dist/generated/themes/ImageGridCloud.css.d.ts +2 -0
  152. package/dist/generated/themes/ImageGridCloud.css.js +8 -0
  153. package/dist/generated/themes/ImageGridCloud.css.js.map +1 -0
  154. package/dist/generated/themes/ImageGridCloudItem.css.d.ts +2 -0
  155. package/dist/generated/themes/ImageGridCloudItem.css.js +8 -0
  156. package/dist/generated/themes/ImageGridCloudItem.css.js.map +1 -0
  157. package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
  158. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  159. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  160. package/dist/generated/themes/Pagination.css.d.ts +1 -1
  161. package/dist/generated/themes/Pagination.css.js +1 -1
  162. package/dist/generated/themes/Pagination.css.js.map +1 -1
  163. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  164. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  165. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  166. package/dist/generated/themes/Slider.css.d.ts +1 -1
  167. package/dist/generated/themes/Slider.css.js +1 -1
  168. package/dist/generated/themes/Slider.css.js.map +1 -1
  169. package/dist/messagebundle.properties +3 -0
  170. package/dist/messagebundle_en.properties +1 -0
  171. package/dist/vscode.html-custom-data.json +130 -1
  172. package/dist/web-types.json +305 -4
  173. package/package.json +1 -1
  174. package/src/Accordion.ts +1 -0
  175. package/src/AccordionItem.ts +2 -0
  176. package/src/AssetsVariables.ts +5 -0
  177. package/src/Breadcrumbs.ts +5 -0
  178. package/src/ContactItem.ts +2 -0
  179. package/src/CountrySelector.ts +1 -0
  180. package/src/DatePicker.ts +2 -1
  181. package/src/Feed.ts +144 -0
  182. package/src/FeedItem.ts +198 -0
  183. package/src/FeedItemTemplate.tsx +60 -0
  184. package/src/FeedTemplate.tsx +66 -0
  185. package/src/FilterMenu.ts +2 -0
  186. package/src/Footer.ts +47 -4
  187. package/src/FooterTemplate.tsx +29 -39
  188. package/src/ImageGridCloud.ts +188 -0
  189. package/src/ImageGridCloudItem.ts +57 -0
  190. package/src/ImageGridCloudItemTemplate.tsx +11 -0
  191. package/src/ImageGridCloudTemplate.tsx +16 -0
  192. package/src/ImageGridTicker.ts +3 -3
  193. package/src/LinkListItem.ts +1 -0
  194. package/src/List.ts +3 -0
  195. package/src/ListGroupHeader.ts +1 -0
  196. package/src/ListItem.ts +2 -0
  197. package/src/ListItemBase.ts +4 -0
  198. package/src/ListSelectAll.ts +1 -0
  199. package/src/MastheadCountrySelector.ts +15 -0
  200. package/src/MastheadItem.ts +10 -0
  201. package/src/MastheadMenu.ts +6 -0
  202. package/src/MastheadMobileMenu.ts +11 -0
  203. package/src/MastheadProfileMenu.ts +11 -0
  204. package/src/MastheadShell.ts +41 -0
  205. package/src/MediaPlayer.ts +1 -0
  206. package/src/MediaPlayerVimeo.ts +4 -3
  207. package/src/MediaPlayerYoutube.ts +3 -0
  208. package/src/Pagination.ts +1 -1
  209. package/src/Search.ts +20 -4
  210. package/src/SearchTemplate.tsx +353 -0
  211. package/src/SearchableListBase.ts +10 -0
  212. package/src/SecondaryNavigation.ts +19 -0
  213. package/src/SecondaryNavigationItem.ts +6 -0
  214. package/src/SecondaryNavigationSubItem.ts +3 -0
  215. package/src/SelectBox.ts +1 -0
  216. package/src/SocialMediaButton.ts +2 -0
  217. package/src/StepInput.ts +2 -0
  218. package/src/TabNavigation.ts +3 -0
  219. package/src/Tag.ts +1 -0
  220. package/src/TagGroup.ts +3 -0
  221. package/src/TextField.ts +1 -0
  222. package/src/Tile.ts +1 -0
  223. package/src/Upload.ts +5 -0
  224. package/src/generated/i18n/i18n-defaults.ts +2 -2
  225. package/src/generated/themes/Feed.css.ts +9 -0
  226. package/src/generated/themes/FeedItem.css.ts +9 -0
  227. package/src/generated/themes/Footer.css.ts +1 -1
  228. package/src/generated/themes/ImageGridCloud.css.ts +9 -0
  229. package/src/generated/themes/ImageGridCloudItem.css.ts +9 -0
  230. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  231. package/src/generated/themes/Pagination.css.ts +1 -1
  232. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  233. package/src/generated/themes/Slider.css.ts +1 -1
  234. package/src/i18n/messagebundle.properties +3 -0
  235. package/src/i18n/messagebundle_en.properties +1 -0
  236. package/src/themes/Feed.css +51 -0
  237. package/src/themes/FeedItem.css +60 -0
  238. package/src/themes/Footer.css +9 -5
  239. package/src/themes/ImageGridCloud.css +55 -0
  240. package/src/themes/ImageGridCloudItem.css +10 -0
  241. package/src/themes/MediaPlayer.css +1 -1
  242. package/src/themes/Pagination.css +1 -1
  243. package/dist/assets/messagebundle_en-BhTYnZbC.js +0 -1
  244. package/dist/generated/templates/SearchSuggestionsTemplate.lit.d.ts +0 -3
  245. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +0 -17
  246. package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +0 -1
  247. package/dist/generated/templates/SearchTemplate.lit.d.ts +0 -3
  248. package/dist/generated/templates/SearchTemplate.lit.js +0 -28
  249. package/dist/generated/templates/SearchTemplate.lit.js.map +0 -1
  250. package/src/Search.hbs +0 -155
  251. package/src/SearchSuggestions.hbs +0 -91
  252. package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +0 -21
  253. package/src/generated/templates/SearchTemplate.lit.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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\";\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 * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\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 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 `${UDExFooter.i18nBundle.getText(PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${UDExFooter.i18nBundle.getText(EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CHAT_WITH_US);\n }\n\n get _quickLinksTitle(): string {\n return this.quickLinksTitle || UDExFooter.i18nBundle.getText(QUICK_LINKS);\n }\n\n get _trendingTitle(): string {\n return this.trendingTitle || UDExFooter.i18nBundle.getText(TRENDING);\n }\n\n get _aboutSapTitle(): string {\n return this.aboutSapTitle || UDExFooter.i18nBundle.getText(ABOUT_SAP);\n }\n\n get _siteInformationTitle(): string {\n return this.siteInformationTitle || UDExFooter.i18nBundle.getText(SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${UDExFooter.i18nBundle.getText(SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return UDExFooter.i18nBundle.getText(LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return UDExFooter.i18nBundle.getText(COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumber(): string {\n return `${UDExFooter.i18nBundle.getText(ICP_NUMBER)} `;\n }\n\n get chineseSecurityNetworkNumber(): string {\n return UDExFooter.i18nBundle.getText(PUBLIC_SECURITY_NETWORK_NUMBER);\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n get backToTopTitle(): string {\n return UDExFooter.i18nBundle.getText(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":";;;;;;;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;AAE3C,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,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;IAC3D,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,wBAAwB;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,OAAO,GAAG,IAAI,CAAC,uBAAuB,IAAI,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,wBAAwB;QAC1B,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,IAAI,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,IAAI,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,IAAI,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,oBAAoB,IAAI,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,GAAG,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAChE,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,aAAa;QACf,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAG,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;IAC/G,CAAC;IAED,IAAI,gCAAgC;QAClC,OAAO,IAAI,CAAC,4BAA4B,IAAI,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC5G,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,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACpD,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\";\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 `${UDExFooter.i18nBundle.getText(PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${UDExFooter.i18nBundle.getText(EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return UDExFooter.i18nBundle.getText(CHAT_WITH_US);\n }\n\n get _quickLinksTitle(): string {\n return this.quickLinksTitle || UDExFooter.i18nBundle.getText(QUICK_LINKS);\n }\n\n get _trendingTitle(): string {\n return this.trendingTitle || UDExFooter.i18nBundle.getText(TRENDING);\n }\n\n get _aboutSapTitle(): string {\n return this.aboutSapTitle || UDExFooter.i18nBundle.getText(ABOUT_SAP);\n }\n\n get _siteInformationTitle(): string {\n return this.siteInformationTitle || UDExFooter.i18nBundle.getText(SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${UDExFooter.i18nBundle.getText(SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return UDExFooter.i18nBundle.getText(LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return UDExFooter.i18nBundle.getText(COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumberText(): string {\n return this.chineseIcpNumber ? `${this.chineseIcpNumber} ` : `${UDExFooter.i18nBundle.getText(ICP_NUMBER)} `;\n }\n\n get chineseSecurityNetworkNumberText(): string {\n return this.chineseSecurityNetworkNumber ?? UDExFooter.i18nBundle.getText(PUBLIC_SECURITY_NETWORK_NUMBER);\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n get backToTopTitle(): string {\n return UDExFooter.i18nBundle.getText(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"]}
@@ -16,12 +16,12 @@ import UDExButtonDesign from "./types/ButtonDesign.js";
16
16
  import UDExButtonSize from "./types/ButtonSize.js";
17
17
  export default function FooterTemplate() {
18
18
  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 })] }))] }))] }), this.isContactContainerVisible && (_jsx(UDExDivider, { class: `${rootClass}__divider` })), this._shouldRenderMobileMenu ? (mobileNavigation.call(this, rootClass)) : (desktopNavigation.call(this, rootClass)), _jsx(UDExDivider, { class: `${rootClass}__divider` }), _jsxs("div", { className: `${rootClass}__copyright`, children: [this.isChineseLang && (_jsxs("span", { className: `${rootClass}__copyright-chinese-text`, children: [_jsx("a", { href: this.chineseIcpNumberLink, title: this.chineseICPNumber, className: `${rootClass}__copyright-chinese-link`, target: "_blank", rel: "noopener noreferrer", children: this.chineseICPNumber }), this.chineseSecurityNetworkNumber] })), _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 })] }));
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("a", { href: this.chineseIcpNumberLink, title: this.chineseICPNumberText, className: `${rootClass}__copyright-chinese-link`, target: "_blank", rel: "noopener noreferrer", 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
20
  }
21
21
  function mobileNavigation(rootClass) {
22
- 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, "aria-describedby": `${rootClass}__quick-links`, href: link.url, "data-id": link.id, onClick: this._onQuickLinksClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h3", { 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, "aria-describedby": `${rootClass}__footer__trending`, href: link.url, "data-id": link.id, onClick: this._onTrendingClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h3", { 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, "aria-describedby": `${rootClass}__about`, href: link.url, "data-id": link.id, onClick: this._onAboutSapClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h3", { 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, "aria-describedby": `${rootClass}__site-information`, href: link.url, "data-id": link.id, onClick: this._onSiteInformationClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }), _jsx("h3", { className: `${rootClass}__links-item hidden`, "aria-hidden": "true", id: `${rootClass}__site-information`, children: this._siteInformationTitle })] }) }))] }));
22
+ 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
23
  }
24
24
  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("h3", { className: `${rootClass}__links-item`, id: `${rootClass}__quick-links`, children: this._quickLinksTitle }), _jsx("nav", { "aria-labelledby": `${rootClass}__quick-links`, children: _jsx("ul", { className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.quickLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "aria-describedby": `${rootClass}__quick-links`, "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("h3", { className: `${rootClass}__links-item`, id: `${rootClass}__trending`, children: this._trendingTitle }), _jsx("nav", { "aria-labelledby": `${rootClass}__trending`, children: _jsx("ul", { className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.trendingLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "aria-describedby": `${rootClass}__footer__trending`, "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("h3", { className: `${rootClass}__links-item`, id: `${rootClass}__about`, children: this._aboutSapTitle }), _jsx("nav", { "aria-labelledby": `${rootClass}__about`, children: _jsx("ul", { className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.aboutLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "aria-describedby": `${rootClass}__about`, "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("h3", { className: `${rootClass}__links-item`, id: `${rootClass}__site-information`, children: this._siteInformationTitle }), _jsx("nav", { "aria-labelledby": `${rootClass}__site-information`, children: _jsx("ul", { className: `${rootClass}__links-list ${rootClass}__links-list--desktop`, children: this.siteInformationLinksArray.map((link, index) => (_jsx("li", { children: _jsx("a", { target: link.target, "aria-describedby": `${rootClass}__site-information`, "data-id": link.id, href: link.url, onClick: this._onSiteInformationClick, ...(link.role ? { "role": link.role } : {}), children: link.title }) }, index))) }) })] }))] }));
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))) }) })] }))] }));
26
26
  }
27
27
  //# sourceMappingURL=FooterTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FooterTemplate.js","sourceRoot":"","sources":["../src/FooterTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5LinkDesign from \"@ui5/webcomponents/dist/types/LinkDesign.js\";\n\nimport headset from \"@ui5/webcomponents-icons/dist/headset.js\";\nimport email from \"@ui5/webcomponents-icons/dist/email.js\";\nimport backToTop from \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport discussion from \"@ui5/webcomponents-icons/dist/discussion-2.js\";\n\nimport type Footer from \"./Footer.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\n\nexport default function FooterTemplate(this: Footer) {\n const rootClass = \"udex-footer\";\n\n return (\n <footer className={rootClass}>\n <div className={`${rootClass}__content`}>\n <div className={`${rootClass}__contact-social`}>\n {this.hasLogo && (\n <div className={`${rootClass}__logo`}>\n {this.hasLogoLink ? (\n <a\n href={this.logoHref}\n onClick={this._onLogoClick}\n title={this.logoTitle}\n aria-label={this.logoAriaLabel}>\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n </a>\n ) : (\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n )}\n {this.hasTagline && (\n <img\n id={`${rootClass}__tagline-image`}\n src={this.currentTaglineUrl}\n className={this.taglineClass}\n alt={this.taglineAlt}\n />\n )}\n </div>\n )}\n {this.isContactContainerVisible && (\n <div className={`${rootClass}__contact`}>\n {this.contactNumbersArray.length > 0 && (\n <div className={`${rootClass}__numbers`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={headset}\n mode={IconMode.Decorative}\n ></UI5Icon>\n </div>\n <div>\n <div className={`${rootClass}__numbers-wrapper`}>\n {this.contactNumbersArray.map((contact, index) => (\n <div key={index}>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__${index}_phone-label`}>\n {`${this.phoneNumberAccessibleName} ${contact.country} : ${contact.number}`}\n </span>\n <p className={`${rootClass}__country`}>{contact.country}</p>\n <a\n href={`tel:${contact.number}`}\n className={`${rootClass}__number`}\n onClick={this._onContactPhoneClick}\n aria-labelledby={`${rootClass}__${index}_phone-label`}>\n {contact.number}\n </a>\n </div>\n ))}\n </div>\n {this.localCountryNumbersLink && (\n <p className={`${rootClass}__remark`}>\n {this.completeListTitle}\n <UDExLink\n class={`${rootClass}__remark-link`}\n onClick={this._onContactPhoneLocalNumbersClick}\n href={this.localCountryNumbersLink}\n design={UI5LinkDesign.Subtle}>\n {this.localCountryTitle}.\n </UDExLink>\n </p>\n )}\n </div>\n </div>\n )}\n {this.contactUsLink && (\n <div className={`${rootClass}__contact-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={email}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__contact-us-label`}>\n {this.contactUsAccessibleLabel}\n </span>\n <a\n href={this.contactUsLink}\n className={`${rootClass}__contact-us-link`}\n aria-labelledby={`${rootClass}__contact-us-label`}\n onClick={this._onContactEmailClick}>\n {this.contactUsAccessibleName}\n </a>\n </div>\n )}\n {this.chatWithUsLink && (\n <div className={`${rootClass}__chat-with-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={discussion}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <a\n href={this.chatWithUsLink}\n className={`${rootClass}__chat-with-us-link`}\n onClick={this._onContactChatClick}>\n {this.chatWithUsAccessibleName}\n </a>\n </div>\n )}\n </div>\n )}\n </div>\n\n {this.isContactContainerVisible && (\n <UDExDivider class={`${rootClass}__divider`}></UDExDivider>\n )}\n\n {this._shouldRenderMobileMenu ? (\n mobileNavigation.call(this, rootClass)\n ) : (\n desktopNavigation.call(this, rootClass)\n )}\n\n <UDExDivider class={`${rootClass}__divider`}></UDExDivider>\n\n <div className={`${rootClass}__copyright`}>\n {this.isChineseLang && (\n <span className={`${rootClass}__copyright-chinese-text`}>\n <a\n href={this.chineseIcpNumberLink}\n title={this.chineseICPNumber}\n className={`${rootClass}__copyright-chinese-link`}\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {this.chineseICPNumber}\n </a>\n {this.chineseSecurityNetworkNumber}\n </span>\n )}\n <span className={`${rootClass}__copyright-text`}>{this.copyrightText}</span>\n </div>\n\n {(this.socialLinksArray.length > 0 || this.hasSocialLinksSlot) && (\n <ul className={`${rootClass}__social-container`}>\n {this.socialLinksArray.map((social, index) => (\n <UDExSocialMediaButton\n {...{ role: \"listitem\" }}\n key={index}\n type={social.name}\n url={social.url}\n target={social.target}\n accessible-name={social.accessibleName}\n data-name={social.name}\n data-id={social.id}\n onui5-click={this._onSocialMediaLinkClick}>\n </UDExSocialMediaButton>\n ))}\n {this.hasSocialLinksSlot && (\n <>\n {this.customSocialLinks.map(link =>\n <slot name={link._individualSlot}></slot>\n )}\n </>\n )}\n </ul>\n )}\n </div>\n\n <UDExButton\n class={`${rootClass}__back-to-top-button`}\n icon={backToTop}\n onClick={this.onBackToTopClick}\n design={UDExButtonDesign.Tertiary}\n size={UDExButtonSize.Large}\n tooltip={this.backToTopTitle}>\n </UDExButton>\n </footer>\n );\n}\n\nfunction mobileNavigation(this: Footer, rootClass: string) {\n return (\n <UDExAccordion class={`${rootClass}__accordion`}>\n {this.quickLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._quickLinksTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list udex-footer__links-list--mobile`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__quick-links`}\n href={link.url}\n data-id={link.id}\n onClick={this._onQuickLinksClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.trendingLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._trendingTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__footer__trending`}\n href={link.url}\n data-id={link.id}\n onClick={this._onTrendingClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.aboutLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._aboutSapTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__about`}\n href={link.url}\n data-id={link.id}\n onClick={this._onAboutSapClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n\n {this.siteInformationLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._siteInformationTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list rootClass__links-list--mobile`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__site-information`}\n href={link.url}\n data-id={link.id}\n onClick={this._onSiteInformationClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h3 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h3>\n </UDExAccordionItem>\n </>\n )}\n </UDExAccordion>\n );\n}\n\nfunction desktopNavigation(this: Footer, rootClass: string) {\n return (\n <div className={`${rootClass}__links`}>\n {this.quickLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__quick-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__quick-links`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__quick-links`}\n data-id={link.id}\n href={link.url}\n onClick={this._onQuickLinksClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.trendingLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__trending-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__trending`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__footer__trending`}\n data-id={link.id}\n href={link.url}\n onClick={this._onTrendingClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.aboutLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__about-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__about`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__about`}\n data-id={link.id}\n href={link.url}\n onClick={this._onAboutSapClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.siteInformationLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__site-information-links`}>\n <h3 className={`${rootClass}__links-item`} id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h3>\n <nav aria-labelledby={`${rootClass}__site-information`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n aria-describedby={`${rootClass}__site-information`}\n data-id={link.id}\n href={link.url}\n onClick={this._onSiteInformationClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FooterTemplate.js","sourceRoot":"","sources":["../src/FooterTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5LinkDesign from \"@ui5/webcomponents/dist/types/LinkDesign.js\";\n\nimport headset from \"@ui5/webcomponents-icons/dist/headset.js\";\nimport email from \"@ui5/webcomponents-icons/dist/email.js\";\nimport backToTop from \"@ui5/webcomponents-icons/dist/back-to-top.js\";\nimport discussion from \"@ui5/webcomponents-icons/dist/discussion-2.js\";\n\nimport type Footer from \"./Footer.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\n\nexport default function FooterTemplate(this: Footer) {\n const rootClass = \"udex-footer\";\n\n return (\n <footer className={rootClass}>\n <div className={`${rootClass}__content`}>\n <div className={`${rootClass}__contact-social`}>\n {this.hasLogo && (\n <div className={`${rootClass}__logo`}>\n {this.hasLogoLink ? (\n <a\n href={this.logoHref}\n onClick={this._onLogoClick}\n title={this.logoTitle}\n aria-label={this.logoAriaLabel}>\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n </a>\n ) : (\n <img\n id={`${rootClass}__logo-image`}\n src={this.currentLogoUrl}\n className={this.logoClass}\n alt={this.logoAlt}\n />\n )}\n {this.hasTagline && (\n <img\n id={`${rootClass}__tagline-image`}\n src={this.currentTaglineUrl}\n className={this.taglineClass}\n alt={this.taglineAlt}\n />\n )}\n </div>\n )}\n {this.isContactContainerVisible && (\n <div className={`${rootClass}__contact`}>\n {this.contactNumbersArray.length > 0 && (\n <div className={`${rootClass}__numbers`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={headset}\n mode={IconMode.Decorative}\n ></UI5Icon>\n </div>\n <div>\n <div className={`${rootClass}__numbers-wrapper`}>\n {this.contactNumbersArray.map((contact, index) => (\n <div key={index}>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__${index}_phone-label`}>\n {`${this.phoneNumberAccessibleName} ${contact.country} : ${contact.number}`}\n </span>\n <p className={`${rootClass}__country`}>{contact.country}</p>\n <a\n href={`tel:${contact.number}`}\n className={`${rootClass}__number`}\n onClick={this._onContactPhoneClick}\n aria-labelledby={`${rootClass}__${index}_phone-label`}>\n {contact.number}\n </a>\n </div>\n ))}\n </div>\n {this.localCountryNumbersLink && (\n <p className={`${rootClass}__remark`}>\n {this.completeListTitle}\n <UDExLink\n class={`${rootClass}__remark-link`}\n onClick={this._onContactPhoneLocalNumbersClick}\n href={this.localCountryNumbersLink}\n design={UI5LinkDesign.Subtle}>\n {this.localCountryTitle}.\n </UDExLink>\n </p>\n )}\n </div>\n </div>\n )}\n {this.contactUsLink && (\n <div className={`${rootClass}__contact-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={email}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <span\n className=\"hidden\"\n aria-hidden\n id={`${rootClass}__contact-us-label`}>\n {this.contactUsAccessibleLabel}\n </span>\n <a\n href={this.contactUsLink}\n className={`${rootClass}__contact-us-link`}\n aria-labelledby={`${rootClass}__contact-us-label`}\n onClick={this._onContactEmailClick}>\n {this.contactUsAccessibleName}\n </a>\n </div>\n )}\n {this.chatWithUsLink && (\n <div className={`${rootClass}__chat-with-us`}>\n <div className={`${rootClass}__icon-container`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n name={discussion}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </div>\n <a\n href={this.chatWithUsLink}\n className={`${rootClass}__chat-with-us-link`}\n onClick={this._onContactChatClick}>\n {this.chatWithUsAccessibleName}\n </a>\n </div>\n )}\n </div>\n )}\n </div>\n\n <UDExDivider class={`${rootClass}__divider`} accessibleRole=\"none\"></UDExDivider>\n\n {this._shouldRenderMobileMenu ? (\n mobileNavigation.call(this, rootClass)\n ) : (\n desktopNavigation.call(this, rootClass)\n )}\n\n <UDExDivider class={`${rootClass}__divider`} accessibleRole=\"none\"></UDExDivider>\n\n <div className={`${rootClass}__copyright`}>\n {this.isChineseLang && (\n <span className={`${rootClass}__copyright-chinese-text`}>\n <a\n href={this.chineseIcpNumberLink}\n title={this.chineseICPNumberText}\n className={`${rootClass}__copyright-chinese-link`}\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {this.chineseICPNumberText}\n </a>\n {this.chineseSecurityNetworkNumberText}\n </span>\n )}\n <span className={`${rootClass}__copyright-text`}>{this.copyrightText}</span>\n </div>\n\n {(this.socialLinksArray.length > 0 || this.hasSocialLinksSlot) && (\n <ul className={`${rootClass}__social-container`}>\n {this.socialLinksArray.map((social, index) => (\n <UDExSocialMediaButton\n {...{ role: \"listitem\" }}\n key={index}\n type={social.name}\n url={social.url}\n target={social.target}\n accessible-name={social.accessibleName}\n data-name={social.name}\n data-id={social.id}\n onui5-click={this._onSocialMediaLinkClick}>\n </UDExSocialMediaButton>\n ))}\n {this.hasSocialLinksSlot && (\n <>\n {this.customSocialLinks.map(link =>\n <slot name={link._individualSlot}></slot>\n )}\n </>\n )}\n </ul>\n )}\n </div>\n\n <UDExButton\n class={`${rootClass}__back-to-top-button`}\n icon={backToTop}\n onClick={this.onBackToTopClick}\n design={UDExButtonDesign.Tertiary}\n size={UDExButtonSize.Large}\n tooltip={this.backToTopTitle}>\n </UDExButton>\n </footer>\n );\n}\n\nfunction mobileNavigation(this: Footer, rootClass: string) {\n return (\n <UDExAccordion class={`${rootClass}__accordion`}>\n {this.quickLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._quickLinksTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list udex-footer__links-list--mobile`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n href={link.url}\n data-id={link.id}\n onClick={this._onQuickLinksClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h6 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h6>\n </UDExAccordionItem>\n </>\n )}\n\n {this.trendingLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._trendingTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n href={link.url}\n data-id={link.id}\n onClick={this._onTrendingClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h6 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h6>\n </UDExAccordionItem>\n </>\n )}\n\n {this.aboutLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._aboutSapTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list ${rootClass}__links-list--mobile`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n href={link.url}\n data-id={link.id}\n onClick={this._onAboutSapClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h6 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h6>\n </UDExAccordionItem>\n </>\n )}\n\n {this.siteInformationLinksArray.length > 0 && (\n <>\n <UDExAccordionItem onAccordionItemClick={this.handleAccordionItemClick} label={this._siteInformationTitle} class={`${rootClass}__action-item`}>\n <ul className={`${rootClass}__links-list rootClass__links-list--mobile`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n href={link.url}\n data-id={link.id}\n onClick={this._onSiteInformationClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n <h6 className={`${rootClass}__links-item hidden`} aria-hidden=\"true\" id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h6>\n </UDExAccordionItem>\n </>\n )}\n </UDExAccordion>\n );\n}\n\nfunction desktopNavigation(this: Footer, rootClass: string) {\n return (\n <div className={`${rootClass}__links`}>\n {this.quickLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__quick-links`}>\n <h6 className={`${rootClass}__links-item`} id={`${rootClass}__quick-links`}>\n {this._quickLinksTitle}\n </h6>\n <nav>\n <ul aria-labelledby={`${rootClass}__quick-links`} className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.quickLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n data-id={link.id}\n href={link.url}\n onClick={this._onQuickLinksClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.trendingLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__trending-links`}>\n <h6 className={`${rootClass}__links-item`} id={`${rootClass}__trending`}>\n {this._trendingTitle}\n </h6>\n <nav>\n <ul aria-labelledby={`${rootClass}__trending`} className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.trendingLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n data-id={link.id}\n href={link.url}\n onClick={this._onTrendingClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.aboutLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__about-links`}>\n <h6 className={`${rootClass}__links-item`} id={`${rootClass}__about`}>\n {this._aboutSapTitle}\n </h6>\n <nav>\n <ul aria-labelledby={`${rootClass}__about`} className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.aboutLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n data-id={link.id}\n href={link.url}\n onClick={this._onAboutSapClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n {this.siteInformationLinksArray.length > 0 && (\n <div className={`${rootClass}__links-group ${rootClass}__site-information-links`}>\n <h6 className={`${rootClass}__links-item`} id={`${rootClass}__site-information`}>\n {this._siteInformationTitle}\n </h6>\n <nav>\n <ul aria-labelledby={`${rootClass}__site-information`} className={`${rootClass}__links-list ${rootClass}__links-list--desktop`}>\n {this.siteInformationLinksArray.map((link, index) => (\n <li key={index}>\n <a\n target={link.target}\n data-id={link.id}\n href={link.url}\n onClick={this._onSiteInformationClick}\n {...(link.role ? { \"role\": link.role as AriaRole } : {})}>\n {link.title}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -0,0 +1,76 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
+ import type UDExImageGridCloudItem from "./ImageGridCloudItem.js";
4
+ export declare enum UDExImageGridCloudVariable {
5
+ itemGapL = "--udex-image-grid-cloud-item-gap-l",
6
+ itemGapS = "--udex-image-grid-cloud-item-gap-s",
7
+ itemWidthL = "--udex-image-grid-cloud-item-width-l",
8
+ itemWidthS = "--udex-image-grid-cloud-item-width-s",
9
+ itemBorderWidth = "--udex-image-grid-cloud-item-border-width"
10
+ }
11
+ export declare enum UDExImageGridCloudSize {
12
+ Small = "Small",
13
+ Large = "Large"
14
+ }
15
+ /**
16
+ * @class
17
+ *
18
+ * <h3 class="comment-api-title">Overview</h3>
19
+ *
20
+ *
21
+ * <h3>Usage</h3>
22
+ *
23
+ * For the <code>udex-image-grid-cloud</code>
24
+ * <h3>ES6 Module Import</h3>
25
+ *
26
+ * <code>import "@sapudex/web-components/dist/ImageGridCloud.js";</code>
27
+ *
28
+ * @constructor
29
+ * @extends UI5Element
30
+ * @public
31
+ */
32
+ declare class UDExImageGridCloud extends UI5Element {
33
+ /**
34
+ * Grayscale mode enhances visual harmony and can be used for minimal,
35
+ * professional layouts or to de-emphasize logos.
36
+ *
37
+ * @default undefined
38
+ * @public
39
+ */
40
+ grayscale?: boolean;
41
+ /**
42
+ * Defines the size of the items.
43
+ *
44
+ * @default "Large"
45
+ * @private
46
+ */
47
+ size: `${UDExImageGridCloudSize}`;
48
+ /**
49
+ * Slot for image grid cloud items.
50
+ *
51
+ * @slot
52
+ * @public
53
+ */
54
+ items: Array<UDExImageGridCloudItem>;
55
+ _rootId: string;
56
+ _rowClassName: string;
57
+ _container: HTMLElement;
58
+ _items: Array<Element>;
59
+ _handleResizeBound: ResizeObserverCallback;
60
+ constructor();
61
+ onEnterDOM(): void;
62
+ onExitDOM(): void;
63
+ onAfterRendering(): void;
64
+ handleResize(): void;
65
+ renderLayout(): void;
66
+ _getVariableValue(variableName: string): string;
67
+ get itemWidth(): number;
68
+ get itemGap(): number;
69
+ get itemHorizontalBorderWidth(): number;
70
+ get isSmallSize(): boolean;
71
+ get containerElement(): HTMLElement;
72
+ get itemsElements(): Array<Element>;
73
+ get isMobile(): boolean;
74
+ get isContainerEmpty(): boolean;
75
+ }
76
+ export default UDExImageGridCloud;
@@ -0,0 +1,153 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
11
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
13
+ import ImageGridCloudTemplate from "./ImageGridCloudTemplate.js";
14
+ // Styles
15
+ import ImageGridCloudCss from "./generated/themes/ImageGridCloud.css.js";
16
+ import { BreakpointUtils } from "./utils/Breakpoints.js";
17
+ export var UDExImageGridCloudVariable;
18
+ (function (UDExImageGridCloudVariable) {
19
+ UDExImageGridCloudVariable["itemGapL"] = "--udex-image-grid-cloud-item-gap-l";
20
+ UDExImageGridCloudVariable["itemGapS"] = "--udex-image-grid-cloud-item-gap-s";
21
+ UDExImageGridCloudVariable["itemWidthL"] = "--udex-image-grid-cloud-item-width-l";
22
+ UDExImageGridCloudVariable["itemWidthS"] = "--udex-image-grid-cloud-item-width-s";
23
+ UDExImageGridCloudVariable["itemBorderWidth"] = "--udex-image-grid-cloud-item-border-width";
24
+ })(UDExImageGridCloudVariable || (UDExImageGridCloudVariable = {}));
25
+ export var UDExImageGridCloudSize;
26
+ (function (UDExImageGridCloudSize) {
27
+ UDExImageGridCloudSize["Small"] = "Small";
28
+ UDExImageGridCloudSize["Large"] = "Large";
29
+ })(UDExImageGridCloudSize || (UDExImageGridCloudSize = {}));
30
+ /**
31
+ * @class
32
+ *
33
+ * <h3 class="comment-api-title">Overview</h3>
34
+ *
35
+ *
36
+ * <h3>Usage</h3>
37
+ *
38
+ * For the <code>udex-image-grid-cloud</code>
39
+ * <h3>ES6 Module Import</h3>
40
+ *
41
+ * <code>import "@sapudex/web-components/dist/ImageGridCloud.js";</code>
42
+ *
43
+ * @constructor
44
+ * @extends UI5Element
45
+ * @public
46
+ */
47
+ let UDExImageGridCloud = class UDExImageGridCloud extends UI5Element {
48
+ constructor() {
49
+ super();
50
+ /**
51
+ * Defines the size of the items.
52
+ *
53
+ * @default "Large"
54
+ * @private
55
+ */
56
+ this.size = UDExImageGridCloudSize.Large;
57
+ this._rootId = "udex-image-grid-cloud";
58
+ this._rowClassName = "udex-image-grid-cloud__row";
59
+ this._items = [];
60
+ this._handleResizeBound = this.handleResize.bind(this);
61
+ }
62
+ onEnterDOM() {
63
+ ResizeHandler.register(this, this._handleResizeBound);
64
+ }
65
+ onExitDOM() {
66
+ ResizeHandler.deregister(this, this._handleResizeBound);
67
+ }
68
+ onAfterRendering() {
69
+ this._container = this.containerElement;
70
+ this._items = this.itemsElements;
71
+ this.renderLayout();
72
+ }
73
+ handleResize() {
74
+ this.renderLayout();
75
+ }
76
+ renderLayout() {
77
+ if (this.isContainerEmpty) {
78
+ return;
79
+ }
80
+ const ITEM_WIDTH = this.itemWidth + this.itemHorizontalBorderWidth;
81
+ const GAP = this.itemGap;
82
+ const existingRows = Array.from(this._container.querySelectorAll(`.${this._rowClassName}`));
83
+ existingRows.forEach(row => row.remove());
84
+ const containerWidth = this._container.clientWidth;
85
+ const itemsPerRow = Math.max(Math.floor((containerWidth + GAP) / (ITEM_WIDTH + GAP)) || 0, 1);
86
+ let index = 0;
87
+ let rowIndex = 0;
88
+ while (index < this._items.length) {
89
+ const count = rowIndex % 2 === 0 ? itemsPerRow : Math.max(itemsPerRow - 1, 1);
90
+ const row = document.createElement("div");
91
+ row.className = this._rowClassName;
92
+ for (let i = 0; i < count && index < this._items.length; i++, index++) {
93
+ row.appendChild(this._items[index]);
94
+ }
95
+ this._container.appendChild(row);
96
+ rowIndex++;
97
+ }
98
+ }
99
+ _getVariableValue(variableName) {
100
+ return window.getComputedStyle(this).getPropertyValue(`${variableName}`);
101
+ }
102
+ get itemWidth() {
103
+ const variableName = this.isSmallSize || this.isMobile
104
+ ? UDExImageGridCloudVariable.itemWidthS
105
+ : UDExImageGridCloudVariable.itemWidthL;
106
+ return parseInt(this._getVariableValue(variableName));
107
+ }
108
+ get itemGap() {
109
+ const variableName = this.isSmallSize || this.isMobile
110
+ ? UDExImageGridCloudVariable.itemGapS
111
+ : UDExImageGridCloudVariable.itemGapL;
112
+ return parseInt(this._getVariableValue(variableName));
113
+ }
114
+ get itemHorizontalBorderWidth() {
115
+ const border = parseInt(this._getVariableValue(UDExImageGridCloudVariable.itemBorderWidth));
116
+ return border * 2;
117
+ }
118
+ get isSmallSize() {
119
+ return this.size === UDExImageGridCloudSize.Small;
120
+ }
121
+ get containerElement() {
122
+ return this.shadowRoot.getElementById(this._rootId);
123
+ }
124
+ get itemsElements() {
125
+ return Array.from(this.containerElement.children);
126
+ }
127
+ get isMobile() {
128
+ return BreakpointUtils.isAtMost("S");
129
+ }
130
+ get isContainerEmpty() {
131
+ return !this._container || this._items.length === 0;
132
+ }
133
+ };
134
+ __decorate([
135
+ property({ type: Boolean })
136
+ ], UDExImageGridCloud.prototype, "grayscale", void 0);
137
+ __decorate([
138
+ property({ type: String })
139
+ ], UDExImageGridCloud.prototype, "size", void 0);
140
+ __decorate([
141
+ slot({ type: HTMLElement, "default": true })
142
+ ], UDExImageGridCloud.prototype, "items", void 0);
143
+ UDExImageGridCloud = __decorate([
144
+ customElement({
145
+ tag: "udex-image-grid-cloud",
146
+ renderer: jsxRenderer,
147
+ styles: ImageGridCloudCss,
148
+ template: ImageGridCloudTemplate,
149
+ })
150
+ ], UDExImageGridCloud);
151
+ UDExImageGridCloud.define();
152
+ export default UDExImageGridCloud;
153
+ //# sourceMappingURL=ImageGridCloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageGridCloud.js","sourceRoot":"","sources":["../src/ImageGridCloud.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ImageGridCloudTemplate from \"./ImageGridCloudTemplate.js\";\nimport type UDExImageGridCloudItem from \"./ImageGridCloudItem.js\";\n\n// Styles\nimport ImageGridCloudCss from \"./generated/themes/ImageGridCloud.css.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport enum UDExImageGridCloudVariable {\n itemGapL = \"--udex-image-grid-cloud-item-gap-l\",\n itemGapS = \"--udex-image-grid-cloud-item-gap-s\",\n itemWidthL = \"--udex-image-grid-cloud-item-width-l\",\n itemWidthS = \"--udex-image-grid-cloud-item-width-s\",\n itemBorderWidth = \"--udex-image-grid-cloud-item-border-width\",\n}\n\nexport enum UDExImageGridCloudSize {\n Small = \"Small\",\n Large = \"Large\",\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-image-grid-cloud</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ImageGridCloud.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-image-grid-cloud\",\n renderer: jsxRenderer,\n styles: ImageGridCloudCss,\n template: ImageGridCloudTemplate,\n})\n\nclass UDExImageGridCloud extends UI5Element {\n /**\n * Grayscale mode enhances visual harmony and can be used for minimal,\n * professional layouts or to de-emphasize logos.\n *\n * @default undefined\n * @public\n */\n @property({ type: Boolean })\n grayscale?: boolean;\n\n /**\n * Defines the size of the items.\n *\n * @default \"Large\"\n * @private\n */\n @property({ type: String })\n size: `${UDExImageGridCloudSize}` = UDExImageGridCloudSize.Large;\n\n /**\n * Slot for image grid cloud items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExImageGridCloudItem>;\n\n _rootId = \"udex-image-grid-cloud\";\n _rowClassName = \"udex-image-grid-cloud__row\";\n _container!: HTMLElement;\n _items: Array<Element> = [];\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this.handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering() {\n this._container = this.containerElement;\n this._items = this.itemsElements;\n this.renderLayout();\n }\n\n handleResize(): void {\n this.renderLayout();\n }\n\n renderLayout() {\n if (this.isContainerEmpty) {\n return;\n }\n\n const ITEM_WIDTH = this.itemWidth + this.itemHorizontalBorderWidth;\n const GAP = this.itemGap;\n\n const existingRows = Array.from(this._container.querySelectorAll(`.${this._rowClassName}`));\n existingRows.forEach(row => row.remove());\n\n const containerWidth = this._container.clientWidth;\n const itemsPerRow = Math.max(Math.floor((containerWidth + GAP) / (ITEM_WIDTH + GAP)) || 0, 1);\n\n let index = 0;\n let rowIndex = 0;\n\n while (index < this._items.length) {\n const count = rowIndex % 2 === 0 ? itemsPerRow : Math.max(itemsPerRow - 1, 1);\n const row = document.createElement(\"div\");\n row.className = this._rowClassName;\n\n for (let i = 0; i < count && index < this._items.length; i++, index++) {\n row.appendChild(this._items[index]);\n }\n\n this._container.appendChild(row);\n rowIndex++;\n }\n }\n\n _getVariableValue(variableName: string): string {\n return window.getComputedStyle(this).getPropertyValue(`${variableName}`);\n }\n\n get itemWidth(): number {\n const variableName = this.isSmallSize || this.isMobile\n ? UDExImageGridCloudVariable.itemWidthS\n : UDExImageGridCloudVariable.itemWidthL;\n return parseInt(this._getVariableValue(variableName));\n }\n\n get itemGap(): number {\n const variableName = this.isSmallSize || this.isMobile\n ? UDExImageGridCloudVariable.itemGapS\n : UDExImageGridCloudVariable.itemGapL;\n return parseInt(this._getVariableValue(variableName));\n }\n\n get itemHorizontalBorderWidth(): number {\n const border = parseInt(this._getVariableValue(UDExImageGridCloudVariable.itemBorderWidth));\n return border * 2;\n }\n\n get isSmallSize(): boolean {\n return this.size === UDExImageGridCloudSize.Small;\n }\n\n get containerElement(): HTMLElement {\n return this.shadowRoot!.getElementById(this._rootId)!;\n }\n\n get itemsElements(): Array<Element> {\n return Array.from(this.containerElement.children);\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isContainerEmpty(): boolean {\n return !this._container || this._items.length === 0;\n }\n}\n\nUDExImageGridCloud.define();\n\nexport default UDExImageGridCloud;\n"]}