@sapudex/web-components 0.176.0 → 0.192.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.esm.js +1 -1
- package/dist/Accordion.js +2 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +0 -1
- package/dist/AccordionItem.js +2 -2
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Badge.js +2 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +7 -7
- package/dist/Breadcrumbs.js +3 -3
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/CountrySelector.d.ts +2 -0
- package/dist/CountrySelector.js +10 -6
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +53 -26
- package/dist/DatePicker.js +205 -39
- package/dist/DatePicker.js.map +1 -1
- package/dist/FilterMenu.d.ts +4 -6
- package/dist/FilterMenu.js +10 -10
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.js +6 -2
- package/dist/Footer.js.map +1 -1
- package/dist/HeroBanner.d.ts +0 -1
- package/dist/HeroBanner.js +2 -1
- package/dist/HeroBanner.js.map +1 -1
- package/dist/Link.js +2 -0
- package/dist/Link.js.map +1 -1
- package/dist/ListSelectAll.js +2 -0
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadItem.d.ts +10 -1
- package/dist/MastheadItem.js +12 -6
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +6 -0
- package/dist/MastheadMenu.js +4 -1
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +1 -0
- package/dist/MastheadMenuItem.js +3 -0
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMobileMenu.js +1 -1
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.d.ts +6 -0
- package/dist/MastheadProfileMenu.js +3 -0
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +35 -4
- package/dist/MastheadShell.js +141 -11
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.js +2 -2
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MessageStrip.js +2 -1
- package/dist/MessageStrip.js.map +1 -1
- package/dist/Pagination.d.ts +3 -2
- package/dist/Pagination.js +4 -2
- package/dist/Pagination.js.map +1 -1
- package/dist/RadioButton.js +0 -1
- package/dist/RadioButton.js.map +1 -1
- package/dist/Search.js +0 -1
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.js +3 -3
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.js +1 -1
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.js +1 -1
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SelectBox.d.ts +5 -3
- package/dist/SelectBox.js +11 -7
- package/dist/SelectBox.js.map +1 -1
- package/dist/SideNavigationMobile.js +1 -1
- package/dist/SideNavigationMobile.js.map +1 -1
- package/dist/StepInput.js +1 -1
- package/dist/StepInput.js.map +1 -1
- package/dist/Tab.d.ts +4 -13
- package/dist/Tab.js +11 -14
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +4 -5
- package/dist/TabNavigation.js +16 -15
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Table.js +2 -2
- package/dist/Table.js.map +1 -1
- package/dist/TextArea.d.ts +13 -22
- package/dist/TextArea.js +30 -33
- package/dist/TextArea.js.map +1 -1
- package/dist/assets/{css_variables-a92ef9ad.css → bundle-c5e3cbf2.css} +1 -1
- package/dist/assets/{bundle.esm-f0e73f3b.js → bundle.esm-809b9769.js} +188 -188
- package/dist/assets/messagebundle_en-06c0dadc.js +1 -0
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMenu.css +1 -1
- package/dist/css/themes/MastheadMenuItem.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/MastheadProfileMenu.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/MediaPlayer.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Review.css +1 -1
- package/dist/css/themes/ReviewItem.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SideNavigationMobileDropdown.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/TabNavigation.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/custom-elements-internal.json +127 -107
- package/dist/custom-elements.json +122 -104
- package/dist/features/SearchSuggestionsPopover.d.ts +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +8 -9
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.js +1 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js +5 -4
- package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
- package/dist/generated/themes/AccordionItem.css.js +1 -1
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.js +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +1 -1
- package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Review.css.js +1 -1
- package/dist/generated/themes/Review.css.js.map +1 -1
- package/dist/generated/themes/ReviewItem.css.js +1 -1
- package/dist/generated/themes/ReviewItem.css.js.map +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationMobileDropdown.css.js +1 -1
- package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/TabNavigation.css.js +1 -1
- package/dist/generated/themes/TabNavigation.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +3 -0
- package/dist/i18n/messagebundle_en.properties +1 -0
- package/dist/vscode.html-custom-data.json +2 -12
- package/dist/web-types.json +21 -25
- package/package.json +2 -2
- package/src/Accordion.ts +2 -1
- package/src/AccordionItem.ts +2 -2
- package/src/Badge.ts +2 -1
- package/src/Breadcrumbs.hbs +3 -3
- package/src/Breadcrumbs.ts +14 -14
- package/src/BreadcrumbsPopover.hbs +1 -1
- package/src/CountrySelector.hbs +30 -30
- package/src/CountrySelector.ts +23 -18
- package/src/DatePicker.hbs +4 -5
- package/src/DatePicker.ts +257 -64
- package/src/DatePickerPopover.hbs +2 -2
- package/src/FilterMenu.hbs +2 -1
- package/src/FilterMenu.ts +13 -14
- package/src/Footer.ts +6 -2
- package/src/HeroBanner.ts +2 -1
- package/src/Link.ts +2 -0
- package/src/ListSelectAll.ts +2 -0
- package/src/MastheadItem.hbs +3 -3
- package/src/MastheadItem.ts +23 -11
- package/src/MastheadMenu.ts +9 -1
- package/src/MastheadMenuItem.hbs +2 -1
- package/src/MastheadMenuItem.ts +4 -0
- package/src/MastheadMobileMenu.ts +1 -1
- package/src/MastheadProfileMenu.ts +8 -0
- package/src/MastheadShell.hbs +69 -67
- package/src/MastheadShell.ts +177 -16
- package/src/MediaPlayer.ts +2 -2
- package/src/MessageStrip.ts +2 -1
- package/src/Pagination.hbs +2 -2
- package/src/Pagination.ts +8 -5
- package/src/RadioButton.ts +0 -1
- package/src/Search.ts +0 -1
- package/src/SearchableListBase.ts +3 -3
- package/src/SecondaryNavigation.ts +1 -1
- package/src/SecondaryNavigationItem.ts +1 -1
- package/src/SelectBox.ts +16 -10
- package/src/SideNavigationMobile.ts +1 -1
- package/src/StepInput.ts +1 -1
- package/src/Tab.ts +18 -29
- package/src/TabHeader.hbs +1 -1
- package/src/TabNavigation.hbs +1 -2
- package/src/TabNavigation.ts +21 -19
- package/src/Table.ts +2 -2
- package/src/TextArea.hbs +21 -21
- package/src/TextArea.ts +82 -78
- package/src/TextField.hbs +4 -2
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/DatePickerPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
- package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadShellTemplate.lit.ts +8 -9
- package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
- package/src/generated/templates/TabHeaderTemplate.lit.ts +1 -1
- package/src/generated/templates/TabNavigationTemplate.lit.ts +1 -1
- package/src/generated/templates/TextAreaTemplate.lit.ts +5 -4
- package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMenu.css.ts +1 -1
- package/src/generated/themes/MastheadMenuItem.css.ts +1 -1
- package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
- package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.css.ts +1 -1
- package/src/generated/themes/MessageStrip.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Review.css.ts +1 -1
- package/src/generated/themes/ReviewItem.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SegmentedButton.css.ts +1 -1
- package/src/generated/themes/SideNavigationMobileDropdown.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/StepInput.css.ts +1 -1
- package/src/generated/themes/TabNavigation.css.ts +1 -1
- package/src/generated/themes/Table.css.ts +1 -1
- package/src/generated/themes/TextArea.css.ts +1 -1
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_en.properties +1 -0
- package/src/themes/AccordionItem.css +2 -2
- package/src/themes/Button.css +5 -5
- package/src/themes/CountrySelector.css +35 -28
- package/src/themes/ListItem.css +1 -1
- package/src/themes/MastheadItem.css +40 -2
- package/src/themes/MastheadMenu.css +74 -2
- package/src/themes/MastheadMenuItem.css +1 -0
- package/src/themes/MastheadMobileMenu.css +2 -2
- package/src/themes/MastheadProfileMenu.css +10 -2
- package/src/themes/MastheadShell.css +59 -27
- package/src/themes/MediaPlayer.css +18 -9
- package/src/themes/MessageStrip.css +6 -6
- package/src/themes/PhoneNumberField.css +2 -2
- package/src/themes/Review.css +1 -1
- package/src/themes/ReviewItem.css +1 -1
- package/src/themes/Search.css +8 -2
- package/src/themes/SegmentedButton.css +1 -1
- package/src/themes/SelectBox.css +1 -1
- package/src/themes/SideNavigationMobileDropdown.css +1 -1
- package/src/themes/StepInput.css +5 -5
- package/src/themes/TabNavigation.css +6 -6
- package/src/themes/Table.css +5 -5
- package/src/themes/TextArea.css +12 -1
- package/dist/assets/messagebundle_en-4997b226.js +0 -1
package/dist/MastheadItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { OPENS_IN_A_NEW_WINDOW, PROFILE } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExAvatar from \"./Avatar.js\";\nimport MastheadShell from \"./MastheadShell.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport MastheadItemTemplate from \"./generated/templates/MastheadItemTemplate.lit.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nconst breakpointSizeM: number = 1279;\n\nexport interface IMastheadItem {\n text?: string;\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url: string;\n externalLink: boolean;\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\nexport type ItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadItem,\n}\n\nexport enum Target {\n _blank = \"_blank\",\n _parent = \"_parent\",\n _self = \"_self\",\n _top = \"_top\",\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: litRender,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n subItems!: string;\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n menuTitle!: string;\n\n /**\n * Defines the text of item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String, defaultValue: \"\" })\n text!: string;\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String, defaultValue: \"\" })\n icon!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property({ type: Target, defaultValue: Target._self })\n target!: Target;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName!: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n iconAlt?: string;\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder?: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown?: Array<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content?: Array<HTMLElement>;\n\n _profileAvatar!: UDExAvatar;\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadItem.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onAfterRendering() {\n this._profileAvatar = this.profileAvatar;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn) {\n this.setDropdownInsetStart();\n }\n }\n\n handleFocusout(e: FocusEvent): void {\n const eTarget = e.relatedTarget as HTMLElement;\n const focusedAvatarItem = eTarget?.shadowRoot?.querySelector(\"[ui5-avatar]\");\n\n if (!this.isMobile && (!this.isProfileBtn || eTarget === null || focusedAvatarItem)) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n const mastheadShell: MastheadShell = document.querySelector<MastheadShell>(\"udex-masthead-shell\")!;\n\n mastheadShell.closeMobileMenu();\n mastheadShell.mobileBtn?.focus();\n }\n\n handleNavigationItemClick(e: Event): void {\n this.selected = this.isMobile ? true : !this.selected;\n\n this.fireEvent<ItemClickEventDetail>(\"item-click\", {\n item: this,\n originalEvent: e,\n });\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown\");\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const dropdownHolder = this.getDomElement(\".udex-masthead-item__dropdown-holder\");\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null && dropdownHolder) {\n dropdownHolder.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > window.innerWidth) {\n return right - window.innerWidth + 15;\n }\n\n if (this.isLtrDirection && right > window.innerWidth) {\n return window.innerWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n getSubItems(): Array<MenuItem> {\n return this.parseArrayFromString(this.subItems);\n }\n\n get additionalClass(): string {\n const iconClass = this.icon ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"udex-avatar\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string {\n const labels = [];\n\n if (this.text) {\n labels.push(`${this.__id}-text`);\n }\n\n if (this.icon) {\n labels.push(`${this.__id}-icon`);\n }\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n return labels.join(\" \").trim();\n }\n\n get showDropdown(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : \"\");\n }\n\n get isMenuItem(): boolean {\n return true;\n }\n\n get isMobile(): boolean {\n return window.innerWidth < breakpointSizeM;\n }\n\n get isTargetBlank(): boolean {\n return this.target === Target._blank;\n }\n\n get openInNewWindowText(): string {\n return UDExMastheadItem.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\n"]}
|
|
1
|
+
{"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { OPENS_IN_A_NEW_WINDOW, PROFILE } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExAvatar from \"./Avatar.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport UDExMastheadShell from \"./MastheadShell.js\";\nimport MastheadItemTemplate from \"./generated/templates/MastheadItemTemplate.lit.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nconst breakpointSizeM: number = 1279;\n\nexport interface IMastheadItem {\n text?: string;\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url: string;\n externalLink: boolean;\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\nexport type ItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadItem,\n}\n\nexport enum Target {\n _blank = \"_blank\",\n _parent = \"_parent\",\n _self = \"_self\",\n _top = \"_top\",\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: litRender,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n subItems!: string;\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n menuTitle!: string;\n\n /**\n * Defines the text of item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String, defaultValue: \"\" })\n text!: string;\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String, defaultValue: \"\" })\n icon!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property({ type: Target, defaultValue: Target._self })\n target!: Target;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleName!: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n iconAlt?: string;\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder?: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown?: Array<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content?: Array<HTMLElement>;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadItem.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn) {\n this.setDropdownInsetStart();\n }\n }\n\n handleFocusout(e: FocusEvent): void {\n const eTarget = e.relatedTarget as HTMLElement;\n const focusedAvatarItem = eTarget?.shadowRoot?.querySelector(\"[ui5-avatar]\");\n\n if (!this.isMobile && (!this.isProfileBtn || eTarget === null || focusedAvatarItem)) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: Event): void {\n this.selected = this.isMobile ? true : !this.selected;\n\n this.fireEvent<ItemClickEventDetail>(\"item-click\", {\n item: this,\n originalEvent: e,\n });\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown\");\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const dropdownHolder = this.getDomElement(\".udex-masthead-item__dropdown-holder\");\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null && dropdownHolder) {\n dropdownHolder.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > window.innerWidth) {\n return right - window.innerWidth + 15;\n }\n\n if (this.isLtrDirection && right > window.innerWidth) {\n return window.innerWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n getSubItems(): Array<MenuItem> {\n return this.parseArrayFromString(this.subItems);\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = this.icon ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string {\n const labels = [];\n\n if (this.text) {\n labels.push(`${this.__id}-text`);\n }\n\n if (this.icon) {\n labels.push(`${this.__id}-icon`);\n }\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n return labels.join(\" \").trim();\n }\n\n get showDropdown(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : \"\");\n }\n\n get isMenuItem(): boolean {\n return true;\n }\n\n get isMobile(): boolean {\n return window.innerWidth < breakpointSizeM || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === Target._blank;\n }\n\n get openInNewWindowText(): string {\n return UDExMastheadItem.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\n"]}
|
package/dist/MastheadMenu.d.ts
CHANGED
|
@@ -52,6 +52,12 @@ declare class UDExMastheadMenu extends UI5Element {
|
|
|
52
52
|
* @public
|
|
53
53
|
*/
|
|
54
54
|
subItems: string;
|
|
55
|
+
/**
|
|
56
|
+
* Defines the mobile mode for component
|
|
57
|
+
*
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
_isMobileMode: boolean;
|
|
55
61
|
handleKeyDown(e: KeyboardEvent): void;
|
|
56
62
|
handleUpArrow(e: KeyboardEvent): void;
|
|
57
63
|
handleDownArrow(e: KeyboardEvent): void;
|
package/dist/MastheadMenu.js
CHANGED
|
@@ -79,7 +79,7 @@ let UDExMastheadMenu = class UDExMastheadMenu extends UI5Element {
|
|
|
79
79
|
return string ? JSON.parse(string) : [];
|
|
80
80
|
}
|
|
81
81
|
get links() {
|
|
82
|
-
const menuItems = Array.from(this.shadowRoot.querySelectorAll("udex-masthead-menu-item"));
|
|
82
|
+
const menuItems = Array.from(this.shadowRoot.querySelectorAll("[udex-masthead-menu-item]"));
|
|
83
83
|
return menuItems.filter(({ url }) => url && url.length > 0);
|
|
84
84
|
}
|
|
85
85
|
get itemsList() {
|
|
@@ -104,6 +104,9 @@ __decorate([
|
|
|
104
104
|
__decorate([
|
|
105
105
|
property({ type: String, defaultValue: "[]" })
|
|
106
106
|
], UDExMastheadMenu.prototype, "subItems", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
property({ type: Boolean })
|
|
109
|
+
], UDExMastheadMenu.prototype, "_isMobileMode", void 0);
|
|
107
110
|
UDExMastheadMenu = __decorate([
|
|
108
111
|
customElement({
|
|
109
112
|
tag: "udex-masthead-menu",
|
package/dist/MastheadMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,MAAM,uBAAuB,CAAC;AACzD,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AAErF,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAErE,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AAwBtD;;;;;;;;;;;;;;;;GAgBG;AA0BH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport { isUp, isDown } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport MastheadMenuTemplate from \"./generated/templates/MastheadMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url: string;\n externalLink: boolean;\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\nexport type MenuItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadMenuItem,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: litRender,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExBadge, UDExMastheadMenuItem],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"menu-item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadMenu extends UI5Element {\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle!: string;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n subItems!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n handleKeyDown(e: KeyboardEvent): void {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n if (isUp(e)) {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n if (isDown(e)) {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n }\n\n handleMenuItemClick(e: Event): void {\n this.fireEvent<MenuItemClickEventDetail>(\"menu-item-click\", {\n item: e.target as UDExMastheadMenuItem,\n originalEvent: e,\n });\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n this.links[previousSelectIndex].focus();\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n this.links[nextSelectIndex].focus();\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = this.parseArrayFromString(this.subItems);\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((category: SubMenuLinkItem) => {\n category.categoryId = `${id++}`;\n return category;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\n"]}
|
package/dist/MastheadMenuItem.js
CHANGED
|
@@ -92,6 +92,9 @@ let UDExMastheadMenuItem = UDExMastheadMenuItem_1 = class UDExMastheadMenuItem e
|
|
|
92
92
|
get accessibleRoleText() {
|
|
93
93
|
return this.accessibleRole ? this.accessibleRole : null;
|
|
94
94
|
}
|
|
95
|
+
get partAttr() {
|
|
96
|
+
return this.badge ? "menu-item-link-badge" : "menu-item-link";
|
|
97
|
+
}
|
|
95
98
|
};
|
|
96
99
|
__decorate([
|
|
97
100
|
property({ type: ItemType, defaultValue: ItemType.Link })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport { OPENS_IN_A_NEW_WINDOW } from \"./generated/i18n/i18n-defaults.js\";\n\nimport MastheadMenuItemTemplate from \"./generated/templates/MastheadMenuItemTemplate.lit.js\";\n\n// Styles\nimport MastheadMenuItemCss from \"./generated/themes/MastheadMenuItem.css.js\";\n\nexport enum ItemType {\n Heading = \"Heading\",\n Button = \"Button\",\n Link = \"Link\"\n}\n\nexport enum Target {\n _blank = \"_blank\",\n _self = \"_self\",\n}\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-menu-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadMenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n tag: \"udex-masthead-menu-item\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadMenuItemCss,\n template: MastheadMenuItemTemplate,\n dependencies: [Icon],\n})\n\nclass UDExMastheadMenuItem extends UI5Element {\n /**\n * Defines the type of the item.\n *\n * @default \"Link\"\n * @public\n */\n @property({ type: ItemType, defaultValue: ItemType.Link })\n type!: `${ItemType}`;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines the label of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the url of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n url?: string;\n\n /**\n * Defines the badge of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n badge?: string;\n\n /**\n * Defines the externalLink of the component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n externalLink?: boolean;\n\n /**\n * Defines the border for component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hasBorder?: boolean;\n\n /**\n * Defines the start position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconStart?: boolean;\n\n /**\n * Defines the end position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconEnd?: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadMenuItem.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n get rootClass(): string {\n const badgeClass = this.badge ? \"udex-masthead-menu-item_badge\" : \"\";\n const rootClass = this.isHeadingType ? \"udex-masthead-menu-item_is-header\" : \"udex-masthead-menu-item_is-list\";\n return `${rootClass} ${badgeClass}`;\n }\n\n get labelClass(): string {\n const root = \"udex-masthead-menu-item__label\";\n return this.externalLink ? `${root} udex-masthead-menu-item__label_with-icon` : `${root}`;\n }\n\n get isHeadingType(): boolean {\n return this.type === ItemType.Heading;\n }\n\n get isButtonType(): boolean {\n return this.type === ItemType.Button;\n }\n\n get isActive(): boolean {\n return (this.type === ItemType.Link || !!this.url) && !this.isButtonType;\n }\n\n get target(): string {\n return this.externalLink ? Target._blank : Target._self;\n }\n\n get lastWordOfLabel(): string | undefined {\n return this.label.split(\" \").pop();\n }\n\n get leadingWordsOfLabel(): string {\n const leadingWords = this.label.split(\" \").slice(0, -1).join(\" \");\n return `${leadingWords} `;\n }\n\n get openInNewWindowText(): string {\n return UDExMastheadMenuItem.i18nBundle.getText(OPENS_IN_A_NEW_WINDOW);\n }\n\n get ariaDescribedby(): string | null {\n return this.externalLink ? \"new-win-desc\" : null;\n }\n\n get accessibleRoleText(): string | null {\n return this.accessibleRole ? this.accessibleRole : null;\n }\n\n get partAttr(): string {\n return this.badge ? \"menu-item-link-badge\" : \"menu-item-link\";\n }\n}\n\nUDExMastheadMenuItem.define();\n\nexport default UDExMastheadMenuItem;\n"]}
|
|
@@ -276,7 +276,7 @@ let UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = class UDExMastheadMobile
|
|
|
276
276
|
return this.navigationItems.indexOf(item);
|
|
277
277
|
}
|
|
278
278
|
getListItemByIndex(index) {
|
|
279
|
-
return this.navigationItems[index]?.querySelector("udex-masthead-menu-item");
|
|
279
|
+
return this.navigationItems[index]?.querySelector("[udex-masthead-menu-item]");
|
|
280
280
|
}
|
|
281
281
|
get exploreBtnMenu() {
|
|
282
282
|
return this.shadowRoot.querySelector(".udex-masthead-mobile-menu__explore-btn");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadItem, { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\n\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nexport type MobileItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadMenuItem,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"explorer-menu-click\")\n\nclass UDExMastheadMobileMenu extends UI5Element {\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton?: UDExMastheadItem;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @property({ type: String })\n _direction?: string;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadMobileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onAfterRendering() {\n this.handleMenuMode();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: Event) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireEvent(\"explorer-menu-click\");\n }\n\n handleBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: Event) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handleKeyDown(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isRight(e) || isEnter(e)) {\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isLeft(e) || isEnter(e)) {\n if (this.isRtlDirection) {\n this.moveToNextLevelWithKeyboard(e);\n } else {\n this.moveToBackWithKeyboard(e);\n }\n }\n }\n\n handleUpArrow(e: KeyboardEvent) {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent) {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: Event) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMenuMode() {\n if (this.isCategoriesOpen) {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode) {\n this.openCategories(this.items[0]);\n }\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getItemByList(e.target as UDExMastheadItem);\n\n if (target.hasAttribute(\"is-explore\")) {\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"first-level\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level\")) {\n this.openCategoryItems(e);\n this.fireMobileItemEvent(e);\n }\n\n this.setFocusItemByIndex(0);\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const lastItemIndex = this.navigationItems.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n const listItem = this.getListItemByIndex(previousSelectIndex);\n listItem?.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const nextSelectIndex = currentSelectedIndex + 1 > this.navigationItems.length - 1 ? 0 : currentSelectedIndex + 1;\n const listItem = this.getListItemByIndex(nextSelectIndex);\n listItem?.focus();\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: Event) {\n this.fireEvent<MobileItemClickEventDetail>(\"item-click\", {\n item: e.target as UDExMastheadMenuItem,\n originalEvent: e,\n }, true, false);\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getItemByList(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: HTMLElement): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): HTMLElement | null {\n return this.navigationItems[index]?.querySelector(\"udex-masthead-menu-item\");\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get navigationItems(): Array<HTMLElement> {\n return Array.from(this.shadowRoot!.querySelectorAll(\".udex-masthead-mobile-menu__list-item\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\n"]}
|
|
1
|
+
{"version":3,"file":"MastheadMobileMenu.js","sourceRoot":"","sources":["../src/MastheadMobileMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n isUp, isDown, isRight, isLeft, isEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadItem, { MenuItem, SubMenuLinkItem } from \"./MastheadItem.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\n\nimport MastheadMobileMenuTemplate from \"./generated/templates/MastheadMobileMenuTemplate.lit.js\";\n\n// Styles\nimport MastheadMobileMenuCss from \"./generated/themes/MastheadMobileMenu.css.js\";\n\nexport type MobileItemClickEventDetail = {\n originalEvent: Event,\n item: UDExMastheadMenuItem,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-mobile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadMobileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-mobile-menu\",\n renderer: litRender,\n styles: MastheadMobileMenuCss,\n template: MastheadMobileMenuTemplate,\n dependencies: [UDExMastheadMenuItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fires when explorer menu button is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"explorer-menu-click\")\n\nclass UDExMastheadMobileMenu extends UI5Element {\n /**\n * Slot for search\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExMastheadItem>;\n\n /**\n * Slot for explore Sap mobile button\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSapMobileButton?: UDExMastheadItem;\n\n @property({ type: Boolean })\n _showCategories!: boolean;\n\n @property({ type: Boolean })\n _hideExploreSapBtn!: boolean;\n\n @property({ type: Boolean })\n _showCategoryItems!: boolean;\n\n @property({ type: String })\n _direction?: string;\n\n _clickedItem!: UDExMastheadItem;\n _categories!: Array<SubMenuLinkItem>;\n _category!: SubMenuLinkItem;\n _shouldFocusItemByIndex!: boolean;\n _shouldFocusExploreBtn!: boolean;\n _focusedItemIndex!: number;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadMobileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n onAfterRendering() {\n this.handleMenuMode();\n this.handleFocusItem();\n }\n\n handleMenuItemClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this.openCategories(item);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleMenuCategoryClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n this.openCategoryItems(e);\n this.setFocusItemByIndex(0);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreSapClick(e: Event) {\n e.preventDefault();\n this.openExploreSapMenu(e);\n this.setFocusItemByIndex(0);\n this.fireEvent(\"explorer-menu-click\");\n }\n\n handleBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n handleBackToCategories(e: Event) {\n e.stopPropagation();\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n handleExploreBackToMenuItems(e: Event) {\n e.stopPropagation();\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n\n handleKeyDown(e: KeyboardEvent) {\n this.handleUpArrow(e);\n this.handleDownArrow(e);\n this.handleRightArrow(e);\n this.handleLeftArrow(e);\n }\n\n handleRightArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isRight(e) || isEnter(e)) {\n if (this.isRtlDirection) {\n this.moveToBackWithKeyboard(e);\n } else {\n this.moveToNextLevelWithKeyboard(e);\n }\n }\n }\n\n handleLeftArrow(e: KeyboardEvent) {\n this.handleDirection();\n if (isLeft(e) || isEnter(e)) {\n if (this.isRtlDirection) {\n this.moveToNextLevelWithKeyboard(e);\n } else {\n this.moveToBackWithKeyboard(e);\n }\n }\n }\n\n handleUpArrow(e: KeyboardEvent) {\n if (isUp(e)) {\n e.preventDefault();\n this.focusPreviousItem(e);\n }\n }\n\n handleDownArrow(e: KeyboardEvent) {\n if (isDown(e)) {\n e.preventDefault();\n this.focusNextItem(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n handleMobileItemEvent(e: Event) {\n e.stopPropagation();\n this.fireMobileItemEvent(e);\n }\n\n handleMenuMode() {\n if (this.isCategoriesOpen) {\n if (this.isNoMenuItemsMode && this.hasExploreBtnSlot) {\n this.openCategories(this.exploreItem);\n }\n\n if (this.isSingleMenuMode) {\n this.openCategories(this.items[0]);\n }\n }\n }\n\n handleFocusItem() {\n if (this._shouldFocusItemByIndex) {\n this.focusItemByIndex(this._focusedItemIndex);\n }\n\n if (this._shouldFocusExploreBtn) {\n this.focusExploreBtn();\n }\n }\n\n moveToBackWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadMenuItem;\n if (target.hasAttribute(\"is-back-to-nav\")) {\n this.showFirstLevelMenu();\n this.setFocusItemByIndex(this.items.indexOf(this._clickedItem));\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-back-to-categories\")) {\n this.showCategories();\n this.setFocusItemByIndex(this._category.index + 1);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"is-explore-back\")) {\n this.showFirstLevelMenu();\n this.setFocusExploreBtn();\n this.fireMobileItemEvent(e);\n }\n }\n\n moveToNextLevelWithKeyboard(e: KeyboardEvent) {\n const target = e.target as UDExMastheadItem;\n const item = this.getItemByList(e.target as UDExMastheadItem);\n\n if (target.hasAttribute(\"is-explore\")) {\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"first-level\")) {\n this.openCategories(item);\n this.fireMobileItemEvent(e);\n }\n\n if (target.hasAttribute(\"second-level\")) {\n this.openCategoryItems(e);\n this.fireMobileItemEvent(e);\n }\n\n this.setFocusItemByIndex(0);\n }\n\n focusItemByIndex(index: number): void {\n this.getListItemByIndex(index)?.focus();\n this._shouldFocusItemByIndex = false;\n }\n\n focusExploreBtn(): void {\n this.exploreBtnMenu.focus();\n this._shouldFocusExploreBtn = false;\n }\n\n focusPreviousItem(e: KeyboardEvent): void {\n const target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const lastItemIndex = this.navigationItems.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n const listItem = this.getListItemByIndex(previousSelectIndex);\n listItem?.focus();\n }\n\n focusNextItem(e: KeyboardEvent): void {\n const target = e.target as HTMLElement;\n const currentItem = target.parentElement as HTMLElement;\n const currentSelectedIndex = this.getCurrentIndex(currentItem);\n const nextSelectIndex = currentSelectedIndex + 1 > this.navigationItems.length - 1 ? 0 : currentSelectedIndex + 1;\n const listItem = this.getListItemByIndex(nextSelectIndex);\n listItem?.focus();\n }\n\n openExploreSapMenu(e: Event) {\n const item = this.getItemByList(e.target as UDExMastheadItem);\n this._hideExploreSapBtn = true;\n this._showCategoryItems = false;\n this.openCategories(item);\n }\n\n openCategories(item: UDExMastheadItem) {\n this._clickedItem = item;\n this._categories = this.getCategories(item.getSubItems());\n this._showCategories = true;\n }\n\n openCategoryItems(e: Event) {\n const item = e.target as UDExMastheadMenuItem;\n const index = Number(item.getAttribute(\"id\"));\n this._category = { ...this._categories[index], index };\n this._showCategories = false;\n this._showCategoryItems = true;\n }\n\n showFirstLevelMenu() {\n this._showCategories = false;\n this._showCategoryItems = false;\n this._hideExploreSapBtn = false;\n }\n\n showCategories() {\n this._showCategories = true;\n this._showCategoryItems = false;\n }\n\n fireMobileItemEvent(e: Event) {\n this.fireEvent<MobileItemClickEventDetail>(\"item-click\", {\n item: e.target as UDExMastheadMenuItem,\n originalEvent: e,\n }, true, false);\n }\n\n setFocusItemByIndex(index: number) {\n this._shouldFocusItemByIndex = true;\n this._focusedItemIndex = index;\n }\n\n setFocusExploreBtn(): void {\n this._shouldFocusExploreBtn = true;\n }\n\n getItemByList(el: UDExMastheadItem): UDExMastheadItem {\n const items = [\n ...this.items,\n ...[this.hasExploreBtnSlot ? this.exploreItem : []],\n ] as Array<UDExMastheadItem>;\n return items.find(item => item._id === el.getAttribute(\"id\"))!;\n }\n\n getCategories(items: Array<MenuItem>): Array<SubMenuLinkItem> {\n const categories: Array<SubMenuLinkItem> = [];\n items?.forEach(item => {\n item.subMenuLinkItems.forEach(category => {\n categories.push(category);\n });\n });\n\n return categories;\n }\n\n getCurrentIndex(item: HTMLElement): number {\n return this.navigationItems.indexOf(item);\n }\n\n getListItemByIndex(index: number): HTMLElement | null {\n return this.navigationItems[index]?.querySelector(\"[udex-masthead-menu-item]\");\n }\n\n get exploreBtnMenu(): UDExMastheadMenuItem {\n return this.shadowRoot!.querySelector<UDExMastheadMenuItem>(\".udex-masthead-mobile-menu__explore-btn\")!;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get navigationItems(): Array<HTMLElement> {\n return Array.from(this.shadowRoot!.querySelectorAll(\".udex-masthead-mobile-menu__list-item\"));\n }\n\n get showNavigation(): boolean {\n return !this._showCategories && !this._showCategoryItems;\n }\n\n get overviewLinkText(): string {\n return UDExMastheadMobileMenu.i18nBundle.getText(OVERVIEW);\n }\n\n get exploreItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"exploreSapMobileButton\")[0];\n }\n\n get showExploreBtn(): boolean {\n return this.hasExploreBtnSlot && !this._hideExploreSapBtn && !!this.items.length;\n }\n\n get hasExploreBtnSlot(): boolean {\n return !!this.getSlottedNodes(\"exploreSapMobileButton\").length;\n }\n\n get hasSearchSlot(): boolean {\n return !!this.search.length;\n }\n\n get isCategoriesOpen(): boolean {\n return !this._showCategoryItems;\n }\n\n get isSingleMenuMode(): boolean {\n return this.items.length === 1 && this.isCategoriesOpen;\n }\n\n get isNoMenuItemsMode(): boolean {\n return this.items.length === 0 && this.isCategoriesOpen;\n }\n\n get isNotMultipleMode(): boolean {\n return this.isSingleMenuMode || this.isNoMenuItemsMode;\n }\n}\n\nUDExMastheadMobileMenu.define();\n\nexport default UDExMastheadMobileMenu;\n"]}
|
|
@@ -80,6 +80,9 @@ __decorate([
|
|
|
80
80
|
__decorate([
|
|
81
81
|
property()
|
|
82
82
|
], UDExMastheadProfileMenu.prototype, "logoutUrl", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
property({ type: Boolean })
|
|
85
|
+
], UDExMastheadProfileMenu.prototype, "_isMobileMode", void 0);
|
|
83
86
|
__decorate([
|
|
84
87
|
slot({ type: Node, "default": false })
|
|
85
88
|
], UDExMastheadProfileMenu.prototype, "message", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadProfileMenu.js","sourceRoot":"","sources":["../src/MastheadProfileMenu.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,2BAA2B,MAAM,0DAA0D,CAAC;AAGnG,SAAS;AACT,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAmBnF;;;;;;;;;;;;;;;;GAgBG;AAqCH,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"MastheadProfileMenu.js","sourceRoot":"","sources":["../src/MastheadProfileMenu.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,2BAA2B,MAAM,0DAA0D,CAAC;AAGnG,SAAS;AACT,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAmBnF;;;;;;;;;;;;;;;;GAgBG;AAqCH,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,UAAU;IA8C9C,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,yBAAuB,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACnF,CAAC;IAED,yBAAyB,CAAC,CAAQ;QAChC,IAAI,CAAC,SAAS,CAAyB,QAAQ,EAAE;YAC/C,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,CAAc;QACvC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAEzC,IAAI,CAAC,SAAS,CAAkC,oBAAoB,EAAE;YACpE,IAAI;YACJ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAI,MAAc;QACpC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aACzC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAa,CAAC;IAClE,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,yBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AAlFG;IADD,QAAQ,EAAE;sDACM;AASf;IADD,QAAQ,EAAE;6DACa;AAStB;IADD,QAAQ,EAAE;0DACU;AAQnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACF;AAQxB;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wDACf;AA1CpB,uBAAuB;IApC5B,aAAa,CAAC;QACb,GAAG,EAAE,4BAA4B;QACjC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC;QACzD,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,QAAQ,EAAE;QACf,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,IAAI,EAAE,KAAK;aACZ;SACF;KACF,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,oBAAoB,EAAE;QAC3B,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;aAClB;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,KAAK;aACZ;SACF;KACF,CAAC;GAEI,uBAAuB,CA0F5B;AAED,uBAAuB,CAAC,MAAM,EAAE,CAAC;AAEjC,eAAe,uBAAuB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { LOGOUT } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport MastheadProfileMenuTemplate from \"./generated/templates/MastheadProfileMenuTemplate.lit.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\n\n// Styles\nimport MastheadProfileMenuCss from \"./generated/themes/MastheadProfileMenu.css.js\";\n\ninterface UserData {\n name?: string,\n username?: string,\n email?: string,\n avatarUrl?: string,\n avatarInitials?: string\n}\n\nexport type LogoutClickEventDetail = {\n originalEvent: Event,\n}\n\nexport type ProfileMenuItemClickEventDetail = {\n item: UDExMastheadMenuItem,\n originalEvent: Event,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-masthead-profile-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/MastheadProfileMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-profile-menu\",\n renderer: litRender,\n styles: [UDExMastheadMenu.styles, MastheadProfileMenuCss],\n template: MastheadProfileMenuTemplate,\n dependencies: [UDExMastheadMenu],\n})\n\n/**\n * Fired when use click Logout link\n * @public\n */\n@event(\"logout\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n },\n})\n\n/**\n * Fires when profile ment item is clicked\n *\n * @public\n */\n@event(\"profile-item-click\", {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\n})\n\nclass UDExMastheadProfileMenu extends UI5Element {\n /**\n * Defines the object of link values\n *\n * @default \"\"\n * @public\n */\n @property()\n links!: string;\n\n /**\n * Defines the object of user profile data\n *\n * @default \"\"\n * @public\n */\n @property()\n loggedInUser!: string;\n\n /**\n * Defines the link for logout\n *\n * @default \"\"\n * @public\n */\n @property()\n logoutUrl!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Placeholder for message strip.\n *\n * @public\n */\n @slot({ type: Node, \"default\": false })\n message!: Array<Node>;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadProfileMenu.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n handleUserLogoutItemClick(e: Event): void {\n this.fireEvent<LogoutClickEventDetail>(\"logout\", {\n originalEvent: e,\n });\n }\n\n handleProfileMenuItemClick(e: CustomEvent): void {\n const { item, originalEvent } = e.detail;\n\n this.fireEvent<ProfileMenuItemClickEventDetail>(\"profile-item-click\", {\n item,\n originalEvent,\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get linksList(): string {\n return this.links ? JSON.stringify([{\n subMenuLinkItems: JSON.parse(this.links),\n }]) : \"\";\n }\n\n get userData(): UserData {\n return this.parseArrayFromString(this.loggedInUser) as UserData;\n }\n\n get messageAvailable(): boolean {\n return !!this.message.length;\n }\n\n get logoutLink(): boolean {\n return !!this.logoutUrl.length;\n }\n\n get logoutText(): string {\n return UDExMastheadProfileMenu.i18nBundle.getText(LOGOUT);\n }\n}\n\nUDExMastheadProfileMenu.define();\n\nexport default UDExMastheadProfileMenu;\n"]}
|
package/dist/MastheadShell.d.ts
CHANGED
|
@@ -6,7 +6,11 @@ import "@ui5/webcomponents-icons/dist/search.js";
|
|
|
6
6
|
import "@ui5/webcomponents-icons/dist/cart.js";
|
|
7
7
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
8
8
|
import UDExMastheadItem from "./MastheadItem.js";
|
|
9
|
+
import UDExMastheadMenu from "./MastheadMenu.js";
|
|
9
10
|
import UDExMastheadMobileMenu from "./MastheadMobileMenu.js";
|
|
11
|
+
import UDExMastheadProfileMenu from "./MastheadProfileMenu.js";
|
|
12
|
+
type MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | undefined | null;
|
|
13
|
+
type MastheadItemType = UDExMastheadItem | null | undefined;
|
|
10
14
|
/**
|
|
11
15
|
* @class
|
|
12
16
|
*
|
|
@@ -156,6 +160,12 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
156
160
|
* @private
|
|
157
161
|
*/
|
|
158
162
|
_isMobileMenuOpen: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Defines the mobile mode for component
|
|
165
|
+
*
|
|
166
|
+
* @private
|
|
167
|
+
*/
|
|
168
|
+
_isMobileMode: boolean;
|
|
159
169
|
/**
|
|
160
170
|
* Defines if the close button was clicked
|
|
161
171
|
*
|
|
@@ -174,6 +184,7 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
174
184
|
onEnterDOM(): void;
|
|
175
185
|
onExitDOM(): void;
|
|
176
186
|
_handleResize(): void;
|
|
187
|
+
handleMobileMode(): void;
|
|
177
188
|
handleKeyDown(e: KeyboardEvent): void;
|
|
178
189
|
handleLeftArrow(e: KeyboardEvent): void;
|
|
179
190
|
handleRightArrow(e: KeyboardEvent): void;
|
|
@@ -195,15 +206,35 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
195
206
|
hideSearch(): void;
|
|
196
207
|
getCurrentIndex(item: UDExMastheadItem): number;
|
|
197
208
|
getSelectedItems(): Array<UDExMastheadItem>;
|
|
209
|
+
getRootHolderWidth(root: HTMLElement): number;
|
|
210
|
+
getLandingHolderWidth(): number;
|
|
211
|
+
getRightMenuWidth(): number;
|
|
212
|
+
getItemIconWidth(): number;
|
|
213
|
+
getMainMenuWidth(): number;
|
|
214
|
+
getDomElement(selector: string): HTMLElement | undefined | null;
|
|
215
|
+
getItemWidth(item: UDExMastheadItem): number;
|
|
216
|
+
getCanvasContext(): CanvasRenderingContext2D;
|
|
217
|
+
getItemIconGap(): number;
|
|
218
|
+
getExploreSapBtnGap(): number;
|
|
219
|
+
getRightMenuGap(): number;
|
|
220
|
+
getRootVar(variableName: string): string;
|
|
198
221
|
isNavigationItem(item: UDExMastheadItem): boolean;
|
|
199
222
|
setOverflowBody(): void;
|
|
200
223
|
removeOverflowBody(): void;
|
|
201
224
|
closeMobileMenu(): void;
|
|
202
|
-
|
|
225
|
+
setMobileMode(): void;
|
|
226
|
+
removeMobileMode(): void;
|
|
227
|
+
fireMobileMenuCloseEvent(): void;
|
|
228
|
+
get slottedItems(): (MastheadSlottedItem)[];
|
|
229
|
+
get searchOpener(): MastheadItemType;
|
|
203
230
|
get mastheadHolder(): HTMLElement | null | undefined;
|
|
204
231
|
get mastheadMobileMenu(): UDExMastheadMobileMenu | null;
|
|
205
|
-
get mobileBtn():
|
|
206
|
-
get closeBtn():
|
|
232
|
+
get mobileBtn(): MastheadItemType;
|
|
233
|
+
get closeBtn(): MastheadItemType;
|
|
234
|
+
get profileItem(): UDExMastheadItem;
|
|
235
|
+
get cartItem(): MastheadItemType;
|
|
236
|
+
get profileMenu(): UDExMastheadProfileMenu;
|
|
237
|
+
get profileMenuLinks(): UDExMastheadMenu | undefined | null;
|
|
207
238
|
get hasProfile(): boolean;
|
|
208
239
|
get hasCart(): boolean;
|
|
209
240
|
get hasSearch(): boolean;
|
|
@@ -211,8 +242,8 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
211
242
|
get hasMobileMenuButtons(): boolean;
|
|
212
243
|
get isBreakpointSizeM(): boolean;
|
|
213
244
|
get isMainMenuVisible(): boolean;
|
|
214
|
-
get isRightMenuVisible(): boolean;
|
|
215
245
|
get isSearchVisible(): boolean;
|
|
246
|
+
get shouldHandleMobileView(): boolean;
|
|
216
247
|
get mainNavigationAriaLabel(): string;
|
|
217
248
|
}
|
|
218
249
|
export default UDExMastheadShell;
|