@ui5/webcomponents-fiori 2.22.0-rc.3 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/NavigationMenuItemTemplate.d.ts +2 -2
  4. package/dist/NavigationMenuItemTemplate.js.map +1 -1
  5. package/dist/SideNavigationItemBase.d.ts +1 -1
  6. package/dist/SideNavigationItemBase.js.map +1 -1
  7. package/dist/Timeline.d.ts +3 -35
  8. package/dist/Timeline.js +4 -62
  9. package/dist/Timeline.js.map +1 -1
  10. package/dist/TimelineItem.d.ts +0 -2
  11. package/dist/TimelineItem.js +0 -2
  12. package/dist/TimelineItem.js.map +1 -1
  13. package/dist/TimelineTemplate.js +1 -1
  14. package/dist/TimelineTemplate.js.map +1 -1
  15. package/dist/UserMenu.d.ts +9 -1
  16. package/dist/UserMenu.js +35 -3
  17. package/dist/UserMenu.js.map +1 -1
  18. package/dist/UserMenuItem.d.ts +24 -0
  19. package/dist/UserMenuItem.js +52 -3
  20. package/dist/UserMenuItem.js.map +1 -1
  21. package/dist/UserMenuItemTemplate.js +10 -1
  22. package/dist/UserMenuItemTemplate.js.map +1 -1
  23. package/dist/UserMenuTemplate.js +1 -1
  24. package/dist/UserMenuTemplate.js.map +1 -1
  25. package/dist/ViewSettingsDialog.d.ts +12 -11
  26. package/dist/ViewSettingsDialog.js +26 -23
  27. package/dist/ViewSettingsDialog.js.map +1 -1
  28. package/dist/ViewSettingsDialogCustomTab.d.ts +5 -5
  29. package/dist/ViewSettingsDialogCustomTab.js +7 -7
  30. package/dist/ViewSettingsDialogCustomTab.js.map +1 -1
  31. package/dist/ViewSettingsDialogTemplate.js +2 -2
  32. package/dist/ViewSettingsDialogTemplate.js.map +1 -1
  33. package/dist/bundle.esm.js +0 -2
  34. package/dist/bundle.esm.js.map +1 -1
  35. package/dist/css/themes/Timeline.css +1 -1
  36. package/dist/css/themes/UserMenuItem.css +1 -1
  37. package/dist/custom-elements-internal.json +293 -801
  38. package/dist/custom-elements.json +109 -459
  39. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  40. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  41. package/dist/generated/i18n/i18n-defaults.d.ts +1 -11
  42. package/dist/generated/i18n/i18n-defaults.js +2 -12
  43. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  44. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  45. package/dist/generated/themes/Timeline.css.js +1 -1
  46. package/dist/generated/themes/Timeline.css.js.map +1 -1
  47. package/dist/generated/themes/UserMenuItem.css.d.ts +1 -1
  48. package/dist/generated/themes/UserMenuItem.css.js +1 -1
  49. package/dist/generated/themes/UserMenuItem.css.js.map +1 -1
  50. package/dist/vscode.html-custom-data.json +17 -70
  51. package/dist/web-types.json +41 -205
  52. package/package.json +7 -7
  53. package/src/NavigationMenuItemTemplate.tsx +3 -3
  54. package/src/TimelineTemplate.tsx +0 -7
  55. package/src/UserMenuItemTemplate.tsx +19 -1
  56. package/src/UserMenuTemplate.tsx +1 -0
  57. package/src/ViewSettingsDialogTemplate.tsx +3 -3
  58. package/src/i18n/messagebundle.properties +1 -31
  59. package/src/i18n/messagebundle_en.properties +1 -1
  60. package/src/i18n/messagebundle_en_GB.properties +1 -1
  61. package/src/themes/Timeline.css +7 -21
  62. package/src/themes/UserMenuItem.css +37 -3
  63. package/dist/TimelineFilterOption.d.ts +0 -37
  64. package/dist/TimelineFilterOption.js +0 -59
  65. package/dist/TimelineFilterOption.js.map +0 -1
  66. package/dist/TimelineHeaderBar.d.ts +0 -120
  67. package/dist/TimelineHeaderBar.js +0 -273
  68. package/dist/TimelineHeaderBar.js.map +0 -1
  69. package/dist/TimelineHeaderBarTemplate.d.ts +0 -2
  70. package/dist/TimelineHeaderBarTemplate.js +0 -18
  71. package/dist/TimelineHeaderBarTemplate.js.map +0 -1
  72. package/dist/css/themes/TimelineHeaderBar.css +0 -1
  73. package/dist/generated/themes/TimelineHeaderBar.css.d.ts +0 -2
  74. package/dist/generated/themes/TimelineHeaderBar.css.js +0 -8
  75. package/dist/generated/themes/TimelineHeaderBar.css.js.map +0 -1
  76. package/dist/types/TimelineSortOrder.d.ts +0 -18
  77. package/dist/types/TimelineSortOrder.js +0 -20
  78. package/dist/types/TimelineSortOrder.js.map +0 -1
  79. package/src/TimelineHeaderBarTemplate.tsx +0 -104
  80. package/src/themes/TimelineHeaderBar.css +0 -17
