@ui5/webcomponents-fiori 2.22.0-rc.2 → 2.22.0-rc.4

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.
@@ -9,8 +9,8 @@ export default function SideNavigationGroupTemplate() {
9
9
  return TreeItemTemplate.call(this);
10
10
  }
11
11
  function TreeItemTemplate() {
12
- return (_jsxs("li", { id: this._id, class: `ui5-sn-list-li ${this.belowGroupClassName}`, role: "none", children: [_jsx("div", { class: "ui5-sn-item-separator" }), _jsxs("div", { id: this._id, "data-sap-focus-ref": true, class: `ui5-sn-item ui5-sn-item-group ${this._classes}`, role: "treeitem", onKeyDown: this._onkeydown, onClick: this._onclick, onFocusIn: this._onfocusin, tabIndex: this.effectiveTabIndex, "aria-expanded": this._expanded, title: this._tooltip, "aria-owns": this._groupId, children: [_jsx("div", { class: "ui5-sn-item-text", children: this.text }), !!this.items.length &&
12
+ return (_jsxs("li", { id: this._id, class: `ui5-sn-list-li ${this.belowGroupClassName}`, role: "none", children: [_jsx("div", { class: "ui5-sn-item-separator" }), _jsxs("div", { id: this._id, "data-sap-focus-ref": true, class: `ui5-sn-item ui5-sn-item-group ${this._classes}`, role: "treeitem", onKeyDown: this._onkeydown, onClick: this._onclick, onFocusIn: this._onfocusin, tabIndex: this.effectiveTabIndex, "aria-expanded": this._expanded, "aria-label": this.accessibleName || undefined, title: this._tooltip, "aria-owns": this._groupId, children: [_jsx("div", { class: "ui5-sn-item-text", children: this.text }), !!this.items.length &&
13
13
  _jsx(Icon, { class: "ui5-sn-item-toggle-icon", name: this.expanded ? navDownArrow : navRightArrow, accessibleName: this._arrowTooltip, showTooltip: true })] }), !!this.items.length &&
14
- _jsx("ul", { id: this._groupId, class: "ui5-sn-item-ul", "aria-label": this.text, role: "group", children: _jsx("slot", {}) }), _jsx("div", { class: "ui5-sn-item-separator" })] }));
14
+ _jsx("ul", { id: this._groupId, class: "ui5-sn-item-ul", "aria-label": this.accessibleName || this.text, role: "group", children: _jsx("slot", {}) }), _jsx("div", { class: "ui5-sn-item-separator" })] }));
15
15
  }
16
16
  //# sourceMappingURL=SideNavigationGroupTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationGroupTemplate.js","sourceRoot":"","sources":["../src/SideNavigationGroupTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,yDAAyD,CAAC;AACpF,OAAO,YAAY,MAAM,wDAAwD,CAAC;AAGlF,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAClD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,CAAC,8BACP,cAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,mBAAmB,EAAE,GAAQ,EACvE,gBAAa,EACb,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACvC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB;IACxB,OAAO,CACN,cAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EACf,KAAK,EAAE,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,EACnD,IAAI,EAAC,MAAM,aAEX,cAAK,KAAK,EAAC,uBAAuB,GAAO,EACzC,eAAK,EAAE,EAAE,IAAI,CAAC,GAAG,8BAEf,KAAK,EAAE,iCAAiC,IAAI,CAAC,QAAQ,EAAE,EACvD,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,mBACjB,IAAI,CAAC,SAAS,EAC7B,KAAK,EAAE,IAAI,CAAC,QAAQ,eACT,IAAI,CAAC,QAAQ,aAEzB,cAAK,KAAK,EAAC,kBAAkB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;wBACnB,KAAC,IAAI,IAAC,KAAK,EAAC,yBAAyB,EAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAClD,cAAc,EAAE,IAAI,CAAC,aAAa,EAClC,WAAW,EAAE,IAAI,GAClB,IAEE,EACL,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACnB,aAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EACpB,KAAK,EAAC,gBAAgB,gBACV,IAAI,CAAC,IAAI,EACrB,IAAI,EAAC,OAAO,YAEZ,gBAAa,GACT,EAEN,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACrC,CACL,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport navRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport navDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport type SideNavigationGroup from \"./SideNavigationGroup.js\";\n\nexport default function SideNavigationGroupTemplate(this: SideNavigationGroup) {\n\tif (this.sideNavCollapsed) {\n\t\treturn (<>\n\t\t\t<div class={`ui5-sn-item-separator ${this.belowGroupClassName}`}></div>\n\t\t\t<slot></slot>\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t</>);\n\t}\n\n\treturn TreeItemTemplate.call(this);\n}\n\nfunction TreeItemTemplate(this: SideNavigationGroup) {\n\treturn (\n\t\t<li id={this._id}\n\t\t\tclass={`ui5-sn-list-li ${this.belowGroupClassName}`}\n\t\t\trole=\"none\"\n\t\t>\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t\t<div id={this._id}\n\t\t\t\t data-sap-focus-ref\n\t\t\t\t class={`ui5-sn-item ui5-sn-item-group ${this._classes}`}\n\t\t\t\t role=\"treeitem\"\n\t\t\t\t onKeyDown={this._onkeydown}\n\t\t\t\t onClick={this._onclick}\n\t\t\t\t onFocusIn={this._onfocusin}\n\t\t\t\t tabIndex={this.effectiveTabIndex}\n\t\t\t\t aria-expanded={this._expanded}\n\t\t\t\t title={this._tooltip}\n\t\t\t\t aria-owns={this._groupId}\n\t\t\t>\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\t name={this.expanded ? navDownArrow : navRightArrow}\n\t\t\t\t\t\t accessibleName={this._arrowTooltip}\n\t\t\t\t\t\t showTooltip={true}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{!!this.items.length &&\n\t\t\t\t<ul id={this._groupId}\n\t\t\t\t\tclass=\"ui5-sn-item-ul\"\n\t\t\t\t\taria-label={this.text}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t}\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t</li>\n\t);\n}\n"]}
1
+ {"version":3,"file":"SideNavigationGroupTemplate.js","sourceRoot":"","sources":["../src/SideNavigationGroupTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,yDAAyD,CAAC;AACpF,OAAO,YAAY,MAAM,wDAAwD,CAAC;AAGlF,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAClD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,CAAC,8BACP,cAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,mBAAmB,EAAE,GAAQ,EACvE,gBAAa,EACb,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACvC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB;IACxB,OAAO,CACN,cAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EACf,KAAK,EAAE,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,EACnD,IAAI,EAAC,MAAM,aAEX,cAAK,KAAK,EAAC,uBAAuB,GAAO,EACzC,eAAK,EAAE,EAAE,IAAI,CAAC,GAAG,8BAEf,KAAK,EAAE,iCAAiC,IAAI,CAAC,QAAQ,EAAE,EACvD,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,mBACjB,IAAI,CAAC,SAAS,gBACjB,IAAI,CAAC,cAAc,IAAI,SAAS,EAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,eACT,IAAI,CAAC,QAAQ,aAEzB,cAAK,KAAK,EAAC,kBAAkB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;wBACnB,KAAC,IAAI,IAAC,KAAK,EAAC,yBAAyB,EAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAClD,cAAc,EAAE,IAAI,CAAC,aAAa,EAClC,WAAW,EAAE,IAAI,GAClB,IAEE,EACL,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACnB,aAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EACpB,KAAK,EAAC,gBAAgB,gBACV,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAC5C,IAAI,EAAC,OAAO,YAEZ,gBAAa,GACT,EAEN,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACrC,CACL,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport navRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport navDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport type SideNavigationGroup from \"./SideNavigationGroup.js\";\n\nexport default function SideNavigationGroupTemplate(this: SideNavigationGroup) {\n\tif (this.sideNavCollapsed) {\n\t\treturn (<>\n\t\t\t<div class={`ui5-sn-item-separator ${this.belowGroupClassName}`}></div>\n\t\t\t<slot></slot>\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t</>);\n\t}\n\n\treturn TreeItemTemplate.call(this);\n}\n\nfunction TreeItemTemplate(this: SideNavigationGroup) {\n\treturn (\n\t\t<li id={this._id}\n\t\t\tclass={`ui5-sn-list-li ${this.belowGroupClassName}`}\n\t\t\trole=\"none\"\n\t\t>\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t\t<div id={this._id}\n\t\t\t\t data-sap-focus-ref\n\t\t\t\t class={`ui5-sn-item ui5-sn-item-group ${this._classes}`}\n\t\t\t\t role=\"treeitem\"\n\t\t\t\t onKeyDown={this._onkeydown}\n\t\t\t\t onClick={this._onclick}\n\t\t\t\t onFocusIn={this._onfocusin}\n\t\t\t\t tabIndex={this.effectiveTabIndex}\n\t\t\t\t aria-expanded={this._expanded}\n\t\t\t\t aria-label={this.accessibleName || undefined}\n\t\t\t\t title={this._tooltip}\n\t\t\t\t aria-owns={this._groupId}\n\t\t\t>\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\t name={this.expanded ? navDownArrow : navRightArrow}\n\t\t\t\t\t\t accessibleName={this._arrowTooltip}\n\t\t\t\t\t\t showTooltip={true}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{!!this.items.length &&\n\t\t\t\t<ul id={this._groupId}\n\t\t\t\t\tclass=\"ui5-sn-item-ul\"\n\t\t\t\t\taria-label={this.accessibleName || this.text}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t}\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t</li>\n\t);\n}\n"]}
@@ -155,6 +155,9 @@ let SideNavigationItem = SideNavigationItem_1 = class SideNavigationItem extends
155
155
  : SideNavigationItem_1.i18nBundle.getText(SIDE_NAVIGATION_ICON_EXPAND);
156
156
  }
157
157
  get _ariaLabel() {
158
+ if (this.accessibleName) {
159
+ return this.accessibleName;
160
+ }
158
161
  if (this.isOverflow) {
159
162
  return SideNavigationItem_1.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ITEM_LABEL);
160
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationItem.js","sourceRoot":"","sources":["../src/SideNavigationItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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 type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisMinus,\n\tisPlus,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport type SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport {\n\tSIDE_NAVIGATION_ICON_COLLAPSE,\n\tSIDE_NAVIGATION_ICON_EXPAND,\n\tSIDE_NAVIGATION_OVERFLOW_ITEM_LABEL,\n\tSIDE_NAVIGATION_PARENT_ITEM_SELECTABLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n// Templates\nimport SideNavigationItemTemplate from \"./SideNavigationItemTemplate.js\";\n\n// Styles\nimport SideNavigationItemCss from \"./generated/themes/SideNavigationItem.css.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Represents a navigation action. It can provide sub items.\n * The `ui5-side-navigation-item` is used within `ui5-side-navigation` or `ui5-side-navigation-group` only.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";`\n *\n * @constructor\n * @extends SideNavigationSelectableItemBase\n * @abstract\n * @public\n * @since 1.0.0-rc.8\n */\n@customElement({\n\ttag: \"ui5-side-navigation-item\",\n\trenderer: jsxRender,\n\ttemplate: SideNavigationItemTemplate,\n\tstyles: SideNavigationItemCss,\n})\nclass SideNavigationItem extends SideNavigationSelectableItemBase {\n\t/**\n\t * Defines if the item is expanded\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines if the item should be collapsible or not.\n\t * It is true, for example, for the items inside the Popover of the Side Navigation\n\t * @private\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\t_fixed = false;\n\n\t/**\n\t * Defines nested items by passing `ui5-side-navigation-sub-item` to the default slot.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: DefaultSlot<SideNavigationSubItem>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._parentDisabled = this.effectiveDisabled;\n\t\t});\n\t}\n\n\tget overflowItems() : Array<SideNavigationItem> {\n\t\treturn [this];\n\t}\n\n\tget hasSubItems() {\n\t\treturn this.items.length > 0;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || this._groupDisabled;\n\t}\n\n\tget selectableItems() : Array<SideNavigationSelectableItemBase> {\n\t\tif (this.inPopover && this.unselectable && this.items.length) {\n\t\t\treturn [...this.items];\n\t\t}\n\n\t\treturn [this, ...this.items];\n\t}\n\n\tget focusableItems() : Array<SideNavigationItemBase> {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn [this];\n\t\t}\n\n\t\tif (this.inPopover && this.unselectable && this.items.length) {\n\t\t\treturn [...this.items];\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\treturn [this, ...this.items];\n\t\t}\n\n\t\treturn [this];\n\t}\n\n\tget allItems() : Array<SideNavigationItemBase> {\n\t\treturn [this, ...this.items];\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.inPopover && this.unselectable) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn super.effectiveTabIndex;\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (this.inPopover && this.accessibilityAttributes?.hasPopup) {\n\t\t\treturn this.accessibilityAttributes.hasPopup;\n\t\t}\n\n\t\tif (!this.effectiveDisabled && this.sideNavCollapsed && this.items.length) {\n\t\t\treturn \"tree\";\n\t\t}\n\n\t\tif (this.accessibilityAttributes?.hasPopup) {\n\t\t\treturn this.accessibilityAttributes.hasPopup;\n\t\t}\n\n\t\tif (this.isOverflow) {\n\t\t\treturn \"menu\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget _ariaChecked() {\n\t\tif (this.isOverflow || this.unselectable || !this.sideNavCollapsed) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\tget _groupId() {\n\t\tif (!this.items.length || this.sideNavCollapsed) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${this._id}-group`;\n\t}\n\n\tget _expanded() {\n\t\tif (!this.items.length || this.sideNavCollapsed) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.expanded;\n\t}\n\n\tget _describedBy() {\n\t\tif (!this.effectiveDisabled && this.items.length && !this.unselectable) {\n\t\t\treturn SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_PARENT_ITEM_SELECTABLE_DESCRIPTION, this.text ?? \"\");\n\t\t}\n\t}\n\n\tget classesArray() {\n\t\tconst classes = super.classesArray;\n\n\t\tif (!this.effectiveDisabled && this.items.length) {\n\t\t\tclasses.push(\"ui5-sn-item-with-expander\");\n\t\t}\n\n\t\tif (this._fixed) {\n\t\t\tclasses.push(\"ui5-sn-item-fixed\");\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tget _selected() {\n\t\tif (this.sideNavCollapsed || !this.expanded) {\n\t\t\treturn this.selected || this.items.some(item => item.selected);\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\tget _arrowTooltip() {\n\t\treturn this.expanded ? SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_ICON_COLLAPSE)\n\t\t\t: SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_ICON_EXPAND);\n\t}\n\n\tget _ariaLabel() {\n\t\tif (this.isOverflow) {\n\t\t\treturn SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ITEM_LABEL);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tapplyInitialFocusInPopover() {\n\t\tif (this.unselectable && this.items.length) {\n\t\t\tthis.items[0]?.focus();\n\t\t} else {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_onToggleClick(e: CustomEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._toggle();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this.effectiveDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tif (this.sideNavigation.classList.contains(\"ui5-side-navigation-in-popover\") || this.sideNavCollapsed) {\n\t\t\tsuper._onkeydown(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = isRTL;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isRight(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = !isRTL;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isMinus(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPlus(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (!this.inPopover && this.unselectable && !this.isExternalLink) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tsuper._onkeydown(e);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onkeyup(e);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this.inPopover && this.unselectable && this.items.length) {\n\t\t\tthis.sideNavigation?.focusItem(this.items[0]);\n\t\t} else {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this.inPopover && this.unselectable) {\n\t\t\tthis._toggle();\n\t\t}\n\n\t\tsuper._onclick(e);\n\t}\n\n\t_onfocusout() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseenter() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseleave() {\n\t\tif (!this.sideNavCollapsed || !this._selected) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_toggle() {\n\t\tif (this.items.length && !this.effectiveDisabled) {\n\t\t\tthis.expanded = !this.expanded;\n\t\t}\n\t}\n\n\tget isSideNavigationItem() {\n\t\treturn true;\n\t}\n}\n\nSideNavigationItem.define();\n\nexport default SideNavigationItem;\nexport const isInstanceOfSideNavigationItem = createInstanceChecker<SideNavigationItem>(\"isSideNavigationItem\");\n"]}
1
+ {"version":3,"file":"SideNavigationItem.js","sourceRoot":"","sources":["../src/SideNavigationItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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 type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisMinus,\n\tisPlus,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport type SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport {\n\tSIDE_NAVIGATION_ICON_COLLAPSE,\n\tSIDE_NAVIGATION_ICON_EXPAND,\n\tSIDE_NAVIGATION_OVERFLOW_ITEM_LABEL,\n\tSIDE_NAVIGATION_PARENT_ITEM_SELECTABLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n// Templates\nimport SideNavigationItemTemplate from \"./SideNavigationItemTemplate.js\";\n\n// Styles\nimport SideNavigationItemCss from \"./generated/themes/SideNavigationItem.css.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Represents a navigation action. It can provide sub items.\n * The `ui5-side-navigation-item` is used within `ui5-side-navigation` or `ui5-side-navigation-group` only.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";`\n *\n * @constructor\n * @extends SideNavigationSelectableItemBase\n * @abstract\n * @public\n * @since 1.0.0-rc.8\n */\n@customElement({\n\ttag: \"ui5-side-navigation-item\",\n\trenderer: jsxRender,\n\ttemplate: SideNavigationItemTemplate,\n\tstyles: SideNavigationItemCss,\n})\nclass SideNavigationItem extends SideNavigationSelectableItemBase {\n\t/**\n\t * Defines if the item is expanded\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines if the item should be collapsible or not.\n\t * It is true, for example, for the items inside the Popover of the Side Navigation\n\t * @private\n\t * @default false\n\t * @since 1.10.0\n\t */\n\t@property({ type: Boolean })\n\t_fixed = false;\n\n\t/**\n\t * Defines nested items by passing `ui5-side-navigation-sub-item` to the default slot.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: DefaultSlot<SideNavigationSubItem>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tthis.items.forEach(item => {\n\t\t\titem._parentDisabled = this.effectiveDisabled;\n\t\t});\n\t}\n\n\tget overflowItems() : Array<SideNavigationItem> {\n\t\treturn [this];\n\t}\n\n\tget hasSubItems() {\n\t\treturn this.items.length > 0;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || this._groupDisabled;\n\t}\n\n\tget selectableItems() : Array<SideNavigationSelectableItemBase> {\n\t\tif (this.inPopover && this.unselectable && this.items.length) {\n\t\t\treturn [...this.items];\n\t\t}\n\n\t\treturn [this, ...this.items];\n\t}\n\n\tget focusableItems() : Array<SideNavigationItemBase> {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn [this];\n\t\t}\n\n\t\tif (this.inPopover && this.unselectable && this.items.length) {\n\t\t\treturn [...this.items];\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\treturn [this, ...this.items];\n\t\t}\n\n\t\treturn [this];\n\t}\n\n\tget allItems() : Array<SideNavigationItemBase> {\n\t\treturn [this, ...this.items];\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.inPopover && this.unselectable) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn super.effectiveTabIndex;\n\t}\n\n\tget _ariaHasPopup() {\n\t\tif (this.inPopover && this.accessibilityAttributes?.hasPopup) {\n\t\t\treturn this.accessibilityAttributes.hasPopup;\n\t\t}\n\n\t\tif (!this.effectiveDisabled && this.sideNavCollapsed && this.items.length) {\n\t\t\treturn \"tree\";\n\t\t}\n\n\t\tif (this.accessibilityAttributes?.hasPopup) {\n\t\t\treturn this.accessibilityAttributes.hasPopup;\n\t\t}\n\n\t\tif (this.isOverflow) {\n\t\t\treturn \"menu\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget _ariaChecked() {\n\t\tif (this.isOverflow || this.unselectable || !this.sideNavCollapsed) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\tget _groupId() {\n\t\tif (!this.items.length || this.sideNavCollapsed) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${this._id}-group`;\n\t}\n\n\tget _expanded() {\n\t\tif (!this.items.length || this.sideNavCollapsed) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.expanded;\n\t}\n\n\tget _describedBy() {\n\t\tif (!this.effectiveDisabled && this.items.length && !this.unselectable) {\n\t\t\treturn SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_PARENT_ITEM_SELECTABLE_DESCRIPTION, this.text ?? \"\");\n\t\t}\n\t}\n\n\tget classesArray() {\n\t\tconst classes = super.classesArray;\n\n\t\tif (!this.effectiveDisabled && this.items.length) {\n\t\t\tclasses.push(\"ui5-sn-item-with-expander\");\n\t\t}\n\n\t\tif (this._fixed) {\n\t\t\tclasses.push(\"ui5-sn-item-fixed\");\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tget _selected() {\n\t\tif (this.sideNavCollapsed || !this.expanded) {\n\t\t\treturn this.selected || this.items.some(item => item.selected);\n\t\t}\n\n\t\treturn this.selected;\n\t}\n\n\tget _arrowTooltip() {\n\t\treturn this.expanded ? SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_ICON_COLLAPSE)\n\t\t\t: SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_ICON_EXPAND);\n\t}\n\n\tget _ariaLabel() {\n\t\tif (this.accessibleName) {\n\t\t\treturn this.accessibleName;\n\t\t}\n\n\t\tif (this.isOverflow) {\n\t\t\treturn SideNavigationItem.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ITEM_LABEL);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tapplyInitialFocusInPopover() {\n\t\tif (this.unselectable && this.items.length) {\n\t\t\tthis.items[0]?.focus();\n\t\t} else {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_onToggleClick(e: CustomEvent) {\n\t\te.stopPropagation();\n\n\t\tthis._toggle();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this.effectiveDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tif (this.sideNavigation.classList.contains(\"ui5-side-navigation-in-popover\") || this.sideNavCollapsed) {\n\t\t\tsuper._onkeydown(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = isRTL;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isRight(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = !isRTL;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isMinus(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPlus(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.expanded = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (!this.inPopover && this.unselectable && !this.isExternalLink) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tsuper._onkeydown(e);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onkeyup(e);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this.inPopover && this.unselectable && this.items.length) {\n\t\t\tthis.sideNavigation?.focusItem(this.items[0]);\n\t\t} else {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this.inPopover && this.unselectable) {\n\t\t\tthis._toggle();\n\t\t}\n\n\t\tsuper._onclick(e);\n\t}\n\n\t_onfocusout() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseenter() {\n\t\tif (!this.sideNavCollapsed) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.remove(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_onmouseleave() {\n\t\tif (!this.sideNavCollapsed || !this._selected) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\t_toggle() {\n\t\tif (this.items.length && !this.effectiveDisabled) {\n\t\t\tthis.expanded = !this.expanded;\n\t\t}\n\t}\n\n\tget isSideNavigationItem() {\n\t\treturn true;\n\t}\n}\n\nSideNavigationItem.define();\n\nexport default SideNavigationItem;\nexport const isInstanceOfSideNavigationItem = createInstanceChecker<SideNavigationItem>(\"isSideNavigationItem\");\n"]}
@@ -49,6 +49,14 @@ declare class SideNavigationItemBase extends UI5Element implements ITabbable {
49
49
  * @since 2.0.0
50
50
  */
51
51
  tooltip?: string;
52
+ /**
53
+ * Defines the accessible ARIA name of the component.
54
+ *
55
+ * @default undefined
56
+ * @public
57
+ * @since 2.22.0
58
+ */
59
+ accessibleName?: string;
52
60
  forcedTabIndex: string;
53
61
  sideNavCollapsed: boolean;
54
62
  inPopover: boolean;
@@ -105,6 +105,9 @@ __decorate([
105
105
  __decorate([
106
106
  property()
107
107
  ], SideNavigationItemBase.prototype, "tooltip", void 0);
108
+ __decorate([
109
+ property()
110
+ ], SideNavigationItemBase.prototype, "accessibleName", void 0);
108
111
  __decorate([
109
112
  property({ noAttribute: true })
110
113
  ], SideNavigationItemBase.prototype, "forcedTabIndex", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationItemBase.js","sourceRoot":"","sources":["../src/SideNavigationItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type SideNavigation from \"./SideNavigation.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\ntype SideNavigationItemClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\n/**\n * @class\n * Base class for the items that are accepted by the `ui5-side-navigation` component.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.19.0\n */\nclass SideNavigationItemBase extends UI5Element implements ITabbable {\n\teventDetails!: {\n\t\tclick: SideNavigationItemClickEventDetail\n\t}\n\n\t/**\n\t * Defines the text of the item.\n\t *\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.19.0\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * A tooltip attribute should be provided, in order to represent meaning/function,\n\t * when the component is collapsed (\"icon only\" design is visualized) or the item text is truncated.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"-1\";\n\n\t@property({ type: Boolean })\n\tsideNavCollapsed = false;\n\n\t@property({ type: Boolean })\n\tinPopover = false;\n\n\t_sideNavigation!: SideNavigation;\n\n\t/**\n\t * Defines if the item's group is disabled.\n\t * @private\n\t * @default false\n\t * @since 2.10.0\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_groupDisabled: boolean = false;\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tget _tooltip() {\n\t\treturn this.tooltip || undefined;\n\t}\n\n\tget hasSubItems() {\n\t\treturn false;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled;\n\t}\n\n\tget classesArray() {\n\t\tconst classes = [];\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-sn-item-disabled\");\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tget _classes() {\n\t\treturn this.classesArray.join(\" \");\n\t}\n\n\tget effectiveTabIndex() {\n\t\treturn this.forcedTabIndex !== undefined ? parseInt(this.forcedTabIndex) : undefined;\n\t}\n\n\tget sideNavigation() {\n\t\treturn this._sideNavigation;\n\t}\n\n\tset sideNavigation(sideNavigation) {\n\t\tthis._sideNavigation = sideNavigation;\n\t}\n\n\tget isFixedItem() {\n\t\tlet element : HTMLElement = this; // eslint-disable-line\n\t\tlet parentElement = element.parentElement;\n\n\t\twhile (parentElement) {\n\t\t\tif (parentElement.hasAttribute(\"ui5-side-navigation\")) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\telement = parentElement;\n\t\t\tparentElement = element.parentElement;\n\t\t}\n\n\t\treturn element?.slot === \"fixedItems\";\n\t}\n\n\tget isSideNavigationItemBase() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tapplyInitialFocusInPopover() {\n\n\t}\n}\n\nexport default SideNavigationItemBase;\nexport type {\n\tSideNavigationItemClickEventDetail,\n};\nexport const isInstanceOfSideNavigationItemBase = createInstanceChecker<SideNavigationItemBase>(\"isSideNavigationItemBase\");\n"]}
1
+ {"version":3,"file":"SideNavigationItemBase.js","sourceRoot":"","sources":["../src/SideNavigationItemBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type SideNavigation from \"./SideNavigation.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\n\ntype SideNavigationItemClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\n/**\n * @class\n * Base class for the items that are accepted by the `ui5-side-navigation` component.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.19.0\n */\nclass SideNavigationItemBase extends UI5Element implements ITabbable {\n\teventDetails!: {\n\t\tclick: SideNavigationItemClickEventDetail\n\t}\n\n\t/**\n\t * Defines the text of the item.\n\t *\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.19.0\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * A tooltip attribute should be provided, in order to represent meaning/function,\n\t * when the component is collapsed (\"icon only\" design is visualized) or the item text is truncated.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"-1\";\n\n\t@property({ type: Boolean })\n\tsideNavCollapsed = false;\n\n\t@property({ type: Boolean })\n\tinPopover = false;\n\n\t_sideNavigation!: SideNavigation;\n\n\t/**\n\t * Defines if the item's group is disabled.\n\t * @private\n\t * @default false\n\t * @since 2.10.0\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_groupDisabled: boolean = false;\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tget _tooltip() {\n\t\treturn this.tooltip || undefined;\n\t}\n\n\tget hasSubItems() {\n\t\treturn false;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled;\n\t}\n\n\tget classesArray() {\n\t\tconst classes = [];\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-sn-item-disabled\");\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tget _classes() {\n\t\treturn this.classesArray.join(\" \");\n\t}\n\n\tget effectiveTabIndex() {\n\t\treturn this.forcedTabIndex !== undefined ? parseInt(this.forcedTabIndex) : undefined;\n\t}\n\n\tget sideNavigation() {\n\t\treturn this._sideNavigation;\n\t}\n\n\tset sideNavigation(sideNavigation) {\n\t\tthis._sideNavigation = sideNavigation;\n\t}\n\n\tget isFixedItem() {\n\t\tlet element : HTMLElement = this; // eslint-disable-line\n\t\tlet parentElement = element.parentElement;\n\n\t\twhile (parentElement) {\n\t\t\tif (parentElement.hasAttribute(\"ui5-side-navigation\")) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\telement = parentElement;\n\t\t\tparentElement = element.parentElement;\n\t\t}\n\n\t\treturn element?.slot === \"fixedItems\";\n\t}\n\n\tget isSideNavigationItemBase() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tapplyInitialFocusInPopover() {\n\n\t}\n}\n\nexport default SideNavigationItemBase;\nexport type {\n\tSideNavigationItemClickEventDetail,\n};\nexport const isInstanceOfSideNavigationItemBase = createInstanceChecker<SideNavigationItemBase>(\"isSideNavigationItemBase\");\n"]}
@@ -21,6 +21,6 @@ function ItemTemplate() {
21
21
  !!this.items.length &&
22
22
  _jsx(Icon, { class: "ui5-sn-item-toggle-icon", name: this.expanded ? navDownArrow : navRightArrow, accessibleName: this._arrowTooltip, showTooltip: true, onClick: this._onToggleClick }), this.isExternalLink &&
23
23
  _jsx(Icon, { class: "ui5-sn-item-external-link-icon", name: arrowRight })] }), !this.sideNavCollapsed && !!this.items.length &&
24
- _jsx("ul", { id: this._groupId, class: "ui5-sn-item-ul", "aria-label": this.text, role: "group", children: _jsx("slot", {}) })] }));
24
+ _jsx("ul", { id: this._groupId, class: "ui5-sn-item-ul", "aria-label": this.accessibleName || this.text, role: "group", children: _jsx("slot", {}) })] }));
25
25
  }
