@sapudex/web-components 0.226.1 → 0.227.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Breadcrumbs.js +3 -2
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Button.d.ts +7 -0
- package/dist/Button.js +3 -0
- package/dist/Button.js.map +1 -1
- package/dist/ListItem.d.ts +3 -2
- package/dist/ListItem.js +2 -2
- package/dist/ListItem.js.map +1 -1
- package/dist/MastheadItem.js +1 -1
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadShell.d.ts +4 -1
- package/dist/MastheadShell.js +21 -5
- package/dist/MastheadShell.js.map +1 -1
- package/dist/Pagination.d.ts +18 -2
- package/dist/Pagination.js +35 -11
- package/dist/Pagination.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +5 -5
- package/dist/PhoneNumberField.js +1 -1
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/Search.js +1 -2
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +9 -0
- package/dist/SearchableListBase.js +10 -2
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +4 -1
- package/dist/SecondaryNavigation.js +37 -10
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +10 -0
- package/dist/SecondaryNavigationItem.js +19 -0
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.d.ts +1 -0
- package/dist/SecondaryNavigationItemBase.js +3 -0
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +0 -1
- package/dist/SecondaryNavigationSubItem.js +0 -3
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/Wizard.d.ts +20 -0
- package/dist/Wizard.js +21 -6
- package/dist/Wizard.js.map +1 -1
- package/dist/assets/{bundle.esm-a49b6527.js → bundle.esm-8018708a.js} +182 -182
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadCountrySelector.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/Modal.css +1 -1
- package/dist/css/themes/Pagination.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/custom-elements-internal.json +202 -66
- package/dist/custom-elements.json +181 -64
- package/dist/data/CountryListISO3166.d.ts +13 -4
- package/dist/data/CountryListISO3166.js +8 -0
- package/dist/data/CountryListISO3166.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
- package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchTemplate.lit.js +3 -3
- package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WizardTemplate.lit.js +5 -3
- package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.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/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
- package/dist/generated/themes/MastheadCountrySelector.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/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/Modal.css.js +1 -1
- package/dist/generated/themes/Modal.css.js.map +1 -1
- package/dist/generated/themes/Pagination.css.js +1 -1
- package/dist/generated/themes/Pagination.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/Search.css.js +1 -1
- package/dist/generated/themes/Search.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/vscode.html-custom-data.json +25 -0
- package/dist/web-types.json +41 -1
- package/package.json +1 -1
- package/src/Breadcrumbs.hbs +10 -12
- package/src/Breadcrumbs.ts +3 -2
- package/src/Button.ts +9 -0
- package/src/ListItem.ts +4 -4
- package/src/MastheadItem.ts +1 -1
- package/src/MastheadShell.ts +25 -5
- package/src/Pagination.hbs +11 -5
- package/src/Pagination.ts +51 -8
- package/src/PhoneNumberField.hbs +1 -1
- package/src/PhoneNumberField.ts +8 -3
- package/src/Search.hbs +3 -2
- package/src/Search.ts +1 -2
- package/src/SearchableListBase.ts +18 -2
- package/src/SecondaryNavigation.hbs +1 -0
- package/src/SecondaryNavigation.ts +41 -12
- package/src/SecondaryNavigationItem.hbs +2 -1
- package/src/SecondaryNavigationItem.ts +31 -0
- package/src/SecondaryNavigationItemBase.ts +3 -0
- package/src/SecondaryNavigationSubItem.ts +0 -3
- package/src/Wizard.hbs +9 -1
- package/src/Wizard.ts +39 -7
- package/src/data/CountryListISO3166.ts +10 -2
- package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
- package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
- package/src/generated/templates/WizardTemplate.lit.ts +5 -3
- package/src/generated/themes/Breadcrumbs.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/Modal.css.ts +1 -1
- package/src/generated/themes/Pagination.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/themes/Breadcrumbs.css +3 -0
- package/src/themes/Button.css +84 -29
- package/src/themes/ListItem.css +5 -1
- package/src/themes/MastheadCountrySelector.css +8 -5
- package/src/themes/MastheadItem.css +12 -4
- package/src/themes/MastheadShell.css +5 -2
- package/src/themes/Modal.css +6 -1
- package/src/themes/Pagination.css +19 -0
- package/src/themes/Search.css +8 -1
package/dist/Breadcrumbs.js
CHANGED
|
@@ -56,6 +56,7 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
|
|
|
56
56
|
}
|
|
57
57
|
onAfterRendering() {
|
|
58
58
|
this._initItemNavigation();
|
|
59
|
+
this._dropdownArrowLink.forcedTabIndex = "0";
|
|
59
60
|
}
|
|
60
61
|
_preprocessItems() {
|
|
61
62
|
this.items.forEach(item => {
|
|
@@ -150,7 +151,7 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
|
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
153
|
_focusFirstVisibleItem() {
|
|
153
|
-
Array.from(this.shadowRoot.querySelectorAll("[udex-link]"))[0].focus();
|
|
154
|
+
Array.from(this.shadowRoot.querySelectorAll(".udex-breadcrumbs__link-wrapper [udex-link]"))[0].focus();
|
|
154
155
|
this._shouldFocusFirstVisibleItem = false;
|
|
155
156
|
}
|
|
156
157
|
/**
|
|
@@ -164,7 +165,7 @@ let UDExBreadcrumbs = UDExBreadcrumbs_1 = class UDExBreadcrumbs extends UI5Eleme
|
|
|
164
165
|
* Getter for the list of links corresponding to the abstract breadcrumb items
|
|
165
166
|
*/
|
|
166
167
|
get _links() {
|
|
167
|
-
return Array.from(this.shadowRoot.querySelectorAll(".
|
|
168
|
+
return Array.from(this.shadowRoot.querySelectorAll(".ui5-breadcrumbs-link-wrapper [udex-link]"));
|
|
168
169
|
}
|
|
169
170
|
/**
|
|
170
171
|
* Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow
|
package/dist/Breadcrumbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.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 {\n isTabNext,\n isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport breadcrumbsCss from \"@ui5/webcomponents/dist/generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\nimport BreadcrumbsPopover from \"./generated/templates/BreadcrumbsPopoverTemplate.lit.js\";\nimport UDExBreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExLink from \"./Link.js\";\nimport {\n BREADCRUMBS_ARIA_LABEL,\n BREADCRUMBS_OVERFLOW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/home.js\";\n\n// Styles\nimport BreadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\nconst triggerActiveClass = \"udex-breadcrumbs__trigger--opened\";\n\nexport type UDExBreadcrumbsItemClickEventDetail = {\n item: UDExBreadcrumbsItem;\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\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-breadcrumbs</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Breadcrumbs.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs\",\n renderer: litRender,\n styles: [breadcrumbsCss, BreadcrumbsCss],\n template: BreadcrumbsTemplate,\n staticAreaTemplate: BreadcrumbsPopover,\n staticAreaStyles: [BreadcrumbsPopoverCss],\n dependencies: [UDExBreadcrumbsItem, UDExLink, UDExDropdown, Icon],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n detail: {\n /**\n * @public\n */\n item: { type: HTMLElement },\n /**\n * @public\n */\n altKey: { type: Boolean },\n /**\n * @public\n */\n ctrlKey: { type: Boolean },\n /**\n * @public\n */\n metaKey: { type: Boolean },\n /**\n * @public\n */\n shiftKey: { type: Boolean },\n },\n})\n/**\n * Fired after the dropdown is opened.\n *\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired after the dropdown is closed.\n *\n * @public\n */\n@event(\"close\")\n\nclass UDExBreadcrumbs extends UI5Element {\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines how many breadcrumb items should be visible\n *\n * @default 3\n * @public\n */\n @property({ type: Number, defaultValue: 3, validator: Integer })\n showItems?: number;\n\n /**\n * Defines the component items.\n *\n * **Note:** Use the `udex-breadcrumbs-item` component to define the desired items.\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n items!: Array<UDExBreadcrumbsItem>;\n\n responsivePopover?: UDExDropdown;\n _itemNavigation?: ItemNavigation;\n _shouldFocusFirstVisibleItem!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExBreadcrumbs.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onBeforeRendering(): void {\n this._preprocessItems();\n }\n\n onAfterRendering(): void {\n this._initItemNavigation();\n }\n\n _preprocessItems(): void {\n this.items.forEach(item => {\n item._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n });\n }\n\n async _getResponsePopover(): Promise<UDExDropdown> {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<UDExDropdown>(`#udex-${this.__id!}-breadcrumbs__popover`)!;\n }\n\n _getFocusableItems(): Array<UDExLink> {\n const items = this._links;\n items.unshift(this._dropdownArrowLink);\n\n return items;\n }\n\n _initItemNavigation(): void {\n if (!this._itemNavigation) {\n this._itemNavigation = new ItemNavigation(this, {\n navigationMode: NavigationMode.Horizontal,\n getItemsCallback: () => this._getFocusableItems(),\n });\n }\n }\n\n _getItems(): Array<UDExBreadcrumbsItem> {\n return this.getSlottedNodes<UDExBreadcrumbsItem>(\"items\");\n }\n\n _closeRespPopover(): void {\n this.responsivePopover && this.responsivePopover.onClose();\n }\n\n async _openRespPopover(): Promise<void> {\n this.responsivePopover = await this._getResponsePopover();\n this.responsivePopover.onOpen(this._dropdownArrowLink);\n }\n\n _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const listItem = e.target as HTMLElement,\n items = this._getItems(),\n item = items.find(x => `${x._id}-li` === listItem.id)!;\n\n if (item._isCurrentPageItem) {\n return;\n }\n\n if (this.fireEvent(\"item-click\", { item }, true)) {\n window.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n this.responsivePopover!.onClose();\n }\n }\n\n _onLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const link = e.target as UDExLink,\n items = this._getItems(),\n item = items.find(x => `${x._id}-link` === link.id)!,\n {\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n } = e.detail;\n\n if (!this.fireEvent<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n item,\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n }, true)) {\n e.preventDefault();\n }\n }\n\n _isItemVisible(item: UDExBreadcrumbsItem): boolean {\n return !item.hidden;\n }\n\n _afterDropdownOpen(): void {\n this._dropdownOpened = true;\n this.fireEvent(\"open\");\n }\n\n _afterDropdownClose(): void {\n this._dropdownOpened = false;\n if (this._shouldFocusFirstVisibleItem) {\n this._focusFirstVisibleItem();\n }\n\n this.fireEvent(\"close\");\n }\n\n _toggleDropdown(): void {\n if (this._dropdownOpened) {\n this._closeRespPopover();\n } else {\n this._openRespPopover();\n }\n }\n\n _onfocusin(e: FocusEvent): void {\n const currentItem = e.target as UDExLink;\n\n this._itemNavigation?.setCurrentItem(currentItem);\n }\n\n _handleKeydown(e: KeyboardEvent): void {\n const itemIndex = (e.target as HTMLElement).getAttribute(\"index\");\n const isLastItem = itemIndex === (this.items.length - 2).toString();\n const isFirstItem = itemIndex === \"0\";\n\n if (isTabNext(e) && isLastItem) {\n this._closeRespPopover();\n this._shouldFocusFirstVisibleItem = true;\n }\n\n if (isTabPrevious(e) && isFirstItem) {\n this._closeRespPopover();\n }\n }\n\n _focusFirstVisibleItem(): void {\n Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(\"[udex-link]\"))[0].focus();\n this._shouldFocusFirstVisibleItem = false;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownArrowLink(): UDExLink {\n return this.shadowRoot!.querySelector<UDExLink>(\".udex-breadcrumbs__trigger\")!;\n }\n\n /**\n * Getter for the list of links corresponding to the abstract breadcrumb items\n */\n get _links(): Array<UDExLink> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(\".udex-breadcrumbs__link-wrapper [ui5-link]\"));\n }\n\n /**\n * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n */\n get _linksData(): Array<UDExBreadcrumbsItem> {\n const items = this._visibleItems;\n const itemsCount = items.length;\n\n return items\n .map((item, index) => {\n item._isCurrentPageItem = index === (itemsCount - 1);\n return item;\n });\n }\n\n get _visibleItems(): Array<UDExBreadcrumbsItem> {\n const items = this._getItems();\n const itemsLength = this.showItems ?? 0;\n\n return this._getItems()\n .slice(Math.max(items.length - itemsLength - 1, 0))\n .filter(i => this._isItemVisible(i));\n }\n\n get _dropdownItems(): Array<UDExBreadcrumbsItem> {\n return this._getItems().filter(i => this._isItemVisible(i));\n }\n\n get _triggerClass(): string {\n return this._dropdownOpened ? triggerActiveClass : \"\";\n }\n\n get _accessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n }\n\n get _dropdownArrowAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n }\n}\n\nUDExBreadcrumbs.define();\n\nexport default UDExBreadcrumbs;\n"]}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.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 {\n isTabNext,\n isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { LinkClickEventDetail } from \"@ui5/webcomponents/dist/Link.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport breadcrumbsCss from \"@ui5/webcomponents/dist/generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsTemplate from \"./generated/templates/BreadcrumbsTemplate.lit.js\";\nimport BreadcrumbsPopover from \"./generated/templates/BreadcrumbsPopoverTemplate.lit.js\";\nimport UDExBreadcrumbsItem from \"./BreadcrumbsItem.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExLink from \"./Link.js\";\nimport {\n BREADCRUMBS_ARIA_LABEL,\n BREADCRUMBS_OVERFLOW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/home.js\";\n\n// Styles\nimport BreadcrumbsCss from \"./generated/themes/Breadcrumbs.css.js\";\nimport BreadcrumbsPopoverCss from \"./generated/themes/BreadcrumbsPopover.css.js\";\n\nconst triggerActiveClass = \"udex-breadcrumbs__trigger--opened\";\n\nexport type UDExBreadcrumbsItemClickEventDetail = {\n item: UDExBreadcrumbsItem;\n altKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\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-breadcrumbs</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Breadcrumbs.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-breadcrumbs\",\n renderer: litRender,\n styles: [breadcrumbsCss, BreadcrumbsCss],\n template: BreadcrumbsTemplate,\n staticAreaTemplate: BreadcrumbsPopover,\n staticAreaStyles: [BreadcrumbsPopoverCss],\n dependencies: [UDExBreadcrumbsItem, UDExLink, UDExDropdown, Icon],\n})\n/**\n * Fires when a `BreadcrumbsItem` is clicked.\n *\n * **Note:** You can prevent browser location change by calling `event.preventDefault()`.\n * @allowPreventDefault\n * @param {HTMLElement} item The clicked item.\n * @param {Boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {Boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {Boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {Boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n * @public\n */\n@event<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n detail: {\n /**\n * @public\n */\n item: { type: HTMLElement },\n /**\n * @public\n */\n altKey: { type: Boolean },\n /**\n * @public\n */\n ctrlKey: { type: Boolean },\n /**\n * @public\n */\n metaKey: { type: Boolean },\n /**\n * @public\n */\n shiftKey: { type: Boolean },\n },\n})\n/**\n * Fired after the dropdown is opened.\n *\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired after the dropdown is closed.\n *\n * @public\n */\n@event(\"close\")\n\nclass UDExBreadcrumbs extends UI5Element {\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines how many breadcrumb items should be visible\n *\n * @default 3\n * @public\n */\n @property({ type: Number, defaultValue: 3, validator: Integer })\n showItems?: number;\n\n /**\n * Defines the component items.\n *\n * **Note:** Use the `udex-breadcrumbs-item` component to define the desired items.\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n items!: Array<UDExBreadcrumbsItem>;\n\n responsivePopover?: UDExDropdown;\n _itemNavigation?: ItemNavigation;\n _shouldFocusFirstVisibleItem!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExBreadcrumbs.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onBeforeRendering(): void {\n this._preprocessItems();\n }\n\n onAfterRendering(): void {\n this._initItemNavigation();\n this._dropdownArrowLink.forcedTabIndex = \"0\";\n }\n\n _preprocessItems(): void {\n this.items.forEach(item => {\n item._getRealDomRef = () => this.getDomRef()!.querySelector(`[data-ui5-stable*=${item.stableDomRef}]`)!;\n });\n }\n\n async _getResponsePopover(): Promise<UDExDropdown> {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<UDExDropdown>(`#udex-${this.__id!}-breadcrumbs__popover`)!;\n }\n\n _getFocusableItems(): Array<UDExLink> {\n const items = this._links;\n items.unshift(this._dropdownArrowLink);\n\n return items;\n }\n\n _initItemNavigation(): void {\n if (!this._itemNavigation) {\n this._itemNavigation = new ItemNavigation(this, {\n navigationMode: NavigationMode.Horizontal,\n getItemsCallback: () => this._getFocusableItems(),\n });\n }\n }\n\n _getItems(): Array<UDExBreadcrumbsItem> {\n return this.getSlottedNodes<UDExBreadcrumbsItem>(\"items\");\n }\n\n _closeRespPopover(): void {\n this.responsivePopover && this.responsivePopover.onClose();\n }\n\n async _openRespPopover(): Promise<void> {\n this.responsivePopover = await this._getResponsePopover();\n this.responsivePopover.onOpen(this._dropdownArrowLink);\n }\n\n _onDropdownLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const listItem = e.target as HTMLElement,\n items = this._getItems(),\n item = items.find(x => `${x._id}-li` === listItem.id)!;\n\n if (item._isCurrentPageItem) {\n return;\n }\n\n if (this.fireEvent(\"item-click\", { item }, true)) {\n window.open(item.href, item.target || \"_self\", \"noopener,noreferrer\");\n this.responsivePopover!.onClose();\n }\n }\n\n _onLinkPress(e: CustomEvent<LinkClickEventDetail>): void {\n const link = e.target as UDExLink,\n items = this._getItems(),\n item = items.find(x => `${x._id}-link` === link.id)!,\n {\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n } = e.detail;\n\n if (!this.fireEvent<UDExBreadcrumbsItemClickEventDetail>(\"item-click\", {\n item,\n altKey,\n ctrlKey,\n metaKey,\n shiftKey,\n }, true)) {\n e.preventDefault();\n }\n }\n\n _isItemVisible(item: UDExBreadcrumbsItem): boolean {\n return !item.hidden;\n }\n\n _afterDropdownOpen(): void {\n this._dropdownOpened = true;\n this.fireEvent(\"open\");\n }\n\n _afterDropdownClose(): void {\n this._dropdownOpened = false;\n if (this._shouldFocusFirstVisibleItem) {\n this._focusFirstVisibleItem();\n }\n\n this.fireEvent(\"close\");\n }\n\n _toggleDropdown(): void {\n if (this._dropdownOpened) {\n this._closeRespPopover();\n } else {\n this._openRespPopover();\n }\n }\n\n _onfocusin(e: FocusEvent): void {\n const currentItem = e.target as UDExLink;\n\n this._itemNavigation?.setCurrentItem(currentItem);\n }\n\n _handleKeydown(e: KeyboardEvent): void {\n const itemIndex = (e.target as HTMLElement).getAttribute(\"index\");\n const isLastItem = itemIndex === (this.items.length - 2).toString();\n const isFirstItem = itemIndex === \"0\";\n\n if (isTabNext(e) && isLastItem) {\n this._closeRespPopover();\n this._shouldFocusFirstVisibleItem = true;\n }\n\n if (isTabPrevious(e) && isFirstItem) {\n this._closeRespPopover();\n }\n }\n\n _focusFirstVisibleItem(): void {\n Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(\".udex-breadcrumbs__link-wrapper [udex-link]\"))[0].focus();\n this._shouldFocusFirstVisibleItem = false;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownArrowLink(): UDExLink {\n return this.shadowRoot!.querySelector<UDExLink>(\".udex-breadcrumbs__trigger\")!;\n }\n\n /**\n * Getter for the list of links corresponding to the abstract breadcrumb items\n */\n get _links(): Array<UDExLink> {\n return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(\".ui5-breadcrumbs-link-wrapper [udex-link]\"));\n }\n\n /**\n * Getter for the list of abstract breadcrumb items to be rendered as links outside the overflow\n */\n get _linksData(): Array<UDExBreadcrumbsItem> {\n const items = this._visibleItems;\n const itemsCount = items.length;\n\n return items\n .map((item, index) => {\n item._isCurrentPageItem = index === (itemsCount - 1);\n return item;\n });\n }\n\n get _visibleItems(): Array<UDExBreadcrumbsItem> {\n const items = this._getItems();\n const itemsLength = this.showItems ?? 0;\n\n return this._getItems()\n .slice(Math.max(items.length - itemsLength - 1, 0))\n .filter(i => this._isItemVisible(i));\n }\n\n get _dropdownItems(): Array<UDExBreadcrumbsItem> {\n return this._getItems().filter(i => this._isItemVisible(i));\n }\n\n get _triggerClass(): string {\n return this._dropdownOpened ? triggerActiveClass : \"\";\n }\n\n get _accessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_ARIA_LABEL);\n }\n\n get _dropdownArrowAccessibleNameText(): string {\n return UDExBreadcrumbs.i18nBundle.getText(BREADCRUMBS_OVERFLOW_ARIA_LABEL);\n }\n}\n\nUDExBreadcrumbs.define();\n\nexport default UDExBreadcrumbs;\n"]}
|
package/dist/Button.d.ts
CHANGED
|
@@ -40,6 +40,13 @@ declare class UDExButton extends Button {
|
|
|
40
40
|
* @public
|
|
41
41
|
*/
|
|
42
42
|
toggled: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Defines if button has pseudo aria-disabled state
|
|
45
|
+
*
|
|
46
|
+
* @default false
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
_ariaDisabled: boolean;
|
|
43
50
|
/**
|
|
44
51
|
* Defines the component design.
|
|
45
52
|
* @default "Primary"
|
package/dist/Button.js
CHANGED
|
@@ -75,6 +75,9 @@ __decorate([
|
|
|
75
75
|
__decorate([
|
|
76
76
|
property({ type: Boolean })
|
|
77
77
|
], UDExButton.prototype, "toggled", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
property({ type: Boolean })
|
|
80
|
+
], UDExButton.prototype, "_ariaDisabled", void 0);
|
|
78
81
|
__decorate([
|
|
79
82
|
property({ type: UDExButtonDesign, defaultValue: UDExButtonDesign.Primary })
|
|
80
83
|
/** @ts-expect-error */
|
package/dist/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAmB,EAAY,aAAa,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EACL,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,OAAO,GACtQ,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,cAAc,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAN,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;IACrB,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;AACvB,CAAC,EAZW,gBAAgB,KAAhB,gBAAgB,QAY3B;AAED;;;;;;;GAOG;AAMH,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":"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","sourcesContent":["import litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport \"@ui5/webcomponents-icons/dist/AllIcons.js\";\nimport I18nBundle, { I18nText, getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n BUTTON_ARIA_ATTENTION, BUTTON_ARIA_DEFAULT, BUTTON_ARIA_EMPHASIZED, BUTTON_ARIA_TRANSPARENT, BUTTON_ARIA_TYPE_NEGATIVE, BUTTON_ARIA_TYPE_POSITIVE, BUTTON_ARIA_TYPE_PRIMARY, BUTTON_ARIA_TYPE_SECONDARY, BUTTON_ARIA_TYPE_TERTIARY, BUTTON_ARIA_TYPE_WARNING, TOGGLED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ButtonCss from \"./generated/themes/Button.css\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\n\nexport enum UDExButtonDesign {\n Primary = \"Primary\",\n Emphasized = \"Emphasized\",\n Secondary = \"Secondary\",\n Default = \"Default\",\n Tertiary = \"Tertiary\",\n Transparent = \"Transparent\",\n Invisible = \"Invisible\",\n Warning = \"Warning\",\n Attention = \"Attention\",\n Positive = \"Positive\",\n Negative = \"Negative\",\n}\n\n/**\n * @class\n *\n * @constructor\n * @extends Button\n * @tagname udex-button\n * @public\n */\n@customElement({\n tag: \"udex-button\",\n renderer: litRender,\n styles: [Button.styles, ButtonCss],\n})\nclass UDExButton extends Button {\n /**\n * Defines the size of the component.\n * <br><br>\n * <b>Note:</b> There are three different sizes to choose from.\n *\n * @default \"Medium\"\n * @public\n */\n @property({ type: UDExButtonSize, defaultValue: UDExButtonSize.Medium })\n size!: `${UDExButtonSize}`;\n\n /**\n * Defines if button is in toggled state\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n toggled!: boolean;\n\n /**\n * Defines if button has pseudo aria-disabled state\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _ariaDisabled!: boolean;\n\n /**\n * Defines the component design.\n * @default \"Primary\"\n * @public\n */\n @property({ type: UDExButtonDesign, defaultValue: UDExButtonDesign.Primary })\n /** @ts-expect-error */\n design!: `${UDExButtonDesign}`;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n UDExButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n }\n\n static typeTextMappings(): Record<string, I18nText> {\n return {\n \"Primary\": BUTTON_ARIA_TYPE_PRIMARY,\n \"Secondary\": BUTTON_ARIA_TYPE_SECONDARY,\n \"Tertiary\": BUTTON_ARIA_TYPE_TERTIARY,\n \"Positive\": BUTTON_ARIA_TYPE_POSITIVE,\n \"Warning\": BUTTON_ARIA_TYPE_WARNING,\n \"Negative\": BUTTON_ARIA_TYPE_NEGATIVE,\n \"Emphasized\": BUTTON_ARIA_EMPHASIZED,\n \"Default\": BUTTON_ARIA_DEFAULT,\n \"Transparent\": BUTTON_ARIA_TRANSPARENT,\n \"Attention\": BUTTON_ARIA_ATTENTION,\n };\n }\n\n get hasButtonType() {\n return !!this.getAttribute(\"design\") || this.toggled;\n }\n\n get buttonTypeText() {\n const designValue = this.getAttribute(\"design\");\n const shouldReadDesign = designValue === UDExButtonDesign.Positive || designValue === UDExButtonDesign.Negative\n || designValue === UDExButtonDesign.Warning || designValue === UDExButtonDesign.Attention;\n\n let typeText;\n if (designValue) {\n typeText = shouldReadDesign ? UDExButton.i18nBundle.getText(UDExButton.typeTextMappings()[designValue]) : \"\";\n }\n return `${typeText} ${this.toggled ? UDExButton.i18nBundle.getText(TOGGLED) : \"\"}`.trim();\n }\n}\n\nUDExButton.define();\n\nexport default UDExButton;\n"]}
|
package/dist/ListItem.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
2
2
|
import UDExListItemBase from "./ListItemBase.js";
|
|
3
3
|
import { AvatarShape, AvatarSize } from "./Avatar.js";
|
|
4
|
+
import UDExButton from "./Button.js";
|
|
4
5
|
import { AdditionalTextState } from "./types/List.js";
|
|
5
6
|
/**
|
|
6
7
|
* @class
|
|
@@ -119,14 +120,14 @@ declare class UDExListItem extends UDExListItemBase {
|
|
|
119
120
|
* @slot
|
|
120
121
|
* @public
|
|
121
122
|
*/
|
|
122
|
-
firstIcon: Array<
|
|
123
|
+
firstIcon: Array<UDExButton>;
|
|
123
124
|
/**
|
|
124
125
|
* Slot for second icon.
|
|
125
126
|
*
|
|
126
127
|
* @slot
|
|
127
128
|
* @public
|
|
128
129
|
*/
|
|
129
|
-
secondIcon: Array<
|
|
130
|
+
secondIcon: Array<UDExButton>;
|
|
130
131
|
/**
|
|
131
132
|
* Defines the role attribute of component
|
|
132
133
|
*
|
package/dist/ListItem.js
CHANGED
|
@@ -227,10 +227,10 @@ __decorate([
|
|
|
227
227
|
slot({ type: Node, "default": true })
|
|
228
228
|
], UDExListItem.prototype, "content", void 0);
|
|
229
229
|
__decorate([
|
|
230
|
-
slot()
|
|
230
|
+
slot({ type: UDExButton })
|
|
231
231
|
], UDExListItem.prototype, "firstIcon", void 0);
|
|
232
232
|
__decorate([
|
|
233
|
-
slot()
|
|
233
|
+
slot({ type: UDExButton })
|
|
234
234
|
], UDExListItem.prototype, "secondIcon", void 0);
|
|
235
235
|
__decorate([
|
|
236
236
|
property({ type: String })
|
package/dist/ListItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../src/ListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport I18nBundle, { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExCheckbox from \"./Checkbox.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExAvatar, { AvatarShape, AvatarSize } from \"./Avatar.js\";\nimport UDExButton from \"./Button.js\";\nimport {\n ListItemSize, ListMode, AdditionalTextState,\n} from \"./types/List.js\";\nimport UDExRadioButton from \"./RadioButton.js\";\nimport {\n DELETE_BUTTON, EDIT_BUTTON, INDETERMINATE, SELECTED, UNSELECTED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ListItemTemplate from \"./generated/templates/ListItemTemplate.lit.js\";\n\n// Styles\nimport ListItemCss from \"./generated/themes/ListItem.css.js\";\n\nconst listItemClass: string = \"udex-list__item\";\nconst listItemRole: string = \"option\";\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-list-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ListItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UDExListItemBase\n * @tagname udex-list-item\n * @public\n */\n\n@customElement({\n tag: \"udex-list-item\",\n renderer: litRender,\n styles: ListItemCss,\n template: ListItemTemplate,\n dependencies: [\n UDExAvatar,\n UDExButton,\n UDExRadioButton,\n UDExCheckbox,\n Icon,\n ],\n})\n\n/**\n * Fired event when the user click on a list item.\n *\n * @event sap.ui.webc.web-components.UDExListItem#itemPress\n * @public\n */\n@event(\"item-press\", {\n detail: {\n selected: { type: Boolean },\n item: { type: HTMLElement },\n },\n})\n/**\n * Fired event when the user focuses on a list item.\n *\n * @event sap.ui.webc.web-components.UDExListItem#itemFocus\n * @public\n */\n@event(\"item-focus\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n/**\n * Fired event when the user click on the delete icon.\n *\n * @event sap.ui.webc.web-components.UDExListItem#deletePress\n * @public\n */\n@event(\"delete-press\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n/**\n * Fired event when the user click on the edit icon.\n *\n * @event sap.ui.webc.web-components.UDExListItem#editPress\n * @public\n */\n@event(\"edit-press\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\nclass UDExListItem extends UDExListItemBase {\n /**\n * Defines the name of the edit icon, displayed in the end of the list item.\n *\n * @defaultvalue \"\"\n * @public\n */\n @property({ type: String })\n editIcon!: string;\n /**\n * Defines the name of the delete icon, displayed in the end of the list item.\n *\n * @defaultvalue \"\"\n * @public\n */\n @property({ type: String })\n deleteIcon!: string;\n /**\n * Defines the accessible name of the item.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Defines the position for flag image.\n *\n * @public\n */\n @property({ type: String })\n flagPosition?: string;\n\n /**\n * Defines the image, displayed at the start of the item.\n *\n * @public\n */\n @property({ type: Boolean })\n flag?: boolean;\n\n /**\n * Indicates if the item is active.\n *\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Indicates if the item is on focus\n *\n * @private\n */\n @property({ type: Boolean })\n focused!: boolean;\n\n /**\n * Defines the additionalText, displayed at the end of the list item.\n *\n * @public\n */\n @property({ type: String })\n additionalText?: string;\n\n /**\n * Defines the state of the additionalText.\n *\n * @defaultvalue \"Circle\"\n * @public\n */\n @property({ type: AdditionalTextState, defaultValue: AdditionalTextState.None })\n additionalTextState?: `${AdditionalTextState}`;\n\n /**\n * Allows control over the image source.\n *\n * @public\n */\n @property({ type: String })\n image?: string;\n\n /**\n * Allows control over the alternative text of the image.\n *\n * @public\n */\n @property({ type: String })\n imageAlt?: string;\n\n /**\n * Defines the shape of the image.\n *\n * @defaultvalue \"Circle\"\n * @public\n */\n @property({ type: AvatarShape, defaultValue: AvatarShape.Circle })\n imageShape?: `${AvatarShape}`;\n\n /**\n * Allows control over the size of the image.\n *\n * @defaultvalue \"S\"\n * @public\n */\n @property({ type: AvatarSize, defaultValue: AvatarSize.S })\n imageSize!: `${AvatarSize}`;\n /**\n * Slot for list item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: Array<Node>;\n /**\n * Slot for first icon.\n *\n * @slot\n * @public\n */\n @slot()\n firstIcon!: Array<HTMLElement>;\n /**\n * Slot for second icon.\n *\n * @slot\n * @public\n */\n @slot()\n secondIcon!: Array<HTMLElement>;\n\n /**\n * Defines the role attribute of component\n *\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n @property({ type: String })\n _additionalClassName!: string;\n\n deactivate: () => void;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n\n this.deactivate = () => {\n if (this.active) {\n this.active = false;\n }\n };\n }\n\n static async onDefine(): Promise<void> {\n UDExListItem.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onEnterDOM() {\n document.addEventListener(\"mouseup\", this.deactivate);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM() {\n document.removeEventListener(\"mouseup\", this.deactivate);\n }\n\n handleMouseDown() {\n this.activate();\n }\n\n handleMouseUp() {\n this.deactivate();\n }\n\n handleKeyUp(e: KeyboardEvent) {\n e.preventDefault();\n if (isSpace(e) || isEnter(e)) {\n this.deactivate();\n }\n }\n\n handleKeyDown(e: KeyboardEvent) {\n if (isSpace(e)) {\n e.preventDefault();\n }\n if (isSpace(e) || isEnter(e)) {\n this.activate();\n this.handleItemClick(e);\n }\n }\n\n handleKeyDownIcon(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n handleItemClick(e: Event) {\n if (this.disabled) {\n return;\n }\n if (!this.indeterminate && !this.controlled) {\n this.selected = !this.selected;\n }\n this.fireItemPress(e);\n }\n\n handleFocusIn() {\n if (!this.disabled) {\n this.focused = true;\n this.fireEvent(\"item-focus\", {\n item: this,\n });\n }\n }\n\n handleFocusOut() {\n if (!this.disabled) {\n this.focused = false;\n this.deactivate();\n }\n }\n\n handleDeleteClick(e: Event) {\n if (!this.disabled) {\n e.stopPropagation();\n this.fireEvent(\"delete-press\", {\n item: this,\n });\n }\n }\n\n handleEditClick(e: Event) {\n if (!this.disabled) {\n e.stopPropagation();\n this.fireEvent(\"edit-press\", {\n item: this,\n });\n }\n }\n\n fireItemPress(e: Event) {\n if (isEnter(e as KeyboardEvent)) {\n e.preventDefault();\n }\n this.fireEvent(\"item-press\", {\n selected: this.selected,\n item: this,\n });\n }\n\n activate() {\n if (!this.disabled) {\n this.active = true;\n }\n }\n\n get className(): string {\n const isGroupChild = this?.parentElement as UDExListGroupHeaderBase;\n const controlledClassName = this.controlled ? `${listItemClass}_controlled` : \"\";\n const groupClassName = isGroupChild?.isGroup ? `${listItemClass}_group` : \"\";\n const largeSizeClassName = this.isLargeSize ? `${listItemClass}_large` : \"\";\n return `${listItemClass} ${groupClassName} ${this._additionalClassName} ${controlledClassName} ${largeSizeClassName}`.trim();\n }\n\n get roleItem(): string {\n return this.accessibleRole.length > 0 ? this.accessibleRole : listItemRole;\n }\n\n get _ariaDisabled(): boolean | undefined {\n return this.disabled ? true : undefined;\n }\n\n get modeSingleContent(): boolean {\n return this.mode === ListMode.SingleContent;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === ListMode.RadioGroup;\n }\n\n get modeSelected(): boolean {\n return [ListMode.SingleSelect, ListMode.MultiSelect, ListMode.RadioGroup].includes(this.mode as ListMode);\n }\n\n get isLargeSize(): boolean {\n return this.size === ListItemSize.Large;\n }\n\n get accessibleListItemName(): string {\n return this.accessibleName || this.label;\n }\n\n get stateAccessibleName(): string {\n if (this.indeterminate) {\n return UDExListItem.i18nBundle.getText(INDETERMINATE);\n }\n return `${this.selected ? UDExListItem.i18nBundle.getText(SELECTED) : UDExListItem.i18nBundle.getText(UNSELECTED)} `;\n }\n\n get editButtonAccessibleName(): string {\n return UDExListItem.i18nBundle.getText(EDIT_BUTTON);\n }\n\n get deleteButtonAccessibleName(): string {\n return UDExListItem.i18nBundle.getText(DELETE_BUTTON);\n }\n}\n\nUDExListItem.define();\n\nexport default UDExListItem;\n"]}
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../src/ListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport I18nBundle, { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExCheckbox from \"./Checkbox.js\";\nimport UDExListItemBase from \"./ListItemBase.js\";\nimport UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExAvatar, { AvatarShape, AvatarSize } from \"./Avatar.js\";\nimport UDExButton from \"./Button.js\";\nimport {\n ListItemSize, ListMode, AdditionalTextState,\n} from \"./types/List.js\";\nimport UDExRadioButton from \"./RadioButton.js\";\nimport {\n DELETE_BUTTON, EDIT_BUTTON, INDETERMINATE, SELECTED, UNSELECTED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ListItemTemplate from \"./generated/templates/ListItemTemplate.lit.js\";\n\n// Styles\nimport ListItemCss from \"./generated/themes/ListItem.css.js\";\n\nconst listItemClass: string = \"udex-list__item\";\nconst listItemRole: string = \"option\";\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-list-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ListItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UDExListItemBase\n * @tagname udex-list-item\n * @public\n */\n\n@customElement({\n tag: \"udex-list-item\",\n renderer: litRender,\n styles: ListItemCss,\n template: ListItemTemplate,\n dependencies: [\n UDExAvatar,\n UDExButton,\n UDExRadioButton,\n UDExCheckbox,\n Icon,\n ],\n})\n\n/**\n * Fired event when the user click on a list item.\n *\n * @event sap.ui.webc.web-components.UDExListItem#itemPress\n * @public\n */\n@event(\"item-press\", {\n detail: {\n selected: { type: Boolean },\n item: { type: HTMLElement },\n },\n})\n/**\n * Fired event when the user focuses on a list item.\n *\n * @event sap.ui.webc.web-components.UDExListItem#itemFocus\n * @public\n */\n@event(\"item-focus\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n/**\n * Fired event when the user click on the delete icon.\n *\n * @event sap.ui.webc.web-components.UDExListItem#deletePress\n * @public\n */\n@event(\"delete-press\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n/**\n * Fired event when the user click on the edit icon.\n *\n * @event sap.ui.webc.web-components.UDExListItem#editPress\n * @public\n */\n@event(\"edit-press\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\nclass UDExListItem extends UDExListItemBase {\n /**\n * Defines the name of the edit icon, displayed in the end of the list item.\n *\n * @defaultvalue \"\"\n * @public\n */\n @property({ type: String })\n editIcon!: string;\n /**\n * Defines the name of the delete icon, displayed in the end of the list item.\n *\n * @defaultvalue \"\"\n * @public\n */\n @property({ type: String })\n deleteIcon!: string;\n /**\n * Defines the accessible name of the item.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName?: string;\n\n /**\n * Defines the position for flag image.\n *\n * @public\n */\n @property({ type: String })\n flagPosition?: string;\n\n /**\n * Defines the image, displayed at the start of the item.\n *\n * @public\n */\n @property({ type: Boolean })\n flag?: boolean;\n\n /**\n * Indicates if the item is active.\n *\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Indicates if the item is on focus\n *\n * @private\n */\n @property({ type: Boolean })\n focused!: boolean;\n\n /**\n * Defines the additionalText, displayed at the end of the list item.\n *\n * @public\n */\n @property({ type: String })\n additionalText?: string;\n\n /**\n * Defines the state of the additionalText.\n *\n * @defaultvalue \"Circle\"\n * @public\n */\n @property({ type: AdditionalTextState, defaultValue: AdditionalTextState.None })\n additionalTextState?: `${AdditionalTextState}`;\n\n /**\n * Allows control over the image source.\n *\n * @public\n */\n @property({ type: String })\n image?: string;\n\n /**\n * Allows control over the alternative text of the image.\n *\n * @public\n */\n @property({ type: String })\n imageAlt?: string;\n\n /**\n * Defines the shape of the image.\n *\n * @defaultvalue \"Circle\"\n * @public\n */\n @property({ type: AvatarShape, defaultValue: AvatarShape.Circle })\n imageShape?: `${AvatarShape}`;\n\n /**\n * Allows control over the size of the image.\n *\n * @defaultvalue \"S\"\n * @public\n */\n @property({ type: AvatarSize, defaultValue: AvatarSize.S })\n imageSize!: `${AvatarSize}`;\n /**\n * Slot for list item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: Array<Node>;\n /**\n * Slot for first icon.\n *\n * @slot\n * @public\n */\n @slot({ type: UDExButton })\n firstIcon!: Array<UDExButton>;\n /**\n * Slot for second icon.\n *\n * @slot\n * @public\n */\n @slot({ type: UDExButton })\n secondIcon!: Array<UDExButton>;\n\n /**\n * Defines the role attribute of component\n *\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n @property({ type: String })\n _additionalClassName!: string;\n\n deactivate: () => void;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n\n this.deactivate = () => {\n if (this.active) {\n this.active = false;\n }\n };\n }\n\n static async onDefine(): Promise<void> {\n UDExListItem.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onEnterDOM() {\n document.addEventListener(\"mouseup\", this.deactivate);\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onExitDOM() {\n document.removeEventListener(\"mouseup\", this.deactivate);\n }\n\n handleMouseDown() {\n this.activate();\n }\n\n handleMouseUp() {\n this.deactivate();\n }\n\n handleKeyUp(e: KeyboardEvent) {\n e.preventDefault();\n if (isSpace(e) || isEnter(e)) {\n this.deactivate();\n }\n }\n\n handleKeyDown(e: KeyboardEvent) {\n if (isSpace(e)) {\n e.preventDefault();\n }\n if (isSpace(e) || isEnter(e)) {\n this.activate();\n this.handleItemClick(e);\n }\n }\n\n handleKeyDownIcon(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n handleItemClick(e: Event) {\n if (this.disabled) {\n return;\n }\n if (!this.indeterminate && !this.controlled) {\n this.selected = !this.selected;\n }\n this.fireItemPress(e);\n }\n\n handleFocusIn() {\n if (!this.disabled) {\n this.focused = true;\n this.fireEvent(\"item-focus\", {\n item: this,\n });\n }\n }\n\n handleFocusOut() {\n if (!this.disabled) {\n this.focused = false;\n this.deactivate();\n }\n }\n\n handleDeleteClick(e: Event) {\n if (!this.disabled) {\n e.stopPropagation();\n this.fireEvent(\"delete-press\", {\n item: this,\n });\n }\n }\n\n handleEditClick(e: Event) {\n if (!this.disabled) {\n e.stopPropagation();\n this.fireEvent(\"edit-press\", {\n item: this,\n });\n }\n }\n\n fireItemPress(e: Event) {\n if (isEnter(e as KeyboardEvent)) {\n e.preventDefault();\n }\n this.fireEvent(\"item-press\", {\n selected: this.selected,\n item: this,\n });\n }\n\n activate() {\n if (!this.disabled) {\n this.active = true;\n }\n }\n\n get className(): string {\n const isGroupChild = this?.parentElement as UDExListGroupHeaderBase;\n const controlledClassName = this.controlled ? `${listItemClass}_controlled` : \"\";\n const groupClassName = isGroupChild?.isGroup ? `${listItemClass}_group` : \"\";\n const largeSizeClassName = this.isLargeSize ? `${listItemClass}_large` : \"\";\n return `${listItemClass} ${groupClassName} ${this._additionalClassName} ${controlledClassName} ${largeSizeClassName}`.trim();\n }\n\n get roleItem(): string {\n return this.accessibleRole.length > 0 ? this.accessibleRole : listItemRole;\n }\n\n get _ariaDisabled(): boolean | undefined {\n return this.disabled ? true : undefined;\n }\n\n get modeSingleContent(): boolean {\n return this.mode === ListMode.SingleContent;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === ListMode.RadioGroup;\n }\n\n get modeSelected(): boolean {\n return [ListMode.SingleSelect, ListMode.MultiSelect, ListMode.RadioGroup].includes(this.mode as ListMode);\n }\n\n get isLargeSize(): boolean {\n return this.size === ListItemSize.Large;\n }\n\n get accessibleListItemName(): string {\n return this.accessibleName || this.label;\n }\n\n get stateAccessibleName(): string {\n if (this.indeterminate) {\n return UDExListItem.i18nBundle.getText(INDETERMINATE);\n }\n return `${this.selected ? UDExListItem.i18nBundle.getText(SELECTED) : UDExListItem.i18nBundle.getText(UNSELECTED)} `;\n }\n\n get editButtonAccessibleName(): string {\n return UDExListItem.i18nBundle.getText(EDIT_BUTTON);\n }\n\n get deleteButtonAccessibleName(): string {\n return UDExListItem.i18nBundle.getText(DELETE_BUTTON);\n }\n}\n\nUDExListItem.define();\n\nexport default UDExListItem;\n"]}
|
package/dist/MastheadItem.js
CHANGED
|
@@ -280,7 +280,7 @@ let UDExMastheadItem = UDExMastheadItem_1 = class UDExMastheadItem extends UI5El
|
|
|
280
280
|
return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem_1.i18nBundle.getText(PROFILE) : "");
|
|
281
281
|
}
|
|
282
282
|
get isMobile() {
|
|
283
|
-
return BreakpointUtils.
|
|
283
|
+
return BreakpointUtils.isAtMost("M") || this.mastheadShell?._isMobileMode;
|
|
284
284
|
}
|
|
285
285
|
get isTargetBlank() {
|
|
286
286
|
return this.target === Target._blank;
|
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 {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT,\n} 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\";\nimport { Target } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum DropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\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 type DropdownEventDetail = {\n title: string,\n action: DropdownItemAction,\n}\n\nexport const DropdownBaseEventDetail = {\n detail: {\n title: { type: String },\n action: { type: DropdownItemAction },\n },\n};\n\nexport const ItemBaseEvent = {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\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 \"@sapudex/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\", ItemBaseEvent)\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-closed\", DropdownBaseEventDetail)\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-opened\", DropdownBaseEventDetail)\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems!: string;\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle!: string;\n\n /**\n * Defines the text of item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\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 if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon!: string;\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: 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 })\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 _isEscPress!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadItem.i18nBundle = await getI18nBundle(\"@sapudex/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 this.handleOutsideClick();\n this._isEscPress = false;\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, DropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleFocusout(e: FocusEvent): void {\n if (e.relatedTarget === null || this._isEscPress) {\n return;\n }\n\n const eTarget = e.target as HTMLElement;\n if (!this.isMobile && eTarget.getAttribute(\"slot\") === \"dropdown\") {\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._isEscPress = true;\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, DropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: Event): void {\n this.fireItemClickEvent(e);\n this.handleSelectedChange();\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = DropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: DropdownItemAction): void {\n this.fireEvent<DropdownEventDetail>(\"dropdown-closed\", { title, action });\n }\n\n fireDropdownOpenEvent(title: string, action: DropdownItemAction): void {\n this.fireEvent<DropdownEventDetail>(\"dropdown-opened\", { title, action });\n }\n\n fireItemClickEvent(e: Event): void {\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 marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.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 this.fireDropdownCloseEvent(this.eventItemTitle, DropdownItemAction.Close);\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 || this.image) ? \"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 const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.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 isDropdownOpened(): 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 && !this.hideArrowIcon;\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 isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : \"\");\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isBelow(\"M\") || 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 get eventItemTitle(): string {\n if (this.accessibleName) {\n return this.accessibleName.trim();\n }\n\n if (this.isCartBtn) {\n return UDExMastheadItem.i18nBundle.getText(CART);\n }\n\n if (this.isProfileBtn) {\n return UDExMastheadItem.i18nBundle.getText(PROFILE);\n }\n\n if (this.isCountrySelectorBtn) {\n return UDExMastheadItem.i18nBundle.getText(COUNTRY_SELECTOR);\n }\n\n if (this.isSupportBtn) {\n return UDExMastheadItem.i18nBundle.getText(SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\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 {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT,\n} 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\";\nimport { Target } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum DropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\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 type DropdownEventDetail = {\n title: string,\n action: DropdownItemAction,\n}\n\nexport const DropdownBaseEventDetail = {\n detail: {\n title: { type: String },\n action: { type: DropdownItemAction },\n },\n};\n\nexport const ItemBaseEvent = {\n detail: {\n item: {\n type: HTMLElement,\n },\n originalEvent: {\n type: Event,\n },\n },\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 \"@sapudex/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\", ItemBaseEvent)\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-closed\", DropdownBaseEventDetail)\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"dropdown-opened\", DropdownBaseEventDetail)\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems!: string;\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle!: string;\n\n /**\n * Defines the text of item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\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 if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon!: string;\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: 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 })\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 _isEscPress!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadItem.i18nBundle = await getI18nBundle(\"@sapudex/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 this.handleOutsideClick();\n this._isEscPress = false;\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, DropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleFocusout(e: FocusEvent): void {\n if (e.relatedTarget === null || this._isEscPress) {\n return;\n }\n\n const eTarget = e.target as HTMLElement;\n if (!this.isMobile && eTarget.getAttribute(\"slot\") === \"dropdown\") {\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._isEscPress = true;\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, DropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: Event): void {\n this.fireItemClickEvent(e);\n this.handleSelectedChange();\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = DropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: DropdownItemAction): void {\n this.fireEvent<DropdownEventDetail>(\"dropdown-closed\", { title, action });\n }\n\n fireDropdownOpenEvent(title: string, action: DropdownItemAction): void {\n this.fireEvent<DropdownEventDetail>(\"dropdown-opened\", { title, action });\n }\n\n fireItemClickEvent(e: Event): void {\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 marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.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 this.fireDropdownCloseEvent(this.eventItemTitle, DropdownItemAction.Close);\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 || this.image) ? \"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 const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.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 isDropdownOpened(): 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 && !this.hideArrowIcon;\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 isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? UDExMastheadItem.i18nBundle.getText(PROFILE) : \"\");\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || 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 get eventItemTitle(): string {\n if (this.accessibleName) {\n return this.accessibleName.trim();\n }\n\n if (this.isCartBtn) {\n return UDExMastheadItem.i18nBundle.getText(CART);\n }\n\n if (this.isProfileBtn) {\n return UDExMastheadItem.i18nBundle.getText(PROFILE);\n }\n\n if (this.isCountrySelectorBtn) {\n return UDExMastheadItem.i18nBundle.getText(COUNTRY_SELECTOR);\n }\n\n if (this.isSupportBtn) {\n return UDExMastheadItem.i18nBundle.getText(SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\n"]}
|
package/dist/MastheadShell.d.ts
CHANGED
|
@@ -206,6 +206,7 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
206
206
|
static i18nBundle: I18nBundle;
|
|
207
207
|
static onDefine(): Promise<void>;
|
|
208
208
|
constructor();
|
|
209
|
+
onBeforeRendering(): void;
|
|
209
210
|
onAfterRendering(): void;
|
|
210
211
|
onEnterDOM(): void;
|
|
211
212
|
onExitDOM(): void;
|
|
@@ -249,6 +250,7 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
249
250
|
setOverflowBody(): void;
|
|
250
251
|
removeOverflowBody(): void;
|
|
251
252
|
setMobileMode(): void;
|
|
253
|
+
setMobileMenuHeight(): void;
|
|
252
254
|
removeMobileMode(): void;
|
|
253
255
|
/**
|
|
254
256
|
* Close the search panel.
|
|
@@ -290,8 +292,9 @@ declare class UDExMastheadShell extends UI5Element {
|
|
|
290
292
|
get hasCountrySelector(): boolean;
|
|
291
293
|
get hasSupport(): boolean;
|
|
292
294
|
get hasMobileMenuButtons(): boolean;
|
|
293
|
-
get
|
|
295
|
+
get isAtMostBreakpointSizeM(): boolean;
|
|
294
296
|
get isAtLeastBreakpointSizeM(): boolean;
|
|
297
|
+
get isMobileMenuMode(): boolean;
|
|
295
298
|
get isMainMenuVisible(): boolean;
|
|
296
299
|
get isSearchVisible(): boolean;
|
|
297
300
|
get shouldHandleMobileView(): boolean;
|
package/dist/MastheadShell.js
CHANGED
|
@@ -58,6 +58,11 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
58
58
|
super();
|
|
59
59
|
this._handleResizeBound = this._handleResize.bind(this);
|
|
60
60
|
}
|
|
61
|
+
onBeforeRendering() {
|
|
62
|
+
if (this.isMobileMenuMode) {
|
|
63
|
+
this.setMobileMenuHeight();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
61
66
|
onAfterRendering() {
|
|
62
67
|
this._rootHolder = this.mastheadHolder;
|
|
63
68
|
this._searchOpener = this.searchOpener;
|
|
@@ -79,7 +84,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
79
84
|
if (this.shouldHandleMobileView) {
|
|
80
85
|
this.handleMobileMode();
|
|
81
86
|
}
|
|
82
|
-
if (this.
|
|
87
|
+
if (this.isAtMostBreakpointSizeM) {
|
|
83
88
|
this._isSearchOpened = false;
|
|
84
89
|
}
|
|
85
90
|
if (this._shouldHandleResize && this._isMobileMenuOpen) {
|
|
@@ -87,6 +92,9 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
87
92
|
this.resetSelectedItems();
|
|
88
93
|
return;
|
|
89
94
|
}
|
|
95
|
+
if (this.isMobileMenuMode) {
|
|
96
|
+
this.setMobileMenuHeight();
|
|
97
|
+
}
|
|
90
98
|
this._shouldHandleResize = true;
|
|
91
99
|
}
|
|
92
100
|
handleMobileMode() {
|
|
@@ -331,6 +339,11 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
331
339
|
}
|
|
332
340
|
});
|
|
333
341
|
}
|
|
342
|
+
setMobileMenuHeight() {
|
|
343
|
+
const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue("--udex-masthead-shell-height"));
|
|
344
|
+
const mobileMenuHeight = `${window.innerHeight - mastheadHeight}px`;
|
|
345
|
+
this.style.setProperty("--udex-masthead-shell-mobile-menu-height", mobileMenuHeight);
|
|
346
|
+
}
|
|
334
347
|
removeMobileMode() {
|
|
335
348
|
this._isMobileMode = false;
|
|
336
349
|
this.slottedItems.forEach((item) => {
|
|
@@ -351,7 +364,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
351
364
|
*/
|
|
352
365
|
openSearch() {
|
|
353
366
|
const shouldPreventOpeningSearch = this._isSearchOpened
|
|
354
|
-
|| (this.
|
|
367
|
+
|| (this.isAtMostBreakpointSizeM && !this.showSearchByDefault)
|
|
355
368
|
|| this._isMobileMode
|
|
356
369
|
|| (this.isAtLeastBreakpointSizeM && this.showSearchByDefault);
|
|
357
370
|
if (shouldPreventOpeningSearch) {
|
|
@@ -369,7 +382,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
369
382
|
* @public
|
|
370
383
|
*/
|
|
371
384
|
openMobileMenu() {
|
|
372
|
-
if (!this._isMobileMenuOpen &&
|
|
385
|
+
if (!this._isMobileMenuOpen && this.isMobileMenuMode) {
|
|
373
386
|
this.mobileBtn?.handleSelectedChange();
|
|
374
387
|
this.handleOpenMobileMenu();
|
|
375
388
|
}
|
|
@@ -459,12 +472,15 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
459
472
|
get hasMobileMenuButtons() {
|
|
460
473
|
return !!this.mobileMenu.length;
|
|
461
474
|
}
|
|
462
|
-
get
|
|
475
|
+
get isAtMostBreakpointSizeM() {
|
|
463
476
|
return BreakpointUtils.isAtMost("M");
|
|
464
477
|
}
|
|
465
478
|
get isAtLeastBreakpointSizeM() {
|
|
466
479
|
return BreakpointUtils.isAtLeast("M");
|
|
467
480
|
}
|
|
481
|
+
get isMobileMenuMode() {
|
|
482
|
+
return this._isMobileMode || this.isAtMostBreakpointSizeM;
|
|
483
|
+
}
|
|
468
484
|
get isMainMenuVisible() {
|
|
469
485
|
return !this.showSearchByDefault && !this._isSearchOpened;
|
|
470
486
|
}
|
|
@@ -472,7 +488,7 @@ let UDExMastheadShell = UDExMastheadShell_1 = class UDExMastheadShell extends UI
|
|
|
472
488
|
return this.showSearchByDefault || this._isSearchOpened;
|
|
473
489
|
}
|
|
474
490
|
get shouldHandleMobileView() {
|
|
475
|
-
return !this.
|
|
491
|
+
return !this.isAtMostBreakpointSizeM && !this.showSearchByDefault;
|
|
476
492
|
}
|
|
477
493
|
get mainNavigationAriaLabel() {
|
|
478
494
|
return UDExMastheadShell_1.i18nBundle.getText(MAIN_LINKS);
|