@@ -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"]}
@@ -30,6 +30,30 @@ declare class UserMenuItem extends MenuItem {
30
30
  * @public
31
31
  */
32
32
  items: DefaultSlot<UserMenuItem>;
33
+ /**
34
+ * When set, a second line appears below the menu item text showing the text
35
+ * of the currently selected sub-item. Intended for use with a single-select
36
+ * ui5-menu-item-group (check-mode="Single").
37
+ * When enabled, the checked sub-item cannot be unchecked,
38
+ * ensuring the selection text is always displayed.
39
+ *
40
+ * @default false
41
+ * @public
42
+ * @since 2.22.0
43
+ */
44
+ showSelection: boolean;
33
45
  get _menuItems(): UserMenuItem[];
46
+ /**
47
+ * Overrides the base MenuItem behavior to prevent unchecking
48
+ * the currently checked item in single-select mode when
49
+ * the parent item uses showSelection, ensuring there is always
50
+ * a visible selection.
51
+ */
52
+ _updateCheckedState(): void;
53
+ /**
54
+ * Returns the text of the currently checked sub-item.
55
+ * Only returns text for single-select groups.
56
+ */
57
+ get _selectedSubItemText(): string;
34
58
  }
35
59
  export default UserMenuItem;
@@ -4,8 +4,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, slotStrict as slot } from "@ui5/webcomponents-base/dist/decorators.js";
7
+ var UserMenuItem_1;
8
+ import { customElement, slotStrict as slot, property } from "@ui5/webcomponents-base/dist/decorators.js";
8
9
  import MenuItem, { isInstanceOfMenuItem } from "@ui5/webcomponents/dist/MenuItem.js";
10
+ import MenuItemGroupCheckMode from "@ui5/webcomponents/dist/types/MenuItemGroupCheckMode.js";
9
11
  import UserMenuItemTemplate from "./UserMenuItemTemplate.js";
10
12
  // Styles
11
13
  import userMenuItemCss from "./generated/themes/UserMenuItem.css.js";
@@ -31,15 +33,62 @@ import userMenuItemCss from "./generated/themes/UserMenuItem.css.js";
31
33
  * @public
32
34
  * @since 2.5.0
33
35
  */
