@sapudex/web-components 2.53.0 → 2.54.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 (208) hide show
  1. package/cypress/specs/FilterMenu.cy.tsx +34 -0
  2. package/cypress/specs/SelectBox.cy.tsx +43 -0
  3. package/dist/Accordion.js +1 -1
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AccordionItem.js +1 -1
  6. package/dist/AccordionItem.js.map +1 -1
  7. package/dist/Avatar.d.ts +2 -2
  8. package/dist/Avatar.js +1 -1
  9. package/dist/Avatar.js.map +1 -1
  10. package/dist/Badge.js +1 -1
  11. package/dist/Badge.js.map +1 -1
  12. package/dist/Breadcrumbs.js +1 -1
  13. package/dist/Breadcrumbs.js.map +1 -1
  14. package/dist/Carousel.js +1 -1
  15. package/dist/Carousel.js.map +1 -1
  16. package/dist/Contact.js +1 -1
  17. package/dist/Contact.js.map +1 -1
  18. package/dist/ContactItem.js +1 -1
  19. package/dist/ContactItem.js.map +1 -1
  20. package/dist/Feed.d.ts +2 -1
  21. package/dist/Feed.js +1 -1
  22. package/dist/Feed.js.map +1 -1
  23. package/dist/FeedItem.d.ts +2 -1
  24. package/dist/FeedItem.js +1 -1
  25. package/dist/FeedItem.js.map +1 -1
  26. package/dist/FilterMenuGroupHeader.js +1 -1
  27. package/dist/FilterMenuGroupHeader.js.map +1 -1
  28. package/dist/Footer.d.ts +2 -1
  29. package/dist/Footer.js +1 -1
  30. package/dist/Footer.js.map +1 -1
  31. package/dist/ImageGridCloud.js +1 -1
  32. package/dist/ImageGridCloud.js.map +1 -1
  33. package/dist/ImageGridTable.js +1 -1
  34. package/dist/ImageGridTable.js.map +1 -1
  35. package/dist/ImageGridTableItem.js +1 -1
  36. package/dist/ImageGridTableItem.js.map +1 -1
  37. package/dist/ImageGridTicker.js +1 -1
  38. package/dist/ImageGridTicker.js.map +1 -1
  39. package/dist/InputGroup.js +1 -1
  40. package/dist/InputGroup.js.map +1 -1
  41. package/dist/LinkList.js +1 -1
  42. package/dist/LinkList.js.map +1 -1
  43. package/dist/List.js +1 -1
  44. package/dist/List.js.map +1 -1
  45. package/dist/ListGroupHeaderBase.js +1 -1
  46. package/dist/ListGroupHeaderBase.js.map +1 -1
  47. package/dist/ListItem.d.ts +3 -3
  48. package/dist/ListItem.js +1 -1
  49. package/dist/ListItem.js.map +1 -1
  50. package/dist/MastheadItem.d.ts +3 -3
  51. package/dist/MastheadItem.js +1 -1
  52. package/dist/MastheadItem.js.map +1 -1
  53. package/dist/MastheadMobileMenu.d.ts +3 -3
  54. package/dist/MastheadMobileMenu.js +1 -1
  55. package/dist/MastheadMobileMenu.js.map +1 -1
  56. package/dist/MastheadProfileMenu.d.ts +3 -2
  57. package/dist/MastheadProfileMenu.js +1 -1
  58. package/dist/MastheadProfileMenu.js.map +1 -1
  59. package/dist/MastheadShell.d.ts +9 -9
  60. package/dist/MastheadShell.js +1 -1
  61. package/dist/MastheadShell.js.map +1 -1
  62. package/dist/MediaPlayer.d.ts +1 -1
  63. package/dist/MediaPlayer.js +5 -3
  64. package/dist/MediaPlayer.js.map +1 -1
  65. package/dist/MediaPlayerVimeo.d.ts +6 -0
  66. package/dist/MediaPlayerVimeo.js +27 -6
  67. package/dist/MediaPlayerVimeo.js.map +1 -1
  68. package/dist/MediaPlayerYoutube.d.ts +3 -0
  69. package/dist/MediaPlayerYoutube.js +24 -5
  70. package/dist/MediaPlayerYoutube.js.map +1 -1
  71. package/dist/MessageStrip.d.ts +2 -1
  72. package/dist/MessageStrip.js +1 -1
  73. package/dist/MessageStrip.js.map +1 -1
  74. package/dist/Modal.d.ts +2 -0
  75. package/dist/Modal.js +10 -3
  76. package/dist/Modal.js.map +1 -1
  77. package/dist/PromoTile.d.ts +2 -2
  78. package/dist/PromoTile.js +1 -1
  79. package/dist/PromoTile.js.map +1 -1
  80. package/dist/Quote.d.ts +4 -4
  81. package/dist/Quote.js +1 -1
  82. package/dist/Quote.js.map +1 -1
  83. package/dist/Review.d.ts +3 -3
  84. package/dist/Review.js +1 -1
  85. package/dist/Review.js.map +1 -1
  86. package/dist/ReviewItem.d.ts +4 -3
  87. package/dist/ReviewItem.js +1 -1
  88. package/dist/ReviewItem.js.map +1 -1
  89. package/dist/Search.js +1 -1
  90. package/dist/Search.js.map +1 -1
  91. package/dist/SearchableListBase.js +5 -1
  92. package/dist/SearchableListBase.js.map +1 -1
  93. package/dist/SecondaryNavigation.d.ts +3 -3
  94. package/dist/SecondaryNavigation.js +1 -1
  95. package/dist/SecondaryNavigation.js.map +1 -1
  96. package/dist/SecondaryNavigationItem.d.ts +2 -1
  97. package/dist/SecondaryNavigationItem.js +1 -1
  98. package/dist/SecondaryNavigationItem.js.map +1 -1
  99. package/dist/SelectBase.js +1 -1
  100. package/dist/SelectBase.js.map +1 -1
  101. package/dist/SelectBoxGroupHeader.js +1 -1
  102. package/dist/SelectBoxGroupHeader.js.map +1 -1
  103. package/dist/SelectBoxItem.d.ts +3 -3
  104. package/dist/SelectBoxItem.js +1 -1
  105. package/dist/SelectBoxItem.js.map +1 -1
  106. package/dist/SideNavigationMobile.d.ts +2 -2
  107. package/dist/SideNavigationMobile.js +1 -1
  108. package/dist/SideNavigationMobile.js.map +1 -1
  109. package/dist/SocialMediaButton.js +1 -1
  110. package/dist/SocialMediaButton.js.map +1 -1
  111. package/dist/Tab.d.ts +2 -2
  112. package/dist/Tab.js +1 -1
  113. package/dist/Tab.js.map +1 -1
  114. package/dist/TabNavigation.d.ts +2 -2
  115. package/dist/TabNavigation.js +1 -1
  116. package/dist/TabNavigation.js.map +1 -1
  117. package/dist/Table.d.ts +5 -5
  118. package/dist/Table.js +1 -1
  119. package/dist/Table.js.map +1 -1
  120. package/dist/TableCellBase.js +1 -1
  121. package/dist/TableCellBase.js.map +1 -1
  122. package/dist/TableGroupRow.js +1 -1
  123. package/dist/TableGroupRow.js.map +1 -1
  124. package/dist/TableRowBase.js +1 -1
  125. package/dist/TableRowBase.js.map +1 -1
  126. package/dist/TagGroup.js +1 -1
  127. package/dist/TagGroup.js.map +1 -1
  128. package/dist/Tile.d.ts +2 -1
  129. package/dist/Tile.js +1 -1
  130. package/dist/Tile.js.map +1 -1
  131. package/dist/Tooltip.d.ts +2 -1
  132. package/dist/Tooltip.js +1 -1
  133. package/dist/Tooltip.js.map +1 -1
  134. package/dist/Wizard.js +1 -1
  135. package/dist/Wizard.js.map +1 -1
  136. package/dist/assets/{InputSuggestions-0yCPXAmq.js → InputSuggestions-CqOrRXxa.js} +1 -1
  137. package/dist/assets/{ListItemStandardExpandableTextTemplate-DjZEnCXN.js → ListItemStandardExpandableTextTemplate-DKUm4L2B.js} +1 -1
  138. package/dist/assets/{bundle.esm-DJuMR5ko.js → bundle.esm-CI60uvdr.js} +229 -229
  139. package/dist/css/themes/AccordionItem.css +1 -1
  140. package/dist/css/themes/Footer.css +1 -1
  141. package/dist/custom-elements-internal.json +185 -163
  142. package/dist/custom-elements.json +153 -139
  143. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  144. package/dist/generated/themes/AccordionItem.css.js +1 -1
  145. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  146. package/dist/generated/themes/Footer.css.d.ts +1 -1
  147. package/dist/generated/themes/Footer.css.js +1 -1
  148. package/dist/generated/themes/Footer.css.js.map +1 -1
  149. package/dist/vscode.html-custom-data.json +2 -2
  150. package/dist/web-types.json +23 -7
  151. package/package.json +1 -1
  152. package/src/Accordion.ts +1 -1
  153. package/src/AccordionItem.ts +1 -1
  154. package/src/Avatar.ts +3 -3
  155. package/src/Badge.ts +1 -1
  156. package/src/Breadcrumbs.ts +1 -1
  157. package/src/Carousel.ts +1 -1
  158. package/src/Contact.ts +1 -1
  159. package/src/ContactItem.ts +1 -1
  160. package/src/Feed.ts +3 -2
  161. package/src/FeedItem.ts +3 -2
  162. package/src/FilterMenuGroupHeader.ts +1 -1
  163. package/src/Footer.ts +3 -2
  164. package/src/ImageGridCloud.ts +1 -1
  165. package/src/ImageGridTable.ts +1 -1
  166. package/src/ImageGridTableItem.ts +1 -1
  167. package/src/ImageGridTicker.ts +1 -1
  168. package/src/InputGroup.ts +1 -1
  169. package/src/LinkList.ts +1 -1
  170. package/src/List.ts +1 -1
  171. package/src/ListGroupHeaderBase.ts +1 -1
  172. package/src/ListItem.ts +4 -4
  173. package/src/MastheadItem.ts +4 -4
  174. package/src/MastheadMobileMenu.ts +4 -4
  175. package/src/MastheadProfileMenu.ts +4 -3
  176. package/src/MastheadShell.ts +10 -10
  177. package/src/MediaPlayer.ts +5 -4
  178. package/src/MediaPlayerVimeo.ts +31 -6
  179. package/src/MediaPlayerYoutube.ts +24 -5
  180. package/src/MessageStrip.ts +3 -2
  181. package/src/Modal.ts +18 -3
  182. package/src/PromoTile.ts +3 -3
  183. package/src/Quote.ts +5 -5
  184. package/src/Review.ts +4 -4
  185. package/src/ReviewItem.ts +5 -4
  186. package/src/Search.ts +1 -1
  187. package/src/SearchableListBase.ts +6 -1
  188. package/src/SecondaryNavigation.ts +4 -4
  189. package/src/SecondaryNavigationItem.ts +3 -2
  190. package/src/SelectBase.ts +1 -1
  191. package/src/SelectBoxGroupHeader.ts +1 -1
  192. package/src/SelectBoxItem.ts +4 -4
  193. package/src/SideNavigationMobile.ts +3 -3
  194. package/src/SocialMediaButton.ts +1 -1
  195. package/src/Tab.ts +3 -3
  196. package/src/TabNavigation.ts +3 -3
  197. package/src/Table.ts +6 -6
  198. package/src/TableCellBase.ts +1 -1
  199. package/src/TableGroupRow.ts +1 -1
  200. package/src/TableRowBase.ts +1 -1
  201. package/src/TagGroup.ts +1 -1
  202. package/src/Tile.ts +3 -2
  203. package/src/Tooltip.ts +3 -2
  204. package/src/Wizard.ts +1 -1
  205. package/src/generated/themes/AccordionItem.css.ts +1 -1
  206. package/src/generated/themes/Footer.css.ts +1 -1
  207. package/src/themes/AccordionItem.css +2 -2
  208. package/src/themes/Footer.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Contact.js","sourceRoot":"","sources":["../src/Contact.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ContactTemplate from \"./ContactTemplate.js\";\nimport type UDExContactItem from \"./ContactItem.js\";\nimport type UI5ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport {\n LOCAL_COUNTRY_NAMES, COMPLETE_LIST_OF, CALL_US_TODAY, CONTACT_US,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport i18n from \"@ui5/webcomponents-base/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/i18nBundle.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport ContactCss from \"./generated/themes/Contact.css.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport type ContactNumber = {\n number: string;\n country: string;\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-contact</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Contact.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-contact\n * @public\n */\n@customElement({\n tag: \"udex-contact\",\n renderer: jsxRenderer,\n styles: ContactCss,\n template: ContactTemplate,\n})\n\nclass UDExContact extends UI5Element {\n /**\n * Defines the <code>text</code> for the contact button.\n *\n * @public\n */\n @property({ type: String })\n buttonText!: string;\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbers: 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 if the initial focus should be prevented.\n * @public\n */\n @property({ type: Boolean })\n preventInitialFocus!: boolean;\n\n /**\n * Defines if the focus should be returned to the previously focused element.\n * @public\n */\n @property({ type: Boolean })\n preventFocusRestore!: boolean;\n\n /**\n * Defines the accessible name of the component.\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Defines the IDs of the elements that label the component.\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleNameRef?: string;\n\n /**\n * Slot for list items.\n *\n * @slot items\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExContactItem>;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode: boolean = BreakpointUtils.isAtMost(\"M\");\n\n _screenResizeHandler: () => void;\n _screenResizeHandlerAttached?: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._screenResizeHandler = this._screenResize.bind(this);\n }\n\n onEnterDOM() {\n this._attachScreenResizeHandler();\n }\n\n onExitDOM() {\n this._detachScreenResizeHandler();\n }\n\n _openPopover(): void {\n this._responsivePopover.open = !this._responsivePopover.open;\n }\n\n _closePopover(): void {\n this._responsivePopover.open = false;\n }\n\n _screenResize(): void {\n this._isMobileMode = BreakpointUtils.isAtMost(\"M\");\n }\n\n _attachScreenResizeHandler(): void {\n if (!this._screenResizeHandlerAttached) {\n window.addEventListener(\"resize\", this._screenResizeHandler);\n this._screenResizeHandlerAttached = true;\n }\n }\n\n _detachScreenResizeHandler(): void {\n if (this._screenResizeHandlerAttached) {\n window.removeEventListener(\"resize\", this._screenResizeHandler);\n this._screenResizeHandlerAttached = false;\n }\n }\n\n get _contactNumbersArray(): ContactNumber[] {\n return parseArrayFromString<ContactNumber>(this.contactNumbers);\n }\n\n get _responsivePopover(): UI5ResponsivePopover {\n return this.shadowRoot!.querySelector<UI5ResponsivePopover>(\".udex-contact__popover\")!;\n }\n\n get _completeListTitle(): string {\n return `${translate(UDExContact, COMPLETE_LIST_OF)} `;\n }\n\n get _localCountryTitle(): string {\n return translate(UDExContact, LOCAL_COUNTRY_NAMES);\n }\n\n get _numbersTitle(): string {\n return translate(UDExContact, CALL_US_TODAY);\n }\n\n get _contactUsTitle(): string {\n return translate(UDExContact, CONTACT_US);\n }\n\n get _hasNumbersList(): boolean {\n return this._contactNumbersArray.length > 0;\n }\n}\n\nUDExContact.define();\n\nexport default UDExContact;\n"]}
