@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.
Files changed (144) hide show
  1. package/dist/Breadcrumbs.js +3 -2
  2. package/dist/Breadcrumbs.js.map +1 -1
  3. package/dist/Button.d.ts +7 -0
  4. package/dist/Button.js +3 -0
  5. package/dist/Button.js.map +1 -1
  6. package/dist/ListItem.d.ts +3 -2
  7. package/dist/ListItem.js +2 -2
  8. package/dist/ListItem.js.map +1 -1
  9. package/dist/MastheadItem.js +1 -1
  10. package/dist/MastheadItem.js.map +1 -1
  11. package/dist/MastheadShell.d.ts +4 -1
  12. package/dist/MastheadShell.js +21 -5
  13. package/dist/MastheadShell.js.map +1 -1
  14. package/dist/Pagination.d.ts +18 -2
  15. package/dist/Pagination.js +35 -11
  16. package/dist/Pagination.js.map +1 -1
  17. package/dist/PhoneNumberField.d.ts +5 -5
  18. package/dist/PhoneNumberField.js +1 -1
  19. package/dist/PhoneNumberField.js.map +1 -1
  20. package/dist/Search.js +1 -2
  21. package/dist/Search.js.map +1 -1
  22. package/dist/SearchableListBase.d.ts +9 -0
  23. package/dist/SearchableListBase.js +10 -2
  24. package/dist/SearchableListBase.js.map +1 -1
  25. package/dist/SecondaryNavigation.d.ts +4 -1
  26. package/dist/SecondaryNavigation.js +37 -10
  27. package/dist/SecondaryNavigation.js.map +1 -1
  28. package/dist/SecondaryNavigationItem.d.ts +10 -0
  29. package/dist/SecondaryNavigationItem.js +19 -0
  30. package/dist/SecondaryNavigationItem.js.map +1 -1
  31. package/dist/SecondaryNavigationItemBase.d.ts +1 -0
  32. package/dist/SecondaryNavigationItemBase.js +3 -0
  33. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  34. package/dist/SecondaryNavigationSubItem.d.ts +0 -1
  35. package/dist/SecondaryNavigationSubItem.js +0 -3
  36. package/dist/SecondaryNavigationSubItem.js.map +1 -1
  37. package/dist/Wizard.d.ts +20 -0
  38. package/dist/Wizard.js +21 -6
  39. package/dist/Wizard.js.map +1 -1
  40. package/dist/assets/{bundle.esm-a49b6527.js → bundle.esm-8018708a.js} +182 -182
  41. package/dist/css/themes/Breadcrumbs.css +1 -1
  42. package/dist/css/themes/Button.css +1 -1
  43. package/dist/css/themes/ListItem.css +1 -1
  44. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  45. package/dist/css/themes/MastheadItem.css +1 -1
  46. package/dist/css/themes/MastheadShell.css +1 -1
  47. package/dist/css/themes/Modal.css +1 -1
  48. package/dist/css/themes/Pagination.css +1 -1
  49. package/dist/css/themes/RatingIndicator.css +1 -1
  50. package/dist/css/themes/Search.css +1 -1
  51. package/dist/css/themes/Slider.css +1 -1
  52. package/dist/custom-elements-internal.json +202 -66
  53. package/dist/custom-elements.json +181 -64
  54. package/dist/data/CountryListISO3166.d.ts +13 -4
  55. package/dist/data/CountryListISO3166.js +8 -0
  56. package/dist/data/CountryListISO3166.js.map +1 -1
  57. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  58. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  59. package/dist/generated/templates/PaginationTemplate.lit.js +3 -3
  60. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  61. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
  62. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  63. package/dist/generated/templates/SearchTemplate.lit.js +3 -3
  64. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  65. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
  66. package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
  67. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
  68. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  69. package/dist/generated/templates/WizardTemplate.lit.js +5 -3
  70. package/dist/generated/templates/WizardTemplate.lit.js.map +1 -1
  71. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  72. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  73. package/dist/generated/themes/Button.css.js +1 -1
  74. package/dist/generated/themes/Button.css.js.map +1 -1
  75. package/dist/generated/themes/ListItem.css.js +1 -1
  76. package/dist/generated/themes/ListItem.css.js.map +1 -1
  77. package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
  78. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  79. package/dist/generated/themes/MastheadItem.css.js +1 -1
  80. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  81. package/dist/generated/themes/MastheadShell.css.js +1 -1
  82. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  83. package/dist/generated/themes/Modal.css.js +1 -1
  84. package/dist/generated/themes/Modal.css.js.map +1 -1
  85. package/dist/generated/themes/Pagination.css.js +1 -1
  86. package/dist/generated/themes/Pagination.css.js.map +1 -1
  87. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  88. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  89. package/dist/generated/themes/Search.css.js +1 -1
  90. package/dist/generated/themes/Search.css.js.map +1 -1
  91. package/dist/generated/themes/Slider.css.js +1 -1
  92. package/dist/generated/themes/Slider.css.js.map +1 -1
  93. package/dist/vscode.html-custom-data.json +25 -0
  94. package/dist/web-types.json +41 -1
  95. package/package.json +1 -1
  96. package/src/Breadcrumbs.hbs +10 -12
  97. package/src/Breadcrumbs.ts +3 -2
  98. package/src/Button.ts +9 -0
  99. package/src/ListItem.ts +4 -4
  100. package/src/MastheadItem.ts +1 -1
  101. package/src/MastheadShell.ts +25 -5
  102. package/src/Pagination.hbs +11 -5
  103. package/src/Pagination.ts +51 -8
  104. package/src/PhoneNumberField.hbs +1 -1
  105. package/src/PhoneNumberField.ts +8 -3
  106. package/src/Search.hbs +3 -2
  107. package/src/Search.ts +1 -2
  108. package/src/SearchableListBase.ts +18 -2
  109. package/src/SecondaryNavigation.hbs +1 -0
  110. package/src/SecondaryNavigation.ts +41 -12
  111. package/src/SecondaryNavigationItem.hbs +2 -1
  112. package/src/SecondaryNavigationItem.ts +31 -0
  113. package/src/SecondaryNavigationItemBase.ts +3 -0
  114. package/src/SecondaryNavigationSubItem.ts +0 -3
  115. package/src/Wizard.hbs +9 -1
  116. package/src/Wizard.ts +39 -7
  117. package/src/data/CountryListISO3166.ts +10 -2
  118. package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
  119. package/src/generated/templates/PaginationTemplate.lit.ts +3 -3
  120. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  121. package/src/generated/templates/SearchTemplate.lit.ts +3 -3
  122. package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
  123. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
  124. package/src/generated/templates/WizardTemplate.lit.ts +5 -3
  125. package/src/generated/themes/Breadcrumbs.css.ts +1 -1
  126. package/src/generated/themes/Button.css.ts +1 -1
  127. package/src/generated/themes/ListItem.css.ts +1 -1
  128. package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
  129. package/src/generated/themes/MastheadItem.css.ts +1 -1
  130. package/src/generated/themes/MastheadShell.css.ts +1 -1
  131. package/src/generated/themes/Modal.css.ts +1 -1
  132. package/src/generated/themes/Pagination.css.ts +1 -1
  133. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  134. package/src/generated/themes/Search.css.ts +1 -1
  135. package/src/generated/themes/Slider.css.ts +1 -1
  136. package/src/themes/Breadcrumbs.css +3 -0
  137. package/src/themes/Button.css +84 -29
  138. package/src/themes/ListItem.css +5 -1
  139. package/src/themes/MastheadCountrySelector.css +8 -5
  140. package/src/themes/MastheadItem.css +12 -4
  141. package/src/themes/MastheadShell.css +5 -2
  142. package/src/themes/Modal.css +6 -1
  143. package/src/themes/Pagination.css +19 -0
  144. package/src/themes/Search.css +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MastheadShell.js","sourceRoot":"","sources":["../src/MastheadShell.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 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n isLeft, isRight, isSpace, isEnter, isEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/menu2.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { MAIN_LINKS } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadItem, { DropdownItemAction } from \"./MastheadItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport UDExMastheadCountrySelector from \"./MastheadCountrySelector.js\";\nimport MastheadShellTemplate from \"./generated/templates/MastheadShellTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\n// Styles\nimport MastheadShellCss from \"./generated/themes/MastheadShell.css.js\";\n\nconst canvasContentFont = \"16px '72 Brand Variable'\";\ntype MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;\ntype MastheadItemType = UDExMastheadItem | null | undefined;\nexport const MastheadOriginalEvent = {\n detail: {\n originalEvent: { type: Event },\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-shell</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadShell.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-shell\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadShellCss,\n template: MastheadShellTemplate,\n dependencies: [\n UDExMastheadMobileMenu,\n UDExControlButton,\n UDExMastheadItem,\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fired event when the user clicks the mobile menu button opener.\n *\n * @public\n */\n@event(\"mobile-menu-open\")\n\n/**\n * Fired event when the user clicks the mobile menu button closer.\n *\n * @public\n */\n@event(\"mobile-menu-close\")\n\n/**\n * Fired event when the user clicks the search button trigger.\n *\n * @public\n */\n@event(\"search-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the search close button.\n *\n * @public\n */\n@event(\"search-close-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the search panel is opened.\n *\n * @public\n */\n@event(\"search-opened\")\n\n/**\n * Fired event when the search panel is closed.\n *\n * @public\n */\n@event(\"search-closed\")\n\n/**\n * Fired event when the user clicks the cart button trigger.\n *\n * @public\n */\n@event(\"cart-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the support button trigger.\n *\n * @public\n */\n@event(\"support-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the profile button trigger.\n *\n * @public\n */\n@event(\"profile-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the country selector button trigger.\n *\n * @public\n */\n@event(\"country-selector-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the logo.\n *\n * @public\n */\n@event(\"logo-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the site label.\n *\n * @public\n * @public\n */\n@event(\"site-label-click\", MastheadOriginalEvent)\n\nclass UDExMastheadShell extends UI5Element {\n /**\n * Slot for country selector item.\n *\n * @public\n */\n @slot({ type: Node })\n countrySelector!: Array<UDExMastheadItem>;\n\n /**\n * Slot for mobile menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n mobileMenu!: Array<Node>;\n\n /**\n * Slot for main menu items.\n *\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n menuItems!: Array<UDExMastheadItem>;\n\n /**\n * Slot for search component - will be visible on search icon click.\n * Note: search component should be hidden by default.\n * Note: search icon won't be visible if this slot would be empty\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * Slot for 'Explore SAP' menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSAP!: Array<UDExMastheadItem>;\n\n /**\n * Slot for cart menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n cart!: Array<UDExMastheadItem>;\n\n /**\n * Slot for avatar\n *\n * @public\n */\n @slot({ type: HTMLElement })\n profile!: Array<UDExMastheadItem>;\n\n /**\n * Slot for support\n *\n * @public\n */\n @slot({ type: HTMLElement })\n support!: Array<UDExMastheadItem>;\n\n /**\n * Defines URL to homepage. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n homeUrl!: string;\n\n /**\n * Defines URL for site label. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabelUrl!: string;\n\n /**\n * Defines overflow style for the body after clicking mobile menu opener button\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n bodyOverflow!: boolean;\n\n /**\n * Defines the visibility of the Search by default.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n showSearchByDefault!: boolean;\n\n /**\n * Defines sticky position for component\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n stickyPosition!: boolean;\n\n /**\n * Defines the Logo image URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl!: string;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle!: string;\n\n /**\n * Defines a site label. It will be displayed next to a logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabel!: string;\n\n /**\n * Defines an alt text for logo\n *\n * @public\n */\n @property({ type: String })\n logoAlt!: string;\n\n /**\n * Defines an accessible name for close icon for the search bar\n *\n * default: \"\"\n * @public\n */\n @property({ type: String })\n closeButtonAccessibleName!: string;\n\n /**\n * Defines an aria label for the homepage link\n *\n * @public\n */\n @property({ type: String })\n homepageAriaLabel!: string;\n\n /**\n * Defines an aria label for the site label\n *\n * @public\n */\n @property({ type: String })\n siteLabelAriaLabel!: string;\n\n /**\n * Defines if the search container is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isSearchOpened!: boolean;\n\n /**\n * Defines if the mobile menu is open\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMenuOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines if the close button was clicked\n *\n * @private\n */\n @property({ type: Boolean })\n _closeBtnClicked!: boolean;\n\n _searchOpener!: UDExMastheadItem | null | undefined;\n _mobileMenu!: UDExMastheadMobileMenu | null | undefined;\n _handleResizeBound: ResizeObserverCallback;\n _rootHolder!: HTMLElement | null | undefined;\n _shouldHandleResize!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadShell.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onAfterRendering() {\n this._rootHolder = this.mastheadHolder;\n this._searchOpener = this.searchOpener;\n this._mobileMenu = this.mastheadMobileMenu;\n\n if (this._isSearchOpened) {\n this.focusSearchInput();\n }\n\n if (this._closeBtnClicked) {\n this.focusSearchBtn();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n if (this.shouldHandleMobileView) {\n this.handleMobileMode();\n }\n\n if (this.isBreakpointSizeM) {\n this._isSearchOpened = false;\n }\n\n if (this._shouldHandleResize && this._isMobileMenuOpen) {\n this.closeMobileMenu();\n this.resetSelectedItems();\n return;\n }\n\n this._shouldHandleResize = true;\n }\n\n handleMobileMode(): void {\n const rootHolder = this.getDomRef();\n if (rootHolder) {\n const rootHolderWidth = this.getRootHolderWidth(rootHolder);\n const landingHolderWidth = this.getLandingHolderWidth();\n const rightMenuWidth = this.getRightMenuWidth();\n const mainMenuWidth = this.getMainMenuWidth();\n const availableWidth = rootHolderWidth - rightMenuWidth - landingHolderWidth;\n\n if (mainMenuWidth >= availableWidth) {\n this.setMobileMode();\n } else {\n this.removeMobileMode();\n }\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.handleLeftArrow(e);\n this.handleRightArrow(e);\n }\n\n handleSearchKeyDown(e: CustomEvent): void {\n e.stopPropagation();\n const keyEvent = e.detail as KeyboardEvent;\n\n if (isEscape(keyEvent)) {\n if (this.showSearchByDefault && this.isAtLeastBreakpointSizeM) {\n return;\n }\n this.closeSearch();\n this.focusSearchBtn();\n }\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusPreviousMenuItem(currentItem);\n }\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusNextMenuItem(currentItem);\n }\n }\n }\n\n handleLogoClick(e: CustomEvent): void {\n this.fireEvent(\"logo-click\", { originalEvent: e });\n }\n\n handleSiteLabelClick(e: CustomEvent): void {\n this.fireEvent(\"site-label-click\", { originalEvent: e });\n }\n\n handleSearchClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"search-click\", { originalEvent: e });\n this.openSearch();\n }\n\n handleCartClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"cart-click\", { originalEvent: e });\n }\n\n handleSupportClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"support-click\", { originalEvent: e });\n }\n\n handleProfileClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"profile-click\", { originalEvent: e });\n }\n\n handleCountrySelectorClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"country-selector-click\", { originalEvent: e });\n }\n\n handleOpenMobileMenu(): void {\n const clickedItem = this.mobileBtn as UDExMastheadItem;\n if (!clickedItem) {\n return;\n }\n\n this.resetSelectedItems(clickedItem._id);\n this._isMobileMenuOpen = true;\n\n if (this.bodyOverflow) {\n this.setOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-open\");\n }\n\n handleCloseSearch(e: CustomEvent): void {\n this._closeBtnClicked = true;\n this.fireEvent(\"search-close-click\", { originalEvent: e });\n this.closeSearch();\n }\n\n handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.closeMobileMenu();\n this.mobileBtn?.focus();\n }\n }\n\n focusSearchInput(): void {\n const searchSlot = this.querySelector<UDExSearch>(\"[udex-search]\");\n if (searchSlot) {\n const input = searchSlot.shadowRoot!.querySelector<HTMLElement>(\"input\");\n input?.focus();\n }\n }\n\n focusPreviousMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const lastItemIndex = menuItems.length - 1;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n menuItems[previousSelectIndex].focus();\n }\n\n focusNextMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > menuItems.length - 1 ? 0 : currentSelectedIndex + 1;\n menuItems[nextSelectIndex].focus();\n }\n\n resetSelectedItems(clickedId?: string): void {\n this.getSelectedItems().forEach(item => {\n if (item._id !== clickedId && item.selected) {\n if (item.hasDropdownSlot) {\n item.fireDropdownCloseEvent(item.eventItemTitle, DropdownItemAction.ClickOutside);\n }\n item.selected = false;\n }\n });\n }\n\n setSelectedItem(e: CustomEvent): void {\n const clickedItem: UDExMastheadItem = e.detail.item;\n if (clickedItem) {\n this.resetSelectedItems(clickedItem._id);\n }\n }\n\n focusSearchBtn(): void {\n if (this._searchOpener) {\n this._searchOpener.focus();\n this._closeBtnClicked = false;\n }\n }\n\n getCurrentIndex(item: UDExMastheadItem): number {\n return this.menuItems.indexOf(item);\n }\n\n getSelectedItems(): Array<UDExMastheadItem> {\n const buttonsArray: Array<UDExMastheadItem> = [\n ...this.menuItems,\n ...this.exploreSAP,\n ...this.cart,\n ...this.support,\n ...this.profile,\n ...this.countrySelector,\n ...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),\n ];\n\n return buttonsArray.filter(({ selected }) => selected);\n }\n\n getRootHolderWidth(root: HTMLElement): number {\n const rootPadding = parseInt(window.getComputedStyle(root).getPropertyValue(\"padding-left\")) * 2;\n const scrollWidth = window.innerWidth - document.documentElement.clientWidth;\n return this.getDomRef()!.clientWidth + scrollWidth - rootPadding;\n }\n\n getLandingHolderWidth(): number {\n const landingHolder = this.getDomElement(\".udex-masthead-shell__landing-wrap\");\n return landingHolder?.offsetWidth || 0;\n }\n\n getRightMenuWidth(): number {\n const itemsIcon = [...this.shadowRoot!.querySelectorAll<HTMLDivElement>(\".udex-masthead-shell__item_icon\")];\n const itemIconWidths = itemsIcon.length * this.getItemIconWidth();\n const itemIconGaps = itemsIcon.length * this.getItemIconGap();\n const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(this.exploreSAP[0]) : 0;\n const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;\n return exploreSAPWidth + itemIconWidths + rightMenuGaps;\n }\n\n getItemIconWidth(): number {\n const item = this.querySelector(\"[udex-masthead-item]\");\n\n if (!item) { return 0; }\n\n const style = window.getComputedStyle(item);\n const itemIconWidthVar = style.getPropertyValue(\"--udex-masthead-item-button-icon-size\");\n return parseInt(itemIconWidthVar);\n }\n\n getMainMenuWidth(): number {\n const mainItems = this.getSlottedNodes(\"menuItems\");\n const gapItemVar = this.getRootVar(\"--udex-masthead-shell-item-gap\");\n return mainItems.reduce((accumulatedWidth, item, index) => {\n return accumulatedWidth + this.getItemWidth(item as UDExMastheadItem) + (index && parseInt(gapItemVar));\n }, 0);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getItemWidth(item: UDExMastheadItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n return Math.ceil(context.measureText(item.innerText.trim()).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getItemIconGap(): number {\n const gapIconItemVar = this.getRootVar(\"--udex-masthead-shell-item-icon-gap\");\n return parseInt(gapIconItemVar);\n }\n\n getExploreSapBtnGap(): number {\n const exploreSapBtnGapVar = this.getRootVar(\"--udex-masthead-shell-explore-margin\");\n return this.hasExploreSAP ? parseInt(exploreSapBtnGapVar) : 0;\n }\n\n getRightMenuGap(): number {\n const rightMenuGapVar = this.getRootVar(\"--udex-masthead-right-menu-padding\");\n return parseInt(rightMenuGapVar);\n }\n\n getRootVar(variableName: string): string {\n return window.getComputedStyle(this.getDomRef()!).getPropertyValue(`${variableName}`);\n }\n\n isNavigationItem(item: UDExMastheadItem): boolean {\n return this.menuItems.some(menuItem => menuItem === item);\n }\n\n setOverflowBody() {\n const { body: { style } } = document;\n this._shouldHandleResize = false;\n style.overflow = \"hidden\";\n }\n\n removeOverflowBody() {\n const { body: { style } } = document;\n style.removeProperty(\"overflow\");\n }\n\n setMobileMode(): void {\n this._isMobileMode = true;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n if (item) {\n item._isMobileMode = true;\n }\n });\n }\n\n removeMobileMode(): void {\n this._isMobileMode = false;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n item?.removeAttribute(\"_is-mobile-mode\");\n });\n }\n\n /**\n * Close the search panel.\n * @public\n */\n closeSearch(): void {\n this._isSearchOpened = false;\n this.fireEvent(\"search-closed\");\n }\n\n /**\n * Open the search panel.\n * @public\n */\n openSearch(): void {\n const shouldPreventOpeningSearch = this._isSearchOpened\n || (this.isBreakpointSizeM && !this.showSearchByDefault)\n || this._isMobileMode\n || (this.isAtLeastBreakpointSizeM && this.showSearchByDefault);\n\n if (shouldPreventOpeningSearch) {\n return;\n }\n\n this._isSearchOpened = true;\n this.resetSelectedItems();\n\n if (this._searchOpener) {\n this._searchOpener.selected = false;\n }\n\n this.fireEvent(\"search-opened\");\n }\n\n /**\n * Open the mobile menu panel.\n * @public\n */\n openMobileMenu(): void {\n if (!this._isMobileMenuOpen && (this._isMobileMode || this.isBreakpointSizeM)) {\n this.mobileBtn?.handleSelectedChange();\n this.handleOpenMobileMenu();\n }\n }\n\n /**\n * Close the mobile menu panel.\n * @public\n */\n closeMobileMenu(): void {\n if (!this._isMobileMenuOpen) {\n return;\n }\n\n (this.mobileBtn as UDExMastheadItem).selected = false;\n this._isMobileMenuOpen = false;\n this._mobileMenu?.showFirstLevelMenu();\n\n if (this.bodyOverflow) {\n this.removeOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-close\");\n }\n\n get slottedItems(): (MastheadSlottedItem)[] {\n return [\n this.profileItem,\n this.profileMenu,\n this.cartItem,\n this.supportItem,\n this.profileMenu,\n this.profileMenuLinks,\n this.countrySelectorItem,\n this.countrySelectorMenu,\n ];\n }\n\n get searchOpener(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__search-btn\");\n }\n\n get mastheadHolder(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell\");\n }\n\n get mastheadMobileMenu(): UDExMastheadMobileMenu | null {\n return this.querySelector(\"[udex-masthead-mobile-menu]\");\n }\n\n get mobileBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__menu-btn\");\n }\n\n get closeBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__close-btn\");\n }\n\n get profileItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"profile\")[0];\n }\n\n get countrySelectorItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"countrySelector\")[0];\n }\n\n get cartItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"cart\")[0];\n }\n\n get supportItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"support\")[0];\n }\n\n get profileMenu(): UDExMastheadProfileMenu {\n return this.querySelector(\"[udex-masthead-profile-menu]\")!;\n }\n\n get countrySelectorMenu(): UDExMastheadCountrySelector {\n return this.querySelector(\"[udex-masthead-country-selector]\")!;\n }\n\n get profileMenuLinks(): UDExMastheadMenu | undefined | null {\n return this.profileMenu?.shadowRoot?.querySelector(\"[udex-masthead-menu]\");\n }\n\n get hasProfile(): boolean {\n return !!this.profile.length;\n }\n\n get hasCart(): boolean {\n return !!this.cart.length;\n }\n\n get hasSearch(): boolean {\n return !!this.search.length;\n }\n\n get hasExploreSAP(): boolean {\n return !!this.exploreSAP.length;\n }\n\n get hasCountrySelector(): boolean {\n return !!this.countrySelector.length;\n }\n\n get hasSupport(): boolean {\n return !!this.support.length;\n }\n\n get hasMobileMenuButtons(): boolean {\n return !!this.mobileMenu.length;\n }\n\n get isBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtMost(\"M\");\n }\n\n get isAtLeastBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMainMenuVisible(): boolean {\n return !this.showSearchByDefault && !this._isSearchOpened;\n }\n\n get isSearchVisible(): boolean {\n return this.showSearchByDefault || this._isSearchOpened;\n }\n\n get shouldHandleMobileView(): boolean {\n return !this.isBreakpointSizeM && !this.showSearchByDefault;\n }\n\n get mainNavigationAriaLabel(): string {\n return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);\n }\n}\n\nUDExMastheadShell.define();\n\nexport default UDExMastheadShell;\n"]}