34
- let UserMenuItem = class UserMenuItem extends MenuItem {
36
+ let UserMenuItem = UserMenuItem_1 = class UserMenuItem extends MenuItem {
37
+ constructor() {
38
+ super(...arguments);
39
+ /**
40
+ * When set, a second line appears below the menu item text showing the text
41
+ * of the currently selected sub-item. Intended for use with a single-select
42
+ * ui5-menu-item-group (check-mode="Single").
43
+ * When enabled, the checked sub-item cannot be unchecked,
44
+ * ensuring the selection text is always displayed.
45
+ *
46
+ * @default false
47
+ * @public
48
+ * @since 2.22.0
49
+ */
50
+ this.showSelection = false;
51
+ }
35
52
  get _menuItems() {
36
53
  return this.items.filter(isInstanceOfMenuItem);
37
54
  }
55
+ /**
56
+ * Overrides the base MenuItem behavior to prevent unchecking
57
+ * the currently checked item in single-select mode when
58
+ * the parent item uses showSelection, ensuring there is always
59
+ * a visible selection.
60
+ */
61
+ _updateCheckedState() {
62
+ const parentItem = this.parentElement?.parentElement;
63
+ const hasShowSelection = parentItem instanceof UserMenuItem_1 && parentItem.showSelection;
64
+ if (hasShowSelection && this._checkMode === MenuItemGroupCheckMode.Single && this.checked) {
65
+ return;
66
+ }
67
+ super._updateCheckedState();
68
+ }
69
+ /**
70
+ * Returns the text of the currently checked sub-item.
71
+ * Only returns text for single-select groups.
72
+ */
73
+ get _selectedSubItemText() {
74
+ if (!this.showSelection) {
75
+ return "";
76
+ }
77
+ const singleSelectGroup = this._menuItemGroups.find(g => g.checkMode === MenuItemGroupCheckMode.Single);
78
+ if (!singleSelectGroup) {
79
+ return "";
80
+ }
81
+ const checkedItem = singleSelectGroup._menuItems.find(item => item.checked);
82
+ return checkedItem?.text || "";
83
+ }
38
84
  };
39
85
  __decorate([
40
86
  slot({ "default": true, type: HTMLElement, invalidateOnChildChange: true })
41
87
  ], UserMenuItem.prototype, "items", void 0);
42
- UserMenuItem = __decorate([
88
+ __decorate([
89
+ property({ type: Boolean })
90
+ ], UserMenuItem.prototype, "showSelection", void 0);
91
+ UserMenuItem = UserMenuItem_1 = __decorate([
43
92
  customElement({
44
93
  tag: "ui5-user-menu-item",
45
94
  template: UserMenuItemTemplate,
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,QAAQ,EAAE,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ;IAUlC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;CACD,CAAA;AALQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;2CACnC;AARpC,YAAY;IALjB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;KAC1C,CAAC;GACI,YAAY,CAajB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import { customElement, slotStrict as slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport MenuItem, { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\n\nimport UserMenuItemTemplate from \"./UserMenuItemTemplate.js\";\n\n// Styles\nimport userMenuItemCss from \"./generated/themes/UserMenuItem.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-user-menu-item` is the item to use inside a `ui5-user-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Usage\n *\n * `ui5-user-menu-item` represents a node in a `ui5-user-menu`. The user menu itself is rendered as a list,\n * and each `ui5-menu-item` is represented by a menu item in that menu. Therefore, you should only use\n * `ui5-user-menu-item` directly in your apps. The `ui5-menu` menu item is internal for the menu, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";`\n * @constructor\n * @extends MenuItem\n * @public\n * @since 2.5.0\n */\n@customElement({\n\ttag: \"ui5-user-menu-item\",\n\ttemplate: UserMenuItemTemplate,\n\tstyles: [MenuItem.styles, userMenuItemCss],\n})\nclass UserMenuItem extends MenuItem {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-user-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: DefaultSlot<UserMenuItem>;\n\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n}\n\nUserMenuItem.define();\n\nexport default UserMenuItem;\n"]}
1
+ {"version":3,"file":"UserMenuItem.js","sourceRoot":"","sources":["../src/UserMenuItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACzG,OAAO,QAAQ,EAAE,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,sBAAsB,MAAM,yDAAyD,CAAC;AAE7F,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAGrE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,QAAQ;IAAnC;;QAUC;;;;;;;;;;WAUG;QAEH,kBAAa,GAAG,KAAK,CAAC;IAyCvB,CAAC;IAvCA,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,mBAAmB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC;QACrD,MAAM,gBAAgB,GAAG,UAAU,YAAY,cAAY,IAAI,UAAU,CAAC,aAAa,CAAC;QAExF,IAAI,gBAAgB,IAAI,IAAI,CAAC,UAAU,KAAK,sBAAsB,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3F,OAAO;QACR,CAAC;QACD,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,oBAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,sBAAsB,CAAC,MAAM,CAClD,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;CACD,CAAA;AAvDQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;2CACnC;AAczC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACN;AAtBjB,YAAY;IALjB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;KAC1C,CAAC;GACI,YAAY,CA+DjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import { customElement, slotStrict as slot, property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport MenuItem, { isInstanceOfMenuItem } from \"@ui5/webcomponents/dist/MenuItem.js\";\nimport MenuItemGroupCheckMode from \"@ui5/webcomponents/dist/types/MenuItemGroupCheckMode.js\";\n\nimport UserMenuItemTemplate from \"./UserMenuItemTemplate.js\";\n\n// Styles\nimport userMenuItemCss from \"./generated/themes/UserMenuItem.css.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-user-menu-item` is the item to use inside a `ui5-user-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting menu items.\n *\n * ### Usage\n *\n * `ui5-user-menu-item` represents a node in a `ui5-user-menu`. The user menu itself is rendered as a list,\n * and each `ui5-menu-item` is represented by a menu item in that menu. Therefore, you should only use\n * `ui5-user-menu-item` directly in your apps. The `ui5-menu` menu item is internal for the menu, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/UserMenuItem.js\";`\n * @constructor\n * @extends MenuItem\n * @public\n * @since 2.5.0\n */\n@customElement({\n\ttag: \"ui5-user-menu-item\",\n\ttemplate: UserMenuItemTemplate,\n\tstyles: [MenuItem.styles, userMenuItemCss],\n})\nclass UserMenuItem extends MenuItem {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-user-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: DefaultSlot<UserMenuItem>;\n\n\t/**\n\t * When set, a second line appears below the menu item text showing the text\n\t * of the currently selected sub-item. Intended for use with a single-select\n\t * ui5-menu-item-group (check-mode=\"Single\").\n\t * When enabled, the checked sub-item cannot be unchecked,\n\t * ensuring the selection text is always displayed.\n\t *\n\t * @default false\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property({ type: Boolean })\n\tshowSelection = false;\n\n\tget _menuItems() {\n\t\treturn this.items.filter(isInstanceOfMenuItem);\n\t}\n\n\t/**\n\t * Overrides the base MenuItem behavior to prevent unchecking\n\t * the currently checked item in single-select mode when\n\t * the parent item uses showSelection, ensuring there is always\n\t * a visible selection.\n\t */\n\t_updateCheckedState() {\n\t\tconst parentItem = this.parentElement?.parentElement;\n\t\tconst hasShowSelection = parentItem instanceof UserMenuItem && parentItem.showSelection;\n\n\t\tif (hasShowSelection && this._checkMode === MenuItemGroupCheckMode.Single && this.checked) {\n\t\t\treturn;\n\t\t}\n\t\tsuper._updateCheckedState();\n\t}\n\n\t/**\n\t * Returns the text of the currently checked sub-item.\n\t * Only returns text for single-select groups.\n\t */\n\tget _selectedSubItemText(): string {\n\t\tif (!this.showSelection) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst singleSelectGroup = this._menuItemGroups.find(\n\t\t\tg => g.checkMode === MenuItemGroupCheckMode.Single,\n\t\t);\n\t\tif (!singleSelectGroup) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst checkedItem = singleSelectGroup._menuItems.find(item => item.checked);\n\t\treturn checkedItem?.text || \"\";\n\t}\n}\n\nUserMenuItem.define();\n\nexport default UserMenuItem;\n"]}
@@ -1,5 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
1
2
  import MenuItemTemplate from "@ui5/webcomponents/dist/MenuItemTemplate.js";
2
3
  export default function UserMenuItemTemplate() {
3
- return [MenuItemTemplate.call(this)];
4
+ const hooks = {};
5
+ if (this.showSelection) {
6
+ hooks.menuItemTextContent = userMenuItemTextContent;
7
+ }
8
+ return [MenuItemTemplate.call(this, hooks)];
9
+ }
10
+ function userMenuItemTextContent() {
11
+ return (_jsxs("div", { class: "ui5-user-menu-item-text-wrapper", children: [this.text && _jsx("div", { class: "ui5-menu-item-text", children: this.text }), this._selectedSubItemText &&
12
+ _jsx("div", { class: "ui5-user-menu-item-selection-text", children: this._selectedSubItemText })] }));
4
13
  }
5
14
  //# sourceMappingURL=UserMenuItemTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenuItemTemplate.js","sourceRoot":"","sources":["../src/UserMenuItemTemplate.tsx"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAE3E,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC","sourcesContent":["import type UserMenuItem from \"./UserMenuItem.js\";\nimport MenuItemTemplate from \"@ui5/webcomponents/dist/MenuItemTemplate.js\";\n\nexport default function UserMenuItemTemplate(this: UserMenuItem) {\n\treturn [MenuItemTemplate.call(this)];\n}\n"]}
1
+ {"version":3,"file":"UserMenuItemTemplate.js","sourceRoot":"","sources":["../src/UserMenuItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAG3E,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,KAAK,CAAC,mBAAmB,GAAG,uBAAuB,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB;IAC/B,OAAO,CACN,eAAK,KAAK,EAAC,iCAAiC,aAC1C,IAAI,CAAC,IAAI,IAAI,cAAK,KAAK,EAAC,oBAAoB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9D,IAAI,CAAC,oBAAoB;gBACzB,cAAK,KAAK,EAAC,mCAAmC,YAAE,IAAI,CAAC,oBAAoB,GAAO,IAE5E,CACN,CAAC;AACH,CAAC","sourcesContent":["import type UserMenuItem from \"./UserMenuItem.js\";\nimport MenuItemTemplate from \"@ui5/webcomponents/dist/MenuItemTemplate.js\";\nimport type { MenuItemHooks } from \"@ui5/webcomponents/dist/MenuItemTemplate.js\";\n\nexport default function UserMenuItemTemplate(this: UserMenuItem) {\n\tconst hooks: Partial<MenuItemHooks> = {};\n\n\tif (this.showSelection) {\n\t\thooks.menuItemTextContent = userMenuItemTextContent;\n\t}\n\n\treturn [MenuItemTemplate.call(this, hooks)];\n}\n\nfunction userMenuItemTextContent(this: UserMenuItem) {\n\treturn (\n\t\t<div class=\"ui5-user-menu-item-text-wrapper\">\n\t\t\t{this.text && <div class=\"ui5-menu-item-text\">{this.text}</div>}\n\t\t\t{this._selectedSubItemText &&\n\t\t\t\t<div class=\"ui5-user-menu-item-selection-text\">{this._selectedSubItemText}</div>\n\t\t\t}\n\t\t</div>\n\t);\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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenuTemplate.js","sourceRoot":"","sources":["../src/UserMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UserMenu from \"./UserMenu.js\";\nimport Avatar from \"@ui5/webcomponents/dist/Avatar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Tag from \"@ui5/webcomponents/dist/Tag.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemCustom from \"@ui5/webcomponents/dist/ListItemCustom.js\";\nimport Panel from \"@ui5/webcomponents/dist/Panel.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport edit from \"@ui5/webcomponents-icons/dist/edit.js\";\nimport personPlaceholder from \"@ui5/webcomponents-icons/dist/person-placeholder.js\";\nimport userSettings from \"@ui5/webcomponents-icons/dist/user-settings.js\";\nimport log from \"@ui5/webcomponents-icons/dist/log.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport userEdit from \"@ui5/webcomponents-icons/dist/user-edit.js\";\nimport selectedAccount from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\n\nexport default function UserMenuTemplate(this: UserMenu) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid=\"user-menu-rp\"\n\t\t\tclass=\"ui5-user-menu-rp\"\n\t\t\tplacement=\"Bottom\"\n\t\t\tverticalAlign=\"Bottom\"\n\t\t\thorizontalAlign=\"End\"\n\t\t\ttabindex={-1}\n\t\t\taccessibleName={this.accessibleNameText}\n\t\t\taria-label={this.accessibleNameText}\n\t\t\topen={this.open}\n\t\t\topener={this.opener}\n\t\t\tonClose={this._handlePopoverAfterClose}\n\t\t\tonOpen={this._handlePopoverAfterOpen}\n\t\t\tonScroll={this._handleScroll}\n\t\t>\n\t\t\t<>\n\t\t\t\t<Bar class={{\n\t\t\t\t\t\"ui5-user-menu-fixed-header\": true,\n\t\t\t\t\t\"ui5-user-menu-rp-scrolled\": this._isScrolled || this._titleMovedToHeader\n\t\t\t\t}} slot=\"header\">\n\t\t\t\t\t{this._titleMovedToHeader &&\n\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\tlevel=\"H1\"\n\t\t\t\t\t\t\twrappingType=\"None\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._selectedAccount.titleText}\n\t\t\t\t\t\t</Title>\n\t\t\t\t\t}\n\n\t\t\t\t\t{this._isPhone && <Button\n\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\taccessibleName={this._closeDialogAriaLabel}\n\t\t\t\t\t\tonClick={this._closeUserMenu}\n\t\t\t\t\t\tslot=\"endContent\"\n\t\t\t\t\t />}\n\t\t\t\t</Bar>\n\n\t\t\t\t<div class=\"ui5-user-menu-header\">\n\t\t\t\t\t{headerContent.call(this)}\n\t\t\t\t</div>\n\t\t\t</>\n\n\t\t\t{this.showOtherAccounts &&\n\t\t\t\t<>\n\t\t\t\t\t{otherAccountsContent.call(this)}\n\t\t\t\t</>\n\t\t\t}\n\n\t\t\t{this.menuItems.length > 0 &&\n\t\t\t\t\t<List\n\t\t\t\t\t\tid=\"ui5-user-menu-list\"\n\t\t\t\t\t\tclass=\"ui5-user-menu-list\"\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\taccessibleName={this._ariaLabelledByActions}\n\t\t\t\t\t\tonItemClick={this._handleMenuItemClick}\n\t\t\t\t\t\tonui5-close-menu={this._handleMenuItemClose}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t}\n\n\t\t\t{this._hasCustomFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t{this._showDefaultFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t\t<Button class=\"ui5-user-menu-sign-out-btn\" design=\"Transparent\" icon={log} onClick={this._handleSignOutClick}>{this._signOutButtonText}</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ResponsivePopover>\n\t);\n}\n\nfunction headerContent(this: UserMenu) {\n\treturn (<>\n\t\t{this._selectedAccount &&\n\t\t\t<div class=\"ui5-user-menu-selected-account\" aria-label={this._ariaLabelledByAccountInformationText}>\n\t\t\t\t<span title={this.showEditButton ? this._editAvatarTooltip : undefined}>\n\t\t\t\t\t<Avatar size=\"L\" onClick={this._handleAvatarClick} initials={this._selectedAccount._initials} colorScheme={this._selectedAccount.avatarColorScheme} fallbackIcon={personPlaceholder} class=\"ui5-user-menu-selected-account-avatar\" interactive>\n\t\t\t\t\t\t{this._selectedAccount.avatarSrc &&\n\t\t\t\t\t\t\t<img src={this._selectedAccount.avatarSrc}/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{this.showEditButton &&\n\t\t\t\t\t\t<Tag slot=\"badge\" wrappingType=\"None\" design=\"Set1\" colorScheme=\"5\" >\n\t\t\t\t\t\t\t<Icon slot=\"icon\" name={edit}></Icon>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t\t}\n\t\t\t\t\t</Avatar>\n\t\t\t\t</span>\n\t\t\t\t{this._selectedAccount.titleText &&\n\t\t\t\t\t<Text id=\"selected-account-title\" class=\"ui5-user-menu-selected-account-title\">{this._selectedAccount.titleText}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this._selectedAccount.subtitleText &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-subtitleText\">{this._selectedAccount.subtitleText}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.description &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-description\">{this._selectedAccount.description}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.additionalInfo &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-additional-info\">{this._selectedAccount.additionalInfo}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this.showManageAccount &&\n\t\t\t\t\t<Button id=\"selected-account-manage-btn\" icon={userSettings} class=\"ui5-user-menu-manage-account-btn\" onClick={this._handleManageAccountClick}>{this._manageAccountButtonText}</Button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t</>);\n}\n\nfunction otherAccountsContent(this: UserMenu) {\n\treturn (<>\n\t\t<Panel collapsed={true} class=\"ui5-user-menu-other-accounts\">\n\t\t\t<div slot=\"header\" class=\"ui5-user-menu-account-header\">\n\t\t\t\t<Title slot=\"header\" level=\"H4\" wrapping-type=\"None\">{this._otherAccountsButtonText} ({this._otherAccounts.length})</Title>\n\t\t\t\t{this.showEditAccounts &&\n\t\t\t\t\t<Button slot=\"header\" class=\"ui5-user-menu-add-account-btn\" design=\"Transparent\" icon={userEdit} onClick={this._handleEditAccountsClick} tooltip={this._editAccountsTooltip}/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{this._otherAccounts.length > 0 &&\n\t\t\t\t<>\n\t\t\t\t\t{otherAccountsList.call(this)}\n\t\t\t\t</>\n\t\t\t}\n\t\t</Panel>\n\t</>);\n}\n\nfunction otherAccountsList(this: UserMenu) {\n\treturn (<>\n\t\t<List onItemClick={this._handleAccountSwitch} loadingDelay={0}\n\t\t\taccessibleName={`${this._otherAccountsButtonText} (${this._otherAccounts.length})`}\n\t\t\t loading={this._otherAccounts.some(account => account.loading === true)}>\n\t\t\t{this._otherAccounts.map((account, index) =>\n\t\t\t\t<ListItemCustom\n\t\t\t\t\tref={this.captureRef.bind(account)}\n\t\t\t\t\taccessibilityAttributes={{\n\t\t\t\t\t\t\"ariaPosinset\": index + 1,\n\t\t\t\t\t\t\"ariaSetsize\": this._otherAccounts.length\n\t\t\t\t\t}}\n\t\t\t\t\taccessibleName={this.getAccountDescriptionText(account)}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"ui5-user-menu-other-accounts-content\">\n\t\t\t\t\t\t<Avatar slot=\"image\" size=\"S\" initials={account._initials} fallbackIcon={personPlaceholder} colorScheme={account.avatarColorScheme}>\n\t\t\t\t\t\t\t{account.avatarSrc &&\n\t\t\t\t\t\t\t\t<img src={account.avatarSrc}/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t<div class=\"ui5-user-menu-other-accounts-info\">\n\t\t\t\t\t\t\t{account.titleText &&\n\t\t\t\t\t\t\t\t<Title class=\"ui5-user-menu-other-accounts-title\">{account.titleText}</Title>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{account.subtitleText &&\n\t\t\t\t\t\t\t\t<Label class=\"ui5-user-menu-other-accounts-additional-info\">{account.subtitleText}</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{account.description &&\n\t\t\t\t\t\t\t\t<Label class=\"ui5-user-menu-other-accounts-additional-info\">{account.description}</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{account.selected &&\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tpart=\"icon\"\n\t\t\t\t\t\t\t\t\tname={selectedAccount}\n\t\t\t\t\t\t\t\t\tclass=\"ui5-user-menu-selected-account-icon\"\n\t\t\t\t\t\t\t\t\tmode=\"Decorative\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\t\t\t\t</ListItemCustom>\n\t\t\t)}\n\t\t</List>\n\t</>);\n}\n"]}
1
+ {"version":3,"file":"UserMenuTemplate.js","sourceRoot":"","sources":["../src/UserMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UserMenu from \"./UserMenu.js\";\nimport Avatar from \"@ui5/webcomponents/dist/Avatar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Tag from \"@ui5/webcomponents/dist/Tag.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemCustom from \"@ui5/webcomponents/dist/ListItemCustom.js\";\nimport Panel from \"@ui5/webcomponents/dist/Panel.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport edit from \"@ui5/webcomponents-icons/dist/edit.js\";\nimport personPlaceholder from \"@ui5/webcomponents-icons/dist/person-placeholder.js\";\nimport userSettings from \"@ui5/webcomponents-icons/dist/user-settings.js\";\nimport log from \"@ui5/webcomponents-icons/dist/log.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport userEdit from \"@ui5/webcomponents-icons/dist/user-edit.js\";\nimport selectedAccount from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\n\nexport default function UserMenuTemplate(this: UserMenu) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\tid=\"user-menu-rp\"\n\t\t\tclass=\"ui5-user-menu-rp\"\n\t\t\tplacement=\"Bottom\"\n\t\t\tverticalAlign=\"Bottom\"\n\t\t\thorizontalAlign=\"End\"\n\t\t\ttabindex={-1}\n\t\t\taccessibleName={this.accessibleNameText}\n\t\t\taria-label={this.accessibleNameText}\n\t\t\topen={this.open}\n\t\t\topener={this.opener}\n\t\t\tonClose={this._handlePopoverAfterClose}\n\t\t\tonOpen={this._handlePopoverAfterOpen}\n\t\t\tonScroll={this._handleScroll}\n\t\t>\n\t\t\t<>\n\t\t\t\t<Bar class={{\n\t\t\t\t\t\"ui5-user-menu-fixed-header\": true,\n\t\t\t\t\t\"ui5-user-menu-rp-scrolled\": this._isScrolled || this._titleMovedToHeader\n\t\t\t\t}} slot=\"header\">\n\t\t\t\t\t{this._titleMovedToHeader &&\n\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\tlevel=\"H1\"\n\t\t\t\t\t\t\twrappingType=\"None\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._selectedAccount.titleText}\n\t\t\t\t\t\t</Title>\n\t\t\t\t\t}\n\n\t\t\t\t\t{this._isPhone && <Button\n\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\taccessibleName={this._closeDialogAriaLabel}\n\t\t\t\t\t\tonClick={this._closeUserMenu}\n\t\t\t\t\t\tslot=\"endContent\"\n\t\t\t\t\t />}\n\t\t\t\t</Bar>\n\n\t\t\t\t<div class=\"ui5-user-menu-header\">\n\t\t\t\t\t{headerContent.call(this)}\n\t\t\t\t</div>\n\t\t\t</>\n\n\t\t\t{this.showOtherAccounts &&\n\t\t\t\t<>\n\t\t\t\t\t{otherAccountsContent.call(this)}\n\t\t\t\t</>\n\t\t\t}\n\n\t\t\t{this.menuItems.length > 0 &&\n\t\t\t\t\t<List\n\t\t\t\t\t\tid=\"ui5-user-menu-list\"\n\t\t\t\t\t\tclass=\"ui5-user-menu-list\"\n\t\t\t\t\t\tselectionMode=\"None\"\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\taccessibleRole=\"Menu\"\n\t\t\t\t\t\taccessibleName={this._ariaLabelledByActions}\n\t\t\t\t\t\tonItemClick={this._handleMenuItemClick}\n\t\t\t\t\t\tonMouseOver={this._itemMouseOver}\n\t\t\t\t\t\tonui5-close-menu={this._handleMenuItemClose}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t}\n\n\t\t\t{this._hasCustomFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t{this._showDefaultFooter &&\n\t\t\t\t<div slot=\"footer\" class=\"ui5-user-menu-footer\">\n\t\t\t\t\t<Button class=\"ui5-user-menu-sign-out-btn\" design=\"Transparent\" icon={log} onClick={this._handleSignOutClick}>{this._signOutButtonText}</Button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</ResponsivePopover>\n\t);\n}\n\nfunction headerContent(this: UserMenu) {\n\treturn (<>\n\t\t{this._selectedAccount &&\n\t\t\t<div class=\"ui5-user-menu-selected-account\" aria-label={this._ariaLabelledByAccountInformationText}>\n\t\t\t\t<span title={this.showEditButton ? this._editAvatarTooltip : undefined}>\n\t\t\t\t\t<Avatar size=\"L\" onClick={this._handleAvatarClick} initials={this._selectedAccount._initials} colorScheme={this._selectedAccount.avatarColorScheme} fallbackIcon={personPlaceholder} class=\"ui5-user-menu-selected-account-avatar\" interactive>\n\t\t\t\t\t\t{this._selectedAccount.avatarSrc &&\n\t\t\t\t\t\t\t<img src={this._selectedAccount.avatarSrc}/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{this.showEditButton &&\n\t\t\t\t\t\t<Tag slot=\"badge\" wrappingType=\"None\" design=\"Set1\" colorScheme=\"5\" >\n\t\t\t\t\t\t\t<Icon slot=\"icon\" name={edit}></Icon>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t\t}\n\t\t\t\t\t</Avatar>\n\t\t\t\t</span>\n\t\t\t\t{this._selectedAccount.titleText &&\n\t\t\t\t\t<Text id=\"selected-account-title\" class=\"ui5-user-menu-selected-account-title\">{this._selectedAccount.titleText}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this._selectedAccount.subtitleText &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-subtitleText\">{this._selectedAccount.subtitleText}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.description &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-description\">{this._selectedAccount.description}</Text>\n\t\t\t\t}\n\t\t\t\t{this._selectedAccount.additionalInfo &&\n\t\t\t\t\t<Text class=\"ui5-user-menu-selected-account-additional-info\">{this._selectedAccount.additionalInfo}</Text>\n\t\t\t\t}\n\n\t\t\t\t{this.showManageAccount &&\n\t\t\t\t\t<Button id=\"selected-account-manage-btn\" icon={userSettings} class=\"ui5-user-menu-manage-account-btn\" onClick={this._handleManageAccountClick}>{this._manageAccountButtonText}</Button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t</>);\n}\n\nfunction otherAccountsContent(this: UserMenu) {\n\treturn (<>\n\t\t<Panel collapsed={true} class=\"ui5-user-menu-other-accounts\">\n\t\t\t<div slot=\"header\" class=\"ui5-user-menu-account-header\">\n\t\t\t\t<Title slot=\"header\" level=\"H4\" wrapping-type=\"None\">{this._otherAccountsButtonText} ({this._otherAccounts.length})</Title>\n\t\t\t\t{this.showEditAccounts &&\n\t\t\t\t\t<Button slot=\"header\" class=\"ui5-user-menu-add-account-btn\" design=\"Transparent\" icon={userEdit} onClick={this._handleEditAccountsClick} tooltip={this._editAccountsTooltip}/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{this._otherAccounts.length > 0 &&\n\t\t\t\t<>\n\t\t\t\t\t{otherAccountsList.call(this)}\n\t\t\t\t</>\n\t\t\t}\n\t\t</Panel>\n\t</>);\n}\n\nfunction otherAccountsList(this: UserMenu) {\n\treturn (<>\n\t\t<List onItemClick={this._handleAccountSwitch} loadingDelay={0}\n\t\t\taccessibleName={`${this._otherAccountsButtonText} (${this._otherAccounts.length})`}\n\t\t\t loading={this._otherAccounts.some(account => account.loading === true)}>\n\t\t\t{this._otherAccounts.map((account, index) =>\n\t\t\t\t<ListItemCustom\n\t\t\t\t\tref={this.captureRef.bind(account)}\n\t\t\t\t\taccessibilityAttributes={{\n\t\t\t\t\t\t\"ariaPosinset\": index + 1,\n\t\t\t\t\t\t\"ariaSetsize\": this._otherAccounts.length\n\t\t\t\t\t}}\n\t\t\t\t\taccessibleName={this.getAccountDescriptionText(account)}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"ui5-user-menu-other-accounts-content\">\n\t\t\t\t\t\t<Avatar slot=\"image\" size=\"S\" initials={account._initials} fallbackIcon={personPlaceholder} colorScheme={account.avatarColorScheme}>\n\t\t\t\t\t\t\t{account.avatarSrc &&\n\t\t\t\t\t\t\t\t<img src={account.avatarSrc}/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t<div class=\"ui5-user-menu-other-accounts-info\">\n\t\t\t\t\t\t\t{account.titleText &&\n\t\t\t\t\t\t\t\t<Title class=\"ui5-user-menu-other-accounts-title\">{account.titleText}</Title>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{account.subtitleText &&\n\t\t\t\t\t\t\t\t<Label class=\"ui5-user-menu-other-accounts-additional-info\">{account.subtitleText}</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{account.description &&\n\t\t\t\t\t\t\t\t<Label class=\"ui5-user-menu-other-accounts-additional-info\">{account.description}</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{account.selected &&\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tpart=\"icon\"\n\t\t\t\t\t\t\t\t\tname={selectedAccount}\n\t\t\t\t\t\t\t\t\tclass=\"ui5-user-menu-selected-account-icon\"\n\t\t\t\t\t\t\t\t\tmode=\"Decorative\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t</div>\n\t\t\t\t</ListItemCustom>\n\t\t\t)}\n\t\t</List>\n\t</>);\n}\n"]}
@@ -89,7 +89,7 @@ declare class ViewSettingsDialog extends UI5Element {
89
89
  "before-open": void;
90
90
  "open": void;
91
91
  "close": void;
92
- "reset-click": void;
92
+ "reset": void;
93
93
  };
94
94
  /**
95
95
  * Defines the initial sort order.
@@ -112,17 +112,22 @@ declare class ViewSettingsDialog extends UI5Element {
112
112
  */
113
113
  open: boolean;
114
114
  /**
115
- * Defines whether the Reset button is always enabled.
115
+ * Controls whether the Reset button is always enabled.
116
116
  *
117
- * **Note:** By default, the Reset button is only enabled when the dialog settings
118
- * differ from their initial state. Set this property to `true` to keep the Reset
119
- * button always enabled, which is useful when working with custom tabs
120
- * whose internal state changes cannot be detected by the component.
117
+ * By default, the Reset button is enabled only when the built-in settings (Sort, Filter, Group)
118
+ * differ from their initial state the component can detect these changes automatically.
119
+ * However, when the dialog contains custom tabs, the component has no way to detect
120
+ * whether the custom tab content has been modified by the user.
121
+ *
122
+ * Set this property to `true` when the user has made changes inside a custom tab, so that
123
+ * the Reset button becomes enabled and the user can trigger a reset.
124
+ * Set it back to `false` once the custom tab content is back to its initial state
125
+ * (e.g. after the user confirms or after a reset is applied).
121
126
  * @default false
122
127
  * @public
123
128
  * @since 2.22.0
124
129
  */
125
- enableReset: boolean;
130
+ resetEnabled: boolean;
126
131
  /**
127
132
  * Keeps recently focused list in order to focus it on next dialog open.
128
133
  * @private
@@ -206,10 +211,6 @@ declare class ViewSettingsDialog extends UI5Element {
206
211
  get shouldBuildFilter(): boolean;
207
212
  get shouldBuildGroup(): boolean;
208
213
  get shouldBuildCustomTabs(): boolean;
209
- /**
210
- * Returns only custom tabs that have an icon defined and can be rendered.
211
- */
212
- get _renderableCustomTabs(): ViewSettingsDialogCustomTab[];
213
214
  get hasPagination(): boolean;
214
215
  get _defaultMode(): ViewSettingsDialogInternalMode;
215
216
  get _selectedCustomTab(): ViewSettingsDialogCustomTab | undefined;
@@ -80,17 +80,22 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
80
80
  */
81
81
  this.open = false;
82
82
  /**
83
- * Defines whether the Reset button is always enabled.
83
+ * Controls whether the Reset button is always enabled.
84
84
  *
85
- * **Note:** By default, the Reset button is only enabled when the dialog settings
86
- * differ from their initial state. Set this property to `true` to keep the Reset
87
- * button always enabled, which is useful when working with custom tabs
88
- * whose internal state changes cannot be detected by the component.
85
+ * By default, the Reset button is enabled only when the built-in settings (Sort, Filter, Group)
86
+ * differ from their initial state the component can detect these changes automatically.
87
+ * However, when the dialog contains custom tabs, the component has no way to detect
88
+ * whether the custom tab content has been modified by the user.
89
+ *
90
+ * Set this property to `true` when the user has made changes inside a custom tab, so that
91
+ * the Reset button becomes enabled and the user can trigger a reset.
92
+ * Set it back to `false` once the custom tab content is back to its initial state
93
+ * (e.g. after the user confirms or after a reset is applied).
89
94
  * @default false
90
95
  * @public
91
96
  * @since 2.22.0
92
97
  */
93
- this.enableReset = false;
98
+ this.resetEnabled = false;
94
99
  /**
95
100
  * Stores current settings of the dialog.
96
101
  * @private
@@ -183,20 +188,14 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
183
188
  return !!this.groupItems.length;
184
189
  }
185
190
  get shouldBuildCustomTabs() {
186
- return !!this._renderableCustomTabs.length;
187
- }
188
- /**
189
- * Returns only custom tabs that have an icon defined and can be rendered.
190
- */
191
- get _renderableCustomTabs() {
192
- return this.customTabs.filter(tab => tab.icon);
191
+ return !!this.customTabs.length;
193
192
  }
194
193
  get hasPagination() {
195
194
  const builtInTabsCount = [this.shouldBuildSort, this.shouldBuildFilter, this.shouldBuildGroup]
196
195
  .filter(condition => condition)
197
196
  .length;
198
197
  if (this.shouldBuildCustomTabs) {
199
- return builtInTabsCount + this._renderableCustomTabs.length > 1;
198
+ return builtInTabsCount + this.customTabs.length > 1;
200
199
  }
201
200
  return builtInTabsCount > 1;
202
201
  }
@@ -211,7 +210,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
211
210
  return ViewSettingsDialogMode.Group;
212
211
  }
213
212
  if (this.shouldBuildCustomTabs) {
214
- return this._customTabMode(this._renderableCustomTabs[0]);
213
+ return this._customTabMode(this.customTabs[0]);
215
214
  }
216
215
  return ViewSettingsDialogMode.Sort;
217
216
  }
@@ -219,7 +218,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
219
218
  if (!this._isCustomMode(this._currentMode)) {
220
219
  return;
221
220
  }
222
- return this._renderableCustomTabs.find(tab => this._customTabMode(tab) === this._currentMode);
221
+ return this.customTabs.find(tab => this._customTabMode(tab) === this._currentMode);
223
222
  }
224
223
  get _filterByTitle() {
225
224
  const selectedFilterText = this._selectedFilter ? this._selectedFilter.text : "";
@@ -285,7 +284,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
285
284
  * Determines disabled state of the `Reset` button.
286
285
  */
287
286
  get _disableResetButton() {
288
- if (this.enableReset) {
287
+ if (this.resetEnabled) {
289
288
  return false;
290
289
  }
291
290
  return this._dialog && this._settingsAreInitial && this._filteresAreInitial;
@@ -556,7 +555,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
556
555
  this._recentlyFocused = this._sortOrder;
557
556
  this._focusRecentlyUsedControl();
558
557
  announce(this._resetButtonAction, InvisibleMessageMode.Assertive);
559
- this.fireDecoratorEvent("reset-click");
558
+ this.fireDecoratorEvent("reset");
560
559
  }
561
560
  /**
562
561
  * Sets current settings to ones passed as `settings` argument.
@@ -583,7 +582,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
583
582
  return true;
584
583
  }
585
584
  if (this._isCustomMode(mode)) {
586
- return this._renderableCustomTabs.some(tab => this._customTabMode(tab) === mode);
585
+ return this.customTabs.some(tab => this._customTabMode(tab) === mode);
587
586
  }
588
587
  return false;
589
588
  }
@@ -721,7 +720,7 @@ __decorate([
721
720
  ], ViewSettingsDialog.prototype, "open", void 0);
722
721
  __decorate([
723
722
  property({ type: Boolean })
724
- ], ViewSettingsDialog.prototype, "enableReset", void 0);
723
+ ], ViewSettingsDialog.prototype, "resetEnabled", void 0);
725
724
  __decorate([
726
725
  property({ type: Object })
727
726
  ], ViewSettingsDialog.prototype, "_recentlyFocused", void 0);
@@ -856,13 +855,17 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
856
855
  /**
857
856
  * Fired when the Reset button is clicked.
858
857
  *
859
- * **Note:** Use this event to reset the state of custom tab content,
860
- * as the component cannot detect changes within custom tabs.
858
+ * **Note:** This event is particularly relevant when the dialog contains custom tabs.
859
+ * By default, the Reset button resets all built-in settings (sort, filter, group) to their
860
+ * initial values. However, the component has no knowledge of the content or state inside
861
+ * custom tabs — it cannot detect what has changed or what the "default" values are.
862
+ * Therefore, when this event is fired, it is the application developer's responsibility
863
+ * to listen for it and manually reset the custom tab content to its initial state.
861
864
  * @since 2.22.0
862
865
  * @public
863
866
  */
864
867
  ,
865
- event("reset-click", {
868
+ event("reset", {
866
869
  bubbles: true,
867
870
  })
868
871
  ], ViewSettingsDialog);