1
+ {"version":3,"file":"Contact.js","sourceRoot":"","sources":["../src/Contact.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ContactTemplate from \"./ContactTemplate.js\";\nimport type UDExContactItem from \"./ContactItem.js\";\nimport type UI5ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport {\n LOCAL_COUNTRY_NAMES, COMPLETE_LIST_OF, CALL_US_TODAY, CONTACT_US,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport i18n from \"@ui5/webcomponents-base/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/i18nBundle.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport ContactCss from \"./generated/themes/Contact.css.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\nexport type ContactNumber = {\n number: string;\n country: string;\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-contact</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Contact.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-contact\n * @public\n */\n@customElement({\n tag: \"udex-contact\",\n renderer: jsxRenderer,\n styles: ContactCss,\n template: ContactTemplate,\n})\n\nclass UDExContact extends UI5Element {\n /**\n * Defines the <code>text</code> for the contact button.\n *\n * @public\n */\n @property({ type: String })\n buttonText!: string;\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbers: 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 if the initial focus should be prevented.\n * @public\n */\n @property({ type: Boolean })\n preventInitialFocus!: boolean;\n\n /**\n * Defines if the focus should be returned to the previously focused element.\n * @public\n */\n @property({ type: Boolean })\n preventFocusRestore!: boolean;\n\n /**\n * Defines the accessible name of the component.\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Defines the IDs of the elements that label the component.\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleNameRef?: string;\n\n /**\n * Slot for list items.\n *\n * @slot items\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExContactItem>;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode: boolean = BreakpointUtils.isAtMost(\"M\");\n\n _screenResizeHandler: () => void;\n _screenResizeHandlerAttached?: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._screenResizeHandler = this._screenResize.bind(this);\n }\n\n onEnterDOM() {\n this._attachScreenResizeHandler();\n }\n\n onExitDOM() {\n this._detachScreenResizeHandler();\n }\n\n _openPopover(): void {\n this._responsivePopover.open = !this._responsivePopover.open;\n }\n\n _closePopover(): void {\n this._responsivePopover.open = false;\n }\n\n _screenResize(): void {\n this._isMobileMode = BreakpointUtils.isAtMost(\"M\");\n }\n\n _attachScreenResizeHandler(): void {\n if (!this._screenResizeHandlerAttached) {\n window.addEventListener(\"resize\", this._screenResizeHandler);\n this._screenResizeHandlerAttached = true;\n }\n }\n\n _detachScreenResizeHandler(): void {\n if (this._screenResizeHandlerAttached) {\n window.removeEventListener(\"resize\", this._screenResizeHandler);\n this._screenResizeHandlerAttached = false;\n }\n }\n\n get _contactNumbersArray(): ContactNumber[] {\n return parseArrayFromString<ContactNumber>(this.contactNumbers);\n }\n\n get _responsivePopover(): UI5ResponsivePopover {\n return this.shadowRoot!.querySelector<UI5ResponsivePopover>(\".udex-contact__popover\")!;\n }\n\n get _completeListTitle(): string {\n return `${translate(UDExContact, COMPLETE_LIST_OF)} `;\n }\n\n get _localCountryTitle(): string {\n return translate(UDExContact, LOCAL_COUNTRY_NAMES);\n }\n\n get _numbersTitle(): string {\n return translate(UDExContact, CALL_US_TODAY);\n }\n\n get _contactUsTitle(): string {\n return translate(UDExContact, CONTACT_US);\n }\n\n get _hasNumbersList(): boolean {\n return this._contactNumbersArray.length > 0;\n }\n}\n\nUDExContact.define();\n\nexport default UDExContact;\n"]}
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
- import slot from "@ui5/webcomponents-base/decorators/slot.js";
9
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
12
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ContactItem.js","sourceRoot":"","sources":["../src/ContactItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,4CAA4C,CAAC;AAC9D,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,0CAA0C,CAAC;AAClD,OAAO,+CAA+C,CAAC;AACvD,OAAO,wCAAwC,CAAC;AAEhD,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAOnE;;;;;;;;;;;;;;;;;GAiBG;AAoBH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QA6BE;;;;WAIG;QAED,WAAM,GAAoB,UAAU,CAAC,KAAK,CAAC;IAuB/C,CAAC;IAZC,mBAAmB,CAAC,CAAQ;QAC1B,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;CACF,CAAA;AA/CG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACV;AAQf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACX;AAQd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACO;AAQhC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACkB;AAS3C;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gDACR;AA5C1B,eAAe;IAnBpB,aAAa,CAAC;QACb,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,YAAY,EAAE;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC;GAEI,eAAe,CA0DpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ContactItemTemplate from \"./ContactItemTemplate.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport UDExContactItemIcon from \"./types/ContactItemIcon.js\";\nimport \"@ui5/webcomponents-icons/dist/headset.js\";\nimport \"@ui5/webcomponents-icons/dist/discussion-2.js\";\nimport \"@ui5/webcomponents-icons/dist/email.js\";\n\n// Styles\nimport ContactItemCss from \"./generated/themes/ContactItem.css.js\";\n\ntype UDExContactItemClickEventDetail = {\n originalEvent: Event,\n item: UDExContactItem,\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-contact-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ContactItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-contact-item\n * @public\n */\n@customElement({\n tag: \"udex-contact-item\",\n renderer: jsxRenderer,\n styles: ContactItemCss,\n template: ContactItemTemplate,\n})\n\n/**\n * Fires when item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {UDExContactItem} item the clicked item\n */\n@event(\"item-click\", {\n bubbles: true,\n cancelable: true,\n})\n\nclass UDExContactItem extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExContactItemClickEventDetail,\n };\n\n /**\n * Defines the label for the item.\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the href for the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Defines the icon name for the item.\n *\n * @public\n */\n @property({ type: String })\n icon?: `${UDExContactItemIcon}`;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: String })\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Slot for the item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: DefaultSlot<Node>;\n\n _fireItemClickEvent(e: Event): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n });\n }\n\n get _iconName(): string | undefined {\n if (this.icon) {\n return UDExContactItemIcon[this.icon].toLowerCase();\n }\n }\n}\n\nUDExContactItem.define();\n\nexport default UDExContactItem;\nexport type { UDExContactItemClickEventDetail };\n"]}
1
+ {"version":3,"file":"ContactItem.js","sourceRoot":"","sources":["../src/ContactItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,0CAA0C,CAAC;AAClD,OAAO,+CAA+C,CAAC;AACvD,OAAO,wCAAwC,CAAC;AAEhD,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAOnE;;;;;;;;;;;;;;;;;GAiBG;AAoBH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QA6BE;;;;WAIG;QAED,WAAM,GAAoB,UAAU,CAAC,KAAK,CAAC;IAuB/C,CAAC;IAZC,mBAAmB,CAAC,CAAQ;QAC1B,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;CACF,CAAA;AA/CG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACV;AAQf;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACX;AAQd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACO;AAQhC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACkB;AAS3C;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gDACR;AA5C1B,eAAe;IAnBpB,aAAa,CAAC;QACb,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,YAAY,EAAE;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC;GAEI,eAAe,CA0DpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ContactItemTemplate from \"./ContactItemTemplate.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport UDExContactItemIcon from \"./types/ContactItemIcon.js\";\nimport \"@ui5/webcomponents-icons/dist/headset.js\";\nimport \"@ui5/webcomponents-icons/dist/discussion-2.js\";\nimport \"@ui5/webcomponents-icons/dist/email.js\";\n\n// Styles\nimport ContactItemCss from \"./generated/themes/ContactItem.css.js\";\n\ntype UDExContactItemClickEventDetail = {\n originalEvent: Event,\n item: UDExContactItem,\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-contact-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ContactItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-contact-item\n * @public\n */\n@customElement({\n tag: \"udex-contact-item\",\n renderer: jsxRenderer,\n styles: ContactItemCss,\n template: ContactItemTemplate,\n})\n\n/**\n * Fires when item is clicked\n *\n * @public\n * @param {Event} originalEvent the original event object\n * @param {UDExContactItem} item the clicked item\n */\n@event(\"item-click\", {\n bubbles: true,\n cancelable: true,\n})\n\nclass UDExContactItem extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExContactItemClickEventDetail,\n };\n\n /**\n * Defines the label for the item.\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the href for the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Defines the icon name for the item.\n *\n * @public\n */\n @property({ type: String })\n icon?: `${UDExContactItemIcon}`;\n\n /**\n * Defines target for the item\n *\n * @public\n */\n @property({ type: String })\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Slot for the item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: DefaultSlot<Node>;\n\n _fireItemClickEvent(e: Event): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n });\n }\n\n get _iconName(): string | undefined {\n if (this.icon) {\n return UDExContactItemIcon[this.icon].toLowerCase();\n }\n }\n}\n\nUDExContactItem.define();\n\nexport default UDExContactItem;\nexport type { UDExContactItemClickEventDetail };\n"]}
package/dist/Feed.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
2
3
  import UDExButtonDesign from "./types/ButtonDesign.js";