26
26
  //# sourceMappingURL=SideNavigationItemTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationItemTemplate.js","sourceRoot":"","sources":["../src/SideNavigationItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,yDAAyD,CAAC;AACpF,OAAO,YAAY,MAAM,wDAAwD,CAAC;AAClF,OAAO,UAAU,MAAM,8CAA8C,CAAC;AAGtE,MAAM,CAAC,OAAO,UAAU,0BAA0B;IACjD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CACN,aAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,MAAM,YAClD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GACpB,CACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACpB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IAExC,OAAO,CACN,8BACC,MAAC,YAAY,IAAC,EAAE,EAAE,IAAI,CAAC,GAAG,8BAErB,KAAK,EAAE,kCAAkC,IAAI,CAAC,QAAQ,EAAE,EACxD,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,kBAClB,IAAI,CAAC,YAAY,mBAChB,IAAI,CAAC,aAAa,EACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,mBACL,IAAI,CAAC,iBAAiB,EACrC,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,MAAM,EAAE,IAAI,CAAC,OAAO,mBACL,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,YAAY,EAAE,IAAI,CAAC,aAAa,kBAClB,IAAI,CAAC,YAAY,eACpB,IAAI,CAAC,QAAQ,gBACZ,IAAI,CAAC,UAAU,mBACZ,IAAI,CAAC,SAAS,sBACX,IAAI,CAAC,YAAY,aAEtC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACvB,KAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG;wBACjD,CAAC;4BACD,IAAI,CAAC,IAAI,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,EAE/D,cAAK,KAAK,EAAC,kBAAkB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9C,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;4BACnB,KAAC,IAAI,IAAC,KAAK,EAAC,yBAAyB,EAClC,IAAI,EAAE,aAAa,GACpB;wBACF,CAAC;4BACD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gCACnB,KAAC,IAAI,IAAC,KAAK,EAAC,yBAAyB,EAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAClD,cAAc,EAAE,IAAI,CAAC,aAAa,EAClC,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,CAAC,cAAc,GAC7B,EAEF,IAAI,CAAC,cAAc;wBACnB,KAAC,IAAI,IAAC,KAAK,EAAC,gCAAgC,EACzC,IAAI,EAAE,UAAU,GACjB,IAEW,EACd,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC7C,aAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EACpB,KAAK,EAAC,gBAAgB,gBACV,IAAI,CAAC,IAAI,EACrB,IAAI,EAAC,OAAO,YAEZ,gBAAa,GACT,IAEJ,CACH,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport navRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport navDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport arrowRight from \"@ui5/webcomponents-icons/dist/arrow-right.js\";\nimport type SideNavigationItem from \"./SideNavigationItem.js\";\n\nexport default function SideNavigationItemTemplate(this: SideNavigationItem) {\n\tif (this.sideNavCollapsed) {\n\t\treturn ItemTemplate.call(this);\n\t}\n\n\treturn (\n\t\t<li id={this._id} class=\"ui5-sn-list-li\" role=\"none\">\n\t\t\t{ItemTemplate.call(this)}\n\t\t</li>\n\t);\n}\n\nfunction ItemTemplate(this: SideNavigationItem) {\n\tconst EffectiveTag = this._effectiveTag;\n\n\treturn (\n\t\t<>\n\t\t\t<EffectiveTag id={this._id}\n\t\t\t\t\t\t data-sap-focus-ref\n\t\t\t\t\t\t class={`ui5-sn-item ui5-sn-item-level1 ${this._classes}`}\n\t\t\t\t\t\t role={this.ariaRole}\n\t\t\t\t\t\t onKeyDown={this._onkeydown}\n\t\t\t\t\t\t onKeyUp={this._onkeyup}\n\t\t\t\t\t\t onClick={this._onclick}\n\t\t\t\t\t\t onFocusIn={this._onfocusin}\n\t\t\t\t\t\t tabIndex={this.effectiveTabIndex}\n\t\t\t\t\t\t aria-current={this._ariaCurrent}\n\t\t\t\t\t\t aria-selected={this._ariaSelected}\n\t\t\t\t\t\t title={this._tooltip}\n\t\t\t\t\t\t aria-disabled={this.effectiveDisabled}\n\t\t\t\t\t\t href={this._href}\n\t\t\t\t\t\t target={this._target}\n\t\t\t\t\t\t aria-haspopup={this._ariaHasPopup}\n\t\t\t\t\t\t onFocusOut={this._onfocusout}\n\t\t\t\t\t\t onMouseEnter={this._onmouseenter}\n\t\t\t\t\t\t onMouseLeave={this._onmouseleave}\n\t\t\t\t\t\t aria-checked={this._ariaChecked}\n\t\t\t\t\t\t aria-owns={this._groupId}\n\t\t\t\t\t\t aria-label={this._ariaLabel}\n\t\t\t\t\t\t aria-expanded={this._expanded}\n\t\t\t\t\t\t aria-describedby={this._describedBy}\n\t\t\t>\n\t\t\t\t{this.sideNavCollapsed ?\n\t\t\t\t\t<Icon class=\"ui5-sn-item-icon\" name={this.icon}/>\n\t\t\t\t\t:\n\t\t\t\t\tthis.icon && <Icon class=\"ui5-sn-item-icon\" name={this.icon}/>\n\t\t\t\t}\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{this.sideNavCollapsed ?\n\t\t\t\t\t!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\t name={navRightArrow}\n\t\t\t\t\t/>\n\t\t\t\t\t:\n\t\t\t\t\t!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\t name={this.expanded ? navDownArrow : navRightArrow}\n\t\t\t\t\t\t accessibleName={this._arrowTooltip}\n\t\t\t\t\t\t showTooltip={true}\n\t\t\t\t\t\t onClick={this._onToggleClick}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{this.isExternalLink &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-external-link-icon\"\n\t\t\t\t\t\t name={arrowRight}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</EffectiveTag>\n\t\t\t{!this.sideNavCollapsed && !!this.items.length &&\n\t\t\t\t<ul id={this._groupId}\n\t\t\t\t\tclass=\"ui5-sn-item-ul\"\n\t\t\t\t\taria-label={this.text}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"file":"SideNavigationItemTemplate.js","sourceRoot":"","sources":["../src/SideNavigationItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport navRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport navDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport arrowRight from \"@ui5/webcomponents-icons/dist/arrow-right.js\";\nimport type SideNavigationItem from \"./SideNavigationItem.js\";\n\nexport default function SideNavigationItemTemplate(this: SideNavigationItem) {\n\tif (this.sideNavCollapsed) {\n\t\treturn ItemTemplate.call(this);\n\t}\n\n\treturn (\n\t\t<li id={this._id} class=\"ui5-sn-list-li\" role=\"none\">\n\t\t\t{ItemTemplate.call(this)}\n\t\t</li>\n\t);\n}\n\nfunction ItemTemplate(this: SideNavigationItem) {\n\tconst EffectiveTag = this._effectiveTag;\n\n\treturn (\n\t\t<>\n\t\t\t<EffectiveTag id={this._id}\n\t\t\t\t\t\t data-sap-focus-ref\n\t\t\t\t\t\t class={`ui5-sn-item ui5-sn-item-level1 ${this._classes}`}\n\t\t\t\t\t\t role={this.ariaRole}\n\t\t\t\t\t\t onKeyDown={this._onkeydown}\n\t\t\t\t\t\t onKeyUp={this._onkeyup}\n\t\t\t\t\t\t onClick={this._onclick}\n\t\t\t\t\t\t onFocusIn={this._onfocusin}\n\t\t\t\t\t\t tabIndex={this.effectiveTabIndex}\n\t\t\t\t\t\t aria-current={this._ariaCurrent}\n\t\t\t\t\t\t aria-selected={this._ariaSelected}\n\t\t\t\t\t\t title={this._tooltip}\n\t\t\t\t\t\t aria-disabled={this.effectiveDisabled}\n\t\t\t\t\t\t href={this._href}\n\t\t\t\t\t\t target={this._target}\n\t\t\t\t\t\t aria-haspopup={this._ariaHasPopup}\n\t\t\t\t\t\t onFocusOut={this._onfocusout}\n\t\t\t\t\t\t onMouseEnter={this._onmouseenter}\n\t\t\t\t\t\t onMouseLeave={this._onmouseleave}\n\t\t\t\t\t\t aria-checked={this._ariaChecked}\n\t\t\t\t\t\t aria-owns={this._groupId}\n\t\t\t\t\t\t aria-label={this._ariaLabel}\n\t\t\t\t\t\t aria-expanded={this._expanded}\n\t\t\t\t\t\t aria-describedby={this._describedBy}\n\t\t\t>\n\t\t\t\t{this.sideNavCollapsed ?\n\t\t\t\t\t<Icon class=\"ui5-sn-item-icon\" name={this.icon}/>\n\t\t\t\t\t:\n\t\t\t\t\tthis.icon && <Icon class=\"ui5-sn-item-icon\" name={this.icon}/>\n\t\t\t\t}\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{this.sideNavCollapsed ?\n\t\t\t\t\t!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\t name={navRightArrow}\n\t\t\t\t\t/>\n\t\t\t\t\t:\n\t\t\t\t\t!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\t name={this.expanded ? navDownArrow : navRightArrow}\n\t\t\t\t\t\t accessibleName={this._arrowTooltip}\n\t\t\t\t\t\t showTooltip={true}\n\t\t\t\t\t\t onClick={this._onToggleClick}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{this.isExternalLink &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-external-link-icon\"\n\t\t\t\t\t\t name={arrowRight}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</EffectiveTag>\n\t\t\t{!this.sideNavCollapsed && !!this.items.length &&\n\t\t\t\t<ul id={this._groupId}\n\t\t\t\t\tclass=\"ui5-sn-item-ul\"\n\t\t\t\t\taria-label={this.accessibleName || this.text}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
