@sapudex/web-components 2.54.0 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/specs/Breadcrumbs.cy.tsx +3 -1
- package/cypress/specs/FilterMenu.cy.tsx +34 -2
- package/cypress/specs/Footer.cy.tsx +59 -0
- package/cypress/specs/MediaPlayer.cy.tsx +58 -0
- package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +2 -2
- package/cypress/specs/SelectBox.cy.tsx +74 -0
- package/dist/BreadcrumbsTemplate.js +1 -1
- package/dist/BreadcrumbsTemplate.js.map +1 -1
- package/dist/FilterMenu.d.ts +1 -1
- package/dist/FilterMenu.js +6 -6
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +20 -1
- package/dist/Footer.js +40 -3
- package/dist/Footer.js.map +1 -1
- package/dist/FooterTemplate.js +7 -2
- package/dist/FooterTemplate.js.map +1 -1
- package/dist/List.js +6 -6
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.js +12 -5
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +1 -1
- package/dist/ListGroupHeaderBase.js +2 -2
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListGroupHeaderTemplate.d.ts +2 -0
- package/dist/ListGroupHeaderTemplate.js +33 -0
- package/dist/ListGroupHeaderTemplate.js.map +1 -0
- package/dist/ListItem.d.ts +1 -1
- package/dist/ListItem.js +4 -3
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +1 -0
- package/dist/ListItemBase.js +8 -4
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemTemplate.d.ts +2 -0
- package/dist/ListItemTemplate.js +18 -0
- package/dist/ListItemTemplate.js.map +1 -0
- package/dist/ListSelectAll.js +4 -5
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/ListSelectAllTemplate.d.ts +2 -0
- package/dist/ListSelectAllTemplate.js +6 -0
- package/dist/ListSelectAllTemplate.js.map +1 -0
- package/dist/ListTemplate.d.ts +2 -0
- package/dist/ListTemplate.js +11 -0
- package/dist/ListTemplate.js.map +1 -0
- package/dist/MediaPlayer.js +6 -0
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/SelectBox.js +31 -0
- package/dist/SelectBox.js.map +1 -1
- package/dist/SelectBoxTemplate.js +2 -1
- package/dist/SelectBoxTemplate.js.map +1 -1
- package/dist/assets/{InputSuggestions-CqOrRXxa.js → InputSuggestions-DPiJnNLn.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-DKUm4L2B.js → ListItemStandardExpandableTextTemplate-B-v72jL6.js} +1 -1
- package/dist/assets/{bundle.esm-CI60uvdr.js → bundle.esm-DPppjwN7.js} +259 -259
- package/dist/assets/messagebundle_en-B0P3kkb6.js +1 -0
- package/dist/assets/messagebundle_it-BML2SC0W.js +1 -0
- package/dist/assets/messagebundle_ja-zyFfZHcj.js +1 -0
- package/dist/assets/messagebundle_ko-BCPaSqNp.js +1 -0
- package/dist/assets/messagebundle_lt-DB4b6FVx.js +1 -0
- package/dist/assets/messagebundle_lv-tAOia5tU.js +1 -0
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BreadcrumbsPopover.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/custom-elements-internal.json +90 -2
- package/dist/custom-elements.json +76 -2
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.d.ts +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
- package/dist/generated/themes/Footer.css.d.ts +1 -1
- package/dist/generated/themes/Footer.css.js +1 -1
- package/dist/generated/themes/Footer.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
- package/dist/messagebundle.properties +1 -0
- package/dist/messagebundle_en.properties +1 -0
- package/dist/messagebundle_it.properties +123 -0
- package/dist/messagebundle_ja.properties +127 -1
- package/dist/messagebundle_ko.properties +126 -0
- package/dist/messagebundle_lt.properties +126 -0
- package/dist/messagebundle_lv.properties +9 -0
- package/dist/types/FooterAskJoulePosition.d.ts +5 -0
- package/dist/types/FooterAskJoulePosition.js +7 -0
- package/dist/types/FooterAskJoulePosition.js.map +1 -0
- package/dist/vscode.html-custom-data.json +11 -1
- package/dist/web-types.json +34 -3
- package/package.json +1 -1
- package/src/BreadcrumbsTemplate.tsx +12 -10
- package/src/FilterMenu.ts +6 -6
- package/src/Footer.ts +41 -3
- package/src/FooterTemplate.tsx +28 -4
- package/src/List.ts +8 -8
- package/src/ListGroupHeader.ts +12 -5
- package/src/ListGroupHeaderBase.ts +3 -3
- package/src/ListGroupHeaderTemplate.tsx +228 -0
- package/src/ListItem.ts +5 -4
- package/src/ListItemBase.ts +9 -4
- package/src/ListItemTemplate.tsx +193 -0
- package/src/ListSelectAll.ts +4 -5
- package/src/ListSelectAllTemplate.tsx +38 -0
- package/src/ListTemplate.tsx +60 -0
- package/src/MediaPlayer.ts +6 -0
- package/src/SelectBox.ts +34 -0
- package/src/SelectBoxTemplate.tsx +2 -0
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/themes/Breadcrumbs.css.ts +1 -1
- package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/Link.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/i18n/messagebundle.properties +1 -0
- package/src/i18n/messagebundle_en.properties +1 -0
- package/src/i18n/messagebundle_it.properties +123 -0
- package/src/i18n/messagebundle_ja.properties +127 -1
- package/src/i18n/messagebundle_ko.properties +126 -0
- package/src/i18n/messagebundle_lt.properties +126 -0
- package/src/i18n/messagebundle_lv.properties +9 -0
- package/src/themes/Breadcrumbs.css +46 -5
- package/src/themes/BreadcrumbsPopover.css +65 -0
- package/src/themes/Footer.css +98 -1
- package/src/themes/Link.css +127 -8
- package/src/themes/ListGroupHeader.css +6 -3
- package/src/types/FooterAskJoulePosition.ts +6 -0
- package/dist/assets/messagebundle_en-DoNTK1BE.js +0 -1
- package/dist/assets/messagebundle_it-BhrBdOd4.js +0 -1
- package/dist/assets/messagebundle_ja-5P5L7sQ1.js +0 -1
- package/dist/assets/messagebundle_ko-B9H5YQlC.js +0 -1
- package/dist/assets/messagebundle_lt-BJ5gr_LF.js +0 -1
- package/dist/assets/messagebundle_lv-D06tlATH.js +0 -1
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +0 -30
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +0 -1
- package/dist/generated/templates/ListItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/ListItemTemplate.lit.js +0 -49
- package/dist/generated/templates/ListItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/ListSelectAllTemplate.lit.js +0 -7
- package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +0 -1
- package/dist/generated/templates/ListTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/ListTemplate.lit.js +0 -11
- package/dist/generated/templates/ListTemplate.lit.js.map +0 -1
- package/src/List.hbs +0 -38
- package/src/ListGroupHeader.hbs +0 -188
- package/src/ListItem.hbs +0 -166
- package/src/ListSelectAll.hbs +0 -31
- package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +0 -34
- package/src/generated/templates/ListItemTemplate.lit.ts +0 -53
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +0 -11
- package/src/generated/templates/ListTemplate.lit.ts +0 -15
|
@@ -1331,7 +1331,7 @@
|
|
|
1331
1331
|
},
|
|
1332
1332
|
{
|
|
1333
1333
|
"name": "udex-footer",
|
|
1334
|
-
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **logo-click** - Triggered on click interaction with logo in footer\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n\n### **Slots:**\n - **customSocialLinks** - Defines the slot for custom Social Links.",
|
|
1334
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.\n- **ask-joule-click** - Triggered on click interaction with \"Ask Joule\" link\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **logo-click** - Triggered on click interaction with logo in footer\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n\n### **Slots:**\n - **customSocialLinks** - Defines the slot for custom Social Links.",
|
|
1335
1335
|
"attributes": [
|
|
1336
1336
|
{
|
|
1337
1337
|
"name": "about-links",
|
|
@@ -1343,6 +1343,16 @@
|
|
|
1343
1343
|
"description": "Defines an \"about Sap\" column title",
|
|
1344
1344
|
"values": []
|
|
1345
1345
|
},
|
|
1346
|
+
{
|
|
1347
|
+
"name": "ask-joule-link",
|
|
1348
|
+
"description": "Defines the Ask Joule link's href",
|
|
1349
|
+
"values": []
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
"name": "ask-joule-position",
|
|
1353
|
+
"description": "Defines the position of the Ask Joule item within the contact section.\nCan be \"start\" (before phone/email/chat) or \"end\" (after phone/email/chat).",
|
|
1354
|
+
"values": [{ "name": "UDExFooterAskJoulePosition" }]
|
|
1355
|
+
},
|
|
1346
1356
|
{
|
|
1347
1357
|
"name": "chat-with-us-link",
|
|
1348
1358
|
"description": "Defines the Chat with us link's href",
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@sapudex/web-components",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.55.0",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -1898,7 +1898,7 @@
|
|
|
1898
1898
|
"description": "Allows setting a custom role.",
|
|
1899
1899
|
"value": {
|
|
1900
1900
|
"type": "\"None\" | \"Dialog\" | \"AlertDialog\"",
|
|
1901
|
-
"default": "\"
|
|
1901
|
+
"default": "\"None\""
|
|
1902
1902
|
}
|
|
1903
1903
|
},
|
|
1904
1904
|
{
|
|
@@ -2973,7 +2973,7 @@
|
|
|
2973
2973
|
},
|
|
2974
2974
|
{
|
|
2975
2975
|
"name": "udex-footer",
|
|
2976
|
-
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n---\n\n\n### **Events:**\n - **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **logo-click** - Triggered on click interaction with logo in footer\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n\n### **Slots:**\n - **customSocialLinks** - Defines the slot for custom Social Links.",
|
|
2976
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n---\n\n\n### **Events:**\n - **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.\n- **ask-joule-click** - Triggered on click interaction with \"Ask Joule\" link\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **logo-click** - Triggered on click interaction with logo in footer\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n\n### **Slots:**\n - **customSocialLinks** - Defines the slot for custom Social Links.",
|
|
2977
2977
|
"doc-url": "",
|
|
2978
2978
|
"attributes": [
|
|
2979
2979
|
{
|
|
@@ -2986,6 +2986,19 @@
|
|
|
2986
2986
|
"description": "Defines an \"about Sap\" column title",
|
|
2987
2987
|
"value": { "type": "string | undefined" }
|
|
2988
2988
|
},
|
|
2989
|
+
{
|
|
2990
|
+
"name": "ask-joule-link",
|
|
2991
|
+
"description": "Defines the Ask Joule link's href",
|
|
2992
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
2993
|
+
},
|
|
2994
|
+
{
|
|
2995
|
+
"name": "ask-joule-position",
|
|
2996
|
+
"description": "Defines the position of the Ask Joule item within the contact section.\nCan be \"start\" (before phone/email/chat) or \"end\" (after phone/email/chat).",
|
|
2997
|
+
"value": {
|
|
2998
|
+
"type": "UDExFooterAskJoulePosition",
|
|
2999
|
+
"default": "\"start\""
|
|
3000
|
+
}
|
|
3001
|
+
},
|
|
2989
3002
|
{
|
|
2990
3003
|
"name": "chat-with-us-link",
|
|
2991
3004
|
"description": "Defines the Chat with us link's href",
|
|
@@ -3122,6 +3135,10 @@
|
|
|
3122
3135
|
"name": "accordion-item-click",
|
|
3123
3136
|
"description": "Triggered when the user clicks on an accordion item."
|
|
3124
3137
|
},
|
|
3138
|
+
{
|
|
3139
|
+
"name": "ask-joule-click",
|
|
3140
|
+
"description": "Triggered on click interaction with \"Ask Joule\" link"
|
|
3141
|
+
},
|
|
3125
3142
|
{
|
|
3126
3143
|
"name": "back-to-top-click",
|
|
3127
3144
|
"description": "Triggered on click interaction with \"Back to Top\" button"
|
|
@@ -3175,6 +3192,16 @@
|
|
|
3175
3192
|
"description": "Defines an \"about Sap\" column title",
|
|
3176
3193
|
"value": { "type": "string | undefined" }
|
|
3177
3194
|
},
|
|
3195
|
+
{
|
|
3196
|
+
"name": "ask-joule-link",
|
|
3197
|
+
"description": "Defines the Ask Joule link's href",
|
|
3198
|
+
"value": { "type": "string" }
|
|
3199
|
+
},
|
|
3200
|
+
{
|
|
3201
|
+
"name": "ask-joule-position",
|
|
3202
|
+
"description": "Defines the position of the Ask Joule item within the contact section.\nCan be \"start\" (before phone/email/chat) or \"end\" (after phone/email/chat).",
|
|
3203
|
+
"value": { "type": "UDExFooterAskJoulePosition" }
|
|
3204
|
+
},
|
|
3178
3205
|
{
|
|
3179
3206
|
"name": "chat-with-us-link",
|
|
3180
3207
|
"description": "Defines the Chat with us link's href",
|
|
@@ -3305,6 +3332,10 @@
|
|
|
3305
3332
|
"name": "accordion-item-click",
|
|
3306
3333
|
"description": "Triggered when the user clicks on an accordion item."
|
|
3307
3334
|
},
|
|
3335
|
+
{
|
|
3336
|
+
"name": "ask-joule-click",
|
|
3337
|
+
"description": "Triggered on click interaction with \"Ask Joule\" link"
|
|
3338
|
+
},
|
|
3308
3339
|
{
|
|
3309
3340
|
"name": "back-to-top-click",
|
|
3310
3341
|
"description": "Triggered on click interaction with \"Back to Top\" button"
|
package/package.json
CHANGED
|
@@ -44,16 +44,18 @@ export default function BreadcrumbsTemplate(this: Breadcrumbs) {
|
|
|
44
44
|
) : (
|
|
45
45
|
<>
|
|
46
46
|
<span className={`${this._rootClass}__separator`} aria-hidden="true"></span>
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
<span class={`${this._rootClass}__link-wrap`}>
|
|
48
|
+
<UDExLink
|
|
49
|
+
onClick={this._onLinkPress}
|
|
50
|
+
id={`${linkData._id}-link`}
|
|
51
|
+
class={`${rootClass}__item ${this._rootClass}__item--visible`}
|
|
52
|
+
href={linkData.href}
|
|
53
|
+
target={linkData.target}
|
|
54
|
+
accessibleName={linkData._accessibleNameText}
|
|
55
|
+
data-ui5-stable={linkData.stableDomRef}>
|
|
56
|
+
{linkData.textContent}
|
|
57
|
+
</UDExLink>
|
|
58
|
+
</span>
|
|
57
59
|
</>
|
|
58
60
|
)}
|
|
59
61
|
</li>
|
package/src/FilterMenu.ts
CHANGED
|
@@ -296,11 +296,11 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
296
296
|
accessibleNameRef!: string;
|
|
297
297
|
/**
|
|
298
298
|
* Allows setting a custom role.
|
|
299
|
-
* @default "
|
|
299
|
+
* @default "None"
|
|
300
300
|
* @public
|
|
301
301
|
*/
|
|
302
302
|
@property()
|
|
303
|
-
accessibleRole: `${PopupAccessibleRole}` = PopupAccessibleRole.
|
|
303
|
+
accessibleRole: `${PopupAccessibleRole}` = PopupAccessibleRole.None;
|
|
304
304
|
|
|
305
305
|
/**
|
|
306
306
|
* Allows setting a custom role for dropdown trigger.
|
|
@@ -414,15 +414,15 @@ class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
414
414
|
|
|
415
415
|
handleKeyDownResultBtn(e: KeyboardEvent): void {
|
|
416
416
|
e.stopPropagation();
|
|
417
|
-
if (isTabNext(e) && !this.hasResetBtn) {
|
|
418
|
-
this.onDropdownClose();
|
|
417
|
+
if (isEscape(e) || (isTabNext(e) && !this.hasResetBtn)) {
|
|
418
|
+
this.onDropdownClose(e);
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
handleKeyDownResetBtn(e: KeyboardEvent): void {
|
|
423
423
|
e.stopPropagation();
|
|
424
|
-
if (isTabNext(e)) {
|
|
425
|
-
this.onDropdownClose();
|
|
424
|
+
if (isEscape(e) || isTabNext(e)) {
|
|
425
|
+
this.onDropdownClose(e);
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
428
|
|
package/src/Footer.ts
CHANGED
|
@@ -21,11 +21,13 @@ import UDExDivider from "./Divider.js";
|
|
|
21
21
|
import UDExSocialMediaButton from "./SocialMediaButton.js";
|
|
22
22
|
import type { UDExSocialMediaButtonType } from "./types/SocialMediaButtonType.js";
|
|
23
23
|
import type { UDExTarget } from "./types/common.js";
|
|
24
|
+
import UDExFooterAskJoulePosition from "./types/FooterAskJoulePosition.js";
|
|
24
25
|
import { BreakpointUtils } from "./utils/Breakpoints.js";
|
|
25
26
|
import parseArrayFromString from "./utils/parseArrayFromString.js";
|
|
26
27
|
import FooterTemplate from "./FooterTemplate.js";
|
|
27
28
|
import {
|
|
28
29
|
ABOUT_SAP,
|
|
30
|
+
ASK_JOULE,
|
|
29
31
|
CHAT_WITH_US,
|
|
30
32
|
CONTACT_US,
|
|
31
33
|
EMAIL,
|
|
@@ -79,7 +81,7 @@ type UDExFooterBaseEventDetail = {
|
|
|
79
81
|
originalEvent: MouseEvent | Event,
|
|
80
82
|
}
|
|
81
83
|
|
|
82
|
-
type BaseEvents = "contact-chat-click" | "contact-phone-local-numbers-click" | "contact-email-click" | "contact-phone-click" | "logo-click" | "back-to-top-click";
|
|
84
|
+
type BaseEvents = "contact-chat-click" | "contact-phone-local-numbers-click" | "contact-email-click" | "contact-phone-click" | "logo-click" | "back-to-top-click" | "ask-joule-click";
|
|
83
85
|
|
|
84
86
|
type DetailedEvents = "quick-links-click" | "trending-click" | "about-sap-click" | "site-information-click" | "social-media-link-click";
|
|
85
87
|
|
|
@@ -152,6 +154,13 @@ type DetailedEvents = "quick-links-click" | "trending-click" | "about-sap-click"
|
|
|
152
154
|
* @allowPreventDefault
|
|
153
155
|
*/
|
|
154
156
|
@event("contact-chat-click", { bubbles: true })
|
|
157
|
+
/**
|
|
158
|
+
* Triggered on click interaction with "Ask Joule" link
|
|
159
|
+
* @public
|
|
160
|
+
* @param { MouseEvent | Event } originalEvent
|
|
161
|
+
* @allowPreventDefault
|
|
162
|
+
*/
|
|
163
|
+
@event("ask-joule-click", { bubbles: true })
|
|
155
164
|
/**
|
|
156
165
|
* Triggered on click interaction with a link within "Quick Links" category
|
|
157
166
|
* @public
|
|
@@ -218,6 +227,7 @@ class UDExFooter extends UI5Element {
|
|
|
218
227
|
"contact-phone-local-numbers-click": UDExFooterBaseEventDetail,
|
|
219
228
|
"contact-email-click": UDExFooterBaseEventDetail,
|
|
220
229
|
"contact-phone-click": UDExFooterBaseEventDetail,
|
|
230
|
+
"ask-joule-click": UDExFooterBaseEventDetail,
|
|
221
231
|
"quick-links-click": UDExFooterDetailedClickEventDetail,
|
|
222
232
|
"trending-click": UDExFooterDetailedClickEventDetail,
|
|
223
233
|
"about-sap-click": UDExFooterDetailedClickEventDetail,
|
|
@@ -379,6 +389,25 @@ class UDExFooter extends UI5Element {
|
|
|
379
389
|
@property({ type: String })
|
|
380
390
|
chatWithUsLink: string = "";
|
|
381
391
|
|
|
392
|
+
/**
|
|
393
|
+
* Defines the Ask Joule link's href
|
|
394
|
+
*
|
|
395
|
+
* @default ""
|
|
396
|
+
* @public
|
|
397
|
+
*/
|
|
398
|
+
@property({ type: String })
|
|
399
|
+
askJouleLink: string = "";
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Defines the position of the Ask Joule item within the contact section.
|
|
403
|
+
* Can be "start" (before phone/email/chat) or "end" (after phone/email/chat).
|
|
404
|
+
*
|
|
405
|
+
* @default "start"
|
|
406
|
+
* @public
|
|
407
|
+
*/
|
|
408
|
+
@property({ type: String })
|
|
409
|
+
askJoulePosition: UDExFooterAskJoulePosition = UDExFooterAskJoulePosition.Start;
|
|
410
|
+
|
|
382
411
|
/**
|
|
383
412
|
* List of the Social links and their icons
|
|
384
413
|
*
|
|
@@ -527,7 +556,7 @@ class UDExFooter extends UI5Element {
|
|
|
527
556
|
}
|
|
528
557
|
|
|
529
558
|
get isContactContainerVisible(): boolean {
|
|
530
|
-
return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink;
|
|
559
|
+
return !!this.contactNumbersArray.length || !!this.contactUsLink || !!this.chatWithUsLink || !!this.askJouleLink;
|
|
531
560
|
}
|
|
532
561
|
|
|
533
562
|
get phoneNumberAccessibleName(): string {
|
|
@@ -549,6 +578,10 @@ class UDExFooter extends UI5Element {
|
|
|
549
578
|
return translate(UDExFooter, CHAT_WITH_US);
|
|
550
579
|
}
|
|
551
580
|
|
|
581
|
+
get askJouleAccessibleName(): string {
|
|
582
|
+
return translate(UDExFooter, ASK_JOULE);
|
|
583
|
+
}
|
|
584
|
+
|
|
552
585
|
get _quickLinksTitle(): string {
|
|
553
586
|
return this.quickLinksTitle || translate(UDExFooter, QUICK_LINKS);
|
|
554
587
|
}
|
|
@@ -652,6 +685,10 @@ class UDExFooter extends UI5Element {
|
|
|
652
685
|
this.fireFooterBaseEvent(e, "contact-chat-click");
|
|
653
686
|
}
|
|
654
687
|
|
|
688
|
+
_onAskJouleClick(e: MouseEvent): void {
|
|
689
|
+
this.fireFooterBaseEvent(e, "ask-joule-click");
|
|
690
|
+
}
|
|
691
|
+
|
|
655
692
|
_onQuickLinksClick(e: MouseEvent): void {
|
|
656
693
|
this.fireFooterDetailedClickEvent(e, "quick-links-click");
|
|
657
694
|
}
|
|
@@ -677,7 +714,8 @@ class UDExFooter extends UI5Element {
|
|
|
677
714
|
}
|
|
678
715
|
|
|
679
716
|
fireFooterDetailedClickEvent(e: MouseEvent, eventName: DetailedEvents): void {
|
|
680
|
-
const
|
|
717
|
+
const target = e.composedPath()[0] as HTMLElement;
|
|
718
|
+
const sourceNode = (target.closest("a") ?? target);
|
|
681
719
|
const { innerText, dataset: { id, name } } = sourceNode;
|
|
682
720
|
|
|
683
721
|
this.fireDecoratorEvent(eventName, {
|
package/src/FooterTemplate.tsx
CHANGED
|
@@ -6,6 +6,7 @@ import headset from "@ui5/webcomponents-icons/dist/headset.js";
|
|
|
6
6
|
import email from "@ui5/webcomponents-icons/dist/email.js";
|
|
7
7
|
import backToTop from "@ui5/webcomponents-icons/dist/back-to-top.js";
|
|
8
8
|
import discussion from "@ui5/webcomponents-icons/dist/discussion-2.js";
|
|
9
|
+
import da from "@ui5/webcomponents-icons/dist/da.js";
|
|
9
10
|
|
|
10
11
|
import type Footer from "./Footer.js";
|
|
11
12
|
import UDExLink from "./Link.js";
|
|
@@ -16,6 +17,7 @@ import UDExAccordionItem from "./AccordionItem.js";
|
|
|
16
17
|
import UDExButton from "./Button.js";
|
|
17
18
|
import UDExButtonDesign from "./types/ButtonDesign.js";
|
|
18
19
|
import UDExButtonSize from "./types/ButtonSize.js";
|
|
20
|
+
import UDExFooterAskJoulePosition from "./types/FooterAskJoulePosition.js";
|
|
19
21
|
import type { AriaRole } from "@ui5/webcomponents-base";
|
|
20
22
|
|
|
21
23
|
export default function FooterTemplate(this: Footer) {
|
|
@@ -60,6 +62,7 @@ export default function FooterTemplate(this: Footer) {
|
|
|
60
62
|
)}
|
|
61
63
|
{this.isContactContainerVisible && (
|
|
62
64
|
<div className={`${rootClass}__contact`}>
|
|
65
|
+
{this.askJouleLink && this.askJoulePosition === UDExFooterAskJoulePosition.Start && askJouleBlock.call(this, rootClass)}
|
|
63
66
|
{this.contactNumbersArray.length > 0 && (
|
|
64
67
|
<div className={`${rootClass}__numbers`}>
|
|
65
68
|
<div className={`${rootClass}__icon-container`}>
|
|
@@ -146,6 +149,7 @@ export default function FooterTemplate(this: Footer) {
|
|
|
146
149
|
</a>
|
|
147
150
|
</div>
|
|
148
151
|
)}
|
|
152
|
+
{this.askJouleLink && this.askJoulePosition === UDExFooterAskJoulePosition.End && askJouleBlock.call(this, rootClass)}
|
|
149
153
|
</div>
|
|
150
154
|
)}
|
|
151
155
|
</div>
|
|
@@ -336,7 +340,7 @@ function desktopNavigation(this: Footer, rootClass: string) {
|
|
|
336
340
|
href={link.url}
|
|
337
341
|
onClick={this._onQuickLinksClick}
|
|
338
342
|
{...(link.role ? { "role": link.role as AriaRole } : {})}>
|
|
339
|
-
{link.title}
|
|
343
|
+
<span className="udex-footer__nav-link-text">{link.title}</span>
|
|
340
344
|
</a>
|
|
341
345
|
</li>
|
|
342
346
|
))}
|
|
@@ -359,7 +363,7 @@ function desktopNavigation(this: Footer, rootClass: string) {
|
|
|
359
363
|
href={link.url}
|
|
360
364
|
onClick={this._onTrendingClick}
|
|
361
365
|
{...(link.role ? { "role": link.role as AriaRole } : {})}>
|
|
362
|
-
{link.title}
|
|
366
|
+
<span className="udex-footer__nav-link-text">{link.title}</span>
|
|
363
367
|
</a>
|
|
364
368
|
</li>
|
|
365
369
|
))}
|
|
@@ -382,7 +386,7 @@ function desktopNavigation(this: Footer, rootClass: string) {
|
|
|
382
386
|
href={link.url}
|
|
383
387
|
onClick={this._onAboutSapClick}
|
|
384
388
|
{...(link.role ? { "role": link.role as AriaRole } : {})}>
|
|
385
|
-
{link.title}
|
|
389
|
+
<span className="udex-footer__nav-link-text">{link.title}</span>
|
|
386
390
|
</a>
|
|
387
391
|
</li>
|
|
388
392
|
))}
|
|
@@ -405,7 +409,7 @@ function desktopNavigation(this: Footer, rootClass: string) {
|
|
|
405
409
|
href={link.url}
|
|
406
410
|
onClick={this._onSiteInformationClick}
|
|
407
411
|
{...(link.role ? { "role": link.role as AriaRole } : {})}>
|
|
408
|
-
{link.title}
|
|
412
|
+
<span className="udex-footer__nav-link-text">{link.title}</span>
|
|
409
413
|
</a>
|
|
410
414
|
</li>
|
|
411
415
|
))}
|
|
@@ -416,3 +420,23 @@ function desktopNavigation(this: Footer, rootClass: string) {
|
|
|
416
420
|
</div>
|
|
417
421
|
);
|
|
418
422
|
}
|
|
423
|
+
|
|
424
|
+
function askJouleBlock(this: Footer, rootClass: string) {
|
|
425
|
+
return (
|
|
426
|
+
<div className={`${rootClass}__ask-joule`}>
|
|
427
|
+
<div className={`${rootClass}__icon-container`}>
|
|
428
|
+
<UI5Icon
|
|
429
|
+
class={`${rootClass}__icon`}
|
|
430
|
+
name={da}
|
|
431
|
+
mode={IconMode.Decorative}>
|
|
432
|
+
</UI5Icon>
|
|
433
|
+
</div>
|
|
434
|
+
<a
|
|
435
|
+
href={this.askJouleLink}
|
|
436
|
+
className={`${rootClass}__ask-joule-link`}
|
|
437
|
+
onClick={this._onAskJouleClick}>
|
|
438
|
+
{this.askJouleAccessibleName}
|
|
439
|
+
</a>
|
|
440
|
+
</div>
|
|
441
|
+
);
|
|
442
|
+
}
|
package/src/List.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
2
2
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
|
-
import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
4
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
|
+
import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
5
5
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
|
|
6
6
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
7
|
-
import
|
|
7
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
8
8
|
import {
|
|
9
9
|
isUp, isDown, isHome, isEnd, isRight, isLeft,
|
|
10
10
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
@@ -17,15 +17,15 @@ import type UDExUploadItem from "./UploadItem.js";
|
|
|
17
17
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
18
18
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
19
19
|
import { ARIA_LABEL_LIST_MULTISELECTABLE, ARIA_LABEL_LIST_SELECTABLE } from "./generated/i18n/i18n-defaults.js";
|
|
20
|
-
import ListTemplate from "./generated/templates/ListTemplate.lit.js";
|
|
21
20
|
import translate from "./utils/translate.js";
|
|
22
|
-
|
|
23
|
-
// Styles
|
|
24
|
-
import ListCss from "./generated/themes/List.css.js";
|
|
25
21
|
import isLetterKey from "./utils/isLetterKeyPressed.js";
|
|
26
22
|
import type { UDExListWithFirstLetterFocus } from "./utils/ListWithFirstLetterFocus.js";
|
|
27
23
|
import UDExFirstLetterFocusHandler from "./utils/ListWithFirstLetterFocus.js";
|
|
28
24
|
import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
|
|
25
|
+
import ListTemplate from "./ListTemplate.js";
|
|
26
|
+
|
|
27
|
+
// Styles
|
|
28
|
+
import ListCss from "./generated/themes/List.css.js";
|
|
29
29
|
|
|
30
30
|
export type UDExListItemBase = UDExListItem & UDExListGroupHeader & UDExUploadItem;
|
|
31
31
|
|
|
@@ -55,11 +55,11 @@ type UDExListSelectionChangeEventDetail = {
|
|
|
55
55
|
* @public
|
|
56
56
|
*/
|
|
57
57
|
@customElement({
|
|
58
|
+
languageAware: true,
|
|
58
59
|
tag: "udex-list",
|
|
59
|
-
renderer:
|
|
60
|
+
renderer: jsxRenderer,
|
|
60
61
|
styles: [ListCss, getEffectiveScrollbarStyle()],
|
|
61
62
|
template: ListTemplate,
|
|
62
|
-
dependencies: [],
|
|
63
63
|
})
|
|
64
64
|
|
|
65
65
|
/**
|
package/src/ListGroupHeader.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
2
2
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
3
|
-
import
|
|
3
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
4
4
|
import {
|
|
5
5
|
isEnter, isLeft, isRight, isSpace,
|
|
6
6
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
7
|
-
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
8
7
|
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
9
8
|
import UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
|
|
10
|
-
import ListGroupHeaderTemplate from "./
|
|
9
|
+
import ListGroupHeaderTemplate from "./ListGroupHeaderTemplate.js";
|
|
11
10
|
import { UDExListItemSize } from "./types/List.js";
|
|
12
11
|
import type { UDExListItemBaseEvents } from "./ListItemBase.js";
|
|
13
12
|
import type UDExListItemBase from "./ListItemBase.js";
|
|
@@ -42,10 +41,10 @@ type UDExListGroupHeaderBaseHeaderPressEventDetail = {
|
|
|
42
41
|
*/
|
|
43
42
|
@customElement({
|
|
44
43
|
tag: "udex-list-group-header",
|
|
45
|
-
|
|
44
|
+
languageAware: true,
|
|
45
|
+
renderer: jsxRenderer,
|
|
46
46
|
styles: ListGroupHeaderCss,
|
|
47
47
|
template: ListGroupHeaderTemplate,
|
|
48
|
-
dependencies: [Icon],
|
|
49
48
|
})
|
|
50
49
|
|
|
51
50
|
/**
|
|
@@ -56,6 +55,14 @@ type UDExListGroupHeaderBaseHeaderPressEventDetail = {
|
|
|
56
55
|
*/
|
|
57
56
|
@event("header-press", { bubbles: true })
|
|
58
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Triggered when the user clicks on an accordion item.
|
|
60
|
+
* @public
|
|
61
|
+
* @param { string } name
|
|
62
|
+
* @param { boolean } expanded
|
|
63
|
+
*/
|
|
64
|
+
@event("accordion-icon-click", { bubbles: true })
|
|
65
|
+
|
|
59
66
|
class UDExListGroupHeader extends UDExListGroupHeaderBase {
|
|
60
67
|
eventDetails!: {
|
|
61
68
|
"header-press": UDExListGroupHeaderBaseHeaderPressEventDetail,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
2
|
+
import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
3
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
|
|
3
4
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
|
-
import
|
|
5
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
5
6
|
import UDExListItemBase from "./ListItemBase.js";
|
|
6
|
-
import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
7
7
|
|
|
8
8
|
const listGroupHeaderClass: string = "udex-list__group-header";
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ const listGroupHeaderClass: string = "udex-list__group-header";
|
|
|
20
20
|
*/
|
|
21
21
|
@customElement({
|
|
22
22
|
languageAware: true,
|
|
23
|
-
renderer:
|
|
23
|
+
renderer: jsxRenderer,
|
|
24
24
|
})
|
|
25
25
|
|
|
26
26
|
class UDExListGroupHeaderBase extends UDExListItemBase {
|