@ui5/webcomponents-fiori 2.24.0-rc.1 → 2.24.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/CHANGELOG.md +53 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/BarcodeScannerDialog.d.ts +4 -2
- package/dist/BarcodeScannerDialog.js +4 -2
- package/dist/BarcodeScannerDialog.js.map +1 -1
- package/dist/DynamicPage.js +17 -6
- package/dist/DynamicPage.js.map +1 -1
- package/dist/FlexibleColumnLayoutTemplate.js +2 -2
- package/dist/FlexibleColumnLayoutTemplate.js.map +1 -1
- package/dist/IllustratedMessageTemplate.js +1 -1
- package/dist/IllustratedMessageTemplate.js.map +1 -1
- package/dist/Search.d.ts +3 -0
- package/dist/Search.js +8 -6
- package/dist/Search.js.map +1 -1
- package/dist/SearchPopoverTemplate.js +2 -2
- package/dist/SearchPopoverTemplate.js.map +1 -1
- package/dist/ShellBar.d.ts +9 -0
- package/dist/ShellBar.js +18 -4
- package/dist/ShellBar.js.map +1 -1
- package/dist/ShellBarBranding.d.ts +3 -1
- package/dist/ShellBarBranding.js +16 -9
- package/dist/ShellBarBranding.js.map +1 -1
- package/dist/ShellBarItem.d.ts +4 -1
- package/dist/ShellBarItem.js +5 -0
- package/dist/ShellBarItem.js.map +1 -1
- package/dist/ShellBarItemTemplate.js +1 -1
- package/dist/ShellBarItemTemplate.js.map +1 -1
- package/dist/ShellBarSearch.js +1 -0
- package/dist/ShellBarSearch.js.map +1 -1
- package/dist/ShellBarTemplate.js +1 -1
- package/dist/ShellBarTemplate.js.map +1 -1
- package/dist/Timeline.d.ts +3 -3
- package/dist/Timeline.js +1 -1
- package/dist/Timeline.js.map +1 -1
- package/dist/UserMenu.d.ts +15 -0
- package/dist/UserMenu.js +20 -0
- package/dist/UserMenu.js.map +1 -1
- package/dist/UserMenuTemplate.js +1 -1
- package/dist/UserMenuTemplate.js.map +1 -1
- package/dist/css/themes/DynamicPage.css +1 -1
- package/dist/css/themes/HeroBanner.css +1 -1
- package/dist/css/themes/IllustratedMessage.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +1 -12
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -12
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -12
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +0 -12
- package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +1 -12
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -12
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -12
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -12
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -12
- package/dist/custom-elements-internal.json +50 -10
- package/dist/custom-elements.json +38 -7
- package/dist/fcl-utils/FCLLayout.js +1 -1
- package/dist/fcl-utils/FCLLayout.js.map +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
- package/dist/generated/themes/DynamicPage.css.js +1 -1
- package/dist/generated/themes/DynamicPage.css.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/IllustratedMessage.css.d.ts +1 -1
- package/dist/generated/themes/IllustratedMessage.css.js +1 -1
- package/dist/generated/themes/IllustratedMessage.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/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +1 -12
- package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -12
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +0 -12
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +0 -12
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +1 -12
- package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -12
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +0 -12
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -12
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +0 -12
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +7 -2
- package/dist/web-types.json +19 -5
- package/package.json +7 -7
- package/src/FlexibleColumnLayoutTemplate.tsx +4 -2
- package/src/IllustratedMessageTemplate.tsx +1 -1
- package/src/SearchPopoverTemplate.tsx +2 -1
- package/src/ShellBarItemTemplate.tsx +1 -0
- package/src/ShellBarTemplate.tsx +1 -1
- package/src/UserMenuTemplate.tsx +1 -1
- package/src/themes/DynamicPage.css +11 -13
- package/src/themes/HeroBanner.css +22 -19
- package/src/themes/IllustratedMessage.css +14 -14
- package/src/themes/Search.css +1 -0
- package/src/themes/base/HeroBanner-parameters.css +0 -1
- package/src/themes/base/Search-parameters.css +1 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +0 -1
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +0 -1
- package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
- package/src/themes/base/IllustratedMessage-parameters.css +0 -13
|
@@ -72,8 +72,10 @@ declare class ShellBarBranding extends UI5Element {
|
|
|
72
72
|
get _role(): "button" | "link";
|
|
73
73
|
get accessibleNameText(): string | undefined;
|
|
74
74
|
_fireClick(): void;
|
|
75
|
+
private _activate;
|
|
76
|
+
private _getAnchor;
|
|
75
77
|
_onclick(e: MouseEvent): void;
|
|
76
|
-
_onkeyup(e: KeyboardEvent): void;
|
|
77
78
|
_onkeydown(e: KeyboardEvent): void;
|
|
79
|
+
_onkeyup(e: KeyboardEvent): void;
|
|
78
80
|
}
|
|
79
81
|
export default ShellBarBranding;
|
package/dist/ShellBarBranding.js
CHANGED
|
@@ -57,23 +57,30 @@ let ShellBarBranding = class ShellBarBranding extends UI5Element {
|
|
|
57
57
|
_fireClick() {
|
|
58
58
|
this.fireDecoratorEvent("click");
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
_activate(e) {
|
|
61
61
|
e.stopPropagation();
|
|
62
62
|
this._fireClick();
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
_getAnchor() {
|
|
65
|
+
return this.shadowRoot?.querySelector("a");
|
|
66
|
+
}
|
|
67
|
+
_onclick(e) {
|
|
68
|
+
this._activate(e);
|
|
68
69
|
}
|
|
69
70
|
_onkeydown(e) {
|
|
70
|
-
if (
|
|
71
|
+
if (isEnter(e) && !this.href) {
|
|
71
72
|
e.preventDefault();
|
|
72
|
-
|
|
73
|
+
this._getAnchor()?.click();
|
|
73
74
|
}
|
|
74
|
-
if (
|
|
75
|
-
|
|
75
|
+
else if (isSpace(e)) {
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
_onkeyup(e) {
|
|
80
|
+
if (!isSpace(e)) {
|
|
81
|
+
return;
|
|
76
82
|
}
|
|
83
|
+
this._getAnchor()?.click();
|
|
77
84
|
}
|
|
78
85
|
};
|
|
79
86
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBarBranding.js","sourceRoot":"","sources":["../src/ShellBarBranding.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EACN,OAAO,EACP,OAAO,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAE5E,WAAW;AACX,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAErE,SAAS;AACT,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAE7E;;;;;;;;;;;;;GAaG;AAiBH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QA0CC;;;;WAIM;QAEN,mBAAc,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellBarBranding.js","sourceRoot":"","sources":["../src/ShellBarBranding.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n\n// Template\nimport ShellBarBrandingTemplate from \"./ShellBarBrandingTemplate.js\";\n\n// Styles\nimport shellBarBrandingCss from \"./generated/themes/ShellBarBranding.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-shellbar-branding` component is intended to be placed inside the branding slot of the\n * `ui5-shellbar` component. Its content has higher priority than the `primaryTitle` property\n * and the `logo` slot of `ui5-shellbar`.\n *\n * @constructor\n * @extends UI5Element\n * @since 2.12.0\n * @public\n * @experimental\n */\n@customElement({\n\ttag: \"ui5-shellbar-branding\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ShellBarBrandingTemplate,\n\tstyles: shellBarBrandingCss,\n})\n\n/**\n * Fired, when the logo is activated.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\n\nclass ShellBarBranding extends UI5Element {\n\teventDetails!: {\n\t\tclick: void,\n\t}\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n @property()\n href?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * If not provided a default text alternative will be set, if present.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n * Defines if the title of the branding is shown on an S breakpoint.\n * @default false\n * @private\n */\n\t@property({ type: Boolean })\n\t_isSBreakPoint = false;\n\n\t/**\n\t * Defines the title for the ui5-shellbar-branding component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: DefaultSlot<HTMLElement>;\n\n\t/**\n\t * Defines the logo of the `ui5-shellbar`.\n\t * For example, you can use `ui5-avatar` or `img` elements as logo.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tlogo!: Slot<HTMLElement>;\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget _role() {\n\t\treturn this.href && this.href.length > 0 ? \"link\" : \"button\";\n\t}\n\n\tget accessibleNameText() {\n\t\tif (this.accessibleName) {\n\t\t\treturn this.accessibleName;\n\t\t}\n\n\t\tconst defaultSlot = this.shadowRoot?.querySelector(\"slot:not([name])\") as HTMLSlotElement;\n\t\treturn defaultSlot?.assignedNodes({ flatten: true })\n\t\t\t.find(n => n.nodeType === Node.TEXT_NODE && n.textContent?.trim())\n\t\t\t?.textContent!.trim();\n\t}\n\n\t_fireClick() {\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n\n\tprivate _activate(e: Event) {\n\t\te.stopPropagation();\n\t\tthis._fireClick();\n\t}\n\n\tprivate _getAnchor() {\n\t\treturn this.shadowRoot?.querySelector(\"a\") as HTMLAnchorElement | null;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._activate(e);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\te.preventDefault();\n\t\t\tthis._getAnchor()?.click();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._getAnchor()?.click();\n\t}\n}\n\nShellBarBranding.define();\n\nexport default ShellBarBranding;\n"]}
|
package/dist/ShellBarItem.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type { AccessibilityAttributes, UI5CustomEvent } from "@ui5/webcomponents-base";
|
|
3
3
|
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
4
|
+
import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
|
|
4
5
|
type ShellBarItemClickEventDetail = {
|
|
5
6
|
targetRef: HTMLElement;
|
|
6
7
|
};
|
|
@@ -68,9 +69,11 @@ declare class ShellBarItem extends UI5Element {
|
|
|
68
69
|
*/
|
|
69
70
|
inOverflow: boolean;
|
|
70
71
|
get stableDomRef(): string;
|
|
72
|
+
get isShellBarItem(): boolean;
|
|
71
73
|
hasListItems(): boolean;
|
|
72
74
|
get listItems(): HTMLElement[];
|
|
73
|
-
fireClickEvent(e: UI5CustomEvent<Button, "click">): boolean;
|
|
75
|
+
fireClickEvent(e: UI5CustomEvent<Button, "click"> | UI5CustomEvent<ListItemStandard, "click">): boolean;
|
|
74
76
|
}
|
|
75
77
|
export default ShellBarItem;
|
|
78
|
+
export declare const isInstanceOfShellBarItem: (object: any) => object is ShellBarItem;
|
|
76
79
|
export type { ShellBarItemClickEventDetail, ShellBarItemAccessibilityAttributes };
|
package/dist/ShellBarItem.js
CHANGED
|
@@ -9,6 +9,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
9
9
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
10
10
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
11
11
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
12
|
+
import createInstanceChecker from "@ui5/webcomponents-base/dist/util/createInstanceChecker.js";
|
|
12
13
|
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
13
14
|
import ButtonBadge from "@ui5/webcomponents/dist/ButtonBadge.js";
|
|
14
15
|
import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
|
|
@@ -58,6 +59,9 @@ let ShellBarItem = class ShellBarItem extends UI5Element {
|
|
|
58
59
|
get stableDomRef() {
|
|
59
60
|
return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
|
|
60
61
|
}
|
|
62
|
+
get isShellBarItem() {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
61
65
|
hasListItems() {
|
|
62
66
|
return this.inOverflow;
|
|
63
67
|
}
|
|
@@ -110,4 +114,5 @@ ShellBarItem = __decorate([
|
|
|
110
114
|
], ShellBarItem);
|
|
111
115
|
ShellBarItem.define();
|
|
112
116
|
export default ShellBarItem;
|
|
117
|
+
export const isInstanceOfShellBarItem = createInstanceChecker("isShellBarItem");
|
|
113
118
|
//# sourceMappingURL=ShellBarItem.js.map
|
package/dist/ShellBarItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBarItem.js","sourceRoot":"","sources":["../src/ShellBarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellBarItem.js","sourceRoot":"","sources":["../src/ShellBarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,qBAAqB,MAAM,4DAA4D,CAAC;AAE/F,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAQ1E;;;;;;;;;GASG;AAiBH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QAgCC;;;;;;;;;;;;;;;;;;;WAmBG;QAEH,4BAAuB,GAAwC,EAAE,CAAC;QAElE;;;;WAIG;QAEH,eAAU,GAAG,KAAK,CAAC;IA2BpB,CAAC;IAzBA,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,CAA8E;QAC5F,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACvC,SAAS,EAAG,CAAC,CAAC,MAAsB;SACpC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA7EA;IADC,QAAQ,EAAE;0CACG;AAUd;IADC,QAAQ,EAAE;0CACG;AASd;IADC,QAAQ,EAAE;2CACI;AAuBf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6DACuC;AAQlE;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACT;AA7Dd,YAAY;IAhBjB,aAAa,CAAC;QACd,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,oBAAoB;QAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC;KACrD,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;GACI,YAAY,CAwFjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC;AAC5B,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAe,gBAAgB,CAAC,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\nimport type { AccessibilityAttributes, UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport ShellBarItemTemplate from \"./ShellBarItemTemplate.js\";\nimport shellBarV2ItemStyles from \"./generated/themes/ShellBarItem.css.js\";\n\ntype ShellBarItemClickEventDetail = {\n\ttargetRef: HTMLElement,\n};\n\ntype ShellBarItemAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"controls\">;\n\n/**\n * @class\n * The `ui5-shellbar-item` represents a custom item for `ui5-shellbar`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ShellBarItem.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-shellbar-item\",\n\trenderer: jsxRenderer,\n\ttemplate: ShellBarItemTemplate,\n\tstyles: shellBarV2ItemStyles,\n\tdependencies: [Button, ButtonBadge, ListItemStandard],\n})\n/**\n * Fired when the item is clicked.\n * @param {HTMLElement} targetRef DOM ref of the clicked element\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ShellBarItem extends UI5Element {\n\teventDetails!: {\n\t\tclick: ShellBarItemClickEventDetail,\n\t}\n\n\t/**\n\t * Defines the item's icon.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the item text.\n\t *\n\t * **Note:** The text is only displayed inside the overflow popover list view.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the count displayed in badge.\n\t * @default undefined\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tcount?: string;\n\n\t/**\n\t * Defines additional accessibility attributes on Shellbar Items.\n\t *\n\t * The accessibility attributes support the following values:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls,\n\t * is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element,\n\t * such as menu or dialog, that can be triggered by the button.\n\t *\n\t * - **controls**: Identifies the element (or elements) whose contents\n\t * or presence are controlled by the component.\n\t * Accepts a lowercase string value, referencing the ID of the element it controls.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ShellBarItemAccessibilityAttributes = {};\n\n\t/**\n\t * Indicates if item is in overflow popover.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tinOverflow = false;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget isShellBarItem(): boolean {\n\t\treturn true;\n\t}\n\n\thasListItems() {\n\t\treturn this.inOverflow;\n\t}\n\n\tget listItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef || !this.inOverflow) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [domRef];\n\t}\n\n\tfireClickEvent(e: UI5CustomEvent<Button, \"click\"> | UI5CustomEvent<ListItemStandard, \"click\">) {\n\t\treturn this.fireDecoratorEvent(\"click\", {\n\t\t\ttargetRef: (e.target as HTMLElement),\n\t\t});\n\t}\n}\n\nShellBarItem.define();\n\nexport default ShellBarItem;\nexport const isInstanceOfShellBarItem = createInstanceChecker<ShellBarItem>(\"isShellBarItem\");\nexport type { ShellBarItemClickEventDetail, ShellBarItemAccessibilityAttributes };\n"]}
|
|
@@ -4,7 +4,7 @@ import ButtonBadge from "@ui5/webcomponents/dist/ButtonBadge.js";
|
|
|
4
4
|
import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
|
|
5
5
|
export default function ShellBarItemTemplate() {
|
|
6
6
|
if (this.inOverflow) {
|
|
7
|
-
return (_jsx(ListItemStandard, { icon: this.icon ? `sap-icon://${this.icon}` : "", type: "Active", "data-count": this.count, "data-ui5-stable": this.stableDomRef, accessibilityAttributes: this.accessibilityAttributes, children: this.text }));
|
|
7
|
+
return (_jsx(ListItemStandard, { icon: this.icon ? `sap-icon://${this.icon}` : "", type: "Active", "data-count": this.count, "data-ui5-stable": this.stableDomRef, accessibilityAttributes: this.accessibilityAttributes, onClick: this.fireClickEvent, children: this.text }));
|
|
8
8
|
}
|
|
9
9
|
return (_jsx(Button, { class: "ui5-shellbar-action-button", icon: this.icon, design: "Transparent", accessibleName: this.text, "data-ui5-stable": this.stableDomRef, accessibilityAttributes: this.accessibilityAttributes, onClick: this.fireClickEvent, children: this.count && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: this.count })) }));
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBarItemTemplate.js","sourceRoot":"","sources":["../src/ShellBarItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAG3E,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CACN,KAAC,gBAAgB,IAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAChD,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,KAAK,qBACL,IAAI,CAAC,YAAY,EAClC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ShellBarItemTemplate.js","sourceRoot":"","sources":["../src/ShellBarItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAG3E,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CACN,KAAC,gBAAgB,IAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAChD,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,KAAK,qBACL,IAAI,CAAC,YAAY,EAClC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EACrD,OAAO,EAAE,IAAI,CAAC,cAAc,YAE3B,IAAI,CAAC,IAAI,GACQ,CACnB,CAAC;IACH,CAAC;IAED,OAAO,CACN,KAAC,MAAM,IACN,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAC,aAAa,EACpB,cAAc,EAAE,IAAI,CAAC,IAAI,qBACR,IAAI,CAAC,YAAY,EAClC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EACrD,OAAO,EAAE,IAAI,CAAC,cAAc,YAE3B,IAAI,CAAC,KAAK,IAAI,CACd,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,CACnE,GACO,CACT,CAAC;AACH,CAAC","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\nexport default function ShellBarItemTemplate(this: ShellBarItem) {\n\tif (this.inOverflow) {\n\t\treturn (\n\t\t\t<ListItemStandard\n\t\t\t\ticon={this.icon ? `sap-icon://${this.icon}` : \"\"}\n\t\t\t\ttype=\"Active\"\n\t\t\t\tdata-count={this.count}\n\t\t\t\tdata-ui5-stable={this.stableDomRef}\n\t\t\t\taccessibilityAttributes={this.accessibilityAttributes}\n\t\t\t\tonClick={this.fireClickEvent}\n\t\t\t>\n\t\t\t\t{this.text}\n\t\t\t</ListItemStandard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclass=\"ui5-shellbar-action-button\"\n\t\t\ticon={this.icon}\n\t\t\tdesign=\"Transparent\"\n\t\t\taccessibleName={this.text}\n\t\t\tdata-ui5-stable={this.stableDomRef}\n\t\t\taccessibilityAttributes={this.accessibilityAttributes}\n\t\t\tonClick={this.fireClickEvent}\n\t\t>\n\t\t\t{this.count && (\n\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={this.count} />\n\t\t\t)}\n\t\t</Button>\n\t);\n}\n"]}
|
package/dist/ShellBarSearch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBarSearch.js","sourceRoot":"","sources":["../src/ShellBarSearch.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GACzB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;GAQG;AAUH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,MAAM;IAAnC;;QACC;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellBarSearch.js","sourceRoot":"","sources":["../src/ShellBarSearch.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GACzB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;GAQG;AAUH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,MAAM;IAAnC;;QACC;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAgFlB,CAAC;IA9EA,sBAAsB;QACrB,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,OAAO;QACR,CAAC;QAED,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;IACF,CAAC;IAED,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC,EAAE,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;IAED,iBAAiB,CAAC,CAAa;QAC9B,IAAI,OAAO,EAAE,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,CAAa;QACzB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,OAAO,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,CAAC;IACF,CAAC;IAED,IAAI,qBAAqB;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,WAAW;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAE/B,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAmB,gCAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAClH,CAAC;IAED,UAAU;QACT,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,OAAO,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;IACF,CAAC;CACD,CAAA;AAhFA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACX;AAPZ,cAAc;IATnB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE;YACP,MAAM,CAAC,MAAM;YACb,iBAAiB;SACjB;KACD,CAAC;GAEI,cAAc,CAuFnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport Search from \"./Search.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ShellBarSearchTemplate from \"./ShellBarSearchTemplate.js\";\nimport ShellBarSearchCss from \"./generated/themes/ShellBarSearch.css.js\";\n\nimport {\n\tSEARCH_FIELD_SEARCH_ICON,\n\tSHELLBAR_SEARCH_EXPANDED,\n\tSHELLBAR_SEARCH_COLLAPSED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n * Search field for the ShellBar component.\n * @constructor\n * @extends Search\n * @public\n * @since 2.10.0\n * @experimental\n */\n@customElement({\n\ttag: \"ui5-shellbar-search\",\n\ttemplate: ShellBarSearchTemplate,\n\tstyles: [\n\t\tSearch.styles,\n\t\tShellBarSearchCss,\n\t],\n})\n\nclass ShellBarSearch extends Search {\n\t/**\n\t * Indicates whether the suggestions popover should be opened on focus.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tautoOpen = false;\n\n\t_handleSearchIconPress() {\n\t\tif (isPhone() && this.open) {\n\t\t\tthis._handleSearchEvent();\n\t\t\tthis._closePopupAndResetState();\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._handleSearchIconPress();\n\n\t\tif (this.collapsed) {\n\t\t\tthis.collapsed = false;\n\t\t} else if (!this.value) {\n\t\t\tthis.collapsed = true;\n\t\t}\n\t}\n\n\t_handleEnter() {\n\t\tif (!this.value && !this.collapsed) {\n\t\t\tthis.collapsed = true;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.focus();\n\t\t\t}, 0);\n\t\t} else {\n\t\t\tsuper._handleEnter();\n\t\t}\n\t}\n\n\t_onFocusOutSearch(e: FocusEvent) {\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._onFocusOutSearch(e);\n\t}\n\n\t_handleInput(e: InputEvent) {\n\t\tsuper._handleInput(e);\n\n\t\tif (isPhone()) {\n\t\t\tthis._performItemSelectionOnMobile = this._shouldPerformSelectionOnMobile(e.inputType);\n\t\t}\n\t}\n\n\tget _effectiveIconTooltip() {\n\t\tif (this.collapsed) {\n\t\t\treturn ShellBarSearch.i18nBundle.getText(SHELLBAR_SEARCH_COLLAPSED);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\treturn ShellBarSearch.i18nBundle.getText(SEARCH_FIELD_SEARCH_ICON);\n\t\t}\n\n\t\treturn ShellBarSearch.i18nBundle.getText(SHELLBAR_SEARCH_EXPANDED);\n\t}\n\n\tget nativeInput() {\n\t\tconst domRef = this.shadowRoot;\n\n\t\treturn isPhone() ? domRef?.querySelector<HTMLInputElement>(`[ui5-responsive-popover] input`) : super.nativeInput;\n\t}\n\n\t_onfocusin() {\n\t\tsuper._onfocusin();\n\n\t\tif (this.autoOpen) {\n\t\t\tthis.open = true;\n\t\t\tthis.fireDecoratorEvent(\"open\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tsuper.onBeforeRendering();\n\n\t\tif (isPhone()) {\n\t\t\tthis.collapsed = true;\n\t\t}\n\t}\n}\n\nShellBarSearch.define();\n\nexport default ShellBarSearch;\n"]}
|
package/dist/ShellBarTemplate.js
CHANGED
|
@@ -37,7 +37,7 @@ export default function ShellBarTemplate() {
|
|
|
37
37
|
}, children: _jsx("slot", { name: "assistant" }) })), notificationsAction && (_jsx(Button, { "data-ui5-stable": notificationsAction.stableDomRef, class: {
|
|
38
38
|
"ui5-shellbar-bell-button ui5-shellbar-action-button ui5-shellbar-gap-start": true,
|
|
39
39
|
"ui5-shellbar-hidden": this.isHidden("notifications")
|
|
40
|
-
}, icon: notificationsAction.icon, design: "Transparent", onClick: this.handleNotificationsClick, tooltip: actionsAccInfo.notifications.title, accessibilityAttributes: actionsAccInfo.notifications.accessibilityAttributes, children: notificationsAction?.count && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: notificationsAction?.count })) })), this.
|
|
40
|
+
}, icon: notificationsAction.icon, design: "Transparent", onClick: this.handleNotificationsClick, tooltip: actionsAccInfo.notifications.title, accessibilityAttributes: actionsAccInfo.notifications.accessibilityAttributes, children: notificationsAction?.count && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: notificationsAction?.count })) })), this._validItems.map(item => (_jsx("div", { class: {
|
|
41
41
|
"ui5-shellbar-custom-item ui5-shellbar-gap-start": true,
|
|
42
42
|
"ui5-shellbar-hidden": this.isHidden(item._id),
|
|
43
43
|
}, "data-ui5-stable": item.stableDomRef, children: !item.inOverflow ? _jsx("slot", { name: item._individualSlot }) : null }, item._id))), overflowAction && (_jsx(Button, { "data-ui5-stable": overflowAction.stableDomRef, id: "ui5-shellbar-overflow-button", class: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBarTemplate.js","sourceRoot":"","sources":["../src/ShellBarTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAEnD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACN,mBAAmB,EACnB,4BAA4B,EAC5B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACN,mBAAmB,IAAI,yBAAyB,EAChD,oBAAoB,IAAI,0BAA0B,EAClD,4BAA4B,IAAI,kCAAkC,GAClE,MAAM,sDAAsD,CAAC;AAE9D,OAAO,EACN,0BAA0B,GAC1B,MAAM,gDAAgD,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACvC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;IAErD,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC7F,MAAM,uBAAuB,GAAG,cAAc,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAEnH,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC;IAErD,OAAO,CACN,8BACC,kBAAQ,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,gBAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,aAEvG,IAAI,CAAC,mBAAmB,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAE9D,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,CACpC,cAAK,KAAK,EAAC,gDAAgD,YAC1D,eAAM,IAAI,EAAC,aAAa,GAAQ,GAC3B,CACN,EAEA,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,CACjC,cAAK,KAAK,EAAC,4BAA4B,YACtC,eAAM,IAAI,EAAC,UAAU,GAAQ,GACxB,CACN,EAGA,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAExE,cAAK,KAAK,EAAC,iCAAiC,YAC3C,eAAK,KAAK,EAAC,uCAAuC,aAEhD,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAChC,eACC,KAAK,EAAC,sDAAsD,EAC5D,IAAI,EAAE,IAAI,CAAC,WAAW,gBACV,IAAI,CAAC,KAAK,CAAC,YAAY,aAGlC,IAAI,CAAC,eAAe,CAAC,kBAAkB,IAAI,CAC3C,cAAK,KAAK,EAAC,qDAAqD,GAAO,CACvE,EAGA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4CAC7B,MAAM,MAAM,GAAI,IAAY,CAAC,eAAyB,CAAC;4CACvD,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4CAC1D,OAAO,CACN,eAEC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;oDACN,kDAAkD,EAAE,IAAI;oDACxD,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;iDAC5C,aAEA,SAAS,CAAC,UAAU,IAAI,CACxB,cAAK,KAAK,EAAC,qDAAqD,GAAO,CACvE,EACD,eAAM,IAAI,EAAG,IAAY,CAAC,eAAe,GAAS,KAV7C,MAAM,CAWN,CACN,CAAC;wCACH,CAAC,CAAC,EAGF,cAAK,KAAK,EAAC,qBAAqB,GAAO,EAGtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4CAC3B,MAAM,MAAM,GAAI,IAAY,CAAC,eAAyB,CAAC;4CACvD,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;4CAC3D,OAAO,CACN,eAEC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;oDACN,kDAAkD,EAAE,IAAI;oDACxD,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;iDAC5C,aAED,eAAM,IAAI,EAAE,MAAM,GAAS,EAC1B,SAAS,CAAC,UAAU,IAAI,CACxB,cAAK,KAAK,EAAC,0EAA0E,GAAO,CAC5F,KAVI,MAAM,CAWN,CACN,CAAC;wCACH,CAAC,CAAC,EAGD,IAAI,CAAC,eAAe,CAAC,gBAAgB,IAAI,CACzC,cAAK,KAAK,EAAC,0EAA0E,GAAO,CAC5F,IACI,CACN,EAEA,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7D,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,cAAc,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAEtF,eAAe,IAAI,CACnB,cAAK,KAAK,EAAE;wCACX,sDAAsD,EAAE,IAAI;wCAC5D,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;qCACjD,YACA,eAAM,IAAI,EAAC,WAAW,GAAQ,GACzB,CACN,EAEA,mBAAmB,IAAI,CACvB,KAAC,MAAM,uBACW,mBAAmB,CAAC,YAAY,EACjD,KAAK,EAAE;wCACN,4EAA4E,EAAE,IAAI;wCAClF,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;qCACrD,EACD,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAC9B,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,EAC3C,uBAAuB,EAAE,cAAc,CAAC,aAAa,CAAC,uBAAuB,YAE5E,mBAAmB,EAAE,KAAK,IAAI,CAC9B,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,GAAI,CACnF,GACO,CACT,EAGA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,cAEC,KAAK,EAAE;wCACN,iDAAiD,EAAE,IAAI;wCACvD,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;qCAC9C,qBACgB,IAAI,CAAC,YAAY,YAEjC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAM,IAAI,EAAG,IAAY,CAAC,eAAe,GAAS,CAAC,CAAC,CAAC,IAAI,IAPxE,IAAI,CAAC,GAAG,CAQR,CACN,CAAC,EAED,cAAc,IAAI,CAClB,KAAC,MAAM,uBACW,cAAc,CAAC,YAAY,EAC5C,EAAE,EAAC,8BAA8B,EACjC,KAAK,EAAE;wCACN,gFAAgF,EAAE,IAAI;wCACtF,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;qCAChD,EACD,IAAI,EAAE,cAAc,CAAC,IAAI,EACzB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,EACtC,uBAAuB,EAAE,cAAc,CAAC,QAAQ,CAAC,uBAAuB,YAEvE,IAAI,CAAC,aAAa,IAAI,CACtB,KAAC,WAAW,IACX,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,IAAI,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,EACnE,IAAI,EAAE,IAAI,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GACzD,CACF,GACO,CACT,EAEA,aAAa,IAAI,CACjB,KAAC,MAAM,iDAEW,aAAa,CAAC,YAAY,EAC3C,KAAK,EAAE;wCACN,6EAA6E,EAAE,IAAI;wCACnF,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;qCAC/C,EACD,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EACrC,uBAAuB,EAAE,cAAc,CAAC,OAAO,CAAC,uBAAuB,YAEvE,eAAM,IAAI,EAAC,SAAS,GAAQ,GACpB,CACT,EAEA,mBAAmB,IAAI,CACvB,KAAC,MAAM,uBACW,mBAAmB,CAAC,YAAY,EACjD,KAAK,EAAE;wCACN,sFAAsF,EAAE,IAAI;wCAC5F,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;qCAChD,EACD,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAC9B,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,EACtC,uBAAuB,EAAE,cAAc,CAAC,QAAQ,CAAC,uBAAuB,GAC/D,CACV,IACI,GACD,IACE,EAGT,KAAC,OAAO,IACP,KAAK,EAAC,+BAA+B,EACrC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAC9B,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,MAAM,EAAC,8BAA8B,EACrC,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAE,IAAI,EACf,eAAe,EAAE,IAAI,CAAC,sBAAsB,YAE5C,KAAC,IAAI,IAAC,UAAU,EAAC,MAAM,EAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,YAC3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;4BAC7B,OAAO,CACN,KAAC,YAAY,IAEZ,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,oBAC5C,IAAI,CAAC,EAAE,EACvB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,UAAU,EAAE,IAAI,EAChB,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IALpC,IAAI,CAAC,EAAE,CAMX,CACF,CAAC;wBACH,CAAC;wBACD,OAAO,eAAoB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,IAAxC,IAAI,CAAC,EAAE,CAA0C,CAAC;oBACrE,CAAC,CAAC,GACI,GACE,IACR,CACH,CAAC;AACH,CAAC","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type ShellBar from \"./ShellBar.js\";\nimport ShellBarItem from \"./ShellBarItem.js\";\n\nimport {\n\tShellBarSearchField,\n\tShellBarSearchFieldFullWidth\n} from \"./shellbar/templates/ShellBarSearchTemplate.js\";\n\nimport {\n\tShellBarSearchField as ShellBarSearchFieldLegacy,\n\tShellBarSearchButton as ShellBarSearchButtonLegacy,\n\tShellBarSearchFieldFullWidth as ShellBarSearchFieldFullWidthLegacy,\n} from \"./shellbar/templates/ShellBarSearchLegacyTemplate.js\";\n\nimport {\n\tShellBarLegacyBrandingArea,\n} from \"./shellbar/templates/ShellBarLegacyTemplate.js\";\n\nexport default function ShellBarTemplate(this: ShellBar) {\n\tconst isLegacySearch = !this.isSelfCollapsibleSearch;\n\n\tconst SearchInBarTemplate = isLegacySearch ? ShellBarSearchFieldLegacy : ShellBarSearchField;\n\tconst SearchFullWidthTemplate = isLegacySearch ? ShellBarSearchFieldFullWidthLegacy : ShellBarSearchFieldFullWidth;\n\n\tconst profileAction = this.getAction(\"profile\");\n\tconst overflowAction = this.getAction(\"overflow\");\n\tconst assistantAction = this.getAction(\"assistant\");\n\tconst notificationsAction = this.getAction(\"notifications\");\n\tconst productSwitchAction = this.getAction(\"products\");\n\n\tconst actionsAccInfo = this.actionsAccessibilityInfo;\n\n\treturn (\n\t\t<>\n\t\t\t<header class=\"ui5-shellbar-root\" part=\"root\" onKeyDown={this._onKeyDown} aria-label={this.texts.shellbar}>\n\t\t\t\t{/* Full-width search overlay */}\n\t\t\t\t{this.showFullWidthSearch && SearchFullWidthTemplate.call(this)}\n\n\t\t\t\t{this.enabledFeatures.startButton && (\n\t\t\t\t\t<div class=\"ui5-shellbar-start-button ui5-shellbar-gap-end\">\n\t\t\t\t\t\t<slot name=\"startButton\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{this.enabledFeatures.branding && (\n\t\t\t\t\t<div class=\"ui5-shellbar-branding-area\">\n\t\t\t\t\t\t<slot name=\"branding\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{/* Legacy branding (logo + primaryTitle) when no menu items */}\n\t\t\t\t{!this.enabledFeatures.branding && ShellBarLegacyBrandingArea.call(this)}\n\n\t\t\t\t<div class=\"ui5-shellbar-overflow-container\">\n\t\t\t\t\t<div class=\"ui5-shellbar-overflow-container-inner\">\n\n\t\t\t\t\t\t{this.enabledFeatures.content && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"ui5-shellbar-content-area ui5-shellbar-content-items\"\n\t\t\t\t\t\t\t\trole={this.contentRole}\n\t\t\t\t\t\t\t\taria-label={this.texts.contentItems}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Start separator */}\n\t\t\t\t\t\t\t\t{this.separatorConfig.showStartSeparator && (\n\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-start\"></div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Start content items */}\n\t\t\t\t\t\t\t\t{this.startContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemId = (item as any)._individualSlot as string;\n\t\t\t\t\t\t\t\t\tconst packedSep = this.getPackedSeparatorInfo(item, true);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={itemId}\n\t\t\t\t\t\t\t\t\t\t\tid={itemId}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-content-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(itemId),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{packedSep.shouldPack && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-start\"></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t<slot name={(item as any)._individualSlot}></slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t{/* Spacer: Grows to fill available space, used to measure if space is tight, should be in DOM always */}\n\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-spacer\"></div>\n\n\t\t\t\t\t\t\t\t{/* End content items */}\n\t\t\t\t\t\t\t\t{this.endContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemId = (item as any)._individualSlot as string;\n\t\t\t\t\t\t\t\t\tconst packedSep = this.getPackedSeparatorInfo(item, false);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={itemId}\n\t\t\t\t\t\t\t\t\t\t\tid={itemId}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-content-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(itemId),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<slot name={itemId}></slot>\n\t\t\t\t\t\t\t\t\t\t\t{packedSep.shouldPack && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start\"></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t{/* End separator */}\n\t\t\t\t\t\t\t\t{this.separatorConfig.showEndSeparator && (\n\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start\"></div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{this.enabledFeatures.search && SearchInBarTemplate.call(this)}\n\t\t\t\t\t\t{this.enabledFeatures.search && isLegacySearch && ShellBarSearchButtonLegacy.call(this)}\n\n\t\t\t\t\t\t{assistantAction && (\n\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\"ui5-shellbar-assistant-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"assistant\")\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<slot name=\"assistant\"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{notificationsAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={notificationsAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-bell-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"notifications\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={notificationsAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleNotificationsClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.notifications.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.notifications.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{notificationsAction?.count && (\n\t\t\t\t\t\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={notificationsAction?.count} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Custom Items */}\n\t\t\t\t\t\t{this.items.map(item => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={item._id}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-custom-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(item._id),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdata-ui5-stable={item.stableDomRef}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!item.inOverflow ? <slot name={(item as any)._individualSlot}></slot> : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t{overflowAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={overflowAction.stableDomRef}\n\t\t\t\t\t\t\t\tid=\"ui5-shellbar-overflow-button\"\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-overflow-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"overflow\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={overflowAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleOverflowClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.overflow.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.overflow.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.overflowBadge && (\n\t\t\t\t\t\t\t\t\t<ButtonBadge\n\t\t\t\t\t\t\t\t\t\tslot=\"badge\"\n\t\t\t\t\t\t\t\t\t\tdesign={this.overflowBadge === \" \" ? \"AttentionDot\" : \"OverlayText\"}\n\t\t\t\t\t\t\t\t\t\ttext={this.overflowBadge === \" \" ? \"\" : this.overflowBadge}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{profileAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-profile-btn\n\t\t\t\t\t\t\t\tdata-ui5-stable={profileAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-image-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"profile\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleProfileClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.profile.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.profile.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot name=\"profile\"></slot>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{productSwitchAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={productSwitchAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-button-product-switch ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"products\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={productSwitchAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleProductSwitchClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.products.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.products.accessibilityAttributes}\n\t\t\t\t\t\t\t></Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</header>\n\n\t\t\t{/* Overflow Popover */}\n\t\t\t<Popover\n\t\t\t\tclass=\"ui5-shellbar-overflow-popover\"\n\t\t\t\topen={this.overflowPopoverOpen}\n\t\t\t\tonClose={this.onPopoverClose}\n\t\t\t\topener=\"ui5-shellbar-overflow-button\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thideArrow={true}\n\t\t\t\thorizontalAlign={this.popoverHorizontalAlign} // TODO: add test\n\t\t\t>\n\t\t\t\t<List separators=\"None\" onClick={this.handleOverflowItemClick}>\n\t\t\t\t\t{this.overflowItems.map(item => {\n\t\t\t\t\t\tif (item.type === \"action\") {\n\t\t\t\t\t\t\tconst actionData = item.data;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ShellBarItem\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\ticon={actionData.icon ? `sap-icon://${actionData.icon}` : \"\"}\n\t\t\t\t\t\t\t\t\tdata-action-id={item.id}\n\t\t\t\t\t\t\t\t\tcount={actionData.count}\n\t\t\t\t\t\t\t\t\tinOverflow={true}\n\t\t\t\t\t\t\t\t\ttext={this.getActionOverflowText(item.id)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn <slot key={item.id} name={item.data._individualSlot}></slot>;\n\t\t\t\t\t})}\n\t\t\t\t</List>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ShellBarTemplate.js","sourceRoot":"","sources":["../src/ShellBarTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type ShellBar from \"./ShellBar.js\";\nimport ShellBarItem from \"./ShellBarItem.js\";\n\nimport {\n\tShellBarSearchField,\n\tShellBarSearchFieldFullWidth\n} from \"./shellbar/templates/ShellBarSearchTemplate.js\";\n\nimport {\n\tShellBarSearchField as ShellBarSearchFieldLegacy,\n\tShellBarSearchButton as ShellBarSearchButtonLegacy,\n\tShellBarSearchFieldFullWidth as ShellBarSearchFieldFullWidthLegacy,\n} from \"./shellbar/templates/ShellBarSearchLegacyTemplate.js\";\n\nimport {\n\tShellBarLegacyBrandingArea,\n} from \"./shellbar/templates/ShellBarLegacyTemplate.js\";\n\nexport default function ShellBarTemplate(this: ShellBar) {\n\tconst isLegacySearch = !this.isSelfCollapsibleSearch;\n\n\tconst SearchInBarTemplate = isLegacySearch ? ShellBarSearchFieldLegacy : ShellBarSearchField;\n\tconst SearchFullWidthTemplate = isLegacySearch ? ShellBarSearchFieldFullWidthLegacy : ShellBarSearchFieldFullWidth;\n\n\tconst profileAction = this.getAction(\"profile\");\n\tconst overflowAction = this.getAction(\"overflow\");\n\tconst assistantAction = this.getAction(\"assistant\");\n\tconst notificationsAction = this.getAction(\"notifications\");\n\tconst productSwitchAction = this.getAction(\"products\");\n\n\tconst actionsAccInfo = this.actionsAccessibilityInfo;\n\n\treturn (\n\t\t<>\n\t\t\t<header class=\"ui5-shellbar-root\" part=\"root\" onKeyDown={this._onKeyDown} aria-label={this.texts.shellbar}>\n\t\t\t\t{/* Full-width search overlay */}\n\t\t\t\t{this.showFullWidthSearch && SearchFullWidthTemplate.call(this)}\n\n\t\t\t\t{this.enabledFeatures.startButton && (\n\t\t\t\t\t<div class=\"ui5-shellbar-start-button ui5-shellbar-gap-end\">\n\t\t\t\t\t\t<slot name=\"startButton\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{this.enabledFeatures.branding && (\n\t\t\t\t\t<div class=\"ui5-shellbar-branding-area\">\n\t\t\t\t\t\t<slot name=\"branding\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{/* Legacy branding (logo + primaryTitle) when no menu items */}\n\t\t\t\t{!this.enabledFeatures.branding && ShellBarLegacyBrandingArea.call(this)}\n\n\t\t\t\t<div class=\"ui5-shellbar-overflow-container\">\n\t\t\t\t\t<div class=\"ui5-shellbar-overflow-container-inner\">\n\n\t\t\t\t\t\t{this.enabledFeatures.content && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"ui5-shellbar-content-area ui5-shellbar-content-items\"\n\t\t\t\t\t\t\t\trole={this.contentRole}\n\t\t\t\t\t\t\t\taria-label={this.texts.contentItems}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Start separator */}\n\t\t\t\t\t\t\t\t{this.separatorConfig.showStartSeparator && (\n\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-start\"></div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Start content items */}\n\t\t\t\t\t\t\t\t{this.startContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemId = (item as any)._individualSlot as string;\n\t\t\t\t\t\t\t\t\tconst packedSep = this.getPackedSeparatorInfo(item, true);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={itemId}\n\t\t\t\t\t\t\t\t\t\t\tid={itemId}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-content-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(itemId),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{packedSep.shouldPack && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-start\"></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t<slot name={(item as any)._individualSlot}></slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t{/* Spacer: Grows to fill available space, used to measure if space is tight, should be in DOM always */}\n\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-spacer\"></div>\n\n\t\t\t\t\t\t\t\t{/* End content items */}\n\t\t\t\t\t\t\t\t{this.endContent.map(item => {\n\t\t\t\t\t\t\t\t\tconst itemId = (item as any)._individualSlot as string;\n\t\t\t\t\t\t\t\t\tconst packedSep = this.getPackedSeparatorInfo(item, false);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={itemId}\n\t\t\t\t\t\t\t\t\t\t\tid={itemId}\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-content-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(itemId),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<slot name={itemId}></slot>\n\t\t\t\t\t\t\t\t\t\t\t{packedSep.shouldPack && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start\"></div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t{/* End separator */}\n\t\t\t\t\t\t\t\t{this.separatorConfig.showEndSeparator && (\n\t\t\t\t\t\t\t\t\t<div class=\"ui5-shellbar-separator ui5-shellbar-separator-end ui5-shellbar-gap-start\"></div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{this.enabledFeatures.search && SearchInBarTemplate.call(this)}\n\t\t\t\t\t\t{this.enabledFeatures.search && isLegacySearch && ShellBarSearchButtonLegacy.call(this)}\n\n\t\t\t\t\t\t{assistantAction && (\n\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\"ui5-shellbar-assistant-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"assistant\")\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<slot name=\"assistant\"></slot>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{notificationsAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={notificationsAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-bell-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"notifications\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={notificationsAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleNotificationsClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.notifications.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.notifications.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{notificationsAction?.count && (\n\t\t\t\t\t\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={notificationsAction?.count} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Custom Items */}\n\t\t\t\t\t\t{this._validItems.map(item => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={item._id}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-custom-item ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(item._id),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdata-ui5-stable={item.stableDomRef}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!item.inOverflow ? <slot name={(item as any)._individualSlot}></slot> : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t{overflowAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={overflowAction.stableDomRef}\n\t\t\t\t\t\t\t\tid=\"ui5-shellbar-overflow-button\"\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-overflow-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"overflow\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={overflowAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleOverflowClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.overflow.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.overflow.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.overflowBadge && (\n\t\t\t\t\t\t\t\t\t<ButtonBadge\n\t\t\t\t\t\t\t\t\t\tslot=\"badge\"\n\t\t\t\t\t\t\t\t\t\tdesign={this.overflowBadge === \" \" ? \"AttentionDot\" : \"OverlayText\"}\n\t\t\t\t\t\t\t\t\t\ttext={this.overflowBadge === \" \" ? \"\" : this.overflowBadge}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{profileAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-profile-btn\n\t\t\t\t\t\t\t\tdata-ui5-stable={profileAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-image-button ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"profile\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleProfileClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.profile.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.profile.accessibilityAttributes}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot name=\"profile\"></slot>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{productSwitchAction && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdata-ui5-stable={productSwitchAction.stableDomRef}\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-button-product-switch ui5-shellbar-action-button ui5-shellbar-gap-start\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-shellbar-hidden\": this.isHidden(\"products\")\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticon={productSwitchAction.icon}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\tonClick={this.handleProductSwitchClick}\n\t\t\t\t\t\t\t\ttooltip={actionsAccInfo.products.title}\n\t\t\t\t\t\t\t\taccessibilityAttributes={actionsAccInfo.products.accessibilityAttributes}\n\t\t\t\t\t\t\t></Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</header>\n\n\t\t\t{/* Overflow Popover */}\n\t\t\t<Popover\n\t\t\t\tclass=\"ui5-shellbar-overflow-popover\"\n\t\t\t\topen={this.overflowPopoverOpen}\n\t\t\t\tonClose={this.onPopoverClose}\n\t\t\t\topener=\"ui5-shellbar-overflow-button\"\n\t\t\t\tplacement=\"Bottom\"\n\t\t\t\thideArrow={true}\n\t\t\t\thorizontalAlign={this.popoverHorizontalAlign} // TODO: add test\n\t\t\t>\n\t\t\t\t<List separators=\"None\" onClick={this.handleOverflowItemClick}>\n\t\t\t\t\t{this.overflowItems.map(item => {\n\t\t\t\t\t\tif (item.type === \"action\") {\n\t\t\t\t\t\t\tconst actionData = item.data;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ShellBarItem\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\ticon={actionData.icon ? `sap-icon://${actionData.icon}` : \"\"}\n\t\t\t\t\t\t\t\t\tdata-action-id={item.id}\n\t\t\t\t\t\t\t\t\tcount={actionData.count}\n\t\t\t\t\t\t\t\t\tinOverflow={true}\n\t\t\t\t\t\t\t\t\ttext={this.getActionOverflowText(item.id)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn <slot key={item.id} name={item.data._individualSlot}></slot>;\n\t\t\t\t\t})}\n\t\t\t\t</List>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
|
package/dist/Timeline.d.ts
CHANGED
|
@@ -118,7 +118,7 @@ declare class Timeline extends UI5Element {
|
|
|
118
118
|
*
|
|
119
119
|
* @default false
|
|
120
120
|
* @public
|
|
121
|
-
* @since 2.
|
|
121
|
+
* @since 2.24.0
|
|
122
122
|
*/
|
|
123
123
|
stickyHeader: boolean;
|
|
124
124
|
/**
|
|
@@ -136,7 +136,7 @@ declare class Timeline extends UI5Element {
|
|
|
136
136
|
* Typically a `ui5-toolbar` with search, sort, and filter controls.
|
|
137
137
|
*
|
|
138
138
|
* @public
|
|
139
|
-
* @since 2.
|
|
139
|
+
* @since 2.24.0
|
|
140
140
|
*/
|
|
141
141
|
header: Slot<HTMLElement>;
|
|
142
142
|
/**
|
|
@@ -144,7 +144,7 @@ declare class Timeline extends UI5Element {
|
|
|
144
144
|
* and above the items. Use for status display (applied filters, sort direction, counts).
|
|
145
145
|
*
|
|
146
146
|
* @public
|
|
147
|
-
* @since 2.
|
|
147
|
+
* @since 2.24.0
|
|
148
148
|
*/
|
|
149
149
|
infoBar: Slot<HTMLElement>;
|
|
150
150
|
timelineEndMarker: HTMLElement;
|
package/dist/Timeline.js
CHANGED
package/dist/Timeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../src/Timeline.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisUp,\n\tisDown,\n\tisLeft,\n\tisRight,\n\tisF2,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type ToggleButton from \"@ui5/webcomponents/dist/ToggleButton.js\";\nimport \"./TimelineItem.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport { TIMELINE_ARIA_LABEL, TIMELINE_LOAD_MORE_BUTTON_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport TimelineTemplate from \"./TimelineTemplate.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport process from \"@ui5/webcomponents-icons/dist/process.js\";\nimport drillDown from \"@ui5/webcomponents-icons/dist/drill-down.js\";\n// Styles\nimport TimelineCss from \"./generated/themes/Timeline.css.js\";\nimport TimelineLayout from \"./types/TimelineLayout.js\";\n// Mode\nimport TimelineGrowingMode from \"./types/TimelineGrowingMode.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-timeline` as items\n * @public\n */\ninterface ITimelineItem extends UI5Element, ITabbable {\n\tlayout: `${TimelineLayout}`;\n\tisGroupItem: boolean;\n\tforcedLineWidth?: string;\n\ticon?: string;\n\tnameClickable?: boolean;\n\tpositionInGroup?: number;\n\tcollapsed?: boolean;\n\titems?: Array<ITimelineItem>;\n\tfocusLink?(): void;\n\tlastItem: boolean;\n\tisNextItemGroup?: boolean;\n\tfirstItemInTimeline?: boolean;\n\teffectiveRole?: string;\n}\n\nconst SHORT_LINE_WIDTH = \"ShortLineWidth\";\nconst LARGE_LINE_WIDTH = \"LargeLineWidth\";\nconst GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-timeline` component shows entries (such as objects, events, or posts) in chronological order.\n * A common use case is to provide information about changes to an object, or events related to an object.\n * These entries can be generated by the system (for example, value XY changed from A to B), or added manually.\n * There are two distinct variants of the timeline: basic and social. The basic timeline is read-only,\n * while the social timeline offers a high level of interaction and collaboration, and is integrated within SAP Jam.\n *\n * ### Header and Info Bar Slots\n *\n * The Timeline exposes two named slots above the items area:\n *\n * - `header` — for a controls bar (search field, filter trigger, sort toggle, etc.).\n * The most common pattern is to place a `ui5-toolbar` containing a search input and buttons that open\n * a filter dialog or toggle sort direction. The Timeline itself performs no filtering, sorting, or\n * searching — the application listens for events from its own controls and reorders, hides, or\n * adds items in the default slot accordingly.\n *\n * - `infoBar` — for a status bar that reflects the result of the controls (active filters,\n * applied sort, current search query). Typically contains tokens, labels, or a `ui5-bar`.\n *\n * The Timeline itself does not filter, sort, or search — the application owns that logic.\n * Use `stickyHeader` to pin both bars while the Timeline's items scroll. Give the Timeline\n * a constrained height in this mode so it owns its scrollbar.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-timeline\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\tstyles: TimelineCss,\n\ttemplate: TimelineTemplate,\n})\n\n/**\n * Fired when the user presses the `More` button or scrolls to the Timeline's end.\n *\n * **Note:** The event will be fired if `growing` is set to `Button` or `Scroll`.\n * @public\n * @since 2.7.0\n */\n@event(\"load-more\", {\n\tbubbles: true,\n})\n\nclass Timeline extends UI5Element {\n\teventDetails!: {\n\t\t\"load-more\": void,\n\t}\n\t/**\n\t * Defines the items orientation.\n\t * @default \"Vertical\"\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\tlayout: `${TimelineLayout}` = \"Vertical\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines if the component should display a loading indicator over the Timeline.\n\t *\n\t * @default false\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines whether the Timeline will have growing capability either by pressing a \"More\" button,\n\t * or via user scroll. In both cases a `load-more` event is fired.\n\t *\n\t * Available options:\n\t *\n\t * `Button` - Displays a button at the end of the Timeline, which when pressed triggers the `load-more` event.\n\t *\n\t * `Scroll` -Triggers the `load-more` event when the user scrolls to the end of the Timeline.\n\t *\n\t * `None` (default) - The growing functionality is off.\n\t *\n\t * @default \"None\"\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property()\n\tgrowing: `${TimelineGrowingMode}` = \"None\";\n\n\t/**\n\t * Defines whether the content of the `header` and `infoBar` slots remains visible when the user scrolls the Timeline.\n\t *\n\t * **Note:** The bars pin to the Timeline's own scrollport. Give the Timeline a\n\t * constrained height (for example `style=\"height: 32rem\"`) so its items scroll\n\t * inside it. Placing the Timeline inside an externally scrolling ancestor while\n\t * leaving the Timeline itself unsized is not supported in this mode — the bars\n\t * will scroll away with the ancestor.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property({ type: Boolean })\n\tstickyHeader = false;\n\n\t/**\n\t * Defines the active state of the `More` button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive = false;\n\n\t/**\n\t * Determines the content of the `ui5-timeline`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n\titems!: DefaultSlot<ITimelineItem>;\n\n\t/**\n\t * Defines the content of the Timeline's header area, displayed above the items.\n\t * Typically a `ui5-toolbar` with search, sort, and filter controls.\n\t *\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@slot()\n\theader!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the content of the Timeline's info bar area, displayed below the header\n\t * and above the items. Use for status display (applied filters, sort direction, counts).\n\t *\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@slot()\n\tinfoBar!: Slot<HTMLElement>;\n\n\t@query(\".ui5-timeline-end-marker\")\n\ttimelineEndMarker!: HTMLElement;\n\n\t@query((`[id=\"ui5-timeline-growing-btn\"]`))\n\tgrowingButton!: HTMLElement;\n\n\t@query(\".ui5-timeline-scroll-container\")\n\t_scrollContainer!: HTMLElement;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\ttimeLineEndObserved = false;\n\tinitialIntersection = true;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this._navigableItems,\n\t\t});\n\t}\n\n\tget ariaLabel() {\n\t\treturn this.accessibleName\n\t\t\t? `${Timeline.i18nBundle.getText(TIMELINE_ARIA_LABEL)} ${this.accessibleName}`\n\t\t\t: Timeline.i18nBundle.getText(TIMELINE_ARIA_LABEL);\n\t}\n\n\tget _hasHeader(): boolean {\n\t\treturn this.header.length > 0;\n\t}\n\n\tget _hasInfoBar(): boolean {\n\t\treturn this.infoBar.length > 0;\n\t}\n\n\tget showBusyIndicatorOverlay() {\n\t\treturn !this.growsWithButton && this.loading;\n\t}\n\n\tget growsOnScroll(): boolean {\n\t\treturn this.growing === TimelineGrowingMode.Scroll;\n\t}\n\n\tget growingButtonIcon() {\n\t\treturn this.layout === TimelineLayout.Horizontal ? process : drillDown;\n\t}\n\n\tget growingButtonText() {\n\t\treturn Timeline.i18nBundle.getText(TIMELINE_LOAD_MORE_BUTTON_TEXT);\n\t}\n\n\tget growsWithButton(): boolean {\n\t\treturn this.growing === TimelineGrowingMode.Button;\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeTimelineEnd();\n\t\t} else if (this.timeLineEndObserved) {\n\t\t\tthis.unobserveTimelineEnd();\n\t\t}\n\n\t\tthis.growingIntersectionObserver = this.getIntersectionObserver();\n\t}\n\n\tonExitDOM() {\n\t\tthis.unobserveTimelineEnd();\n\t}\n\n\tasync observeTimelineEnd() {\n\t\tif (!this.timeLineEndObserved) {\n\t\t\tawait renderFinished();\n\t\t\tthis.getIntersectionObserver().observe(this.timelineEndMarker);\n\t\t\tthis.timeLineEndObserved = true;\n\t\t}\n\t}\n\n\tunobserveTimelineEnd() {\n\t\tif (this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver.disconnect();\n\t\t\tthis.growingIntersectionObserver = null;\n\t\t\tthis.timeLineEndObserved = false;\n\t\t}\n\t}\n\n\tgetIntersectionObserver(): IntersectionObserver {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onIntersection.bind(this), {\n\t\t\t\troot: null,\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n\n\tonIntersection(entries: Array<IntersectionObserverEntry>) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (entries.some(entry => entry.isIntersecting)) {\n\t\t\tdebounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\tloadMore() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tlet target = e.target as ITimelineItem | ToggleButton;\n\n\t\tif ((target as ITimelineItem).isGroupItem) {\n\t\t\ttarget = target.shadowRoot!.querySelector<ToggleButton>(\"[ui5-toggle-button]\")!;\n\t\t}\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t}\n\n\t_onwheel(e: WheelEvent) {\n\t\t// In horizontal layout, translate vertical wheel into horizontal scroll\n\t\t// so a regular mouse wheel can scroll through items.\n\t\tif (this.layout !== TimelineLayout.Horizontal || !e.deltaY || e.deltaX) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = this._scrollContainer;\n\t\tif (!container) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst canScroll = container.scrollWidth > container.clientWidth;\n\t\tif (!canScroll) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.scrollLeft += e.deltaY;\n\t\te.preventDefault();\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._itemNavigation._navigationMode = this.layout === TimelineLayout.Horizontal ? NavigationMode.Horizontal : NavigationMode.Vertical;\n\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.items.length; i++) {\n\t\t\tthis.items[i].layout = this.layout;\n\t\t\tif (this.hasGroupItems) {\n\t\t\t\tthis.items[i].effectiveRole = \"treeitem\";\n\t\t\t} else {\n\t\t\t\tthis.items[i].effectiveRole = \"listitem\";\n\t\t\t}\n\n\t\t\tif (this.items[i + 1] && !!this.items[i + 1].icon) {\n\t\t\t\tthis.items[i].forcedLineWidth = SHORT_LINE_WIDTH;\n\t\t\t} else if (this.items[i].icon && this.items[i + 1] && !this.items[i + 1].icon) {\n\t\t\t\tthis.items[i].forcedLineWidth = LARGE_LINE_WIDTH;\n\t\t\t}\n\t\t}\n\n\t\tthis._setLastItem();\n\t\tthis._setIsNextItemGroup();\n\t\tthis.items[0].firstItemInTimeline = true;\n\t}\n\n\t_setLastItem() {\n\t\tconst items = this.items;\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].lastItem = false;\n\t\t}\n\n\t\tif (items.length > 0) {\n\t\t\titems[items.length - 1].lastItem = true;\n\t\t}\n\t}\n\n\t_setIsNextItemGroup() {\n\t\tfor (let i = 0; i < this.items.length; i++) {\n\t\t\tthis.items[i].isNextItemGroup = false;\n\t\t}\n\n\t\tfor (let i = 0; i < this.items.length; i++) {\n\t\t\tif (this.items[i + 1] && this.items[i + 1].isGroupItem) {\n\t\t\t\tthis.items[i].isNextItemGroup = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tconst target = e.target as ITimelineItem,\n\t\t\ttargetfocusDomRef = target?.getFocusDomRef(),\n\t\t\tshouldHandleCustomArrowNavigation = targetfocusDomRef === this.getFocusDomRef() || target === this.growingButton;\n\n\t\tif (shouldHandleCustomArrowNavigation && (isDown(e) || isRight(e))) {\n\t\t\tthis._handleDown();\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (shouldHandleCustomArrowNavigation && (isUp(e) || isLeft(e))) {\n\t\t\tthis._handleUp(e);\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isF2(e)) {\n\t\t\te.stopImmediatePropagation();\n\t\t\tconst activeElement = getActiveElement();\n\t\t\tconst focusDomRef = this.getFocusDomRef();\n\n\t\t\tif (!focusDomRef) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (activeElement === focusDomRef) {\n\t\t\t\tconst firstFocusable = await getFirstFocusableElement(focusDomRef);\n\t\t\t\tfirstFocusable?.focus();\n\t\t\t} else {\n\t\t\t\tconst parentItem = (e.target as HTMLElement)?.closest(\"ui5-timeline-item\") as HTMLElement;\n\t\t\t\tparentItem?.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleDown() {\n\t\tif (this.growsWithButton) {\n\t\t\tthis.focusGrowingButton();\n\t\t}\n\t}\n\n\tfocusGrowingButton() {\n\t\tconst items = this._navigableItems;\n\t\tconst lastIndex = items.length - 1;\n\t\tconst currentIndex = this._itemNavigation._currentIndex;\n\n\t\tif (currentIndex !== -1 && currentIndex === lastIndex) {\n\t\t\tthis.growingButton?.focus();\n\t\t}\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this.growingButton === e.target) {\n\t\t\tconst items = this._navigableItems;\n\t\t\tconst lastItem = items[items.length - 1];\n\n\t\t\tthis.focusItem(lastItem);\n\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses a list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t * @param item\n\t */\n\tfocusItem(item: ITimelineItem | ToggleButton) {\n\t\tthis._itemNavigation.setCurrentItem(item);\n\t\titem.focus();\n\t}\n\n\tget hasGroupItems() {\n\t\treturn this.items.some(item => item.isGroupItem);\n\t}\n\n\tget _navigableItems() {\n\t\tconst navigatableItems: Array<ITimelineItem | ToggleButton> = [];\n\n\t\tif (!this.items.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tthis.items.forEach(item => {\n\t\t\tif (!item.isGroupItem) {\n\t\t\t\tnavigatableItems.push(item);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst navigatableItem = item.shadowRoot!.querySelector<ToggleButton>(\"[ui5-toggle-button]\");\n\n\t\t\tif (navigatableItem) {\n\t\t\t\tnavigatableItems.push(navigatableItem);\n\t\t\t}\n\n\t\t\tif (!item.collapsed) {\n\t\t\t\titem.items?.forEach(groupItem => {\n\t\t\t\t\tnavigatableItems.push(groupItem);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn navigatableItems;\n\t}\n}\n\nTimeline.define();\n\nexport default Timeline;\nexport type {\n\tITimelineItem,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../src/Timeline.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisUp,\n\tisDown,\n\tisLeft,\n\tisRight,\n\tisF2,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type ToggleButton from \"@ui5/webcomponents/dist/ToggleButton.js\";\nimport \"./TimelineItem.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport { TIMELINE_ARIA_LABEL, TIMELINE_LOAD_MORE_BUTTON_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport TimelineTemplate from \"./TimelineTemplate.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport process from \"@ui5/webcomponents-icons/dist/process.js\";\nimport drillDown from \"@ui5/webcomponents-icons/dist/drill-down.js\";\n// Styles\nimport TimelineCss from \"./generated/themes/Timeline.css.js\";\nimport TimelineLayout from \"./types/TimelineLayout.js\";\n// Mode\nimport TimelineGrowingMode from \"./types/TimelineGrowingMode.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-timeline` as items\n * @public\n */\ninterface ITimelineItem extends UI5Element, ITabbable {\n\tlayout: `${TimelineLayout}`;\n\tisGroupItem: boolean;\n\tforcedLineWidth?: string;\n\ticon?: string;\n\tnameClickable?: boolean;\n\tpositionInGroup?: number;\n\tcollapsed?: boolean;\n\titems?: Array<ITimelineItem>;\n\tfocusLink?(): void;\n\tlastItem: boolean;\n\tisNextItemGroup?: boolean;\n\tfirstItemInTimeline?: boolean;\n\teffectiveRole?: string;\n}\n\nconst SHORT_LINE_WIDTH = \"ShortLineWidth\";\nconst LARGE_LINE_WIDTH = \"LargeLineWidth\";\nconst GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-timeline` component shows entries (such as objects, events, or posts) in chronological order.\n * A common use case is to provide information about changes to an object, or events related to an object.\n * These entries can be generated by the system (for example, value XY changed from A to B), or added manually.\n * There are two distinct variants of the timeline: basic and social. The basic timeline is read-only,\n * while the social timeline offers a high level of interaction and collaboration, and is integrated within SAP Jam.\n *\n * ### Header and Info Bar Slots\n *\n * The Timeline exposes two named slots above the items area:\n *\n * - `header` — for a controls bar (search field, filter trigger, sort toggle, etc.).\n * The most common pattern is to place a `ui5-toolbar` containing a search input and buttons that open\n * a filter dialog or toggle sort direction. The Timeline itself performs no filtering, sorting, or\n * searching — the application listens for events from its own controls and reorders, hides, or\n * adds items in the default slot accordingly.\n *\n * - `infoBar` — for a status bar that reflects the result of the controls (active filters,\n * applied sort, current search query). Typically contains tokens, labels, or a `ui5-bar`.\n *\n * The Timeline itself does not filter, sort, or search — the application owns that logic.\n * Use `stickyHeader` to pin both bars while the Timeline's items scroll. Give the Timeline\n * a constrained height in this mode so it owns its scrollbar.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-timeline\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\tstyles: TimelineCss,\n\ttemplate: TimelineTemplate,\n})\n\n/**\n * Fired when the user presses the `More` button or scrolls to the Timeline's end.\n *\n * **Note:** The event will be fired if `growing` is set to `Button` or `Scroll`.\n * @public\n * @since 2.7.0\n */\n@event(\"load-more\", {\n\tbubbles: true,\n})\n\nclass Timeline extends UI5Element {\n\teventDetails!: {\n\t\t\"load-more\": void,\n\t}\n\t/**\n\t * Defines the items orientation.\n\t * @default \"Vertical\"\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\tlayout: `${TimelineLayout}` = \"Vertical\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines if the component should display a loading indicator over the Timeline.\n\t *\n\t * @default false\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ type: Number })\n\tloadingDelay = 1000;\n\n\t/**\n\t * Defines whether the Timeline will have growing capability either by pressing a \"More\" button,\n\t * or via user scroll. In both cases a `load-more` event is fired.\n\t *\n\t * Available options:\n\t *\n\t * `Button` - Displays a button at the end of the Timeline, which when pressed triggers the `load-more` event.\n\t *\n\t * `Scroll` -Triggers the `load-more` event when the user scrolls to the end of the Timeline.\n\t *\n\t * `None` (default) - The growing functionality is off.\n\t *\n\t * @default \"None\"\n\t * @since 2.7.0\n\t * @public\n\t */\n\t@property()\n\tgrowing: `${TimelineGrowingMode}` = \"None\";\n\n\t/**\n\t * Defines whether the content of the `header` and `infoBar` slots remains visible when the user scrolls the Timeline.\n\t *\n\t * **Note:** The bars pin to the Timeline's own scrollport. Give the Timeline a\n\t * constrained height (for example `style=\"height: 32rem\"`) so its items scroll\n\t * inside it. Placing the Timeline inside an externally scrolling ancestor while\n\t * leaving the Timeline itself unsized is not supported in this mode — the bars\n\t * will scroll away with the ancestor.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.24.0\n\t */\n\t@property({ type: Boolean })\n\tstickyHeader = false;\n\n\t/**\n\t * Defines the active state of the `More` button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive = false;\n\n\t/**\n\t * Determines the content of the `ui5-timeline`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n\titems!: DefaultSlot<ITimelineItem>;\n\n\t/**\n\t * Defines the content of the Timeline's header area, displayed above the items.\n\t * Typically a `ui5-toolbar` with search, sort, and filter controls.\n\t *\n\t * @public\n\t * @since 2.24.0\n\t */\n\t@slot()\n\theader!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the content of the Timeline's info bar area, displayed below the header\n\t * and above the items. Use for status display (applied filters, sort direction, counts).\n\t *\n\t * @public\n\t * @since 2.24.0\n\t */\n\t@slot()\n\tinfoBar!: Slot<HTMLElement>;\n\n\t@query(\".ui5-timeline-end-marker\")\n\ttimelineEndMarker!: HTMLElement;\n\n\t@query((`[id=\"ui5-timeline-growing-btn\"]`))\n\tgrowingButton!: HTMLElement;\n\n\t@query(\".ui5-timeline-scroll-container\")\n\t_scrollContainer!: HTMLElement;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\ttimeLineEndObserved = false;\n\tinitialIntersection = true;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this._navigableItems,\n\t\t});\n\t}\n\n\tget ariaLabel() {\n\t\treturn this.accessibleName\n\t\t\t? `${Timeline.i18nBundle.getText(TIMELINE_ARIA_LABEL)} ${this.accessibleName}`\n\t\t\t: Timeline.i18nBundle.getText(TIMELINE_ARIA_LABEL);\n\t}\n\n\tget _hasHeader(): boolean {\n\t\treturn this.header.length > 0;\n\t}\n\n\tget _hasInfoBar(): boolean {\n\t\treturn this.infoBar.length > 0;\n\t}\n\n\tget showBusyIndicatorOverlay() {\n\t\treturn !this.growsWithButton && this.loading;\n\t}\n\n\tget growsOnScroll(): boolean {\n\t\treturn this.growing === TimelineGrowingMode.Scroll;\n\t}\n\n\tget growingButtonIcon() {\n\t\treturn this.layout === TimelineLayout.Horizontal ? process : drillDown;\n\t}\n\n\tget growingButtonText() {\n\t\treturn Timeline.i18nBundle.getText(TIMELINE_LOAD_MORE_BUTTON_TEXT);\n\t}\n\n\tget growsWithButton(): boolean {\n\t\treturn this.growing === TimelineGrowingMode.Button;\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeTimelineEnd();\n\t\t} else if (this.timeLineEndObserved) {\n\t\t\tthis.unobserveTimelineEnd();\n\t\t}\n\n\t\tthis.growingIntersectionObserver = this.getIntersectionObserver();\n\t}\n\n\tonExitDOM() {\n\t\tthis.unobserveTimelineEnd();\n\t}\n\n\tasync observeTimelineEnd() {\n\t\tif (!this.timeLineEndObserved) {\n\t\t\tawait renderFinished();\n\t\t\tthis.getIntersectionObserver().observe(this.timelineEndMarker);\n\t\t\tthis.timeLineEndObserved = true;\n\t\t}\n\t}\n\n\tunobserveTimelineEnd() {\n\t\tif (this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver.disconnect();\n\t\t\tthis.growingIntersectionObserver = null;\n\t\t\tthis.timeLineEndObserved = false;\n\t\t}\n\t}\n\n\tgetIntersectionObserver(): IntersectionObserver {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onIntersection.bind(this), {\n\t\t\t\troot: null,\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n\n\tonIntersection(entries: Array<IntersectionObserverEntry>) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (entries.some(entry => entry.isIntersecting)) {\n\t\t\tdebounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\tloadMore() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tlet target = e.target as ITimelineItem | ToggleButton;\n\n\t\tif ((target as ITimelineItem).isGroupItem) {\n\t\t\ttarget = target.shadowRoot!.querySelector<ToggleButton>(\"[ui5-toggle-button]\")!;\n\t\t}\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t}\n\n\t_onwheel(e: WheelEvent) {\n\t\t// In horizontal layout, translate vertical wheel into horizontal scroll\n\t\t// so a regular mouse wheel can scroll through items.\n\t\tif (this.layout !== TimelineLayout.Horizontal || !e.deltaY || e.deltaX) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst container = this._scrollContainer;\n\t\tif (!container) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst canScroll = container.scrollWidth > container.clientWidth;\n\t\tif (!canScroll) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.scrollLeft += e.deltaY;\n\t\te.preventDefault();\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._itemNavigation._navigationMode = this.layout === TimelineLayout.Horizontal ? NavigationMode.Horizontal : NavigationMode.Vertical;\n\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.items.length; i++) {\n\t\t\tthis.items[i].layout = this.layout;\n\t\t\tif (this.hasGroupItems) {\n\t\t\t\tthis.items[i].effectiveRole = \"treeitem\";\n\t\t\t} else {\n\t\t\t\tthis.items[i].effectiveRole = \"listitem\";\n\t\t\t}\n\n\t\t\tif (this.items[i + 1] && !!this.items[i + 1].icon) {\n\t\t\t\tthis.items[i].forcedLineWidth = SHORT_LINE_WIDTH;\n\t\t\t} else if (this.items[i].icon && this.items[i + 1] && !this.items[i + 1].icon) {\n\t\t\t\tthis.items[i].forcedLineWidth = LARGE_LINE_WIDTH;\n\t\t\t}\n\t\t}\n\n\t\tthis._setLastItem();\n\t\tthis._setIsNextItemGroup();\n\t\tthis.items[0].firstItemInTimeline = true;\n\t}\n\n\t_setLastItem() {\n\t\tconst items = this.items;\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\titems[i].lastItem = false;\n\t\t}\n\n\t\tif (items.length > 0) {\n\t\t\titems[items.length - 1].lastItem = true;\n\t\t}\n\t}\n\n\t_setIsNextItemGroup() {\n\t\tfor (let i = 0; i < this.items.length; i++) {\n\t\t\tthis.items[i].isNextItemGroup = false;\n\t\t}\n\n\t\tfor (let i = 0; i < this.items.length; i++) {\n\t\t\tif (this.items[i + 1] && this.items[i + 1].isGroupItem) {\n\t\t\t\tthis.items[i].isNextItemGroup = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tconst target = e.target as ITimelineItem,\n\t\t\ttargetfocusDomRef = target?.getFocusDomRef(),\n\t\t\tshouldHandleCustomArrowNavigation = targetfocusDomRef === this.getFocusDomRef() || target === this.growingButton;\n\n\t\tif (shouldHandleCustomArrowNavigation && (isDown(e) || isRight(e))) {\n\t\t\tthis._handleDown();\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (shouldHandleCustomArrowNavigation && (isUp(e) || isLeft(e))) {\n\t\t\tthis._handleUp(e);\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isF2(e)) {\n\t\t\te.stopImmediatePropagation();\n\t\t\tconst activeElement = getActiveElement();\n\t\t\tconst focusDomRef = this.getFocusDomRef();\n\n\t\t\tif (!focusDomRef) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (activeElement === focusDomRef) {\n\t\t\t\tconst firstFocusable = await getFirstFocusableElement(focusDomRef);\n\t\t\t\tfirstFocusable?.focus();\n\t\t\t} else {\n\t\t\t\tconst parentItem = (e.target as HTMLElement)?.closest(\"ui5-timeline-item\") as HTMLElement;\n\t\t\t\tparentItem?.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleDown() {\n\t\tif (this.growsWithButton) {\n\t\t\tthis.focusGrowingButton();\n\t\t}\n\t}\n\n\tfocusGrowingButton() {\n\t\tconst items = this._navigableItems;\n\t\tconst lastIndex = items.length - 1;\n\t\tconst currentIndex = this._itemNavigation._currentIndex;\n\n\t\tif (currentIndex !== -1 && currentIndex === lastIndex) {\n\t\t\tthis.growingButton?.focus();\n\t\t}\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this.growingButton === e.target) {\n\t\t\tconst items = this._navigableItems;\n\t\t\tconst lastItem = items[items.length - 1];\n\n\t\t\tthis.focusItem(lastItem);\n\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses a list item and sets its tabindex to \"0\" via the ItemNavigation\n\t * @protected\n\t * @param item\n\t */\n\tfocusItem(item: ITimelineItem | ToggleButton) {\n\t\tthis._itemNavigation.setCurrentItem(item);\n\t\titem.focus();\n\t}\n\n\tget hasGroupItems() {\n\t\treturn this.items.some(item => item.isGroupItem);\n\t}\n\n\tget _navigableItems() {\n\t\tconst navigatableItems: Array<ITimelineItem | ToggleButton> = [];\n\n\t\tif (!this.items.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tthis.items.forEach(item => {\n\t\t\tif (!item.isGroupItem) {\n\t\t\t\tnavigatableItems.push(item);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst navigatableItem = item.shadowRoot!.querySelector<ToggleButton>(\"[ui5-toggle-button]\");\n\n\t\t\tif (navigatableItem) {\n\t\t\t\tnavigatableItems.push(navigatableItem);\n\t\t\t}\n\n\t\t\tif (!item.collapsed) {\n\t\t\t\titem.items?.forEach(groupItem => {\n\t\t\t\t\tnavigatableItems.push(groupItem);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn navigatableItems;\n\t}\n}\n\nTimeline.define();\n\nexport default Timeline;\nexport type {\n\tITimelineItem,\n};\n"]}
|
package/dist/UserMenu.d.ts
CHANGED
|
@@ -88,6 +88,20 @@ declare class UserMenu extends UI5Element {
|
|
|
88
88
|
* @since 2.7.0
|
|
89
89
|
*/
|
|
90
90
|
showEditButton: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Defines whether the avatar of the selected account is interactive (focusable and pressable).
|
|
93
|
+
*
|
|
94
|
+
* When `false` (default), the avatar is rendered as a non-interactive image
|
|
95
|
+
* and is not announced as a button by screen readers.
|
|
96
|
+
*
|
|
97
|
+
* **Note:** When `showEditButton` is set to `true`, the avatar is treated as interactive
|
|
98
|
+
* regardless of this property's value, to preserve the edit affordance.
|
|
99
|
+
*
|
|
100
|
+
* @default false
|
|
101
|
+
* @public
|
|
102
|
+
* @since 2.25.0
|
|
103
|
+
*/
|
|
104
|
+
avatarInteractive: boolean;
|
|
91
105
|
/**
|
|
92
106
|
* Defines the menu items.
|
|
93
107
|
* @public
|
|
@@ -186,6 +200,7 @@ declare class UserMenu extends UI5Element {
|
|
|
186
200
|
get _hasCustomFooter(): boolean;
|
|
187
201
|
get _showDefaultFooter(): boolean;
|
|
188
202
|
get _hasInfoArea(): boolean;
|
|
203
|
+
get _isAvatarInteractive(): boolean;
|
|
189
204
|
getAccountDescriptionText(account: UserMenuAccount): string;
|
|
190
205
|
getAccountByRefId(refId: string): UserMenuAccount;
|
|
191
206
|
captureRef(ref: HTMLElement & {
|
package/dist/UserMenu.js
CHANGED
|
@@ -74,6 +74,20 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
|
|
|
74
74
|
* @since 2.7.0
|
|
75
75
|
*/
|
|
76
76
|
this.showEditButton = false;
|
|
77
|
+
/**
|
|
78
|
+
* Defines whether the avatar of the selected account is interactive (focusable and pressable).
|
|
79
|
+
*
|
|
80
|
+
* When `false` (default), the avatar is rendered as a non-interactive image
|
|
81
|
+
* and is not announced as a button by screen readers.
|
|
82
|
+
*
|
|
83
|
+
* **Note:** When `showEditButton` is set to `true`, the avatar is treated as interactive
|
|
84
|
+
* regardless of this property's value, to preserve the edit affordance.
|
|
85
|
+
*
|
|
86
|
+
* @default false
|
|
87
|
+
* @public
|
|
88
|
+
* @since 2.25.0
|
|
89
|
+
*/
|
|
90
|
+
this.avatarInteractive = false;
|
|
77
91
|
/**
|
|
78
92
|
* @default false
|
|
79
93
|
* @private
|
|
@@ -276,6 +290,9 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
|
|
|
276
290
|
get _hasInfoArea() {
|
|
277
291
|
return this.infoArea.length > 0;
|
|
278
292
|
}
|
|
293
|
+
get _isAvatarInteractive() {
|
|
294
|
+
return this.avatarInteractive || this.showEditButton;
|
|
295
|
+
}
|
|
279
296
|
getAccountDescriptionText(account) {
|
|
280
297
|
return `${account.titleText} ${account.subtitleText} ${account.description} ${account.selected ? UserMenu_1.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : ""}`;
|
|
281
298
|
}
|
|
@@ -309,6 +326,9 @@ __decorate([
|
|
|
309
326
|
__decorate([
|
|
310
327
|
property({ type: Boolean })
|
|
311
328
|
], UserMenu.prototype, "showEditButton", void 0);
|
|
329
|
+
__decorate([
|
|
330
|
+
property({ type: Boolean })
|
|
331
|
+
], UserMenu.prototype, "avatarInteractive", void 0);
|
|
312
332
|
__decorate([
|
|
313
333
|
slot({
|
|
314
334
|
type: HTMLElement,
|