@postnord/pn-marketweb-components 4.2.5 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/header-theme-a250bf67.js +245 -0
- package/cjs/header-theme-a250bf67.js.map +1 -0
- package/cjs/index-9a9efa1c.js +24 -16
- package/cjs/loader.cjs.js +1 -1
- package/cjs/pn-app-banner.cjs.entry.js +1 -1
- package/cjs/pn-breakpoints.cjs.entry.js +1 -1
- package/cjs/pn-chat-message_2.cjs.entry.js +2 -2
- package/cjs/pn-chat.cjs.entry.js +2 -2
- package/cjs/pn-customernumber-selector-option.cjs.entry.js +1 -1
- package/cjs/pn-customernumber-selector.cjs.entry.js +1 -1
- package/cjs/pn-find-price-result.cjs.entry.js +1 -1
- package/cjs/pn-find-price.cjs.entry.js +2 -2
- package/cjs/pn-find-service-and-price-result.cjs.entry.js +1 -1
- package/cjs/pn-find-service-and-price.cjs.entry.js +1 -1
- package/cjs/pn-hero-block-international.cjs.entry.js +1 -1
- package/cjs/pn-language-selector_13.cjs.entry.js +1519 -0
- package/cjs/pn-language-selector_13.cjs.entry.js.map +1 -0
- package/cjs/pn-level-up-modal.cjs.entry.js +1 -1
- package/cjs/pn-level-up.cjs.entry.js +2 -2
- package/cjs/pn-link-list.cjs.entry.js +1 -1
- package/cjs/pn-market-web-components.cjs.js +1 -1
- package/cjs/pn-marketweb-header-main-row_2.cjs.entry.js +222 -0
- package/cjs/pn-marketweb-header-main-row_2.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-header-skeleton-loader.cjs.entry.js +23 -0
- package/cjs/pn-marketweb-header-skeleton-loader.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-header-toggle.cjs.entry.js +46 -0
- package/cjs/pn-marketweb-header-toggle.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-header.cjs.entry.js +1043 -0
- package/cjs/pn-marketweb-header.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-icon.cjs.entry.js +1 -1
- package/cjs/{pn-marketweb-siteheader-login-linklist.cjs.entry.js → pn-marketweb-siteheader-login-button_2.cjs.entry.js} +44 -2
- package/cjs/pn-marketweb-siteheader-login-button_2.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +7 -199
- package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-table.cjs.entry.js +1 -1
- package/cjs/pn-media-block.cjs.entry.js +1 -1
- package/cjs/pn-pex-pricefinder.cjs.entry.js +1 -1
- package/cjs/pn-product-card_3.cjs.entry.js +1 -1
- package/cjs/pn-product-pricelist-result.cjs.entry.js +1 -1
- package/cjs/pn-product-pricelist.cjs.entry.js +2 -2
- package/cjs/pn-product-tile-info_2.cjs.entry.js +1 -1
- package/cjs/pn-product-tile.cjs.entry.js +1 -1
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js +1 -1
- package/cjs/pn-profile-modal-profile.cjs.entry.js +2 -2
- package/cjs/pn-profile-modal-type.cjs.entry.js +1 -1
- package/cjs/pn-profile-modal.cjs.entry.js +1 -1
- package/cjs/pn-profile-selector-option.cjs.entry.js +1 -1
- package/cjs/pn-profile-selector.cjs.entry.js +1 -1
- package/cjs/pn-proxio-findprice-result.cjs.entry.js +1 -1
- package/cjs/pn-proxio-findprice.cjs.entry.js +3 -3
- package/cjs/pn-proxio-pricegroup.cjs.entry.js +1 -1
- package/cjs/pn-proxio-productcard_4.cjs.entry.js +3 -3
- package/cjs/pn-qr-code-generator.cjs.entry.js +1 -1
- package/cjs/pn-sidenav-level.cjs.entry.js +1 -1
- package/cjs/pn-sidenav-link.cjs.entry.js +1 -1
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js +1 -1
- package/cjs/pn-sidenav.cjs.entry.js +1 -1
- package/cjs/pn-site-footer_3.cjs.entry.js +3 -3
- package/cjs/pn-titletag.cjs.entry.js +1 -1
- package/cjs/pn-usp-promoter.cjs.entry.js +1 -1
- package/cjs/translations-9510f11c.js +198 -0
- package/cjs/translations-9510f11c.js.map +1 -0
- package/collection/collection-manifest.json +5 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.css +204 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.js +658 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.css +217 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.js +20 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.css +115 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.js +520 -0
- package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.js +37 -0
- package/collection/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.js +109 -0
- package/collection/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.css +225 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js +916 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js +638 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.js +180 -0
- package/collection/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.js +2 -0
- package/collection/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-i18n.js +37 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-i18n.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-language.js +46 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-language.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-menu.js +36 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-menu.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-theme.js +48 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-theme.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.js +101 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.js +63 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-url.js +91 -0
- package/collection/components/layout-components/pn-marketweb-header/utils/header-url.js.map +1 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +34 -12
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +36 -15
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +27 -13
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +29 -4
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
- package/collection/components/media/pn-media-block/pn-media-block.js +1 -1
- package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
- package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
- package/collection/components/minor/pn-swan/pn-swan.js +1 -1
- package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +25 -12
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector.css +17 -5
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js +22 -3
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js.map +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +37 -17
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +81 -33
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +12 -2
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav.css +35 -22
- package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
- package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.css +80 -0
- package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.js +147 -0
- package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.js.map +1 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
- package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
- package/collection/components/navigation/pn-site-footer/pn-site-footer.js +1 -1
- package/collection/components/navigation/pn-site-selector/pn-site-selector-item.css +16 -12
- package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +1 -1
- package/collection/components/navigation/pn-site-selector/pn-site-selector.css +15 -0
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js +22 -3
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js.map +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +2 -2
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +1 -1
- package/collection/components/widgets/pn-chat/pn-chat.js +2 -2
- package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
- package/collection/components/widgets/pn-find-price/pn-find-price.js +2 -2
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +1 -1
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +1 -1
- package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +1 -1
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +1 -1
- package/collection/components/widgets/pn-level-up/pn-level-up.js +2 -2
- package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +1 -1
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +1 -1
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
- package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
- package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
- package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +1 -1
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +1 -1
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
- package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.js +105 -0
- package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.js.map +1 -0
- package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.js +166 -0
- package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.js.map +1 -0
- package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.js +2 -0
- package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.js.map +1 -0
- package/components/pn-app-banner.js +1 -1
- package/components/pn-breakpoints.js +1 -1
- package/components/pn-chat-message2.js +1 -1
- package/components/pn-chat.js +2 -2
- package/components/pn-customernumber-selector-option.js +1 -1
- package/components/pn-customernumber-selector.js +1 -1
- package/components/pn-find-price-result2.js +1 -1
- package/components/pn-find-price.js +2 -2
- package/components/pn-find-service-and-price-result2.js +1 -1
- package/components/pn-find-service-and-price.js +1 -1
- package/components/pn-hero-block-international.js +1 -1
- package/components/pn-language-selector-option2.js +2 -2
- package/components/pn-language-selector-option2.js.map +1 -1
- package/components/pn-language-selector2.js +4 -2
- package/components/pn-language-selector2.js.map +1 -1
- package/components/pn-level-up-modal2.js +1 -1
- package/components/pn-level-up.js +2 -2
- package/components/pn-link-list.js +1 -1
- package/components/pn-mainnav-level2.js +3 -3
- package/components/pn-mainnav-level2.js.map +1 -1
- package/components/pn-mainnav-link2.js +2 -2
- package/components/pn-mainnav-link2.js.map +1 -1
- package/components/pn-mainnav-list2.js +2 -2
- package/components/pn-mainnav-list2.js.map +1 -1
- package/components/pn-mainnav2.js +2 -2
- package/components/pn-mainnav2.js.map +1 -1
- package/components/pn-marketweb-carousel2.js +1 -1
- package/components/pn-marketweb-header-main-row.d.ts +11 -0
- package/components/pn-marketweb-header-main-row.js +8 -0
- package/components/pn-marketweb-header-main-row.js.map +1 -0
- package/components/pn-marketweb-header-main-row2.js +281 -0
- package/components/pn-marketweb-header-main-row2.js.map +1 -0
- package/components/pn-marketweb-header-shared.js +192 -0
- package/components/pn-marketweb-header-shared.js.map +1 -0
- package/components/pn-marketweb-header-skeleton-loader.d.ts +11 -0
- package/components/pn-marketweb-header-skeleton-loader.js +37 -0
- package/components/pn-marketweb-header-skeleton-loader.js.map +1 -0
- package/components/pn-marketweb-header-toggle.d.ts +11 -0
- package/components/pn-marketweb-header-toggle.js +8 -0
- package/components/pn-marketweb-header-toggle.js.map +1 -0
- package/components/pn-marketweb-header-toggle2.js +61 -0
- package/components/pn-marketweb-header-toggle2.js.map +1 -0
- package/components/pn-marketweb-header-top-row.d.ts +11 -0
- package/components/pn-marketweb-header-top-row.js +8 -0
- package/components/pn-marketweb-header-top-row.js.map +1 -0
- package/components/pn-marketweb-header-top-row2.js +238 -0
- package/components/pn-marketweb-header-top-row2.js.map +1 -0
- package/components/pn-marketweb-header.d.ts +11 -0
- package/components/pn-marketweb-header.js +1206 -0
- package/components/pn-marketweb-header.js.map +1 -0
- package/components/pn-marketweb-icon.js +1 -1
- package/components/pn-marketweb-siteheader-login-button2.js +1 -1
- package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
- package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-mypage-button.js +1 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js +1 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login2.js +4 -2
- package/components/pn-marketweb-siteheader-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader-unified-login2.js +1 -1
- package/components/pn-marketweb-siteheader.js +5 -197
- package/components/pn-marketweb-siteheader.js.map +1 -1
- package/components/pn-marketweb-table.js +1 -1
- package/components/pn-media-block.js +1 -1
- package/components/pn-pex-pricefinder.js +1 -1
- package/components/pn-product-card2.js +1 -1
- package/components/pn-product-pricelist-result.js +1 -1
- package/components/pn-product-pricelist.js +2 -2
- package/components/pn-product-tile-info2.js +1 -1
- package/components/pn-product-tile.js +1 -1
- package/components/pn-profile-modal-customernumber.js +1 -1
- package/components/pn-profile-modal-profile.js +2 -2
- package/components/pn-profile-modal-type.js +1 -1
- package/components/pn-profile-modal.js +1 -1
- package/components/pn-profile-selector-option.js +1 -1
- package/components/pn-profile-selector.js +1 -1
- package/components/pn-proxio-findprice-result2.js +2 -2
- package/components/pn-proxio-findprice.js +3 -3
- package/components/pn-proxio-pricegroup.js +2 -2
- package/components/pn-proxio-productcard-description2.js +1 -1
- package/components/pn-proxio-productcard-information2.js +1 -1
- package/components/pn-proxio-productcard2.js +1 -1
- package/components/pn-qr-code-generator2.js +1 -1
- package/components/pn-sidenav-level.js +1 -1
- package/components/pn-sidenav-link.js +1 -1
- package/components/pn-sidenav-togglebutton.js +1 -1
- package/components/pn-sidenav.js +1 -1
- package/components/pn-site-footer-col2.js +1 -1
- package/components/pn-site-footer2.js +1 -1
- package/components/pn-site-selector-item2.js +2 -2
- package/components/pn-site-selector-item2.js.map +1 -1
- package/components/pn-site-selector2.js +4 -2
- package/components/pn-site-selector2.js.map +1 -1
- package/components/pn-swan2.js +1 -1
- package/components/pn-titletag2.js +1 -1
- package/components/pn-usp-promoter.js +1 -1
- package/components/translations.js +189 -14
- package/components/translations.js.map +1 -1
- package/components/translations2.js +21 -0
- package/components/translations2.js.map +1 -0
- package/esm/header-theme-d09b64c7.js +234 -0
- package/esm/header-theme-d09b64c7.js.map +1 -0
- package/esm/index-c0a4d8bd.js +24 -16
- package/esm/loader.js +1 -1
- package/esm/pn-app-banner.entry.js +1 -1
- package/esm/pn-breakpoints.entry.js +1 -1
- package/esm/pn-chat-message_2.entry.js +2 -2
- package/esm/pn-chat.entry.js +2 -2
- package/esm/pn-customernumber-selector-option.entry.js +1 -1
- package/esm/pn-customernumber-selector.entry.js +1 -1
- package/esm/pn-find-price-result.entry.js +1 -1
- package/esm/pn-find-price.entry.js +2 -2
- package/esm/pn-find-service-and-price-result.entry.js +1 -1
- package/esm/pn-find-service-and-price.entry.js +1 -1
- package/esm/pn-hero-block-international.entry.js +1 -1
- package/esm/{pn-language-selector_9.entry.js → pn-language-selector_13.entry.js} +381 -22
- package/esm/pn-language-selector_13.entry.js.map +1 -0
- package/esm/pn-level-up-modal.entry.js +1 -1
- package/esm/pn-level-up.entry.js +2 -2
- package/esm/pn-link-list.entry.js +1 -1
- package/esm/pn-market-web-components.js +1 -1
- package/esm/pn-marketweb-header-main-row_2.entry.js +217 -0
- package/esm/pn-marketweb-header-main-row_2.entry.js.map +1 -0
- package/esm/pn-marketweb-header-skeleton-loader.entry.js +19 -0
- package/esm/pn-marketweb-header-skeleton-loader.entry.js.map +1 -0
- package/esm/pn-marketweb-header-toggle.entry.js +42 -0
- package/esm/pn-marketweb-header-toggle.entry.js.map +1 -0
- package/esm/pn-marketweb-header.entry.js +1039 -0
- package/esm/pn-marketweb-header.entry.js.map +1 -0
- package/esm/pn-marketweb-icon.entry.js +1 -1
- package/esm/{pn-marketweb-siteheader-login-linklist.entry.js → pn-marketweb-siteheader-login-button_2.entry.js} +44 -3
- package/esm/pn-marketweb-siteheader-login-button_2.entry.js.map +1 -0
- package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +5 -197
- package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
- package/esm/pn-marketweb-table.entry.js +1 -1
- package/esm/pn-media-block.entry.js +1 -1
- package/esm/pn-pex-pricefinder.entry.js +1 -1
- package/esm/pn-product-card_3.entry.js +1 -1
- package/esm/pn-product-pricelist-result.entry.js +1 -1
- package/esm/pn-product-pricelist.entry.js +2 -2
- package/esm/pn-product-tile-info_2.entry.js +1 -1
- package/esm/pn-product-tile.entry.js +1 -1
- package/esm/pn-profile-modal-customernumber.entry.js +1 -1
- package/esm/pn-profile-modal-profile.entry.js +2 -2
- package/esm/pn-profile-modal-type.entry.js +1 -1
- package/esm/pn-profile-modal.entry.js +1 -1
- package/esm/pn-profile-selector-option.entry.js +1 -1
- package/esm/pn-profile-selector.entry.js +1 -1
- package/esm/pn-proxio-findprice-result.entry.js +1 -1
- package/esm/pn-proxio-findprice.entry.js +3 -3
- package/esm/pn-proxio-pricegroup.entry.js +1 -1
- package/esm/pn-proxio-productcard_4.entry.js +3 -3
- package/esm/pn-qr-code-generator.entry.js +1 -1
- package/esm/pn-sidenav-level.entry.js +1 -1
- package/esm/pn-sidenav-link.entry.js +1 -1
- package/esm/pn-sidenav-togglebutton.entry.js +1 -1
- package/esm/pn-sidenav.entry.js +1 -1
- package/esm/pn-site-footer_3.entry.js +3 -3
- package/esm/pn-titletag.entry.js +1 -1
- package/esm/pn-usp-promoter.entry.js +1 -1
- package/esm/translations-d2f5804e.js +196 -0
- package/esm/translations-d2f5804e.js.map +1 -0
- package/package.json +1 -1
- package/pn-market-web-components/{p-4a164ef8.entry.js → p-03728b0b.entry.js} +2 -2
- package/pn-market-web-components/p-04f51418.js +2 -0
- package/pn-market-web-components/p-04f51418.js.map +1 -0
- package/pn-market-web-components/{p-e43a36e0.entry.js → p-067c1c2f.entry.js} +2 -2
- package/pn-market-web-components/{p-2616cdc1.entry.js → p-191c8cfc.entry.js} +2 -2
- package/pn-market-web-components/{p-ca003c1f.entry.js → p-1a91c313.entry.js} +2 -2
- package/pn-market-web-components/{p-ab1e3dc2.entry.js → p-1f8304be.entry.js} +2 -2
- package/pn-market-web-components/{p-a3f601cb.entry.js → p-24ffac0a.entry.js} +2 -2
- package/pn-market-web-components/p-3239c36b.entry.js +2 -0
- package/pn-market-web-components/p-3239c36b.entry.js.map +1 -0
- package/pn-market-web-components/{p-12cafd55.entry.js → p-3aa74418.entry.js} +2 -2
- package/pn-market-web-components/p-3d27faee.entry.js +2 -0
- package/pn-market-web-components/{p-9d0ca27b.entry.js.map → p-3d27faee.entry.js.map} +1 -1
- package/pn-market-web-components/p-3e25f431.entry.js +2 -0
- package/pn-market-web-components/p-3e25f431.entry.js.map +1 -0
- package/pn-market-web-components/{p-64f6691d.entry.js → p-42da7c5f.entry.js} +2 -2
- package/pn-market-web-components/{p-f0d423d0.entry.js → p-43748ca2.entry.js} +2 -2
- package/pn-market-web-components/{p-1c644b91.entry.js → p-466958a8.entry.js} +2 -2
- package/pn-market-web-components/{p-150da889.entry.js → p-4ab53d5d.entry.js} +2 -2
- package/pn-market-web-components/{p-118fe47d.entry.js → p-4d595345.entry.js} +2 -2
- package/pn-market-web-components/{p-0f6f715b.entry.js → p-4dac1980.entry.js} +2 -2
- package/pn-market-web-components/{p-a13f1f73.entry.js → p-4fcce83d.entry.js} +2 -2
- package/pn-market-web-components/{p-89fbca3b.entry.js → p-5a51d0b0.entry.js} +2 -2
- package/pn-market-web-components/{p-f4d2d0d3.entry.js → p-61346425.entry.js} +2 -2
- package/pn-market-web-components/{p-6e693269.entry.js → p-6b557670.entry.js} +2 -2
- package/pn-market-web-components/{p-e6d6a752.entry.js → p-70a71854.entry.js} +2 -2
- package/pn-market-web-components/p-75311d67.js +2 -0
- package/pn-market-web-components/p-75311d67.js.map +1 -0
- package/pn-market-web-components/p-756d8d95.entry.js +2 -0
- package/pn-market-web-components/p-756d8d95.entry.js.map +1 -0
- package/pn-market-web-components/{p-c0315c45.entry.js → p-76fb0c21.entry.js} +2 -2
- package/pn-market-web-components/{p-b2b2bae0.entry.js → p-81210644.entry.js} +2 -2
- package/pn-market-web-components/p-81e4d75b.entry.js +2 -0
- package/pn-market-web-components/p-81e4d75b.entry.js.map +1 -0
- package/pn-market-web-components/{p-d0f27361.entry.js → p-8382794b.entry.js} +2 -2
- package/pn-market-web-components/{p-8f25176b.entry.js → p-8519e39e.entry.js} +2 -2
- package/pn-market-web-components/p-8c26c1f2.entry.js +2 -0
- package/pn-market-web-components/p-8c26c1f2.entry.js.map +1 -0
- package/pn-market-web-components/{p-461c8792.entry.js → p-92b6477c.entry.js} +2 -2
- package/pn-market-web-components/{p-0d4d9d90.entry.js → p-9eab8192.entry.js} +2 -2
- package/pn-market-web-components/{p-40e632cc.entry.js → p-a3beee11.entry.js} +2 -2
- package/pn-market-web-components/{p-01fbf1ce.entry.js → p-a6935dc2.entry.js} +2 -2
- package/pn-market-web-components/{p-af646091.entry.js → p-a6dd3e4f.entry.js} +2 -2
- package/pn-market-web-components/{p-6d77e747.entry.js → p-af89c95a.entry.js} +2 -2
- package/pn-market-web-components/p-b318ff19.entry.js +2 -0
- package/pn-market-web-components/{p-0700cb4c.entry.js.map → p-b318ff19.entry.js.map} +1 -1
- package/pn-market-web-components/{p-c89f3d6b.entry.js → p-ba14b0ef.entry.js} +2 -2
- package/pn-market-web-components/{p-c7965104.entry.js → p-ba680948.entry.js} +2 -2
- package/pn-market-web-components/{p-11c6e458.entry.js → p-ba75bfdb.entry.js} +2 -2
- package/pn-market-web-components/{p-4149e715.entry.js → p-c186ec41.entry.js} +2 -2
- package/pn-market-web-components/{p-66c0c8dc.entry.js → p-c38707f9.entry.js} +2 -2
- package/pn-market-web-components/{p-671a8129.entry.js → p-c89cdd5a.entry.js} +2 -2
- package/pn-market-web-components/{p-4d848e18.entry.js → p-e8cd1608.entry.js} +2 -2
- package/pn-market-web-components/{p-4517a3d4.entry.js → p-ef090656.entry.js} +2 -2
- package/pn-market-web-components/p-f23ed5d2.entry.js +2 -0
- package/pn-market-web-components/p-f23ed5d2.entry.js.map +1 -0
- package/pn-market-web-components/{p-bd8ec517.entry.js → p-f3b4c13d.entry.js} +2 -2
- package/pn-market-web-components/{p-ff38b9a5.entry.js → p-f710445f.entry.js} +2 -2
- package/pn-market-web-components/{p-2e585ed5.entry.js → p-fcefe4a4.entry.js} +2 -2
- package/pn-market-web-components/p-fded22b7.entry.js +2 -0
- package/pn-market-web-components/p-fded22b7.entry.js.map +1 -0
- package/pn-market-web-components/{p-32bd2ff8.entry.js → p-ff6118f8.entry.js} +2 -2
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
- package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.d.ts +40 -0
- package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.d.ts +3 -0
- package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.d.ts +30 -0
- package/types/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.d.ts +48 -0
- package/types/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.d.ts +34 -0
- package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.d.ts +121 -0
- package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.d.ts +99 -0
- package/types/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.d.ts +108 -0
- package/types/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.d.ts +103 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-i18n.d.ts +16 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-language.d.ts +20 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-menu.d.ts +16 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-theme.d.ts +6 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.d.ts +49 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.d.ts +25 -0
- package/types/components/layout-components/pn-marketweb-header/utils/header-url.d.ts +41 -0
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +2 -0
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types.d.ts +1 -0
- package/types/components/navigation/pn-language-selector/pn-language-selector.d.ts +1 -0
- package/types/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.d.ts +25 -0
- package/types/components/navigation/pn-site-selector/pn-site-selector.d.ts +1 -0
- package/types/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.d.ts +1 -1
- package/types/components.d.ts +532 -2
- package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.d.ts +7 -0
- package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.d.ts +24 -0
- package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.d.ts +16 -0
- package/umd/pn-marketweb-init.js +1 -1
- package/umd/pn-marketweb-salesforce.js +1 -1
- package/vscode-data.json +421 -0
- package/cjs/pn-language-selector_9.cjs.entry.js +0 -1156
- package/cjs/pn-language-selector_9.cjs.entry.js.map +0 -1
- package/cjs/pn-mainnav-link.cjs.entry.js +0 -45
- package/cjs/pn-mainnav-link.cjs.entry.js.map +0 -1
- package/cjs/pn-mainnav-store-13aaa243.js +0 -22
- package/cjs/pn-mainnav-store-13aaa243.js.map +0 -1
- package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js +0 -366
- package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +0 -1
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +0 -1
- package/esm/pn-language-selector_9.entry.js.map +0 -1
- package/esm/pn-mainnav-link.entry.js +0 -41
- package/esm/pn-mainnav-link.entry.js.map +0 -1
- package/esm/pn-mainnav-store-c98d831e.js +0 -19
- package/esm/pn-mainnav-store-c98d831e.js.map +0 -1
- package/esm/pn-marketweb-siteheader-login-button_4.entry.js +0 -359
- package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +0 -1
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +0 -1
- package/pn-market-web-components/p-022780ab.entry.js +0 -2
- package/pn-market-web-components/p-022780ab.entry.js.map +0 -1
- package/pn-market-web-components/p-0700cb4c.entry.js +0 -2
- package/pn-market-web-components/p-4bc6d49f.entry.js +0 -2
- package/pn-market-web-components/p-4bc6d49f.entry.js.map +0 -1
- package/pn-market-web-components/p-4c8bda8f.entry.js +0 -2
- package/pn-market-web-components/p-4c8bda8f.entry.js.map +0 -1
- package/pn-market-web-components/p-5090bb1d.entry.js +0 -2
- package/pn-market-web-components/p-5090bb1d.entry.js.map +0 -1
- package/pn-market-web-components/p-9d0ca27b.entry.js +0 -2
- package/pn-market-web-components/p-a30de538.entry.js +0 -2
- package/pn-market-web-components/p-a30de538.entry.js.map +0 -1
- package/pn-market-web-components/p-e3b2486a.js +0 -2
- package/pn-market-web-components/p-e3b2486a.js.map +0 -1
- /package/pn-market-web-components/{p-4a164ef8.entry.js.map → p-03728b0b.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-e43a36e0.entry.js.map → p-067c1c2f.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-2616cdc1.entry.js.map → p-191c8cfc.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-ca003c1f.entry.js.map → p-1a91c313.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-ab1e3dc2.entry.js.map → p-1f8304be.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-a3f601cb.entry.js.map → p-24ffac0a.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-12cafd55.entry.js.map → p-3aa74418.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-64f6691d.entry.js.map → p-42da7c5f.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-f0d423d0.entry.js.map → p-43748ca2.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-1c644b91.entry.js.map → p-466958a8.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-150da889.entry.js.map → p-4ab53d5d.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-118fe47d.entry.js.map → p-4d595345.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-0f6f715b.entry.js.map → p-4dac1980.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-a13f1f73.entry.js.map → p-4fcce83d.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-89fbca3b.entry.js.map → p-5a51d0b0.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-f4d2d0d3.entry.js.map → p-61346425.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-6e693269.entry.js.map → p-6b557670.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-e6d6a752.entry.js.map → p-70a71854.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-c0315c45.entry.js.map → p-76fb0c21.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-b2b2bae0.entry.js.map → p-81210644.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-d0f27361.entry.js.map → p-8382794b.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-8f25176b.entry.js.map → p-8519e39e.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-461c8792.entry.js.map → p-92b6477c.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-0d4d9d90.entry.js.map → p-9eab8192.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-40e632cc.entry.js.map → p-a3beee11.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-01fbf1ce.entry.js.map → p-a6935dc2.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-af646091.entry.js.map → p-a6dd3e4f.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-6d77e747.entry.js.map → p-af89c95a.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-c89f3d6b.entry.js.map → p-ba14b0ef.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-c7965104.entry.js.map → p-ba680948.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-11c6e458.entry.js.map → p-ba75bfdb.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-4149e715.entry.js.map → p-c186ec41.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-66c0c8dc.entry.js.map → p-c38707f9.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-671a8129.entry.js.map → p-c89cdd5a.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-4d848e18.entry.js.map → p-e8cd1608.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-4517a3d4.entry.js.map → p-ef090656.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-bd8ec517.entry.js.map → p-f3b4c13d.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-ff38b9a5.entry.js.map → p-f710445f.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-2e585ed5.entry.js.map → p-fcefe4a4.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-32bd2ff8.entry.js.map → p-ff6118f8.entry.js.map} +0 -0
|
@@ -0,0 +1,1519 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-9a9efa1c.js');
|
|
6
|
+
const index$1 = require('./index-a8de2b09.js');
|
|
7
|
+
const bars = require('./bars-3fdeb31f.js');
|
|
8
|
+
const close = require('./close-9e014a80.js');
|
|
9
|
+
const arrow_left = require('./arrow_left-71879efe.js');
|
|
10
|
+
const angle_small_down = require('./angle_small_down-f00f19b1.js');
|
|
11
|
+
const arrow_right = require('./arrow_right-66958158.js');
|
|
12
|
+
const open_in_new = require('./open_in_new-03e5ca56.js');
|
|
13
|
+
const pnMarketwebSiteheaderStore = require('./pn-marketweb-siteheader-store-7548aafe.js');
|
|
14
|
+
const search = require('./search-3785cc26.js');
|
|
15
|
+
|
|
16
|
+
const icon$2 = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M16.707 11.293a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L14.586 12 9.293 6.707a1 1 0 0 1 1.414-1.414z" clip-rule="evenodd"/></svg>';
|
|
17
|
+
const angle_small_right = icon$2;
|
|
18
|
+
|
|
19
|
+
const icon$1 = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M4.252 10A8 8 0 0 0 4 12c0 .69.088 1.36.252 2h3.166a13.8 13.8 0 0 1 0-4zm.818-2h2.795a13.6 13.6 0 0 1 1.719-3.629A8.02 8.02 0 0 0 5.07 8M12 4.48A11.7 11.7 0 0 0 9.972 8h4.056A11.7 11.7 0 0 0 12 4.48M14.557 10H9.443a11.8 11.8 0 0 0 0 4h5.114a11.8 11.8 0 0 0 0-4m2.025 4a13.8 13.8 0 0 0 0-4h3.166c.165.64.252 1.31.252 2s-.087 1.36-.252 2zm-2.554 2H9.972A11.7 11.7 0 0 0 12 19.52 11.7 11.7 0 0 0 14.028 16m-4.444 3.629A13.6 13.6 0 0 1 7.864 16H5.07a8.02 8.02 0 0 0 4.514 3.629m4.832 0A13.6 13.6 0 0 0 16.136 16h2.794a8.02 8.02 0 0 1-4.514 3.629M18.93 8h-2.795a13.6 13.6 0 0 0-1.719-3.629A8.02 8.02 0 0 1 18.93 8M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12" clip-rule="evenodd"/></svg>';
|
|
20
|
+
const globe = icon$1;
|
|
21
|
+
|
|
22
|
+
const icon = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M7.5 7.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0M12 5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.928 20.372a1 1 0 0 1-1.856-.743l.883.353a82 82 0 0 1-.883-.354v-.002l.001-.002.003-.007.008-.018a4 4 0 0 1 .114-.25c.078-.161.193-.383.35-.645.315-.523.8-1.217 1.495-1.911C6.444 15.39 8.688 14 12 14s5.556 1.391 6.957 2.793a10 10 0 0 1 1.494 1.911 8 8 0 0 1 .44.837q.016.036.025.058l.008.018.003.007.001.004-.883.354.883-.353a1 1 0 0 1-1.856.744v.001l.001.001v-.002a2 2 0 0 0-.07-.15 6 6 0 0 0-.267-.49 8 8 0 0 0-1.193-1.526C16.444 17.11 14.688 16 12 16s-4.444 1.109-5.543 2.207a8 8 0 0 0-1.193 1.526 6 6 0 0 0-.336.64m0 0-.001.003zm14.144.001" clip-rule="evenodd"/></svg>';
|
|
23
|
+
const user = icon;
|
|
24
|
+
|
|
25
|
+
const translations$1 = {
|
|
26
|
+
'sv': {
|
|
27
|
+
heading: 'Språk',
|
|
28
|
+
},
|
|
29
|
+
'en': {
|
|
30
|
+
heading: 'Language',
|
|
31
|
+
},
|
|
32
|
+
'da': {
|
|
33
|
+
heading: 'Sprog',
|
|
34
|
+
},
|
|
35
|
+
'no': {
|
|
36
|
+
heading: 'Språk',
|
|
37
|
+
},
|
|
38
|
+
'fi': {
|
|
39
|
+
heading: 'Kieli',
|
|
40
|
+
},
|
|
41
|
+
'de': {
|
|
42
|
+
heading: 'Sprache',
|
|
43
|
+
},
|
|
44
|
+
'zh': {
|
|
45
|
+
heading: '语言',
|
|
46
|
+
},
|
|
47
|
+
'fr': {
|
|
48
|
+
heading: 'Langue',
|
|
49
|
+
},
|
|
50
|
+
'es': {
|
|
51
|
+
heading: 'Idioma',
|
|
52
|
+
},
|
|
53
|
+
'nl': {
|
|
54
|
+
heading: 'Spraak',
|
|
55
|
+
},
|
|
56
|
+
'it': {
|
|
57
|
+
heading: 'Idioma',
|
|
58
|
+
},
|
|
59
|
+
'tr': {
|
|
60
|
+
heading: 'Dil',
|
|
61
|
+
},
|
|
62
|
+
'pl': {
|
|
63
|
+
heading: 'Język',
|
|
64
|
+
},
|
|
65
|
+
'pt': {
|
|
66
|
+
heading: 'Linguagem',
|
|
67
|
+
},
|
|
68
|
+
'pt-BR': {
|
|
69
|
+
heading: 'Linguagem',
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const pnLanguageSelectorCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-language-selector{--languageselector-toggle-color:#005d92;--languageselector-toggle-hover-color:#0d234b;--languageselector-toggle-background-color:#ffffff;--languageselector-title-color:#2d2013}pn-language-selector{max-height:5.2rem}.languageselector{position:relative}.languageselector-togglebtn{cursor:pointer;border:0;padding:0.64rem 0;background-color:var(--languageselector-toggle-background-color);color:var(--languageselector-toggle-color);font-size:1.6rem}.languageselector-togglebtn:hover,.languageselector-togglebtn:focus,.languageselector-togglebtn:active{color:var(--languageselector-toggle-hover-color);text-decoration:underline}.languageselector-togglebtn svg{width:1.9rem;height:1.9rem}.languageselector-title{display:flex;align-items:center;padding:0.8rem 1.6rem;color:var(--languageselector-title-color)}.languageselector-list{list-style:none;margin:0;padding:0}pn-language-selector[appearance=dark] button:hover pn-icon svg path{fill:#000000}";
|
|
74
|
+
const PnLanguageSelectorStyle0 = pnLanguageSelectorCss;
|
|
75
|
+
|
|
76
|
+
const PnlanguageSelector = class {
|
|
77
|
+
constructor(hostRef) {
|
|
78
|
+
index.registerInstance(this, hostRef);
|
|
79
|
+
this.setLanguage = index.createEvent(this, "setLanguage", 7);
|
|
80
|
+
this.value = '';
|
|
81
|
+
this.appearance = 'light';
|
|
82
|
+
this.selectedLanguageName = '';
|
|
83
|
+
this.options = [];
|
|
84
|
+
this.i18n = undefined;
|
|
85
|
+
}
|
|
86
|
+
get hostElement() { return index.getElement(this); }
|
|
87
|
+
// Events
|
|
88
|
+
setLanguage;
|
|
89
|
+
componentWillLoad() {
|
|
90
|
+
this.setInitialSelectedLanguageName();
|
|
91
|
+
this.setTranslations();
|
|
92
|
+
}
|
|
93
|
+
componentDidLoad() {
|
|
94
|
+
this.initialize();
|
|
95
|
+
}
|
|
96
|
+
initialize() {
|
|
97
|
+
this.setSelectedLanguageName();
|
|
98
|
+
this.addEventBindingsToOptions();
|
|
99
|
+
}
|
|
100
|
+
setInitialSelectedLanguageName() {
|
|
101
|
+
if (!window.Intl || !this.value) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const langs = new Intl.DisplayNames([this.value], { type: 'language' });
|
|
105
|
+
if (!langs) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const languageName = langs.of(this.value);
|
|
109
|
+
if (!languageName) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
this.selectedLanguageName = languageName.charAt(0).toUpperCase() + languageName.slice(1);
|
|
113
|
+
}
|
|
114
|
+
addEventBindingsToOptions() {
|
|
115
|
+
const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option'));
|
|
116
|
+
options.map((option) => {
|
|
117
|
+
option.removeEventListener('setCurrentLanguage', (event) => {
|
|
118
|
+
this.onSetCurrentLanguage(event.detail);
|
|
119
|
+
});
|
|
120
|
+
// Bind event listener for when a user change language
|
|
121
|
+
option.addEventListener('setCurrentLanguage', (event) => {
|
|
122
|
+
this.onSetCurrentLanguage(event.detail);
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
setSelectedLanguageName() {
|
|
127
|
+
const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option'));
|
|
128
|
+
options.map((option) => {
|
|
129
|
+
// Set current label of language selector
|
|
130
|
+
if (option.getAttribute('code') == this.value) {
|
|
131
|
+
// || option.getAttribute("selected") == "true"
|
|
132
|
+
this.selectedLanguageName = option.getAttribute('name');
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
onSetCurrentLanguage(option) {
|
|
137
|
+
this.value = option.code;
|
|
138
|
+
this.selectedLanguageName = option.name;
|
|
139
|
+
this.setLanguage.emit(this.value);
|
|
140
|
+
}
|
|
141
|
+
setTranslations() {
|
|
142
|
+
if (translations$1[this.value]) {
|
|
143
|
+
this.i18n = translations$1[this.value];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
onValueChange() {
|
|
147
|
+
const components = this.hostElement.querySelectorAll('pn-language-selector-option') ?? [];
|
|
148
|
+
components.forEach(component => {
|
|
149
|
+
// Pass values as props into slotted components
|
|
150
|
+
// component.setAttribute("current-language", this.value);
|
|
151
|
+
const isSelected = (component.getAttribute('code') === this.value) + '';
|
|
152
|
+
if (component.getAttribute('selected') + '' !== isSelected) {
|
|
153
|
+
component.setAttribute('selected', isSelected);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
render() {
|
|
158
|
+
return (index.h(index.Host, { key: '0ba1347ccc5175441a315db338775b9bcdabd7fc', value: this.value }, index.h("pn-button-dropdown", { key: '466f22c72836797e50ab8e90771b01231f288b84', label: this.selectedLanguageName, icon: globe, appearance: this.appearance, variant: "borderless", "aria-label": this.i18n.heading }, index.h("div", { key: '42dd5303f4118e72c6a6e5590ba66d094119c5b5', class: "languageselector-nav" }, index.h("strong", { key: '0e31f50c574d3a9c232a87f5fce335e543e04d10', class: "languageselector-title" }, this.i18n.heading), index.h("div", { key: 'e88f8090964f716ec4ac98393ddc6f89e4790575', class: "languageselector-list", role: "list" }, index.h("slot", { key: '67bf04a16414148371a8a7b56d67ede2c248a395' }))))));
|
|
159
|
+
}
|
|
160
|
+
static get watchers() { return {
|
|
161
|
+
"value": ["setSelectedLanguageName", "setTranslations", "onValueChange"]
|
|
162
|
+
}; }
|
|
163
|
+
};
|
|
164
|
+
PnlanguageSelector.style = PnLanguageSelectorStyle0;
|
|
165
|
+
|
|
166
|
+
const pnLanguageSelectorOptionCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-language-selector-option{--languageselector-option-background-color:#ffffff;--languageselector-option-color:#005d92;--languageselector-option-hover-background-color:#f3f2f2;--languageselector-option-hover-color:#005d92;--languageselector-option-radio-outer-background-color:#ffffff;--languageselector-option-radio-outer-border-color:#d3cecb;--languageselector-option-radio-outer-hover-background-color:#e0f8ff;--languageselector-option-radio-outer-hover-border-color:#005d92;--languageselector-option-radio-outer-selected-border-color:#005d92;--languageselector-option-radio-inner-background-color:#005d92;--languageselector-option-radio-focus-ring-color:#005d92}pn-language-selector-option{margin:0;padding:0;list-style:none}.languageselector-button,.languageselector-link{width:100%;padding:1.1rem 1.6rem 1.1rem 1.4rem;display:flex;align-items:center;position:relative;text-decoration:none;border:0;cursor:pointer;background-color:var(--languageselector-option-background-color);color:var(--languageselector-option-color);font-size:1.6rem;font-weight:bold;border-radius:0}.languageselector-button:hover,.languageselector-button:focus,.languageselector-button:active,.languageselector-link:hover,.languageselector-link:focus,.languageselector-link:active{text-decoration:underline;box-shadow:none;background-color:var(--languageselector-option-hover-background-color);color:var(--languageselector-option-hover-color);outline:none}.languageselector-itemtext{display:inline-block;margin-left:1rem}.languageselector-radio-outer{background:var(--languageselector-option-radio-outer-background-color);border:0.1em solid var(--languageselector-option-radio-outer-border-color);border-radius:50%;height:1.5em;width:1.5em;display:flex;justify-content:center;align-items:center;transition:border 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.1s;cursor:pointer}.languageselector-radio-outer:focus>.languageselector-radio-outer,.languageselector-radio-outer:active>.languageselector-radio-outer{box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem var(--languageselector-option-radio-focus-ring-color)}.languageselector-radio-outer:hover>.languageselector-radio-outer{border:0.1rem solid var(--languageselector-option-radio-outer-hover-border-color);background:var(--languageselector-option-radio-outer-hover-background-color)}[selected=true] .languageselector-radio-outer{border:0.1rem solid var(--languageselector-option-radio-outer-selected-border-color)}.languageselector-radio-inner{transform:scale(0);height:1em;width:1em;background-color:var(--languageselector-option-radio-inner-background-color);border-radius:50%;transform-origin:center center;transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}[selected=true] .languageselector-radio-inner{transform:scale(1)}";
|
|
167
|
+
const PnLanguageSelectorOptionStyle0 = pnLanguageSelectorOptionCss;
|
|
168
|
+
|
|
169
|
+
const PnlanguageSelectorOption = class {
|
|
170
|
+
constructor(hostRef) {
|
|
171
|
+
index.registerInstance(this, hostRef);
|
|
172
|
+
this.setCurrentLanguage = index.createEvent(this, "setCurrentLanguage", 7);
|
|
173
|
+
this.name = '';
|
|
174
|
+
this.code = '';
|
|
175
|
+
this.url = '';
|
|
176
|
+
this.selected = false;
|
|
177
|
+
this.currentLanguage = undefined;
|
|
178
|
+
}
|
|
179
|
+
spanEl;
|
|
180
|
+
setCurrentLanguage;
|
|
181
|
+
onOptionClick() {
|
|
182
|
+
const currentlanguage = {
|
|
183
|
+
name: this.name,
|
|
184
|
+
code: this.code,
|
|
185
|
+
url: this.url,
|
|
186
|
+
current: true,
|
|
187
|
+
};
|
|
188
|
+
this.setCurrentLanguage.emit(currentlanguage);
|
|
189
|
+
}
|
|
190
|
+
componentDidLoad() {
|
|
191
|
+
if (this.spanEl) {
|
|
192
|
+
this.spanEl.setAttribute("xml:lang", this.code);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
render() {
|
|
196
|
+
return (index.h(index.Host, { key: 'e51472e1c8226270ed869445dbbe59084758f73f', role: "listitem", selected: this.selected + '', code: this.code, name: this.name }, !this.url ? (index.h("button", { class: "languageselector-button", "data-langcode": this.code, onClick: this.onOptionClick.bind(this) }, index.h("span", { class: "languageselector-radio-outer" }, index.h("span", { class: "languageselector-radio-inner" })), index.h("span", { ref: (el) => (this.spanEl = el), lang: this.code, class: "languageselector-itemtext" }, this.name, " - ", this.code))) : (index.h("a", { href: this.url, target: "_self", class: "languageselector-link", "data-langcode": this.code }, index.h("span", { class: "languageselector-radio-outer" }, index.h("span", { class: "languageselector-radio-inner" })), index.h("span", { ref: (el) => (this.spanEl = el), lang: this.code, class: "languageselector-itemtext" }, this.name, " - ", this.code)))));
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
PnlanguageSelectorOption.style = PnLanguageSelectorOptionStyle0;
|
|
200
|
+
|
|
201
|
+
const translations = {
|
|
202
|
+
'sv': {
|
|
203
|
+
menuHomeButton: 'Hem',
|
|
204
|
+
menuGoBackButton: 'Gå tillbaka',
|
|
205
|
+
mainMenuButton: 'Meny',
|
|
206
|
+
menuStartButton: 'Start',
|
|
207
|
+
navLabel: 'Huvudnavigation',
|
|
208
|
+
},
|
|
209
|
+
'en': {
|
|
210
|
+
menuHomeButton: 'Home',
|
|
211
|
+
menuGoBackButton: 'Go back',
|
|
212
|
+
mainMenuButton: 'Menu',
|
|
213
|
+
menuStartButton: 'Start',
|
|
214
|
+
navLabel: 'Main navigation',
|
|
215
|
+
},
|
|
216
|
+
'da': {
|
|
217
|
+
menuHomeButton: 'Hjem',
|
|
218
|
+
menuGoBackButton: 'Gå tilbage',
|
|
219
|
+
mainMenuButton: 'Menu',
|
|
220
|
+
menuStartButton: 'Start',
|
|
221
|
+
navLabel: 'Hovednavigation',
|
|
222
|
+
},
|
|
223
|
+
'no': {
|
|
224
|
+
menuHomeButton: 'Hjem',
|
|
225
|
+
menuGoBackButton: 'Gå tilbake',
|
|
226
|
+
mainMenuButton: 'Meny',
|
|
227
|
+
menuStartButton: 'Start',
|
|
228
|
+
navLabel: 'Hovednavigasjon',
|
|
229
|
+
},
|
|
230
|
+
'de': {
|
|
231
|
+
menuHomeButton: 'Home',
|
|
232
|
+
menuGoBackButton: 'Geh zurück',
|
|
233
|
+
mainMenuButton: 'Menü',
|
|
234
|
+
menuStartButton: 'Start',
|
|
235
|
+
navLabel: 'Hauptnavigation',
|
|
236
|
+
},
|
|
237
|
+
'zh': {
|
|
238
|
+
menuHomeButton: 'Home',
|
|
239
|
+
menuGoBackButton: 'Go back',
|
|
240
|
+
mainMenuButton: 'Menu',
|
|
241
|
+
menuStartButton: 'Start',
|
|
242
|
+
navLabel: 'Main navigation',
|
|
243
|
+
},
|
|
244
|
+
'it': {
|
|
245
|
+
menuHomeButton: 'Home',
|
|
246
|
+
menuGoBackButton: 'Go back',
|
|
247
|
+
mainMenuButton: 'Menu',
|
|
248
|
+
menuStartButton: 'Start',
|
|
249
|
+
navLabel: 'Main navigation',
|
|
250
|
+
},
|
|
251
|
+
'nl': {
|
|
252
|
+
menuHomeButton: 'Home',
|
|
253
|
+
menuGoBackButton: 'Go back',
|
|
254
|
+
mainMenuButton: 'Menu',
|
|
255
|
+
menuStartButton: 'Start',
|
|
256
|
+
navLabel: 'Main navigation',
|
|
257
|
+
},
|
|
258
|
+
'tr': {
|
|
259
|
+
menuHomeButton: 'Anasayfa',
|
|
260
|
+
menuGoBackButton: 'Geri git',
|
|
261
|
+
mainMenuButton: 'Menü',
|
|
262
|
+
menuStartButton: 'Başlat',
|
|
263
|
+
navLabel: 'Ana gezinme',
|
|
264
|
+
},
|
|
265
|
+
'pt': {
|
|
266
|
+
menuHomeButton: 'Página inicial',
|
|
267
|
+
menuGoBackButton: 'Go back',
|
|
268
|
+
mainMenuButton: 'Menu',
|
|
269
|
+
menuStartButton: 'Start',
|
|
270
|
+
navLabel: 'Main navigation',
|
|
271
|
+
},
|
|
272
|
+
'pl': {
|
|
273
|
+
menuHomeButton: 'Strona główna',
|
|
274
|
+
menuGoBackButton: 'Powrót',
|
|
275
|
+
mainMenuButton: 'Menu',
|
|
276
|
+
menuStartButton: 'Początek',
|
|
277
|
+
navLabel: 'Menu główne systemu',
|
|
278
|
+
},
|
|
279
|
+
'pt-BR': {
|
|
280
|
+
menuHomeButton: 'Página inicial',
|
|
281
|
+
menuGoBackButton: 'Voltar',
|
|
282
|
+
mainMenuButton: 'Menu',
|
|
283
|
+
menuStartButton: 'Iniciar',
|
|
284
|
+
navLabel: 'Navegação principal',
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
|
|
289
|
+
const { state: state$1, onChange: onChange$1 } = index$1.createStore({
|
|
290
|
+
openLevel: '',
|
|
291
|
+
currentLevel: 1,
|
|
292
|
+
openMenu: false,
|
|
293
|
+
i18n: {
|
|
294
|
+
menuHomeButton: '',
|
|
295
|
+
menuGoBackButton: '',
|
|
296
|
+
mainMenuButton: '',
|
|
297
|
+
menuStartButton: '',
|
|
298
|
+
navLabel: '',
|
|
299
|
+
},
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
const pnMainnavCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav{--mainnav-nav-background-color:#ffffff;--mainnav-toggle-background-color:#005d92;--mainnav-toggle-text-color:#ffffff;--mainnav-toggle-border-radius:2.4rem;--mainnav-toggle-padding:0.6rem 1.6rem;--mainnav-toggle-font-size:1.6rem;--mainnav-top-position:var(--siteheader-mainnav-top-position-mobile,3em)}pn-mainnav{display:flex;flex-flow:row-reverse;position:relative;width:100%;min-height:5.1rem}@media screen and (min-width: 48em){pn-mainnav{flex-flow:row}}@media screen and (min-width: 64em){pn-mainnav{flex-flow:column}}@media screen and (min-width: 64em){pn-mainnav [slot=footer]{display:none}}pn-mainnav>nav{display:flex;flex-flow:column;position:fixed;top:var(--mainnav-top-position);bottom:0;left:0;width:100vw;height:auto;background-color:var(--mainnav-nav-background-color);z-index:2;visibility:hidden;transform:translateX(100vw);transition:transform 0.2s 0s;transition-property:transform, visibility}@media screen and (min-width: 48em){pn-mainnav>nav{top:6.5em}}@media screen and (min-width: 64em){pn-mainnav>nav{flex-flow:row-reverse;position:static;top:0;width:100%;height:auto;justify-content:space-between;visibility:visible;transform:translateX(0)}}pn-mainnav>nav a{text-decoration:none}pn-mainnav>nav button{cursor:pointer}.mainnav-toggle{display:flex;align-items:center;align-self:center}@media screen and (min-width: 64em){.mainnav-toggle{display:none}}.mainnav-toggle>button{display:flex;align-items:center;background-color:var(--mainnav-toggle-background-color);color:var(--mainnav-toggle-text-color);border:none;border-radius:var(--mainnav-toggle-border-radius);padding:var(--mainnav-toggle-padding);cursor:pointer;font-size:var(--mainnav-toggle-font-size)}.mainnav-toggle>button:focus{outline:0}.mainnav-toggle>button pn-icon{display:block;margin-left:0.8rem}.mainnav-toggle>button svg{display:block;margin:-0.2rem -0.5rem -0.2rem 0;width:1.9rem;height:1.9rem}pn-mainnav>nav[data-menu-open=true]{visibility:visible;transform:translateX(0)}";
|
|
303
|
+
const PnMainnavStyle0 = pnMainnavCss;
|
|
304
|
+
|
|
305
|
+
const PnMainnav = class {
|
|
306
|
+
constructor(hostRef) {
|
|
307
|
+
index.registerInstance(this, hostRef);
|
|
308
|
+
this.menuLanguageChange = index.createEvent(this, "menuLanguageChange", 7);
|
|
309
|
+
this.marketChange = index.createEvent(this, "marketChange", 7);
|
|
310
|
+
this.menuOpenChange = index.createEvent(this, "menuOpenChange", 7);
|
|
311
|
+
this.market = 'se';
|
|
312
|
+
this.language = 'sv';
|
|
313
|
+
this.navigationId = 'mainnav';
|
|
314
|
+
this.openMenu = false;
|
|
315
|
+
this.navLabel = '';
|
|
316
|
+
}
|
|
317
|
+
get hostElement() { return index.getElement(this); }
|
|
318
|
+
menuLanguageChange; // Could not use language change since it's a existing window event
|
|
319
|
+
marketChange;
|
|
320
|
+
menuOpenChange;
|
|
321
|
+
componentWillLoad() {
|
|
322
|
+
this.init();
|
|
323
|
+
document.removeEventListener('mousedown', this._onClickOutside.bind(this));
|
|
324
|
+
document.addEventListener('mousedown', this._onClickOutside.bind(this));
|
|
325
|
+
}
|
|
326
|
+
async init() {
|
|
327
|
+
this.setLanguage();
|
|
328
|
+
this.setMarket();
|
|
329
|
+
}
|
|
330
|
+
_onClickOutside(event) {
|
|
331
|
+
const clickedOutside = !this.hostElement.contains(event.target);
|
|
332
|
+
if (clickedOutside) {
|
|
333
|
+
state$1.openLevel = '';
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
setLanguage() {
|
|
337
|
+
this.menuLanguageChange.emit(this.language);
|
|
338
|
+
}
|
|
339
|
+
setMarket() {
|
|
340
|
+
this.marketChange.emit(this.market);
|
|
341
|
+
}
|
|
342
|
+
onLanguageChange(event) {
|
|
343
|
+
if (translations[event.detail]) {
|
|
344
|
+
state$1.i18n = translations[event.detail];
|
|
345
|
+
if (!this.navLabel) {
|
|
346
|
+
this.navLabel = state$1.i18n.navLabel;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
setMenuOpenState() {
|
|
351
|
+
state$1.openMenu = !state$1.openMenu;
|
|
352
|
+
this.menuOpenChange.emit(state$1.openMenu);
|
|
353
|
+
}
|
|
354
|
+
onOpenMenuLevelChange(event) {
|
|
355
|
+
state$1.openLevel = event.detail;
|
|
356
|
+
}
|
|
357
|
+
render() {
|
|
358
|
+
return (index.h(index.Host, { key: '1b30fcc03e3f10d965469b31cdb62617cdc16c8b' }, index.h("div", { key: 'df334e4a7a9c9a34a2dddebab2d5b5f9d815e8c0', class: "mainnav-toggle" }, index.h("button", { key: '094bcd9687a0dfe49de1cf442ec18d766e97b998', "aria-controls": this.navigationId, "aria-expanded": state$1.openMenu + '', onClick: this.setMenuOpenState.bind(this) }, state$1.i18n.mainMenuButton, index.h("pn-icon", { key: '92d31dd8f0842406ac92ca0930b4862e64805ae2', icon: state$1.openMenu ? close.close : bars.bars, color: "white" }))), index.h("nav", { key: 'c583056ed35ca91dc776e2a4f7d568a353c0f27d', class: "mainnav", "aria-label": this.navLabel, "data-menu-open": state$1.openMenu + '', "data-menu-currentlevel": state$1.currentLevel, id: this.navigationId }, index.h("slot", { key: 'e66850f10c8b2d2963d93b4fc9bfead91be77777' }))));
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
PnMainnav.style = PnMainnavStyle0;
|
|
362
|
+
|
|
363
|
+
const pnMainnavLevelCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav-level{--mainnav-level-bg:#ffffff;--mainnav-level-link-color:#005d92;--mainnav-level-2-border-top-left-radius-desktop:var(--siteheader-mainnav-level-2-border-top-left-radius-desktop, 1rem);--mainnav-level-2-border-top-right-radius-desktop:var(--siteheader-mainnav-level-2-border-top-right-radius-desktop, 1rem);--mainnav-level-2-border-bottom-right-radius-desktop:var(--siteheader-mainnav-level-2-border-bottom-right-radius-desktop, 1rem);--mainnav-level-2-border-bottom-left-radius-desktop:var(--siteheader-mainnav-level-2-border-bottom-left-radius-desktop, 1rem);--mainnav-level-2-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);--mainnav-level-header-button-color:#005d92;--mainnav-level-header-link-font-size:2.4rem;--mainnav-level-header-icon-size:2.4rem}pn-mainnav-level{display:block}pn-mainnav-level:not(.hydrated){max-height:5.6rem;overflow:hidden}pn-mainnav-level[data-level=\"1\"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"1\"]{width:auto;overflow:initial}pn-mainnav-level[data-level=\"1\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:var(--mainnav-level-bg);z-index:1;transform:translateX(100vw);transition:transform 0.2s 0s;transition-property:transform, visibility;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]{top:calc(100% + 1rem);bottom:auto;width:auto;height:auto;padding:1.6rem 1.6rem 0 1.6rem;border-top-left-radius:var(--mainnav-level-2-border-top-left-radius-desktop);border-top-right-radius:var(--mainnav-level-2-border-top-right-radius-desktop);border-bottom-right-radius:var(--mainnav-level-2-border-bottom-right-radius-desktop);border-bottom-left-radius:var(--mainnav-level-2-border-bottom-left-radius-desktop);display:none;z-index:3;box-shadow:var(--mainnav-level-2-shadow)}pn-mainnav-level[data-level=\"2\"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level=\"2\"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level=\"2\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]:not([data-level-listcount=\"1\"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0 1.6rem;grid-template-areas:\"top top\" \"left right\"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=center]{left:50%;transform:translateX(-50%)}}pn-mainnav-level[data-level=\"2\"] a{color:var(--mainnav-level-link-color);text-decoration:none}pn-mainnav-level [slot=top]{display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}[data-menu-currentlevel=\"2\"] pn-mainnav-level [slot=footer]{display:none;overscroll-behavior:contain}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;width:100%;padding:2.4rem 0 2.4rem 6.2rem;border:none;background-color:transparent;color:var(--mainnav-level-header-button-color);text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;top:50%;left:3rem;width:var(--mainnav-level-header-icon-size);height:var(--mainnav-level-header-icon-size);transform:translateY(-50%)}[data-level=\"2\"] .mainnav-level-header>pn-mainnav-link>a{font-size:var(--mainnav-level-header-link-font-size)}";
|
|
364
|
+
const PnMainnavLevelStyle0 = pnMainnavLevelCss;
|
|
365
|
+
|
|
366
|
+
const PnMainnavLevel = class {
|
|
367
|
+
constructor(hostRef) {
|
|
368
|
+
index.registerInstance(this, hostRef);
|
|
369
|
+
this.label = '';
|
|
370
|
+
this.level = 1;
|
|
371
|
+
this.levelId = '';
|
|
372
|
+
this.isOpen = false;
|
|
373
|
+
this.parentName = '';
|
|
374
|
+
this.parentHref = '';
|
|
375
|
+
this.parentLinkId = '';
|
|
376
|
+
this.listCount = 0;
|
|
377
|
+
this.alignment = 'right';
|
|
378
|
+
}
|
|
379
|
+
get hostElement() { return index.getElement(this); }
|
|
380
|
+
async componentWillLoad() {
|
|
381
|
+
this.setState();
|
|
382
|
+
onChange$1('openLevel', () => {
|
|
383
|
+
this.onChangeOpenLevel();
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
setState() {
|
|
387
|
+
this.listCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-list').length;
|
|
388
|
+
const parentElm = this.hostElement.parentElement;
|
|
389
|
+
if (parentElm.tagName.toLowerCase() !== 'nav') {
|
|
390
|
+
this.level = 2;
|
|
391
|
+
}
|
|
392
|
+
if (parentElm.tagName.toLowerCase() === 'pn-mainnav-link') {
|
|
393
|
+
this.parentName = parentElm.getAttribute('name') + '';
|
|
394
|
+
if ((!this.label && this.parentName) || this.label !== this.parentName) {
|
|
395
|
+
this.label = this.parentName;
|
|
396
|
+
}
|
|
397
|
+
this.parentHref = parentElm.getAttribute('href') + '';
|
|
398
|
+
this.parentLinkId = parentElm.getAttribute('linkid') + '';
|
|
399
|
+
const parentLinkName = this.parentName.toLowerCase().replace(/\W/gi, '_');
|
|
400
|
+
this.levelId = `mainnav-lvl${this.level}-${parentLinkName}`;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
onOpen() {
|
|
404
|
+
if (this.level === 2) {
|
|
405
|
+
requestAnimationFrame(() => {
|
|
406
|
+
const levelClientRect = this.hostElement.getClientRects()[0];
|
|
407
|
+
if (!levelClientRect) {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
const navElm = this.hostElement.parentElement.parentElement.parentElement.parentElement;
|
|
411
|
+
if (navElm && navElm.tagName.toLowerCase() === 'nav') {
|
|
412
|
+
const navClientRect = navElm.getClientRects()[0];
|
|
413
|
+
if (!navClientRect) {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
if (levelClientRect.right > window.innerWidth) {
|
|
417
|
+
const levelParentRect = this.hostElement.parentElement.getClientRects()[0];
|
|
418
|
+
if (levelParentRect.left - levelClientRect.width < 0) {
|
|
419
|
+
this.alignment = 'center';
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
this.alignment = 'left';
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
onChangeOpenLevel() {
|
|
430
|
+
this.isOpen = state$1.openLevel === this.levelId;
|
|
431
|
+
state$1.currentLevel = this.level;
|
|
432
|
+
}
|
|
433
|
+
render() {
|
|
434
|
+
return (index.h(index.Host, { key: 'ac243e3360d377e5d6324117225f2f8a769c43f5', ...(this.level > 1 && this.levelId ? { 'aria-hidden': !this.isOpen + '' } : {}), "data-level-listcount": this.listCount + '', "data-level-alignment": this.alignment, "data-level": this.level + '', ...(this.levelId ? { id: this.levelId } : {}) }, this.level > 1 ? (index.h("div", { class: "mainnav-level-header" }, index.h("label", { htmlFor: this.levelId }, state$1.i18n.menuGoBackButton), index.h("button", { class: "secondlevel-backbtn", onClick: () => {
|
|
435
|
+
state$1.openLevel = '';
|
|
436
|
+
state$1.currentLevel = 1;
|
|
437
|
+
}, "aria-expanded": (state$1.openLevel === this.levelId) + '' }, index.h("pn-icon", { icon: arrow_left.arrow_left, color: "blue700" }), state$1.i18n.menuStartButton), this.parentHref && this.label ? index.h("pn-mainnav-link", { href: this.parentHref, name: this.label, linkid: this.parentLinkId }) : null)) : null, index.h("slot", { key: '824623c0a89c4c15a23e866f90adf24584dee75e', name: "top" }), index.h("slot", { key: '9da0b6a172b8bcf943f31d72080c0a635284bbb9' }), index.h("slot", { key: '6bded6f5615ad6bbb6f721add8c558974f2fde3e', name: "additional" }), index.h("slot", { key: '02a3446012d0d132a805a207972c7034a3d8a4cf', name: "footer" })));
|
|
438
|
+
}
|
|
439
|
+
static get watchers() { return {
|
|
440
|
+
"label": ["setState"],
|
|
441
|
+
"isOpen": ["onOpen"]
|
|
442
|
+
}; }
|
|
443
|
+
};
|
|
444
|
+
PnMainnavLevel.style = PnMainnavLevelStyle0;
|
|
445
|
+
|
|
446
|
+
const pnMainnavLinkCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav-link{--mainnav-link-active-desktop-color:var(--siteheader-mainnav-link-active-desktop-color, #005d92);--mainnav-link-level1-indicator-color:var(--siteheader-mainnav-link-level1-indicator-color, #00a0d6);--mainnav-link-level1-indicator-active-color:var(--siteheader-mainnav-link-level1-indicator-active-color, #8eddf9);--mainnav-link-level1-first-border-top:0.1rem solid #f3f2f2;--mainnav-link-level1-border-bottom:var(--siteheader-mainnav-link-level1-border-bottom, 0.1rem solid #f3f2f2);--mainnav-link-level2-border-bottom:var(--siteheader-mainnav-link-level2-border-bottom, 0.1rem solid #f3f2f2)}pn-mainnav-link{display:block}pn-mainnav-link button,pn-mainnav-link a{position:relative;display:flex;align-items:center;border:0 none;background-color:transparent;color:#005d92;font-weight:normal}pn-mainnav-link button:hover,pn-mainnav-link button:focus,pn-mainnav-link a:hover,pn-mainnav-link a:focus{background-color:#ffffff;color:#005d92;outline:0;box-shadow:none}pn-mainnav-link button:active,pn-mainnav-link a:active{background-color:#f3f2f2;color:#00a0d6;box-shadow:none}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link{position:relative;height:100%;padding-left:0;scroll-snap-align:center}}[data-level=\"1\"] pn-mainnav-link:first-child{border-top:var(--mainnav-link-level1-first-border-top)}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link:first-child{border:0}}[data-level=\"1\"] pn-mainnav-link>button,[data-level=\"1\"] pn-mainnav-link>a{width:100%;height:auto;padding:1.9rem 0 1.9rem 3rem;border-bottom:var(--mainnav-link-level1-border-bottom);font-size:2rem}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button,[data-level=\"1\"] pn-mainnav-link>a{position:relative;height:100%;overflow:hidden;padding:1.6rem 1.6rem;border:0;outline:0;white-space:nowrap;font-size:1.6rem;font-weight:normal}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button::before,[data-level=\"1\"] pn-mainnav-link>a::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:0.5em;background-color:var(--mainnav-link-level1-indicator-color);border-radius:0.5em 0.5em 0 0;transform:translateY(100%);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:hover::before,[data-level=\"1\"] pn-mainnav-link>button:focus::before,[data-level=\"1\"] pn-mainnav-link>a:hover::before,[data-level=\"1\"] pn-mainnav-link>a:focus::before{transform:translateY(0)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:active,[data-level=\"1\"] pn-mainnav-link>a:active{color:var(--mainnav-link-active-desktop-color);outline:0;box-shadow:none}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:active::before,[data-level=\"1\"] pn-mainnav-link>a:active::before{background-color:var(--mainnav-link-level1-indicator-active-color);transform:translateY(0)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:hover,[data-level=\"1\"] pn-mainnav-link>button:focus,[data-level=\"1\"] pn-mainnav-link>a:hover,[data-level=\"1\"] pn-mainnav-link>a:focus{text-decoration:none}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button[aria-expanded=true]::before,[data-level=\"1\"] pn-mainnav-link>a[aria-expanded=true]::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:0.5em;background-color:var(--mainnav-link-level1-indicator-color);border-radius:0.5em 0.5em 0 0;transform:translateY(0);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}}[data-level=\"1\"] pn-mainnav-link [aria-expanded=true] .first-level_icon{transform:rotateX(180deg)}[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_icon{display:none;width:1.92rem;height:1.92rem;transition:0.25s linear transform}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_icon{display:block}}[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow{display:block;position:absolute;top:50%;right:2.4rem;width:2.4rem;height:2.4rem;transform:translateY(-50%)}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow{display:none}}[data-level=\"1\"] pn-mainnav-link pn-icon svg{width:100%;height:100%;pointer-events:none;speak:none}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]:not([data-level-listcount=\"1\"]) pn-mainnav-list:last-child pn-mainnav-link>a{min-width:unset}}[data-level=\"2\"] pn-mainnav-link{position:static;display:inline-block;width:100%;height:auto}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link{margin-bottom:1.6rem;padding-left:0}}[data-level=\"2\"] pn-mainnav-link>a{padding:2.2rem 0 2.2rem 3rem;border-bottom:var(--mainnav-link-level2-border-bottom);white-space:normal;font-size:1.6rem}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a{min-width:16em;padding:1.4rem 1.6rem;border:0;border-radius:1rem}}[data-level=\"2\"] pn-mainnav-link>a:hover{background-color:#ffffff;color:#005d92}[data-level=\"2\"] pn-mainnav-link>a:hover,[data-level=\"2\"] pn-mainnav-link>a:focus{box-shadow:none}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a:hover,[data-level=\"2\"] pn-mainnav-link>a:focus{background-color:#f3f2f2;color:#005d92;text-decoration:underline;outline:0}}[data-level=\"2\"] pn-mainnav-link>a:hover::before,[data-level=\"2\"] pn-mainnav-link>a:focus::before{content:none}[data-level=\"2\"] pn-mainnav-link>a:active{box-shadow:none}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a:active{background-color:#f3f2f2;color:#00a0d6;outline:0}}[data-level=\"2\"] pn-mainnav-link>a:active::before{content:none}[data-level=\"2\"] pn-mainnav-link pn-icon{display:inline-block;width:1.5rem;height:1.5rem;min-width:1.5rem;margin-left:0.2em}[data-level=\"2\"] pn-mainnav-link pn-icon svg{width:100%;height:100%;pointer-events:none;speak:none}";
|
|
447
|
+
const PnMainnavLinkStyle0 = pnMainnavLinkCss;
|
|
448
|
+
|
|
449
|
+
const PnMainnavLink = class {
|
|
450
|
+
constructor(hostRef) {
|
|
451
|
+
index.registerInstance(this, hostRef);
|
|
452
|
+
this.name = '';
|
|
453
|
+
this.href = '';
|
|
454
|
+
this.target = '';
|
|
455
|
+
this.linkid = '';
|
|
456
|
+
this.levelId = '';
|
|
457
|
+
this.open = false;
|
|
458
|
+
this.hasChildren = false;
|
|
459
|
+
}
|
|
460
|
+
get hostElement() { return index.getElement(this); }
|
|
461
|
+
componentWillLoad() {
|
|
462
|
+
this.hasChildren = this.hostElement.querySelectorAll('pn-mainnav-level').length > 0;
|
|
463
|
+
if (this.hasChildren && this.name) {
|
|
464
|
+
const safeLevelName = this.name.toLowerCase().replace(/\W/gi, '_');
|
|
465
|
+
this.levelId = `mainnav-lvl${2}-${safeLevelName}`;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
setOpenMenuLevel() {
|
|
469
|
+
state$1.openLevel = state$1.openLevel + '' === this.levelId + '' ? '' : this.levelId;
|
|
470
|
+
}
|
|
471
|
+
render() {
|
|
472
|
+
return (index.h(index.Host, { key: '3c93d6d6fa93518b592e3a91f7a19b8875d8a786', role: "listitem", name: this.name, href: this.href, linkid: this.linkid }, this.hasChildren ? (index.h("button", { onClick: this.setOpenMenuLevel.bind(this), "aria-controls": this.levelId, "aria-expanded": (state$1.openLevel + '' === this.levelId + '') + '', "aria-haspopup": "true" }, this.name, index.h("pn-icon", { class: "first-level_icon", icon: angle_small_down.angle_small_down, color: "blue700" }), index.h("pn-icon", { class: "first-level_arrow", icon: arrow_right.arrow_right, color: "blue700" }))) : (index.h("a", { href: this.href, ...(this.target ? { target: this.target } : {}), ...(this.target === '_blank' ? { rel: 'nofollow noopener' } : {}), ...(this.linkid ? { id: this.linkid } : {}) }, this.name, this.target === '_blank' ? index.h("pn-icon", { icon: open_in_new.open_in_new, color: "blue700" }) : null)), index.h("slot", { key: '365a480af84435a0d0ae0c9c95cf5461410f539f' })));
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
PnMainnavLink.style = PnMainnavLinkStyle0;
|
|
476
|
+
|
|
477
|
+
const pnMainnavListCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav-list{--mainnav-list-secondary-border-right:0.1rem solid #d3cecb;--mainnav-list-heading-font-size:1.8rem;--mainnav-list-heading-color:var(--siteheader-mainnav-list-heading-color, #000000)}pn-mainnav-list{display:block;overflow:visible;list-style:none;margin:0;padding:0;grid-area:right}@media screen and (min-width: 64em){pn-mainnav-list+pn-mainnav-list{grid-area:left;border-right:var(--mainnav-list-secondary-border-right);margin-bottom:1.6rem;margin-right:-0.7rem;padding-right:0.7rem}}[data-level=\"1\"]>pn-mainnav-list{overflow:scroll;-webkit-overflow-scrolling:touch}@media screen and (min-width: 64em){[data-level=\"1\"]>pn-mainnav-list{height:100%;display:flex;flex-flow:row;overflow:visible;padding:0}}@media screen and (min-width: 64em){[data-level=\"2\"]>pn-mainnav-list[data-navlist-showcolumns=true]{column-count:2;column-gap:1.6rem;padding-bottom:1.6rem}}.mainnav-list-heading{display:none;font-weight:bold;column-span:all;font-size:var(--mainnav-list-heading-font-size);padding:1.4rem 1.4rem 1.4rem 4.8rem;color:var(--mainnav-list-heading-color)}@media screen and (min-width: 64em){.mainnav-list-heading{display:block;padding:0 1.4rem 1.4rem 1.4rem}}";
|
|
478
|
+
const PnMainnavListStyle0 = pnMainnavListCss;
|
|
479
|
+
|
|
480
|
+
const PnMainnavList = class {
|
|
481
|
+
constructor(hostRef) {
|
|
482
|
+
index.registerInstance(this, hostRef);
|
|
483
|
+
this.heading = '';
|
|
484
|
+
this.linkCount = 0;
|
|
485
|
+
}
|
|
486
|
+
get hostElement() { return index.getElement(this); }
|
|
487
|
+
componentWillLoad() {
|
|
488
|
+
this.linkCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-link').length;
|
|
489
|
+
}
|
|
490
|
+
render() {
|
|
491
|
+
return (index.h(index.Host, { key: '3f433037d2fc867c74a1f5759fadb2f4fffd2c57', class: "mainnav-list", role: "list", "data-navlist-itemcount": this.linkCount + '', "data-navlist-showcolumns": (this.linkCount >= 8) + '' }, this.heading ? index.h("div", { class: "mainnav-list-heading" }, this.heading) : null, index.h("slot", { key: '52fd5e61c361e7660f43780fbdf8050835cc7c16' })));
|
|
492
|
+
}
|
|
493
|
+
};
|
|
494
|
+
PnMainnavList.style = PnMainnavListStyle0;
|
|
495
|
+
|
|
496
|
+
class MarketWebLoginManager {
|
|
497
|
+
eventTarget = window ?? document?.body;
|
|
498
|
+
endpoint = '';
|
|
499
|
+
storagePrefix = 'pn-user';
|
|
500
|
+
checkUserLoggedInStateInterval = 0;
|
|
501
|
+
baseUrls = {
|
|
502
|
+
at: 'https://atportal.postnord.com/api/unified-login/backend',
|
|
503
|
+
prod: 'https://portal.postnord.com/api/unified-login/backend',
|
|
504
|
+
};
|
|
505
|
+
events = {
|
|
506
|
+
loginstatechange: 'loginstatechange',
|
|
507
|
+
};
|
|
508
|
+
endpoints = {
|
|
509
|
+
authorizationEndpoint: `/authorization`,
|
|
510
|
+
tokenExchangeEndpoint: `/token`,
|
|
511
|
+
userInfoEndpoint: `/user`,
|
|
512
|
+
logoutEndpoint: `/logout`,
|
|
513
|
+
};
|
|
514
|
+
keys = {
|
|
515
|
+
tokensource: 'tokensource',
|
|
516
|
+
token: 'token',
|
|
517
|
+
accessToken: 'accessToken',
|
|
518
|
+
user: 'user',
|
|
519
|
+
expire: 'expire',
|
|
520
|
+
expireDate: 'expiredate',
|
|
521
|
+
};
|
|
522
|
+
overridetokenValue = 'overridetokenValue';
|
|
523
|
+
siteUrl = window.location.origin;
|
|
524
|
+
abortSignalForLoginCheck = null;
|
|
525
|
+
loginCheckInProgress = false;
|
|
526
|
+
loginCheckTimer = null;
|
|
527
|
+
constructor(options = null) {
|
|
528
|
+
if (!options) {
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
this.eventTarget = options.eventTarget ? options.eventTarget : this.eventTarget;
|
|
532
|
+
this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;
|
|
533
|
+
this.storagePrefix ??= options.storagePrefix;
|
|
534
|
+
this.checkUserLoggedInStateInterval =
|
|
535
|
+
options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0 ? parseInt(options.checkUserLoggedInStateInterval + '', 10) : 0;
|
|
536
|
+
if (options.userInfo) {
|
|
537
|
+
this.store.set(this.keys.user, options.userInfo);
|
|
538
|
+
this.registerToken(this.overridetokenValue, 'override');
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
init(checkParameters = true) {
|
|
542
|
+
if (checkParameters) {
|
|
543
|
+
this.checkParameters();
|
|
544
|
+
this.checkPNTopbar();
|
|
545
|
+
this.checkExpireTime();
|
|
546
|
+
if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {
|
|
547
|
+
this.fetchUserInfo();
|
|
548
|
+
}
|
|
549
|
+
this.loginStateChange();
|
|
550
|
+
if (this.checkUserLoggedInStateInterval > 0) {
|
|
551
|
+
this.initiateLoggedInCheck();
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
setSiteUrl(siteUrl) {
|
|
556
|
+
if (siteUrl) {
|
|
557
|
+
this.siteUrl = siteUrl;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
initiateLoggedInCheck() {
|
|
561
|
+
if (this.isLoggedIn()) {
|
|
562
|
+
if (window && window['AbortController']) {
|
|
563
|
+
this.abortSignalForLoginCheck = new AbortController();
|
|
564
|
+
}
|
|
565
|
+
this.loginCheckTimer = window.setInterval(() => {
|
|
566
|
+
this.doExternalLoggedInCheck()
|
|
567
|
+
.then(() => { })
|
|
568
|
+
.catch(() => { });
|
|
569
|
+
}, this.checkUserLoggedInStateInterval);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
async doExternalLoggedInCheck() {
|
|
573
|
+
if (!window.navigator.onLine) {
|
|
574
|
+
// Don't check if the user is not online
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
if (!this.getToken()) {
|
|
578
|
+
window.clearInterval(this.checkUserLoggedInStateInterval);
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
if (this.loginCheckInProgress && this.abortSignalForLoginCheck) {
|
|
582
|
+
this.abortSignalForLoginCheck.abort();
|
|
583
|
+
this.abortSignalForLoginCheck = new AbortController();
|
|
584
|
+
}
|
|
585
|
+
this.loginCheckInProgress = true;
|
|
586
|
+
const reqConfig = {
|
|
587
|
+
method: 'GET',
|
|
588
|
+
headers: {
|
|
589
|
+
'Accept': 'application/json',
|
|
590
|
+
'Content-Type': 'application/json',
|
|
591
|
+
'Authorization': this.getToken(),
|
|
592
|
+
},
|
|
593
|
+
};
|
|
594
|
+
if (this.abortSignalForLoginCheck && this.abortSignalForLoginCheck['signal']) {
|
|
595
|
+
reqConfig['signal'] = this.abortSignalForLoginCheck['signal'];
|
|
596
|
+
}
|
|
597
|
+
const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
|
|
598
|
+
if (response.status === 409) {
|
|
599
|
+
// This is a status the API returns if a user has been logged out
|
|
600
|
+
window.clearInterval(this.checkUserLoggedInStateInterval);
|
|
601
|
+
console.log('Cleared out user data due to bad response from authentication endpoint');
|
|
602
|
+
this.LogoutUser();
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
if (!response.ok) {
|
|
606
|
+
// The response was "bad". This could be due to bad connectivity or something else.
|
|
607
|
+
// We'll ignore it so we don't unecessarily log users out or have them loose state if they're switching connection
|
|
608
|
+
return;
|
|
609
|
+
}
|
|
610
|
+
const data = await response.json();
|
|
611
|
+
if (!data || !data['accessToken']) {
|
|
612
|
+
window.clearInterval(this.checkUserLoggedInStateInterval);
|
|
613
|
+
console.log('Cleared out user data due to bad response from authentication endpoint');
|
|
614
|
+
this.LogoutUser();
|
|
615
|
+
}
|
|
616
|
+
this.loginCheckInProgress = false;
|
|
617
|
+
}
|
|
618
|
+
LogoutUser() {
|
|
619
|
+
this.clearUserData();
|
|
620
|
+
// Log out user
|
|
621
|
+
if (this.eventTarget) {
|
|
622
|
+
const logoutLink = this.eventTarget.querySelector('#pn-marketweb-header-logoutlink');
|
|
623
|
+
if (logoutLink) {
|
|
624
|
+
logoutLink.click();
|
|
625
|
+
return;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
this.loginStateChange();
|
|
629
|
+
// If no logout link was found, attempt to change URL to redirect link
|
|
630
|
+
const currentPageHref = window.location.href;
|
|
631
|
+
window.location.href = this.getLogoutUrl(currentPageHref);
|
|
632
|
+
}
|
|
633
|
+
isLoggedIn(override = false) {
|
|
634
|
+
if (override) {
|
|
635
|
+
return override;
|
|
636
|
+
}
|
|
637
|
+
let isLoggedIn = this.store.get(this.keys.token) && this.store.get(this.keys.user) ? true : false;
|
|
638
|
+
if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {
|
|
639
|
+
isLoggedIn = true;
|
|
640
|
+
}
|
|
641
|
+
return isLoggedIn;
|
|
642
|
+
}
|
|
643
|
+
registerToken(token = '', tokenSource = 'frontend') {
|
|
644
|
+
if (!token || token === this.getToken()) {
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
this.clearUserData();
|
|
648
|
+
this.store.set(this.keys.tokensource, tokenSource);
|
|
649
|
+
this.store.set(this.keys.token, token);
|
|
650
|
+
this.fetchUserInfo();
|
|
651
|
+
}
|
|
652
|
+
invalidateTokenOfType(tokenSource = 'frontend') {
|
|
653
|
+
const currentToken = this.store.get(this.keys.token);
|
|
654
|
+
if (!currentToken) {
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
const currentTokenSource = this.store.get(this.keys.tokensource);
|
|
658
|
+
if (currentTokenSource !== tokenSource) {
|
|
659
|
+
return;
|
|
660
|
+
}
|
|
661
|
+
// If we have a token and the source is set then we will invalidate the user data
|
|
662
|
+
this.clearUserData();
|
|
663
|
+
}
|
|
664
|
+
getLoginUrl(redirectPage = '') {
|
|
665
|
+
const currentPage = window.location.href;
|
|
666
|
+
redirectPage = redirectPage ? redirectPage : currentPage;
|
|
667
|
+
return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;
|
|
668
|
+
}
|
|
669
|
+
getLogoutUrl(linkHref = '') {
|
|
670
|
+
if (linkHref.indexOf('logout?logoutUrl') !== -1) {
|
|
671
|
+
// Link has already been formatted.
|
|
672
|
+
return linkHref;
|
|
673
|
+
}
|
|
674
|
+
let redirectPage = linkHref
|
|
675
|
+
.replace('logout', '')
|
|
676
|
+
.replace('http://window.location.href/?', window.location.href)
|
|
677
|
+
.replace('https://window.location.href/?', window.location.href);
|
|
678
|
+
let rootUrl = this.siteUrl;
|
|
679
|
+
try {
|
|
680
|
+
const url = new URL(this.siteUrl + '');
|
|
681
|
+
rootUrl = url.origin;
|
|
682
|
+
}
|
|
683
|
+
catch (e) { }
|
|
684
|
+
const addSlash = rootUrl.lastIndexOf('/') !== rootUrl.length - 1;
|
|
685
|
+
const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';
|
|
686
|
+
const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;
|
|
687
|
+
const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;
|
|
688
|
+
return logoutUrl;
|
|
689
|
+
}
|
|
690
|
+
getUserInfo() {
|
|
691
|
+
if (this.isLoggedIn()) {
|
|
692
|
+
return this.store.get(this.keys.user);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
getEventTarget() {
|
|
696
|
+
return this.eventTarget;
|
|
697
|
+
}
|
|
698
|
+
checkExpireTime() {
|
|
699
|
+
const expire = this.store.get(this.keys.expire);
|
|
700
|
+
if (!expire) {
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
const now = new Date();
|
|
704
|
+
const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));
|
|
705
|
+
if (now > expireDate) {
|
|
706
|
+
console.info('Login time has expired');
|
|
707
|
+
this.clearUserData();
|
|
708
|
+
this.loginStateChange();
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
checkPNTopbar() {
|
|
712
|
+
if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
this.store.set(this.keys.token, window['pnTopbar']['session_id']);
|
|
716
|
+
this.fetchUserInfo();
|
|
717
|
+
}
|
|
718
|
+
checkParameters() {
|
|
719
|
+
if (!window?.location) {
|
|
720
|
+
return;
|
|
721
|
+
}
|
|
722
|
+
const params = new URLSearchParams(window.location.search);
|
|
723
|
+
if (params.get('oneTimeCode')) {
|
|
724
|
+
const oneTimeCode = params.get('oneTimeCode');
|
|
725
|
+
this.exchangeToken(oneTimeCode).then(() => {
|
|
726
|
+
const currentHref = window.location.href;
|
|
727
|
+
const paramPrefix = currentHref.indexOf('?oneTimeCode') !== -1 ? '?' : '&';
|
|
728
|
+
const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');
|
|
729
|
+
history.replaceState({}, document.querySelector('title').innerText, newUrl);
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
async fetchUserInfo() {
|
|
734
|
+
const token = this.store.get(this.keys.token);
|
|
735
|
+
if (this.store.get(this.keys.token) === this.overridetokenValue) {
|
|
736
|
+
console.info('Did not fetch user data since it was set by an override');
|
|
737
|
+
return;
|
|
738
|
+
}
|
|
739
|
+
const reqConfig = {
|
|
740
|
+
method: 'GET',
|
|
741
|
+
headers: {
|
|
742
|
+
'Accept': 'application/json',
|
|
743
|
+
'Content-Type': 'application/json',
|
|
744
|
+
'Authorization': token,
|
|
745
|
+
},
|
|
746
|
+
};
|
|
747
|
+
const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
|
|
748
|
+
const data = await response.json();
|
|
749
|
+
if (data && data['idToken']) {
|
|
750
|
+
try {
|
|
751
|
+
const { idToken, expiryTime, accessToken } = data;
|
|
752
|
+
const userInfo = this.parseUserInfo(idToken);
|
|
753
|
+
if (!userInfo) {
|
|
754
|
+
console.error('Userdata is not valid');
|
|
755
|
+
this.clearUserData();
|
|
756
|
+
return;
|
|
757
|
+
}
|
|
758
|
+
this.store.set(this.keys.user, userInfo);
|
|
759
|
+
// 10 Min early expire
|
|
760
|
+
this.store.set(this.keys.accessToken, accessToken);
|
|
761
|
+
this.store.set(this.keys.expire, expiryTime);
|
|
762
|
+
this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));
|
|
763
|
+
this.loginStateChange();
|
|
764
|
+
}
|
|
765
|
+
catch (e) {
|
|
766
|
+
console.error('Unable to get user information', e);
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
else {
|
|
770
|
+
console.error('Unable to get user information. Clearing login state');
|
|
771
|
+
this.clearUserData();
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
clearUserData() {
|
|
775
|
+
this.store.remove(this.keys.user);
|
|
776
|
+
this.store.remove(this.keys.tokensource);
|
|
777
|
+
this.store.remove(this.keys.accessToken);
|
|
778
|
+
this.store.remove(this.keys.token);
|
|
779
|
+
this.store.remove(this.keys.expire);
|
|
780
|
+
this.store.remove(this.keys.expireDate);
|
|
781
|
+
}
|
|
782
|
+
getToken() {
|
|
783
|
+
return this.store.get(this.keys.token);
|
|
784
|
+
}
|
|
785
|
+
getAccessToken() {
|
|
786
|
+
return this.store.get(this.keys.accessToken);
|
|
787
|
+
}
|
|
788
|
+
async exchangeToken(oneTimeCode) {
|
|
789
|
+
this.clearUserData();
|
|
790
|
+
const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
|
|
791
|
+
const { token } = await response.json();
|
|
792
|
+
if (typeof token === 'string' && token) {
|
|
793
|
+
this.store.set(this.keys.token, token);
|
|
794
|
+
}
|
|
795
|
+
this.fetchUserInfo();
|
|
796
|
+
}
|
|
797
|
+
loginStateChange() {
|
|
798
|
+
if (!this.eventTarget) {
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
this.eventTarget.dispatchEvent(new CustomEvent(this.events.loginstatechange, {
|
|
802
|
+
detail: this.isLoggedIn(),
|
|
803
|
+
}));
|
|
804
|
+
}
|
|
805
|
+
getBaseUrl() {
|
|
806
|
+
const atEnvironments = ['localhost', 'integration.', 'inte.', 'local.', 'prep.'];
|
|
807
|
+
let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;
|
|
808
|
+
if (['devportal.postnord.com', 'atportal.postnord.com'].indexOf(window.location.hostname) !== -1) {
|
|
809
|
+
useATEnv = true;
|
|
810
|
+
}
|
|
811
|
+
if (useATEnv) {
|
|
812
|
+
return this.baseUrls.at;
|
|
813
|
+
}
|
|
814
|
+
return this.baseUrls.prod;
|
|
815
|
+
}
|
|
816
|
+
parseUserInfo(idToken) {
|
|
817
|
+
if (!idToken) {
|
|
818
|
+
return null;
|
|
819
|
+
}
|
|
820
|
+
var base64Url = idToken.split('.')[1];
|
|
821
|
+
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
822
|
+
var jsonPayload = decodeURIComponent(atob(base64)
|
|
823
|
+
.split('')
|
|
824
|
+
.map(function (c) {
|
|
825
|
+
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
826
|
+
})
|
|
827
|
+
.join(''));
|
|
828
|
+
return JSON.parse(jsonPayload);
|
|
829
|
+
}
|
|
830
|
+
store = {
|
|
831
|
+
get: (key) => {
|
|
832
|
+
const value = window.localStorage.getItem(`${this.storagePrefix}-${key}`);
|
|
833
|
+
if (!value) {
|
|
834
|
+
return value;
|
|
835
|
+
}
|
|
836
|
+
if (value.indexOf('{') === 0) {
|
|
837
|
+
try {
|
|
838
|
+
return JSON.parse(value);
|
|
839
|
+
}
|
|
840
|
+
catch (e) { }
|
|
841
|
+
}
|
|
842
|
+
if (value.indexOf(',') !== -1) {
|
|
843
|
+
return value.split(',');
|
|
844
|
+
}
|
|
845
|
+
return value;
|
|
846
|
+
},
|
|
847
|
+
set: (key, value) => {
|
|
848
|
+
if (typeof value === 'object' && typeof value.length === 'undefined') {
|
|
849
|
+
window.localStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
|
|
850
|
+
return;
|
|
851
|
+
}
|
|
852
|
+
window.localStorage.setItem(`${this.storagePrefix}-${key}`, value);
|
|
853
|
+
},
|
|
854
|
+
remove: (key) => {
|
|
855
|
+
window.localStorage.removeItem(`${this.storagePrefix}-${key}`);
|
|
856
|
+
},
|
|
857
|
+
};
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
const pnMarketwebSiteheaderLoginCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-marketweb-siteheader-login{--login-dropdown-divider-background:var(--siteheader-login-dropdown-divider-background,\n #f9f8f8);--login-dropdown-text-color:var(--siteheader-login-dropdown-text-color,\n #2d2013);--login-dropdown-link-color:var(--siteheader-login-dropdown-link-color,\n #005d92);--login-dropdown-link-hover-decoration:var(--siteheader-login-dropdown-link-hover-decoration,\n underline);--login-dark-icon-hover-fill:var(--siteheader-login-dark-icon-hover-fill,\n #000000);padding:1rem 0;max-height:5.2rem;position:relative}pn-marketweb-siteheader-login pn-button-dropdown{display:none}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content{max-width:350px;display:flex;flex-direction:column;gap:2.4rem;padding:4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content pn-button{width:100%}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content pn-marketweb-siteheader-unified-login::after{display:block;content:\"\";width:100%;height:2px;margin-top:2.4rem;background:var(--login-dropdown-divider-background)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span{font-size:1.4rem;color:var(--login-dropdown-text-color)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span::before{display:block;content:\"\";width:100%;height:2px;margin-bottom:2.4rem;background:var(--login-dropdown-divider-background)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a{text-decoration:none;color:var(--login-dropdown-link-color)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a:hover{text-decoration:var(--login-dropdown-link-hover-decoration)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span *{margin-bottom:0}pn-marketweb-siteheader-login.hydrated pn-button-dropdown{display:block}pn-marketweb-siteheader-login[appearance=dark] button:hover pn-icon svg path{fill:var(--login-dark-icon-hover-fill)}";
|
|
861
|
+
const PnMarketwebSiteheaderLoginStyle0 = pnMarketwebSiteheaderLoginCss;
|
|
862
|
+
|
|
863
|
+
const PnMarketwebSiteheaderLogin = class {
|
|
864
|
+
constructor(hostRef) {
|
|
865
|
+
index.registerInstance(this, hostRef);
|
|
866
|
+
this.loginStateChange = index.createEvent(this, "loginStateChange", 7);
|
|
867
|
+
this.endpoint = '';
|
|
868
|
+
this.token = '';
|
|
869
|
+
this.i18n = {
|
|
870
|
+
searchlabel: '',
|
|
871
|
+
searchplaceholder: '',
|
|
872
|
+
searchbuttontext: '',
|
|
873
|
+
menuHomeButton: '',
|
|
874
|
+
menuGoBackButton: '',
|
|
875
|
+
mainMenuButton: '',
|
|
876
|
+
menuStartButton: '',
|
|
877
|
+
profileSelectionFlyoutHeading: '',
|
|
878
|
+
unifiedLoginButton: '',
|
|
879
|
+
unifiedMyPagesButton: '',
|
|
880
|
+
};
|
|
881
|
+
this.siteUrl = '';
|
|
882
|
+
this.emitEvents = true;
|
|
883
|
+
this.loginDialog = null;
|
|
884
|
+
this.fullname = '';
|
|
885
|
+
this.loggedin = false;
|
|
886
|
+
this.showProfileSelection = false;
|
|
887
|
+
this.showUnifiedLogin = false;
|
|
888
|
+
this.checkUserLoggedInStateInterval = 0;
|
|
889
|
+
this.environment = undefined;
|
|
890
|
+
this.appearance = 'light';
|
|
891
|
+
this.loginLinks = undefined;
|
|
892
|
+
this.toggleButtonText = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';
|
|
893
|
+
this.username = this.fullname;
|
|
894
|
+
this.useMarketwebLogin = undefined;
|
|
895
|
+
}
|
|
896
|
+
get hostElement() { return index.getElement(this); }
|
|
897
|
+
// Events
|
|
898
|
+
loginStateChange;
|
|
899
|
+
componentWillLoad() {
|
|
900
|
+
const userInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;
|
|
901
|
+
pnMarketwebSiteheaderStore.state.loginManager = new MarketWebLoginManager({
|
|
902
|
+
endpoint: this.endpoint,
|
|
903
|
+
eventTarget: this.hostElement,
|
|
904
|
+
checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval,
|
|
905
|
+
userInfo,
|
|
906
|
+
});
|
|
907
|
+
pnMarketwebSiteheaderStore.state.loginManager.setSiteUrl(this.siteUrl);
|
|
908
|
+
this.hostElement['loginmanager'] = pnMarketwebSiteheaderStore.state.loginManager;
|
|
909
|
+
if (this.token) {
|
|
910
|
+
pnMarketwebSiteheaderStore.state.loginManager.registerToken(this.token, 'backend');
|
|
911
|
+
}
|
|
912
|
+
else if (this.emitEvents) {
|
|
913
|
+
// The primary login instance
|
|
914
|
+
pnMarketwebSiteheaderStore.state.loginManager.invalidateTokenOfType('backend');
|
|
915
|
+
}
|
|
916
|
+
this.hostElement.addEventListener(pnMarketwebSiteheaderStore.state.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
|
|
917
|
+
this.init();
|
|
918
|
+
this.setUserName();
|
|
919
|
+
this.setToggleButtonText();
|
|
920
|
+
}
|
|
921
|
+
async init() {
|
|
922
|
+
pnMarketwebSiteheaderStore.state.loginManager.init(this.emitEvents);
|
|
923
|
+
this.setToggleButtonText();
|
|
924
|
+
this.adjustLoginLinks();
|
|
925
|
+
}
|
|
926
|
+
adjustLoginLinks() {
|
|
927
|
+
if (!this.loginDialog?.loginMenuLinks) {
|
|
928
|
+
return;
|
|
929
|
+
}
|
|
930
|
+
const adjustLink = (link, i) => {
|
|
931
|
+
if (!link.isLogoutLink) {
|
|
932
|
+
link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;
|
|
933
|
+
}
|
|
934
|
+
if (link.isLogoutLink) {
|
|
935
|
+
link.href = pnMarketwebSiteheaderStore.state.loginManager.getLogoutUrl(link.pageLink);
|
|
936
|
+
}
|
|
937
|
+
if (i === 0 && !link.href) {
|
|
938
|
+
link.href = pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl();
|
|
939
|
+
link.linkType = 'primary';
|
|
940
|
+
}
|
|
941
|
+
if (link.primaryLinkApperance && !link.linkType) {
|
|
942
|
+
link.linkType = 'primary';
|
|
943
|
+
}
|
|
944
|
+
return link;
|
|
945
|
+
};
|
|
946
|
+
if (this.loginDialog) {
|
|
947
|
+
this.loginDialog.loginMenuLinks = this.loginDialog.loginMenuLinks.map(adjustLink);
|
|
948
|
+
this.loginDialog.loggedInLinks = this.loginDialog.loggedInLinks.map(adjustLink);
|
|
949
|
+
}
|
|
950
|
+
this.loginDialog.legacyLoginLinks = [
|
|
951
|
+
{
|
|
952
|
+
href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.loginUrl),
|
|
953
|
+
linkText: this.loginDialog.loginLinkText,
|
|
954
|
+
openInNewWindow: false,
|
|
955
|
+
isLogoutLink: false,
|
|
956
|
+
pageLink: null,
|
|
957
|
+
linkType: 'primary',
|
|
958
|
+
primaryLinkApperance: true,
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.registerUrl),
|
|
962
|
+
linkText: this.loginDialog.createLoginLinkText,
|
|
963
|
+
openInNewWindow: false,
|
|
964
|
+
isLogoutLink: false,
|
|
965
|
+
pageLink: null,
|
|
966
|
+
primaryLinkApperance: false,
|
|
967
|
+
},
|
|
968
|
+
];
|
|
969
|
+
}
|
|
970
|
+
setUserName() {
|
|
971
|
+
const userInfo = pnMarketwebSiteheaderStore.state.loginManager.getUserInfo();
|
|
972
|
+
let name = '';
|
|
973
|
+
if (!this.loggedin || !userInfo) {
|
|
974
|
+
this.username = name;
|
|
975
|
+
}
|
|
976
|
+
if (userInfo && userInfo.given_name) {
|
|
977
|
+
name = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');
|
|
978
|
+
}
|
|
979
|
+
if (!name && userInfo && userInfo.email) {
|
|
980
|
+
name = userInfo.email;
|
|
981
|
+
}
|
|
982
|
+
if (!name && this.fullname) {
|
|
983
|
+
name = this.fullname;
|
|
984
|
+
}
|
|
985
|
+
this.username = name;
|
|
986
|
+
this.adjustLoginLinks();
|
|
987
|
+
}
|
|
988
|
+
setToggleButtonText() {
|
|
989
|
+
if (this.loggedin) {
|
|
990
|
+
this.toggleButtonText = this.username;
|
|
991
|
+
if (!this.toggleButtonText) {
|
|
992
|
+
this.toggleButtonText = this.loginDialog.loggedInButtonText;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
else {
|
|
996
|
+
this.toggleButtonText = this.loginDialog.loginMenuLinkText;
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
onLoginStateChange(e) {
|
|
1000
|
+
if (this.loggedin !== e.detail && this.emitEvents) {
|
|
1001
|
+
this.loggedin = e.detail;
|
|
1002
|
+
this.loginStateChange.emit({ loggedIn: this.loggedin, token: pnMarketwebSiteheaderStore.state.loginManager.getToken() });
|
|
1003
|
+
this.setUserName();
|
|
1004
|
+
this.setToggleButtonText();
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
render() {
|
|
1008
|
+
if (!this.loginDialog) {
|
|
1009
|
+
return;
|
|
1010
|
+
}
|
|
1011
|
+
let hostElementAttribute = {
|
|
1012
|
+
username: null,
|
|
1013
|
+
loggedin: 'false',
|
|
1014
|
+
};
|
|
1015
|
+
if (this.username) {
|
|
1016
|
+
hostElementAttribute.username = this.username;
|
|
1017
|
+
hostElementAttribute.loggedin = this.loggedin + '';
|
|
1018
|
+
}
|
|
1019
|
+
return (index.h(index.Host, { ...hostElementAttribute }, index.h("pn-button-dropdown", { label: this.toggleButtonText, icon: user, appearance: this.appearance, variant: "borderless", class: "siteheader-logindialog" }, this.showUnifiedLogin && !this.loggedin && (index.h("pn-marketweb-siteheader-unified-login", { loggedIn: this.loggedin, logInLabel: this.i18n.unifiedLoginButton, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })), this.loggedin && this.showProfileSelection ? (index.h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })) : (index.h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username, showUnifiedLogin: this.showUnifiedLogin })), !this.loggedin && this.loginDialog?.loginInfo && (index.h("span", { innerHTML: `${this.loginDialog.loginInfo}` })))));
|
|
1020
|
+
}
|
|
1021
|
+
static get watchers() { return {
|
|
1022
|
+
"i18n": ["init"],
|
|
1023
|
+
"loginDialog": ["init"]
|
|
1024
|
+
}; }
|
|
1025
|
+
};
|
|
1026
|
+
PnMarketwebSiteheaderLogin.style = PnMarketwebSiteheaderLoginStyle0;
|
|
1027
|
+
|
|
1028
|
+
const pnMarketwebSiteheaderLoginLinksCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}";
|
|
1029
|
+
const PnMarketwebSiteheaderLoginLinksStyle0 = pnMarketwebSiteheaderLoginLinksCss;
|
|
1030
|
+
|
|
1031
|
+
const PnMarketwebSiteheaderLoginLinks = class {
|
|
1032
|
+
constructor(hostRef) {
|
|
1033
|
+
index.registerInstance(this, hostRef);
|
|
1034
|
+
this.loginDialog = null;
|
|
1035
|
+
this.idNamespace = '';
|
|
1036
|
+
this.loggedin = false;
|
|
1037
|
+
this.username = '';
|
|
1038
|
+
this.showUnifiedLogin = false;
|
|
1039
|
+
}
|
|
1040
|
+
get hostElement() { return index.getElement(this); }
|
|
1041
|
+
componentWillLoad() {
|
|
1042
|
+
this.init();
|
|
1043
|
+
}
|
|
1044
|
+
async init() {
|
|
1045
|
+
this.adjustLoginLinks();
|
|
1046
|
+
}
|
|
1047
|
+
adjustLoginLinks() {
|
|
1048
|
+
if (!this.loginDialog) {
|
|
1049
|
+
return;
|
|
1050
|
+
}
|
|
1051
|
+
const adjustLink = (link, i) => {
|
|
1052
|
+
if (!link.isLogoutLink) {
|
|
1053
|
+
link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;
|
|
1054
|
+
}
|
|
1055
|
+
if (link.isLogoutLink) {
|
|
1056
|
+
link.href = pnMarketwebSiteheaderStore.state.loginManager.getLogoutUrl(link.href);
|
|
1057
|
+
}
|
|
1058
|
+
link.href = link.href.replace('window.location.href', window.location.href);
|
|
1059
|
+
if (i === 0 && !link.href) {
|
|
1060
|
+
link.href = pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl();
|
|
1061
|
+
link.linkType = 'primary';
|
|
1062
|
+
}
|
|
1063
|
+
if (link.primaryLinkApperance && !link.linkType) {
|
|
1064
|
+
link.linkType = 'primary';
|
|
1065
|
+
}
|
|
1066
|
+
};
|
|
1067
|
+
if (this.loginDialog?.loginMenuLinks) {
|
|
1068
|
+
this.loginDialog?.loginMenuLinks.forEach(adjustLink);
|
|
1069
|
+
}
|
|
1070
|
+
if (this.loginDialog?.loggedInLinks) {
|
|
1071
|
+
this.loginDialog?.loggedInLinks.forEach(adjustLink);
|
|
1072
|
+
}
|
|
1073
|
+
this.loginDialog.legacyLoginLinks = [
|
|
1074
|
+
{
|
|
1075
|
+
href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.loginUrl),
|
|
1076
|
+
linkText: this.loginDialog.loginLinkText,
|
|
1077
|
+
openInNewWindow: false,
|
|
1078
|
+
isLogoutLink: false,
|
|
1079
|
+
pageLink: null,
|
|
1080
|
+
linkType: 'primary',
|
|
1081
|
+
primaryLinkApperance: true,
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.registerUrl),
|
|
1085
|
+
linkText: this.loginDialog.createLoginLinkText,
|
|
1086
|
+
openInNewWindow: false,
|
|
1087
|
+
isLogoutLink: false,
|
|
1088
|
+
pageLink: null,
|
|
1089
|
+
primaryLinkApperance: false,
|
|
1090
|
+
},
|
|
1091
|
+
];
|
|
1092
|
+
}
|
|
1093
|
+
render() {
|
|
1094
|
+
if (!this.loginDialog) {
|
|
1095
|
+
return;
|
|
1096
|
+
}
|
|
1097
|
+
let hostElementAttribute = {
|
|
1098
|
+
username: null,
|
|
1099
|
+
loggedin: false,
|
|
1100
|
+
};
|
|
1101
|
+
if (this.username) {
|
|
1102
|
+
hostElementAttribute.username = this.username;
|
|
1103
|
+
hostElementAttribute.loggedin = this.loggedin;
|
|
1104
|
+
}
|
|
1105
|
+
return (index.h(index.Host, { ...hostElementAttribute }, !this.loginDialog.overrideLoginMenu ? (index.h("div", { "data-loggedin": this.loggedin + '' }, this.loggedin ? (index.h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loggedInLinks, idNamespace: this.idNamespace })) : (index.h("div", null, this.loginDialog.loginMenuLinks?.length > 0 ? (index.h("pn-marketweb-siteheader-login-linklist", { heading: this.loginDialog.loginTitle, links: this.loginDialog.loginMenuLinks, idNamespace: this.idNamespace, showUnifiedLogin: this.showUnifiedLogin })) : (index.h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.legacyLoginLinks, idNamespace: this.idNamespace })))))) : null, this.loginDialog.overrideLoginMenu ? (index.h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loginMenuLinks, idNamespace: this.idNamespace })) : null));
|
|
1106
|
+
}
|
|
1107
|
+
static get watchers() { return {
|
|
1108
|
+
"loginDialog": ["init"]
|
|
1109
|
+
}; }
|
|
1110
|
+
};
|
|
1111
|
+
PnMarketwebSiteheaderLoginLinks.style = PnMarketwebSiteheaderLoginLinksStyle0;
|
|
1112
|
+
|
|
1113
|
+
const pnMarketwebSiteheaderLoginProfileselectionCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-marketweb-siteheader-login-profileselection{--login-profileselection-heading-color:var(--siteheader-login-profileselection-heading-color,\n inherit);--login-profileselection-description-color:var(--siteheader-login-profileselection-description-color,\n #5e554a);--login-profileselection-user-name-color:var(--siteheader-login-profileselection-user-name-color,\n inherit);--login-profileselection-divider-background:var(--siteheader-login-profileselection-divider-background,\n #00a0d6);--login-profileselection-profileoption-link-background:var(--siteheader-login-profileselection-profileoption-link-background,\n #ffffff);--login-profileselection-profileoption-link-color:var(--siteheader-login-profileselection-profileoption-link-color,\n #005d92);--login-profileselection-profileoption-link-hover-background:var(--siteheader-login-profileselection-profileoption-link-hover-background,\n #f3f2f2);--login-profileselection-logout-link-color:var(--siteheader-login-profileselection-logout-link-color,\n #005d92)}.pn-marketweb-siteheader-login-profileselection-heading{display:block;padding:0.5rem 0 1rem;color:var(--login-profileselection-heading-color)}.pn-marketweb-siteheader-login-profileselection-user,.pn-marketweb-siteheader-login-profileselection-currentprofile{margin-top:1rem;margin-bottom:1rem}.pn-marketweb-siteheader-login-profileselection-user-name,.pn-marketweb-siteheader-login-profileselection-currentprofile-name{line-height:1;color:var(--login-profileselection-user-name-color)}.pn-marketweb-siteheader-login-profileselection-user-description,.pn-marketweb-siteheader-login-profileselection-currentprofile-description{font-weight:400;white-space:normal;word-break:break-all;color:var(--login-profileselection-description-color);font-size:0.75em}.pn-marketweb-siteheader-login-profileselection-divider{position:relative;width:100%;height:1rem;background:var(--login-profileselection-divider-background);margin-left:-1em;margin-top:1.6rem;margin-bottom:1.6rem;border-radius:0 0.6em 0.6em 0;padding:0}.pn-marketweb-siteheader-login-profileselection-divider::after{content:\"\";position:absolute;right:0;top:0;width:0.6em;height:0.6em;border-radius:50%;background:inherit;transform:translateX(calc(100% + 0.2em))}.pn-marketweb-siteheader-login-profileselection-profileoption-link{display:flex;align-items:center;margin:0 -1em;padding:0.6rem 1.6rem;background:var(--login-profileselection-profileoption-link-background);color:var(--login-profileselection-profileoption-link-color);text-decoration:none;transition:background 0.15s ease-in-out}.pn-marketweb-siteheader-login-profileselection-profileoption-link:hover,.pn-marketweb-siteheader-login-profileselection-profileoption-link:focus,.pn-marketweb-siteheader-login-profileselection-profileoption-link:active{background:var(--login-profileselection-profileoption-link-hover-background)}.pn-marketweb-siteheader-login-profileselection-profileoption-content{flex-grow:1}.pn-marketweb-siteheader-login-profileselection-profileoption-name{font-weight:700}.pn-marketweb-siteheader-login-profileselection-profileoption-description{font-weight:400;white-space:normal;word-break:break-all;color:var(--login-profileselection-description-color);font-size:0.75em}.pn-marketweb-siteheader-login-profileselection-logout{width:100%;padding:1.6rem;text-align:center}.pn-marketweb-siteheader-login-profileselection-logout-link{display:inline-block;font-weight:500;color:var(--login-profileselection-logout-link-color);text-decoration:none}.pn-marketweb-siteheader-login-profileselection-logout-link:hover,.pn-marketweb-siteheader-login-profileselection-logout-link:focus,.pn-marketweb-siteheader-login-profileselection-logout-link:active{text-decoration:underline}";
|
|
1114
|
+
const PnMarketwebSiteheaderLoginProfileselectionStyle0 = pnMarketwebSiteheaderLoginProfileselectionCss;
|
|
1115
|
+
|
|
1116
|
+
const PnMarketwebSiteheaderLoginProfileselection = class {
|
|
1117
|
+
constructor(hostRef) {
|
|
1118
|
+
index.registerInstance(this, hostRef);
|
|
1119
|
+
this.loginDialog = null;
|
|
1120
|
+
this.endpoint = '';
|
|
1121
|
+
this.loggedin = false;
|
|
1122
|
+
this.idNamespace = '';
|
|
1123
|
+
this.heading = null;
|
|
1124
|
+
this.i18n = {
|
|
1125
|
+
searchlabel: '',
|
|
1126
|
+
searchplaceholder: '',
|
|
1127
|
+
searchbuttontext: '',
|
|
1128
|
+
menuHomeButton: '',
|
|
1129
|
+
menuGoBackButton: '',
|
|
1130
|
+
mainMenuButton: '',
|
|
1131
|
+
menuStartButton: '',
|
|
1132
|
+
profileSelectionFlyoutHeading: '',
|
|
1133
|
+
};
|
|
1134
|
+
this.user = null;
|
|
1135
|
+
this.logoutLink = null;
|
|
1136
|
+
this.userName = null;
|
|
1137
|
+
this.userEmail = '';
|
|
1138
|
+
this.currentProfile = null;
|
|
1139
|
+
this.profileoptions = [];
|
|
1140
|
+
}
|
|
1141
|
+
get hostElement() { return index.getElement(this); }
|
|
1142
|
+
componentWillLoad() {
|
|
1143
|
+
if (this.heading === null && this.i18n?.profileSelectionFlyoutHeading) {
|
|
1144
|
+
this.heading = this.i18n.profileSelectionFlyoutHeading;
|
|
1145
|
+
}
|
|
1146
|
+
this.init();
|
|
1147
|
+
}
|
|
1148
|
+
init() {
|
|
1149
|
+
this.updateUserInfo();
|
|
1150
|
+
this.adjustLoginLinks();
|
|
1151
|
+
this.fetchProfiles();
|
|
1152
|
+
}
|
|
1153
|
+
async fetchProfiles() {
|
|
1154
|
+
if (!this.loggedin || this.profileoptions.length > 0) {
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
let apiUrl = `${this.endpoint}${this.endpoint.lastIndexOf('/') > -1 && this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? '' : '/'}api/user/parentorganizations`;
|
|
1158
|
+
const req = await fetch(apiUrl);
|
|
1159
|
+
const reqdata = await req.json();
|
|
1160
|
+
const fallbackData = {
|
|
1161
|
+
loggedin: true,
|
|
1162
|
+
organizations: [
|
|
1163
|
+
{
|
|
1164
|
+
name: 'Forsheda Livs AB',
|
|
1165
|
+
customerNumber: '5564513603',
|
|
1166
|
+
id: 'dbba867d-1dff-3dbb-b420-c57b4b828b73',
|
|
1167
|
+
selected: true,
|
|
1168
|
+
profiles: [
|
|
1169
|
+
{
|
|
1170
|
+
name: 'Forsheda Livs AB',
|
|
1171
|
+
customerNumber: '20685482',
|
|
1172
|
+
id: 'f757ba28-9a73-15a2-f128-4b394d970f3f',
|
|
1173
|
+
ssid: '',
|
|
1174
|
+
selected: false,
|
|
1175
|
+
customerGroup: 'Business',
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
name: 'ICA MAXI KUNGSBACKA',
|
|
1179
|
+
customerNumber: '20831191',
|
|
1180
|
+
id: '5aea41df-32b0-3f7e-2946-78598360177d',
|
|
1181
|
+
ssid: '259686',
|
|
1182
|
+
selected: true,
|
|
1183
|
+
customerGroup: 'Agent',
|
|
1184
|
+
},
|
|
1185
|
+
],
|
|
1186
|
+
},
|
|
1187
|
+
{
|
|
1188
|
+
name: 'Hem Livs i Kungsbacka AB',
|
|
1189
|
+
customerNumber: '5565271250',
|
|
1190
|
+
id: '97ca363c-40ef-cca9-7a3c-9e7f025567c2',
|
|
1191
|
+
selected: false,
|
|
1192
|
+
profiles: [
|
|
1193
|
+
{
|
|
1194
|
+
name: 'ICA KVANTUM KUNGSBACKA',
|
|
1195
|
+
customerNumber: '20831193',
|
|
1196
|
+
id: 'fbd61ffd-41c6-2206-b88e-cfef91e1dc39',
|
|
1197
|
+
ssid: '259691',
|
|
1198
|
+
selected: false,
|
|
1199
|
+
customerGroup: 'Agent',
|
|
1200
|
+
},
|
|
1201
|
+
],
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
name: 'ICA SUPERMARKET TORGET',
|
|
1205
|
+
customerNumber: '5568902679',
|
|
1206
|
+
id: '7cb76a94-e1a5-5f57-58fd-bc563851b28e',
|
|
1207
|
+
selected: false,
|
|
1208
|
+
profiles: [
|
|
1209
|
+
{
|
|
1210
|
+
name: 'ICA SUPERMARKET TORGET',
|
|
1211
|
+
customerNumber: '20831212',
|
|
1212
|
+
id: '3a2db017-b68f-6fa0-fe70-542c08cd97ce',
|
|
1213
|
+
ssid: '',
|
|
1214
|
+
selected: false,
|
|
1215
|
+
customerGroup: 'Agent',
|
|
1216
|
+
},
|
|
1217
|
+
],
|
|
1218
|
+
},
|
|
1219
|
+
],
|
|
1220
|
+
};
|
|
1221
|
+
const data = window.location.href.indexOf('localhost:6008') !== -1 ? fallbackData : reqdata;
|
|
1222
|
+
if (!data || !data.organizations || !data.organizations.length) {
|
|
1223
|
+
this.heading = ""; //this is to not get "logged in as" text when its private account
|
|
1224
|
+
return;
|
|
1225
|
+
}
|
|
1226
|
+
data.organizations.forEach(org => {
|
|
1227
|
+
if (org.selected === true && org.profiles) {
|
|
1228
|
+
const selectedProfile = org.profiles.filter(x => x.selected === true);
|
|
1229
|
+
if (selectedProfile && selectedProfile[0] && selectedProfile[0].customerGroup.toLocaleLowerCase() === 'agent' && selectedProfile[0].ssid) {
|
|
1230
|
+
org.customerNumber = selectedProfile[0].ssid;
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
else {
|
|
1234
|
+
if (org.customerNumber.length === 10 && org.customerNumber.substring(0, 2) === '55') {
|
|
1235
|
+
org.customerNumber = org.customerNumber.substring(0, 6) + '-' + org.customerNumber.substring(6);
|
|
1236
|
+
}
|
|
1237
|
+
this.profileoptions.push(org);
|
|
1238
|
+
}
|
|
1239
|
+
});
|
|
1240
|
+
let currentProfileObj = data.organizations.filter(x => x.selected === true)[0];
|
|
1241
|
+
const userProfileOption = {
|
|
1242
|
+
name: this.userName,
|
|
1243
|
+
customerNumber: '',
|
|
1244
|
+
id: '',
|
|
1245
|
+
selected: !currentProfileObj,
|
|
1246
|
+
profiles: [],
|
|
1247
|
+
};
|
|
1248
|
+
if (!currentProfileObj) {
|
|
1249
|
+
currentProfileObj = userProfileOption;
|
|
1250
|
+
}
|
|
1251
|
+
if (currentProfileObj && currentProfileObj.name) {
|
|
1252
|
+
this.currentProfile = currentProfileObj;
|
|
1253
|
+
}
|
|
1254
|
+
this.profileoptions.push(userProfileOption);
|
|
1255
|
+
}
|
|
1256
|
+
adjustLoginLinks() {
|
|
1257
|
+
const adjustLink = (link, i) => {
|
|
1258
|
+
if (!link.isLogoutLink) {
|
|
1259
|
+
link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;
|
|
1260
|
+
}
|
|
1261
|
+
if (link.isLogoutLink) {
|
|
1262
|
+
link.href = pnMarketwebSiteheaderStore.state.loginManager.getLogoutUrl(link.href);
|
|
1263
|
+
}
|
|
1264
|
+
if (i === 0 && !link.href) {
|
|
1265
|
+
link.href = pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl();
|
|
1266
|
+
link.linkType = 'primary';
|
|
1267
|
+
}
|
|
1268
|
+
if (link.primaryLinkApperance && !link.linkType) {
|
|
1269
|
+
link.linkType = 'primary';
|
|
1270
|
+
}
|
|
1271
|
+
};
|
|
1272
|
+
if (this.loginDialog?.loggedInLinks) {
|
|
1273
|
+
this.loginDialog?.loggedInLinks.forEach(adjustLink);
|
|
1274
|
+
}
|
|
1275
|
+
this.logoutLink = this.loginDialog?.loggedInLinks.filter(x => x.isLogoutLink)[0] ?? null;
|
|
1276
|
+
}
|
|
1277
|
+
updateUserInfo() {
|
|
1278
|
+
const userInfo = pnMarketwebSiteheaderStore.state.loginManager.getUserInfo();
|
|
1279
|
+
this.user = userInfo;
|
|
1280
|
+
if (!userInfo) {
|
|
1281
|
+
return;
|
|
1282
|
+
}
|
|
1283
|
+
if (userInfo && userInfo.email) {
|
|
1284
|
+
this.userEmail = userInfo.email;
|
|
1285
|
+
}
|
|
1286
|
+
if (userInfo && userInfo.given_name) {
|
|
1287
|
+
this.userName = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');
|
|
1288
|
+
}
|
|
1289
|
+
if (userInfo && userInfo.given_name) {
|
|
1290
|
+
this.userName = userInfo.given_name;
|
|
1291
|
+
return;
|
|
1292
|
+
}
|
|
1293
|
+
if (userInfo && userInfo.family_name) {
|
|
1294
|
+
this.userName = userInfo.family_name;
|
|
1295
|
+
return;
|
|
1296
|
+
}
|
|
1297
|
+
if (userInfo && userInfo.username) {
|
|
1298
|
+
this.userName = userInfo.username;
|
|
1299
|
+
return;
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
filterLogoutLink(loggedInLinks) {
|
|
1303
|
+
return loggedInLinks.filter((link) => !link.isLogoutLink);
|
|
1304
|
+
}
|
|
1305
|
+
render() {
|
|
1306
|
+
if (!this.loginDialog) {
|
|
1307
|
+
return;
|
|
1308
|
+
}
|
|
1309
|
+
let hostElementAttribute = {};
|
|
1310
|
+
return (index.h(index.Host, { ...hostElementAttribute }, this.heading ? index.h("strong", { class: "pn-marketweb-siteheader-login-profileselection-heading" }, this.heading) : null, this.currentProfile !== null && this.currentProfile.name ? (index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile" }, index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile-name" }, this.currentProfile.name), index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile-description" }, this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail))) : null, index.h("pn-marketweb-siteheader-login-linklist", { links: this.filterLogoutLink(this.loginDialog.loggedInLinks), idNamespace: this.idNamespace }), index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-divider" }), this.profileoptions
|
|
1311
|
+
.filter(x => x.selected !== true)
|
|
1312
|
+
.map(organization => {
|
|
1313
|
+
let customerNumber = organization.profiles.length > 0 ? organization.profiles[0].customerNumber : organization.customerNumber;
|
|
1314
|
+
return (index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption" }, index.h("a", { href: `${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${encodeURIComponent(window.location.href)}`, class: "pn-marketweb-siteheader-login-profileselection-profileoption-link" }, index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-content" }, index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-name" }, organization.name), index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-description" }, organization.customerNumber ? organization.customerNumber : this.userEmail)), index.h("pn-icon", { icon: arrow_right.arrow_right, small: "false", color: "blue700" }))));
|
|
1315
|
+
}), this.logoutLink ? (index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-logout" }, index.h("a", { href: this.logoutLink.href, rel: "nofollower noopener", id: "pn-marketweb-header-logoutlink", onClick: () => pnMarketwebSiteheaderStore.state.loginManager.clearUserData(), class: "pn-marketweb-siteheader-login-profileselection-logout-link" }, this.logoutLink.linkText))) : null));
|
|
1316
|
+
}
|
|
1317
|
+
};
|
|
1318
|
+
PnMarketwebSiteheaderLoginProfileselection.style = PnMarketwebSiteheaderLoginProfileselectionStyle0;
|
|
1319
|
+
|
|
1320
|
+
// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
|
|
1321
|
+
const { state, onChange } = index$1.createStore({
|
|
1322
|
+
searchValue: '',
|
|
1323
|
+
autocompleteSuggestions: {},
|
|
1324
|
+
requestAbortController: new AbortController(),
|
|
1325
|
+
});
|
|
1326
|
+
|
|
1327
|
+
const pnMarketwebSiteheaderSearchCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}.siteheader-search a{display:none}@media screen and (min-width: 48em){.siteheader-search a{display:block}}.siteheader-search pn-search-field>.input-container button{background:#ffffff}.siteheader-search pn-search-field.button-icon pn-button,.siteheader-search pn-button{display:inline-flex}.siteheader-search pn-search-field.button-icon pn-button button,.siteheader-search pn-button button{align-self:center;padding:0;height:2.3em;width:2.4em;line-height:0;min-height:unset;min-width:initial}.siteheader-search pn-search-field.button-icon pn-button pn-icon,.siteheader-search pn-button pn-icon{margin-left:0}.siteheader-search pn-search-field.button-icon pn-button .pn-button-tooltip,.siteheader-search pn-button .pn-button-tooltip{line-height:initial !important}.siteheader-search form{justify-content:flex-end;align-items:stretch;width:auto;flex:none;display:flex;padding:0;margin:0 0 0 0.4rem;position:relative;flex-direction:column}@media screen and (min-width: 60em){.siteheader-search form{margin-right:1.6rem}}.siteheader-search form pn-search-field{min-width:13.5em}.siteheader-search form pn-search-field .input-container{align-self:center}.siteheader-search form pn-search-field input{height:auto;min-height:1em;padding:0.6em 0.75em}";
|
|
1328
|
+
const PnMarketwebSiteheaderSearchStyle0 = pnMarketwebSiteheaderSearchCss;
|
|
1329
|
+
|
|
1330
|
+
const PnMarketwebSiteheaderSearch = class {
|
|
1331
|
+
constructor(hostRef) {
|
|
1332
|
+
index.registerInstance(this, hostRef);
|
|
1333
|
+
this.i18n = undefined;
|
|
1334
|
+
this.showOnlyLink = false;
|
|
1335
|
+
this.hideSearch = false;
|
|
1336
|
+
this.language = null;
|
|
1337
|
+
this.siteid = null;
|
|
1338
|
+
this.search = {};
|
|
1339
|
+
this.primary = false;
|
|
1340
|
+
this.icononly = true;
|
|
1341
|
+
this.autoCompleteOptions = [];
|
|
1342
|
+
}
|
|
1343
|
+
get hostElement() { return index.getElement(this); }
|
|
1344
|
+
onSearchValueUpdate() {
|
|
1345
|
+
this.getAutocomplete(state.searchValue);
|
|
1346
|
+
}
|
|
1347
|
+
async getAutocomplete(prefix) {
|
|
1348
|
+
if (!this.search.AutocompleteEndpoint || prefix.length < 2) {
|
|
1349
|
+
this.autoCompleteOptions = [];
|
|
1350
|
+
return;
|
|
1351
|
+
}
|
|
1352
|
+
if (state.autocompleteSuggestions[prefix]) {
|
|
1353
|
+
this.setAutocompleteSuggestions(state.autocompleteSuggestions[prefix]);
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
1356
|
+
let autocompleteUrl = `${this.search.AutocompleteEndpoint}?prefix=${prefix}&size=10`;
|
|
1357
|
+
if (this.language || this.siteid) {
|
|
1358
|
+
autocompleteUrl += `&tags=`;
|
|
1359
|
+
if (this.language) {
|
|
1360
|
+
autocompleteUrl += `language:${this.language}`;
|
|
1361
|
+
}
|
|
1362
|
+
if (this.language && this.siteid) {
|
|
1363
|
+
autocompleteUrl += `,`;
|
|
1364
|
+
}
|
|
1365
|
+
if (this.siteid) {
|
|
1366
|
+
autocompleteUrl += `siteid:${this.siteid}`;
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
const req = await fetch(autocompleteUrl, { signal: state.requestAbortController.signal }).catch(e => {
|
|
1370
|
+
console.warn('Unable to fetch autocomplete suggestions', e);
|
|
1371
|
+
});
|
|
1372
|
+
if (!req) {
|
|
1373
|
+
return;
|
|
1374
|
+
}
|
|
1375
|
+
const data = await req.json();
|
|
1376
|
+
if (!data || !data.hits || !data.hits.length) {
|
|
1377
|
+
return;
|
|
1378
|
+
}
|
|
1379
|
+
const suggestions = data.hits
|
|
1380
|
+
.filter(item => item.type === 'editorial')
|
|
1381
|
+
.map(item => {
|
|
1382
|
+
return item.query;
|
|
1383
|
+
});
|
|
1384
|
+
// Store query in store
|
|
1385
|
+
state.autocompleteSuggestions[prefix] = suggestions;
|
|
1386
|
+
this.setAutocompleteSuggestions(suggestions);
|
|
1387
|
+
}
|
|
1388
|
+
setAutocompleteSuggestions(suggestions) {
|
|
1389
|
+
if (typeof suggestions !== 'object' || typeof suggestions.length !== 'number' || suggestions.length === 0) {
|
|
1390
|
+
return;
|
|
1391
|
+
}
|
|
1392
|
+
this.autoCompleteOptions = suggestions;
|
|
1393
|
+
}
|
|
1394
|
+
componentWillLoad() {
|
|
1395
|
+
onChange('searchValue', () => {
|
|
1396
|
+
this.onSearchValueUpdate();
|
|
1397
|
+
});
|
|
1398
|
+
}
|
|
1399
|
+
componentDidRender() {
|
|
1400
|
+
const inputSearchElm = this.hostElement.querySelector('pn-search-field input:not([list])');
|
|
1401
|
+
if (inputSearchElm && this.search.AutocompleteEndpoint) {
|
|
1402
|
+
inputSearchElm.setAttribute('list', 'siteheader-search-autocomplete');
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
render() {
|
|
1406
|
+
if (!this.search.formActionUrl || this.hideSearch) {
|
|
1407
|
+
return;
|
|
1408
|
+
}
|
|
1409
|
+
const autocompleteAttribute = this.search.AutocompleteEndpoint ? { list: 'siteheader-search-autocomplete' } : {};
|
|
1410
|
+
return (index.h("div", { class: "siteheader-search" }, this.showOnlyLink ? (index.h("pn-button", { href: this.search.formActionUrl, appearance: "light", icon: search.search, tooltip: this.i18n.searchlabel })) : (index.h("form", { method: "get", action: this.search.formActionUrl, role: "search" }, index.h("pn-search-field", { ...autocompleteAttribute, label: this.i18n.searchlabel, name: "q", button: this.icononly ? 'icon' : null, "button-label": 'Search', placeholder: this.i18n.searchplaceholder, onUpdate: (e) => {
|
|
1411
|
+
state.searchValue = e.detail;
|
|
1412
|
+
}, onSearch: () => {
|
|
1413
|
+
const form = this.hostElement.querySelector('form');
|
|
1414
|
+
if (form) {
|
|
1415
|
+
form.submit();
|
|
1416
|
+
}
|
|
1417
|
+
} }), this.primary && this.search.AutocompleteEndpoint ? (index.h("datalist", { id: "siteheader-search-autocomplete" }, this.autoCompleteOptions.map(item => (index.h("option", null, item))))) : null))));
|
|
1418
|
+
}
|
|
1419
|
+
};
|
|
1420
|
+
PnMarketwebSiteheaderSearch.style = PnMarketwebSiteheaderSearchStyle0;
|
|
1421
|
+
|
|
1422
|
+
const pnMarketwebSiteheaderUnifiedLoginCss = "";
|
|
1423
|
+
const PnMarketwebSiteheaderUnifiedLoginStyle0 = pnMarketwebSiteheaderUnifiedLoginCss;
|
|
1424
|
+
|
|
1425
|
+
const PnMarketwebSiteheaderUnifiedLogin = class {
|
|
1426
|
+
constructor(hostRef) {
|
|
1427
|
+
index.registerInstance(this, hostRef);
|
|
1428
|
+
this.loggedIn = false;
|
|
1429
|
+
this.logInLabel = undefined;
|
|
1430
|
+
this.useMarketwebLogin = undefined;
|
|
1431
|
+
this.environment = undefined;
|
|
1432
|
+
}
|
|
1433
|
+
get hostElement() { return index.getElement(this); }
|
|
1434
|
+
render() {
|
|
1435
|
+
return (index.h(index.Host, { key: 'd81058f7099d93c9849656245c16fdfd4fcdece0' }, index.h("pn-marketweb-siteheader-login-button", { key: 'af6260b3550aae26428b37da4fb8a59964422bc2', label: this.logInLabel, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })));
|
|
1436
|
+
}
|
|
1437
|
+
};
|
|
1438
|
+
PnMarketwebSiteheaderUnifiedLogin.style = PnMarketwebSiteheaderUnifiedLoginStyle0;
|
|
1439
|
+
|
|
1440
|
+
const languageData = {
|
|
1441
|
+
sv: {
|
|
1442
|
+
navlabel: 'Webbplatsväljare',
|
|
1443
|
+
},
|
|
1444
|
+
en: {
|
|
1445
|
+
navlabel: 'Website selector',
|
|
1446
|
+
},
|
|
1447
|
+
da: {
|
|
1448
|
+
navlabel: 'Webstedsvælger',
|
|
1449
|
+
},
|
|
1450
|
+
no: {
|
|
1451
|
+
navlabel: 'Nettstedsvelger',
|
|
1452
|
+
},
|
|
1453
|
+
fi: {
|
|
1454
|
+
navlabel: 'Verkkosivun valitsin',
|
|
1455
|
+
},
|
|
1456
|
+
de: {
|
|
1457
|
+
navlabel: 'Website-Selektor',
|
|
1458
|
+
},
|
|
1459
|
+
};
|
|
1460
|
+
|
|
1461
|
+
const pnSiteSelectorCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-site-selector{--siteselector-heading-color:#000000;--siteselector-description-color:#2d2013;--siteselector-hover-background-color:#f3f2f2;--siteselector-hover-text-color:#005d92;--siteselector-active-text-color:#00a0d6;--siteselector-item-title-color:#2d2013;--siteselector-item-link-color:#005d92}pn-site-selector{display:flex;position:relative;justify-content:center;max-height:5.2rem}@media screen and (min-width: 75em){pn-site-selector{display:block}}.siteselector-heading{display:block;padding:0;margin-bottom:1.6rem;color:var(--siteselector-heading-color)}@media screen and (min-width: 75em){.siteselector-heading{display:flex;align-items:center;margin-top:0.8rem}}.siteselector-list{list-style:none;margin:0;padding:0}pn-site-selector[appearance=dark] button:hover pn-icon svg path{fill:#000000}";
|
|
1462
|
+
const PnSiteSelectorStyle0 = pnSiteSelectorCss;
|
|
1463
|
+
|
|
1464
|
+
const PnSiteSelector = class {
|
|
1465
|
+
constructor(hostRef) {
|
|
1466
|
+
index.registerInstance(this, hostRef);
|
|
1467
|
+
this.buttontext = 'postnord';
|
|
1468
|
+
this.heading = 'PostNord';
|
|
1469
|
+
this.language = 'sv';
|
|
1470
|
+
this.appearance = 'light';
|
|
1471
|
+
this.i18n = { navlabel: 'Site selector' };
|
|
1472
|
+
}
|
|
1473
|
+
get hostElement() { return index.getElement(this); }
|
|
1474
|
+
componentWillLoad() {
|
|
1475
|
+
this.setLanguage();
|
|
1476
|
+
}
|
|
1477
|
+
setLanguage() {
|
|
1478
|
+
if (languageData[this.language]) {
|
|
1479
|
+
this.i18n = languageData[this.language];
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
render() {
|
|
1483
|
+
return (index.h(index.Host, { key: '1d9cc3cce9bb2027f283caf8840fe3baa7c14620' }, index.h("pn-button-dropdown", { key: 'c17f136afd75a52357d3bda51f3179c8b268b45e', label: this.buttontext, icon: angle_small_down.angle_small_down, appearance: this.appearance, variant: "borderless", "aria-label": this.i18n.navlabel }, index.h("div", { key: 'e2277aca85845be920d549296891dec083dcce46', class: "siteselector-nav" }, this.heading ? index.h("strong", { class: "siteselector-heading" }, this.heading) : null, index.h("div", { key: 'aec39d635074a4ef1ceca6b78799eba5d79df7d8', role: "menu", class: "siteselector-list" }, index.h("slot", { key: 'e618c3870e6ddbbd178997ce569b25203114c11a' }))))));
|
|
1484
|
+
}
|
|
1485
|
+
};
|
|
1486
|
+
PnSiteSelector.style = PnSiteSelectorStyle0;
|
|
1487
|
+
|
|
1488
|
+
const pnSiteSelectorItemCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-site-selector-item{display:block}pn-site-selector-item>div,pn-site-selector-item>a{display:flex;flex-flow:column;position:relative;padding:0.8rem 0}.siteselector-item-link{border-radius:0;text-decoration:none;color:var(--siteselector-item-link-color, #005d92);flex-direction:row}.siteselector-item-link:hover,.siteselector-item-link:focus{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-hover-text-color, #005d92);text-decoration:underline;outline:none;box-shadow:none}.siteselector-item-link:active{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-active-text-color, #00a0d6);outline:none}.siteselector-item-link>span{flex-grow:1}.siteselector-item-link pn-icon{right:3.2rem;width:1.9rem;height:1.9rem;align-self:center}.siteselector-item-link pn-icon svg{width:100%;height:auto}.siteselector-item-title{display:block}.siteselector-item-title:not(.siteselector-item-link .siteselector-item-title){color:var(--siteselector-item-title-color, #2d2013)}.siteselector-item-description{color:var(--siteselector-description-color, #2d2013);font-size:1.28rem}a:hover>.siteselector-item-description,a:focus>.siteselector-item-description{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-hover-text-color, #005d92);text-decoration:underline;outline:none}a:active>.siteselector-item-description{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-active-text-color, #00a0d6);outline:none}";
|
|
1489
|
+
const PnSiteSelectorItemStyle0 = pnSiteSelectorItemCss;
|
|
1490
|
+
|
|
1491
|
+
const PnSiteSelectorItem = class {
|
|
1492
|
+
constructor(hostRef) {
|
|
1493
|
+
index.registerInstance(this, hostRef);
|
|
1494
|
+
this.url = '';
|
|
1495
|
+
this.heading = '';
|
|
1496
|
+
this.description = '';
|
|
1497
|
+
this.newwindow = false;
|
|
1498
|
+
}
|
|
1499
|
+
render() {
|
|
1500
|
+
return (index.h(index.Host, { key: 'fe45b2c19b9df40b7d762832dde4d09e65f3a677', role: "menuitem" }, this.url ? (index.h("a", { class: "siteselector-item-link", href: this.url, target: this.newwindow ? '_blank' : 'self', rel: this.newwindow ? 'nofollow noopener' : '' }, index.h("span", null, this.heading && index.h("span", { class: "siteselector-item-title" }, this.heading), this.description && index.h("small", { class: "siteselector-item-description" }, this.description)), index.h("pn-icon", { icon: angle_small_right, color: "blue700" }))) : (index.h("div", null, this.heading && index.h("span", { class: "siteselector-item-title" }, this.heading), this.description && index.h("small", { class: "siteselector-item-description" }, this.description)))));
|
|
1501
|
+
}
|
|
1502
|
+
};
|
|
1503
|
+
PnSiteSelectorItem.style = PnSiteSelectorItemStyle0;
|
|
1504
|
+
|
|
1505
|
+
exports.pn_language_selector = PnlanguageSelector;
|
|
1506
|
+
exports.pn_language_selector_option = PnlanguageSelectorOption;
|
|
1507
|
+
exports.pn_mainnav = PnMainnav;
|
|
1508
|
+
exports.pn_mainnav_level = PnMainnavLevel;
|
|
1509
|
+
exports.pn_mainnav_link = PnMainnavLink;
|
|
1510
|
+
exports.pn_mainnav_list = PnMainnavList;
|
|
1511
|
+
exports.pn_marketweb_siteheader_login = PnMarketwebSiteheaderLogin;
|
|
1512
|
+
exports.pn_marketweb_siteheader_login_links = PnMarketwebSiteheaderLoginLinks;
|
|
1513
|
+
exports.pn_marketweb_siteheader_login_profileselection = PnMarketwebSiteheaderLoginProfileselection;
|
|
1514
|
+
exports.pn_marketweb_siteheader_search = PnMarketwebSiteheaderSearch;
|
|
1515
|
+
exports.pn_marketweb_siteheader_unified_login = PnMarketwebSiteheaderUnifiedLogin;
|
|
1516
|
+
exports.pn_site_selector = PnSiteSelector;
|
|
1517
|
+
exports.pn_site_selector_item = PnSiteSelectorItem;
|
|
1518
|
+
|
|
1519
|
+
//# sourceMappingURL=pn-language-selector_13.cjs.entry.js.map
|