@sapudex/web-components 2.49.0 → 2.50.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/TabNavigation.cy.tsx +56 -0
- package/dist/HeroBanner.d.ts +18 -9
- package/dist/HeroBanner.js +38 -35
- package/dist/HeroBanner.js.map +1 -1
- package/dist/HeroBannerTemplate.js +2 -2
- package/dist/HeroBannerTemplate.js.map +1 -1
- package/dist/TabNavigation.d.ts +1 -1
- package/dist/TabNavigation.js +3 -2
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Wizard.d.ts +5 -0
- package/dist/Wizard.js +11 -0
- package/dist/Wizard.js.map +1 -1
- package/dist/assets/{InputSuggestions-DaB1A6jW.js → InputSuggestions-DZR626c7.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-Co4KQuVw.js → ListItemStandardExpandableTextTemplate-D_5VXMzU.js} +1 -1
- package/dist/assets/{bundle.esm-al3NYhoB.js → bundle.esm-DuQLY8Jz.js} +176 -176
- package/dist/css/themes/HeroBanner.css +1 -1
- package/dist/css/themes/InputGroup.css +1 -1
- package/dist/css/themes/PromoTile.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/custom-elements-internal.json +82 -7
- package/dist/custom-elements.json +23 -3
- package/dist/generated/templates/TabNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/themes/HeroBanner.css.d.ts +1 -1
- package/dist/generated/themes/HeroBanner.css.js +1 -1
- package/dist/generated/themes/HeroBanner.css.js.map +1 -1
- package/dist/generated/themes/InputGroup.css.d.ts +1 -1
- package/dist/generated/themes/InputGroup.css.js +1 -1
- package/dist/generated/themes/InputGroup.css.js.map +1 -1
- package/dist/generated/themes/PromoTile.css.d.ts +1 -1
- package/dist/generated/themes/PromoTile.css.js +1 -1
- package/dist/generated/themes/PromoTile.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +3 -3
- package/dist/web-types.json +18 -7
- package/package.json +1 -1
- package/src/HeroBanner.ts +60 -46
- package/src/HeroBannerTemplate.tsx +35 -22
- package/src/TabNavigation.hbs +1 -1
- package/src/TabNavigation.ts +2 -1
- package/src/Wizard.ts +15 -1
- package/src/generated/templates/TabNavigationTemplate.lit.ts +1 -1
- package/src/generated/themes/HeroBanner.css.ts +1 -1
- package/src/generated/themes/InputGroup.css.ts +1 -1
- package/src/generated/themes/PromoTile.css.ts +1 -1
- package/src/generated/themes/RadioButton.css.ts +1 -1
- package/src/themes/HeroBanner.css +2 -0
- package/src/themes/InputGroup.css +1 -1
- package/src/themes/PromoTile.css +156 -0
- package/src/themes/RadioButton.css +2 -2
|
@@ -1927,6 +1927,62 @@ describe("Tab Navigation component", () => {
|
|
|
1927
1927
|
});
|
|
1928
1928
|
});
|
|
1929
1929
|
|
|
1930
|
+
describe("Overflow menu — tab-select event", () => {
|
|
1931
|
+
const mountOverflowNav = (onTabSelect: (...args: any[]) => void) => {
|
|
1932
|
+
cy.mount(
|
|
1933
|
+
<UDExTabNavigation id="overflow-tab-nav" onTabSelect={onTabSelect}>
|
|
1934
|
+
<UDExTab text="Tab 1" selected><div>Content 1</div></UDExTab>
|
|
1935
|
+
<UDExTab text="Tab 2"><div>Content 2</div></UDExTab>
|
|
1936
|
+
<UDExTab text="Tab 3"><div>Content 3</div></UDExTab>
|
|
1937
|
+
</UDExTabNavigation>
|
|
1938
|
+
);
|
|
1939
|
+
};
|
|
1940
|
+
|
|
1941
|
+
it("fires tab-select when onItemSelect is called (overflow click path)", () => {
|
|
1942
|
+
const tabSelectHandler = cy.stub().as("tabSelect");
|
|
1943
|
+
mountOverflowNav(tabSelectHandler);
|
|
1944
|
+
|
|
1945
|
+
cy.get("[udex-tab-navigation]").then($el => {
|
|
1946
|
+
const nav = $el[0] as any;
|
|
1947
|
+
nav.onItemSelect(nav.items[1].__id);
|
|
1948
|
+
});
|
|
1949
|
+
|
|
1950
|
+
cy.get("@tabSelect").should("have.been.called");
|
|
1951
|
+
});
|
|
1952
|
+
|
|
1953
|
+
it("tab-select detail contains tab and tabIndex when triggered via onItemSelect", () => {
|
|
1954
|
+
const tabSelectHandler = cy.stub().as("tabSelect");
|
|
1955
|
+
mountOverflowNav(tabSelectHandler);
|
|
1956
|
+
|
|
1957
|
+
cy.get("[udex-tab-navigation]").then($el => {
|
|
1958
|
+
const nav = $el[0] as any;
|
|
1959
|
+
nav.onItemSelect(nav.items[1].__id);
|
|
1960
|
+
});
|
|
1961
|
+
|
|
1962
|
+
cy.get("@tabSelect").should("have.been.calledOnce").then(() => {
|
|
1963
|
+
const event: CustomEvent = tabSelectHandler.firstCall.args[0];
|
|
1964
|
+
expect(event.detail).to.have.property("tab");
|
|
1965
|
+
expect(event.detail).to.have.property("tabIndex");
|
|
1966
|
+
expect(event.detail.tabIndex).to.equal(1);
|
|
1967
|
+
});
|
|
1968
|
+
});
|
|
1969
|
+
|
|
1970
|
+
it("tab-select fires with correct tabIndex for each tab via onItemSelect", () => {
|
|
1971
|
+
const tabSelectHandler = cy.stub().as("tabSelect");
|
|
1972
|
+
mountOverflowNav(tabSelectHandler);
|
|
1973
|
+
|
|
1974
|
+
cy.get("[udex-tab-navigation]").then($el => {
|
|
1975
|
+
const nav = $el[0] as any;
|
|
1976
|
+
nav.onItemSelect(nav.items[2].__id);
|
|
1977
|
+
});
|
|
1978
|
+
|
|
1979
|
+
cy.get("@tabSelect").should("have.been.calledOnce").then(() => {
|
|
1980
|
+
const event: CustomEvent = tabSelectHandler.firstCall.args[0];
|
|
1981
|
+
expect(event.detail.tabIndex).to.equal(2);
|
|
1982
|
+
});
|
|
1983
|
+
});
|
|
1984
|
+
});
|
|
1985
|
+
|
|
1930
1986
|
// ── Process Tab variant ──────────────────────────────────────────────────────
|
|
1931
1987
|
|
|
1932
1988
|
describe("TabNavigation - Process Tab variant", () => {
|
package/dist/HeroBanner.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
|
+
import type UDExBreadcrumbs from "./Breadcrumbs.js";
|
|
2
4
|
export declare enum UDExImageLoadingStrategies {
|
|
3
5
|
Eager = "eager",
|
|
4
6
|
Lazy = "lazy"
|
|
@@ -70,28 +72,40 @@ declare class UDExHeroBanner extends UI5Element {
|
|
|
70
72
|
* @slot
|
|
71
73
|
* @public
|
|
72
74
|
*/
|
|
73
|
-
content
|
|
75
|
+
content: Slot<HTMLElement>;
|
|
74
76
|
/**
|
|
75
77
|
* Slot for image or video content.
|
|
76
78
|
*
|
|
77
79
|
* @slot
|
|
78
80
|
* @public
|
|
79
81
|
*/
|
|
80
|
-
mediaContent
|
|
82
|
+
mediaContent: Slot<HTMLElement>;
|
|
81
83
|
/**
|
|
82
84
|
* Slot for any additional content.
|
|
83
85
|
*
|
|
84
86
|
* @slot
|
|
85
87
|
* @public
|
|
86
88
|
*/
|
|
87
|
-
additionalContent
|
|
89
|
+
additionalContent: Slot<HTMLElement>;
|
|
88
90
|
/**
|
|
89
91
|
* Slot background picture override.
|
|
90
92
|
*
|
|
91
93
|
* @slot
|
|
92
94
|
* @public
|
|
93
95
|
*/
|
|
94
|
-
backgroundPicture
|
|
96
|
+
backgroundPicture: Slot<HTMLElement>;
|
|
97
|
+
/**
|
|
98
|
+
* Slot for breadcrumbs.
|
|
99
|
+
*
|
|
100
|
+
* @slot breadcrumbs
|
|
101
|
+
* @public
|
|
102
|
+
*/
|
|
103
|
+
breadcrumbs: Slot<UDExBreadcrumbs>;
|
|
104
|
+
onEnterDOM(): void;
|
|
105
|
+
_toggleMediaButton(): void;
|
|
106
|
+
_calculateMediaButtonState(): void;
|
|
107
|
+
_isHTMLDivElement: (element: HTMLElement) => element is HTMLDivElement;
|
|
108
|
+
_handleKeydown(event: KeyboardEvent): void;
|
|
95
109
|
get hasBackgroundImage(): boolean;
|
|
96
110
|
get hasBackgroundVideo(): boolean;
|
|
97
111
|
get wrapperBackgroundColor(): string;
|
|
@@ -105,10 +119,5 @@ declare class UDExHeroBanner extends UI5Element {
|
|
|
105
119
|
get hasAdditionalContent(): boolean;
|
|
106
120
|
get hasCustomBackgroundPicture(): boolean;
|
|
107
121
|
get _video(): HTMLVideoElement | null | undefined;
|
|
108
|
-
_toggleMediaButton(): void;
|
|
109
|
-
_calculateMediaButtonState(): void;
|
|
110
|
-
_isHTMLDivElement: (element: HTMLElement) => element is HTMLDivElement;
|
|
111
|
-
_handleKeydown(event: KeyboardEvent): void;
|
|
112
|
-
onEnterDOM(): void;
|
|
113
122
|
}
|
|
114
123
|
export default UDExHeroBanner;
|
package/dist/HeroBanner.js
CHANGED
|
@@ -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 property from "@ui5/webcomponents-base/dist/decorators/property.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/renderer/JsxRenderer.js";
|
|
12
12
|
import { isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
13
13
|
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
@@ -40,6 +40,36 @@ let UDExHeroBanner = class UDExHeroBanner extends UI5Element {
|
|
|
40
40
|
return element.tagName === "DIV";
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
onEnterDOM() {
|
|
44
|
+
if (this.backgroundVideo) {
|
|
45
|
+
if (this.backgroundColor) {
|
|
46
|
+
this.style.setProperty("--udexHeroBannerBackgroundVideoColor", `${this.wrapperBackgroundColor}`);
|
|
47
|
+
}
|
|
48
|
+
this._video?.addEventListener("play", () => {
|
|
49
|
+
this._calculateMediaButtonState();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
_toggleMediaButton() {
|
|
54
|
+
if (this._video?.paused) {
|
|
55
|
+
this._video?.play();
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this._video?.pause();
|
|
59
|
+
}
|
|
60
|
+
this._calculateMediaButtonState();
|
|
61
|
+
}
|
|
62
|
+
_calculateMediaButtonState() {
|
|
63
|
+
this._isVideoRunning = this._video ? !this._video.paused : false;
|
|
64
|
+
}
|
|
65
|
+
_handleKeydown(event) {
|
|
66
|
+
const target = event.target;
|
|
67
|
+
if (this._isHTMLDivElement(target) && isSpace(event)) {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
event.stopPropagation();
|
|
70
|
+
this._toggleMediaButton();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
43
73
|
get hasBackgroundImage() {
|
|
44
74
|
return !!this.backgroundImage;
|
|
45
75
|
}
|
|
@@ -77,36 +107,6 @@ let UDExHeroBanner = class UDExHeroBanner extends UI5Element {
|
|
|
77
107
|
get _video() {
|
|
78
108
|
return this.shadowRoot?.querySelector("video");
|
|
79
109
|
}
|
|
80
|
-
_toggleMediaButton() {
|
|
81
|
-
if (this._video?.paused) {
|
|
82
|
-
this._video?.play();
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this._video?.pause();
|
|
86
|
-
}
|
|
87
|
-
this._calculateMediaButtonState();
|
|
88
|
-
}
|
|
89
|
-
_calculateMediaButtonState() {
|
|
90
|
-
this._isVideoRunning = this._video ? !this._video.paused : false;
|
|
91
|
-
}
|
|
92
|
-
_handleKeydown(event) {
|
|
93
|
-
const target = event.target;
|
|
94
|
-
if (this._isHTMLDivElement(target) && isSpace(event)) {
|
|
95
|
-
event.preventDefault();
|
|
96
|
-
event.stopPropagation();
|
|
97
|
-
this._toggleMediaButton();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
onEnterDOM() {
|
|
101
|
-
if (this.backgroundVideo) {
|
|
102
|
-
if (this.backgroundColor) {
|
|
103
|
-
this.style.setProperty("--udexHeroBannerBackgroundVideoColor", `${this.wrapperBackgroundColor}`);
|
|
104
|
-
}
|
|
105
|
-
this._video?.addEventListener("play", () => {
|
|
106
|
-
this._calculateMediaButtonState();
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
110
|
};
|
|
111
111
|
__decorate([
|
|
112
112
|
property({ type: String })
|
|
@@ -133,17 +133,20 @@ __decorate([
|
|
|
133
133
|
property({ type: Boolean, noAttribute: true })
|
|
134
134
|
], UDExHeroBanner.prototype, "_isVideoRunning", void 0);
|
|
135
135
|
__decorate([
|
|
136
|
-
slot()
|
|
136
|
+
slot({ type: HTMLElement })
|
|
137
137
|
], UDExHeroBanner.prototype, "content", void 0);
|
|
138
138
|
__decorate([
|
|
139
|
-
slot()
|
|
139
|
+
slot({ type: HTMLElement })
|
|
140
140
|
], UDExHeroBanner.prototype, "mediaContent", void 0);
|
|
141
141
|
__decorate([
|
|
142
|
-
slot()
|
|
142
|
+
slot({ type: HTMLElement })
|
|
143
143
|
], UDExHeroBanner.prototype, "additionalContent", void 0);
|
|
144
144
|
__decorate([
|
|
145
|
-
slot()
|
|
145
|
+
slot({ type: HTMLElement })
|
|
146
146
|
], UDExHeroBanner.prototype, "backgroundPicture", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
slot({ type: HTMLElement })
|
|
149
|
+
], UDExHeroBanner.prototype, "breadcrumbs", void 0);
|
|
147
150
|
UDExHeroBanner = __decorate([
|
|
148
151
|
customElement({
|
|
149
152
|
tag: "udex-hero-banner",
|
package/dist/HeroBanner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeroBanner.js","sourceRoot":"","sources":["../src/HeroBanner.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"HeroBanner.js","sourceRoot":"","sources":["../src/HeroBanner.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport HeroBannerTemplate from \"./HeroBannerTemplate.js\";\nimport type UDExBreadcrumbs from \"./Breadcrumbs.js\";\n\n// Styles\nimport HeroBannerCss from \"./generated/themes/HeroBanner.css.js\";\n\nexport enum UDExImageLoadingStrategies {\n Eager = \"eager\",\n Lazy = \"lazy\",\n}\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-hero-banner\n * @public\n */\n@customElement({\n tag: \"udex-hero-banner\",\n renderer: jsxRenderer,\n styles: HeroBannerCss,\n template: HeroBannerTemplate,\n dependencies: [Icon],\n})\nclass UDExHeroBanner extends UI5Element {\n /**\n * Allows control over the background image source.\n *\n * @public\n */\n @property({ type: String })\n backgroundImage?: string;\n\n /**\n * Allows control over the background image loading strategy.\n *\n * @public\n */\n @property()\n backgroundImageLoadingStrategy: `${UDExImageLoadingStrategies}` = UDExImageLoadingStrategies.Eager;\n\n /**\n * Used as the label for background image.\n *\n * @public\n */\n @property({ type: String })\n backgroundImageLabel?: string;\n\n /**\n * Allows control over the background video source.\n *\n * @public\n */\n @property({ type: String })\n backgroundVideo?: string;\n\n /**\n * Used as the label for background video.\n *\n * @public\n */\n @property({ type: String })\n backgroundVideoLabel?: string;\n\n /**\n * Allows control over the background color.\n * Value provided should be compatible with standard CSS rendering, e.g:\n * - HEX: \"#FFF\", \"#FFFFFF\", \"FFFFFFFF\"\n * - RGB/A: \"rgb(255, 255, 255)\", \"rgba(255, 255, 255, 1)\"\n * - HSL/A: \"hsl(0, 100%, 100%)\", \"hsla(0, 100%, 100%, 1\"\n * - Variables: \"var(--sapShell_Background)\", \"var(--udexColorNeutralWhite)\"\n * - Text values: \"white\", \"red\"\n *\n * @public\n */\n @property({ type: String })\n backgroundColor?: string;\n\n /**\n * Allows control over the background-image to set css gradient.\n * Value provided should be compatible with standard CSS linear-gradient rendering, e.g:\n * linear-gradient(to bottom, #1e5799 0%,#7db9e8 100%);\n * linear-gradient(to bottom, var(--udexColorBlue2) 0%,var(--udexColorBlue4) 100%);\n *\n * @public\n */\n @property({ type: String })\n backgroundGradient?: string;\n\n @property({ type: Boolean, noAttribute: true })\n _isVideoRunning?: boolean;\n\n /**\n * Slot for primary content.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n content!: Slot<HTMLElement>;\n\n /**\n * Slot for image or video content.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n mediaContent!: Slot<HTMLElement>;\n\n /**\n * Slot for any additional content.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n additionalContent!: Slot<HTMLElement>;\n\n /**\n * Slot background picture override.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n backgroundPicture!: Slot<HTMLElement>;\n\n /**\n * Slot for breadcrumbs.\n *\n * @slot breadcrumbs\n * @public\n */\n @slot({ type: HTMLElement })\n breadcrumbs!: Slot<UDExBreadcrumbs>;\n\n onEnterDOM() {\n if (this.backgroundVideo) {\n if (this.backgroundColor) {\n this.style.setProperty(\"--udexHeroBannerBackgroundVideoColor\", `${this.wrapperBackgroundColor}`);\n }\n this._video?.addEventListener(\"play\", () => {\n this._calculateMediaButtonState();\n });\n }\n }\n\n _toggleMediaButton(): void {\n if (this._video?.paused) {\n this._video?.play();\n } else {\n this._video?.pause();\n }\n this._calculateMediaButtonState();\n }\n\n _calculateMediaButtonState() {\n this._isVideoRunning = this._video ? !this._video.paused : false;\n }\n\n _isHTMLDivElement = (element: HTMLElement): element is HTMLDivElement => {\n return element.tagName === \"DIV\";\n };\n\n _handleKeydown(event: KeyboardEvent): void {\n const target = <HTMLElement>event.target;\n if (this._isHTMLDivElement(target) && isSpace(event)) {\n event.preventDefault();\n event.stopPropagation();\n this._toggleMediaButton();\n }\n }\n\n get hasBackgroundImage(): boolean {\n return !!this.backgroundImage;\n }\n\n get hasBackgroundVideo(): boolean {\n return !!this.backgroundVideo;\n }\n\n get wrapperBackgroundColor(): string {\n return this.backgroundColor ? this.backgroundColor : \"transparent\";\n }\n\n get wrapperBackgroundImage(): string {\n return this.backgroundGradient ? this.backgroundGradient : \"\";\n }\n\n /**\n * Determines if the video should autoplay based on the user's global preference.\n */\n get shouldVideoAutoplay() {\n return !window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n }\n\n get heroBannerClasses(): string {\n const heroBannerClasses = [\"udex-hero-banner\"];\n if (this.hasBackgroundVideo) {\n heroBannerClasses.push(\"udex-hero-banner--video\");\n }\n return heroBannerClasses.join(\" \");\n }\n\n get hasMediaContent() {\n return !!this.mediaContent?.length;\n }\n\n get hasAdditionalContent() {\n return !!this.additionalContent?.length;\n }\n\n get hasCustomBackgroundPicture() {\n return !!this.backgroundPicture?.length;\n }\n\n get _video() {\n return this.shadowRoot?.querySelector<HTMLVideoElement>(\"video\");\n }\n}\n\nUDExHeroBanner.define();\n\nexport default UDExHeroBanner;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
2
|
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
3
3
|
import "@ui5/webcomponents-icons/dist/play.js";
|
|
4
4
|
import "@ui5/webcomponents-icons/dist/pause.js";
|
|
@@ -10,6 +10,6 @@ export default function HeroBannerTemplate() {
|
|
|
10
10
|
return (_jsxs("div", { className: this.heroBannerClasses, part: "wrapper", style: {
|
|
11
11
|
backgroundColor: this.wrapperBackgroundColor,
|
|
12
12
|
...(this.wrapperBackgroundImage ? { backgroundImage: this.wrapperBackgroundImage } : {})
|
|
13
|
-
}, children: [this.hasBackgroundVideo ? (_jsxs("div", { className: `${rootClass}__background-video-wrapper`, tabIndex: 0, onKeyDown: this._handleKeydown, children: [_jsx("video", { autoPlay: this.shouldVideoAutoplay, muted: true, loop: true, playsInline: true, part: "background-video", className: `${rootClass}__background-video`, "aria-label": this.backgroundVideoLabel, children: _jsx("source", { src: this.backgroundVideo, type: "video/mp4" }) }), _jsx("div", { className: `${rootClass}__background-video-overlay` }), this.hasBackgroundImage && (_jsx("picture", { children: _jsx("img", { loading: this.backgroundImageLoadingStrategy, src: this.backgroundImage, part: "background-image", className: `${rootClass}__background-image`, alt: this.backgroundImageLabel }) })), _jsxs("div", { className: `${rootClass}__content-container`, children: [_jsx("slot", { id: `${rootClass}__content`, name: "content", part: "content" }), _jsx("slot", { id: `${rootClass}__additionalContent`, name: "additionalContent", part: "additionalContent" })] }), _jsx("button", { className: `${rootClass}__media-button`, "aria-label": "Play / Pause button", role: "button", onClick: this._toggleMediaButton, children: _jsx(UI5Icon, { name: btnIcon }) })] })) : (_jsxs("div", { className: `${rootClass}__container`, children: [this.hasCustomBackgroundPicture ? (_jsx("slot", { name: "backgroundPicture" })) : this.hasBackgroundImage ? (_jsx("picture", { children: _jsx("img", { loading: this.backgroundImageLoadingStrategy, src: this.backgroundImage, part: "background-image", className: `${rootClass}__background-image`, alt: this.backgroundImageLabel }) })) : null, _jsxs("div", { className: `${rootClass}__content-container`, children: [_jsx("slot", { id: `${rootClass}
|
|
13
|
+
}, children: [this.hasBackgroundVideo ? (_jsxs("div", { className: `${rootClass}__background-video-wrapper`, tabIndex: 0, onKeyDown: this._handleKeydown, children: [_jsx("video", { autoPlay: this.shouldVideoAutoplay, muted: true, loop: true, playsInline: true, part: "background-video", className: `${rootClass}__background-video`, "aria-label": this.backgroundVideoLabel, children: _jsx("source", { src: this.backgroundVideo, type: "video/mp4" }) }), _jsx("div", { className: `${rootClass}__background-video-overlay` }), this.hasBackgroundImage && (_jsx("picture", { children: _jsx("img", { loading: this.backgroundImageLoadingStrategy, src: this.backgroundImage, part: "background-image", className: `${rootClass}__background-image`, alt: this.backgroundImageLabel }) })), _jsxs(_Fragment, { children: [_jsx("slot", { id: `${rootClass}__breadcrumbs`, name: "breadcrumbs", part: "breadcrumbs" }), _jsxs("div", { className: `${rootClass}__content-container`, children: [_jsx("slot", { id: `${rootClass}__content`, name: "content", part: "content" }), _jsx("slot", { id: `${rootClass}__additionalContent`, name: "additionalContent", part: "additionalContent" })] }), _jsx("button", { className: `${rootClass}__media-button`, "aria-label": "Play / Pause button", role: "button", onClick: this._toggleMediaButton, children: _jsx(UI5Icon, { name: btnIcon }) })] })] })) : (_jsxs("div", { className: `${rootClass}__container`, children: [this.hasCustomBackgroundPicture ? (_jsx("slot", { name: "backgroundPicture" })) : this.hasBackgroundImage ? (_jsx("picture", { children: _jsx("img", { loading: this.backgroundImageLoadingStrategy, src: this.backgroundImage, part: "background-image", className: `${rootClass}__background-image`, alt: this.backgroundImageLabel }) })) : null, _jsxs("div", { className: `${rootClass}__content-container`, children: [_jsxs("div", { id: `${rootClass}__content`, children: [_jsx("slot", { id: `${rootClass}__breadcrumbs`, name: "breadcrumbs", part: "breadcrumbs" }), _jsx("slot", { name: "content", part: "content" })] }), this.hasAdditionalContent && (_jsx("slot", { id: `${rootClass}__additionalContent`, name: "additionalContent", part: "additionalContent" }))] })] })), this.hasMediaContent && (_jsx("slot", { id: `${rootClass}__mediaContent`, name: "mediaContent", part: "mediaContent" }))] }));
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=HeroBannerTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeroBannerTemplate.js","sourceRoot":"","sources":["../src/HeroBannerTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,wCAAwC,CAAC;AAChD,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5D,OAAO,CACL,eACE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,IAAI,EAAC,SAAS,EACd,KAAK,EAAE;YACL,eAAe,EAAE,IAAI,CAAC,sBAAsB;YAC5C,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,aACA,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACzB,eACE,SAAS,EAAE,GAAG,SAAS,4BAA4B,EACnD,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,IAAI,CAAC,cAAc,aAC9B,gBACE,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAClC,KAAK,QACL,IAAI,QACJ,WAAW,QACX,IAAI,EAAC,kBAAkB,EACvB,SAAS,EAAE,GAAG,SAAS,oBAAoB,gBAC/B,IAAI,CAAC,oBAAoB,YACrC,iBAAQ,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,EAAC,WAAW,GAAG,GAChD,EACR,cAAK,SAAS,EAAE,GAAG,SAAS,4BAA4B,GAAQ,EAC/D,IAAI,CAAC,kBAAkB,IAAI,CAC1B,4BACE,cACE,OAAO,EAAE,IAAI,CAAC,8BAA8B,EAC5C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,IAAI,EAAC,kBAAkB,EACvB,SAAS,EAAE,GAAG,SAAS,oBAAoB,EAC3C,GAAG,EAAE,IAAI,CAAC,oBAAoB,GAAG,GAC3B,CACX,EACD,eAAK,SAAS,EAAE,GAAG,SAAS,qBAAqB,aAC/C,eACE,EAAE,EAAE,GAAG,SAAS,WAAW,EAC3B,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,SAAS,GACT,EACP,eACE,EAAE,EAAE,GAAG,SAAS,qBAAqB,EACrC,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,mBAAmB,GACnB,IACH,EACN,iBACE,SAAS,EAAE,GAAG,SAAS,gBAAgB,gBAC5B,qBAAqB,EAChC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,kBAAkB,YAChC,KAAC,OAAO,IAAC,IAAI,EAAE,OAAO,GAAY,GAC3B,
|
|
1
|
+
{"version":3,"file":"HeroBannerTemplate.js","sourceRoot":"","sources":["../src/HeroBannerTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type HeroBanner from \"./HeroBanner.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/play.js\";\nimport \"@ui5/webcomponents-icons/dist/pause.js\";\nimport playIcon from \"@ui5/webcomponents-icons/play.js\";\nimport pauseIcon from \"@ui5/webcomponents-icons/pause.js\";\n\nexport default function HeroBannerTemplate(this: HeroBanner) {\n const rootClass = \"udex-hero-banner\";\n const btnIcon = this._isVideoRunning ? playIcon : pauseIcon;\n\n return (\n <div\n className={this.heroBannerClasses}\n part=\"wrapper\"\n style={{\n backgroundColor: this.wrapperBackgroundColor,\n ...(this.wrapperBackgroundImage ? { backgroundImage: this.wrapperBackgroundImage } : {})\n }}>\n {this.hasBackgroundVideo ? (\n <div\n className={`${rootClass}__background-video-wrapper`}\n tabIndex={0}\n onKeyDown={this._handleKeydown}>\n <video\n autoPlay={this.shouldVideoAutoplay}\n muted\n loop\n playsInline\n part=\"background-video\"\n className={`${rootClass}__background-video`}\n aria-label={this.backgroundVideoLabel}>\n <source src={this.backgroundVideo} type=\"video/mp4\" />\n </video>\n <div className={`${rootClass}__background-video-overlay`}></div>\n {this.hasBackgroundImage && (\n <picture>\n <img\n loading={this.backgroundImageLoadingStrategy}\n src={this.backgroundImage}\n part=\"background-image\"\n className={`${rootClass}__background-image`}\n alt={this.backgroundImageLabel}/>\n </picture>\n )}\n <>\n <slot\n id={`${rootClass}__breadcrumbs`}\n name=\"breadcrumbs\"\n part=\"breadcrumbs\">\n </slot>\n <div className={`${rootClass}__content-container`}>\n <slot\n id={`${rootClass}__content`}\n name=\"content\"\n part=\"content\">\n </slot>\n <slot\n id={`${rootClass}__additionalContent`}\n name=\"additionalContent\"\n part=\"additionalContent\">\n </slot>\n </div>\n <button\n className={`${rootClass}__media-button`}\n aria-label=\"Play / Pause button\"\n role=\"button\"\n onClick={this._toggleMediaButton}>\n <UI5Icon name={btnIcon}></UI5Icon>\n </button>\n </>\n </div>\n ) : (\n <div className={`${rootClass}__container`}>\n {this.hasCustomBackgroundPicture ? (\n <slot name=\"backgroundPicture\"></slot>\n ) : this.hasBackgroundImage ? (\n <picture>\n <img\n loading={this.backgroundImageLoadingStrategy}\n src={this.backgroundImage}\n part=\"background-image\"\n className={`${rootClass}__background-image`}\n alt={this.backgroundImageLabel}\n />\n </picture>\n ) : null}\n <div className={`${rootClass}__content-container`}>\n <div id={`${rootClass}__content`}>\n <slot\n id={`${rootClass}__breadcrumbs`}\n name=\"breadcrumbs\"\n part=\"breadcrumbs\">\n </slot>\n <slot\n name=\"content\"\n part=\"content\">\n </slot>\n </div>\n {this.hasAdditionalContent && (\n <slot\n id={`${rootClass}__additionalContent`}\n name=\"additionalContent\"\n part=\"additionalContent\">\n </slot>\n )}\n </div>\n </div>\n )}\n {this.hasMediaContent && (\n <slot\n id={`${rootClass}__mediaContent`}\n name=\"mediaContent\"\n part=\"mediaContent\">\n </slot>\n )}\n </div>\n );\n}\n"]}
|
package/dist/TabNavigation.d.ts
CHANGED
package/dist/TabNavigation.js
CHANGED
|
@@ -85,7 +85,7 @@ let UDExTabNavigation = UDExTabNavigation_1 = class UDExTabNavigation extends UI
|
|
|
85
85
|
* @public
|
|
86
86
|
* @default "Small"
|
|
87
87
|
*/
|
|
88
|
-
this.
|
|
88
|
+
this.sizeMoreButton = "Small";
|
|
89
89
|
/**
|
|
90
90
|
* Defines the mode of the component.
|
|
91
91
|
*
|
|
@@ -505,6 +505,7 @@ let UDExTabNavigation = UDExTabNavigation_1 = class UDExTabNavigation extends UI
|
|
|
505
505
|
this.setVisibleTabs();
|
|
506
506
|
this.setTabsIndex(selectedTabIndex);
|
|
507
507
|
this.emitClickEvent(selectedTabIndex + 1);
|
|
508
|
+
this.fireDecoratorEvent("tab-select", { tab: this._selectedTab, tabIndex: selectedTabIndex });
|
|
508
509
|
}
|
|
509
510
|
getMoreButton() {
|
|
510
511
|
return this.shadowRoot.querySelector(".udex-tab-navigation__button-more");
|
|
@@ -836,7 +837,7 @@ let UDExTabNavigation = UDExTabNavigation_1 = class UDExTabNavigation extends UI
|
|
|
836
837
|
};
|
|
837
838
|
__decorate([
|
|
838
839
|
property()
|
|
839
|
-
], UDExTabNavigation.prototype, "
|
|
840
|
+
], UDExTabNavigation.prototype, "sizeMoreButton", void 0);
|
|
840
841
|
__decorate([
|
|
841
842
|
property()
|
|
842
843
|
], UDExTabNavigation.prototype, "mode", void 0);
|