@sapudex/web-components 0.225.0 → 0.226.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/MastheadItem.d.ts +1 -0
  2. package/dist/MastheadItem.js +15 -6
  3. package/dist/MastheadItem.js.map +1 -1
  4. package/dist/MastheadShell.d.ts +9 -1
  5. package/dist/MastheadShell.js +22 -1
  6. package/dist/MastheadShell.js.map +1 -1
  7. package/dist/SecondaryNavigation.d.ts +1 -1
  8. package/dist/SecondaryNavigation.js +8 -6
  9. package/dist/SecondaryNavigation.js.map +1 -1
  10. package/dist/SecondaryNavigationItem.d.ts +4 -3
  11. package/dist/SecondaryNavigationItem.js +15 -9
  12. package/dist/SecondaryNavigationItem.js.map +1 -1
  13. package/dist/SecondaryNavigationSubItem.d.ts +2 -2
  14. package/dist/SecondaryNavigationSubItem.js +5 -4
  15. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  16. package/dist/assets/{bundle.esm-062c2857.js → bundle.esm-740278cc.js} +183 -183
  17. package/dist/assets/messagebundle_en-f0b5e0d9.js +1 -0
  18. package/dist/css/themes/MastheadItem.css +1 -1
  19. package/dist/css/themes/RatingIndicator.css +1 -1
  20. package/dist/css/themes/Slider.css +1 -1
  21. package/dist/custom-elements-internal.json +23 -0
  22. package/dist/custom-elements.json +11 -0
  23. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  24. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  25. package/dist/generated/i18n/i18n-defaults.js +2 -1
  26. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  27. package/dist/generated/templates/MastheadShellTemplate.lit.js +5 -4
  28. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  29. package/dist/generated/themes/MastheadItem.css.js +1 -1
  30. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  31. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  32. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  33. package/dist/generated/themes/Slider.css.js +1 -1
  34. package/dist/generated/themes/Slider.css.js.map +1 -1
  35. package/dist/i18n/messagebundle.properties +3 -0
  36. package/dist/i18n/messagebundle_en.properties +1 -0
  37. package/dist/vscode.html-custom-data.json +1 -1
  38. package/dist/web-types.json +12 -3
  39. package/package.json +1 -1
  40. package/src/MastheadItem.ts +18 -6
  41. package/src/MastheadShell.hbs +8 -0
  42. package/src/MastheadShell.ts +30 -1
  43. package/src/SecondaryNavigation.ts +9 -6
  44. package/src/SecondaryNavigationItem.ts +17 -10
  45. package/src/SecondaryNavigationSubItem.ts +5 -4
  46. package/src/generated/i18n/i18n-defaults.ts +2 -2
  47. package/src/generated/templates/MastheadShellTemplate.lit.ts +5 -4
  48. package/src/generated/themes/MastheadItem.css.ts +1 -1
  49. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  50. package/src/generated/themes/Slider.css.ts +1 -1
  51. package/src/i18n/messagebundle.properties +3 -0
  52. package/src/i18n/messagebundle_en.properties +1 -0
  53. package/src/themes/MastheadItem.css +9 -3
  54. package/dist/assets/messagebundle_en-5423ac88.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigation.js","sourceRoot":"","sources":["../src/SecondaryNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } 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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isEscape, isLeft, isRight, isDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport UDExSecondaryNavigationItem from \"./SecondaryNavigationItem.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { MORE } from \"./generated/i18n/i18n-defaults.js\";\nimport SecondaryNavigationTemplate from \"./generated/templates/SecondaryNavigationTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n// Styles\nimport SecondaryNavigationCss from \"./generated/themes/SecondaryNavigation.css.js\";\n\nconst canvasContentFont: string = \"16px / 17.6px '72 Brand Variable'\";\nconst rootClass = \"udex-secondary-navigation__root\";\n\nexport type ItemClickDetail = {\n originalEvent: Event,\n clickedItem: NavItem;\n clickedIndex: number;\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-secondary-navigation</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigation.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation\",\n renderer: litRender,\n styles: SecondaryNavigationCss,\n template: SecondaryNavigationTemplate,\n dependencies: [UDExSecondaryNavigationItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event<ItemClickDetail>(\"item-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n clickedItem: {\n type: Object,\n },\n clickedIndex: {\n type: Integer,\n },\n },\n})\n\nclass UDExSecondaryNavigation extends UI5Element {\n /**\n * Defines an aria label for the mobile menu opener\n *\n * @public\n */\n @property({ type: String })\n mobileMenuOpenerAriaLabel!: string;\n\n /**\n * List of the nav items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n navItems!: string;\n\n /**\n * Slot for breadcrumbs.\n *\n * @slot breadcrumbs\n * @public\n */\n @slot({ type: HTMLElement })\n breadcrumbs!: Array<HTMLElement>;\n\n /**\n * Slot for action buttons.\n *\n * @slot buttons\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * Defines the title of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n title!: string;\n\n /**\n * Defines the href of the title.\n *\n * @default \"\"\n * @public\n */\n @property()\n titleHref!: string;\n /**\n * Defines the height of the dropdown opened on mobile screen.\n *\n * @public\n */\n @property({ type: String })\n maxDropdownHeight!: string;\n\n @property({ type: Boolean, noAttribute: true })\n _selectedMore!: boolean;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _overflowItems!: Array<NavItem>;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _visibleItems!: Array<NavItem>;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n @property({ type: Boolean, noAttribute: true })\n _mobileBtnExpanded = false;\n\n _navItems!: Array<NavItem>;\n _showMoreButton: boolean;\n _rootHolder!: HTMLElement | null | undefined;\n _clickedNavItem!: UDExSecondaryNavigationItem;\n _boundReflowItems: () => void;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigation.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._showMoreButton = true;\n this._boundReflowItems = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n\n ResizeHandler.register(this, this._boundReflowItems);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._boundReflowItems);\n }\n\n _handleResize() {\n this.reflowItems();\n if (this._clickedNavItem && this.isDesktopScreen) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"navItems\") {\n this.reflowItems();\n }\n }\n\n onAfterRendering(): void {\n this._rootHolder = this.rootHolder;\n this.handleOutsideClick();\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n reflowItems(): void {\n const availableWidth = this.rootHolder.offsetWidth - (this.heading?.offsetWidth || 0) - (this.optionalButtons?.offsetWidth || 0);\n const moreButtonWidth = this.getMoreButtonWidth();\n const itemsGap = 20;\n const widths = this.parsedItems.map(item => this.getItemWidth(item));\n const steps: Array<number> = [];\n\n widths?.forEach((itemWidth, index) => {\n steps.push((steps.at(-1) || 0) + itemWidth + (index && itemsGap));\n });\n\n if ((steps.at(-1) || 0) <= availableWidth) {\n this._visibleItems.splice(0, Infinity, ...this.parsedItems);\n this._showMoreButton = false;\n this.refreshRendering();\n return;\n }\n\n if (this.parsedItems) {\n // @ts-ignore\n const lastVisibleIndex: number = steps.findLastIndex((size: number) => size < (availableWidth - moreButtonWidth - itemsGap));\n this._visibleItems.splice(0, Infinity, ...this.parsedItems.slice(0, lastVisibleIndex + 1));\n this._overflowItems.splice(0, Infinity, ...this.parsedItems.slice(lastVisibleIndex + 1));\n this._showMoreButton = true;\n this.refreshRendering();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n const item = e.target as UDExSecondaryNavigationItem;\n\n if (isLeft(e)) {\n return this.focusPrevNavItem(e);\n }\n if (isRight(e)) {\n return this.focusNextNavItem(e);\n }\n if (isEscape(e) && item.hasNestedItems) {\n return item.closeDropdown();\n }\n if (isDown(e) && item.hasNestedItems) {\n item.openDropdown();\n }\n }\n\n focusPrevNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1;\n if (currentSelectedIndex > 0) {\n e.preventDefault();\n this.domNavItems[previousSelectIndex]?.focus();\n }\n }\n\n focusNextNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.domNavItems.length - 1;\n const nextSelectIndex = currentSelectedIndex + 1;\n if (nextSelectIndex < lastItemIndex) {\n e.preventDefault();\n this.domNavItems[nextSelectIndex].focus();\n }\n }\n\n getItemWidth(item: NavItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(item.title).width);\n }\n\n getMoreButtonWidth(): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(this.moreButtonText).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getCurrentIndex(item: UDExSecondaryNavigationItem): number {\n return this.domNavItems.indexOf(item);\n }\n\n handleItemClick(e: CustomEvent): void {\n const clickedItem = e.detail.item as UDExSecondaryNavigationItem;\n const {\n path, target, title, active, subItems, _id, mobileLinkTitle,\n } = clickedItem;\n\n const prevented = !this.fireEventItemClick(e, {\n path,\n target,\n title,\n active,\n mobileLinkTitle,\n items: subItems,\n });\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n this._clickedNavItem = clickedItem;\n this.closePrevDropdown(_id);\n\n if (!subItems.length) {\n this.setActiveItem(this.parsedItems, clickedItem);\n }\n }\n\n handleSubItemClick(e: CustomEvent): void {\n const item = e.detail.item as UDExSecondaryNavigationSubItem;\n const { items } = item as NavItem;\n const prevented = !this.fireEventItemClick(e, item);\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n if (this.isMobileScreen && !items) {\n this.mobileNav.closeDropdown();\n }\n\n if (!items) {\n this.setActiveItem(this.parsedItems, item);\n this._clickedNavItem?.closeDropdown();\n }\n }\n\n fireEventItemClick(\n e: CustomEvent,\n {\n items, target, path, title, active, mobileLinkTitle,\n }: NavItem,\n ): boolean {\n return this.fireEvent(\"item-click\", {\n originalEvent: e,\n clickedItem: {\n mobileLinkTitle: mobileLinkTitle || \"\",\n path: path || \"\",\n active: active || false,\n items: items || [],\n target,\n title,\n },\n clickedIndex: e.detail.index,\n }, true);\n }\n\n setActiveItem(navItems: Array<NavItem>, clickedItem: UDExSecondaryNavigationItemBase): void {\n const updateNav = (items: Array<NavItem>, { title, path }: UDExSecondaryNavigationItemBase) => {\n items.forEach(item => {\n if (item.title === title && (item.path === path || !item.path)) {\n item.active = true;\n return;\n }\n delete item.active;\n\n if (item.items) {\n updateNav(item.items, clickedItem);\n }\n });\n };\n\n updateNav(navItems, clickedItem);\n this.navItems = JSON.stringify(navItems);\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", this.outsideClickListener);\n }\n\n outsideClickListener = (e: Event): void => {\n if (this.isMobileScreen && e.target !== this) {\n this.closeMobileDropdown();\n return;\n }\n\n if (this.isDesktopScreen) {\n this.handleDesktopDropdown(e);\n }\n };\n\n closeMobileDropdown(): void {\n this.mobileNav?.closeDropdown();\n }\n\n handleDesktopDropdown(e: Event): void {\n const isClickedNavItem = e.composedPath().includes(this._clickedNavItem);\n if (!isClickedNavItem && this._clickedNavItem) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n closePrevDropdown(clickedItemId: string): void {\n this.domNavItems.forEach(item => {\n if (clickedItemId !== item._id) {\n item.closeDropdown();\n }\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>(\"[udex-secondary-navigation-item]\");\n return items ? Array.from(items) : [];\n }\n\n get rootHolder(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__root\") : undefined)!;\n }\n\n get heading(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__heading\") : undefined)!;\n }\n\n get mobileNav(): UDExSecondaryNavigationItem {\n return (this.shadowRoot ? this.shadowRoot.querySelector<UDExSecondaryNavigationItem>(\".udex-secondary-navigation__mobile-nav\") : undefined)!;\n }\n\n get optionalButtons(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector<HTMLElement>(\".udex-secondary-navigation__buttons\");\n }\n\n get moreButtonText(): string {\n return UDExSecondaryNavigation.i18nBundle.getText(MORE) as string;\n }\n\n get parsedItems(): Array<NavItem> {\n return this.parseArrayFromString<NavItem>(this.navItems);\n }\n\n get visibleItems(): Array<NavItem> {\n return this.isDesktopScreen ? this._visibleItems : this.parsedItems;\n }\n\n get hasBreadcrumbsSlot(): boolean {\n return !!this.getSlottedNodes(\"breadcrumbs\").length && this.isDesktopScreen;\n }\n\n get rootClass(): string {\n return `${rootClass} ${this.hasBreadcrumbsSlot ? \"\" : `${rootClass}_centered`}`.trim();\n }\n\n get hasDesktopButtonsSlot(): boolean {\n return this.hasButtons && this.isDesktopScreen;\n }\n\n get hasMobileButtonsSlot(): boolean {\n return this.hasButtons && this.isMobileScreen;\n }\n\n get hasButtons(): boolean {\n return !!this.getSlottedNodes(\"buttons\").length;\n }\n\n get isDesktopScreen(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMobileScreen(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n}\n\nUDExSecondaryNavigation.define();\n\nexport default UDExSecondaryNavigation;\n"]}
1
+ {"version":3,"file":"SecondaryNavigation.js","sourceRoot":"","sources":["../src/SecondaryNavigation.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAA0B,MAAM,4CAA4C,CAAC;AACpF,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,EACL,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,2BAA2B,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,2BAA2B,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,SAAS;AACT,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAEnF,MAAM,iBAAiB,GAAW,mCAAmC,CAAC;AACtE,MAAM,SAAS,GAAG,iCAAiC,CAAC;AAQpD;;;;;;;;;;;;;;;;GAgBG;AA6BH,IAAM,uBAAuB,+BAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAoF9C,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,yBAAuB,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtF,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAlBR,mBAAc,GAAG,KAAK,CAAC;QAGvB,uBAAkB,GAAG,KAAK,CAAC;QA8O7B,yBAAoB,GAAG,CAAC,CAAQ,EAAQ,EAAE;YACxC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC5C,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO;aACR;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC;QAvOA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,UAAU;QACR,IAAI,SAAS,EAAE,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SAClC;QAED,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE;YAChD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;SACtC;IACH,CAAC;IAED,cAAc,CAAC,UAAsB;QACnC,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;QACjI,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,MAAM,KAAK,GAAkB,EAAE,CAAC;QAEhC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,cAAc,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,aAAa;YACb,MAAM,gBAAgB,GAAW,KAAK,CAAC,aAAa,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC7H,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAED,aAAa,CAAC,CAAgB;QAC5B,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqC,CAAC;QAErD,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YACtC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;SAC7B;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqC,CAAC;QACrD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,CAAC,CAAC;QACrD,IAAI,oBAAoB,GAAG,CAAC,EAAE;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC;SAChD;IACH,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqC,CAAC;QACrD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,oBAAoB,GAAG,CAAC,CAAC;QACjD,IAAI,eAAe,GAAG,aAAa,EAAE;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;SAC3C;IACH,CAAC;IAED,YAAY,CAAC,IAAa;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB;QACd,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,IAAiC;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,CAAc;QAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QACjF,MAAM,WAAW,GAAG,UAAyC,CAAC;QAC9D,MAAM,EACJ,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAC5D,GAAG,WAAW,CAAC;QAEhB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,mBAA4B,EAAE,KAAe,EAAE;YACxF,IAAI;YACJ,MAAM;YACN,KAAK;YACL,MAAM;YACN,eAAe;YACf,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;SACR;QAED,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACnD;IACH,CAAC;IAED,kBAAkB,CAAC,CAAc;QAC/B,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAsC,CAAC;QAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAe,CAAC;QAClC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,mBAA4B,EAAE,KAAe,EAAE,IAAI,CAAC,CAAC;QAEhG,IAAI,SAAS,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;SAChC;QAED,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC;SACvC;IACH,CAAC;IAED,kBAAkB,CAChB,CAAQ,EACR,YAAoB,EACpB,EACE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,GAC3C;QAEV,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAClC,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE;gBACX,eAAe,EAAE,eAAe,IAAI,EAAE;gBACtC,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,MAAM,EAAE,MAAM,IAAI,KAAK;gBACvB,KAAK,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM;gBACN,KAAK;aACN;YACD,YAAY;SACb,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,aAAa,CAAC,QAAwB,EAAE,WAA4C;QAClF,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAmC,EAAE,EAAE;YAC5F,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,OAAO;iBACR;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC;gBAEnB,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;iBACpC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,kBAAkB;QAChB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAaD,mBAAmB;QACjB,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,CAAQ;QAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;SACtC;IACH,CAAC;IAED,iBAAiB,CAAC,aAAqB;QACrC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,aAAa,KAAK,IAAI,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,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,WAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAA8B,kCAAkC,CAAC,CAAC;QACjH,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAc,kCAAkC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC;IACzH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAc,qCAAqC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC;IAC5H,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAA8B,wCAAwC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAE,CAAC;IAC/I,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,qCAAqC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,yBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAW,CAAC;IACpE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,oBAAoB,CAAU,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IACtE,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC;IAC9E,CAAC;IAED,IAAI,SAAS;QACX,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC;IACjD,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC;IAChD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AA/YG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0EACU;AASnC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;yDAC3B;AASlB;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;4DACO;AASjC;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;wDACG;AAS7B;IADD,QAAQ,EAAE;sDACM;AASf;IADD,QAAQ,EAAE;0DACU;AAOnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kEACE;AAG3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8DACrB;AAGxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+DAC5B;AAGhC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8DAC7B;AAG/B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;+DACtB;AAGvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mEAClB;AA1EzB,uBAAuB;IA5B5B,aAAa,CAAC;QACb,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,sBAAsB;QAC9B,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,CAAC,2BAA2B,CAAC;KAC5C,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAkB,YAAY,EAAE;QACpC,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,IAAI,EAAE,KAAK;aACZ;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM;aACb;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;KACF,CAAC;GAEI,uBAAuB,CAsZ5B;AAED,uBAAuB,CAAC,MAAM,EAAE,CAAC;AAEjC,eAAe,uBAAuB,CAAC","sourcesContent":["import UI5Element, { ChangeInfo } 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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isEscape, isLeft, isRight, isDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport UDExSecondaryNavigationItem from \"./SecondaryNavigationItem.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { MORE } from \"./generated/i18n/i18n-defaults.js\";\nimport SecondaryNavigationTemplate from \"./generated/templates/SecondaryNavigationTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n// Styles\nimport SecondaryNavigationCss from \"./generated/themes/SecondaryNavigation.css.js\";\n\nconst canvasContentFont: string = \"16px / 17.6px '72 Brand Variable'\";\nconst rootClass = \"udex-secondary-navigation__root\";\n\nexport type ItemClickDetail = {\n originalEvent: Event,\n clickedItem: NavItem;\n clickedIndex: number;\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-secondary-navigation</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigation.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation\",\n renderer: litRender,\n styles: SecondaryNavigationCss,\n template: SecondaryNavigationTemplate,\n dependencies: [UDExSecondaryNavigationItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event<ItemClickDetail>(\"item-click\", {\n detail: {\n originalEvent: {\n type: Event,\n },\n clickedItem: {\n type: Object,\n },\n clickedIndex: {\n type: Integer,\n },\n },\n})\n\nclass UDExSecondaryNavigation extends UI5Element {\n /**\n * Defines an aria label for the mobile menu opener\n *\n * @public\n */\n @property({ type: String })\n mobileMenuOpenerAriaLabel!: string;\n\n /**\n * List of the nav items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String, defaultValue: \"[]\" })\n navItems!: string;\n\n /**\n * Slot for breadcrumbs.\n *\n * @slot breadcrumbs\n * @public\n */\n @slot({ type: HTMLElement })\n breadcrumbs!: Array<HTMLElement>;\n\n /**\n * Slot for action buttons.\n *\n * @slot buttons\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * Defines the title of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n title!: string;\n\n /**\n * Defines the href of the title.\n *\n * @default \"\"\n * @public\n */\n @property()\n titleHref!: string;\n /**\n * Defines the height of the dropdown opened on mobile screen.\n *\n * @public\n */\n @property({ type: String })\n maxDropdownHeight!: string;\n\n @property({ type: Boolean, noAttribute: true })\n _selectedMore!: boolean;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _overflowItems!: Array<NavItem>;\n\n @property({ type: Object, multiple: true, noAttribute: true })\n _visibleItems!: Array<NavItem>;\n\n @property({ type: Boolean, noAttribute: true })\n _requestRender = false;\n\n @property({ type: Boolean, noAttribute: true })\n _mobileBtnExpanded = false;\n\n _navItems!: Array<NavItem>;\n _showMoreButton: boolean;\n _rootHolder!: HTMLElement | null | undefined;\n _clickedNavItem!: UDExSecondaryNavigationItem;\n _boundReflowItems: () => void;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigation.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._showMoreButton = true;\n this._boundReflowItems = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n\n ResizeHandler.register(this, this._boundReflowItems);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._boundReflowItems);\n }\n\n _handleResize() {\n this.reflowItems();\n if (this._clickedNavItem && this.isDesktopScreen) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"navItems\") {\n this.reflowItems();\n }\n }\n\n onAfterRendering(): void {\n this._rootHolder = this.rootHolder;\n this.handleOutsideClick();\n }\n\n refreshRendering(): void {\n this._requestRender = !this._requestRender;\n }\n\n reflowItems(): void {\n const availableWidth = this.rootHolder.offsetWidth - (this.heading?.offsetWidth || 0) - (this.optionalButtons?.offsetWidth || 0);\n const moreButtonWidth = this.getMoreButtonWidth();\n const itemsGap = 20;\n const widths = this.parsedItems.map(item => this.getItemWidth(item));\n const steps: Array<number> = [];\n\n widths?.forEach((itemWidth, index) => {\n steps.push((steps.at(-1) || 0) + itemWidth + (index && itemsGap));\n });\n\n if ((steps.at(-1) || 0) <= availableWidth) {\n this._visibleItems.splice(0, Infinity, ...this.parsedItems);\n this._showMoreButton = false;\n this.refreshRendering();\n return;\n }\n\n if (this.parsedItems) {\n // @ts-ignore\n const lastVisibleIndex: number = steps.findLastIndex((size: number) => size < (availableWidth - moreButtonWidth - itemsGap));\n this._visibleItems.splice(0, Infinity, ...this.parsedItems.slice(0, lastVisibleIndex + 1));\n this._overflowItems.splice(0, Infinity, ...this.parsedItems.slice(lastVisibleIndex + 1));\n this._showMoreButton = true;\n this.refreshRendering();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n const item = e.target as UDExSecondaryNavigationItem;\n\n if (isLeft(e)) {\n return this.focusPrevNavItem(e);\n }\n if (isRight(e)) {\n return this.focusNextNavItem(e);\n }\n if (isEscape(e) && item.hasNestedItems) {\n return item.closeDropdown();\n }\n if (isDown(e) && item.hasNestedItems) {\n item.openDropdown(e);\n }\n }\n\n focusPrevNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1;\n if (currentSelectedIndex > 0) {\n e.preventDefault();\n this.domNavItems[previousSelectIndex]?.focus();\n }\n }\n\n focusNextNavItem(e: KeyboardEvent): void {\n const item = e.target as UDExSecondaryNavigationItem;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.domNavItems.length - 1;\n const nextSelectIndex = currentSelectedIndex + 1;\n if (nextSelectIndex < lastItemIndex) {\n e.preventDefault();\n this.domNavItems[nextSelectIndex].focus();\n }\n }\n\n getItemWidth(item: NavItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(item.title).width);\n }\n\n getMoreButtonWidth(): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n\n return Math.ceil(context.measureText(this.moreButtonText).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getCurrentIndex(item: UDExSecondaryNavigationItem): number {\n return this.domNavItems.indexOf(item);\n }\n\n handleItemClick(e: CustomEvent): void {\n const { index, item: detailItem, originalEvent: actualOriginalEvent } = e.detail;\n const clickedItem = detailItem as UDExSecondaryNavigationItem;\n const {\n path, target, title, active, subItems, _id, mobileLinkTitle,\n } = clickedItem;\n\n const prevented = !this.fireEventItemClick(actualOriginalEvent as Event, index as number, {\n path,\n target,\n title,\n active,\n mobileLinkTitle,\n items: subItems,\n });\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n this._clickedNavItem = clickedItem;\n this.closePrevDropdown(_id);\n\n if (!subItems.length) {\n this.setActiveItem(this.parsedItems, clickedItem);\n }\n }\n\n handleSubItemClick(e: CustomEvent): void {\n const { originalEvent: actualOriginalEvent, index } = e.detail;\n const item = e.detail.item as UDExSecondaryNavigationSubItem;\n const { items } = item as NavItem;\n const prevented = !this.fireEventItemClick(actualOriginalEvent as Event, index as number, item);\n\n if (prevented) {\n e.preventDefault();\n return;\n }\n\n if (this.isMobileScreen && !items) {\n this.mobileNav.closeDropdown();\n }\n\n if (!items) {\n this.setActiveItem(this.parsedItems, item);\n this._clickedNavItem?.closeDropdown();\n }\n }\n\n fireEventItemClick(\n e: Event,\n clickedIndex: number,\n {\n items, target, path, title, active, mobileLinkTitle,\n }: NavItem,\n ): boolean {\n return this.fireEvent(\"item-click\", {\n originalEvent: e,\n clickedItem: {\n mobileLinkTitle: mobileLinkTitle || \"\",\n path: path || \"\",\n active: active || false,\n items: items || [],\n target,\n title,\n },\n clickedIndex,\n }, true);\n }\n\n setActiveItem(navItems: Array<NavItem>, clickedItem: UDExSecondaryNavigationItemBase): void {\n const updateNav = (items: Array<NavItem>, { title, path }: UDExSecondaryNavigationItemBase) => {\n items.forEach(item => {\n if (item.title === title && (item.path === path || !item.path)) {\n item.active = true;\n return;\n }\n delete item.active;\n\n if (item.items) {\n updateNav(item.items, clickedItem);\n }\n });\n };\n\n updateNav(navItems, clickedItem);\n this.navItems = JSON.stringify(navItems);\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"mousedown\", this.outsideClickListener);\n }\n\n outsideClickListener = (e: Event): void => {\n if (this.isMobileScreen && e.target !== this) {\n this.closeMobileDropdown();\n return;\n }\n\n if (this.isDesktopScreen) {\n this.handleDesktopDropdown(e);\n }\n };\n\n closeMobileDropdown(): void {\n this.mobileNav?.closeDropdown();\n }\n\n handleDesktopDropdown(e: Event): void {\n const isClickedNavItem = e.composedPath().includes(this._clickedNavItem);\n if (!isClickedNavItem && this._clickedNavItem) {\n this._clickedNavItem.closeDropdown();\n }\n }\n\n closePrevDropdown(clickedItemId: string): void {\n this.domNavItems.forEach(item => {\n if (clickedItemId !== item._id) {\n item.closeDropdown();\n }\n });\n }\n\n parseArrayFromString<T>(string: string): T[] {\n return string ? JSON.parse(string) as T[] : [];\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationItem> {\n const items = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationItem>(\"[udex-secondary-navigation-item]\");\n return items ? Array.from(items) : [];\n }\n\n get rootHolder(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__root\") : undefined)!;\n }\n\n get heading(): HTMLElement {\n return (this.shadowRoot ? this.shadowRoot.querySelector<HTMLElement>(\".udex-secondary-navigation__heading\") : undefined)!;\n }\n\n get mobileNav(): UDExSecondaryNavigationItem {\n return (this.shadowRoot ? this.shadowRoot.querySelector<UDExSecondaryNavigationItem>(\".udex-secondary-navigation__mobile-nav\") : undefined)!;\n }\n\n get optionalButtons(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector<HTMLElement>(\".udex-secondary-navigation__buttons\");\n }\n\n get moreButtonText(): string {\n return UDExSecondaryNavigation.i18nBundle.getText(MORE) as string;\n }\n\n get parsedItems(): Array<NavItem> {\n return this.parseArrayFromString<NavItem>(this.navItems);\n }\n\n get visibleItems(): Array<NavItem> {\n return this.isDesktopScreen ? this._visibleItems : this.parsedItems;\n }\n\n get hasBreadcrumbsSlot(): boolean {\n return !!this.getSlottedNodes(\"breadcrumbs\").length && this.isDesktopScreen;\n }\n\n get rootClass(): string {\n return `${rootClass} ${this.hasBreadcrumbsSlot ? \"\" : `${rootClass}_centered`}`.trim();\n }\n\n get hasDesktopButtonsSlot(): boolean {\n return this.hasButtons && this.isDesktopScreen;\n }\n\n get hasMobileButtonsSlot(): boolean {\n return this.hasButtons && this.isMobileScreen;\n }\n\n get hasButtons(): boolean {\n return !!this.getSlottedNodes(\"buttons\").length;\n }\n\n get isDesktopScreen(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMobileScreen(): boolean {\n return BreakpointUtils.isAtMost(\"S\");\n }\n}\n\nUDExSecondaryNavigation.define();\n\nexport default UDExSecondaryNavigation;\n"]}
@@ -79,9 +79,9 @@ declare class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBas
79
79
  _subTitle: string | undefined;
80
80
  onAfterRendering(): void;
81
81
  onBeforeRendering(): void;
82
- onSubItemClick(e: Event): void;
82
+ onSubItemClick(e: CustomEvent | KeyboardEvent): void;
83
83
  onBackClick(): void;
84
- openDropdown(): void;
84
+ openDropdown(e: PointerEvent | KeyboardEvent): void;
85
85
  closeDropdown(): void;
86
86
  handleItemLinkKeyDown(e: KeyboardEvent): void;
87
87
  handleItemEnterOrSpaceKeys(e: KeyboardEvent): void;
@@ -93,7 +93,8 @@ declare class UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBas
93
93
  handleRightArrow(e: KeyboardEvent): void;
94
94
  handleEnterAndSpace(e: KeyboardEvent): void;
95
95
  handleEscapeKey(): void;
96
- fireNavItemClickEvent(): void;
96
+ fireNavItemClickEvent(e: PointerEvent | KeyboardEvent): void;
97
+ fireSubItemClickEvent(e: PointerEvent, clickedItem: NavItem, index: number): void;
97
98
  setDropdownHistory(): void;
98
99
  setPrevNestedItems(): void;
99
100
  setNestedItems({ title, items, mobileLinkTitle }: NavItem): void;
@@ -67,6 +67,7 @@ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDEx
67
67
  this._subTitle = this.subActiveItemTitle || this._subTitle;
68
68
  }
69
69
  onSubItemClick(e) {
70
+ const { originalEvent } = e.detail;
70
71
  const { index } = e.target;
71
72
  const clickedItem = this._processedItems[index];
72
73
  if (clickedItem.items) {
@@ -74,28 +75,25 @@ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDEx
74
75
  this.setNestedItems(clickedItem);
75
76
  this.onShouldFocusFirstSubItem();
76
77
  }
77
- this.fireEvent("sub-item-click", {
78
- item: clickedItem,
79
- index,
80
- });
78
+ this.fireSubItemClickEvent(originalEvent, clickedItem, index);
81
79
  }
82
80
  onBackClick() {
83
81
  this.setPrevNestedItems();
84
82
  }
85
- openDropdown() {
83
+ openDropdown(e) {
86
84
  if (this.hasNestedItems) {
87
85
  this.setDropdownItems();
88
86
  this.isOpen = !this.isOpen;
89
87
  this.onShouldFocusFirstSubItem();
90
88
  }
91
- this.fireNavItemClickEvent();
89
+ this.fireNavItemClickEvent(e);
92
90
  }
93
91
  closeDropdown() {
94
92
  this.isOpen = false;
95
93
  }
96
94
  handleItemLinkKeyDown(e) {
97
95
  if (isEnter(e) || isSpace(e)) {
98
- this.openDropdown();
96
+ this.fireNavItemClickEvent(e);
99
97
  }
100
98
  }
101
99
  handleItemEnterOrSpaceKeys(e) {
@@ -199,11 +197,19 @@ let UDExSecondaryNavigationItem = class UDExSecondaryNavigationItem extends UDEx
199
197
  this.closeDropdown();
200
198
  this.focus();
201
199
  }
202
- fireNavItemClickEvent() {
200
+ fireNavItemClickEvent(e) {
203
201
  this.fireEvent("nav-item-click", {
204
202
  item: this,
205
203
  index: this.index,
206
- });
204
+ originalEvent: e,
205
+ }, true);
206
+ }
207
+ fireSubItemClickEvent(e, clickedItem, index) {
208
+ this.fireEvent("sub-item-click", {
209
+ item: clickedItem,
210
+ index,
211
+ originalEvent: e,
212
+ }, true);
207
213
  }
208
214
  setDropdownHistory() {
209
215
  this._dropdownHistory.push(this._processedItems);
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigationItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationItem.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 UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isLeft,\n isRight,\n isUp,\n isDown,\n isEscape,\n isSpace,\n isEnter,\n isHome,\n isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport parseRelativeUnits, { RelativeValue } from \"./utils/parseRelativeUnits.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport SecondaryNavigationItemTemplate from \"./generated/templates/SecondaryNavigationItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationItemCss from \"./generated/themes/SecondaryNavigationItem.css.js\";\n\nexport const menuItemRole: string = \"menuitem\";\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-secondary-navigation-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-item\n * @private\n */\n@customElement({\n tag: \"udex-secondary-navigation-item\",\n renderer: litRender,\n styles: [SecondaryNavigationItemCss, getEffectiveScrollbarStyle()],\n template: SecondaryNavigationItemTemplate,\n dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"nav-item-click\", {\n detail: {\n item: { type: HTMLElement },\n index: { type: Integer },\n },\n})\n\n/**\n * Fires when dropdown item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: Object },\n index: { type: Integer },\n },\n})\n\nclass UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n ariaLabel!: string;\n\n /**\n * Defines a role for item\n *\n * @public\n */\n @property({ type: String })\n role!: string;\n\n /**\n * Defines the content of the item.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * List of the sub items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n subItems!: Array<NavItem>;\n\n /**\n * Defines if dropdown is opened.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isOpen!: boolean;\n\n /**\n * Defines the length of items in the secondary navigation.\n *\n * @private\n */\n @property({ validator: Integer })\n _navItemsLength!: number;\n\n /**\n * Defines the height of the dropdown opened on mobile screen.\n *\n * @private\n */\n @property({ type: String })\n _maxHeight!: RelativeValue;\n\n /**\n * Defines processed items.\n *\n * @private\n * @default []\n */\n @property({ type: Object })\n _processedItems: Array<NavItem> = [];\n\n _dropdownHistory: Array<Array<NavItem>> = [];\n _shouldFocusFirstSubItem!: boolean;\n _subTitle!: string | undefined;\n\n onAfterRendering(): void {\n if (this.isLastItem && this.isOpen && !this._isMobileView) {\n this.setDropdownHorizontalAlign();\n }\n\n if (this._shouldFocusFirstSubItem && this.isOpen) {\n this.onFirstSubItemFocus();\n this._shouldFocusFirstSubItem = false;\n }\n\n if (this._isMobileView && this.isOpen) {\n this.setDropdownHeight();\n }\n }\n\n onBeforeRendering() : void {\n this._subTitle = this.subActiveItemTitle || this._subTitle;\n }\n\n onSubItemClick(e: Event): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const clickedItem = this._processedItems[index];\n\n if (clickedItem.items) {\n this.setDropdownHistory();\n this.setNestedItems(clickedItem);\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireEvent(\"sub-item-click\", {\n item: clickedItem,\n index,\n });\n }\n\n onBackClick(): void {\n this.setPrevNestedItems();\n }\n\n openDropdown(): void {\n if (this.hasNestedItems) {\n this.setDropdownItems();\n this.isOpen = !this.isOpen;\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireNavItemClickEvent();\n }\n\n closeDropdown(): void {\n this.isOpen = false;\n }\n\n handleItemLinkKeyDown(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.openDropdown();\n }\n }\n\n handleItemEnterOrSpaceKeys(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleSubItemKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isEscape(e)) {\n this.handleEscapeKey();\n }\n if (isLeft(e)) {\n this.handleLeftArrow(e);\n }\n if (isRight(e)) {\n this.handleRightArrow(e);\n }\n if (isUp(e)) {\n e.preventDefault();\n this.handleUpArrow(e);\n }\n if (isDown(e)) {\n e.preventDefault();\n this.handleDownArrow(e);\n }\n if (isHome(e)) {\n e.preventDefault();\n this.onFirstSubItemFocus();\n }\n if (isEnd(e)) {\n e.preventDefault();\n this.onLastSubItemFocus();\n }\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n this.handleEnterAndSpace(e);\n }\n if (isTabPrevious(e) && this._isMobileView) {\n this.closeDropdown();\n }\n if ((isTabPrevious(e) || isTabNext(e)) && !this._isMobileView) {\n this.closeDropdown();\n }\n }\n\n handleButtonsEscKey(e: KeyboardEvent): void {\n if (isEscape(e) && this._isMobileView) {\n this.handleEscapeKey();\n }\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const lastIndex = this.domNavItems.length - 1;\n const previousSelectIndex = index - 1 < 0 ? lastIndex : index - 1;\n const previousItem = this.domNavItems[previousSelectIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(previousItem);\n previousItem.focus();\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const nextIndex = index + 1 > this.domNavItems.length - 1 ? 0 : index + 1;\n const nextItem = this.domNavItems[nextIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(nextItem);\n nextItem.focus();\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n const { isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.setPrevNestedItems();\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n const { hasItems, isBack, index } = e.target as UDExSecondaryNavigationSubItem;\n if (hasItems && !isBack) {\n this.onSubItemClick(e);\n this.unsetTabIndex(this.domNavItems[index]);\n }\n }\n\n handleEnterAndSpace(e: KeyboardEvent): void {\n const { hasItems, isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.onBackClick();\n this.onShouldFocusFirstSubItem();\n return;\n }\n\n this.onSubItemClick(e);\n\n if (hasItems) {\n this.onShouldFocusFirstSubItem();\n } else {\n this.closeDropdown();\n this.focus();\n }\n }\n\n handleEscapeKey(): void {\n this.closeDropdown();\n this.focus();\n }\n\n fireNavItemClickEvent(): void {\n this.fireEvent(\"nav-item-click\", {\n item: this,\n index: this.index,\n });\n }\n\n setDropdownHistory(): void {\n this._dropdownHistory.push(this._processedItems);\n }\n\n setPrevNestedItems(): void {\n this._processedItems = this._dropdownHistory.pop()!;\n }\n\n setNestedItems({ title, items, mobileLinkTitle } : NavItem): void {\n if (items) {\n this._processedItems = [{ title, mobileLinkTitle, isBack: true }, ...items];\n }\n }\n\n setDropdownItems(): void {\n this._processedItems = this.subItems;\n }\n\n setDropdownHeight(): void {\n if (!this._maxHeight || this._dropdownMaxHeightExceeds || !this.heightSatisfiesType) {\n const secondaryNavigationMobileTrigger = this.shadowRoot!.querySelector(\".udex-secondary-navigation__item\")!;\n const maxDropdownHeight = window.innerHeight - secondaryNavigationMobileTrigger.clientHeight;\n this.style.setProperty(\"--udex-secondary-navigation-item-dropdown-max-height\", `${maxDropdownHeight}px`);\n return;\n }\n\n this.style.setProperty(\"--udex-secondary-navigation-item-dropdown-max-height\", `${this._maxHeight}`);\n }\n\n get _dropdownMaxHeightExceeds(): boolean {\n const normalizedHeight = parseRelativeUnits(this._maxHeight, this.dropdown);\n const secondaryNavigationMobileTriggerHeight = this.shadowRoot!.querySelector(\".udex-secondary-navigation__item\")!.clientHeight;\n return normalizedHeight >= window.innerHeight - secondaryNavigationMobileTriggerHeight;\n }\n\n get heightSatisfiesType(): boolean {\n return /vh|vw|%|em|rem|px/.test(this._maxHeight);\n }\n\n setDropdownHorizontalAlign(): void {\n const { right, left } = this.dropdown.getBoundingClientRect();\n\n if (right > window.innerWidth) {\n this.dropdown.setAttribute(\"data-horizontal-align\", \"right\");\n }\n\n if (left < 0) {\n this.dropdown.setAttribute(\"data-horizontal-align\", \"left\");\n }\n }\n\n setTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"0\";\n }\n\n unsetTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"-1\";\n }\n\n onFirstSubItemFocus(): void {\n const firstSubItem = this.domNavItems[0];\n\n firstSubItem.focus();\n this.setTabIndex(firstSubItem);\n }\n\n onLastSubItemFocus(): void {\n this.domNavItems[this.domNavItems.length - 1].focus();\n }\n\n onShouldFocusFirstSubItem(): void {\n this._shouldFocusFirstSubItem = true;\n }\n\n get dropdown(): HTMLElement {\n return this.shadowRoot!.querySelector<HTMLElement>(\".udex-secondary-navigation__dropdown\")!;\n }\n\n get isLastItem(): boolean {\n return this._navItemsLength === this.index;\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationSubItem> {\n const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>(\"[udex-secondary-navigation-sub-item]\");\n return domNavItems ? Array.from(domNavItems) : [];\n }\n\n get hasNestedItems(): boolean {\n return this.subItems.length > 0;\n }\n\n get isSubItemActive(): boolean {\n return !!this.subActiveItem?.active;\n }\n\n get isActive(): boolean {\n return this.isSubItemActive || this.active;\n }\n\n get subActiveItemTitle(): string | undefined {\n if (this.subActiveItem) {\n const { title, mobileLinkTitle } = this.subActiveItem;\n return this._isMobileView ? (mobileLinkTitle || title) : title;\n }\n }\n\n get subActiveItem(): NavItem | undefined {\n return this.getActiveSubItem(this.subItems);\n }\n\n get isLink(): boolean {\n return !this.hasNestedItems && !!this.path;\n }\n\n get itemRole(): string {\n return this.role ? this.role : this.menuItemRole;\n }\n\n get menuItemRole(): string {\n return menuItemRole;\n }\n\n get title(): string {\n return this.label;\n }\n}\n\nUDExSecondaryNavigationItem.define();\n\nexport default UDExSecondaryNavigationItem;\n"]}
1
+ {"version":3,"file":"SecondaryNavigationItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationItem.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 UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport {\n isLeft,\n isRight,\n isUp,\n isDown,\n isEscape,\n isSpace,\n isEnter,\n isHome,\n isEnd, isTabNext, isTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport parseRelativeUnits, { RelativeValue } from \"./utils/parseRelativeUnits.js\";\nimport UDExSecondaryNavigationSubItem from \"./SecondaryNavigationSubItem.js\";\nimport UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport SecondaryNavigationItemTemplate from \"./generated/templates/SecondaryNavigationItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationItemCss from \"./generated/themes/SecondaryNavigationItem.css.js\";\n\nexport const menuItemRole: string = \"menuitem\";\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-secondary-navigation-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-item\n * @private\n */\n@customElement({\n tag: \"udex-secondary-navigation-item\",\n renderer: litRender,\n styles: [SecondaryNavigationItemCss, getEffectiveScrollbarStyle()],\n template: SecondaryNavigationItemTemplate,\n dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"nav-item-click\", {\n detail: {\n item: { type: HTMLElement },\n index: { type: Integer },\n },\n})\n\n/**\n * Fires when dropdown item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: Object },\n index: { type: Integer },\n },\n})\n\nclass UDExSecondaryNavigationItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines an aria label for item\n *\n * @public\n */\n @property({ type: String })\n ariaLabel!: string;\n\n /**\n * Defines a role for item\n *\n * @public\n */\n @property({ type: String })\n role!: string;\n\n /**\n * Defines the content of the item.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement })\n buttons!: Array<HTMLElement>;\n\n /**\n * List of the sub items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n subItems!: Array<NavItem>;\n\n /**\n * Defines if dropdown is opened.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isOpen!: boolean;\n\n /**\n * Defines the length of items in the secondary navigation.\n *\n * @private\n */\n @property({ validator: Integer })\n _navItemsLength!: number;\n\n /**\n * Defines the height of the dropdown opened on mobile screen.\n *\n * @private\n */\n @property({ type: String })\n _maxHeight!: RelativeValue;\n\n /**\n * Defines processed items.\n *\n * @private\n * @default []\n */\n @property({ type: Object })\n _processedItems: Array<NavItem> = [];\n\n _dropdownHistory: Array<Array<NavItem>> = [];\n _shouldFocusFirstSubItem!: boolean;\n _subTitle!: string | undefined;\n\n onAfterRendering(): void {\n if (this.isLastItem && this.isOpen && !this._isMobileView) {\n this.setDropdownHorizontalAlign();\n }\n\n if (this._shouldFocusFirstSubItem && this.isOpen) {\n this.onFirstSubItemFocus();\n this._shouldFocusFirstSubItem = false;\n }\n\n if (this._isMobileView && this.isOpen) {\n this.setDropdownHeight();\n }\n }\n\n onBeforeRendering() : void {\n this._subTitle = this.subActiveItemTitle || this._subTitle;\n }\n\n onSubItemClick(e: CustomEvent | KeyboardEvent): void {\n const { originalEvent } = e.detail;\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const clickedItem = this._processedItems[index];\n\n if (clickedItem.items) {\n this.setDropdownHistory();\n this.setNestedItems(clickedItem);\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireSubItemClickEvent(originalEvent as PointerEvent, clickedItem, index);\n }\n\n onBackClick(): void {\n this.setPrevNestedItems();\n }\n\n openDropdown(e: PointerEvent | KeyboardEvent): void {\n if (this.hasNestedItems) {\n this.setDropdownItems();\n this.isOpen = !this.isOpen;\n this.onShouldFocusFirstSubItem();\n }\n\n this.fireNavItemClickEvent(e);\n }\n\n closeDropdown(): void {\n this.isOpen = false;\n }\n\n handleItemLinkKeyDown(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.fireNavItemClickEvent(e);\n }\n }\n\n handleItemEnterOrSpaceKeys(e: KeyboardEvent): void {\n if (isEnter(e) || isSpace(e)) {\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleSubItemKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n if (isEscape(e)) {\n this.handleEscapeKey();\n }\n if (isLeft(e)) {\n this.handleLeftArrow(e);\n }\n if (isRight(e)) {\n this.handleRightArrow(e);\n }\n if (isUp(e)) {\n e.preventDefault();\n this.handleUpArrow(e);\n }\n if (isDown(e)) {\n e.preventDefault();\n this.handleDownArrow(e);\n }\n if (isHome(e)) {\n e.preventDefault();\n this.onFirstSubItemFocus();\n }\n if (isEnd(e)) {\n e.preventDefault();\n this.onLastSubItemFocus();\n }\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n this.handleEnterAndSpace(e);\n }\n if (isTabPrevious(e) && this._isMobileView) {\n this.closeDropdown();\n }\n if ((isTabPrevious(e) || isTabNext(e)) && !this._isMobileView) {\n this.closeDropdown();\n }\n }\n\n handleButtonsEscKey(e: KeyboardEvent): void {\n if (isEscape(e) && this._isMobileView) {\n this.handleEscapeKey();\n }\n }\n\n handleUpArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const lastIndex = this.domNavItems.length - 1;\n const previousSelectIndex = index - 1 < 0 ? lastIndex : index - 1;\n const previousItem = this.domNavItems[previousSelectIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(previousItem);\n previousItem.focus();\n }\n\n handleDownArrow(e: KeyboardEvent): void {\n const { index } = e.target as UDExSecondaryNavigationSubItem;\n const nextIndex = index + 1 > this.domNavItems.length - 1 ? 0 : index + 1;\n const nextItem = this.domNavItems[nextIndex];\n const currentItem = this.domNavItems[index];\n\n this.unsetTabIndex(currentItem);\n this.setTabIndex(nextItem);\n nextItem.focus();\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n const { isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.setPrevNestedItems();\n this.onShouldFocusFirstSubItem();\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n const { hasItems, isBack, index } = e.target as UDExSecondaryNavigationSubItem;\n if (hasItems && !isBack) {\n this.onSubItemClick(e);\n this.unsetTabIndex(this.domNavItems[index]);\n }\n }\n\n handleEnterAndSpace(e: KeyboardEvent): void {\n const { hasItems, isBack } = e.target as UDExSecondaryNavigationSubItem;\n if (isBack) {\n this.onBackClick();\n this.onShouldFocusFirstSubItem();\n return;\n }\n\n this.onSubItemClick(e);\n\n if (hasItems) {\n this.onShouldFocusFirstSubItem();\n } else {\n this.closeDropdown();\n this.focus();\n }\n }\n\n handleEscapeKey(): void {\n this.closeDropdown();\n this.focus();\n }\n\n fireNavItemClickEvent(e: PointerEvent | KeyboardEvent): void {\n this.fireEvent(\"nav-item-click\", {\n item: this,\n index: this.index,\n originalEvent: e,\n }, true);\n }\n\n fireSubItemClickEvent(e: PointerEvent, clickedItem: NavItem, index: number): void {\n this.fireEvent(\"sub-item-click\", {\n item: clickedItem,\n index,\n originalEvent: e,\n }, true);\n }\n\n setDropdownHistory(): void {\n this._dropdownHistory.push(this._processedItems);\n }\n\n setPrevNestedItems(): void {\n this._processedItems = this._dropdownHistory.pop()!;\n }\n\n setNestedItems({ title, items, mobileLinkTitle } : NavItem): void {\n if (items) {\n this._processedItems = [{ title, mobileLinkTitle, isBack: true }, ...items];\n }\n }\n\n setDropdownItems(): void {\n this._processedItems = this.subItems;\n }\n\n setDropdownHeight(): void {\n if (!this._maxHeight || this._dropdownMaxHeightExceeds || !this.heightSatisfiesType) {\n const secondaryNavigationMobileTrigger = this.shadowRoot!.querySelector(\".udex-secondary-navigation__item\")!;\n const maxDropdownHeight = window.innerHeight - secondaryNavigationMobileTrigger.clientHeight;\n this.style.setProperty(\"--udex-secondary-navigation-item-dropdown-max-height\", `${maxDropdownHeight}px`);\n return;\n }\n\n this.style.setProperty(\"--udex-secondary-navigation-item-dropdown-max-height\", `${this._maxHeight}`);\n }\n\n get _dropdownMaxHeightExceeds(): boolean {\n const normalizedHeight = parseRelativeUnits(this._maxHeight, this.dropdown);\n const secondaryNavigationMobileTriggerHeight = this.shadowRoot!.querySelector(\".udex-secondary-navigation__item\")!.clientHeight;\n return normalizedHeight >= window.innerHeight - secondaryNavigationMobileTriggerHeight;\n }\n\n get heightSatisfiesType(): boolean {\n return /vh|vw|%|em|rem|px/.test(this._maxHeight);\n }\n\n setDropdownHorizontalAlign(): void {\n const { right, left } = this.dropdown.getBoundingClientRect();\n\n if (right > window.innerWidth) {\n this.dropdown.setAttribute(\"data-horizontal-align\", \"right\");\n }\n\n if (left < 0) {\n this.dropdown.setAttribute(\"data-horizontal-align\", \"left\");\n }\n }\n\n setTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"0\";\n }\n\n unsetTabIndex(item: UDExSecondaryNavigationSubItem): void {\n item._tabIndex = \"-1\";\n }\n\n onFirstSubItemFocus(): void {\n const firstSubItem = this.domNavItems[0];\n\n firstSubItem.focus();\n this.setTabIndex(firstSubItem);\n }\n\n onLastSubItemFocus(): void {\n this.domNavItems[this.domNavItems.length - 1].focus();\n }\n\n onShouldFocusFirstSubItem(): void {\n this._shouldFocusFirstSubItem = true;\n }\n\n get dropdown(): HTMLElement {\n return this.shadowRoot!.querySelector<HTMLElement>(\".udex-secondary-navigation__dropdown\")!;\n }\n\n get isLastItem(): boolean {\n return this._navItemsLength === this.index;\n }\n\n get domNavItems(): Array<UDExSecondaryNavigationSubItem> {\n const domNavItems = this.shadowRoot?.querySelectorAll<UDExSecondaryNavigationSubItem>(\"[udex-secondary-navigation-sub-item]\");\n return domNavItems ? Array.from(domNavItems) : [];\n }\n\n get hasNestedItems(): boolean {\n return this.subItems.length > 0;\n }\n\n get isSubItemActive(): boolean {\n return !!this.subActiveItem?.active;\n }\n\n get isActive(): boolean {\n return this.isSubItemActive || this.active;\n }\n\n get subActiveItemTitle(): string | undefined {\n if (this.subActiveItem) {\n const { title, mobileLinkTitle } = this.subActiveItem;\n return this._isMobileView ? (mobileLinkTitle || title) : title;\n }\n }\n\n get subActiveItem(): NavItem | undefined {\n return this.getActiveSubItem(this.subItems);\n }\n\n get isLink(): boolean {\n return !this.hasNestedItems && !!this.path;\n }\n\n get itemRole(): string {\n return this.role ? this.role : this.menuItemRole;\n }\n\n get menuItemRole(): string {\n return menuItemRole;\n }\n\n get title(): string {\n return this.label;\n }\n}\n\nUDExSecondaryNavigationItem.define();\n\nexport default UDExSecondaryNavigationItem;\n"]}
@@ -37,8 +37,8 @@ declare class UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItem
37
37
  _tabIndex: string;
38
38
  static i18nBundle: any;
39
39
  static onDefine(): Promise<void>;
40
- onItemClick(): void;
41
- onBackItemClick(): void;
40
+ onItemClick(e: PointerEvent): void;
41
+ onBackItemClick(e: PointerEvent): void;
42
42
  get hasItems(): boolean;
43
43
  get isButton(): boolean;
44
44
  get isSubItemActive(): boolean;
@@ -40,13 +40,14 @@ let UDExSecondaryNavigationSubItem = UDExSecondaryNavigationSubItem_1 = class UD
40
40
  static async onDefine() {
41
41
  UDExSecondaryNavigationSubItem_1.i18nBundle = await getI18nBundle("@sapudex/web-components");
42
42
  }
43
- onItemClick() {
43
+ onItemClick(e) {
44
44
  this.fireEvent("sub-item-click", {
45
45
  item: this,
46
- });
46
+ originalEvent: e,
47
+ }, true);
47
48
  }