1
+ {"version":3,"file":"MastheadShell.js","sourceRoot":"","sources":["../src/MastheadShell.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 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n isLeft, isRight, isSpace, isEnter, isEscape,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/menu2.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { MAIN_LINKS } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadItem, { DropdownItemAction } from \"./MastheadItem.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExSearch from \"./Search.js\";\nimport UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport UDExMastheadCountrySelector from \"./MastheadCountrySelector.js\";\nimport MastheadShellTemplate from \"./generated/templates/MastheadShellTemplate.lit.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\n\n// Styles\nimport MastheadShellCss from \"./generated/themes/MastheadShell.css.js\";\n\nconst canvasContentFont = \"16px '72 Brand Variable'\";\ntype MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;\ntype MastheadItemType = UDExMastheadItem | null | undefined;\nexport const MastheadOriginalEvent = {\n detail: {\n originalEvent: { type: Event },\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-shell</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadShell.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-shell\",\n languageAware: true,\n renderer: litRender,\n styles: MastheadShellCss,\n template: MastheadShellTemplate,\n dependencies: [\n UDExMastheadMobileMenu,\n UDExControlButton,\n UDExMastheadItem,\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fired event when the user clicks the mobile menu button opener.\n *\n * @public\n */\n@event(\"mobile-menu-open\")\n\n/**\n * Fired event when the user clicks the mobile menu button closer.\n *\n * @public\n */\n@event(\"mobile-menu-close\")\n\n/**\n * Fired event when the user clicks the search button trigger.\n *\n * @public\n */\n@event(\"search-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the search close button.\n *\n * @public\n */\n@event(\"search-close-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the search panel is opened.\n *\n * @public\n */\n@event(\"search-opened\")\n\n/**\n * Fired event when the search panel is closed.\n *\n * @public\n */\n@event(\"search-closed\")\n\n/**\n * Fired event when the user clicks the cart button trigger.\n *\n * @public\n */\n@event(\"cart-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the support button trigger.\n *\n * @public\n */\n@event(\"support-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the profile button trigger.\n *\n * @public\n */\n@event(\"profile-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the country selector button trigger.\n *\n * @public\n */\n@event(\"country-selector-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the logo.\n *\n * @public\n */\n@event(\"logo-click\", MastheadOriginalEvent)\n\n/**\n * Fired event when the user clicks the site label.\n *\n * @public\n * @public\n */\n@event(\"site-label-click\", MastheadOriginalEvent)\n\nclass UDExMastheadShell extends UI5Element {\n /**\n * Slot for country selector item.\n *\n * @public\n */\n @slot({ type: Node })\n countrySelector!: Array<UDExMastheadItem>;\n\n /**\n * Slot for mobile menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n mobileMenu!: Array<Node>;\n\n /**\n * Slot for main menu items.\n *\n * @public\n */\n @slot({ type: HTMLElement, individualSlots: true, \"default\": true })\n menuItems!: Array<UDExMastheadItem>;\n\n /**\n * Slot for search component - will be visible on search icon click.\n * Note: search component should be hidden by default.\n * Note: search icon won't be visible if this slot would be empty\n *\n * @public\n */\n @slot({ type: Node })\n search!: Array<Node>;\n\n /**\n * Slot for 'Explore SAP' menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n exploreSAP!: Array<UDExMastheadItem>;\n\n /**\n * Slot for cart menu\n *\n * @public\n */\n @slot({ type: HTMLElement })\n cart!: Array<UDExMastheadItem>;\n\n /**\n * Slot for avatar\n *\n * @public\n */\n @slot({ type: HTMLElement })\n profile!: Array<UDExMastheadItem>;\n\n /**\n * Slot for support\n *\n * @public\n */\n @slot({ type: HTMLElement })\n support!: Array<UDExMastheadItem>;\n\n /**\n * Defines URL to homepage. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n homeUrl!: string;\n\n /**\n * Defines URL for site label. It will be used as a link on a logo and a site label\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabelUrl!: string;\n\n /**\n * Defines overflow style for the body after clicking mobile menu opener button\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n bodyOverflow!: boolean;\n\n /**\n * Defines the visibility of the Search by default.\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n showSearchByDefault!: boolean;\n\n /**\n * Defines sticky position for component\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n stickyPosition!: boolean;\n\n /**\n * Defines the Logo image URL\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoUrl!: string;\n\n /**\n * Defines the Logo default title\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n logoTitle!: string;\n\n /**\n * Defines a site label. It will be displayed next to a logo.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n siteLabel!: string;\n\n /**\n * Defines an alt text for logo\n *\n * @public\n */\n @property({ type: String })\n logoAlt!: string;\n\n /**\n * Defines an accessible name for close icon for the search bar\n *\n * default: \"\"\n * @public\n */\n @property({ type: String })\n closeButtonAccessibleName!: string;\n\n /**\n * Defines an aria label for the homepage link\n *\n * @public\n */\n @property({ type: String })\n homepageAriaLabel!: string;\n\n /**\n * Defines an aria label for the site label\n *\n * @public\n */\n @property({ type: String })\n siteLabelAriaLabel!: string;\n\n /**\n * Defines if the search container is opened\n *\n * @private\n */\n @property({ type: Boolean })\n _isSearchOpened!: boolean;\n\n /**\n * Defines if the mobile menu is open\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMenuOpen!: boolean;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines if the close button was clicked\n *\n * @private\n */\n @property({ type: Boolean })\n _closeBtnClicked!: boolean;\n\n _searchOpener!: UDExMastheadItem | null | undefined;\n _mobileMenu!: UDExMastheadMobileMenu | null | undefined;\n _handleResizeBound: ResizeObserverCallback;\n _rootHolder!: HTMLElement | null | undefined;\n _shouldHandleResize!: boolean;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExMastheadShell.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onBeforeRendering() {\n if (this.isMobileMenuMode) {\n this.setMobileMenuHeight();\n }\n }\n\n onAfterRendering() {\n this._rootHolder = this.mastheadHolder;\n this._searchOpener = this.searchOpener;\n this._mobileMenu = this.mastheadMobileMenu;\n\n if (this._isSearchOpened) {\n this.focusSearchInput();\n }\n\n if (this._closeBtnClicked) {\n this.focusSearchBtn();\n }\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n _handleResize(): void {\n if (this.shouldHandleMobileView) {\n this.handleMobileMode();\n }\n\n if (this.isAtMostBreakpointSizeM) {\n this._isSearchOpened = false;\n }\n\n if (this._shouldHandleResize && this._isMobileMenuOpen) {\n this.closeMobileMenu();\n this.resetSelectedItems();\n return;\n }\n\n if (this.isMobileMenuMode) {\n this.setMobileMenuHeight();\n }\n\n this._shouldHandleResize = true;\n }\n\n handleMobileMode(): void {\n const rootHolder = this.getDomRef();\n if (rootHolder) {\n const rootHolderWidth = this.getRootHolderWidth(rootHolder);\n const landingHolderWidth = this.getLandingHolderWidth();\n const rightMenuWidth = this.getRightMenuWidth();\n const mainMenuWidth = this.getMainMenuWidth();\n const availableWidth = rootHolderWidth - rightMenuWidth - landingHolderWidth;\n\n if (mainMenuWidth >= availableWidth) {\n this.setMobileMode();\n } else {\n this.removeMobileMode();\n }\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.handleLeftArrow(e);\n this.handleRightArrow(e);\n }\n\n handleSearchKeyDown(e: CustomEvent): void {\n e.stopPropagation();\n const keyEvent = e.detail as KeyboardEvent;\n\n if (isEscape(keyEvent)) {\n if (this.showSearchByDefault && this.isAtLeastBreakpointSizeM) {\n return;\n }\n this.closeSearch();\n this.focusSearchBtn();\n }\n }\n\n handleLeftArrow(e: KeyboardEvent): void {\n if (isLeft(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusPreviousMenuItem(currentItem);\n }\n }\n }\n\n handleRightArrow(e: KeyboardEvent): void {\n if (isRight(e)) {\n const currentItem = e.target as UDExMastheadItem;\n if (this.isNavigationItem(currentItem)) {\n if (currentItem.selected) {\n currentItem.closeDropdown();\n }\n this.focusNextMenuItem(currentItem);\n }\n }\n }\n\n handleLogoClick(e: CustomEvent): void {\n this.fireEvent(\"logo-click\", { originalEvent: e });\n }\n\n handleSiteLabelClick(e: CustomEvent): void {\n this.fireEvent(\"site-label-click\", { originalEvent: e });\n }\n\n handleSearchClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"search-click\", { originalEvent: e });\n this.openSearch();\n }\n\n handleCartClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"cart-click\", { originalEvent: e });\n }\n\n handleSupportClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"support-click\", { originalEvent: e });\n }\n\n handleProfileClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"profile-click\", { originalEvent: e });\n }\n\n handleCountrySelectorClick(e: CustomEvent): void {\n e.stopPropagation();\n this.fireEvent(\"country-selector-click\", { originalEvent: e });\n }\n\n handleOpenMobileMenu(): void {\n const clickedItem = this.mobileBtn as UDExMastheadItem;\n if (!clickedItem) {\n return;\n }\n\n this.resetSelectedItems(clickedItem._id);\n this._isMobileMenuOpen = true;\n\n if (this.bodyOverflow) {\n this.setOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-open\");\n }\n\n handleCloseSearch(e: CustomEvent): void {\n this._closeBtnClicked = true;\n this.fireEvent(\"search-close-click\", { originalEvent: e });\n this.closeSearch();\n }\n\n handleEnterAndSpaceOnCloseBtn(e: KeyboardEvent): void {\n if (isSpace(e) || isEnter(e)) {\n e.preventDefault();\n this.closeMobileMenu();\n this.mobileBtn?.focus();\n }\n }\n\n focusSearchInput(): void {\n const searchSlot = this.querySelector<UDExSearch>(\"[udex-search]\");\n if (searchSlot) {\n const input = searchSlot.shadowRoot!.querySelector<HTMLElement>(\"input\");\n input?.focus();\n }\n }\n\n focusPreviousMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const lastItemIndex = menuItems.length - 1;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n menuItems[previousSelectIndex].focus();\n }\n\n focusNextMenuItem(item: UDExMastheadItem): void {\n const menuItems = this.menuItems;\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > menuItems.length - 1 ? 0 : currentSelectedIndex + 1;\n menuItems[nextSelectIndex].focus();\n }\n\n resetSelectedItems(clickedId?: string): void {\n this.getSelectedItems().forEach(item => {\n if (item._id !== clickedId && item.selected) {\n if (item.hasDropdownSlot) {\n item.fireDropdownCloseEvent(item.eventItemTitle, DropdownItemAction.ClickOutside);\n }\n item.selected = false;\n }\n });\n }\n\n setSelectedItem(e: CustomEvent): void {\n const clickedItem: UDExMastheadItem = e.detail.item;\n if (clickedItem) {\n this.resetSelectedItems(clickedItem._id);\n }\n }\n\n focusSearchBtn(): void {\n if (this._searchOpener) {\n this._searchOpener.focus();\n this._closeBtnClicked = false;\n }\n }\n\n getCurrentIndex(item: UDExMastheadItem): number {\n return this.menuItems.indexOf(item);\n }\n\n getSelectedItems(): Array<UDExMastheadItem> {\n const buttonsArray: Array<UDExMastheadItem> = [\n ...this.menuItems,\n ...this.exploreSAP,\n ...this.cart,\n ...this.support,\n ...this.profile,\n ...this.countrySelector,\n ...(this.mobileBtn && this.closeBtn ? [this.mobileBtn, this.closeBtn] : []),\n ];\n\n return buttonsArray.filter(({ selected }) => selected);\n }\n\n getRootHolderWidth(root: HTMLElement): number {\n const rootPadding = parseInt(window.getComputedStyle(root).getPropertyValue(\"padding-left\")) * 2;\n const scrollWidth = window.innerWidth - document.documentElement.clientWidth;\n return this.getDomRef()!.clientWidth + scrollWidth - rootPadding;\n }\n\n getLandingHolderWidth(): number {\n const landingHolder = this.getDomElement(\".udex-masthead-shell__landing-wrap\");\n return landingHolder?.offsetWidth || 0;\n }\n\n getRightMenuWidth(): number {\n const itemsIcon = [...this.shadowRoot!.querySelectorAll<HTMLDivElement>(\".udex-masthead-shell__item_icon\")];\n const itemIconWidths = itemsIcon.length * this.getItemIconWidth();\n const itemIconGaps = itemsIcon.length * this.getItemIconGap();\n const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(this.exploreSAP[0]) : 0;\n const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;\n return exploreSAPWidth + itemIconWidths + rightMenuGaps;\n }\n\n getItemIconWidth(): number {\n const item = this.querySelector(\"[udex-masthead-item]\");\n\n if (!item) { return 0; }\n\n const style = window.getComputedStyle(item);\n const itemIconWidthVar = style.getPropertyValue(\"--udex-masthead-item-button-icon-size\");\n return parseInt(itemIconWidthVar);\n }\n\n getMainMenuWidth(): number {\n const mainItems = this.getSlottedNodes(\"menuItems\");\n const gapItemVar = this.getRootVar(\"--udex-masthead-shell-item-gap\");\n return mainItems.reduce((accumulatedWidth, item, index) => {\n return accumulatedWidth + this.getItemWidth(item as UDExMastheadItem) + (index && parseInt(gapItemVar));\n }, 0);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getItemWidth(item: UDExMastheadItem): number {\n const context = this.getCanvasContext();\n context.font = canvasContentFont;\n return Math.ceil(context.measureText(item.innerText.trim()).width);\n }\n\n getCanvasContext(): CanvasRenderingContext2D {\n const canvas = document.createElement(\"canvas\");\n return canvas.getContext(\"2d\")!;\n }\n\n getItemIconGap(): number {\n const gapIconItemVar = this.getRootVar(\"--udex-masthead-shell-item-icon-gap\");\n return parseInt(gapIconItemVar);\n }\n\n getExploreSapBtnGap(): number {\n const exploreSapBtnGapVar = this.getRootVar(\"--udex-masthead-shell-explore-margin\");\n return this.hasExploreSAP ? parseInt(exploreSapBtnGapVar) : 0;\n }\n\n getRightMenuGap(): number {\n const rightMenuGapVar = this.getRootVar(\"--udex-masthead-right-menu-padding\");\n return parseInt(rightMenuGapVar);\n }\n\n getRootVar(variableName: string): string {\n return window.getComputedStyle(this.getDomRef()!).getPropertyValue(`${variableName}`);\n }\n\n isNavigationItem(item: UDExMastheadItem): boolean {\n return this.menuItems.some(menuItem => menuItem === item);\n }\n\n setOverflowBody() {\n const { body: { style } } = document;\n this._shouldHandleResize = false;\n style.overflow = \"hidden\";\n }\n\n removeOverflowBody() {\n const { body: { style } } = document;\n style.removeProperty(\"overflow\");\n }\n\n setMobileMode(): void {\n this._isMobileMode = true;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n if (item) {\n item._isMobileMode = true;\n }\n });\n }\n\n setMobileMenuHeight(): void {\n const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue(\"--udex-masthead-shell-height\"));\n const mobileMenuHeight = `${window.innerHeight - mastheadHeight}px`;\n this.style.setProperty(\"--udex-masthead-shell-mobile-menu-height\", mobileMenuHeight);\n }\n\n removeMobileMode(): void {\n this._isMobileMode = false;\n this.slottedItems.forEach((item: MastheadSlottedItem) => {\n item?.removeAttribute(\"_is-mobile-mode\");\n });\n }\n\n /**\n * Close the search panel.\n * @public\n */\n closeSearch(): void {\n this._isSearchOpened = false;\n this.fireEvent(\"search-closed\");\n }\n\n /**\n * Open the search panel.\n * @public\n */\n openSearch(): void {\n const shouldPreventOpeningSearch = this._isSearchOpened\n || (this.isAtMostBreakpointSizeM && !this.showSearchByDefault)\n || this._isMobileMode\n || (this.isAtLeastBreakpointSizeM && this.showSearchByDefault);\n\n if (shouldPreventOpeningSearch) {\n return;\n }\n\n this._isSearchOpened = true;\n this.resetSelectedItems();\n\n if (this._searchOpener) {\n this._searchOpener.selected = false;\n }\n\n this.fireEvent(\"search-opened\");\n }\n\n /**\n * Open the mobile menu panel.\n * @public\n */\n openMobileMenu(): void {\n if (!this._isMobileMenuOpen && this.isMobileMenuMode) {\n this.mobileBtn?.handleSelectedChange();\n this.handleOpenMobileMenu();\n }\n }\n\n /**\n * Close the mobile menu panel.\n * @public\n */\n closeMobileMenu(): void {\n if (!this._isMobileMenuOpen) {\n return;\n }\n\n (this.mobileBtn as UDExMastheadItem).selected = false;\n this._isMobileMenuOpen = false;\n this._mobileMenu?.showFirstLevelMenu();\n\n if (this.bodyOverflow) {\n this.removeOverflowBody();\n }\n\n this.fireEvent(\"mobile-menu-close\");\n }\n\n get slottedItems(): (MastheadSlottedItem)[] {\n return [\n this.profileItem,\n this.profileMenu,\n this.cartItem,\n this.supportItem,\n this.profileMenu,\n this.profileMenuLinks,\n this.countrySelectorItem,\n this.countrySelectorMenu,\n ];\n }\n\n get searchOpener(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__search-btn\");\n }\n\n get mastheadHolder(): HTMLElement | null | undefined {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell\");\n }\n\n get mastheadMobileMenu(): UDExMastheadMobileMenu | null {\n return this.querySelector(\"[udex-masthead-mobile-menu]\");\n }\n\n get mobileBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__menu-btn\");\n }\n\n get closeBtn(): MastheadItemType {\n return this.shadowRoot?.querySelector(\".udex-masthead-shell__close-btn\");\n }\n\n get profileItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"profile\")[0];\n }\n\n get countrySelectorItem(): UDExMastheadItem {\n return this.getSlottedNodes<UDExMastheadItem>(\"countrySelector\")[0];\n }\n\n get cartItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"cart\")[0];\n }\n\n get supportItem(): MastheadItemType {\n return this.getSlottedNodes<UDExMastheadItem>(\"support\")[0];\n }\n\n get profileMenu(): UDExMastheadProfileMenu {\n return this.querySelector(\"[udex-masthead-profile-menu]\")!;\n }\n\n get countrySelectorMenu(): UDExMastheadCountrySelector {\n return this.querySelector(\"[udex-masthead-country-selector]\")!;\n }\n\n get profileMenuLinks(): UDExMastheadMenu | undefined | null {\n return this.profileMenu?.shadowRoot?.querySelector(\"[udex-masthead-menu]\");\n }\n\n get hasProfile(): boolean {\n return !!this.profile.length;\n }\n\n get hasCart(): boolean {\n return !!this.cart.length;\n }\n\n get hasSearch(): boolean {\n return !!this.search.length;\n }\n\n get hasExploreSAP(): boolean {\n return !!this.exploreSAP.length;\n }\n\n get hasCountrySelector(): boolean {\n return !!this.countrySelector.length;\n }\n\n get hasSupport(): boolean {\n return !!this.support.length;\n }\n\n get hasMobileMenuButtons(): boolean {\n return !!this.mobileMenu.length;\n }\n\n get isAtMostBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtMost(\"M\");\n }\n\n get isAtLeastBreakpointSizeM(): boolean {\n return BreakpointUtils.isAtLeast(\"M\");\n }\n\n get isMobileMenuMode(): boolean {\n return this._isMobileMode || this.isAtMostBreakpointSizeM;\n }\n\n get isMainMenuVisible(): boolean {\n return !this.showSearchByDefault && !this._isSearchOpened;\n }\n\n get isSearchVisible(): boolean {\n return this.showSearchByDefault || this._isSearchOpened;\n }\n\n get shouldHandleMobileView(): boolean {\n return !this.isAtMostBreakpointSizeM && !this.showSearchByDefault;\n }\n\n get mainNavigationAriaLabel(): string {\n return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);\n }\n}\n\nUDExMastheadShell.define();\n\nexport default UDExMastheadShell;\n"]}
@@ -69,6 +69,18 @@ declare class UDExPagination extends UI5Element {
69
69
  * @private
70
70
  */
71
71
  _direction?: string;
72
+ /**
73
+ * Defines if the previous button is in pseudo-disabled.
74
+ *
75
+ * @private
76
+ */
77
+ _nextButtonPseudoDisabled: boolean;
78
+ /**
79
+ * Defines if the previous button is in pseudo-disabled.
80
+ *
81
+ * @private
82
+ */
83
+ _prevButtonPseudoDisabled: boolean;
72
84
  _pages: Page[];
73
85
  _visiblePages: Page[];
74
86
  _previousPageElement?: HTMLElement;
@@ -81,8 +93,8 @@ declare class UDExPagination extends UI5Element {
81
93
  constructor();
82
94
  onEnterDOM(): void;
83
95
  onBeforeRendering(): void;
84
- get nextButtonDisbled(): boolean;
85
- get prevButtonDisbled(): boolean;
96
+ get nextButtonDisabled(): boolean;
97
+ get prevButtonDisabled(): boolean;
86
98
  get typeFull(): boolean;
87
99
  get typeShort(): boolean;
88
100
  get shortTextStart(): string;
@@ -103,6 +115,10 @@ declare class UDExPagination extends UI5Element {
103
115
  get displayNumber(): number;
104
116
  get pageOffset(): number;
105
117
  static onDefine(): Promise<void>;
118
+ get effectivePrevButtonDisabled(): boolean;
119
+ get effectiveNextButtonDisabled(): boolean;
120
+ handlePrevFocusOut(): void;
121
+ handleNextFocusOut(): void;
106
122
  setActive(element: HTMLElement): void;
107
123
  setNextPage(e: Event): void;
108
124
  setPrevPage(e: Event): void;
@@ -13,7 +13,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
13
13
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
14
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
15
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
- import { OF, PAGINATION_PAGE, SELECTED, ACTIVATE_PAGE, FIRST_PAGE, LAST_PAGE, PREVIOUS_PAGE, NEXT_PAGE, CURRENT_PAGE, } from "./generated/i18n/i18n-defaults.js";
16
+ import { OF, PAGINATION_PAGE, SELECTED, ACTIVATE_PAGE, FIRST_PAGE, LAST_PAGE, PREVIOUS_PAGE, NEXT_PAGE, CURRENT_PAGE, DISABLED, } from "./generated/i18n/i18n-defaults.js";
17
17
  import Button from "./Button.js";
18
18
  import "@ui5/webcomponents/dist/Icon.js";
19
19
  import "@ui5/webcomponents-icons/dist/nav-back.js";
@@ -65,10 +65,10 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
65
65
  onBeforeRendering() {
66
66
  this.setupPages(this.pages);
67
67
  }
68
- get nextButtonDisbled() {
68
+ get nextButtonDisabled() {
69
69
  return this.currentPageIndex + 1 === this.pages;
70
70
  }
71
- get prevButtonDisbled() {
71
+ get prevButtonDisabled() {
72
72
  return this.currentPageIndex === 0;
73
73
  }
74
74
  get typeFull() {
@@ -123,22 +123,26 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
123
123
  return `${UDExPagination_1.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;
124
124
  }
125
125
  get previousPageAccessibleName() {
126
- if (this.currentPageIndex === 0) {
127
- return UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE);
126
+ const currentPageText = `${UDExPagination_1.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
127
+ if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {
128
+ const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination_1.i18nBundle.getText(DISABLED)}` : "";
129
+ return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;
128
130
  }
129
- return `${UDExPagination_1.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
131
+ return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
130
132
  }
131
133
  get previousBtnTooltip() {
132
- return !this.prevButtonDisbled ? `${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
134
+ return !this.prevButtonDisabled ? `${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
133
135
  }
134
136
  get nextPageAccessibleName() {
135
- if (this.pages && this.currentPageIndex === (this.pages - 1)) {
136
- return UDExPagination_1.i18nBundle.getText(NEXT_PAGE);
137
+ const currentPageText = `${UDExPagination_1.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
138
+ if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {
139
+ const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination_1.i18nBundle.getText(DISABLED)}` : "";
140
+ return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;
137
141
  }
138
- return `${UDExPagination_1.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
142
+ return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
139
143
  }
140
144
  get nextBtnTooltip() {
141
- return !this.nextButtonDisbled ? `${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)}` : "";
145
+ return !this.nextButtonDisabled ? `${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)}` : "";
142
146
  }
143
147
  get pagination() {
144
148
  return this._visiblePages;
@@ -166,6 +170,18 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
166
170
  static async onDefine() {
167
171
  UDExPagination_1.i18nBundle = await getI18nBundle("@sapudex/web-components");
168
172
  }
173
+ get effectivePrevButtonDisabled() {
174
+ return !this._prevButtonPseudoDisabled && this.prevButtonDisabled;
175
+ }
176
+ get effectiveNextButtonDisabled() {
177
+ return !this._nextButtonPseudoDisabled && this.nextButtonDisabled;
178
+ }
179
+ handlePrevFocusOut() {
180
+ this._prevButtonPseudoDisabled = false;
181
+ }
182
+ handleNextFocusOut() {
183
+ this._nextButtonPseudoDisabled = false;
184
+ }
169
185
  setActive(element) {
170
186
  const pageIndex = element.getAttribute("index")
171
187
  ? parseInt(element.getAttribute("index") || "")
@@ -185,6 +201,7 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
185
201
  }
186
202
  this.currentPageIndex = currentPage + 1;
187
203
  this._pageFocusedManually = false;
204
+ this._nextButtonPseudoDisabled = this.currentPageIndex === (this.pages - 1);
188
205
  this.emitChangeEvent();
189
206
  }
190
207
  setPrevPage(e) {
@@ -195,6 +212,7 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
195
212
  }
196
213
  this.currentPageIndex -= 1;
197
214
  this._pageFocusedManually = false;
215
+ this._prevButtonPseudoDisabled = this.currentPageIndex === 0;
198
216
  this.emitChangeEvent();
199
217
  }
200
218
  setFirstPage(e) {
@@ -331,6 +349,12 @@ __decorate([
331
349
  __decorate([
332
350
  property({ type: String })
333
351
  ], UDExPagination.prototype, "_direction", void 0);
352
+ __decorate([
353
+ property({ type: Boolean })
354
+ ], UDExPagination.prototype, "_nextButtonPseudoDisabled", void 0);
355
+ __decorate([
356
+ property({ type: Boolean })
357
+ ], UDExPagination.prototype, "_prevButtonPseudoDisabled", void 0);
334
358
  UDExPagination = UDExPagination_1 = __decorate([
335
359
  customElement({
336
360
  tag: "udex-pagination",
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css\";\n\ninterface Page {\n value: number;\n active: boolean;\n}\n\nexport enum PaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum DisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", {\n detail: {\n currentPage: { type: Number },\n },\n})\nclass UDExPagination extends UI5Element {\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n pages: number;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property({ defaultValue: PaginationType.full, type: PaginationType })\n type?: `${PaginationType}`;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property({ defaultValue: DisplayType.desktop, type: DisplayType })\n display?: `${DisplayType}`;\n\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n */\n @property({ type: Boolean })\n absoluteNavigation!: boolean;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n currentPageIndex: number;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisbled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisbled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === PaginationType.full || this.display === DisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === PaginationType.short && this.display !== DisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(PREVIOUS_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisbled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(NEXT_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisbled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === DisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === DisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n static async onDefine() {\n UDExPagination.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n\n this.emitChangeEvent();\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n\n this.emitChangeEvent();\n }\n\n setFirstPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (currentPage === 0) {\n return;\n }\n\n this._firstPageIndex = 0;\n this._lastPageIndex = this.displayNumber;\n\n this.currentPageIndex = 0;\n this.emitChangeEvent();\n }\n\n setLastPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (!this.pages || currentPage >= this.pages - 1) {\n return;\n }\n\n this._firstPageIndex = this.pages - this.displayNumber;\n this._lastPageIndex = this.pages;\n\n this.currentPageIndex = this._lastPageIndex - 1;\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === PaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\n"]}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.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 event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n DISABLED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css\";\n\ninterface Page {\n value: number;\n active: boolean;\n}\n\nexport enum PaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum DisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", {\n detail: {\n currentPage: { type: Number },\n },\n})\nclass UDExPagination extends UI5Element {\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n pages: number;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property({ defaultValue: PaginationType.full, type: PaginationType })\n type?: `${PaginationType}`;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property({ defaultValue: DisplayType.desktop, type: DisplayType })\n display?: `${DisplayType}`;\n\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n */\n @property({ type: Boolean })\n absoluteNavigation!: boolean;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ validator: Integer, defaultValue: 0 })\n currentPageIndex: number;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _nextButtonPseudoDisabled!: boolean;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _prevButtonPseudoDisabled!: boolean;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisabled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisabled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === PaginationType.full || this.display === DisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === PaginationType.short && this.display !== DisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {\n const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {\n const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisabled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === DisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === DisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n static async onDefine() {\n UDExPagination.i18nBundle = await getI18nBundle(\"@sapudex/web-components\");\n }\n\n get effectivePrevButtonDisabled(): boolean {\n return !this._prevButtonPseudoDisabled && this.prevButtonDisabled;\n }\n\n get effectiveNextButtonDisabled(): boolean {\n return !this._nextButtonPseudoDisabled && this.nextButtonDisabled;\n }\n\n handlePrevFocusOut(): void {\n this._prevButtonPseudoDisabled = false;\n }\n\n handleNextFocusOut(): void {\n this._nextButtonPseudoDisabled = false;\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n this._nextButtonPseudoDisabled = this.currentPageIndex === (this.pages - 1);\n\n this.emitChangeEvent();\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n this._prevButtonPseudoDisabled = this.currentPageIndex === 0;\n\n this.emitChangeEvent();\n }\n\n setFirstPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (currentPage === 0) {\n return;\n }\n\n this._firstPageIndex = 0;\n this._lastPageIndex = this.displayNumber;\n\n this.currentPageIndex = 0;\n this.emitChangeEvent();\n }\n\n setLastPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (!this.pages || currentPage >= this.pages - 1) {\n return;\n }\n\n this._firstPageIndex = this.pages - this.displayNumber;\n this._lastPageIndex = this.pages;\n\n this.currentPageIndex = this._lastPageIndex - 1;\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === PaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\n"]}
@@ -20,6 +20,10 @@ export declare enum FieldState {
20
20
  Success = "Success",
21
21
  Error = "Error"
22
22
  }
23
+ export type BackgroundPosition = {
24
+ x?: string;
25
+ y?: string;
26
+ };
23
27
  /**
24
28
  * @class
25
29
  *
@@ -218,11 +222,7 @@ declare class UDExPhoneNumberField extends UI5Element {
218
222
  get selectedPhonePrefix(): string;
219
223
  get selectedPlaceholder(): string;
220
224
  get selectedCountryName(): string;
221
- get selectedFlagBackgroundPosition(): {
222
- backgroundPosition?: undefined;
223
- } | {
224
- backgroundPosition: string;
225
- };
225
+ get selectedFlagBackgroundPosition(): BackgroundPosition;
226
226
  get ariaInvalid(): "true" | null;
227
227
  get isInputReadonly(): boolean;
228
228
  get isButtonDisabled(): boolean;
@@ -286,7 +286,7 @@ let UDExPhoneNumberField = UDExPhoneNumberField_1 = class UDExPhoneNumberField e
286
286
  if (!selectedCountry) {
287
287
  return {};
288
288
  }
289
- return { "backgroundPosition": `${selectedCountry.flagX} ${selectedCountry.flagY}` };
289
+ return { x: selectedCountry?.flagX, y: selectedCountry?.flagY };
290
290
  }
291
291
  get ariaInvalid() {
292
292
  return this.fieldState === FieldState.Error ? "true" : null;