@sapudex/web-components 2.21.0 → 2.23.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.
- package/bundle.esm.js +2 -0
- package/cypress/specs/CountrySelector.cy.tsx +158 -144
- package/cypress/specs/EventRibbon.cy.tsx +3 -1
- package/cypress/specs/ImageGridCloud.cy.tsx +78 -0
- package/cypress/specs/ImageGridCloudItem.cy.tsx +29 -0
- package/cypress/specs/SelectBox.cy.tsx +173 -206
- package/cypress/specs/Tag.cy.tsx +1 -1
- package/cypress/specs/TextField.cy.tsx +15 -0
- package/cypress/specs/Textarea.cy.tsx +15 -33
- package/cypress/support/component-imports.instrumented.ts +4 -0
- package/cypress/support/component-imports.src.ts +4 -0
- package/dist/Accordion.js +1 -0
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.js +2 -0
- package/dist/AccordionItem.js.map +1 -1
- package/dist/AssetsVariables.js +2 -1
- package/dist/AssetsVariables.js.map +1 -1
- package/dist/Breadcrumbs.js +5 -0
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/ContactItem.js +2 -0
- package/dist/ContactItem.js.map +1 -1
- package/dist/CountrySelector.d.ts +25 -142
- package/dist/CountrySelector.js +91 -267
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.js +2 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/FilterMenu.d.ts +14 -2
- package/dist/FilterMenu.js +13 -1
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.js +27 -0
- package/dist/Footer.js.map +1 -1
- package/dist/ImageGridCloud.d.ts +76 -0
- package/dist/ImageGridCloud.js +153 -0
- package/dist/ImageGridCloud.js.map +1 -0
- package/dist/ImageGridCloudItem.d.ts +35 -0
- package/dist/ImageGridCloudItem.js +49 -0
- package/dist/ImageGridCloudItem.js.map +1 -0
- package/dist/ImageGridCloudItemTemplate.d.ts +2 -0
- package/dist/ImageGridCloudItemTemplate.js +5 -0
- package/dist/ImageGridCloudItemTemplate.js.map +1 -0
- package/dist/ImageGridCloudTemplate.d.ts +2 -0
- package/dist/ImageGridCloudTemplate.js +6 -0
- package/dist/ImageGridCloudTemplate.js.map +1 -0
- package/dist/ImageGridTicker.d.ts +2 -2
- package/dist/ImageGridTicker.js +1 -8
- package/dist/ImageGridTicker.js.map +1 -1
- package/dist/LinkListItem.js +1 -0
- package/dist/LinkListItem.js.map +1 -1
- package/dist/List.js +5 -3
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.js +1 -0
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +1 -0
- package/dist/ListGroupHeaderBase.js +3 -0
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListItem.js +2 -0
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +12 -0
- package/dist/ListItemBase.js +21 -2
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListSelectAll.js +1 -0
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadCountrySelector.js +15 -0
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadItem.js +10 -0
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.js +6 -0
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMobileMenu.js +11 -0
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.js +11 -0
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.js +41 -0
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.js +3 -0
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MediaPlayerTemplate.js +4 -4
- package/dist/MediaPlayerTemplate.js.map +1 -1
- package/dist/MediaPlayerVimeo.d.ts +3 -3
- package/dist/MediaPlayerVimeo.js +1 -0
- package/dist/MediaPlayerVimeo.js.map +1 -1
- package/dist/MediaPlayerYoutube.js +3 -0
- package/dist/MediaPlayerYoutube.js.map +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/Pagination.js.map +1 -1
- package/dist/Search.d.ts +2 -1
- package/dist/Search.js +18 -3
- package/dist/Search.js.map +1 -1
- package/dist/SearchTemplate.d.ts +2 -0
- package/dist/SearchTemplate.js +48 -0
- package/dist/SearchTemplate.js.map +1 -0
- package/dist/SearchableListBase.d.ts +26 -16
- package/dist/SearchableListBase.js +58 -72
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.js +19 -0
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.js +6 -0
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.js +3 -0
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SelectBase.d.ts +193 -0
- package/dist/SelectBase.js +428 -0
- package/dist/SelectBase.js.map +1 -0
- package/dist/SelectBox.d.ts +30 -152
- package/dist/SelectBox.js +140 -348
- package/dist/SelectBox.js.map +1 -1
- package/dist/SocialMediaButton.js +2 -0
- package/dist/SocialMediaButton.js.map +1 -1
- package/dist/StepInput.js +2 -0
- package/dist/StepInput.js.map +1 -1
- package/dist/TabNavigation.js +3 -0
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.js +1 -0
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.d.ts +23 -5
- package/dist/TagGroup.js +40 -16
- package/dist/TagGroup.js.map +1 -1
- package/dist/TagTemplate.js +4 -2
- package/dist/TagTemplate.js.map +1 -1
- package/dist/TextArea.d.ts +1 -1
- package/dist/TextArea.js +5 -5
- package/dist/TextArea.js.map +1 -1
- package/dist/TextAreaTemplate.d.ts +2 -0
- package/dist/TextAreaTemplate.js +13 -0
- package/dist/TextAreaTemplate.js.map +1 -0
- package/dist/TextField.d.ts +29 -4
- package/dist/TextField.js +33 -16
- package/dist/TextField.js.map +1 -1
- package/dist/TextFieldTemplate.d.ts +2 -0
- package/dist/TextFieldTemplate.js +14 -0
- package/dist/TextFieldTemplate.js.map +1 -0
- package/dist/Tile.js +1 -0
- package/dist/Tile.js.map +1 -1
- package/dist/Upload.js +5 -0
- package/dist/Upload.js.map +1 -1
- package/dist/assets/{InputSuggestions-B0P5JAFd.js → InputSuggestions-C8m6N2-d.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-CFj3_UAT.js → ListItemStandardExpandableTextTemplate-BwD5bYhw.js} +1 -1
- package/dist/assets/{bundle.esm-BaPBMfCT.js → bundle.esm-hGsUwmUy.js} +222 -218
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/EventRibbon.css +1 -1
- package/dist/css/themes/ImageGridCloud.css +1 -0
- package/dist/css/themes/ImageGridCloudItem.css +1 -0
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/Pagination.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SelectBase.css +1 -0
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/TagGroup.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/custom-elements-internal.json +4627 -1311
- package/dist/custom-elements.json +1260 -1249
- package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
- package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +10 -9
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
- package/dist/generated/themes/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
- package/dist/generated/themes/EventRibbon.css.js +1 -1
- package/dist/generated/themes/EventRibbon.css.js.map +1 -1
- package/dist/generated/themes/ImageGridCloud.css.d.ts +2 -0
- package/dist/generated/themes/ImageGridCloud.css.js +8 -0
- package/dist/generated/themes/ImageGridCloud.css.js.map +1 -0
- package/dist/generated/themes/ImageGridCloudItem.css.d.ts +2 -0
- package/dist/generated/themes/ImageGridCloudItem.css.js +8 -0
- package/dist/generated/themes/ImageGridCloudItem.css.js.map +1 -0
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
- package/dist/generated/themes/Pagination.css.d.ts +1 -1
- package/dist/generated/themes/Pagination.css.js +1 -1
- package/dist/generated/themes/Pagination.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Search.css.d.ts +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SelectBase.css.d.ts +2 -0
- package/dist/generated/themes/SelectBase.css.js +8 -0
- package/dist/generated/themes/SelectBase.css.js.map +1 -0
- package/dist/generated/themes/SelectBox.css.d.ts +1 -1
- package/dist/generated/themes/SelectBox.css.js +1 -1
- package/dist/generated/themes/SelectBox.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/TagGroup.css.d.ts +1 -1
- package/dist/generated/themes/TagGroup.css.js +1 -1
- package/dist/generated/themes/TagGroup.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.d.ts +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.js +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/vscode.html-custom-data.json +49 -235
- package/dist/web-types.json +347 -832
- package/package.json +1 -1
- package/src/Accordion.ts +1 -0
- package/src/AccordionItem.ts +2 -0
- package/src/AssetsVariables.ts +2 -1
- package/src/Breadcrumbs.ts +5 -0
- package/src/ContactItem.ts +2 -0
- package/src/CountrySelector.hbs +6 -61
- package/src/CountrySelector.ts +93 -374
- package/src/DatePicker.ts +2 -1
- package/src/FilterMenu.ts +15 -3
- package/src/Footer.ts +27 -0
- package/src/ImageGridCloud.ts +188 -0
- package/src/ImageGridCloudItem.ts +57 -0
- package/src/ImageGridCloudItemTemplate.tsx +11 -0
- package/src/ImageGridCloudTemplate.tsx +16 -0
- package/src/ImageGridTicker.ts +3 -3
- package/src/LinkListItem.ts +1 -0
- package/src/List.ts +5 -3
- package/src/ListGroupHeader.ts +1 -0
- package/src/ListGroupHeaderBase.ts +4 -0
- package/src/ListItem.hbs +0 -1
- package/src/ListItem.ts +2 -0
- package/src/ListItemBase.ts +21 -3
- package/src/ListSelectAll.ts +1 -0
- package/src/MastheadCountrySelector.ts +15 -0
- package/src/MastheadItem.ts +10 -0
- package/src/MastheadMenu.ts +6 -0
- package/src/MastheadMobileMenu.ts +11 -0
- package/src/MastheadProfileMenu.ts +11 -0
- package/src/MastheadShell.ts +41 -0
- package/src/MediaPlayer.ts +3 -0
- package/src/MediaPlayerTemplate.tsx +0 -1
- package/src/MediaPlayerVimeo.ts +4 -3
- package/src/MediaPlayerYoutube.ts +3 -0
- package/src/Pagination.ts +1 -1
- package/src/Search.ts +20 -4
- package/src/SearchTemplate.tsx +353 -0
- package/src/SearchableListBase.ts +78 -83
- package/src/SecondaryNavigation.ts +19 -0
- package/src/SecondaryNavigationItem.ts +6 -0
- package/src/SecondaryNavigationSubItem.ts +3 -0
- package/src/SelectBase.ts +580 -0
- package/src/SelectBox.hbs +118 -107
- package/src/SelectBox.ts +156 -445
- package/src/SocialMediaButton.ts +2 -0
- package/src/StepInput.ts +2 -0
- package/src/TabNavigation.ts +3 -0
- package/src/Tag.ts +1 -0
- package/src/TagGroup.ts +56 -19
- package/src/TagTemplate.tsx +4 -2
- package/src/TextArea.ts +5 -5
- package/src/TextAreaTemplate.tsx +67 -0
- package/src/TextField.ts +58 -24
- package/src/TextFieldTemplate.tsx +90 -0
- package/src/Tile.ts +1 -0
- package/src/Upload.ts +5 -0
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +2 -2
- package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
- package/src/generated/templates/SelectBoxTemplate.lit.ts +10 -9
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/EventRibbon.css.ts +1 -1
- package/src/generated/themes/ImageGridCloud.css.ts +9 -0
- package/src/generated/themes/ImageGridCloudItem.css.ts +9 -0
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
- package/src/generated/themes/Pagination.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SelectBase.css.ts +9 -0
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/TagGroup.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/themes/CountrySelector.css +42 -115
- package/src/themes/EventRibbon.css +21 -13
- package/src/themes/ImageGridCloud.css +55 -0
- package/src/themes/ImageGridCloudItem.css +10 -0
- package/src/themes/ListItem.css +6 -0
- package/src/themes/MastheadItem.css +0 -2
- package/src/themes/MastheadMobileMenu.css +2 -0
- package/src/themes/Pagination.css +1 -1
- package/src/themes/Search.css +0 -1
- package/src/themes/SelectBase.css +239 -0
- package/src/themes/SelectBox.css +13 -195
- package/src/themes/TagGroup.css +0 -1
- package/src/themes/TextField.css +7 -7
- package/src/types/common.ts +1 -1
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +0 -17
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +0 -1
- package/dist/generated/templates/SearchTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/SearchTemplate.lit.js +0 -28
- package/dist/generated/templates/SearchTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TextAreaTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TextAreaTemplate.lit.js +0 -13
- package/dist/generated/templates/TextAreaTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TextFieldTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TextFieldTemplate.lit.js +0 -14
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +0 -1
- package/src/Search.hbs +0 -155
- package/src/SearchSuggestions.hbs +0 -91
- package/src/TextArea.hbs +0 -54
- package/src/TextField.hbs +0 -78
- package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +0 -21
- package/src/generated/templates/SearchTemplate.lit.ts +0 -32
- package/src/generated/templates/TextAreaTemplate.lit.ts +0 -17
- package/src/generated/templates/TextFieldTemplate.lit.ts +0 -18
package/src/Footer.ts
CHANGED
|
@@ -111,66 +111,91 @@ type DetailedEvents = "quick-links-click" | "trending-click" | "about-sap-click"
|
|
|
111
111
|
/**
|
|
112
112
|
* Triggered on click interaction with logo in footer
|
|
113
113
|
* @public
|
|
114
|
+
* @param { MouseEvent | Event } originalEvent
|
|
114
115
|
* @allowPreventDefault
|
|
115
116
|
*/
|
|
116
117
|
@event("logo-click", { bubbles: true })
|
|
117
118
|
/**
|
|
118
119
|
* Triggered on click interaction with "Back to Top" button
|
|
119
120
|
* @public
|
|
121
|
+
* @param { MouseEvent | Event } originalEvent
|
|
120
122
|
* @allowPreventDefault
|
|
121
123
|
*/
|
|
122
124
|
@event("back-to-top-click", { bubbles: true })
|
|
123
125
|
/**
|
|
124
126
|
* Triggered on click interaction with phone number link in footer
|
|
125
127
|
* @public
|
|
128
|
+
* @param { MouseEvent | Event } originalEvent
|
|
126
129
|
* @allowPreventDefault
|
|
127
130
|
*/
|
|
128
131
|
@event("contact-phone-click", { bubbles: true })
|
|
129
132
|
/**
|
|
130
133
|
* Triggered on click interaction with local country numbers list link
|
|
131
134
|
* @public
|
|
135
|
+
* @param { MouseEvent | Event } originalEvent
|
|
132
136
|
* @allowPreventDefault
|
|
133
137
|
*/
|
|
134
138
|
@event("contact-phone-local-numbers-click", { bubbles: true })
|
|
135
139
|
/**
|
|
136
140
|
* Triggered on click interaction with "Contact us by email" link
|
|
137
141
|
* @public
|
|
142
|
+
* @param { MouseEvent | Event } originalEvent
|
|
138
143
|
* @allowPreventDefault
|
|
139
144
|
*/
|
|
140
145
|
@event("contact-email-click", { bubbles: true })
|
|
141
146
|
/**
|
|
142
147
|
* Triggered on click interaction with "Contact us by chat" link
|
|
143
148
|
* @public
|
|
149
|
+
* @param { MouseEvent | Event } originalEvent
|
|
144
150
|
* @allowPreventDefault
|
|
145
151
|
*/
|
|
146
152
|
@event("contact-chat-click", { bubbles: true })
|
|
147
153
|
/**
|
|
148
154
|
* Triggered on click interaction with a link within "Quick Links" category
|
|
149
155
|
* @public
|
|
156
|
+
* @param { MouseEvent | Event } originalEvent
|
|
157
|
+
* @param { HTMLElement } sourceNode
|
|
158
|
+
* @param { string | undefined } name
|
|
150
159
|
* @allowPreventDefault
|
|
151
160
|
*/
|
|
152
161
|
@event("quick-links-click", { bubbles: true })
|
|
153
162
|
/**
|
|
154
163
|
* Triggered on click interaction with a link within "Trending" category
|
|
155
164
|
* @public
|
|
165
|
+
* @param { MouseEvent | Event } originalEvent
|
|
166
|
+
* @param { HTMLElement } sourceNode
|
|
167
|
+
* @param { string | undefined } name
|
|
168
|
+
* @param { string } [id]
|
|
156
169
|
* @allowPreventDefault
|
|
157
170
|
*/
|
|
158
171
|
@event("trending-click", { bubbles: true })
|
|
159
172
|
/**
|
|
160
173
|
* Triggered on click interaction with a link within "About SAP" category
|
|
161
174
|
* @public
|
|
175
|
+
* @param { MouseEvent | Event } originalEvent
|
|
176
|
+
* @param { HTMLElement } sourceNode
|
|
177
|
+
* @param { string | undefined } name
|
|
178
|
+
* @param { string } [id]
|
|
162
179
|
* @allowPreventDefault
|
|
163
180
|
*/
|
|
164
181
|
@event("about-sap-click", { bubbles: true })
|
|
165
182
|
/**
|
|
166
183
|
* Triggered on click interaction with a link within "Site Information" category
|
|
167
184
|
* @public
|
|
185
|
+
* @param { MouseEvent | Event } originalEvent
|
|
186
|
+
* @param { HTMLElement } sourceNode
|
|
187
|
+
* @param { string | undefined } name
|
|
188
|
+
* @param { string } [id]
|
|
168
189
|
* @allowPreventDefault
|
|
169
190
|
*/
|
|
170
191
|
@event("site-information-click", { bubbles: true })
|
|
171
192
|
/**
|
|
172
193
|
* Triggered on click interaction with any of the social media links within footer
|
|
173
194
|
* @public
|
|
195
|
+
* @param { MouseEvent | Event } originalEvent
|
|
196
|
+
* @param { HTMLElement } sourceNode
|
|
197
|
+
* @param { string | undefined } name
|
|
198
|
+
* @param { string } [id]
|
|
174
199
|
* @allowPreventDefault
|
|
175
200
|
*/
|
|
176
201
|
@event("social-media-link-click", { bubbles: true })
|
|
@@ -178,6 +203,8 @@ type DetailedEvents = "quick-links-click" | "trending-click" | "about-sap-click"
|
|
|
178
203
|
/**
|
|
179
204
|
* Triggered when the user clicks on an accordion item.
|
|
180
205
|
* @public
|
|
206
|
+
* @param { string | undefined } name
|
|
207
|
+
* @param { boolean } expanded
|
|
181
208
|
*/
|
|
182
209
|
@event("accordion-item-click", { bubbles: true })
|
|
183
210
|
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
3
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
|
+
import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
5
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
6
|
+
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
7
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
8
|
+
import ImageGridCloudTemplate from "./ImageGridCloudTemplate.js";
|
|
9
|
+
import type UDExImageGridCloudItem from "./ImageGridCloudItem.js";
|
|
10
|
+
|
|
11
|
+
// Styles
|
|
12
|
+
import ImageGridCloudCss from "./generated/themes/ImageGridCloud.css.js";
|
|
13
|
+
import { BreakpointUtils } from "./utils/Breakpoints.js";
|
|
14
|
+
|
|
15
|
+
export enum UDExImageGridCloudVariable {
|
|
16
|
+
itemGapL = "--udex-image-grid-cloud-item-gap-l",
|
|
17
|
+
itemGapS = "--udex-image-grid-cloud-item-gap-s",
|
|
18
|
+
itemWidthL = "--udex-image-grid-cloud-item-width-l",
|
|
19
|
+
itemWidthS = "--udex-image-grid-cloud-item-width-s",
|
|
20
|
+
itemBorderWidth = "--udex-image-grid-cloud-item-border-width",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export enum UDExImageGridCloudSize {
|
|
24
|
+
Small = "Small",
|
|
25
|
+
Large = "Large",
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @class
|
|
30
|
+
*
|
|
31
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
32
|
+
*
|
|
33
|
+
*
|
|
34
|
+
* <h3>Usage</h3>
|
|
35
|
+
*
|
|
36
|
+
* For the <code>udex-image-grid-cloud</code>
|
|
37
|
+
* <h3>ES6 Module Import</h3>
|
|
38
|
+
*
|
|
39
|
+
* <code>import "@sapudex/web-components/dist/ImageGridCloud.js";</code>
|
|
40
|
+
*
|
|
41
|
+
* @constructor
|
|
42
|
+
* @extends UI5Element
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
@customElement({
|
|
46
|
+
tag: "udex-image-grid-cloud",
|
|
47
|
+
renderer: jsxRenderer,
|
|
48
|
+
styles: ImageGridCloudCss,
|
|
49
|
+
template: ImageGridCloudTemplate,
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
class UDExImageGridCloud extends UI5Element {
|
|
53
|
+
/**
|
|
54
|
+
* Grayscale mode enhances visual harmony and can be used for minimal,
|
|
55
|
+
* professional layouts or to de-emphasize logos.
|
|
56
|
+
*
|
|
57
|
+
* @default undefined
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
@property({ type: Boolean })
|
|
61
|
+
grayscale?: boolean;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Defines the size of the items.
|
|
65
|
+
*
|
|
66
|
+
* @default "Large"
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
@property({ type: String })
|
|
70
|
+
size: `${UDExImageGridCloudSize}` = UDExImageGridCloudSize.Large;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Slot for image grid cloud items.
|
|
74
|
+
*
|
|
75
|
+
* @slot
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
78
|
+
@slot({ type: HTMLElement, "default": true })
|
|
79
|
+
items!: Array<UDExImageGridCloudItem>;
|
|
80
|
+
|
|
81
|
+
_rootId = "udex-image-grid-cloud";
|
|
82
|
+
_rowClassName = "udex-image-grid-cloud__row";
|
|
83
|
+
_container!: HTMLElement;
|
|
84
|
+
_items: Array<Element> = [];
|
|
85
|
+
|
|
86
|
+
_handleResizeBound: ResizeObserverCallback;
|
|
87
|
+
|
|
88
|
+
constructor() {
|
|
89
|
+
super();
|
|
90
|
+
this._handleResizeBound = this.handleResize.bind(this);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
onEnterDOM(): void {
|
|
94
|
+
ResizeHandler.register(this, this._handleResizeBound);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
onExitDOM(): void {
|
|
98
|
+
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
onAfterRendering() {
|
|
102
|
+
this._container = this.containerElement;
|
|
103
|
+
this._items = this.itemsElements;
|
|
104
|
+
this.renderLayout();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
handleResize(): void {
|
|
108
|
+
this.renderLayout();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
renderLayout() {
|
|
112
|
+
if (this.isContainerEmpty) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const ITEM_WIDTH = this.itemWidth + this.itemHorizontalBorderWidth;
|
|
117
|
+
const GAP = this.itemGap;
|
|
118
|
+
|
|
119
|
+
const existingRows = Array.from(this._container.querySelectorAll(`.${this._rowClassName}`));
|
|
120
|
+
existingRows.forEach(row => row.remove());
|
|
121
|
+
|
|
122
|
+
const containerWidth = this._container.clientWidth;
|
|
123
|
+
const itemsPerRow = Math.max(Math.floor((containerWidth + GAP) / (ITEM_WIDTH + GAP)) || 0, 1);
|
|
124
|
+
|
|
125
|
+
let index = 0;
|
|
126
|
+
let rowIndex = 0;
|
|
127
|
+
|
|
128
|
+
while (index < this._items.length) {
|
|
129
|
+
const count = rowIndex % 2 === 0 ? itemsPerRow : Math.max(itemsPerRow - 1, 1);
|
|
130
|
+
const row = document.createElement("div");
|
|
131
|
+
row.className = this._rowClassName;
|
|
132
|
+
|
|
133
|
+
for (let i = 0; i < count && index < this._items.length; i++, index++) {
|
|
134
|
+
row.appendChild(this._items[index]);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
this._container.appendChild(row);
|
|
138
|
+
rowIndex++;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
_getVariableValue(variableName: string): string {
|
|
143
|
+
return window.getComputedStyle(this).getPropertyValue(`${variableName}`);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
get itemWidth(): number {
|
|
147
|
+
const variableName = this.isSmallSize || this.isMobile
|
|
148
|
+
? UDExImageGridCloudVariable.itemWidthS
|
|
149
|
+
: UDExImageGridCloudVariable.itemWidthL;
|
|
150
|
+
return parseInt(this._getVariableValue(variableName));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
get itemGap(): number {
|
|
154
|
+
const variableName = this.isSmallSize || this.isMobile
|
|
155
|
+
? UDExImageGridCloudVariable.itemGapS
|
|
156
|
+
: UDExImageGridCloudVariable.itemGapL;
|
|
157
|
+
return parseInt(this._getVariableValue(variableName));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
get itemHorizontalBorderWidth(): number {
|
|
161
|
+
const border = parseInt(this._getVariableValue(UDExImageGridCloudVariable.itemBorderWidth));
|
|
162
|
+
return border * 2;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
get isSmallSize(): boolean {
|
|
166
|
+
return this.size === UDExImageGridCloudSize.Small;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
get containerElement(): HTMLElement {
|
|
170
|
+
return this.shadowRoot!.getElementById(this._rootId)!;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
get itemsElements(): Array<Element> {
|
|
174
|
+
return Array.from(this.containerElement.children);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
get isMobile(): boolean {
|
|
178
|
+
return BreakpointUtils.isAtMost("S");
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
get isContainerEmpty(): boolean {
|
|
182
|
+
return !this._container || this._items.length === 0;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
UDExImageGridCloud.define();
|
|
187
|
+
|
|
188
|
+
export default UDExImageGridCloud;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
3
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
5
|
+
|
|
6
|
+
import ImageGridCloudItemTemplate from "./ImageGridCloudItemTemplate.js";
|
|
7
|
+
|
|
8
|
+
// Styles
|
|
9
|
+
import ImageGridCloudItemCss from "./generated/themes/ImageGridCloudItem.css.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @class
|
|
13
|
+
*
|
|
14
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
15
|
+
*
|
|
16
|
+
*
|
|
17
|
+
* <h3>Usage</h3>
|
|
18
|
+
*
|
|
19
|
+
* For the <code>udex-image-grid-cloud-item</code>
|
|
20
|
+
* <h3>ES6 Module Import</h3>
|
|
21
|
+
*
|
|
22
|
+
* <code>import "@sapudex/web-components/dist/ImageGridCloudItem.js";</code>
|
|
23
|
+
*
|
|
24
|
+
* @constructor
|
|
25
|
+
* @extends UI5Element
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
@customElement({
|
|
29
|
+
tag: "udex-image-grid-cloud-item",
|
|
30
|
+
renderer: jsxRenderer,
|
|
31
|
+
styles: ImageGridCloudItemCss,
|
|
32
|
+
template: ImageGridCloudItemTemplate,
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
class UDExImageGridCloudItem extends UI5Element {
|
|
36
|
+
/**
|
|
37
|
+
* Defines the source URL
|
|
38
|
+
*
|
|
39
|
+
* @default ""
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
@property({ type: String })
|
|
43
|
+
src!: string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Defines image alt text
|
|
47
|
+
*
|
|
48
|
+
* @default ""
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
@property({ type: String })
|
|
52
|
+
alt!: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
UDExImageGridCloudItem.define();
|
|
56
|
+
|
|
57
|
+
export default UDExImageGridCloudItem;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type ImageGridCloud from "./ImageGridCloud.js";
|
|
2
|
+
import UDExImageGridCloudItem from "./ImageGridCloudItem.js";
|
|
3
|
+
|
|
4
|
+
export default function ImageGridCloudTemplate(this: ImageGridCloud) {
|
|
5
|
+
return (
|
|
6
|
+
<div id="udex-image-grid-cloud">
|
|
7
|
+
{this.items.map(({ src, alt }) =>
|
|
8
|
+
<UDExImageGridCloudItem
|
|
9
|
+
class="udex-image-grid-cloud__item"
|
|
10
|
+
src={src}
|
|
11
|
+
alt={alt}>
|
|
12
|
+
</UDExImageGridCloudItem>
|
|
13
|
+
)}
|
|
14
|
+
</div>
|
|
15
|
+
);
|
|
16
|
+
}
|
package/src/ImageGridTicker.ts
CHANGED
|
@@ -57,6 +57,7 @@ type UDExImageGridTickerPlayBtnClickEventDetail = {
|
|
|
57
57
|
* Fired event when the user click on a play/paused button.
|
|
58
58
|
*
|
|
59
59
|
* @public
|
|
60
|
+
* @param {boolean} isPaused - Indicates whether the animation is paused.
|
|
60
61
|
*/
|
|
61
62
|
@event("play-button-click", { bubbles: true })
|
|
62
63
|
|
|
@@ -78,12 +79,11 @@ class UDExImageGridTicker extends UI5Element {
|
|
|
78
79
|
* Grayscale mode enhances visual harmony and can be used for minimal,
|
|
79
80
|
* professional layouts or to de-emphasize logos.
|
|
80
81
|
*
|
|
81
|
-
* @default
|
|
82
|
+
* @default undefined
|
|
82
83
|
* @public
|
|
83
84
|
*/
|
|
84
85
|
@property({ type: Boolean })
|
|
85
|
-
grayscale
|
|
86
|
-
|
|
86
|
+
grayscale?: boolean;
|
|
87
87
|
/**
|
|
88
88
|
* Indicates whether the image grid ticker is scrollable.
|
|
89
89
|
*
|
package/src/LinkListItem.ts
CHANGED
package/src/List.ts
CHANGED
|
@@ -63,6 +63,9 @@ type UDExListSelectionChangeEventDetail = {
|
|
|
63
63
|
* Fired when selection is changed by user interaction
|
|
64
64
|
*
|
|
65
65
|
* @public
|
|
66
|
+
* @param {Array<UDExListItemBase>} listItems All items inside the list
|
|
67
|
+
* @param {Array<UDExListItemBase>} selectedItems Currently selected items
|
|
68
|
+
* @param {HTMLElement} item The item that triggered the event
|
|
66
69
|
*/
|
|
67
70
|
@event("selection-change", { bubbles: true })
|
|
68
71
|
|
|
@@ -232,7 +235,7 @@ class UDExList extends UI5Element {
|
|
|
232
235
|
|
|
233
236
|
this.unsetTabIndexByIndex(items, currentSelectedIndex);
|
|
234
237
|
this.setTabIndexByIndex(items, previousSelectIndex);
|
|
235
|
-
items[previousSelectIndex].focus();
|
|
238
|
+
setTimeout(() => { items[previousSelectIndex].focus(); }, 0);
|
|
236
239
|
}
|
|
237
240
|
|
|
238
241
|
handleDownArrow(e: KeyboardEvent): void {
|
|
@@ -264,7 +267,7 @@ class UDExList extends UI5Element {
|
|
|
264
267
|
|
|
265
268
|
this.unsetTabIndexByIndex(items, currentSelectedIndex);
|
|
266
269
|
this.setTabIndexByIndex(items, nextSelectIndex);
|
|
267
|
-
items[nextSelectIndex].focus();
|
|
270
|
+
setTimeout(() => { items[nextSelectIndex].focus(); }, 0);
|
|
268
271
|
}
|
|
269
272
|
|
|
270
273
|
handleHomeKey(e: KeyboardEvent): void {
|
|
@@ -316,7 +319,6 @@ class UDExList extends UI5Element {
|
|
|
316
319
|
|
|
317
320
|
handleLetterKey(e: KeyboardEvent): void {
|
|
318
321
|
const letterKey = e.key;
|
|
319
|
-
e.stopPropagation();
|
|
320
322
|
e.preventDefault();
|
|
321
323
|
this._focusHandler.focusMatchingListItem(letterKey);
|
|
322
324
|
}
|
package/src/ListGroupHeader.ts
CHANGED
|
@@ -189,6 +189,10 @@ class UDExListGroupHeaderBase extends UDExListItemBase {
|
|
|
189
189
|
const controlledClassName = this.controlled ? `${listGroupHeaderClass}_controlled` : "";
|
|
190
190
|
return `${listGroupHeaderClass} ${this._additionalClassName} ${controlledClassName}`;
|
|
191
191
|
}
|
|
192
|
+
|
|
193
|
+
get listItem(): UDExListItemBase {
|
|
194
|
+
return this.shadowRoot!.querySelector<UDExListItemBase>("[udex-list-item]")!;
|
|
195
|
+
}
|
|
192
196
|
}
|
|
193
197
|
|
|
194
198
|
export default UDExListGroupHeaderBase;
|
package/src/ListItem.hbs
CHANGED
package/src/ListItem.ts
CHANGED
|
@@ -78,12 +78,14 @@ type UDExListItemItemPressEventDetail = {
|
|
|
78
78
|
* Fired event when the user click on a list item.
|
|
79
79
|
*
|
|
80
80
|
* @public
|
|
81
|
+
* @param {boolean} selected Indicates whether the item is selected or not
|
|
81
82
|
*/
|
|
82
83
|
@event("item-press", { bubbles: true })
|
|
83
84
|
/**
|
|
84
85
|
* Fired event when the user focuses on a list item.
|
|
85
86
|
*
|
|
86
87
|
* @public
|
|
88
|
+
* @param {HTMLElement} item The focused list item
|
|
87
89
|
*/
|
|
88
90
|
@event("item-focus", { bubbles: true })
|
|
89
91
|
|
package/src/ListItemBase.ts
CHANGED
|
@@ -32,14 +32,20 @@ type UDExListItemBaseEventDetail = {
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Fired event when the user click on a first icon.
|
|
35
|
-
*
|
|
35
|
+
* @param { PointerEvent } originalEvent The original event object
|
|
36
|
+
* @param { HTMLElement } item The list item
|
|
36
37
|
* @public
|
|
38
|
+
* @param { PointerEvent } originalEvent The original event object
|
|
39
|
+
* @param { HTMLElement } item The list item
|
|
37
40
|
*/
|
|
38
41
|
@event("first-icon-click", { bubbles: true })
|
|
39
42
|
/**
|
|
40
43
|
* Fired event when the user click on a second icon.
|
|
41
|
-
*
|
|
44
|
+
* @param { PointerEvent } originalEvent The original event object
|
|
45
|
+
* @param { HTMLElement } item The list item
|
|
42
46
|
* @public
|
|
47
|
+
* @param { PointerEvent } originalEvent The original event object
|
|
48
|
+
* @param { HTMLElement } item The list item
|
|
43
49
|
*/
|
|
44
50
|
@event("second-icon-click", { bubbles: true })
|
|
45
51
|
|
|
@@ -133,11 +139,23 @@ class UDExListItemBase extends UI5Element {
|
|
|
133
139
|
@property()
|
|
134
140
|
type: `${UDExListStyleType}` = UDExListStyleType.None;
|
|
135
141
|
|
|
142
|
+
/**
|
|
143
|
+
* Defines the icon of the component.
|
|
144
|
+
*
|
|
145
|
+
* @default ""
|
|
146
|
+
* @private
|
|
147
|
+
*/
|
|
136
148
|
@property({ type: String })
|
|
137
149
|
_icon: string = "";
|
|
138
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Defines the tab index of the component.
|
|
153
|
+
*
|
|
154
|
+
* @default ""
|
|
155
|
+
* @private
|
|
156
|
+
*/
|
|
139
157
|
@property({ type: String })
|
|
140
|
-
_tabIndex
|
|
158
|
+
_tabIndex: string = "";
|
|
141
159
|
|
|
142
160
|
_fireIconClickEvent(e: PointerEvent): void {
|
|
143
161
|
const target = e.target as HTMLElement;
|
package/src/ListSelectAll.ts
CHANGED
|
@@ -88,6 +88,12 @@ type UDExMastheadCountrySelectorSearchEventDetail = {
|
|
|
88
88
|
* Fires when region item is clicked
|
|
89
89
|
*
|
|
90
90
|
* @public
|
|
91
|
+
* @param {Event} originalEvent the original event object
|
|
92
|
+
* @param {Object} item the clicked region item
|
|
93
|
+
* @param {string} item.title the title of the region
|
|
94
|
+
* @param {Array} item.countries the countries of the region
|
|
95
|
+
* @param {AnalyticsName} analyticsName The analytics name for the event
|
|
96
|
+
* @param {HTMLElement} sourceNode The source node which triggered the event
|
|
91
97
|
*/
|
|
92
98
|
@event("region-item-click", { bubbles: true })
|
|
93
99
|
|
|
@@ -95,6 +101,13 @@ type UDExMastheadCountrySelectorSearchEventDetail = {
|
|
|
95
101
|
* Fires when region item is clicked
|
|
96
102
|
*
|
|
97
103
|
* @public
|
|
104
|
+
* @param {Event} originalEvent the original event object
|
|
105
|
+
* @param {Object} item the clicked country item
|
|
106
|
+
* @param {string} item.displayTitle the display title of the country
|
|
107
|
+
* @param {string} item.countryCode the country code of the country
|
|
108
|
+
* @param {string} item.url the url of the country
|
|
109
|
+
* @param {AnalyticsName} analyticsName The analytics name for the event
|
|
110
|
+
* @param {HTMLElement} sourceNode The source node which triggered the event
|
|
98
111
|
*/
|
|
99
112
|
@event("country-item-click", { bubbles: true })
|
|
100
113
|
|
|
@@ -102,6 +115,8 @@ type UDExMastheadCountrySelectorSearchEventDetail = {
|
|
|
102
115
|
* Fired event when the user typed to search field.
|
|
103
116
|
*
|
|
104
117
|
* @public
|
|
118
|
+
* @param {string} value The search value
|
|
119
|
+
* @param {AnalyticsName} analyticsName The analytics name for the event
|
|
105
120
|
*/
|
|
106
121
|
@event("country-selector-search", { bubbles: true })
|
|
107
122
|
|
package/src/MastheadItem.ts
CHANGED
|
@@ -105,6 +105,10 @@ type UDExMastheadDropdownEventDetail = {
|
|
|
105
105
|
*
|
|
106
106
|
* @allowPreventDefault
|
|
107
107
|
* @public
|
|
108
|
+
* @param {Event} originalEvent the original event object
|
|
109
|
+
* @param {UDExMastheadItem} item the clicked item
|
|
110
|
+
* @param {AnalyticsName} analyticsName the analytics name
|
|
111
|
+
* @param {HTMLElement} sourceNode the source node
|
|
108
112
|
*/
|
|
109
113
|
@event("item-click", { bubbles: true })
|
|
110
114
|
|
|
@@ -113,6 +117,9 @@ type UDExMastheadDropdownEventDetail = {
|
|
|
113
117
|
*
|
|
114
118
|
* @allowPreventDefault
|
|
115
119
|
* @public
|
|
120
|
+
* @param {string} title the title of the item
|
|
121
|
+
* @param {UDExMastheadDropdownItemAction} action the action that caused the event
|
|
122
|
+
* @param {AnalyticsName} analyticsName the analytics name
|
|
116
123
|
*/
|
|
117
124
|
@event("dropdown-closed", { bubbles: true })
|
|
118
125
|
|
|
@@ -121,6 +128,9 @@ type UDExMastheadDropdownEventDetail = {
|
|
|
121
128
|
*
|
|
122
129
|
* @allowPreventDefault
|
|
123
130
|
* @public
|
|
131
|
+
* @param {string} title the title of the item
|
|
132
|
+
* @param {UDExMastheadDropdownItemAction} action the action that caused the event
|
|
133
|
+
* @param {AnalyticsName} analyticsName the analytics name
|
|
124
134
|
*/
|
|
125
135
|
@event("dropdown-opened", { bubbles: true })
|
|
126
136
|
|
package/src/MastheadMenu.ts
CHANGED
|
@@ -77,6 +77,12 @@ type UDExMastheadMenuMenuItemClickEventDetail = {
|
|
|
77
77
|
*
|
|
78
78
|
* @allowPreventDefault
|
|
79
79
|
* @public
|
|
80
|
+
* @param {string} category The category of the clicked menu item
|
|
81
|
+
* @param {Array<string>} analyticsPath The analytics path for the clicked menu item
|
|
82
|
+
* @param {AnalyticsName} analyticsName The analytics name for the clicked menu item
|
|
83
|
+
* @param {PointerEvent} originalEvent The original event object
|
|
84
|
+
* @param {UDExMastheadMenuItem} item The clicked menu item
|
|
85
|
+
* @param {HTMLElement} sourceNode The source node of the clicked menu item
|
|
80
86
|
*/
|
|
81
87
|
@event("menu-item-click", { bubbles: true })
|
|
82
88
|
|
|
@@ -70,6 +70,14 @@ type UDExMastheadMobileMenuExploreClickEventDetail = {
|
|
|
70
70
|
*
|
|
71
71
|
* @allowPreventDefault
|
|
72
72
|
* @public
|
|
73
|
+
* @param {PointerEvent | KeyboardEvent} originalEvent The original event object
|
|
74
|
+
* @param {UDExMastheadMenuItem} item The clicked item
|
|
75
|
+
* @param {string} [category] The category of the clicked item
|
|
76
|
+
* @param {boolean} isMobile Indicates whether the click happened in mobile menu
|
|
77
|
+
* @param {boolean} isBack Indicates whether the clicked item is a back button
|
|
78
|
+
* @param {AnalyticsName} analyticsName The analytics name for the clicked item
|
|
79
|
+
* @param {Array<string>} analyticsPath The analytics path for the clicked item
|
|
80
|
+
* @param {HTMLElement} sourceNode The source node of the clicked item
|
|
73
81
|
*/
|
|
74
82
|
@event("item-click", { cancelable: true, bubbles: false })
|
|
75
83
|
|
|
@@ -78,6 +86,9 @@ type UDExMastheadMobileMenuExploreClickEventDetail = {
|
|
|
78
86
|
*
|
|
79
87
|
* @allowPreventDefault
|
|
80
88
|
* @public
|
|
89
|
+
* @param {PointerEvent | KeyboardEvent} originalEvent The original event object
|
|
90
|
+
* @param {AnalyticsName} analyticsName The analytics name for the clicked item
|
|
91
|
+
* @param {HTMLElement} sourceNode The source node of the clicked item
|
|
81
92
|
*/
|
|
82
93
|
@event("explorer-menu-click", { bubbles: true })
|
|
83
94
|
|