3
4
  import type UDExFeedItem from "./FeedItem.js";
4
5
  /**
@@ -30,7 +31,7 @@ declare class UDExFeed extends UI5Element {
30
31
  * @slot items
31
32
  * @public
32
33
  */
33
- items: Array<UDExFeedItem>;
34
+ items: Slot<UDExFeedItem>;
34
35
  /**
35
36
  * Defines the UI5 icon name in the pictogram section.
36
37
  *
package/dist/Feed.js CHANGED
@@ -8,7 +8,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
12
12
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
13
13
  import UDExButtonDesign from "./types/ButtonDesign.js";
14
14
  import FeedItem from "./FeedItem.js";
package/dist/Feed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Feed.js","sourceRoot":"","sources":["../src/Feed.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AAgBH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QA0DE;;;;;WAKG;QAED,iBAAY,GAAqB,gBAAgB,CAAC,SAAS,CAAC;IA0BhE,CAAC;IAfC,IAAI,cAAc;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAhFG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;uCACrB;AAS5B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACX;AASd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACL;AASpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCACT;AAShB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCACT;AAShB;IADD,QAAQ,EAAE;8CACmD;AAS5D;IADD,QAAQ,EAAE;gDACe;AA1EtB,QAAQ;IAfb,aAAa,CAAC;QACb,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,YAAY;QACtB,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAErD,QAAQ,CA2Fb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport FeedItem from \"./FeedItem.js\";\nimport type UDExFeedItem from \"./FeedItem.js\";\nimport FeedTemplate from \"./FeedTemplate.js\";\n\n// Styles\nimport FeedCss from \"./generated/themes/Feed.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-feed</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Feed.js\";</code>\n *\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-feed\n * @public\n */\n@customElement({\n tag: \"udex-feed\",\n renderer: jsxRenderer,\n styles: FeedCss,\n template: FeedTemplate,\n dependencies: [FeedItem],\n})\n\n/**\n * Triggered when the user clicks on the CTA button\n *\n * @public\n */\n@event(\"button-click\", { cancelable: true, bubbles: true })\n\nclass UDExFeed extends UI5Element {\n eventDetails!: {\n \"button-click\": void\n };\n /**\n * Slot for feed items.\n *\n * @slot items\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true })\n items!: Array<UDExFeedItem>;\n\n /**\n * Defines the UI5 icon name in the pictogram section.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Defines the image URL in the pictogram section.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageUrl?: string;\n\n /**\n * Defines the image aria label and alt in the pictogram section.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageLabel?: string;\n\n /**\n * Defines the header text of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n header?: string;\n\n /**\n * Defines the CTA button label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n button?: string;\n\n /**\n * Defines the CTA button design\n *\n * @default \"UDExButtonDesign.Secondary\"\n * @public\n */\n @property()\n buttonDesign: UDExButtonDesign = UDExButtonDesign.Secondary;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n get _showPictogram(): boolean {\n return !!this.icon || !!this.imageUrl;\n }\n\n get _showImage(): boolean {\n return !this.icon && !!this.imageUrl;\n }\n\n get _imageLabel(): string {\n return this.imageLabel || \"\";\n }\n\n handleCTAButtonClick() {\n this.fireDecoratorEvent(\"button-click\");\n }\n}\n\nUDExFeed.define();\n\nexport default UDExFeed;\n"]}
1
+ {"version":3,"file":"Feed.js","sourceRoot":"","sources":["../src/Feed.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,SAAS;AACT,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AAgBH,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QA0DE;;;;;WAKG;QAED,iBAAY,GAAqB,gBAAgB,CAAC,SAAS,CAAC;IA0BhE,CAAC;IAfC,IAAI,cAAc;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAhFG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;uCACtB;AAS3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACX;AASd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACL;AASpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCACT;AAShB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCACT;AAShB;IADD,QAAQ,EAAE;8CACmD;AAS5D;IADD,QAAQ,EAAE;gDACe;AA1EtB,QAAQ;IAfb,aAAa,CAAC;QACb,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,YAAY;QACtB,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAErD,QAAQ,CA2Fb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport FeedItem from \"./FeedItem.js\";\nimport type UDExFeedItem from \"./FeedItem.js\";\nimport FeedTemplate from \"./FeedTemplate.js\";\n\n// Styles\nimport FeedCss from \"./generated/themes/Feed.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-feed</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Feed.js\";</code>\n *\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-feed\n * @public\n */\n@customElement({\n tag: \"udex-feed\",\n renderer: jsxRenderer,\n styles: FeedCss,\n template: FeedTemplate,\n dependencies: [FeedItem],\n})\n\n/**\n * Triggered when the user clicks on the CTA button\n *\n * @public\n */\n@event(\"button-click\", { cancelable: true, bubbles: true })\n\nclass UDExFeed extends UI5Element {\n eventDetails!: {\n \"button-click\": void\n };\n /**\n * Slot for feed items.\n *\n * @slot items\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true })\n items!: Slot<UDExFeedItem>;\n\n /**\n * Defines the UI5 icon name in the pictogram section.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Defines the image URL in the pictogram section.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageUrl?: string;\n\n /**\n * Defines the image aria label and alt in the pictogram section.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageLabel?: string;\n\n /**\n * Defines the header text of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n header?: string;\n\n /**\n * Defines the CTA button label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n button?: string;\n\n /**\n * Defines the CTA button design\n *\n * @default \"UDExButtonDesign.Secondary\"\n * @public\n */\n @property()\n buttonDesign: UDExButtonDesign = UDExButtonDesign.Secondary;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n get _showPictogram(): boolean {\n return !!this.icon || !!this.imageUrl;\n }\n\n get _showImage(): boolean {\n return !this.icon && !!this.imageUrl;\n }\n\n get _imageLabel(): string {\n return this.imageLabel || \"\";\n }\n\n handleCTAButtonClick() {\n this.fireDecoratorEvent(\"button-click\");\n }\n}\n\nUDExFeed.define();\n\nexport default UDExFeed;\n"]}
@@ -1,4 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
2
3
  import { UDExTarget } from "./types/common.js";