@@ -3,7 +3,7 @@ import Icon from "@ui5/webcomponents/dist/Icon.js";
3
3
  import arrowRight from "@ui5/webcomponents-icons/dist/arrow-right.js";
4
4
  export default function SideNavigationSubItemTemplate() {
5
5
  const EffectiveTag = this._effectiveTag;
6
- return (_jsx("li", { id: this._id, class: "ui5-sn-list-li", role: "none", children: _jsxs(EffectiveTag, { id: this._id, "data-sap-focus-ref": true, class: `ui5-sn-item ui5-sn-item-level2 ${this._classes}`, role: this.ariaRole, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onClick: this._onclick, onFocusIn: this._onfocusin, tabIndex: this.effectiveTabIndex, "aria-current": this._ariaCurrent, "aria-selected": this._ariaSelected, title: this._tooltip, "aria-disabled": this.effectiveDisabled, href: this._href, target: this._target, "aria-haspopup": this._ariaHasPopup, children: [this.icon &&
6
+ return (_jsx("li", { id: this._id, class: "ui5-sn-list-li", role: "none", children: _jsxs(EffectiveTag, { id: this._id, "data-sap-focus-ref": true, class: `ui5-sn-item ui5-sn-item-level2 ${this._classes}`, role: this.ariaRole, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onClick: this._onclick, onFocusIn: this._onfocusin, tabIndex: this.effectiveTabIndex, "aria-current": this._ariaCurrent, "aria-selected": this._ariaSelected, "aria-label": this.accessibleName || undefined, title: this._tooltip, "aria-disabled": this.effectiveDisabled, href: this._href, target: this._target, "aria-haspopup": this._ariaHasPopup, children: [this.icon &&
7
7
  _jsx(Icon, { class: "ui5-sn-item-icon", name: this.icon }), _jsx("div", { class: "ui5-sn-item-text", children: this.text }), this.isExternalLink &&
8
8
  _jsx(Icon, { class: "ui5-sn-item-external-link-icon", name: arrowRight })] }) }));
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationSubItemTemplate.js","sourceRoot":"","sources":["../src/SideNavigationSubItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,UAAU,MAAM,8CAA8C,CAAC;AAGtE,MAAM,CAAC,OAAO,UAAU,6BAA6B;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IAExC,OAAO,CACN,aAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,MAAM,YACnD,MAAC,YAAY,IAAC,EAAE,EAAE,IAAI,CAAC,GAAG,8BAErB,KAAK,EAAE,kCAAkC,IAAI,CAAC,QAAQ,EAAE,EACxD,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,kBAClB,IAAI,CAAC,YAAY,mBAChB,IAAI,CAAC,aAAa,EACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,mBACL,IAAI,CAAC,iBAAiB,EACrC,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,MAAM,EAAE,IAAI,CAAC,OAAO,mBACL,IAAI,CAAC,aAAa,aAEpC,IAAI,CAAC,IAAI;oBACT,KAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,EAElD,cAAK,KAAK,EAAC,kBAAkB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9C,IAAI,CAAC,cAAc;oBACnB,KAAC,IAAI,IAAC,KAAK,EAAC,gCAAgC,EACzC,IAAI,EAAE,UAAU,GACjB,IAEW,GACX,CACL,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport arrowRight from \"@ui5/webcomponents-icons/dist/arrow-right.js\";\nimport type SideNavigationSubItem from \"./SideNavigationSubItem.js\";\n\nexport default function SideNavigationSubItemTemplate(this: SideNavigationSubItem) {\n\tconst EffectiveTag = this._effectiveTag;\n\n\treturn (\n\t\t<li id={this._id} class=\"ui5-sn-list-li\" role=\"none\">\n\t\t\t<EffectiveTag id={this._id}\n\t\t\t\t\t\t data-sap-focus-ref\n\t\t\t\t\t\t class={`ui5-sn-item ui5-sn-item-level2 ${this._classes}`}\n\t\t\t\t\t\t role={this.ariaRole}\n\t\t\t\t\t\t onKeyDown={this._onkeydown}\n\t\t\t\t\t\t onKeyUp={this._onkeyup}\n\t\t\t\t\t\t onClick={this._onclick}\n\t\t\t\t\t\t onFocusIn={this._onfocusin}\n\t\t\t\t\t\t tabIndex={this.effectiveTabIndex}\n\t\t\t\t\t\t aria-current={this._ariaCurrent}\n\t\t\t\t\t\t aria-selected={this._ariaSelected}\n\t\t\t\t\t\t title={this._tooltip}\n\t\t\t\t\t\t aria-disabled={this.effectiveDisabled}\n\t\t\t\t\t\t href={this._href}\n\t\t\t\t\t\t target={this._target}\n\t\t\t\t\t\t aria-haspopup={this._ariaHasPopup}\n\t\t\t>\n\t\t\t\t{this.icon &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-icon\" name={this.icon}/>\n\t\t\t\t}\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{this.isExternalLink &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-external-link-icon\"\n\t\t\t\t\t\t name={arrowRight}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</EffectiveTag>\n\t\t</li>\n\t);\n}\n"]}
1
+ {"version":3,"file":"SideNavigationSubItemTemplate.js","sourceRoot":"","sources":["../src/SideNavigationSubItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,UAAU,MAAM,8CAA8C,CAAC;AAGtE,MAAM,CAAC,OAAO,UAAU,6BAA6B;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;IAExC,OAAO,CACN,aAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,MAAM,YACnD,MAAC,YAAY,IAAC,EAAE,EAAE,IAAI,CAAC,GAAG,8BAErB,KAAK,EAAE,kCAAkC,IAAI,CAAC,QAAQ,EAAE,EACxD,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,kBAClB,IAAI,CAAC,YAAY,mBAChB,IAAI,CAAC,aAAa,gBACrB,IAAI,CAAC,cAAc,IAAI,SAAS,EAC5C,KAAK,EAAE,IAAI,CAAC,QAAQ,mBACL,IAAI,CAAC,iBAAiB,EACrC,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,MAAM,EAAE,IAAI,CAAC,OAAO,mBACL,IAAI,CAAC,aAAa,aAEpC,IAAI,CAAC,IAAI;oBACT,KAAC,IAAI,IAAC,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,EAElD,cAAK,KAAK,EAAC,kBAAkB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9C,IAAI,CAAC,cAAc;oBACnB,KAAC,IAAI,IAAC,KAAK,EAAC,gCAAgC,EACzC,IAAI,EAAE,UAAU,GACjB,IAEW,GACX,CACL,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport arrowRight from \"@ui5/webcomponents-icons/dist/arrow-right.js\";\nimport type SideNavigationSubItem from \"./SideNavigationSubItem.js\";\n\nexport default function SideNavigationSubItemTemplate(this: SideNavigationSubItem) {\n\tconst EffectiveTag = this._effectiveTag;\n\n\treturn (\n\t\t<li id={this._id} class=\"ui5-sn-list-li\" role=\"none\">\n\t\t\t<EffectiveTag id={this._id}\n\t\t\t\t\t\t data-sap-focus-ref\n\t\t\t\t\t\t class={`ui5-sn-item ui5-sn-item-level2 ${this._classes}`}\n\t\t\t\t\t\t role={this.ariaRole}\n\t\t\t\t\t\t onKeyDown={this._onkeydown}\n\t\t\t\t\t\t onKeyUp={this._onkeyup}\n\t\t\t\t\t\t onClick={this._onclick}\n\t\t\t\t\t\t onFocusIn={this._onfocusin}\n\t\t\t\t\t\t tabIndex={this.effectiveTabIndex}\n\t\t\t\t\t\t aria-current={this._ariaCurrent}\n\t\t\t\t\t\t aria-selected={this._ariaSelected}\n\t\t\t\t\t\t aria-label={this.accessibleName || undefined}\n\t\t\t\t\t\t title={this._tooltip}\n\t\t\t\t\t\t aria-disabled={this.effectiveDisabled}\n\t\t\t\t\t\t href={this._href}\n\t\t\t\t\t\t target={this._target}\n\t\t\t\t\t\t aria-haspopup={this._ariaHasPopup}\n\t\t\t>\n\t\t\t\t{this.icon &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-icon\" name={this.icon}/>\n\t\t\t\t}\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{this.isExternalLink &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-external-link-icon\"\n\t\t\t\t\t\t name={arrowRight}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</EffectiveTag>\n\t\t</li>\n\t);\n}\n"]}
@@ -63,12 +63,6 @@ declare class TimelineHeaderBar extends UI5Element {
63
63
  * @public
64
64
  */
65
65
  showSort: boolean;
66
- /**
67
- * Shows the filter by date option.
68
- * @default false
69
- * @public
70
- */
71
- showFilterByDate: boolean;
72
66
  /**
73
67
  * The current filter category label.
74
68
  * @default ""
@@ -73,12 +73,6 @@ let TimelineHeaderBar = TimelineHeaderBar_1 = class TimelineHeaderBar extends UI
73
73
  * @public
74
74
  */
75
75
  this.showSort = false;
76
- /**
77
- * Shows the filter by date option.
78
- * @default false
79
- * @public
80
- */
81
- this.showFilterByDate = false;
82
76
  /**
83
77
  * The current filter category label.
84
78
  * @default ""
@@ -195,9 +189,6 @@ __decorate([
195
189
  __decorate([
196
190
  property({ type: Boolean })
197
191
  ], TimelineHeaderBar.prototype, "showSort", void 0);
198
- __decorate([
199
- property({ type: Boolean })
200
- ], TimelineHeaderBar.prototype, "showFilterByDate", void 0);
201
192
  __decorate([
202
193
  property()
203
194
  ], TimelineHeaderBar.prototype, "filterBy", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineHeaderBar.js","sourceRoot":"","sources":["../src/TimelineHeaderBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAIvD,gCAAgC;AAChC,OAAO,kDAAkD,CAAC;AAC1D,OAAO,6CAA6C,CAAC;AAErD,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAE/E,OAAO,EACN,mCAAmC,EACnC,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,gCAAgC,EAChC,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,GAC7B,MAAM,mCAAmC,CAAC;AAe3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAoDH,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAA1C;;QAOC;;;;WAIG;QAEH,eAAU,GAAG,KAAK,CAAC;QAEnB;;;;WAIG;QAEH,eAAU,GAAG,KAAK,CAAC;QAEnB;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;WAIG;QAEH,qBAAgB,GAAG,KAAK,CAAC;QAEzB;;;;WAIG;QAEH,aAAQ,GAAG,EAAE,CAAC;QAEd;;;;WAIG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;;WAIG;QAEH,cAAS,GAA2B,WAAW,CAAC;QAEhD;;;WAGG;QAEH,sBAAiB,GAAG,KAAK,CAAC;IAkH3B,CAAC;IAtGA,IAAI,wBAAwB;QAC3B,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,YAAY;QACf,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACrC,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,uBAAuB;QAC1B,OAAO,mBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,CAAc;QAC5B,MAAM,KAAK,GAAI,CAAC,CAAC,MAAgB,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACrB,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAO,2BAA2B,CAAC,CAAC;QAC/E,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhF,yEAAyE;YACzE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACnC,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa;aACxC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,qBAAqB;QACpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,YAAY;QACX,0DAA0D;QAC1D,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAzKA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACT;AAQnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACT;AAQnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACX;AAQjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACH;AAQzB;IADC,QAAQ,EAAE;mDACG;AAQd;IADC,QAAQ,EAAE;sDACM;AAQjB;IADC,QAAQ,EAAE;oDACqC;AAOhD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4DACrB;AAO1B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;wDACjC;AAGpC;IADN,IAAI,CAAC,0BAA0B,CAAC;2CACH;AA9EzB,iBAAiB;IAnDtB,aAAa,CAAC;QACd,GAAG,EAAE,yBAAyB;QAC9B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,yBAAyB;QACnC,MAAM,EAAE,oBAAoB;QAC5B,YAAY,EAAE;YACb,OAAO;YACP,aAAa;YACb,aAAa;YACb,KAAK;YACL,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,gBAAgB;YAChB,GAAG;YACH,MAAM;SACN;KACD,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;GAEI,iBAAiB,CAsLtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-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 Toolbar from \"@ui5/webcomponents/dist/Toolbar.js\";\nimport ToolbarButton from \"@ui5/webcomponents/dist/ToolbarButton.js\";\nimport ToolbarSpacer from \"@ui5/webcomponents/dist/ToolbarSpacer.js\";\nimport Input from \"@ui5/webcomponents/dist/Input.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type TimelineSortOrder from \"./types/TimelineSortOrder.js\";\nimport type TimelineFilterOption from \"./TimelineFilterOption.js\";\n\n// Import icons to register them\nimport \"@ui5/webcomponents-icons/dist/sort-descending.js\";\nimport \"@ui5/webcomponents-icons/dist/add-filter.js\";\n\nimport TimelineHeaderBarTemplate from \"./TimelineHeaderBarTemplate.js\";\nimport TimelineHeaderBarCss from \"./generated/themes/TimelineHeaderBar.css.js\";\n\nimport {\n\tTIMELINE_HEADER_BAR_ACCESSIBLE_NAME,\n\tTIMELINE_SEARCH_PLACEHOLDER,\n\tTIMELINE_SEARCH_ACCESSIBLE_NAME,\n\tTIMELINE_FILTER_ACCESSIBLE_NAME,\n\tTIMELINE_SORT_ASCENDING_TOOLTIP,\n\tTIMELINE_SORT_DESCENDING_TOOLTIP,\n\tTIMELINE_SORT_ACCESSIBLE_NAME,\n\tTIMELINE_FILTER_DIALOG_TITLE,\n\tTIMELINE_FILTER_DIALOG_OK,\n\tTIMELINE_FILTER_DIALOG_CANCEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimelineHeaderBarSearchEventDetail = {\n\tvalue: string;\n};\n\ntype TimelineHeaderBarFilterEventDetail = {\n\tfilterBy: string;\n\tselectedOptions: string[];\n};\n\ntype TimelineHeaderBarSortEventDetail = {\n\tsortOrder: string;\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-timeline-header-bar` component provides search, filter, and sort functionality\n * for the `ui5-timeline` component. It is designed to be slotted into the `header-bar` slot\n * of the Timeline.\n *\n * ### Usage\n *\n * The component fires events (`search`, `filter`, `sort`) that the application should handle\n * to filter/sort the timeline items. The Timeline component itself does not perform any\n * filtering or sorting - this is the responsibility of the application.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/TimelineHeaderBar.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.22.0\n */\n@customElement({\n\ttag: \"ui5-timeline-header-bar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimelineHeaderBarTemplate,\n\tstyles: TimelineHeaderBarCss,\n\tdependencies: [\n\t\tToolbar,\n\t\tToolbarButton,\n\t\tToolbarSpacer,\n\t\tInput,\n\t\tIcon,\n\t\tDialog,\n\t\tList,\n\t\tListItemStandard,\n\t\tBar,\n\t\tButton,\n\t],\n})\n\n/**\n * Fired when the user performs a search.\n *\n * @param {string} value The search value entered by the user.\n * @public\n */\n@event(\"search\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user changes filter selection.\n *\n * @param {string} filterBy The filter category.\n * @param {string[]} selectedOptions The selected filter option texts.\n * @public\n */\n@event(\"filter\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user changes sort order.\n *\n * @param {string} sortOrder The sort order (\"Ascending\" or \"Descending\").\n * @public\n */\n@event(\"sort\", {\n\tbubbles: true,\n})\n\nclass TimelineHeaderBar extends UI5Element {\n\teventDetails!: {\n\t\t\"search\": TimelineHeaderBarSearchEventDetail,\n\t\t\"filter\": TimelineHeaderBarFilterEventDetail,\n\t\t\"sort\": TimelineHeaderBarSortEventDetail,\n\t};\n\n\t/**\n\t * Shows the search input field.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearch = false;\n\n\t/**\n\t * Shows the filter button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowFilter = false;\n\n\t/**\n\t * Shows the sort button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSort = false;\n\n\t/**\n\t * Shows the filter by date option.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowFilterByDate = false;\n\n\t/**\n\t * The current filter category label.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfilterBy = \"\";\n\n\t/**\n\t * The current search value.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tsearchValue = \"\";\n\n\t/**\n\t * The current sort order.\n\t * @default \"Ascending\"\n\t * @public\n\t */\n\t@property()\n\tsortOrder: `${TimelineSortOrder}` = \"Ascending\";\n\n\t/**\n\t * Controls the filter dialog visibility.\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterDialogOpen = false;\n\n\t/**\n\t * Filter options to display in the filter dialog.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\tfilterOptions!: Slot<TimelineFilterOption>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget _headerBarAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_HEADER_BAR_ACCESSIBLE_NAME);\n\t}\n\n\tget _searchPlaceholder() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SEARCH_PLACEHOLDER);\n\t}\n\n\tget _searchAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SEARCH_ACCESSIBLE_NAME);\n\t}\n\n\tget _filterAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_ACCESSIBLE_NAME);\n\t}\n\n\tget _sortAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_ACCESSIBLE_NAME);\n\t}\n\n\tget _sortTooltip() {\n\t\tif (this.sortOrder === \"Descending\") {\n\t\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_ASCENDING_TOOLTIP);\n\t\t}\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_DESCENDING_TOOLTIP);\n\t}\n\n\tget _sortIcon() {\n\t\treturn \"sort-descending\";\n\t}\n\n\tget _filterIcon() {\n\t\treturn \"add-filter\";\n\t}\n\n\tget _filterDialogTitle() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_TITLE);\n\t}\n\n\tget _filterDialogOkText() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_OK);\n\t}\n\n\tget _filterDialogCancelText() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_CANCEL);\n\t}\n\n\t_onSearchInput(e: CustomEvent) {\n\t\tconst value = (e.target as Input).value;\n\t\tthis.searchValue = value;\n\t\tthis.fireDecoratorEvent(\"search\", { value });\n\t}\n\n\t_onFilterClick() {\n\t\tthis._filterDialogOpen = true;\n\t}\n\n\t_onFilterDialogConfirm() {\n\t\t// Read selected state from the list items in the dialog\n\t\tconst list = this.shadowRoot!.querySelector<List>(\".ui5-timeline-filter-list\");\n\t\tif (list) {\n\t\t\tconst selectedItems = list.getSelectedItems();\n\t\t\tconst selectedTexts = selectedItems.map(item => item.textContent?.trim() || \"\");\n\n\t\t\t// Update the TimelineFilterOption elements to match the dialog selection\n\t\t\tthis.filterOptions.forEach(option => {\n\t\t\t\toption.selected = selectedTexts.includes(option.text);\n\t\t\t});\n\t\t}\n\n\t\tconst selectedOptions = this.filterOptions\n\t\t\t.filter(option => option.selected)\n\t\t\t.map(option => option.text);\n\n\t\tthis.fireDecoratorEvent(\"filter\", {\n\t\t\tfilterBy: this.filterBy,\n\t\t\tselectedOptions,\n\t\t});\n\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onFilterDialogCancel() {\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onFilterDialogClose() {\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onSortClick() {\n\t\t// Toggle sort order: Ascending -> Descending -> Ascending\n\t\tif (this.sortOrder === \"Ascending\") {\n\t\t\tthis.sortOrder = \"Descending\";\n\t\t} else {\n\t\t\tthis.sortOrder = \"Ascending\";\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"sort\", {\n\t\t\tsortOrder: this.sortOrder,\n\t\t});\n\t}\n}\n\nTimelineHeaderBar.define();\n\nexport default TimelineHeaderBar;\nexport type {\n\tTimelineHeaderBarSearchEventDetail,\n\tTimelineHeaderBarFilterEventDetail,\n\tTimelineHeaderBarSortEventDetail,\n};\n"]}
1
+ {"version":3,"file":"TimelineHeaderBar.js","sourceRoot":"","sources":["../src/TimelineHeaderBar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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 event from \"@ui5/webcomponents-base/dist/decorators/event-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 Toolbar from \"@ui5/webcomponents/dist/Toolbar.js\";\nimport ToolbarButton from \"@ui5/webcomponents/dist/ToolbarButton.js\";\nimport ToolbarSpacer from \"@ui5/webcomponents/dist/ToolbarSpacer.js\";\nimport Input from \"@ui5/webcomponents/dist/Input.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type TimelineSortOrder from \"./types/TimelineSortOrder.js\";\nimport type TimelineFilterOption from \"./TimelineFilterOption.js\";\n\n// Import icons to register them\nimport \"@ui5/webcomponents-icons/dist/sort-descending.js\";\nimport \"@ui5/webcomponents-icons/dist/add-filter.js\";\n\nimport TimelineHeaderBarTemplate from \"./TimelineHeaderBarTemplate.js\";\nimport TimelineHeaderBarCss from \"./generated/themes/TimelineHeaderBar.css.js\";\n\nimport {\n\tTIMELINE_HEADER_BAR_ACCESSIBLE_NAME,\n\tTIMELINE_SEARCH_PLACEHOLDER,\n\tTIMELINE_SEARCH_ACCESSIBLE_NAME,\n\tTIMELINE_FILTER_ACCESSIBLE_NAME,\n\tTIMELINE_SORT_ASCENDING_TOOLTIP,\n\tTIMELINE_SORT_DESCENDING_TOOLTIP,\n\tTIMELINE_SORT_ACCESSIBLE_NAME,\n\tTIMELINE_FILTER_DIALOG_TITLE,\n\tTIMELINE_FILTER_DIALOG_OK,\n\tTIMELINE_FILTER_DIALOG_CANCEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimelineHeaderBarSearchEventDetail = {\n\tvalue: string;\n};\n\ntype TimelineHeaderBarFilterEventDetail = {\n\tfilterBy: string;\n\tselectedOptions: string[];\n};\n\ntype TimelineHeaderBarSortEventDetail = {\n\tsortOrder: string;\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-timeline-header-bar` component provides search, filter, and sort functionality\n * for the `ui5-timeline` component. It is designed to be slotted into the `header-bar` slot\n * of the Timeline.\n *\n * ### Usage\n *\n * The component fires events (`search`, `filter`, `sort`) that the application should handle\n * to filter/sort the timeline items. The Timeline component itself does not perform any\n * filtering or sorting - this is the responsibility of the application.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/TimelineHeaderBar.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.22.0\n */\n@customElement({\n\ttag: \"ui5-timeline-header-bar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimelineHeaderBarTemplate,\n\tstyles: TimelineHeaderBarCss,\n\tdependencies: [\n\t\tToolbar,\n\t\tToolbarButton,\n\t\tToolbarSpacer,\n\t\tInput,\n\t\tIcon,\n\t\tDialog,\n\t\tList,\n\t\tListItemStandard,\n\t\tBar,\n\t\tButton,\n\t],\n})\n\n/**\n * Fired when the user performs a search.\n *\n * @param {string} value The search value entered by the user.\n * @public\n */\n@event(\"search\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user changes filter selection.\n *\n * @param {string} filterBy The filter category.\n * @param {string[]} selectedOptions The selected filter option texts.\n * @public\n */\n@event(\"filter\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user changes sort order.\n *\n * @param {string} sortOrder The sort order (\"Ascending\" or \"Descending\").\n * @public\n */\n@event(\"sort\", {\n\tbubbles: true,\n})\n\nclass TimelineHeaderBar extends UI5Element {\n\teventDetails!: {\n\t\t\"search\": TimelineHeaderBarSearchEventDetail,\n\t\t\"filter\": TimelineHeaderBarFilterEventDetail,\n\t\t\"sort\": TimelineHeaderBarSortEventDetail,\n\t};\n\n\t/**\n\t * Shows the search input field.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearch = false;\n\n\t/**\n\t * Shows the filter button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowFilter = false;\n\n\t/**\n\t * Shows the sort button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSort = false;\n\n\t/**\n\t * The current filter category label.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfilterBy = \"\";\n\n\t/**\n\t * The current search value.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tsearchValue = \"\";\n\n\t/**\n\t * The current sort order.\n\t * @default \"Ascending\"\n\t * @public\n\t */\n\t@property()\n\tsortOrder: `${TimelineSortOrder}` = \"Ascending\";\n\n\t/**\n\t * Controls the filter dialog visibility.\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterDialogOpen = false;\n\n\t/**\n\t * Filter options to display in the filter dialog.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\tfilterOptions!: Slot<TimelineFilterOption>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget _headerBarAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_HEADER_BAR_ACCESSIBLE_NAME);\n\t}\n\n\tget _searchPlaceholder() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SEARCH_PLACEHOLDER);\n\t}\n\n\tget _searchAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SEARCH_ACCESSIBLE_NAME);\n\t}\n\n\tget _filterAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_ACCESSIBLE_NAME);\n\t}\n\n\tget _sortAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_ACCESSIBLE_NAME);\n\t}\n\n\tget _sortTooltip() {\n\t\tif (this.sortOrder === \"Descending\") {\n\t\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_ASCENDING_TOOLTIP);\n\t\t}\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_DESCENDING_TOOLTIP);\n\t}\n\n\tget _sortIcon() {\n\t\treturn \"sort-descending\";\n\t}\n\n\tget _filterIcon() {\n\t\treturn \"add-filter\";\n\t}\n\n\tget _filterDialogTitle() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_TITLE);\n\t}\n\n\tget _filterDialogOkText() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_OK);\n\t}\n\n\tget _filterDialogCancelText() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_CANCEL);\n\t}\n\n\t_onSearchInput(e: CustomEvent) {\n\t\tconst value = (e.target as Input).value;\n\t\tthis.searchValue = value;\n\t\tthis.fireDecoratorEvent(\"search\", { value });\n\t}\n\n\t_onFilterClick() {\n\t\tthis._filterDialogOpen = true;\n\t}\n\n\t_onFilterDialogConfirm() {\n\t\t// Read selected state from the list items in the dialog\n\t\tconst list = this.shadowRoot!.querySelector<List>(\".ui5-timeline-filter-list\");\n\t\tif (list) {\n\t\t\tconst selectedItems = list.getSelectedItems();\n\t\t\tconst selectedTexts = selectedItems.map(item => item.textContent?.trim() || \"\");\n\n\t\t\t// Update the TimelineFilterOption elements to match the dialog selection\n\t\t\tthis.filterOptions.forEach(option => {\n\t\t\t\toption.selected = selectedTexts.includes(option.text);\n\t\t\t});\n\t\t}\n\n\t\tconst selectedOptions = this.filterOptions\n\t\t\t.filter(option => option.selected)\n\t\t\t.map(option => option.text);\n\n\t\tthis.fireDecoratorEvent(\"filter\", {\n\t\t\tfilterBy: this.filterBy,\n\t\t\tselectedOptions,\n\t\t});\n\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onFilterDialogCancel() {\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onFilterDialogClose() {\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onSortClick() {\n\t\t// Toggle sort order: Ascending -> Descending -> Ascending\n\t\tif (this.sortOrder === \"Ascending\") {\n\t\t\tthis.sortOrder = \"Descending\";\n\t\t} else {\n\t\t\tthis.sortOrder = \"Ascending\";\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"sort\", {\n\t\t\tsortOrder: this.sortOrder,\n\t\t});\n\t}\n}\n\nTimelineHeaderBar.define();\n\nexport default TimelineHeaderBar;\nexport type {\n\tTimelineHeaderBarSearchEventDetail,\n\tTimelineHeaderBarFilterEventDetail,\n\tTimelineHeaderBarSortEventDetail,\n};\n"]}
@@ -6,6 +6,7 @@ import type { ListItemClickEventDetail } from "@ui5/webcomponents/dist/List.js";
6
6
  import type ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
7
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import type { PopupScrollEventDetail } from "@ui5/webcomponents/dist/Popup.js";
9
+ import type { Timeout } from "@ui5/webcomponents-base/dist/types.js";
9
10
  import type UserMenuAccount from "./UserMenuAccount.js";
10
11
  import type UserMenuItem from "./UserMenuItem.js";
11
12
  type UserMenuItemClickEventDetail = {
@@ -127,6 +128,10 @@ declare class UserMenu extends UI5Element {
127
128
  * @private
128
129
  */
129
130
  _observer?: IntersectionObserver;
131
+ /**
132
+ * @private
133
+ */
134
+ _timeout?: Timeout;
130
135
  /**
131
136
  * @private
132
137
  */
@@ -154,7 +159,10 @@ declare class UserMenu extends UI5Element {
154
159
  _handleMenuItemClose(): void;
155
160
  _handlePopoverAfterOpen(): void;
156
161
  _handlePopoverAfterClose(): void;
157
- _openItemSubMenu(item: UserMenuItem): void;
162
+ _itemMouseOver(e: MouseEvent): void;
163
+ _startOpenTimeout(item: UserMenuItem): void;
164
+ _closeOtherSubMenus(item: UserMenuItem): void;
165
+ _openItemSubMenu(item: UserMenuItem, openedByMouse?: boolean): void;
158
166
  _closeUserMenu(): void;
159
167
  get _otherAccounts(): Slot<UserMenuAccount>;
160
168
  get _manageAccountButtonText(): string;
package/dist/UserMenu.js CHANGED
@@ -12,11 +12,12 @@ import query from "@ui5/webcomponents-base/dist/decorators/query.js";
12
12
  import DOMReferenceConverter from "@ui5/webcomponents-base/dist/converters/DOMReference.js";
13
13
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
14
  import { isInstanceOfMenuItem } from "@ui5/webcomponents/dist/MenuItem.js";
15
- import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
15
+ import { isPhone, isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import UserMenuTemplate from "./UserMenuTemplate.js";
17
17
  import UserMenuCss from "./generated/themes/UserMenu.css.js";
18
18
  // Texts
19
19
  import { USER_MENU_OTHER_ACCOUNT_BUTTON_TXT, USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT, USER_MENU_SIGN_OUT_BUTTON_TXT, USER_MENU_POPOVER_ACCESSIBLE_NAME, USER_MENU_EDIT_AVATAR_TXT, USER_MENU_EDIT_ACCOUNTS_TXT, USER_MENU_CLOSE_DIALOG_BUTTON, USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT, USER_MENU_CURRENT_INFORMATION_TXT, USER_MENU_ACTIONS_TXT, } from "./generated/i18n/i18n-defaults.js";
20
+ const MENU_OPEN_DELAY = 300;
20
21
  /**
21
22
  * @class
22
23
  * ### Overview
@@ -160,7 +161,7 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
160
161
  this._closeUserMenu();
161
162
  }
162
163
  _handleMenuItemClick(e) {
163
- const item = e.detail.item; // imrove: improve this ideally without "as" cating
164
+ const item = e.detail.item;
164
165
  item._updateCheckedState();
165
166
  if (!item._popover) {
166
167
  const eventPrevented = !this.fireDecoratorEvent("item-click", {
@@ -171,6 +172,7 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
171
172
  }
172
173
  }
173
174
  else {
175
+ this._closeOtherSubMenus(item);
174
176
  this._openItemSubMenu(item);
175
177
  }
176
178
  }
@@ -191,13 +193,43 @@ let UserMenu = UserMenu_1 = class UserMenu extends UI5Element {
191
193
  this.open = false;
192
194
  this.fireDecoratorEvent("close");
193
195
  }
194
- _openItemSubMenu(item) {
196
+ _itemMouseOver(e) {
197
+ if (!isDesktop()) {
198
+ return;
199
+ }
200
+ const item = e.target;
201
+ if (!isInstanceOfMenuItem(item)) {
202
+ return;
203
+ }
204
+ item.getFocusDomRef()?.focus();
205
+ this._startOpenTimeout(item);
206
+ }
207
+ _startOpenTimeout(item) {
208
+ clearTimeout(this._timeout);
209
+ this._timeout = setTimeout(() => {
210
+ this._closeOtherSubMenus(item);
211
+ this._openItemSubMenu(item, true);
212
+ }, MENU_OPEN_DELAY);
213
+ }
214
+ _closeOtherSubMenus(item) {
215
+ if (!this._menuItems.includes(item)) {
216
+ return;
217
+ }
218
+ this._menuItems.forEach(menuItem => {
219
+ if (menuItem !== item) {
220
+ menuItem._close();
221
+ }
222
+ });
223
+ }
224
+ _openItemSubMenu(item, openedByMouse = false) {
225
+ clearTimeout(this._timeout);
195
226
  if (!item._popover || item._popover.open) {
196
227
  return;
197
228
  }
198
229
  item._popover.opener = item;
199
230
  item._popover.open = true;
200
231
  item.selected = true;
232
+ item._openedByMouse = openedByMouse;
201
233
  }
202
234
  _closeUserMenu() {
203
235
  this.open = false;
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../src/UserMenu.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 {\n\tcustomElement, slotStrict as slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type Title from \"@ui5/webcomponents/dist/Title.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { PopupScrollEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type UserMenuAccount from \"./UserMenuAccount.js\";\nimport type UserMenuItem from \"./UserMenuItem.js\";\nimport UserMenuTemplate from \"./UserMenuTemplate.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.js\";\n\n// Texts\nimport {\n\tUSER_MENU_OTHER_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_MANAGE_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_SIGN_OUT_BUTTON_TXT,\n\tUSER_MENU_POPOVER_ACCESSIBLE_NAME,\n\tUSER_MENU_EDIT_AVATAR_TXT,\n\tUSER_MENU_EDIT_ACCOUNTS_TXT,\n\tUSER_MENU_CLOSE_DIALOG_BUTTON,\n\tUSER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT,\n\tUSER_MENU_CURRENT_INFORMATION_TXT,\n\tUSER_MENU_ACTIONS_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype UserMenuItemClickEventDetail = {\n\titem: UserMenuItem;\n}\n\ntype UserMenuOtherAccountClickEventDetail = {\n\tprevSelectedAccount: UserMenuAccount;\n\tselectedAccount: UserMenuAccount;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily see information and settings for the current user and all other logged in accounts.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenu.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";` (for `ui5-user-menu-item`)\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.5.0\n */\n\n@customElement({\n\ttag: \"ui5-user-menu\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\n})\n\n/**\n * Fired when the account avatar is selected.\n * @public\n */\n@event(\"avatar-click\")\n\n/**\n * Fired when the \"Manage Account\" button is selected.\n * @public\n */\n@event(\"manage-account-click\")\n\n/**\n * Fired when the \"Edit Accounts\" button is selected.\n * @public\n */\n@event(\"edit-accounts-click\")\n\n/**\n * Fired when the account is switched to a different one.\n * @param {UserMenuAccount} prevSelectedAccount The previously selected account.\n * @param {UserMenuAccount} selectedAccount The selected account.\n * @public\n */\n@event(\"change-account\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a menu item is selected.\n * @param {UserMenuItem} item The selected `user menu item`.\n * @public\n */\n@event(\"item-click\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a user menu is open.\n * @public\n * @since 2.6.0\n */\n@event(\"open\")\n\n/**\n * Fired when a user menu is close.\n * @public\n * @since 2.6.0\n */\n@event(\"close\")\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n * @since 2.6.0\n */\n@event(\"sign-out-click\", {\n\tcancelable: true,\n})\nclass UserMenu extends UI5Element {\n\teventDetails!: {\n\t\t\"avatar-click\": void;\n\t\t\"manage-account-click\": void;\n\t\t\"edit-accounts-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t\t\"open\": void;\n\t\t\"close\": void;\n\n\t}\n\t/**\n\t * Defines if the User Menu is opened.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the user menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Defines if the User Menu shows the Manage Account option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowManageAccount = false;\n\n\t/**\n\t * Defines if the User Menu shows the Other Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowOtherAccounts = false;\n\n\t/**\n\t * Defines if the User Menu shows the Edit Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowEditAccounts = false;\n\n\t/**\n\t * Defines if the User menu shows edit button.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@property({ type: Boolean })\n\tshowEditButton = false;\n\n\t/**\n\t * Defines the menu items.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t})\n\tmenuItems!: DefaultSlot<UserMenuItem>;\n\n\t/**\n\t * Defines the user accounts.\n\t *\n\t * **Note:** If one item is used, it will be shown as the selected one. If more than one item is used, the first one will be shown as selected unless\n\t * there is an item with `selected` property set to `true`.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\taccounts!: Slot<UserMenuAccount>;\n\n\t/**\n\t * Defines custom footer content.\n\t *\n\t * **Note:** When provided, replaces the default \"Sign Out\" button. Use an empty element to hide the footer completely.\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_titleMovedToHeader = false;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isScrolled = false;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\t/**\n\t * @private\n\t */\n\t_observer?: IntersectionObserver;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#user-menu-rp\")\n\t_responsivePopover?: ResponsivePopover;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-title\")\n\t_selectedAccountTitleEl?: Title;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-manage-btn\")\n\t_selectedAccountManageBtn?: Button;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover && this.open && !this._observer) {\n\t\t\tthis._setupObserver();\n\t\t}\n\t}\n\n\t_setupObserver() {\n\t\tconst observerOptions = {\n\t\t\tthreshold: [0.15],\n\t\t};\n\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\tif (this._selectedAccountTitleEl) {\n\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t}\n\n\t\tif (this._selectedAccountManageBtn) {\n\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\n\t\t}\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleScroll(e: CustomEvent<PopupScrollEventDetail>) {\n\t\tthis._isScrolled = e.detail.scrollTop > 0;\n\t}\n\n\t_handleIntersection(entries: IntersectionObserverEntry[]) {\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\t\tthis._titleMovedToHeader = false;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\tthis._titleMovedToHeader = true;\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t_handleAvatarClick(e: CustomEvent) {\n\t\tif (e.type === \"click\") {\n\t\t\t// TOFIX: Discuss this check: Fire the custom UserMenu#avatar-click only for Avatar#click (not for Avatar#ui5-click as well).\n\t\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t\t}\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleEditAccountsClick() {\n\t\tthis.fireDecoratorEvent(\"edit-accounts-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as ListItemBase & { associatedAccount: UserMenuAccount };\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: item.associatedAccount,\n\t\t});\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedAccount.selected = false;\n\t\titem.associatedAccount.selected = true;\n\t}\n\n\t_handleSignOutClick() {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"sign-out-click\");\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as UserMenuItem; // imrove: improve this ideally without \"as\" cating\n\n\t\titem._updateCheckedState();\n\n\t\tif (!item._popover) {\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\titem.fireEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_handleMenuItemClose() {\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handlePopoverAfterOpen() {\n\t\tthis._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis._setupObserver();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = undefined;\n\t\tthis._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_openItemSubMenu(item: UserMenuItem) {\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t}\n\n\t_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts;\n\t}\n\n\tget _manageAccountButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _otherAccountsButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_OTHER_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _signOutButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_SIGN_OUT_BUTTON_TXT);\n\t}\n\n\tget _editAvatarTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_AVATAR_TXT);\n\t}\n\n\tget _editAccountsTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_ACCOUNTS_TXT);\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_DIALOG_BUTTON);\n\t}\n\n\tget accessibleNameText() {\n\t\tif (!this._selectedAccount) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `${UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;\n\t}\n\n\tget _ariaLabelledByAccountInformationText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CURRENT_INFORMATION_TXT);\n\t}\n\n\tget _ariaLabelledByActions() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_ACTIONS_TXT);\n\t}\n\n\tget _hasCustomFooter(): boolean {\n\t\treturn this.footer.length > 0 && this.footer[0]?.innerHTML.trim() !== \"\";\n\t}\n\n\tget _showDefaultFooter(): boolean {\n\t\treturn this.footer.length === 0;\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.titleText} ${account.subtitleText} ${account.description} ${account.selected ? UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : \"\"}`;\n\t}\n\n\tgetAccountByRefId(refId: string) {\n\t\treturn this.accounts.find(account => account._id === refId)!;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedAccount?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedAccount = this;\n\t\t}\n\t}\n\n\tget _menuItems() {\n\t\treturn this.menuItems.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
1
+ {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../src/UserMenu.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 {\n\tcustomElement, slotStrict as slot, eventStrict as event, property,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport type Title from \"@ui5/webcomponents/dist/Title.js\";\nimport type Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { PopupScrollEventDetail } from \"@ui5/webcomponents/dist/Popup.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\nimport { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type UserMenuAccount from \"./UserMenuAccount.js\";\nimport type UserMenuItem from \"./UserMenuItem.js\";\nimport UserMenuTemplate from \"./UserMenuTemplate.js\";\nimport UserMenuCss from \"./generated/themes/UserMenu.css.js\";\n\n// Texts\nimport {\n\tUSER_MENU_OTHER_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_MANAGE_ACCOUNT_BUTTON_TXT,\n\tUSER_MENU_SIGN_OUT_BUTTON_TXT,\n\tUSER_MENU_POPOVER_ACCESSIBLE_NAME,\n\tUSER_MENU_EDIT_AVATAR_TXT,\n\tUSER_MENU_EDIT_ACCOUNTS_TXT,\n\tUSER_MENU_CLOSE_DIALOG_BUTTON,\n\tUSER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT,\n\tUSER_MENU_CURRENT_INFORMATION_TXT,\n\tUSER_MENU_ACTIONS_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nconst MENU_OPEN_DELAY = 300;\n\ntype UserMenuItemClickEventDetail = {\n\titem: UserMenuItem;\n}\n\ntype UserMenuOtherAccountClickEventDetail = {\n\tprevSelectedAccount: UserMenuAccount;\n\tselectedAccount: UserMenuAccount;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-menu` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily see information and settings for the current user and all other logged in accounts.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserMenu.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";` (for `ui5-user-menu-item`)\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.5.0\n */\n\n@customElement({\n\ttag: \"ui5-user-menu\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: UserMenuTemplate,\n\tstyles: [UserMenuCss],\n})\n\n/**\n * Fired when the account avatar is selected.\n * @public\n */\n@event(\"avatar-click\")\n\n/**\n * Fired when the \"Manage Account\" button is selected.\n * @public\n */\n@event(\"manage-account-click\")\n\n/**\n * Fired when the \"Edit Accounts\" button is selected.\n * @public\n */\n@event(\"edit-accounts-click\")\n\n/**\n * Fired when the account is switched to a different one.\n * @param {UserMenuAccount} prevSelectedAccount The previously selected account.\n * @param {UserMenuAccount} selectedAccount The selected account.\n * @public\n */\n@event(\"change-account\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a menu item is selected.\n * @param {UserMenuItem} item The selected `user menu item`.\n * @public\n */\n@event(\"item-click\", {\n\tcancelable: true,\n})\n\n/**\n * Fired when a user menu is open.\n * @public\n * @since 2.6.0\n */\n@event(\"open\")\n\n/**\n * Fired when a user menu is close.\n * @public\n * @since 2.6.0\n */\n@event(\"close\")\n\n/**\n * Fired when the \"Sign Out\" button is selected.\n * @public\n * @since 2.6.0\n */\n@event(\"sign-out-click\", {\n\tcancelable: true,\n})\nclass UserMenu extends UI5Element {\n\teventDetails!: {\n\t\t\"avatar-click\": void;\n\t\t\"manage-account-click\": void;\n\t\t\"edit-accounts-click\": void;\n\t\t\"change-account\": UserMenuOtherAccountClickEventDetail;\n\t\t\"item-click\": UserMenuItemClickEventDetail;\n\t\t\"sign-out-click\": void;\n\t\t\"open\": void;\n\t\t\"close\": void;\n\n\t}\n\t/**\n\t * Defines if the User Menu is opened.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the user menu is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Defines if the User Menu shows the Manage Account option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowManageAccount = false;\n\n\t/**\n\t * Defines if the User Menu shows the Other Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowOtherAccounts = false;\n\n\t/**\n\t * Defines if the User Menu shows the Edit Accounts option.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowEditAccounts = false;\n\n\t/**\n\t * Defines if the User menu shows edit button.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@property({ type: Boolean })\n\tshowEditButton = false;\n\n\t/**\n\t * Defines the menu items.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t})\n\tmenuItems!: DefaultSlot<UserMenuItem>;\n\n\t/**\n\t * Defines the user accounts.\n\t *\n\t * **Note:** If one item is used, it will be shown as the selected one. If more than one item is used, the first one will be shown as selected unless\n\t * there is an item with `selected` property set to `true`.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\taccounts!: Slot<UserMenuAccount>;\n\n\t/**\n\t * Defines custom footer content.\n\t *\n\t * **Note:** When provided, replaces the default \"Sign Out\" button. Use an empty element to hide the footer completely.\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@slot()\n\tfooter!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_titleMovedToHeader = false;\n\n\t/**\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isScrolled = false;\n\n\t/**\n\t * @private\n\t */\n\t_selectedAccount!: UserMenuAccount;\n\n\t/**\n\t * @private\n\t */\n\t_observer?: IntersectionObserver;\n\n\t/**\n\t * @private\n\t */\n\t_timeout?: Timeout;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#user-menu-rp\")\n\t_responsivePopover?: ResponsivePopover;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-title\")\n\t_selectedAccountTitleEl?: Title;\n\n\t/**\n\t * @private\n\t */\n\t@query(\"#selected-account-manage-btn\")\n\t_selectedAccountManageBtn?: Button;\n\n\tonBeforeRendering() {\n\t\tthis._selectedAccount = this.accounts.find(account => account.selected) || this.accounts[0];\n\t\tconst siblingsWithIcon = this._menuItems.some(menuItem => !!menuItem.icon);\n\n\t\tthis._menuItems.forEach(item => {\n\t\t\titem._siblingsWithIcon = siblingsWithIcon;\n\t\t});\n\t}\n\n\tonAfterRendering(): void {\n\t\tif (this._responsivePopover && this.open && !this._observer) {\n\t\t\tthis._setupObserver();\n\t\t}\n\t}\n\n\t_setupObserver() {\n\t\tconst observerOptions = {\n\t\t\tthreshold: [0.15],\n\t\t};\n\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = new IntersectionObserver(entries => this._handleIntersection(entries), observerOptions);\n\n\t\tif (this._selectedAccountTitleEl) {\n\t\t\tthis._observer.observe(this._selectedAccountTitleEl);\n\t\t}\n\n\t\tif (this._selectedAccountManageBtn) {\n\t\t\tthis._observer.observe(this._selectedAccountManageBtn);\n\t\t}\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\t_handleScroll(e: CustomEvent<PopupScrollEventDetail>) {\n\t\tthis._isScrolled = e.detail.scrollTop > 0;\n\t}\n\n\t_handleIntersection(entries: IntersectionObserverEntry[]) {\n\t\tentries.forEach(entry => {\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\t\tthis._titleMovedToHeader = false;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (entry.target.id === \"selected-account-title\") {\n\t\t\t\tthis._titleMovedToHeader = true;\n\t\t\t}\n\t\t}, this);\n\t}\n\n\t_handleAvatarClick(e: CustomEvent) {\n\t\tif (e.type === \"click\") {\n\t\t\t// TOFIX: Discuss this check: Fire the custom UserMenu#avatar-click only for Avatar#click (not for Avatar#ui5-click as well).\n\t\t\tthis.fireDecoratorEvent(\"avatar-click\");\n\t\t}\n\t}\n\n\t_handleManageAccountClick() {\n\t\tthis.fireDecoratorEvent(\"manage-account-click\");\n\t}\n\n\t_handleEditAccountsClick() {\n\t\tthis.fireDecoratorEvent(\"edit-accounts-click\");\n\t}\n\n\t_handleAccountSwitch(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as ListItemBase & { associatedAccount: UserMenuAccount };\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"change-account\", {\n\t\t\tprevSelectedAccount: this._selectedAccount,\n\t\t\tselectedAccount: item.associatedAccount,\n\t\t});\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedAccount.selected = false;\n\t\titem.associatedAccount.selected = true;\n\t}\n\n\t_handleSignOutClick() {\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"sign-out-click\");\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handleMenuItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item as UserMenuItem;\n\n\t\titem._updateCheckedState();\n\n\t\tif (!item._popover) {\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"item-click\", {\n\t\t\t\t\"item\": item,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\titem.fireEvent(\"close-menu\");\n\t\t\t}\n\t\t} else {\n\t\t\tthis._closeOtherSubMenus(item);\n\t\t\tthis._openItemSubMenu(item);\n\t\t}\n\t}\n\n\t_handleMenuItemClose() {\n\t\tthis._closeUserMenu();\n\t}\n\n\t_handlePopoverAfterOpen() {\n\t\tthis._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis._setupObserver();\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePopoverAfterClose() {\n\t\tthis._observer?.disconnect();\n\t\tthis._observer = undefined;\n\t\tthis._titleMovedToHeader = false;\n\t\tthis._isScrolled = false;\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (!isDesktop()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = e.target as UserMenuItem;\n\t\tif (!isInstanceOfMenuItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\titem.getFocusDomRef()?.focus();\n\t\tthis._startOpenTimeout(item);\n\t}\n\n\t_startOpenTimeout(item: UserMenuItem) {\n\t\tclearTimeout(this._timeout);\n\n\t\tthis._timeout = setTimeout(() => {\n\t\t\tthis._closeOtherSubMenus(item);\n\t\t\tthis._openItemSubMenu(item, true);\n\t\t}, MENU_OPEN_DELAY);\n\t}\n\n\t_closeOtherSubMenus(item: UserMenuItem) {\n\t\tif (!this._menuItems.includes(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._menuItems.forEach(menuItem => {\n\t\t\tif (menuItem !== item) {\n\t\t\t\tmenuItem._close();\n\t\t\t}\n\t\t});\n\t}\n\n\t_openItemSubMenu(item: UserMenuItem, openedByMouse = false) {\n\t\tclearTimeout(this._timeout);\n\n\t\tif (!item._popover || item._popover.open) {\n\t\t\treturn;\n\t\t}\n\n\t\titem._popover.opener = item;\n\t\titem._popover.open = true;\n\t\titem.selected = true;\n\t\titem._openedByMouse = openedByMouse;\n\t}\n\n\t_closeUserMenu() {\n\t\tthis.open = false;\n\t}\n\n\tget _otherAccounts() {\n\t\treturn this.accounts;\n\t}\n\n\tget _manageAccountButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_MANAGE_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _otherAccountsButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_OTHER_ACCOUNT_BUTTON_TXT);\n\t}\n\n\tget _signOutButtonText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_SIGN_OUT_BUTTON_TXT);\n\t}\n\n\tget _editAvatarTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_AVATAR_TXT);\n\t}\n\n\tget _editAccountsTooltip() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_EDIT_ACCOUNTS_TXT);\n\t}\n\n\tget _closeDialogAriaLabel() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CLOSE_DIALOG_BUTTON);\n\t}\n\n\tget accessibleNameText() {\n\t\tif (!this._selectedAccount) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `${UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_NAME)} ${this._selectedAccount.titleText}`;\n\t}\n\n\tget _ariaLabelledByAccountInformationText() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_CURRENT_INFORMATION_TXT);\n\t}\n\n\tget _ariaLabelledByActions() {\n\t\treturn UserMenu.i18nBundle.getText(USER_MENU_ACTIONS_TXT);\n\t}\n\n\tget _hasCustomFooter(): boolean {\n\t\treturn this.footer.length > 0 && this.footer[0]?.innerHTML.trim() !== \"\";\n\t}\n\n\tget _showDefaultFooter(): boolean {\n\t\treturn this.footer.length === 0;\n\t}\n\n\tgetAccountDescriptionText(account: UserMenuAccount) {\n\t\treturn `${account.titleText} ${account.subtitleText} ${account.description} ${account.selected ? UserMenu.i18nBundle.getText(USER_MENU_POPOVER_ACCESSIBLE_ACCOUNT_SELECTED_TXT) : \"\"}`;\n\t}\n\n\tgetAccountByRefId(refId: string) {\n\t\treturn this.accounts.find(account => account._id === refId)!;\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedAccount?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedAccount = this;\n\t\t}\n\t}\n\n\tget _menuItems() {\n\t\treturn this.menuItems.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenu.define();\n\nexport default UserMenu;\nexport type {\n\tUserMenuItemClickEventDetail,\n\tUserMenuOtherAccountClickEventDetail,\n};\n"]}
@@ -25,7 +25,7 @@ export default function UserMenuTemplate() {
25
25
  }, slot: "header", children: [this._titleMovedToHeader &&
26
26
  _jsx(Title, { level: "H1", wrappingType: "None", children: this._selectedAccount.titleText }), this._isPhone && _jsx(Button, { icon: decline, design: "Transparent", accessibleName: this._closeDialogAriaLabel, onClick: this._closeUserMenu, slot: "endContent" })] }), _jsx("div", { class: "ui5-user-menu-header", children: headerContent.call(this) })] }), this.showOtherAccounts &&
27
27
  _jsx(_Fragment, { children: otherAccountsContent.call(this) }), this.menuItems.length > 0 &&
28
- _jsx(List, { id: "ui5-user-menu-list", class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", accessibleName: this._ariaLabelledByActions, onItemClick: this._handleMenuItemClick, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), this._hasCustomFooter &&
28
+ _jsx(List, { id: "ui5-user-menu-list", class: "ui5-user-menu-list", selectionMode: "None", separators: "None", accessibleRole: "Menu", accessibleName: this._ariaLabelledByActions, onItemClick: this._handleMenuItemClick, onMouseOver: this._itemMouseOver, "onui5-close-menu": this._handleMenuItemClose, children: _jsx("slot", {}) }), this._hasCustomFooter &&
29
29
  _jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx("slot", { name: "footer" }) }), this._showDefaultFooter &&
30
30
  _jsx("div", { slot: "footer", class: "ui5-user-menu-footer", children: _jsx(Button, { class: "ui5-user-menu-sign-out-btn", design: "Transparent", icon: log, onClick: this._handleSignOutClick, children: this._signOutButtonText }) })] }));
31
31
  }