48
- onBackItemClick() {
49
- this.fireEvent("back-item-click");
49
+ onBackItemClick(e) {
50
+ this.fireEvent("back-item-click", { originalEvent: e }, true);
50
51
  }
51
52
  get hasItems() {
52
53
  return !!this.nestedItems.length;
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryNavigationSubItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationSubItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+BAA4C,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,kCAAkC,MAAM,iEAAiE,CAAC;AAEjH,SAAS;AACT,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AA6BH,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,+BAA+B;IAwB1E,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,gCAA8B,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC7F,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC/B,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,KAAK,GAAG,gCAA8B,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAW,CAAC;QAC7F,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACF,CAAA;AA9CG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACT;AASjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mEACZ;AAG7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iEAC1B;AApBjB,8BAA8B;IA5BnC,aAAa,CAAC;QACb,GAAG,EAAE,oCAAoC;QACzC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,6BAA6B;QACrC,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EAAE,CAAC,OAAO,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,gBAAgB,EAAE;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,iBAAiB,CAAC;GAEnB,8BAA8B,CAsDnC;AAED,8BAA8B,CAAC,MAAM,EAAE,CAAC;AAExC,eAAe,8BAA8B,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.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 UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { BACK_BUTTON_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\nimport SecondaryNavigationSubItemTemplate from \"./generated/templates/SecondaryNavigationSubItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationSubItemCss from \"./generated/themes/SecondaryNavigationSubItem.css.js\";\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-secondary-navigation-sub-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationSubItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-sub-item\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation-sub-item\",\n renderer: litRender,\n styles: SecondaryNavigationSubItemCss,\n template: SecondaryNavigationSubItemTemplate,\n dependencies: [UI5Icon],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fires when back item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"back-item-click\")\n\nclass UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines back item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isBack!: boolean;\n\n /**\n * List of the nested items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n nestedItems!: Array<NavItem>;\n\n @property({ type: String, defaultValue: \"-1\" })\n _tabIndex!: string;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigationSubItem.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onItemClick(): void {\n this.fireEvent(\"sub-item-click\", {\n item: this,\n });\n }\n\n onBackItemClick(): void {\n this.fireEvent(\"back-item-click\");\n }\n\n get hasItems(): boolean {\n return !!this.nestedItems.length;\n }\n\n get isButton(): boolean {\n return this.hasItems || !this.path;\n }\n\n get isSubItemActive(): boolean {\n return !!this.getActiveSubItem(this.nestedItems)?.active;\n }\n\n get backButtonAriaLabel(): string {\n const label = UDExSecondaryNavigationSubItem.i18nBundle.getText(BACK_BUTTON_LABEL) as string;\n return `${label} ${this.itemLabel}`;\n }\n}\n\nUDExSecondaryNavigationSubItem.define();\n\nexport default UDExSecondaryNavigationSubItem;\n"]}
1
+ {"version":3,"file":"SecondaryNavigationSubItem.js","sourceRoot":"","sources":["../src/SecondaryNavigationSubItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,mDAAmD,CAAC;AAC3D,OAAO,kDAAkD,CAAC;AAC1D,OAAO,+BAA4C,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,kCAAkC,MAAM,iEAAiE,CAAC;AAEjH,SAAS;AACT,OAAO,6BAA6B,MAAM,sDAAsD,CAAC;AAEjG;;;;;;;;;;;;;;;;;GAiBG;AA6BH,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,+BAA+B;IAwB1E,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,gCAA8B,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC7F,CAAC;IAED,WAAW,CAAC,CAAe;QACzB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC/B,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,CAAC;SACjB,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,eAAe,CAAC,CAAe;QAC7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB;QACrB,MAAM,KAAK,GAAG,gCAA8B,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAW,CAAC;QAC7F,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACF,CAAA;AA/CG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8DACT;AASjB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mEACZ;AAG7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iEAC1B;AApBjB,8BAA8B;IA5BnC,aAAa,CAAC;QACb,GAAG,EAAE,oCAAoC;QACzC,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,6BAA6B;QACrC,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EAAE,CAAC,OAAO,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,gBAAgB,EAAE;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACF,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,iBAAiB,CAAC;GAEnB,8BAA8B,CAuDnC;AAED,8BAA8B,CAAC,MAAM,EAAE,CAAC;AAExC,eAAe,8BAA8B,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.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 UDExSecondaryNavigationItemBase, { NavItem } from \"./SecondaryNavigationItemBase.js\";\nimport { BACK_BUTTON_LABEL } from \"./generated/i18n/i18n-defaults.js\";\n\nimport SecondaryNavigationSubItemTemplate from \"./generated/templates/SecondaryNavigationSubItemTemplate.lit.js\";\n\n// Styles\nimport SecondaryNavigationSubItemCss from \"./generated/themes/SecondaryNavigationSubItem.css.js\";\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-secondary-navigation-sub-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SecondaryNavigationSubItem.js\";</code>\n *\n * @constructor\n * @extends UDExSecondaryNavigationItemBase\n * @tagname udex-secondary-navigation-sub-item\n * @public\n */\n@customElement({\n tag: \"udex-secondary-navigation-sub-item\",\n renderer: litRender,\n styles: SecondaryNavigationSubItemCss,\n template: SecondaryNavigationSubItemTemplate,\n dependencies: [UI5Icon],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"sub-item-click\", {\n detail: {\n item: { type: HTMLElement },\n },\n})\n\n/**\n * Fires when back item is clicked\n *\n * @allowPreventDefault\n * @public\n */\n@event(\"back-item-click\")\n\nclass UDExSecondaryNavigationSubItem extends UDExSecondaryNavigationItemBase {\n /**\n * Defines back item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n isBack!: boolean;\n\n /**\n * List of the nested items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: Object, multiple: true })\n nestedItems!: Array<NavItem>;\n\n @property({ type: String, defaultValue: \"-1\" })\n _tabIndex!: string;\n\n static i18nBundle: any;\n\n static async onDefine(): Promise<void> {\n UDExSecondaryNavigationSubItem.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n onItemClick(e: PointerEvent): void {\n this.fireEvent(\"sub-item-click\", {\n item: this,\n originalEvent: e,\n }, true);\n }\n\n onBackItemClick(e: PointerEvent): void {\n this.fireEvent(\"back-item-click\", { originalEvent: e }, true);\n }\n\n get hasItems(): boolean {\n return !!this.nestedItems.length;\n }\n\n get isButton(): boolean {\n return this.hasItems || !this.path;\n }\n\n get isSubItemActive(): boolean {\n return !!this.getActiveSubItem(this.nestedItems)?.active;\n }\n\n get backButtonAriaLabel(): string {\n const label = UDExSecondaryNavigationSubItem.i18nBundle.getText(BACK_BUTTON_LABEL) as string;\n return `${label} ${this.itemLabel}`;\n }\n}\n\nUDExSecondaryNavigationSubItem.define();\n\nexport default UDExSecondaryNavigationSubItem;\n"]}