3
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
5
  type UDExFeedItemClickEventDetail = {
@@ -100,7 +101,7 @@ declare class UDExFeedItem extends UI5Element {
100
101
  * @slot avatar
101
102
  * @public
102
103
  */
103
- avatar: Array<HTMLElement>;
104
+ avatar: Slot<HTMLElement>;
104
105
  static i18nBundle: I18nBundle;
105
106
  get _date(): FeedDate;
106
107
  get _showAvatar(): boolean;
package/dist/FeedItem.js CHANGED
@@ -10,7 +10,7 @@ import { UDExTarget } from "./types/common.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
16
16
  import FeedItemTemplate from "./FeedItemTemplate.js";
@@ -1 +1 @@
1
- {"version":3,"file":"FeedItem.js","sourceRoot":"","sources":["../src/FeedItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { UDExTarget } from \"./types/common.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport FeedItemTemplate from \"./FeedItemTemplate.js\";\nimport { LOCATION } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FeedItemCss from \"./generated/themes/FeedItem.css.js\";\n\ntype UDExFeedItemClickEventDetail = {\n originalEvent: Event,\n item: UDExFeedItem,\n}\n\nexport type FeedDate = {\n day: string;\n month: string;\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-feed-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/FeedItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-feed-item\n * @public\n */\n@customElement({\n tag: \"udex-feed-item\",\n renderer: jsxRenderer,\n styles: FeedItemCss,\n template: FeedItemTemplate,\n})\n\n/**\n * Fires when item is clicked\n *\n * @public\n */\n@event(\"item-click\", { bubbles: true, cancelable: true })\n\nclass UDExFeedItem extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExFeedItemClickEventDetail,\n };\n\n /**\n * Defines the link text\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n text?: string;\n\n /**\n * Defines the link text URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Defines target for the link\n *\n * @default UDExTarget._self\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Defines the link text details\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n details?: string;\n\n /**\n * Defines the accessible ARIA name of the link.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Defines the date of the event\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n date?: string;\n\n /**\n * Defines the location of the event\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n location?: string;\n\n /**\n * Defines the UI5 icon name\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Defines the UI5 icon label\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n iconAccessibleName?: string;\n\n /**\n * Receives the avatar\n *\n * @slot avatar\n * @public\n */\n @slot({ type: HTMLElement })\n avatar!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get _date(): FeedDate {\n return this.formatDate(this.date);\n }\n\n get _showAvatar(): boolean {\n return !!this.avatar.length;\n }\n\n get _showIcon(): boolean {\n return !!this.icon && !this._showAvatar;\n }\n\n get _showDate(): boolean {\n return !!this.date && !this._showAvatar && !this._showIcon;\n }\n\n get locationIconLabel(): string {\n return translate(UDExFeedItem, LOCATION);\n }\n\n formatDate(d: string | undefined): FeedDate {\n if (!d) {\n return { day: \"\", month: \"\" };\n }\n const date = new Date(d);\n const day = date.toLocaleString(\"default\", { day: \"2-digit\" });\n let month = date.toLocaleString(\"default\", { month: \"short\" });\n month = month.charAt(0).toUpperCase() + month.slice(1);\n return { day, month };\n }\n\n handleLinkClick(e: Event): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n });\n }\n}\n\nUDExFeedItem.define();\n\nexport default UDExFeedItem;\nexport type { UDExFeedItemClickEventDetail };\n"]}
1
+ {"version":3,"file":"FeedItem.js","sourceRoot":"","sources":["../src/FeedItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport FeedItemTemplate from \"./FeedItemTemplate.js\";\nimport { LOCATION } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FeedItemCss from \"./generated/themes/FeedItem.css.js\";\n\ntype UDExFeedItemClickEventDetail = {\n originalEvent: Event,\n item: UDExFeedItem,\n}\n\nexport type FeedDate = {\n day: string;\n month: string;\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-feed-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/FeedItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-feed-item\n * @public\n */\n@customElement({\n tag: \"udex-feed-item\",\n renderer: jsxRenderer,\n styles: FeedItemCss,\n template: FeedItemTemplate,\n})\n\n/**\n * Fires when item is clicked\n *\n * @public\n */\n@event(\"item-click\", { bubbles: true, cancelable: true })\n\nclass UDExFeedItem extends UI5Element {\n eventDetails!: {\n \"item-click\": UDExFeedItemClickEventDetail,\n };\n\n /**\n * Defines the link text\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n text?: string;\n\n /**\n * Defines the link text URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Defines target for the link\n *\n * @default UDExTarget._self\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Defines the link text details\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n details?: string;\n\n /**\n * Defines the accessible ARIA name of the link.\n *\n * @default undefined\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Defines the date of the event\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n date?: string;\n\n /**\n * Defines the location of the event\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n location?: string;\n\n /**\n * Defines the UI5 icon name\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n icon?: string;\n\n /**\n * Defines the UI5 icon label\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n iconAccessibleName?: string;\n\n /**\n * Receives the avatar\n *\n * @slot avatar\n * @public\n */\n @slot({ type: HTMLElement })\n avatar!: Slot<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get _date(): FeedDate {\n return this.formatDate(this.date);\n }\n\n get _showAvatar(): boolean {\n return !!this.avatar.length;\n }\n\n get _showIcon(): boolean {\n return !!this.icon && !this._showAvatar;\n }\n\n get _showDate(): boolean {\n return !!this.date && !this._showAvatar && !this._showIcon;\n }\n\n get locationIconLabel(): string {\n return translate(UDExFeedItem, LOCATION);\n }\n\n formatDate(d: string | undefined): FeedDate {\n if (!d) {\n return { day: \"\", month: \"\" };\n }\n const date = new Date(d);\n const day = date.toLocaleString(\"default\", { day: \"2-digit\" });\n let month = date.toLocaleString(\"default\", { month: \"short\" });\n month = month.charAt(0).toUpperCase() + month.slice(1);\n return { day, month };\n }\n\n handleLinkClick(e: Event): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n });\n }\n}\n\nUDExFeedItem.define();\n\nexport default UDExFeedItem;\nexport type { UDExFeedItemClickEventDetail };\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
8
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
9
9
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
10
  import UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
11
11
  import UDExFilterMenuItem from "./FilterMenuItem.js";
@@ -1 +1 @@
1
- {"version":3,"file":"FilterMenuGroupHeader.js","sourceRoot":"","sources":["../src/FilterMenuGroupHeader.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,uBAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AAGrD;;;;;;;;;;;;;;;;GAgBG;AAMH,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,uBAAuB;IAU7D,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,CAAqB,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AALG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;wDACV;AARtC,yBAAyB;IAL9B,aAAa,CAAC;QACb,GAAG,EAAE,+BAA+B;QACpC,QAAQ,EAAE,SAAS;KACpB,CAAC;GAEI,yBAAyB,CAa9B;AAED,yBAAyB,CAAC,MAAM,EAAE,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-filter-menu-group-header</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/FilterMenuGroupHeader.js\";</code>\n *\n * @constructor\n * @extends UDExListGroupHeaderBase\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu-group-header\",\n renderer: litRender,\n})\n\nclass UDExFilterMenuGroupHeader extends UDExListGroupHeaderBase {\n /**\n * Slot for list items.\n *\n * @slot items\n * @public\n */\n @slot({ type: UDExFilterMenuItem, \"default\": true })\n items!: DefaultSlot<UDExFilterMenuItem>;\n\n getItems(): Array<UDExFilterMenuItem> {\n return this.getSlottedNodes<UDExFilterMenuItem>(\"items\");\n }\n}\n\nUDExFilterMenuGroupHeader.define();\n\nexport default UDExFilterMenuGroupHeader;\n"]}
1
+ {"version":3,"file":"FilterMenuGroupHeader.js","sourceRoot":"","sources":["../src/FilterMenuGroupHeader.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,uBAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AAGrD;;;;;;;;;;;;;;;;GAgBG;AAMH,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,uBAAuB;IAU7D,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,CAAqB,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AALG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;wDACV;AARtC,yBAAyB;IAL9B,aAAa,CAAC;QACb,GAAG,EAAE,+BAA+B;QACpC,QAAQ,EAAE,SAAS;KACpB,CAAC;GAEI,yBAAyB,CAa9B;AAED,yBAAyB,CAAC,MAAM,EAAE,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-filter-menu-group-header</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/FilterMenuGroupHeader.js\";</code>\n *\n * @constructor\n * @extends UDExListGroupHeaderBase\n * @public\n */\n@customElement({\n tag: \"udex-filter-menu-group-header\",\n renderer: litRender,\n})\n\nclass UDExFilterMenuGroupHeader extends UDExListGroupHeaderBase {\n /**\n * Slot for list items.\n *\n * @slot items\n * @public\n */\n @slot({ type: UDExFilterMenuItem, \"default\": true })\n items!: DefaultSlot<UDExFilterMenuItem>;\n\n getItems(): Array<UDExFilterMenuItem> {\n return this.getSlottedNodes<UDExFilterMenuItem>(\"items\");\n }\n}\n\nUDExFilterMenuGroupHeader.define();\n\nexport default UDExFilterMenuGroupHeader;\n"]}
package/dist/Footer.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
2
3
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
5
  import type { UDExAccordionItemClickEventDetail } from "./AccordionItem.js";
@@ -75,7 +76,7 @@ declare class UDExFooter extends UI5Element {
75
76
  * @slot content
76
77
  * @public
77
78
  */
78
- customSocialLinks: Array<UDExSocialMediaButton>;
79
+ customSocialLinks: Slot<UDExSocialMediaButton>;
79
80
  /**
80
81
  * Defines the Logo default title
81
82
  *
package/dist/Footer.js CHANGED
@@ -10,7 +10,7 @@ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
14
14
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
15
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
@@ -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\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css.js\";\n\nexport const chineseICPDefaultLink = \"https://beian.miit.gov.cn/\";\n\nexport type FooterLink = {\n id: string;\n title: string;\n url: string;\n target: UDExTarget;\n role?: string;\n};\n\nexport type FooterSocialLink = {\n name?: UDExSocialMediaButtonType;\n url: string;\n target?: UDExTarget;\n accessibleName?: string;\n id? : string;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\ntype UDExFooterDetailedClickEventDetail = {\n originalEvent: MouseEvent,\n name: string | undefined;\n id?: string;\n sourceNode: HTMLElement;\n}\n\ntype UDExFooterBaseEventDetail = {\n originalEvent: MouseEvent | Event,\n}\n\ntype BaseEvents = \"contact-chat-click\" | \"contact-phone-local-numbers-click\" | \"contact-email-click\" | \"contact-phone-click\" | \"logo-click\" | \"back-to-top-click\";\n\ntype DetailedEvents = \"quick-links-click\" | \"trending-click\" | \"about-sap-click\" | \"site-information-click\" | \"social-media-link-click\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n languageAware: true,\n tag: \"udex-footer\",\n renderer: jsxRenderer,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordion, UDExAccordionItem, Icon, UDExButton, UDExDivider, UDExLink, UDExSocialMediaButton],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n * @param { string | undefined } name\n * @param { boolean } expanded\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExFooter extends UI5Element {\n eventDetails!: {\n \"logo-click\": UDExFooterBaseEventDetail,\n \"back-to-top-click\": UDExFooterBaseEventDetail,\n \"contact-chat-click\": UDExFooterBaseEventDetail,\n \"contact-phone-local-numbers-click\": UDExFooterBaseEventDetail,\n \"contact-email-click\": UDExFooterBaseEventDetail,\n \"contact-phone-click\": UDExFooterBaseEventDetail,\n \"quick-links-click\": UDExFooterDetailedClickEventDetail,\n \"trending-click\": UDExFooterDetailedClickEventDetail,\n \"about-sap-click\": UDExFooterDetailedClickEventDetail,\n \"site-information-click\":UDExFooterDetailedClickEventDetail,\n \"social-media-link-click\": UDExFooterDetailedClickEventDetail,\n \"accordion-item-click\": UDExAccordionItemClickEventDetail,\n };\n\n /**\n * Defines the slot for custom Social Links.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true })\n customSocialLinks!: Array<UDExSocialMediaButton>;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle?: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl?: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoLink: string = \"\";\n\n /**\n * Defines the tagline alt text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineAlt?: string;\n\n /**\n * Defines the tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineUrl?: string;\n\n /**\n * Defines the chinese tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseTaglineUrl?: string;\n\n /**\n * Defines the chinese logo url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoUrl?: string;\n\n /**\n * Defines the optional component href link for the chinese logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n quickLinks: string = \"[]\";\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n trendingLinks: string = \"[]\";\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n aboutLinks: string = \"[]\";\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n siteInformationLinks: string = \"[]\";\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbersList: string = \"[]\";\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n localCountryNumbersLink: string = \"\";\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n contactUsLink: string = \"\";\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chatWithUsLink: string = \"\";\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n socialLinks: string = \"[]\";\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAlt: string = \"\";\n\n /**\n * Defines an aria label for the logo link\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAriaLabel: string = \"\";\n\n /**\n * Defines an quick links column title\n *\n * @public\n */\n @property({ type: String })\n quickLinksTitle?: string;\n\n /**\n * Defines a trending column title\n *\n * @public\n */\n @property({ type: String })\n trendingTitle?: string;\n\n /**\n * Defines an \"about Sap\" column title\n *\n * @public\n */\n @property({ type: String })\n aboutSapTitle?: string;\n\n /**\n * Defines a site information column title\n *\n * @public\n */\n @property({ type: String })\n siteInformationTitle?: string;\n\n /**\n * Defines a href for the chinese ICP Number link\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumberLink: string = chineseICPDefaultLink;\n\n /**\n * Defines text for the chinese ICP Number\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumber!: string;\n\n /**\n * Defines text for the chinese security network number\n *\n * @public\n */\n @property({ type: String })\n chineseSecurityNetworkNumber!: string;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"back-to-top-click\");\n\n window.scrollTo(0, 0);\n }\n\n get quickLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get phoneNumberAccessibleName(): string {\n return `${translate(UDExFooter, PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return translate(UDExFooter, CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${translate(UDExFooter, EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return translate(UDExFooter, CHAT_WITH_US);\n }\n\n get _quickLinksTitle(): string {\n return this.quickLinksTitle || translate(UDExFooter, QUICK_LINKS);\n }\n\n get _trendingTitle(): string {\n return this.trendingTitle || translate(UDExFooter, TRENDING);\n }\n\n get _aboutSapTitle(): string {\n return this.aboutSapTitle || translate(UDExFooter, ABOUT_SAP);\n }\n\n get _siteInformationTitle(): string {\n return this.siteInformationTitle || translate(UDExFooter, SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${translate(UDExFooter, SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return translate(UDExFooter, LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return translate(UDExFooter, COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumberText(): string {\n return this.chineseIcpNumber ?? translate(UDExFooter, ICP_NUMBER);\n }\n\n get chineseSecurityNetworkNumberText(): string {\n return this.chineseSecurityNetworkNumber ? ` ${this.chineseSecurityNetworkNumber}` : ` ${translate(UDExFooter, PUBLIC_SECURITY_NETWORK_NUMBER)}`;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n get backToTopTitle(): string {\n return translate(UDExFooter, BACK_TO_TOP);\n }\n\n get hasSocialLinksSlot(): boolean {\n return !!this.customSocialLinks.length;\n }\n\n _onLogoClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: MouseEvent | Event, eventName: BaseEvents): void {\n this.fireDecoratorEvent(eventName, { originalEvent: e });\n }\n\n fireFooterDetailedClickEvent(e: MouseEvent, eventName: DetailedEvents): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireDecoratorEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n });\n }\n\n handleAccordionItemClick(e: CustomEvent<UDExAccordionItemClickEventDetail>): void {\n this.fireDecoratorEvent(\"accordion-item-click\", e.detail);\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\nexport type { UDExFooterBaseEventDetail, UDExFooterDetailedClickEventDetail };\n"]}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../src/Footer.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type { UDExAccordionItemClickEventDetail } from \"./AccordionItem.js\";\nimport UDExAccordionItem from \"./AccordionItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExAccordion from \"./Accordion.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExDivider from \"./Divider.js\";\nimport UDExSocialMediaButton from \"./SocialMediaButton.js\";\nimport type { UDExSocialMediaButtonType } from \"./types/SocialMediaButtonType.js\";\nimport type { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport FooterTemplate from \"./FooterTemplate.js\";\nimport {\n ABOUT_SAP,\n CHAT_WITH_US,\n CONTACT_US,\n EMAIL,\n LOCAL_COUNTRY_NAMES,\n PHONE_NUMBER,\n QUICK_LINKS,\n SEE_COMPLETE_LIST,\n SITE_INFORMATION,\n TRENDING,\n COPYRIGHT,\n PUBLIC_SECURITY_NETWORK_NUMBER,\n ICP_NUMBER,\n BACK_TO_TOP,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport FooterCss from \"./generated/themes/Footer.css.js\";\n\nexport const chineseICPDefaultLink = \"https://beian.miit.gov.cn/\";\n\nexport type FooterLink = {\n id: string;\n title: string;\n url: string;\n target: UDExTarget;\n role?: string;\n};\n\nexport type FooterSocialLink = {\n name?: UDExSocialMediaButtonType;\n url: string;\n target?: UDExTarget;\n accessibleName?: string;\n id? : string;\n};\n\nexport type FooterContactNumber = {\n number: string;\n country: string;\n};\n\ntype UDExFooterDetailedClickEventDetail = {\n originalEvent: MouseEvent,\n name: string | undefined;\n id?: string;\n sourceNode: HTMLElement;\n}\n\ntype UDExFooterBaseEventDetail = {\n originalEvent: MouseEvent | Event,\n}\n\ntype BaseEvents = \"contact-chat-click\" | \"contact-phone-local-numbers-click\" | \"contact-email-click\" | \"contact-phone-click\" | \"logo-click\" | \"back-to-top-click\";\n\ntype DetailedEvents = \"quick-links-click\" | \"trending-click\" | \"about-sap-click\" | \"site-information-click\" | \"social-media-link-click\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-footer</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-footer\n * @public\n */\n@customElement({\n languageAware: true,\n tag: \"udex-footer\",\n renderer: jsxRenderer,\n styles: [FooterCss],\n template: FooterTemplate,\n dependencies: [UDExAccordion, UDExAccordionItem, Icon, UDExButton, UDExDivider, UDExLink, UDExSocialMediaButton],\n})\n/**\n * Triggered on click interaction with logo in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"logo-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Back to Top\" button\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"back-to-top-click\", { bubbles: true })\n/**\n * Triggered on click interaction with phone number link in footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-click\", { bubbles: true })\n/**\n * Triggered on click interaction with local country numbers list link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-phone-local-numbers-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by email\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-email-click\", { bubbles: true })\n/**\n * Triggered on click interaction with \"Contact us by chat\" link\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @allowPreventDefault\n */\n@event(\"contact-chat-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Quick Links\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @allowPreventDefault\n */\n@event(\"quick-links-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Trending\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"trending-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"About SAP\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"about-sap-click\", { bubbles: true })\n/**\n * Triggered on click interaction with a link within \"Site Information\" category\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"site-information-click\", { bubbles: true })\n/**\n * Triggered on click interaction with any of the social media links within footer\n * @public\n * @param { MouseEvent | Event } originalEvent\n * @param { HTMLElement } sourceNode\n * @param { string | undefined } name\n * @param { string } [id]\n * @allowPreventDefault\n */\n@event(\"social-media-link-click\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n * @param { string | undefined } name\n * @param { boolean } expanded\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExFooter extends UI5Element {\n eventDetails!: {\n \"logo-click\": UDExFooterBaseEventDetail,\n \"back-to-top-click\": UDExFooterBaseEventDetail,\n \"contact-chat-click\": UDExFooterBaseEventDetail,\n \"contact-phone-local-numbers-click\": UDExFooterBaseEventDetail,\n \"contact-email-click\": UDExFooterBaseEventDetail,\n \"contact-phone-click\": UDExFooterBaseEventDetail,\n \"quick-links-click\": UDExFooterDetailedClickEventDetail,\n \"trending-click\": UDExFooterDetailedClickEventDetail,\n \"about-sap-click\": UDExFooterDetailedClickEventDetail,\n \"site-information-click\":UDExFooterDetailedClickEventDetail,\n \"social-media-link-click\": UDExFooterDetailedClickEventDetail,\n \"accordion-item-click\": UDExAccordionItemClickEventDetail,\n };\n\n /**\n * Defines the slot for custom Social Links.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true })\n customSocialLinks!: Slot<UDExSocialMediaButton>;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle?: string;\n\n /**\n * Defines the Logo URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl?: string;\n\n /**\n * Defines the optional component href link for the logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoLink: string = \"\";\n\n /**\n * Defines the tagline alt text.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineAlt?: string;\n\n /**\n * Defines the tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n taglineUrl?: string;\n\n /**\n * Defines the chinese tagline url.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseTaglineUrl?: string;\n\n /**\n * Defines the chinese logo url\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoUrl?: string;\n\n /**\n * Defines the optional component href link for the chinese logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chineseLogoLink?: string;\n\n /**\n * List of the Quick links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n quickLinks: string = \"[]\";\n\n /**\n * List of the Trending links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n trendingLinks: string = \"[]\";\n\n /**\n * List of the About SAP links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n aboutLinks: string = \"[]\";\n\n /**\n * List of the Site Information links\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n siteInformationLinks: string = \"[]\";\n\n /**\n * List of the contact numbers\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n contactNumbersList: string = \"[]\";\n\n /**\n * Defines the local country numbers link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n localCountryNumbersLink: string = \"\";\n\n /**\n * Defines the Contact us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n contactUsLink: string = \"\";\n\n /**\n * Defines the Chat with us link's href\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n chatWithUsLink: string = \"\";\n\n /**\n * List of the Social links and their icons\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n socialLinks: string = \"[]\";\n\n /**\n * Alt for Logo\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAlt: string = \"\";\n\n /**\n * Defines an aria label for the logo link\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoAriaLabel: string = \"\";\n\n /**\n * Defines an quick links column title\n *\n * @public\n */\n @property({ type: String })\n quickLinksTitle?: string;\n\n /**\n * Defines a trending column title\n *\n * @public\n */\n @property({ type: String })\n trendingTitle?: string;\n\n /**\n * Defines an \"about Sap\" column title\n *\n * @public\n */\n @property({ type: String })\n aboutSapTitle?: string;\n\n /**\n * Defines a site information column title\n *\n * @public\n */\n @property({ type: String })\n siteInformationTitle?: string;\n\n /**\n * Defines a href for the chinese ICP Number link\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumberLink: string = chineseICPDefaultLink;\n\n /**\n * Defines text for the chinese ICP Number\n *\n * @public\n */\n @property({ type: String })\n chineseIcpNumber!: string;\n\n /**\n * Defines text for the chinese security network number\n *\n * @public\n */\n @property({ type: String })\n chineseSecurityNetworkNumber!: string;\n\n /**\n * Defines should render the mobile navigation.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _shouldRenderMobileMenu!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n this._shouldRenderMobileMenu = this.isMobile;\n }\n\n onBackToTopClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"back-to-top-click\");\n\n window.scrollTo(0, 0);\n }\n\n get quickLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.quickLinks);\n }\n\n get trendingLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.trendingLinks);\n }\n\n get aboutLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.aboutLinks);\n }\n\n get siteInformationLinksArray(): FooterLink[] {\n return parseArrayFromString<FooterLink>(this.siteInformationLinks);\n }\n\n get contactNumbersArray(): FooterContactNumber[] {\n return parseArrayFromString<FooterContactNumber>(this.contactNumbersList);\n }\n\n get socialLinksArray(): FooterSocialLink[] {\n return parseArrayFromString<FooterSocialLink>(this.socialLinks);\n }\n\n get isContactContainerVisible(): boolean {\n return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;\n }\n\n get phoneNumberAccessibleName(): string {\n return `${translate(UDExFooter, PHONE_NUMBER)} `;\n }\n\n get contactUsAccessibleName(): string {\n return translate(UDExFooter, CONTACT_US);\n }\n\n get contactUsAccessibleLabel(): string {\n if (this.contactUsLink.includes(\"mailto:\")) {\n return `${this.contactUsAccessibleName} ${translate(UDExFooter, EMAIL)}`;\n }\n return `${this.contactUsAccessibleName}`;\n }\n\n get chatWithUsAccessibleName(): string {\n return translate(UDExFooter, CHAT_WITH_US);\n }\n\n get _quickLinksTitle(): string {\n return this.quickLinksTitle || translate(UDExFooter, QUICK_LINKS);\n }\n\n get _trendingTitle(): string {\n return this.trendingTitle || translate(UDExFooter, TRENDING);\n }\n\n get _aboutSapTitle(): string {\n return this.aboutSapTitle || translate(UDExFooter, ABOUT_SAP);\n }\n\n get _siteInformationTitle(): string {\n return this.siteInformationTitle || translate(UDExFooter, SITE_INFORMATION);\n }\n\n get completeListTitle(): string {\n return `${translate(UDExFooter, SEE_COMPLETE_LIST)} `;\n }\n\n get localCountryTitle(): string {\n return translate(UDExFooter, LOCAL_COUNTRY_NAMES);\n }\n\n get copyrightText(): string {\n return translate(UDExFooter, COPYRIGHT, new Date().getFullYear());\n }\n\n get chineseICPNumberText(): string {\n return this.chineseIcpNumber ?? translate(UDExFooter, ICP_NUMBER);\n }\n\n get chineseSecurityNetworkNumberText(): string {\n return this.chineseSecurityNetworkNumber ? ` ${this.chineseSecurityNetworkNumber}` : ` ${translate(UDExFooter, PUBLIC_SECURITY_NETWORK_NUMBER)}`;\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n\n get isChineseLang(): boolean {\n return getLanguage()?.toLowerCase() === \"zh_cn\";\n }\n\n get hasLogo(): boolean {\n return !!(this.logoUrl || this.chineseLogoUrl);\n }\n\n get hasLogoLink(): boolean {\n return !!(this.logoLink || this.chineseLogoLink);\n }\n\n get currentLogoUrl(): string | undefined {\n return this.isChineseLang && this.chineseLogoUrl ? this.chineseLogoUrl : this.logoUrl;\n }\n\n get logoHref(): string {\n return this.isChineseLang && this.chineseLogoLink ? this.chineseLogoLink : this.logoLink;\n }\n\n get hasTagline(): boolean {\n return !!(this.taglineUrl || this.chineseTaglineUrl);\n }\n\n get currentTaglineUrl(): string | undefined {\n return this.isChineseLang && this.chineseTaglineUrl ? this.chineseTaglineUrl : this.taglineUrl;\n }\n\n get taglineClass(): string {\n const root = \"udex-footer__tagline-image\";\n return this.isChineseLang && this.chineseTaglineUrl ? `${root}-chinese` : root;\n }\n\n get logoClass(): string {\n const root = \"udex-footer__logo-image\";\n return this.isChineseLang && this.chineseLogoUrl ? `${root}-chinese` : root;\n }\n\n get backToTopTitle(): string {\n return translate(UDExFooter, BACK_TO_TOP);\n }\n\n get hasSocialLinksSlot(): boolean {\n return !!this.customSocialLinks.length;\n }\n\n _onLogoClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"logo-click\");\n }\n\n _onContactPhoneClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-phone-click\");\n }\n _onContactPhoneLocalNumbersClick(e: Event): void {\n this.fireFooterBaseEvent(e, \"contact-phone-local-numbers-click\");\n }\n _onContactEmailClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-email-click\");\n }\n _onContactChatClick(e: MouseEvent): void {\n this.fireFooterBaseEvent(e, \"contact-chat-click\");\n }\n\n _onQuickLinksClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"quick-links-click\");\n }\n\n _onTrendingClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"trending-click\");\n }\n\n _onAboutSapClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"about-sap-click\");\n }\n\n _onSiteInformationClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"site-information-click\");\n }\n\n _onSocialMediaLinkClick(e: MouseEvent): void {\n this.fireFooterDetailedClickEvent(e, \"social-media-link-click\");\n }\n\n fireFooterBaseEvent(e: MouseEvent | Event, eventName: BaseEvents): void {\n this.fireDecoratorEvent(eventName, { originalEvent: e });\n }\n\n fireFooterDetailedClickEvent(e: MouseEvent, eventName: DetailedEvents): void {\n const sourceNode = e.composedPath()[0] as HTMLElement;\n const { innerText, dataset: { id, name } } = sourceNode;\n\n this.fireDecoratorEvent(eventName, {\n ...(!!id?.length && { id }),\n name: innerText.length ? innerText : name,\n originalEvent: e,\n sourceNode,\n });\n }\n\n handleAccordionItemClick(e: CustomEvent<UDExAccordionItemClickEventDetail>): void {\n this.fireDecoratorEvent(\"accordion-item-click\", e.detail);\n }\n}\n\nUDExFooter.define();\n\nexport default UDExFooter;\nexport type { UDExFooterBaseEventDetail, UDExFooterDetailedClickEventDetail };\n"]}
@@ -8,7 +8,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
10
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
11
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
12
12
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
13
13
  import ImageGridCloudTemplate from "./ImageGridCloudTemplate.js";
14
14
  // Styles
@@ -1 +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 type { DefaultSlot } 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!: DefaultSlot<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"]}
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 type { DefaultSlot } 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-strict.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!: DefaultSlot<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"]}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
11
11
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
12
12
  import ImageGridTableTemplate from "./ImageGridTableTemplate.js";
13
13
  import { Breakpoints } from "./utils/Breakpoints.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ImageGridTable.js","sourceRoot":"","sources":["../src/ImageGridTable.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.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 type UDExImageGridTableItem from \"./ImageGridTableItem.js\";\nimport ImageGridTableTemplate from \"./ImageGridTableTemplate.js\";\nimport { Breakpoints } from \"./utils/Breakpoints.js\";\n\n// Styles\nimport ImageGridTableCss from \"./generated/themes/ImageGridTable.css.js\";\nimport property from \"@ui5/webcomponents-base/decorators/property.js\";\n\nexport enum UDExImageGridTableVariable {\n columns = \"--udex-image-grid-table-columns\",\n gapDesktop = \"--udex-image-grid-table-gap-xl-m\",\n gapMobile = \"--udex-image-grid-table-gap-s\",\n minWidth = \"--udex-image-grid-table-item-min-width\",\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-table</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ImageGridTable.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-image-grid-table\",\n renderer: jsxRenderer,\n styles: ImageGridTableCss,\n template: ImageGridTableTemplate,\n})\n\nclass UDExImageGridTable extends UI5Element {\n /**\n * Slot for image grid table items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExImageGridTableItem>;\n\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 _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this.handleResize.bind(this);\n }\n\n onAfterRendering(): void {\n if (!this.isSmallComponentSize) {\n this._renderGrid();\n }\n }\n\n onBeforeRendering(): void {\n if (this.grayscale) {\n this._setGrayscaleMode();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n handleResize(): void {\n if (!this.isSmallComponentSize) {\n this._renderGrid();\n }\n }\n\n _renderGrid(): void {\n const containerWidth = this.offsetWidth;\n const itemCount = this.items.length;\n const minWidth = this.itemMinWidth;\n const gap = this.itemGap;\n\n if (!containerWidth || itemCount === 0) {\n return;\n }\n\n let columns = Math.floor((containerWidth - gap) / (minWidth + gap));\n columns = Math.max(1, columns);\n\n if (itemCount % columns === 1 && columns > 1) {\n columns -= 1;\n }\n\n this.style.setProperty(\n UDExImageGridTableVariable.columns,\n String(columns),\n );\n }\n\n _setGrayscaleMode(): void {\n this.items.forEach(item => {\n item._grayscale = true;\n });\n }\n\n get itemMinWidth(): number {\n const variableName = UDExImageGridTableVariable.minWidth;\n return parseInt(this.getVariableValue(variableName));\n }\n\n get itemGap(): number {\n const variableName = this.isSmallComponentSize\n ? UDExImageGridTableVariable.gapMobile\n : UDExImageGridTableVariable.gapDesktop;\n return parseInt(this.getVariableValue(variableName));\n }\n\n get isSmallComponentSize(): boolean {\n return this.offsetWidth <= Breakpoints.S.max;\n }\n\n getVariableValue(variableName: string): string {\n return window.getComputedStyle(this).getPropertyValue(`${variableName}`);\n }\n}\n\nUDExImageGridTable.define();\n\nexport default UDExImageGridTable;\n"]}
1
+ {"version":3,"file":"ImageGridTable.js","sourceRoot":"","sources":["../src/ImageGridTable.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,SAAS;AACT,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,QAAQ,MAAM,gDAAgD,CAAC;AAEtE,MAAM,CAAN,IAAY,0BAKX;AALD,WAAY,0BAA0B;IACpC,yEAA2C,CAAA;IAC3C,6EAA+C,CAAA;IAC/C,yEAA2C,CAAA;IAC3C,iFAAmD,CAAA;AACrD,CAAC,EALW,0BAA0B,KAA1B,0BAA0B,QAKrC;AAED;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAsBzC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU;QACR,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,WAAW;QACT,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QAEzB,IAAI,CAAC,cAAc,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,SAAS,GAAG,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CACpB,0BAA0B,CAAC,OAAO,EAClC,MAAM,CAAC,OAAO,CAAC,CAChB,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY;QACd,MAAM,YAAY,GAAG,0BAA0B,CAAC,QAAQ,CAAC;QACzD,OAAO,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB;YAC5C,CAAC,CAAC,0BAA0B,CAAC,SAAS;YACtC,CAAC,CAAC,0BAA0B,CAAC,UAAU,CAAC;QAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,CAAC;IAED,gBAAgB,CAAC,YAAoB;QACnC,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF,CAAA;AA7FG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;iDACC;AAU5C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACN;AAlBlB,kBAAkB;IAPvB,aAAa,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,sBAAsB;KACjC,CAAC;GAEI,kBAAkB,CAqGvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.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-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type UDExImageGridTableItem from \"./ImageGridTableItem.js\";\nimport ImageGridTableTemplate from \"./ImageGridTableTemplate.js\";\nimport { Breakpoints } from \"./utils/Breakpoints.js\";\n\n// Styles\nimport ImageGridTableCss from \"./generated/themes/ImageGridTable.css.js\";\nimport property from \"@ui5/webcomponents-base/decorators/property.js\";\n\nexport enum UDExImageGridTableVariable {\n columns = \"--udex-image-grid-table-columns\",\n gapDesktop = \"--udex-image-grid-table-gap-xl-m\",\n gapMobile = \"--udex-image-grid-table-gap-s\",\n minWidth = \"--udex-image-grid-table-item-min-width\",\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-table</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ImageGridTable.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-image-grid-table\",\n renderer: jsxRenderer,\n styles: ImageGridTableCss,\n template: ImageGridTableTemplate,\n})\n\nclass UDExImageGridTable extends UI5Element {\n /**\n * Slot for image grid table items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: DefaultSlot<UDExImageGridTableItem>;\n\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 _handleResizeBound: ResizeObserverCallback;\n\n constructor() {\n super();\n this._handleResizeBound = this.handleResize.bind(this);\n }\n\n onAfterRendering(): void {\n if (!this.isSmallComponentSize) {\n this._renderGrid();\n }\n }\n\n onBeforeRendering(): void {\n if (this.grayscale) {\n this._setGrayscaleMode();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n handleResize(): void {\n if (!this.isSmallComponentSize) {\n this._renderGrid();\n }\n }\n\n _renderGrid(): void {\n const containerWidth = this.offsetWidth;\n const itemCount = this.items.length;\n const minWidth = this.itemMinWidth;\n const gap = this.itemGap;\n\n if (!containerWidth || itemCount === 0) {\n return;\n }\n\n let columns = Math.floor((containerWidth - gap) / (minWidth + gap));\n columns = Math.max(1, columns);\n\n if (itemCount % columns === 1 && columns > 1) {\n columns -= 1;\n }\n\n this.style.setProperty(\n UDExImageGridTableVariable.columns,\n String(columns),\n );\n }\n\n _setGrayscaleMode(): void {\n this.items.forEach(item => {\n item._grayscale = true;\n });\n }\n\n get itemMinWidth(): number {\n const variableName = UDExImageGridTableVariable.minWidth;\n return parseInt(this.getVariableValue(variableName));\n }\n\n get itemGap(): number {\n const variableName = this.isSmallComponentSize\n ? UDExImageGridTableVariable.gapMobile\n : UDExImageGridTableVariable.gapDesktop;\n return parseInt(this.getVariableValue(variableName));\n }\n\n get isSmallComponentSize(): boolean {\n return this.offsetWidth <= Breakpoints.S.max;\n }\n\n getVariableValue(variableName: string): string {\n return window.getComputedStyle(this).getPropertyValue(`${variableName}`);\n }\n}\n\nUDExImageGridTable.define();\n\nexport default UDExImageGridTable;\n"]}
@@ -9,7 +9,7 @@ import { isDesktop } from "@ui5/webcomponents-base/Device.js";
9
9
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
10
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
13
13
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
14
  import { UDExTarget } from "./types/common.js";
15
15
  import ImageGridTableItemTemplate from "./ImageGridTableItemTemplate.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ImageGridTableItem.js","sourceRoot":"","sources":["../src/ImageGridTableItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,SAAS;AACT,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF;;;;;;;;;;;;;;;;GAgBG;AAeH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAA/C;;QAoEE;;;;WAIG;QAED,WAAM,GAAoB,UAAU,CAAC,KAAK,CAAC;QAE7C;;;;;WAKG;QAED,eAAU,GAAG,KAAK,CAAC;IAevB,CAAC;IAbC,UAAU;QACR,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,CAAQ;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAA;AAtFG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;uDACR;AASnC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACN;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACX;AASd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AASb;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AASb;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACR;AAQjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACkB;AAS3C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACP;AAnFjB,sBAAsB;IAd3B,aAAa,CAAC;QACb,GAAG,EAAE,4BAA4B;QACjC,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,0BAA0B;KACrC,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAEnD,sBAAsB,CAkG3B;AAED,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAEhC,eAAe,sBAAsB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/Device.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { UDExTarget } from \"./types/common.js\";\n\nimport ImageGridTableItemTemplate from \"./ImageGridTableItemTemplate.js\";\n\n// Styles\nimport ImageGridTableItemCss from \"./generated/themes/ImageGridTableItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-image-grid-table-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ImageGridTableItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-image-grid-table-item\",\n renderer: jsxRenderer,\n styles: ImageGridTableItemCss,\n template: ImageGridTableItemTemplate,\n})\n\n/**\n * Fired event when the user clicks on the item link.\n *\n * @public\n */\n@event(\"item-click\", { cancelable: true, bubbles: true })\n\nclass UDExImageGridTableItem extends UI5Element {\n eventDetails!: {\n \"item-click\": void,\n };\n\n /**\n * Defines the text content of the component.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: DefaultSlot<HTMLElement>;\n\n /**\n * Defines the header text of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline?: string;\n\n /**\n * Defines the link label of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n linkLabel?: string;\n\n /**\n * Defines link URL\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n href?: string;\n\n /**\n * Defines the source URL of the image\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n src?: string;\n\n /**\n * Defines image alt text\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n alt?: string;\n\n /**\n * Defines tooltip on hover\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n tooltip?: string;\n\n /**\n * Defines target for the mage grid table item.\n *\n * @public\n */\n @property({ type: String })\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Indicates whether the image grid table item is grayscale.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _grayscale = false;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n fireLinkItemClickEvent(e: Event): void {\n const executeEvent = this.fireDecoratorEvent(\"item-click\");\n\n if (!executeEvent) {\n e.preventDefault();\n }\n }\n}\n\nUDExImageGridTableItem.define();\n\nexport default UDExImageGridTableItem;\n"]}
1
+ {"version":3,"file":"ImageGridTableItem.js","sourceRoot":"","sources":["../src/ImageGridTableItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,SAAS;AACT,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF;;;;;;;;;;;;;;;;GAgBG;AAeH,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAA/C;;QAoEE;;;;WAIG;QAED,WAAM,GAAoB,UAAU,CAAC,KAAK,CAAC;QAE7C;;;;;WAKG;QAED,eAAU,GAAG,KAAK,CAAC;IAevB,CAAC;IAbC,UAAU;QACR,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,CAAQ;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAA;AAtFG;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;uDACR;AASnC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACN;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACX;AASd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AASb;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACZ;AASb;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACR;AAQjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACkB;AAS3C;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACP;AAnFjB,sBAAsB;IAd3B,aAAa,CAAC;QACb,GAAG,EAAE,4BAA4B;QACjC,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,0BAA0B;KACrC,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAEnD,sBAAsB,CAkG3B;AAED,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAEhC,eAAe,sBAAsB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/Device.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { UDExTarget } from \"./types/common.js\";\n\nimport ImageGridTableItemTemplate from \"./ImageGridTableItemTemplate.js\";\n\n// Styles\nimport ImageGridTableItemCss from \"./generated/themes/ImageGridTableItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-image-grid-table-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ImageGridTableItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-image-grid-table-item\",\n renderer: jsxRenderer,\n styles: ImageGridTableItemCss,\n template: ImageGridTableItemTemplate,\n})\n\n/**\n * Fired event when the user clicks on the item link.\n *\n * @public\n */\n@event(\"item-click\", { cancelable: true, bubbles: true })\n\nclass UDExImageGridTableItem extends UI5Element {\n eventDetails!: {\n \"item-click\": void,\n };\n\n /**\n * Defines the text content of the component.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: DefaultSlot<HTMLElement>;\n\n /**\n * Defines the header text of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline?: string;\n\n /**\n * Defines the link label of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n linkLabel?: string;\n\n /**\n * Defines link URL\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n href?: string;\n\n /**\n * Defines the source URL of the image\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n src?: string;\n\n /**\n * Defines image alt text\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n alt?: string;\n\n /**\n * Defines tooltip on hover\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n tooltip?: string;\n\n /**\n * Defines target for the mage grid table item.\n *\n * @public\n */\n @property({ type: String })\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Indicates whether the image grid table item is grayscale.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _grayscale = false;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n fireLinkItemClickEvent(e: Event): void {\n const executeEvent = this.fireDecoratorEvent(\"item-click\");\n\n if (!executeEvent) {\n e.preventDefault();\n }\n }\n}\n\nUDExImageGridTableItem.define();\n\nexport default UDExImageGridTableItem;\n"]}
@@ -9,7 +9,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
13
13
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";