@postnord/pn-marketweb-components 4.2.5 → 4.3.1
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 +13 -6
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-marketweb-siteheader-login2.js","mappings":"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","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/user.js","src/globals/MarketWebLoginManager.ts","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.scss?tag=pn-marketweb-siteheader-login","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.tsx"],"sourcesContent":["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>';\nexport const user = icon;\n","class MarketWebLoginManager {\n eventTarget: EventTarget = window ?? document?.body;\n endpoint: String = '';\n storagePrefix: String = 'pn-user';\n checkUserLoggedInStateInterval: number = 0;\n baseUrls = {\n at: 'https://atportal.postnord.com/api/unified-login/backend',\n prod: 'https://portal.postnord.com/api/unified-login/backend',\n };\n events = {\n loginstatechange: 'loginstatechange',\n };\n endpoints = {\n authorizationEndpoint: `/authorization`,\n tokenExchangeEndpoint: `/token`,\n userInfoEndpoint: `/user`,\n logoutEndpoint: `/logout`,\n };\n keys = {\n tokensource: 'tokensource',\n token: 'token',\n accessToken: 'accessToken',\n user: 'user',\n expire: 'expire',\n expireDate: 'expiredate',\n };\n overridetokenValue = 'overridetokenValue';\n siteUrl: String = window.location.origin;\n abortSignalForLoginCheck = null;\n loginCheckInProgress = false;\n loginCheckTimer = null;\n\n constructor(options: IMarketWebLoginManagerOptions = null) {\n if (!options) {\n return;\n }\n this.eventTarget = options.eventTarget ? options.eventTarget : this.eventTarget;\n this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;\n this.storagePrefix ??= options.storagePrefix;\n this.checkUserLoggedInStateInterval =\n options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0 ? parseInt(options.checkUserLoggedInStateInterval + '', 10) : 0;\n\n if (options.userInfo) {\n this.store.set(this.keys.user, options.userInfo);\n this.registerToken(this.overridetokenValue, 'override');\n }\n }\n init(checkParameters: boolean = true) {\n if (checkParameters) {\n this.checkParameters();\n this.checkPNTopbar();\n this.checkExpireTime();\n\n if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {\n this.fetchUserInfo();\n }\n\n this.loginStateChange();\n\n if (this.checkUserLoggedInStateInterval > 0) {\n this.initiateLoggedInCheck();\n }\n }\n }\n setSiteUrl(siteUrl) {\n if (siteUrl) {\n this.siteUrl = siteUrl;\n }\n }\n initiateLoggedInCheck() {\n if (this.isLoggedIn()) {\n if (window && window['AbortController']) {\n this.abortSignalForLoginCheck = new AbortController();\n }\n this.loginCheckTimer = window.setInterval(() => {\n this.doExternalLoggedInCheck()\n .then(() => {})\n .catch(() => {});\n }, this.checkUserLoggedInStateInterval);\n }\n }\n\n async doExternalLoggedInCheck() {\n if (!window.navigator.onLine) {\n // Don't check if the user is not online\n return;\n }\n if (!this.getToken()) {\n window.clearInterval(this.checkUserLoggedInStateInterval);\n return;\n }\n if (this.loginCheckInProgress && this.abortSignalForLoginCheck) {\n this.abortSignalForLoginCheck.abort();\n this.abortSignalForLoginCheck = new AbortController();\n }\n this.loginCheckInProgress = true;\n const reqConfig: RequestInit = {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Authorization': this.getToken(),\n },\n };\n if (this.abortSignalForLoginCheck && this.abortSignalForLoginCheck['signal']) {\n reqConfig['signal'] = this.abortSignalForLoginCheck['signal'];\n }\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);\n if (response.status === 409) {\n // This is a status the API returns if a user has been logged out\n window.clearInterval(this.checkUserLoggedInStateInterval);\n console.log('Cleared out user data due to bad response from authentication endpoint');\n this.LogoutUser();\n return;\n }\n if (!response.ok) {\n // The response was \"bad\". This could be due to bad connectivity or something else.\n // We'll ignore it so we don't unecessarily log users out or have them loose state if they're switching connection\n return;\n }\n const data = await response.json();\n if (!data || !data['accessToken']) {\n window.clearInterval(this.checkUserLoggedInStateInterval);\n console.log('Cleared out user data due to bad response from authentication endpoint');\n this.LogoutUser();\n }\n this.loginCheckInProgress = false;\n }\n LogoutUser() {\n this.clearUserData();\n\n // Log out user\n if (this.eventTarget) {\n const logoutLink = (this.eventTarget as HTMLElement).querySelector('#pn-marketweb-header-logoutlink');\n if (logoutLink) {\n (logoutLink as HTMLAnchorElement).click();\n return;\n }\n }\n\n this.loginStateChange();\n \n // If no logout link was found, attempt to change URL to redirect link\n const currentPageHref = window.location.href;\n window.location.href = this.getLogoutUrl(currentPageHref);\n }\n\n isLoggedIn(override = false) {\n if (override) {\n return override;\n }\n\n let isLoggedIn = this.store.get(this.keys.token) && this.store.get(this.keys.user) ? true : false;\n if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {\n isLoggedIn = true;\n }\n return isLoggedIn;\n }\n\n registerToken(token: string = '', tokenSource = 'frontend') {\n if (!token || token === this.getToken()) {\n return;\n }\n this.clearUserData();\n this.store.set(this.keys.tokensource, tokenSource);\n this.store.set(this.keys.token, token);\n this.fetchUserInfo();\n }\n\n invalidateTokenOfType(tokenSource: string = 'frontend') {\n const currentToken = this.store.get(this.keys.token);\n if (!currentToken) {\n return;\n }\n const currentTokenSource = this.store.get(this.keys.tokensource);\n if (currentTokenSource !== tokenSource) {\n return;\n }\n // If we have a token and the source is set then we will invalidate the user data\n this.clearUserData();\n }\n\n getLoginUrl(redirectPage = '') {\n const currentPage = window.location.href;\n redirectPage = redirectPage ? redirectPage : currentPage;\n return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;\n }\n\n getLogoutUrl(linkHref = '') {\n if (linkHref.indexOf('logout?logoutUrl') !== -1) {\n // Link has already been formatted.\n return linkHref;\n }\n let redirectPage = linkHref\n .replace('logout', '')\n .replace('http://window.location.href/?', window.location.href)\n .replace('https://window.location.href/?', window.location.href);\n let rootUrl = this.siteUrl;\n try {\n const url = new URL(this.siteUrl + '');\n rootUrl = url.origin;\n } catch (e) {}\n const addSlash = rootUrl.lastIndexOf('/') !== rootUrl.length - 1;\n const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';\n const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;\n const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;\n\n return logoutUrl;\n }\n\n getUserInfo() {\n if (this.isLoggedIn()) {\n return this.store.get(this.keys.user) as IUserInfo;\n }\n }\n\n getEventTarget() {\n return this.eventTarget;\n }\n\n private checkExpireTime() {\n const expire = this.store.get(this.keys.expire);\n if (!expire) {\n return;\n }\n const now = new Date();\n const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));\n if (now > expireDate) {\n console.info('Login time has expired');\n this.clearUserData();\n this.loginStateChange();\n }\n }\n private checkPNTopbar() {\n if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {\n return;\n }\n\n this.store.set(this.keys.token, window['pnTopbar']['session_id']);\n this.fetchUserInfo();\n }\n\n private checkParameters() {\n if (!window?.location) {\n return;\n }\n\n const params = new URLSearchParams(window.location.search);\n if (params.get('oneTimeCode')) {\n const oneTimeCode = params.get('oneTimeCode');\n\n this.exchangeToken(oneTimeCode).then(() => {\n const currentHref = window.location.href;\n const paramPrefix = currentHref.indexOf('?oneTimeCode') !== -1 ? '?' : '&';\n const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');\n history.replaceState({}, document.querySelector('title').innerText, newUrl);\n });\n }\n }\n\n private async fetchUserInfo() {\n const token = this.store.get(this.keys.token);\n if (this.store.get(this.keys.token) === this.overridetokenValue) {\n console.info('Did not fetch user data since it was set by an override');\n return;\n }\n const reqConfig: RequestInit = {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Authorization': token,\n },\n };\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);\n const data = await response.json();\n if (data && data['idToken']) {\n try {\n const { idToken, expiryTime, accessToken } = data;\n const userInfo = this.parseUserInfo(idToken);\n if (!userInfo) {\n console.error('Userdata is not valid');\n this.clearUserData();\n return;\n }\n this.store.set(this.keys.user, userInfo);\n // 10 Min early expire\n this.store.set(this.keys.accessToken, accessToken);\n this.store.set(this.keys.expire, expiryTime);\n this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));\n this.loginStateChange();\n } catch (e) {\n console.error('Unable to get user information', e);\n }\n } else {\n console.error('Unable to get user information. Clearing login state');\n this.clearUserData();\n }\n }\n clearUserData() {\n this.store.remove(this.keys.user);\n this.store.remove(this.keys.tokensource);\n this.store.remove(this.keys.accessToken);\n this.store.remove(this.keys.token);\n this.store.remove(this.keys.expire);\n this.store.remove(this.keys.expireDate);\n }\n getToken() {\n return this.store.get(this.keys.token);\n }\n getAccessToken() {\n return this.store.get(this.keys.accessToken);\n }\n async exchangeToken(oneTimeCode) {\n this.clearUserData();\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);\n const { token } = await response.json();\n if (typeof token === 'string' && token) {\n this.store.set(this.keys.token, token);\n }\n this.fetchUserInfo();\n }\n private loginStateChange() {\n if (!this.eventTarget) {\n return;\n }\n this.eventTarget.dispatchEvent(\n new CustomEvent(this.events.loginstatechange, {\n detail: this.isLoggedIn(),\n }),\n );\n }\n private getBaseUrl() {\n const atEnvironments = ['localhost', 'integration.', 'inte.', 'local.','prep.'];\n let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;\n if (['devportal.postnord.com', 'atportal.postnord.com'].indexOf(window.location.hostname) !== -1) {\n useATEnv = true;\n }\n if (useATEnv) {\n return this.baseUrls.at;\n }\n return this.baseUrls.prod;\n }\n\n private parseUserInfo(idToken: string) {\n if (!idToken) {\n return null;\n }\n var base64Url = idToken.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(''),\n );\n return JSON.parse(jsonPayload);\n }\n\n store = {\n get: (key: string) => {\n const value = window.localStorage.getItem(`${this.storagePrefix}-${key}`);\n if (!value) {\n return value;\n }\n if (value.indexOf('{') === 0) {\n try {\n return JSON.parse(value);\n } catch (e) {}\n }\n if (value.indexOf(',') !== -1) {\n return value.split(',');\n }\n return value;\n },\n set: (key: string, value: any) => {\n if (typeof value === 'object' && typeof value.length === 'undefined') {\n window.localStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));\n return;\n }\n window.localStorage.setItem(`${this.storagePrefix}-${key}`, value);\n },\n remove: (key: string) => {\n window.localStorage.removeItem(`${this.storagePrefix}-${key}`);\n },\n };\n}\n\ninterface IMarketWebLoginManagerOptions {\n eventTarget?: EventTarget;\n endpoint?: String;\n storagePrefix?: String;\n userInfo?: IUserInfo;\n checkUserLoggedInStateInterval?: number;\n}\n\ninterface IUserInfo {\n acr?: string;\n ams?: string[];\n at_hash?: string;\n aud?: string;\n auth_time?: number;\n created_at?: number;\n email?: string;\n email_verifier?: true;\n emails?: IUserInfoEmail[];\n exp?: number;\n family_name?: string;\n given_name?: string;\n iat?: number;\n iss?: string;\n jti?: string;\n nonce?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n phone_number_verified_at?: string;\n phone_numbers?: IUserInfoPhonenumber[];\n rat?: number;\n sid?: string;\n sub?: string;\n uas_status?: number;\n userId?: string;\n username?: string;\n}\n\ninterface IUserInfoEmail {\n email: string;\n verifiet_at: number;\n}\ninterface IUserInfoPhonenumber {\n phone_number: string;\n verifiet_at: string;\n}\n\nexport { MarketWebLoginManager, IMarketWebLoginManagerOptions, IUserInfo };\n","@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login {\n padding: 1rem 0;\n max-height: 5.2rem;\n position: relative;\n // Example of how we could indicate username in smaller viewports\n // .siteheader-topright & {\n // &[username] {\n // &:hover {\n // &::after {\n // content:attr(username);\n // display: block;\n // position:absolute;\n // z-index: 4;\n // background:$white;\n // border:.1rem solid $blue700;\n // border-radius: .8rem;\n // padding:0.5rem 0.9rem;\n // margin-top: 0.8rem;\n // left: 50%;\n // transform: translateX(-50%);\n // @media screen and (min-width: $siteheader-media-smalldesktop) {\n // content:\"\";\n // display:none;\n // }\n // }\n // }\n // }\n // }\n\n pn-button-dropdown {\n .pn-button-dropdown-container {\n .pn-button-dropdown-content {\n max-width: 350px;\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n padding: 4rem;\n\n pn-button {\n width: 100%;\n }\n\n pn-marketweb-siteheader-unified-login {\n &::after {\n display: block;\n content: '';\n height: 2px;\n background: $gray25;\n width: 100%;\n margin-top: 2.4rem;\n }\n }\n\n span {\n &::before {\n display: block;\n content: '';\n height: 2px;\n background: $gray25;\n width: 100%;\n\n margin-bottom: 2.4rem;\n }\n }\n\n span {\n font-size: 1.4rem;\n color: $gray900;\n\n a {\n text-decoration: none;\n color: $blue700;\n &:hover {\n text-decoration: underline;\n }\n }\n\n * {\n margin-bottom: 0;\n }\n }\n }\n }\n }\n\n pn-button-dropdown {\n display: none;\n }\n &.hydrated {\n pn-button-dropdown {\n display: block;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { IUserInfo, MarketWebLoginManager } from '../../../globals/MarketWebLoginManager';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialog, SiteHeaderI18N } from './pn-marketweb-siteheader-types';\nimport { user } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login',\n styleUrl: 'pn-marketweb-siteheader-login.scss',\n})\nexport class PnMarketwebSiteheaderLogin {\n @Element() hostElement: HTMLElement;\n /** Specifies which endpoint domain we should load from */\n @Prop() endpoint: string = '';\n /** Access token passed from backend */\n @Prop() token: string = '';\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n unifiedLoginButton: '',\n unifiedMyPagesButton: '',\n } as SiteHeaderI18N;\n\n @Prop() siteUrl: string = '';\n @Prop() emitEvents: boolean = true;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n\n /** User Fullname */\n @Prop() fullname: string = '';\n @Prop() loggedin: boolean = false;\n\n /** If this is selected we will show the new profile selection dropdown instead of the login version */\n @Prop({ mutable: true }) showProfileSelection: boolean = false;\n\n /** if this is selected we will show the unifiedlogin button along with new look for dropdown */\n @Prop() showUnifiedLogin: boolean = false;\n\n /** Continiously check if a user is logged in **/\n @Prop({}) checkUserLoggedInStateInterval: number = 0;\n\n @Prop() environment?: string;\n\n @State() loginLinks: [];\n\n @State() toggleButtonText: string = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';\n\n @State() username: string = this.fullname;\n\n @Prop() useMarketwebLogin: boolean;\n\n // Events\n @Event() loginStateChange: EventEmitter;\n\n componentWillLoad() {\n const userInfo: IUserInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;\n headerState.loginManager = new MarketWebLoginManager({\n endpoint: this.endpoint,\n eventTarget: this.hostElement as EventTarget,\n checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval,\n userInfo,\n });\n headerState.loginManager.setSiteUrl(this.siteUrl);\n this.hostElement['loginmanager'] = headerState.loginManager;\n if (this.token) {\n headerState.loginManager.registerToken(this.token, 'backend');\n } else if (this.emitEvents) {\n // The primary login instance\n headerState.loginManager.invalidateTokenOfType('backend');\n }\n this.hostElement.addEventListener(headerState.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));\n this.init();\n this.setUserName();\n this.setToggleButtonText();\n }\n\n @Watch('i18n')\n @Watch('loginDialog')\n async init() {\n headerState.loginManager.init(this.emitEvents);\n this.setToggleButtonText();\n this.adjustLoginLinks();\n }\n adjustLoginLinks() {\n if (!this.loginDialog?.loginMenuLinks) {\n return;\n }\n\n const adjustLink = (link, i) => {\n if (!link.isLogoutLink) {\n link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;\n }\n if (link.isLogoutLink) {\n link.href = headerState.loginManager.getLogoutUrl(link.pageLink);\n }\n\n if (i === 0 && !link.href) {\n link.href = headerState.loginManager.getLoginUrl();\n link.linkType = 'primary';\n }\n if (link.primaryLinkApperance && !link.linkType) {\n link.linkType = 'primary';\n }\n return link;\n };\n if (this.loginDialog) {\n this.loginDialog.loginMenuLinks = this.loginDialog.loginMenuLinks.map(adjustLink);\n this.loginDialog.loggedInLinks = this.loginDialog.loggedInLinks.map(adjustLink);\n }\n this.loginDialog.legacyLoginLinks = [\n {\n href: headerState.loginManager.getLoginUrl(this.loginDialog.loginUrl),\n linkText: this.loginDialog.loginLinkText,\n openInNewWindow: false,\n isLogoutLink: false,\n pageLink: null,\n linkType: 'primary',\n primaryLinkApperance: true,\n },\n {\n href: headerState.loginManager.getLoginUrl(this.loginDialog.registerUrl),\n linkText: this.loginDialog.createLoginLinkText,\n openInNewWindow: false,\n isLogoutLink: false,\n pageLink: null,\n primaryLinkApperance: false,\n },\n ];\n }\n\n setUserName() {\n const userInfo = headerState.loginManager.getUserInfo();\n let name = '';\n if (!this.loggedin || !userInfo) {\n this.username = name;\n }\n if (userInfo && userInfo.given_name) {\n name = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n\n if (!name && userInfo && userInfo.email) {\n name = userInfo.email;\n }\n if (!name && this.fullname) {\n name = this.fullname;\n }\n\n this.username = name;\n\n this.adjustLoginLinks();\n }\n\n setToggleButtonText() {\n if (this.loggedin) {\n this.toggleButtonText = this.username;\n if (!this.toggleButtonText) {\n this.toggleButtonText = this.loginDialog.loggedInButtonText;\n }\n } else {\n this.toggleButtonText = this.loginDialog.loginMenuLinkText;\n }\n }\n\n onLoginStateChange(e: CustomEvent) {\n if (this.loggedin !== e.detail && this.emitEvents) {\n this.loggedin = e.detail;\n this.loginStateChange.emit({ loggedIn: this.loggedin, token: headerState.loginManager.getToken() });\n this.setUserName();\n this.setToggleButtonText();\n }\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {\n username: null,\n loggedin: 'false',\n };\n if (this.username) {\n hostElementAttribute.username = this.username;\n hostElementAttribute.loggedin = this.loggedin + '';\n }\n return (\n <Host {...hostElementAttribute}>\n <pn-button-dropdown label={this.toggleButtonText} icon={user} appearance=\"light\" variant=\"borderless\" class=\"siteheader-logindialog\">\n {this.showUnifiedLogin && !this.loggedin && (\n <pn-marketweb-siteheader-unified-login\n loggedIn={this.loggedin}\n logInLabel={this.i18n.unifiedLoginButton}\n useMarketwebLogin={this.useMarketwebLogin}\n environment={this.environment}\n />\n )}\n {this.loggedin && this.showProfileSelection ? (\n <pn-marketweb-siteheader-login-profileselection\n loginDialog={this.loginDialog}\n loggedin={this.loggedin}\n i18n={this.i18n}\n idNamespace={this.emitEvents ? '1' : '2'}\n endpoint={this.endpoint}\n ></pn-marketweb-siteheader-login-profileselection>\n ) : (\n <pn-marketweb-siteheader-login-links\n loginDialog={this.loginDialog}\n loggedin={this.loggedin}\n idNamespace={this.emitEvents ? '1' : '2'}\n username={this.username}\n showUnifiedLogin={this.showUnifiedLogin}\n ></pn-marketweb-siteheader-login-links>\n )}\n {!this.loggedin && this.loginDialog?.loginInfo && ( <span innerHTML={`${this.loginDialog.loginInfo}`} />)}\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-marketweb-siteheader-login2.js","mappings":"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","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/user.js","src/globals/MarketWebLoginManager.ts","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.scss?tag=pn-marketweb-siteheader-login","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.tsx"],"sourcesContent":["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>';\nexport const user = icon;\n","class MarketWebLoginManager {\n eventTarget: EventTarget = window ?? document?.body;\n endpoint: String = '';\n storagePrefix: String = 'pn-user';\n checkUserLoggedInStateInterval: number = 0;\n baseUrls = {\n at: 'https://atportal.postnord.com/api/unified-login/backend',\n prod: 'https://portal.postnord.com/api/unified-login/backend',\n };\n events = {\n loginstatechange: 'loginstatechange',\n };\n endpoints = {\n authorizationEndpoint: `/authorization`,\n tokenExchangeEndpoint: `/token`,\n userInfoEndpoint: `/user`,\n logoutEndpoint: `/logout`,\n };\n keys = {\n tokensource: 'tokensource',\n token: 'token',\n accessToken: 'accessToken',\n user: 'user',\n expire: 'expire',\n expireDate: 'expiredate',\n };\n overridetokenValue = 'overridetokenValue';\n siteUrl: String = window.location.origin;\n abortSignalForLoginCheck = null;\n loginCheckInProgress = false;\n loginCheckTimer = null;\n\n constructor(options: IMarketWebLoginManagerOptions = null) {\n if (!options) {\n return;\n }\n this.eventTarget = options.eventTarget ? options.eventTarget : this.eventTarget;\n this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;\n this.storagePrefix ??= options.storagePrefix;\n this.checkUserLoggedInStateInterval =\n options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0 ? parseInt(options.checkUserLoggedInStateInterval + '', 10) : 0;\n\n if (options.userInfo) {\n this.store.set(this.keys.user, options.userInfo);\n this.registerToken(this.overridetokenValue, 'override');\n }\n }\n init(checkParameters: boolean = true) {\n if (checkParameters) {\n this.checkParameters();\n this.checkPNTopbar();\n this.checkExpireTime();\n\n if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {\n this.fetchUserInfo();\n }\n\n this.loginStateChange();\n\n if (this.checkUserLoggedInStateInterval > 0) {\n this.initiateLoggedInCheck();\n }\n }\n }\n setSiteUrl(siteUrl) {\n if (siteUrl) {\n this.siteUrl = siteUrl;\n }\n }\n initiateLoggedInCheck() {\n if (this.isLoggedIn()) {\n if (window && window['AbortController']) {\n this.abortSignalForLoginCheck = new AbortController();\n }\n this.loginCheckTimer = window.setInterval(() => {\n this.doExternalLoggedInCheck()\n .then(() => {})\n .catch(() => {});\n }, this.checkUserLoggedInStateInterval);\n }\n }\n\n async doExternalLoggedInCheck() {\n if (!window.navigator.onLine) {\n // Don't check if the user is not online\n return;\n }\n if (!this.getToken()) {\n window.clearInterval(this.checkUserLoggedInStateInterval);\n return;\n }\n if (this.loginCheckInProgress && this.abortSignalForLoginCheck) {\n this.abortSignalForLoginCheck.abort();\n this.abortSignalForLoginCheck = new AbortController();\n }\n this.loginCheckInProgress = true;\n const reqConfig: RequestInit = {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Authorization': this.getToken(),\n },\n };\n if (this.abortSignalForLoginCheck && this.abortSignalForLoginCheck['signal']) {\n reqConfig['signal'] = this.abortSignalForLoginCheck['signal'];\n }\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);\n if (response.status === 409) {\n // This is a status the API returns if a user has been logged out\n window.clearInterval(this.checkUserLoggedInStateInterval);\n console.log('Cleared out user data due to bad response from authentication endpoint');\n this.LogoutUser();\n return;\n }\n if (!response.ok) {\n // The response was \"bad\". This could be due to bad connectivity or something else.\n // We'll ignore it so we don't unecessarily log users out or have them loose state if they're switching connection\n return;\n }\n const data = await response.json();\n if (!data || !data['accessToken']) {\n window.clearInterval(this.checkUserLoggedInStateInterval);\n console.log('Cleared out user data due to bad response from authentication endpoint');\n this.LogoutUser();\n }\n this.loginCheckInProgress = false;\n }\n LogoutUser() {\n this.clearUserData();\n\n // Log out user\n if (this.eventTarget) {\n const logoutLink = (this.eventTarget as HTMLElement).querySelector('#pn-marketweb-header-logoutlink');\n if (logoutLink) {\n (logoutLink as HTMLAnchorElement).click();\n return;\n }\n }\n\n this.loginStateChange();\n \n // If no logout link was found, attempt to change URL to redirect link\n const currentPageHref = window.location.href;\n window.location.href = this.getLogoutUrl(currentPageHref);\n }\n\n isLoggedIn(override = false) {\n if (override) {\n return override;\n }\n\n let isLoggedIn = this.store.get(this.keys.token) && this.store.get(this.keys.user) ? true : false;\n if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {\n isLoggedIn = true;\n }\n return isLoggedIn;\n }\n\n registerToken(token: string = '', tokenSource = 'frontend') {\n if (!token || token === this.getToken()) {\n return;\n }\n this.clearUserData();\n this.store.set(this.keys.tokensource, tokenSource);\n this.store.set(this.keys.token, token);\n this.fetchUserInfo();\n }\n\n invalidateTokenOfType(tokenSource: string = 'frontend') {\n const currentToken = this.store.get(this.keys.token);\n if (!currentToken) {\n return;\n }\n const currentTokenSource = this.store.get(this.keys.tokensource);\n if (currentTokenSource !== tokenSource) {\n return;\n }\n // If we have a token and the source is set then we will invalidate the user data\n this.clearUserData();\n }\n\n getLoginUrl(redirectPage = '') {\n const currentPage = window.location.href;\n redirectPage = redirectPage ? redirectPage : currentPage;\n return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;\n }\n\n getLogoutUrl(linkHref = '') {\n if (linkHref.indexOf('logout?logoutUrl') !== -1) {\n // Link has already been formatted.\n return linkHref;\n }\n let redirectPage = linkHref\n .replace('logout', '')\n .replace('http://window.location.href/?', window.location.href)\n .replace('https://window.location.href/?', window.location.href);\n let rootUrl = this.siteUrl;\n try {\n const url = new URL(this.siteUrl + '');\n rootUrl = url.origin;\n } catch (e) {}\n const addSlash = rootUrl.lastIndexOf('/') !== rootUrl.length - 1;\n const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';\n const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;\n const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;\n\n return logoutUrl;\n }\n\n getUserInfo() {\n if (this.isLoggedIn()) {\n return this.store.get(this.keys.user) as IUserInfo;\n }\n }\n\n getEventTarget() {\n return this.eventTarget;\n }\n\n private checkExpireTime() {\n const expire = this.store.get(this.keys.expire);\n if (!expire) {\n return;\n }\n const now = new Date();\n const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));\n if (now > expireDate) {\n console.info('Login time has expired');\n this.clearUserData();\n this.loginStateChange();\n }\n }\n private checkPNTopbar() {\n if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {\n return;\n }\n\n this.store.set(this.keys.token, window['pnTopbar']['session_id']);\n this.fetchUserInfo();\n }\n\n private checkParameters() {\n if (!window?.location) {\n return;\n }\n\n const params = new URLSearchParams(window.location.search);\n if (params.get('oneTimeCode')) {\n const oneTimeCode = params.get('oneTimeCode');\n\n this.exchangeToken(oneTimeCode).then(() => {\n const currentHref = window.location.href;\n const paramPrefix = currentHref.indexOf('?oneTimeCode') !== -1 ? '?' : '&';\n const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');\n history.replaceState({}, document.querySelector('title').innerText, newUrl);\n });\n }\n }\n\n private async fetchUserInfo() {\n const token = this.store.get(this.keys.token);\n if (this.store.get(this.keys.token) === this.overridetokenValue) {\n console.info('Did not fetch user data since it was set by an override');\n return;\n }\n const reqConfig: RequestInit = {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Authorization': token,\n },\n };\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);\n const data = await response.json();\n if (data && data['idToken']) {\n try {\n const { idToken, expiryTime, accessToken } = data;\n const userInfo = this.parseUserInfo(idToken);\n if (!userInfo) {\n console.error('Userdata is not valid');\n this.clearUserData();\n return;\n }\n this.store.set(this.keys.user, userInfo);\n // 10 Min early expire\n this.store.set(this.keys.accessToken, accessToken);\n this.store.set(this.keys.expire, expiryTime);\n this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));\n this.loginStateChange();\n } catch (e) {\n console.error('Unable to get user information', e);\n }\n } else {\n console.error('Unable to get user information. Clearing login state');\n this.clearUserData();\n }\n }\n clearUserData() {\n this.store.remove(this.keys.user);\n this.store.remove(this.keys.tokensource);\n this.store.remove(this.keys.accessToken);\n this.store.remove(this.keys.token);\n this.store.remove(this.keys.expire);\n this.store.remove(this.keys.expireDate);\n }\n getToken() {\n return this.store.get(this.keys.token);\n }\n getAccessToken() {\n return this.store.get(this.keys.accessToken);\n }\n async exchangeToken(oneTimeCode) {\n this.clearUserData();\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);\n const { token } = await response.json();\n if (typeof token === 'string' && token) {\n this.store.set(this.keys.token, token);\n }\n this.fetchUserInfo();\n }\n private loginStateChange() {\n if (!this.eventTarget) {\n return;\n }\n this.eventTarget.dispatchEvent(\n new CustomEvent(this.events.loginstatechange, {\n detail: this.isLoggedIn(),\n }),\n );\n }\n private getBaseUrl() {\n const atEnvironments = ['localhost', 'integration.', 'inte.', 'local.','prep.'];\n let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;\n if (['devportal.postnord.com', 'atportal.postnord.com'].indexOf(window.location.hostname) !== -1) {\n useATEnv = true;\n }\n if (useATEnv) {\n return this.baseUrls.at;\n }\n return this.baseUrls.prod;\n }\n\n private parseUserInfo(idToken: string) {\n if (!idToken) {\n return null;\n }\n var base64Url = idToken.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(''),\n );\n return JSON.parse(jsonPayload);\n }\n\n store = {\n get: (key: string) => {\n const value = window.localStorage.getItem(`${this.storagePrefix}-${key}`);\n if (!value) {\n return value;\n }\n if (value.indexOf('{') === 0) {\n try {\n return JSON.parse(value);\n } catch (e) {}\n }\n if (value.indexOf(',') !== -1) {\n return value.split(',');\n }\n return value;\n },\n set: (key: string, value: any) => {\n if (typeof value === 'object' && typeof value.length === 'undefined') {\n window.localStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));\n return;\n }\n window.localStorage.setItem(`${this.storagePrefix}-${key}`, value);\n },\n remove: (key: string) => {\n window.localStorage.removeItem(`${this.storagePrefix}-${key}`);\n },\n };\n}\n\ninterface IMarketWebLoginManagerOptions {\n eventTarget?: EventTarget;\n endpoint?: String;\n storagePrefix?: String;\n userInfo?: IUserInfo;\n checkUserLoggedInStateInterval?: number;\n}\n\ninterface IUserInfo {\n acr?: string;\n ams?: string[];\n at_hash?: string;\n aud?: string;\n auth_time?: number;\n created_at?: number;\n email?: string;\n email_verifier?: true;\n emails?: IUserInfoEmail[];\n exp?: number;\n family_name?: string;\n given_name?: string;\n iat?: number;\n iss?: string;\n jti?: string;\n nonce?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n phone_number_verified_at?: string;\n phone_numbers?: IUserInfoPhonenumber[];\n rat?: number;\n sid?: string;\n sub?: string;\n uas_status?: number;\n userId?: string;\n username?: string;\n}\n\ninterface IUserInfoEmail {\n email: string;\n verifiet_at: number;\n}\ninterface IUserInfoPhonenumber {\n phone_number: string;\n verifiet_at: string;\n}\n\nexport { MarketWebLoginManager, IMarketWebLoginManagerOptions, IUserInfo };\n","@import '../../../globals/main.scss';\n@import './pn-marketweb-siteheader-common.scss';\n\n// -----------------------------------------------------------------------------\n// Internal layout / visual constants (SCSS only)\n// -----------------------------------------------------------------------------\n$siteheader-login-padding: 1rem 0;\n$siteheader-login-max-height: 5.2rem;\n\n$siteheader-login-dropdown-max-width: 350px;\n$siteheader-login-dropdown-gap: 2.4rem;\n$siteheader-login-dropdown-padding: 4rem;\n\n$siteheader-login-divider-height: 2px;\n$siteheader-login-divider-margin: 2.4rem;\n\n$siteheader-login-text-font-size: 1.4rem;\n\n// -----------------------------------------------------------------------------\n// Component token defaults (CSS vars - only real override surface)\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login {\n --login-dropdown-divider-background: var(--siteheader-login-dropdown-divider-background,\n #{$gray25});\n --login-dropdown-text-color: var(--siteheader-login-dropdown-text-color,\n #{$gray900});\n --login-dropdown-link-color: var(--siteheader-login-dropdown-link-color,\n #{$blue700});\n --login-dropdown-link-hover-decoration: var(--siteheader-login-dropdown-link-hover-decoration,\n underline);\n --login-dark-icon-hover-fill: var(--siteheader-login-dark-icon-hover-fill,\n #{$black});\n\n padding: $siteheader-login-padding;\n max-height: $siteheader-login-max-height;\n position: relative;\n\n // Example of how we could indicate username in smaller viewports\n // .siteheader-topright & {\n // &[username] {\n // &:hover {\n // &::after {\n // content: attr(username);\n // display: block;\n // position: absolute;\n // z-index: 4;\n // background: $white;\n // border: .1rem solid $blue700;\n // border-radius: .8rem;\n // padding: 0.5rem 0.9rem;\n // margin-top: 0.8rem;\n // left: 50%;\n // transform: translateX(-50%);\n //\n // @media screen and (min-width: $siteheader-media-smalldesktop) {\n // content: '';\n // display: none;\n // }\n // }\n // }\n // }\n // }\n\n pn-button-dropdown {\n display: none;\n\n .pn-button-dropdown-container {\n .pn-button-dropdown-content {\n max-width: $siteheader-login-dropdown-max-width;\n display: flex;\n flex-direction: column;\n gap: $siteheader-login-dropdown-gap;\n padding: $siteheader-login-dropdown-padding;\n\n pn-button {\n width: 100%;\n }\n\n pn-marketweb-siteheader-unified-login {\n &::after {\n display: block;\n content: '';\n width: 100%;\n height: $siteheader-login-divider-height;\n margin-top: $siteheader-login-divider-margin;\n background: var(--login-dropdown-divider-background);\n }\n }\n\n span {\n font-size: $siteheader-login-text-font-size;\n color: var(--login-dropdown-text-color);\n\n &::before {\n display: block;\n content: '';\n width: 100%;\n height: $siteheader-login-divider-height;\n margin-bottom: $siteheader-login-divider-margin;\n background: var(--login-dropdown-divider-background);\n }\n\n a {\n text-decoration: none;\n color: var(--login-dropdown-link-color);\n\n &:hover {\n text-decoration: var(--login-dropdown-link-hover-decoration);\n }\n }\n\n * {\n margin-bottom: 0;\n }\n }\n }\n }\n }\n\n &.hydrated {\n pn-button-dropdown {\n display: block;\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n// Appearance overrides\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login[appearance='dark'] {\n button:hover {\n pn-icon {\n svg path {\n fill: var(--login-dark-icon-hover-fill);\n }\n }\n }\n}","import { user } from 'pn-design-assets/pn-assets/icons.js';\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport {\n IUserInfo,\n MarketWebLoginManager,\n} from '../../../globals/MarketWebLoginManager';\nimport { HeaderAppearance } from '../pn-marketweb-header/utils/header-theme';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport {\n LoginDialog,\n SiteHeaderI18N,\n} from './pn-marketweb-siteheader-types';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login',\n styleUrl: 'pn-marketweb-siteheader-login.scss',\n})\nexport class PnMarketwebSiteheaderLogin {\n @Element() hostElement: HTMLElement;\n /** Specifies which endpoint domain we should load from */\n @Prop() endpoint: string = '';\n /** Access token passed from backend */\n @Prop() token: string = '';\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n unifiedLoginButton: '',\n unifiedMyPagesButton: '',\n } as SiteHeaderI18N;\n\n @Prop() siteUrl: string = '';\n @Prop() emitEvents: boolean = true;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n\n /** User Fullname */\n @Prop() fullname: string = '';\n @Prop() loggedin: boolean = false;\n\n /** If this is selected we will show the new profile selection dropdown instead of the login version */\n @Prop({ mutable: true }) showProfileSelection: boolean = false;\n\n /** if this is selected we will show the unifiedlogin button along with new look for dropdown */\n @Prop() showUnifiedLogin: boolean = false;\n\n /** Continiously check if a user is logged in **/\n @Prop({}) checkUserLoggedInStateInterval: number = 0;\n\n @Prop() environment?: string;\n\n @Prop({ mutable: true, reflect: true }) appearance?: HeaderAppearance = 'light';\n\n @State() loginLinks: [];\n\n @State() toggleButtonText: string = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';\n\n @State() username: string = this.fullname;\n\n @Prop() useMarketwebLogin: boolean;\n\n // Events\n @Event() loginStateChange: EventEmitter;\n\n componentWillLoad() {\n const userInfo: IUserInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;\n headerState.loginManager = new MarketWebLoginManager({\n endpoint: this.endpoint,\n eventTarget: this.hostElement as EventTarget,\n checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval,\n userInfo,\n });\n headerState.loginManager.setSiteUrl(this.siteUrl);\n this.hostElement['loginmanager'] = headerState.loginManager;\n if (this.token) {\n headerState.loginManager.registerToken(this.token, 'backend');\n } else if (this.emitEvents) {\n // The primary login instance\n headerState.loginManager.invalidateTokenOfType('backend');\n }\n this.hostElement.addEventListener(headerState.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));\n this.init();\n this.setUserName();\n this.setToggleButtonText();\n }\n\n @Watch('i18n')\n @Watch('loginDialog')\n async init() {\n headerState.loginManager.init(this.emitEvents);\n this.setToggleButtonText();\n this.adjustLoginLinks();\n }\n adjustLoginLinks() {\n if (!this.loginDialog?.loginMenuLinks) {\n return;\n }\n\n const adjustLink = (link, i) => {\n if (!link.isLogoutLink) {\n link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;\n }\n if (link.isLogoutLink) {\n link.href = headerState.loginManager.getLogoutUrl(link.pageLink);\n }\n\n if (i === 0 && !link.href) {\n link.href = headerState.loginManager.getLoginUrl();\n link.linkType = 'primary';\n }\n if (link.primaryLinkApperance && !link.linkType) {\n link.linkType = 'primary';\n }\n return link;\n };\n if (this.loginDialog) {\n this.loginDialog.loginMenuLinks = this.loginDialog.loginMenuLinks.map(adjustLink);\n this.loginDialog.loggedInLinks = this.loginDialog.loggedInLinks.map(adjustLink);\n }\n this.loginDialog.legacyLoginLinks = [\n {\n href: headerState.loginManager.getLoginUrl(this.loginDialog.loginUrl),\n linkText: this.loginDialog.loginLinkText,\n openInNewWindow: false,\n isLogoutLink: false,\n pageLink: null,\n linkType: 'primary',\n primaryLinkApperance: true,\n },\n {\n href: headerState.loginManager.getLoginUrl(this.loginDialog.registerUrl),\n linkText: this.loginDialog.createLoginLinkText,\n openInNewWindow: false,\n isLogoutLink: false,\n pageLink: null,\n primaryLinkApperance: false,\n },\n ];\n }\n\n setUserName() {\n const userInfo = headerState.loginManager.getUserInfo();\n let name = '';\n if (!this.loggedin || !userInfo) {\n this.username = name;\n }\n if (userInfo && userInfo.given_name) {\n name = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n\n if (!name && userInfo && userInfo.email) {\n name = userInfo.email;\n }\n if (!name && this.fullname) {\n name = this.fullname;\n }\n\n this.username = name;\n\n this.adjustLoginLinks();\n }\n\n setToggleButtonText() {\n if (this.loggedin) {\n this.toggleButtonText = this.username;\n if (!this.toggleButtonText) {\n this.toggleButtonText = this.loginDialog.loggedInButtonText;\n }\n } else {\n this.toggleButtonText = this.loginDialog.loginMenuLinkText;\n }\n }\n\n onLoginStateChange(e: CustomEvent) {\n if (this.loggedin !== e.detail && this.emitEvents) {\n this.loggedin = e.detail;\n this.loginStateChange.emit({ loggedIn: this.loggedin, token: headerState.loginManager.getToken() });\n this.setUserName();\n this.setToggleButtonText();\n }\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {\n username: null,\n loggedin: 'false',\n };\n if (this.username) {\n hostElementAttribute.username = this.username;\n hostElementAttribute.loggedin = this.loggedin + '';\n }\n return (\n <Host {...hostElementAttribute}>\n <pn-button-dropdown label={this.toggleButtonText} icon={user} appearance={this.appearance} variant=\"borderless\" class=\"siteheader-logindialog\">\n {this.showUnifiedLogin && !this.loggedin && (\n <pn-marketweb-siteheader-unified-login\n loggedIn={this.loggedin}\n logInLabel={this.i18n.unifiedLoginButton}\n useMarketwebLogin={this.useMarketwebLogin}\n environment={this.environment}\n />\n )}\n {this.loggedin && this.showProfileSelection ? (\n <pn-marketweb-siteheader-login-profileselection\n loginDialog={this.loginDialog}\n loggedin={this.loggedin}\n i18n={this.i18n}\n idNamespace={this.emitEvents ? '1' : '2'}\n endpoint={this.endpoint}\n ></pn-marketweb-siteheader-login-profileselection>\n ) : (\n <pn-marketweb-siteheader-login-links\n loginDialog={this.loginDialog}\n loggedin={this.loggedin}\n idNamespace={this.emitEvents ? '1' : '2'}\n username={this.username}\n showUnifiedLogin={this.showUnifiedLogin}\n ></pn-marketweb-siteheader-login-links>\n )}\n {!this.loggedin && this.loginDialog?.loginInfo && (<span innerHTML={`${this.loginDialog.loginInfo}`} />)}\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -15,7 +15,7 @@ const PnMarketwebSiteheaderUnifiedLogin = /*@__PURE__*/ proxyCustomElement(class
|
|
|
15
15
|
}
|
|
16
16
|
get hostElement() { return this; }
|
|
17
17
|
render() {
|
|
18
|
-
return (h(Host, { key: '
|
|
18
|
+
return (h(Host, { key: 'd81058f7099d93c9849656245c16fdfd4fcdece0' }, h("pn-marketweb-siteheader-login-button", { key: 'af6260b3550aae26428b37da4fb8a59964422bc2', label: this.logInLabel, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })));
|
|
19
19
|
}
|
|
20
20
|
static get style() { return PnMarketwebSiteheaderUnifiedLoginStyle0; }
|
|
21
21
|
}, [0, "pn-marketweb-siteheader-unified-login", {
|
|
@@ -2,6 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
|
|
|
2
2
|
import { F as FetchHelper } from './FetchHelper.js';
|
|
3
3
|
import { M as MarketWebContextService } from './MarketWebContextService.js';
|
|
4
4
|
import { s as state, d as defineCustomElement$8 } from './pn-marketweb-siteheader-login-linklist2.js';
|
|
5
|
+
import { t as translations } from './translations.js';
|
|
5
6
|
import { d as defineCustomElement$g } from './pn-language-selector2.js';
|
|
6
7
|
import { d as defineCustomElement$f } from './pn-language-selector-option2.js';
|
|
7
8
|
import { d as defineCustomElement$e } from './pn-mainnav2.js';
|
|
@@ -17,199 +18,6 @@ import { d as defineCustomElement$4 } from './pn-marketweb-siteheader-unified-lo
|
|
|
17
18
|
import { d as defineCustomElement$3 } from './pn-site-selector2.js';
|
|
18
19
|
import { d as defineCustomElement$2 } from './pn-site-selector-item2.js';
|
|
19
20
|
|
|
20
|
-
const translations = {
|
|
21
|
-
'sv': {
|
|
22
|
-
searchlabel: 'Sök',
|
|
23
|
-
searchplaceholder: 'Vad letar du efter?',
|
|
24
|
-
searchbuttontext: 'Sök',
|
|
25
|
-
menuHomeButton: 'Hem',
|
|
26
|
-
menuGoBackButton: 'Gå tillbaka',
|
|
27
|
-
mainMenuButton: 'Meny',
|
|
28
|
-
menuStartButton: 'Start',
|
|
29
|
-
profileSelectionFlyoutHeading: 'Inloggad som',
|
|
30
|
-
unifiedLoginButton: 'Logga in',
|
|
31
|
-
unifiedMyPagesButton: 'Mina sidor',
|
|
32
|
-
home: 'Hem',
|
|
33
|
-
},
|
|
34
|
-
'en': {
|
|
35
|
-
searchlabel: 'Search',
|
|
36
|
-
searchplaceholder: 'Search',
|
|
37
|
-
searchbuttontext: 'Search',
|
|
38
|
-
menuHomeButton: 'Home',
|
|
39
|
-
menuGoBackButton: 'Go back',
|
|
40
|
-
mainMenuButton: 'Menu',
|
|
41
|
-
menuStartButton: 'Start',
|
|
42
|
-
profileSelectionFlyoutHeading: 'Logged in as',
|
|
43
|
-
unifiedLoginButton: 'Log in',
|
|
44
|
-
unifiedMyPagesButton: 'My pages',
|
|
45
|
-
home: 'Home',
|
|
46
|
-
},
|
|
47
|
-
'da': {
|
|
48
|
-
searchlabel: 'Søg',
|
|
49
|
-
searchplaceholder: 'Søg',
|
|
50
|
-
searchbuttontext: 'Søg',
|
|
51
|
-
menuHomeButton: 'Hjem',
|
|
52
|
-
menuGoBackButton: 'Gå tilbage',
|
|
53
|
-
mainMenuButton: 'Menu',
|
|
54
|
-
menuStartButton: 'Start',
|
|
55
|
-
profileSelectionFlyoutHeading: 'Logget ind som',
|
|
56
|
-
unifiedLoginButton: 'Log ind',
|
|
57
|
-
unifiedMyPagesButton: 'Mine sider',
|
|
58
|
-
home: 'Hjem',
|
|
59
|
-
},
|
|
60
|
-
'no': {
|
|
61
|
-
searchlabel: 'Søk',
|
|
62
|
-
searchplaceholder: 'Søk',
|
|
63
|
-
searchbuttontext: 'Søk',
|
|
64
|
-
menuHomeButton: 'Hjem',
|
|
65
|
-
menuGoBackButton: 'Gå tilbake',
|
|
66
|
-
mainMenuButton: 'Meny',
|
|
67
|
-
menuStartButton: 'Start',
|
|
68
|
-
profileSelectionFlyoutHeading: 'Logget på som',
|
|
69
|
-
unifiedLoginButton: 'Logg inn',
|
|
70
|
-
unifiedMyPagesButton: 'Sidene mine',
|
|
71
|
-
home: 'Hjem',
|
|
72
|
-
},
|
|
73
|
-
'fi': {
|
|
74
|
-
searchlabel: 'Hae',
|
|
75
|
-
searchplaceholder: 'Hae',
|
|
76
|
-
searchbuttontext: 'Hae',
|
|
77
|
-
menuHomeButton: 'Koti',
|
|
78
|
-
menuGoBackButton: 'Mene takaisin',
|
|
79
|
-
mainMenuButton: 'Valikko',
|
|
80
|
-
menuStartButton: 'Alkaa',
|
|
81
|
-
profileSelectionFlyoutHeading: 'Kirjautunut sisään nimellä',
|
|
82
|
-
unifiedLoginButton: 'Kirjaudu sisään',
|
|
83
|
-
unifiedMyPagesButton: 'Minun sivujani',
|
|
84
|
-
home: 'Koti',
|
|
85
|
-
},
|
|
86
|
-
'de': {
|
|
87
|
-
searchlabel: 'Suche',
|
|
88
|
-
searchplaceholder: 'Wonach suchen Sie?',
|
|
89
|
-
searchbuttontext: 'Suche',
|
|
90
|
-
menuHomeButton: 'Start',
|
|
91
|
-
menuGoBackButton: 'Geh zurück',
|
|
92
|
-
mainMenuButton: 'Menü',
|
|
93
|
-
menuStartButton: 'Start',
|
|
94
|
-
profileSelectionFlyoutHeading: 'Eingeloggt als',
|
|
95
|
-
unifiedLoginButton: 'Anmeldung',
|
|
96
|
-
unifiedMyPagesButton: 'Meine Seiten',
|
|
97
|
-
home: 'Start',
|
|
98
|
-
},
|
|
99
|
-
'zh': {
|
|
100
|
-
searchlabel: '搜索',
|
|
101
|
-
searchplaceholder: '搜索',
|
|
102
|
-
searchbuttontext: '搜索',
|
|
103
|
-
menuHomeButton: '主页',
|
|
104
|
-
menuGoBackButton: '回去',
|
|
105
|
-
mainMenuButton: '选择菜单',
|
|
106
|
-
menuStartButton: '开始',
|
|
107
|
-
home: '主页',
|
|
108
|
-
},
|
|
109
|
-
'it': {
|
|
110
|
-
searchlabel: 'Cerca',
|
|
111
|
-
searchplaceholder: 'Cerca',
|
|
112
|
-
searchbuttontext: 'Cerca',
|
|
113
|
-
menuHomeButton: 'Home',
|
|
114
|
-
menuGoBackButton: 'Go back',
|
|
115
|
-
mainMenuButton: 'Menu',
|
|
116
|
-
menuStartButton: 'Start',
|
|
117
|
-
profileSelectionFlyoutHeading: 'Logged in as',
|
|
118
|
-
unifiedLoginButton: 'Log in',
|
|
119
|
-
unifiedMyPagesButton: 'My pages',
|
|
120
|
-
home: 'Home',
|
|
121
|
-
},
|
|
122
|
-
'nl': {
|
|
123
|
-
searchlabel: 'Zoeken',
|
|
124
|
-
searchplaceholder: 'Zoeken',
|
|
125
|
-
searchbuttontext: 'Zoeken',
|
|
126
|
-
menuHomeButton: 'Home',
|
|
127
|
-
menuGoBackButton: 'Go back',
|
|
128
|
-
mainMenuButton: 'Menu',
|
|
129
|
-
menuStartButton: 'Start',
|
|
130
|
-
profileSelectionFlyoutHeading: 'Logged in as',
|
|
131
|
-
unifiedLoginButton: 'Log in',
|
|
132
|
-
unifiedMyPagesButton: 'My pages',
|
|
133
|
-
home: 'Home',
|
|
134
|
-
},
|
|
135
|
-
'es': {
|
|
136
|
-
searchplaceholder: 'Buscar',
|
|
137
|
-
searchlabel: 'Buscar',
|
|
138
|
-
searchbuttontext: 'Buscar',
|
|
139
|
-
menuHomeButton: 'Inicio',
|
|
140
|
-
menuGoBackButton: 'Go back',
|
|
141
|
-
mainMenuButton: 'Menu',
|
|
142
|
-
menuStartButton: 'Start',
|
|
143
|
-
profileSelectionFlyoutHeading: 'Logged in as',
|
|
144
|
-
unifiedLoginButton: 'Log in',
|
|
145
|
-
unifiedMyPagesButton: 'My pages',
|
|
146
|
-
home: 'Inicio',
|
|
147
|
-
},
|
|
148
|
-
'fr': {
|
|
149
|
-
searchplaceholder: 'Recherche',
|
|
150
|
-
searchlabel: 'Recherche',
|
|
151
|
-
searchbuttontext: 'Recherche',
|
|
152
|
-
menuHomeButton: 'Accueil',
|
|
153
|
-
menuGoBackButton: 'Go back',
|
|
154
|
-
mainMenuButton: 'Menu',
|
|
155
|
-
menuStartButton: 'Start',
|
|
156
|
-
profileSelectionFlyoutHeading: 'Logged in as',
|
|
157
|
-
unifiedLoginButton: 'Log in',
|
|
158
|
-
unifiedMyPagesButton: 'My pages',
|
|
159
|
-
home: 'Accueil',
|
|
160
|
-
},
|
|
161
|
-
'tr': {
|
|
162
|
-
searchlabel: 'Ara',
|
|
163
|
-
searchplaceholder: 'Ara',
|
|
164
|
-
searchbuttontext: 'Ara',
|
|
165
|
-
menuHomeButton: 'Anasayfa',
|
|
166
|
-
menuGoBackButton: 'Geri git',
|
|
167
|
-
mainMenuButton: 'Menü',
|
|
168
|
-
menuStartButton: 'Başlat',
|
|
169
|
-
profileSelectionFlyoutHeading: 'Oturum açma adı',
|
|
170
|
-
unifiedLoginButton: 'Oturum aç',
|
|
171
|
-
unifiedMyPagesButton: 'Sayfalarım',
|
|
172
|
-
home: 'Anasayfa',
|
|
173
|
-
},
|
|
174
|
-
'pt': {
|
|
175
|
-
searchlabel: 'Search',
|
|
176
|
-
searchplaceholder: 'Search',
|
|
177
|
-
searchbuttontext: 'Search',
|
|
178
|
-
menuHomeButton: 'Página inicial',
|
|
179
|
-
menuGoBackButton: 'Go back',
|
|
180
|
-
mainMenuButton: 'Menu',
|
|
181
|
-
menuStartButton: 'Start',
|
|
182
|
-
profileSelectionFlyoutHeading: 'Logged in as',
|
|
183
|
-
unifiedLoginButton: 'Log in',
|
|
184
|
-
unifiedMyPagesButton: 'My pages',
|
|
185
|
-
},
|
|
186
|
-
'pl': {
|
|
187
|
-
searchlabel: 'Szukaj',
|
|
188
|
-
searchplaceholder: 'Szukaj',
|
|
189
|
-
searchbuttontext: 'Szukaj',
|
|
190
|
-
menuHomeButton: 'Strona główna',
|
|
191
|
-
menuGoBackButton: 'Powrót',
|
|
192
|
-
mainMenuButton: 'Menu',
|
|
193
|
-
menuStartButton: 'Początek',
|
|
194
|
-
profileSelectionFlyoutHeading: 'Zalogowany(-a) jako',
|
|
195
|
-
unifiedLoginButton: 'Logowanie',
|
|
196
|
-
unifiedMyPagesButton: 'Moje strony',
|
|
197
|
-
home: 'Strona główna',
|
|
198
|
-
},
|
|
199
|
-
'pt-BR': {
|
|
200
|
-
searchlabel: 'Buscar',
|
|
201
|
-
searchplaceholder: 'Buscar',
|
|
202
|
-
searchbuttontext: 'Buscar',
|
|
203
|
-
menuHomeButton: 'Página inicial',
|
|
204
|
-
menuGoBackButton: 'Voltar',
|
|
205
|
-
mainMenuButton: 'Menu',
|
|
206
|
-
menuStartButton: 'Iniciar',
|
|
207
|
-
profileSelectionFlyoutHeading: 'Login efetuado como',
|
|
208
|
-
unifiedLoginButton: 'Fazer login',
|
|
209
|
-
unifiedMyPagesButton: 'Minhas páginas',
|
|
210
|
-
},
|
|
211
|
-
};
|
|
212
|
-
|
|
213
21
|
const pnMarketwebSiteheaderCss = "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}}body[data-siteheader-menuopen=true]{max-height:100vh;overflow:hidden}@media screen and (min-width: 60em){body[data-siteheader-menuopen=true]{max-height:initial;overflow:initial}}pn-marketweb-siteheader{display:block;background:#ffffff}pn-marketweb-siteheader header{position:relative;z-index:1000;display:flex;flex-flow:column;box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);flex-direction:row;justify-content:space-between}@media screen and (min-width: 48em){pn-marketweb-siteheader header{flex-direction:column;justify-content:initial}}pn-marketweb-siteheader .siteheader-row{display:flex;flex-flow:row;align-items:center;width:100%;padding:0 1.6rem;min-height:2em}pn-marketweb-siteheader .siteheader-row:not(:last-child){border-bottom:0.1rem solid #f3f2f2}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-row{justify-content:space-between;min-height:3.2em}}@media screen and (max-width: 48em){pn-marketweb-siteheader .siteheader-row:last-child{justify-content:flex-end}}pn-marketweb-siteheader .siteheader-topright{display:flex;flex-direction:row}pn-marketweb-siteheader .siteheader-logocontainer{display:flex;align-items:center;position:relative;min-height:3em;background:#ffffff;z-index:1}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-logocontainer{position:absolute;left:50%;transform:translateX(-50%)}}pn-marketweb-siteheader .siteheader-logolink{height:100%;max-height:6.4rem;display:flex;align-items:center}pn-marketweb-siteheader .siteheader-logolink:hover,pn-marketweb-siteheader .siteheader-logolink:focus,pn-marketweb-siteheader .siteheader-logolink:active{box-shadow:none}pn-marketweb-siteheader .siteheader-row>pn-marketweb-siteheader-search{display:none}@media screen and (min-width: 48em){pn-marketweb-siteheader .siteheader-row>pn-marketweb-siteheader-search{display:block;max-width:30rem;min-width:23.3rem;width:100%}}pn-marketweb-siteheader .siteheader-row pn-button button:hover .pn-button-bg,pn-marketweb-siteheader .siteheader-row pn-button button:hover .pn-button-bg::after{background-color:#e0f8ff}pn-marketweb-siteheader pn-spinner{display:none}pn-marketweb-siteheader pn-button-dropdown:not(.hydrated) .pn-button-dropdown-container{display:none}pn-marketweb-siteheader pn-button button{font-weight:400 !important;padding:0.5rem !important}pn-marketweb-siteheader pn-button button .pn-button-bg:after{border-radius:0.8rem !important}.siteheader-topleft pn-site-selector{padding:1rem 0;display:none}@media screen and (min-width: 48em){.siteheader-topleft pn-site-selector{display:block}}@media screen and (min-width: 60em){.siteheader-topleft pn-site-selector{margin-left:1.3rem}}.siteheader-topleft pn-site-selector .pn-button-dropdown-label,.siteheader-topleft pn-site-selector:is(a){font-size:0}.siteheader-topleft pn-site-selector .pn-button-dropdown-label pn-icon,.siteheader-topleft pn-site-selector:is(a) pn-icon{font-size:initial;margin-left:0}@media screen and (min-width: 60em){.siteheader-topleft pn-site-selector .pn-button-dropdown-label,.siteheader-topleft pn-site-selector:is(a){font-size:initial}.siteheader-topleft pn-site-selector .pn-button-dropdown-label pn-icon,.siteheader-topleft pn-site-selector:is(a) pn-icon{margin-left:0.4em}}@media screen and (min-width: 60em){.siteheader-topright{margin-right:1.6rem}}.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{padding:1rem 0;display:none;align-self:center}@media screen and (min-width: 48em){.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{display:block;margin-left:1rem}}@media screen and (min-width: 60em){.siteheader-topright>pn-language-selector,.siteheader-topright>pn-marketweb-siteheader-login,.siteheader-topright>a{margin-left:1.6rem}}.siteheader-topright>pn-language-selector .pn-button-dropdown-label,.siteheader-topright>pn-language-selector:is(a),.siteheader-topright>pn-marketweb-siteheader-login .pn-button-dropdown-label,.siteheader-topright>pn-marketweb-siteheader-login:is(a),.siteheader-topright>a .pn-button-dropdown-label,.siteheader-topright>a:is(a){font-size:0}.siteheader-topright>pn-language-selector .pn-button-dropdown-label pn-icon,.siteheader-topright>pn-language-selector:is(a) pn-icon,.siteheader-topright>pn-marketweb-siteheader-login .pn-button-dropdown-label pn-icon,.siteheader-topright>pn-marketweb-siteheader-login:is(a) pn-icon,.siteheader-topright>a .pn-button-dropdown-label pn-icon,.siteheader-topright>a:is(a) pn-icon{font-size:initial;margin-left:0}@media screen and (min-width: 60em){.siteheader-topright>pn-language-selector .pn-button-dropdown-label,.siteheader-topright>pn-language-selector:is(a),.siteheader-topright>pn-marketweb-siteheader-login .pn-button-dropdown-label,.siteheader-topright>pn-marketweb-siteheader-login:is(a),.siteheader-topright>a .pn-button-dropdown-label,.siteheader-topright>a:is(a){font-size:initial}.siteheader-topright>pn-language-selector .pn-button-dropdown-label pn-icon,.siteheader-topright>pn-language-selector:is(a) pn-icon,.siteheader-topright>pn-marketweb-siteheader-login .pn-button-dropdown-label pn-icon,.siteheader-topright>pn-marketweb-siteheader-login:is(a) pn-icon,.siteheader-topright>a .pn-button-dropdown-label pn-icon,.siteheader-topright>a:is(a) pn-icon{margin-left:0.4em}}.siteheader-menu{max-width:100%;overflow:visible;overflow-x:clip}@media screen and (min-width: 60em){.siteheader-menu{margin-top:auto;overflow:visible}}.siteheader-menu pn-mainnav-link a[target]::after{content:none}.siteheader-menu pn-marketweb-siteheader-search{padding:0.3rem 1.6rem;width:100%}.siteheader-menu [slot=top] pn-search-field{width:100%}.siteheader-menu-footer{display:flex;flex-direction:column;align-items:center}.siteheader-menu-footer>*{margin:1.6rem}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader pn-button a{text-decoration:none}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader pn-button a:hover{text-decoration:none}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header{background-color:#0d234b;box-shadow:none}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-row:not(:last-child){border-bottom:0.1rem solid #0d234b}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-row pn-button button:hover .pn-button-bg,.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-row pn-button button:hover .pn-button-bg::after{background-color:#005d92 !important}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-button-dropdown-label{color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-button-dropdown-label pn-icon svg>path{fill:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-button-dropdown-label:hover{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-button-dropdown-label:active{background-color:#00a0d6}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topleft button.pn-button-dropdown-label:focus{background-color:#00a0d6}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-logocontainer{background-color:#0d234b}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-logocontainer svg.siteheader-logo>path{fill:#00a0d6}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright .siteheader-logindialog svg>path{fill:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright pn-language-selector pn-icon svg>path{fill:#ffffff !important}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button{color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:hover{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:active{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright button:focus{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright [slot=toprightend]{align-self:center;margin-left:1rem}@media screen and (max-width: 48em){.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-topright [slot=toprightend]{display:none}}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu .mainnav-toggle button{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu .first-level_icon svg>path{fill:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input{background-color:#ffffff;color:#0d234b;border:0.1rem solid #ffffff;padding:0.65rem 1.5rem}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:hover{border-color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::placeholder{color:#0d234b}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav{background-color:#0d234b}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav{top:6.4em}}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search{padding-bottom:0.5rem;background-color:#0d234b}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search .button-container{border-top:1px solid #ffffff;border-bottom:1px solid #ffffff;border-right:1px solid #ffffff;border-top-right-radius:50%;border-bottom-right-radius:50%}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level [slot=top].siteheader-menu-top pn-marketweb-siteheader-search .button-container button.clear{border:2px solid #ffffff;border-radius:50%;padding:0.5rem}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level .mainnav-level-header .secondlevel-backbtn pn-icon svg>path{fill:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-level[data-level=\"2\"] .mainnav-level-header pn-mainnav-link>a:hover{background-color:#00a0d6}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button,.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a{background-color:#0d234b;border-bottom:0.1rem solid rgba(0, 93, 146, 0.5)}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button:hover,.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a:hover{text-decoration:none}@media screen and (min-width: 1024px){.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link button,.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level pn-mainnav-list>pn-mainnav-link a{border-bottom:none}}@media screen and (max-width: 1023px){.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link:first-child{border-top:0.1rem solid rgba(0, 93, 146, 0.5)}}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link a,.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link button{color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link a:focus,.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level[data-level=\"1\"] pn-mainnav-list>pn-mainnav-link button:focus{outline:none}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]){background-color:#0d234b}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]) pn-mainnav-list{color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-mainnav-level:not([data-level=\"1\"]) pn-mainnav-list pn-mainnav-link>a:hover{background-color:#00a0d6;text-decoration:none}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-marketweb-siteheader-login-linklist ul li a:not(.pn-button){color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header nav.mainnav pn-marketweb-siteheader-login-linklist ul li a:hover{color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow svg>path{fill:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#ffffff}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:hover{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:active{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button:focus{background-color:#005d92}.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer button svg>path{fill:#ffffff}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=dotcom]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}}.siteheader-menu-top-search{display:none}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl] pn-site-selector .pn-button-dropdown-label,.header-wrapper[data-header-theme=dotcom] pn-site-selector .pn-button-dropdown-label{border-radius:48px}}.header-wrapper[data-header-theme=tpl] .siteheader-row pn-button.pn-button-dropdown-label .pn-button[data-variant=borderless][data-appearance=light] .pn-button-bg::after,.header-wrapper[data-header-theme=dotcom] .siteheader-row pn-button.pn-button-dropdown-label .pn-button[data-variant=borderless][data-appearance=light] .pn-button-bg::after{background-color:#005d92 !important}.header-wrapper[data-header-theme=tpl] .siteheader-row pn-button.pn-button-dropdown-label .pn-button[data-appearance=light] pn-icon .pn-icon-svg path,.header-wrapper[data-header-theme=dotcom] .siteheader-row pn-button.pn-button-dropdown-label .pn-button[data-appearance=light] pn-icon .pn-icon-svg path{fill:#ffffff !important}.header-wrapper[data-header-theme=tpl] .siteheader-row pn-button.pn-button-dropdown-label button .pn-button-text,.header-wrapper[data-header-theme=dotcom] .siteheader-row pn-button.pn-button-dropdown-label button .pn-button-text{color:#ffffff !important}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader pn-button a{text-decoration:none}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader pn-button a:hover{text-decoration:none}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button]{display:flex;gap:1rem;align-items:center}@media screen and (max-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button]{display:none}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a{color:#0d234b;font-weight:500;font-size:1.6rem;padding:0.8rem 2.4rem}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-bg{background-color:#fbc2c1}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-content pn-icon svg>path{fill:#0d234b}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a .pn-button-content pn-icon svg>path{fill:#ffffff}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover{color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover .pn-button-bg{background-color:#0d234b;transition:backgrond-color linear 1s}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader [slot=header-bottom-button] a:hover .pn-button-content pn-icon svg>path{fill:#ffffff}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader .siteheader-row pn-button button:hover .pn-button-bg,.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader .siteheader-row pn-button button:hover .pn-button-bg::after{background-color:#0d234b;transition:initial}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:not(:last-child){background-color:#0d234b;border-bottom:0.1rem solid #0d234b}@media screen and (max-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:last-child{background-color:#0d234b}}@media screen and (min-width: 60em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link>button::before,.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [data-level=\"1\"] pn-mainnav-link>a::before{background-color:#fbc2c1}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{background:#0d234b;display:flex;align-items:center}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{display:none}}@media screen and (max-width: 415px){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button]{display:none}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a{color:#0d234b;font-weight:500}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-bg{background-color:#fbc2c1}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-content pn-icon svg>path{fill:#0d234b}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a .pn-button-content pn-icon svg>path{fill:#ffffff}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover{color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover .pn-button-bg{background-color:#0d234b;transition:backgrond-color linear 1s}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header [slot=siteheader-menu-top-button] a:hover .pn-button-content pn-icon svg>path{fill:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header a{color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header pn-mainnav-link button{color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header pn-mainnav-link button pn-icon svg path{fill:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-button-dropdown-label{color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-button-dropdown-label pn-icon svg>path{fill:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topleft pn-site-selector .pn-button-dropdown-label:hover{background:#00a0d6}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-button-dropdown-label:hover{background-color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-button-dropdown-label:active{background-color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header button.pn-button-dropdown-label:focus{background-color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-logocontainer{background-color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-logocontainer svg.siteheader-logo>path{fill:#00a0d6}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright{margin-right:0;align-self:center;margin-left:1rem}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright .siteheader-logindialog svg>path{fill:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright pn-language-selector pn-icon svg>path{fill:#ffffff !important}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button{color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:hover{background-color:#00a0d6}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:active,.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-topright button:focus{background-color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search{display:inline-block;margin-top:auto;margin-bottom:auto;width:fit-content}@media screen and (max-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search{display:none}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search pn-search-field{justify-content:flex-end;min-width:inherit}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form{margin-right:0}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container{position:absolute;width:100%}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input{cursor:pointer;background-color:transparent;color:transparent;border:none;position:relative;z-index:3;border-radius:0}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search form:not(:focus-within) .input-container input::placeholder{color:transparent}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .input-container:focus-within{margin-left:2rem}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .input-container:focus-within input{background-color:#ffffff;color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .siteheader-search pn-button button{width:fit-content;padding:1rem 1.9rem}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header div.siteheader-menu-top-search .siteheader-search pn-button button .pn-button-bg{background:#0d234b}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-row:last-child pn-marketweb-siteheader-search{display:none}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input{background-color:#ffffff;color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input:hover{border-color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-search form pn-search-field input::placeholder{color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}@media screen and (max-width: 768px){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:flex;color:#0d234b;flex-direction:column;gap:0.5rem}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-bg{background-color:#fbc2c1}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content{font-weight:500;color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content pn-icon svg>path{fill:#0d234b}}@media screen and (max-width: 768px) and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] .pn-button-content pn-icon svg>path{fill:#ffffff}}@media screen and (max-width: 768px){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover{color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-bg{background-color:#0d234b;transition:backgrond-color linear 1s}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-content pn-icon svg>path{fill:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta] a:hover .pn-button-text{color:#ffffff}}@media screen and (max-width: 1024px){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-button-dropdown button:focus,.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-button-dropdown button:hover{color:#ffffff;background-color:#00a0d6;box-shadow:0 0 0 0.2rem #ffffff, 0 0 0 0.4rem #00a0d6}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-button-dropdown button:focus svg>path,.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer pn-button-dropdown button:hover svg>path{fill:#ffffff}}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#ffffff}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:hover{background-color:#005d92}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:active{background-color:#00a0d6}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button:focus{background-color:#00a0d6}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button svg>path{fill:#ffffff}@media screen and (max-width: 1024px){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button{color:#0d234b}.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer button pn-icon svg>path{fill:#0d234b}}@media screen and (min-width: 48em){.header-wrapper[data-header-theme=tpl]>pn-marketweb-siteheader>header .siteheader-menu-footer [slot=menu-footer-cta]{display:none}}";
|
|
214
22
|
const PnMarketwebSiteheaderStyle0 = pnMarketwebSiteheaderCss;
|
|
215
23
|
|
|
@@ -533,13 +341,13 @@ const PnMarketwebSiteheader$1 = /*@__PURE__*/ proxyCustomElement(class PnMarketw
|
|
|
533
341
|
...this.i18n,
|
|
534
342
|
home: this.getFallbackValue(this.i18n.home, 'Home')
|
|
535
343
|
};
|
|
536
|
-
return (h(Host, { key: '
|
|
344
|
+
return (h(Host, { key: '1f054ec291a20842a832bbc7e690513de6c0df58', language: this.language, market: this.market, environment: this.environment }, h("header", { key: '875cf76536eda3202524dea10e4ed49329adc11f' }, h("div", { key: '5be98546a0d165e47d7d6d9500687f4be3449109', class: "siteheader-row" }, h("div", { key: 'bf98312f9f2d6fa3a3859bcbdaebd15d25d43c63', class: "siteheader-topleft" }, h("slot", { key: '6901c9e9fca43fc16348d0ee523fc78c91e3edd8', name: "topleft" }), this.gotData && this.siteSelector && !this.hideSiteSelector && (h("pn-site-selector", { key: 'dbf6fd9cf00674954e0ef27f2d540fb83439c0d0', language: this.language, buttontext: this.siteSelector?.currentSiteTitle ?? 'postnord' }, this.gotData && this.siteSelector?.currentSiteTitle && (h("pn-site-selector-item", { key: '521ea504e4e1a93aed231dd6497cc50cf605f18c', heading: this.siteSelector.currentSiteTitle + ' ', description: this.siteSelector.currentSiteDescription })), this.gotData &&
|
|
537
345
|
this.siteSelector?.siteSelections &&
|
|
538
|
-
this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText + ' ', description: site.linkDescription, url: this.adjustSiteSelectorUrl(site.href), newwindow: site.openInNewWindow })))))), h("div", { key: '
|
|
346
|
+
this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText + ' ', description: site.linkDescription, url: this.adjustSiteSelectorUrl(site.href), newwindow: site.openInNewWindow })))))), h("div", { key: 'a02133c3e31e6e1aaad598923dd313a28b5ce30b', class: "siteheader-logocontainer" }, h("a", { key: '69423fe6002c15e7c97cac36ca85f2055920fd99', href: this.homePageLink, title: i18n.home, "aria-label": i18n.home, class: "siteheader-logolink" }, h("slot", { key: 'ce029f3810f8bd65b95f329cf7cc289656697c6a', name: "logo" }, h("svg", { key: 'a15e5f8ba556b3f4c0bb398e605f11f8bfb1cbab', class: "siteheader-logo", xmlns: "http://www.w3.org/2000/svg", width: "12.7rem", height: "2.4rem", viewBox: "0 0 141.73 26.65", role: "img", "aria-label": "PostNord" }, h("path", { key: '8962ad2c448ebcf97cdc2a1658f1e110bfe04583', d: "M108.84,13.35c0,6.34-5.17,9-10,9S89,19.76,89,13.63c0-6.28,5.08-9,10-9S108.84,7.25,108.84,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.29,3.29,0,0,0,3.42,3.41A3.24,3.24,0,0,0,102.28,13.54Zm-83,0c0,4.83-3.32,8.82-8.49,8.82a6.54,6.54,0,0,1-4.65-1.57v5.86H0V5.16H6.17V6.8a6.43,6.43,0,0,1,5.11-2.18C16.41,4.62,19.31,8.58,19.31,13.54Zm-6.53,0A3.27,3.27,0,0,0,9.4,10,3.28,3.28,0,0,0,6,13.54,3.29,3.29,0,0,0,9.4,16.95,3.24,3.24,0,0,0,12.78,13.54Zm103.69,0.27c0-2.54,1.54-3.32,3.6-3.32a6.56,6.56,0,0,1,2.08.3L122.3,5.1a3.92,3.92,0,0,0-1.45-.18c-3.45,0-4.38,2.18-4.38,2.18V5.16H110.3V21.84h6.17v-8ZM141.73,0V21.84h-6.16V20.21a6.43,6.43,0,0,1-5.11,2.18c-5.14,0-8-4-8-8.91s3.32-8.82,8.49-8.82a6.54,6.54,0,0,1,4.65,1.57v-5Zm-6,13.48a3.28,3.28,0,0,0-3.41-3.41A3.24,3.24,0,0,0,129,13.47,3.4,3.4,0,1,0,135.75,13.47ZM81.35,4.62c-3.6,0-4.9,2.18-4.9,2.18V5.16H70.29V21.84h6.16V13.29c0-2.11.79-3.08,2.69-3.08s2.18,1.57,2.18,3.57v8.07h6.22V11.6C87.55,7,85.34,4.62,81.35,4.62ZM64.07,1.42H57.9V21.84h6.16V10.36H67l2.81-5.2H64.07V1.42ZM50.26,11.21c-2-.3-2.87-0.3-2.87-1.09s0.81-.94,2.42-0.94a16.15,16.15,0,0,1,5.11.91L56,5.41a24.56,24.56,0,0,0-6.13-.75c-5.89,0-9,2.27-9,5.89,0,2.81,1.66,4.47,6.53,5.11,2.06,0.27,2.81.39,2.81,1.15s-0.82,1-2.24,1a16.67,16.67,0,0,1-6-1.3L40.77,21.3a22.14,22.14,0,0,0,6.68,1c6.35,0,9.28-2.24,9.28-5.89C56.72,13.54,55.15,12,50.26,11.21ZM40.19,13.35c0,6.34-5.17,9-10,9s-9.82-2.6-9.82-8.73c0-6.28,5.08-9,10-9S40.19,7.25,40.19,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.28,3.28,0,0,0,3.41,3.41A3.24,3.24,0,0,0,33.63,13.54Z", fill: "#00A0D6", transform: "translate(0 0)" }))))), h("div", { key: 'a1fb600aeabe67c59d4600aedc1f60b3c6d1e967', class: "siteheader-topright" }, h("slot", { key: '5ddcbba836f69a4e29458afe6a1571c27875c2b0', name: "toprightstart" }), this.gotData && this.loginDialog && !this.hideLogin && (h("pn-marketweb-siteheader-login", { key: '29a9f3c57259315937b21c44786db1568f8eca4f', token: this.userToken, siteUrl: this.siteDefinition.url, fullname: this.userFullname, loggedin: this.userLoggedin, loginDialog: this.loginDialog, endpoint: this.endpoint, i18n: this.i18n, showProfileSelection: this.showProfileSelection, showUnifiedLogin: this.showUnifiedLogin, "check-user-logged-in-state-interval": this.checkUserLoggedInStateInterval, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })), this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (h("pn-language-selector", { key: '345f186a503d9fcbf85d61653bfee6a03dba912e', value: this.language }, this.languageOptions.map(language => (h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))))), h("slot", { key: '120298ea8a9b42a014c472a314ba07f371ef3079', name: "toprightend" }), h("div", { key: '0caab32e11a1c5dcea8c2911209abb97e0dde78b', class: "siteheader-menu-top-search" }, h("pn-marketweb-siteheader-search", { key: '4a5d617dbb6602b70f6a91563bce94cc2f110246', language: this.language, siteid: this.siteid, search: this.search, "hide-search": this.hideSearch, i18n: this.i18n, icononly: true })))), h("slot", { key: '47f1ecc2c0bf47f0bb35aab9e80fd986454e72a9', name: "siteheader-menu-top-button" }), h("div", { key: 'f1b5459d1222866182b5bbc9af44bd9e7c41092b', class: "siteheader-row" }, h("div", { key: '618ea2a3815cada3360f105a738f4df94be2c9e0', class: "siteheader-menu" }, this.gotData && this.menuItems && (h("pn-mainnav", { key: '8ba6bcf7191844b7e32db9c6ff25fd51223cc094', market: this.market, language: this.language, onMenuOpenChange: e => {
|
|
539
347
|
document.body.setAttribute('data-siteheader-menuopen', e.detail + '');
|
|
540
|
-
} }, h("pn-mainnav-level", { key: '
|
|
348
|
+
} }, h("pn-mainnav-level", { key: 'fa427a4f605ee93a112c7a65c8227a77b67801ba' }, h("pn-mainnav-list", { key: 'f71ec86dc885a19d6ec9173daddb20c7626c44a8' }, this.menuItems.map(item => (h("pn-mainnav-link", { name: item.name, href: item.href, itemid: item.id, target: item.linkTarget ?? '_self', linkid: item.trackingId }, ((item.promotedMenuItems && item.promotedMenuItems.length > 0) || (item.children && item.children.length > 0)) && (h("pn-mainnav-level", { label: item.name }, item.children.length > 0 && (h("pn-mainnav-list", { heading: item.navigationHeading ?? '' }, item.children.map(childitem => (h("pn-mainnav-link", { name: childitem.name, href: childitem.href, target: childitem.linkTarget ?? '_self', linkid: childitem.trackingId }))))), item.promotedMenuItems && item.promotedMenuItems.length > 0 && (h("pn-mainnav-list", { heading: item.promotedMenuItemsHeader }, item.promotedMenuItems.map(childitem => (h("pn-mainnav-link", { href: childitem.href, name: childitem.linkText, target: childitem.openInNewWindow ? '_blank' : '_self', linkid: this.promotedItemId(childitem) + item.id }))))))))))), h("div", { key: '967be5bd7079d7f30c63f53bbe01900d8fe7781c', slot: "footer", class: "siteheader-menu-footer" }, h("slot", { key: '70977ef91346746c37278a047c4ef08430ea909f', name: "menu-footer-cta" }), this.gotData && this.loginDialog && !this.hideLogin && (h("pn-marketweb-siteheader-login", { key: '0f76a415d972a8d8bb1ccbd5f6e3ffad275266c9', token: this.userToken, siteUrl: this.siteDefinition.url, loginDialog: this.loginDialog, endpoint: this.endpoint, fullname: this.userFullname, loggedin: this.userLoggedin, i18n: this.i18n, showProfileSelection: this.showProfileSelection, showUnifiedLogin: this.showUnifiedLogin, environment: this.environment, "check-user-logged-in-state-interval": this.checkUserLoggedInStateInterval, useMarketwebLogin: this.useMarketwebLogin })), this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (h("pn-language-selector", { key: '753455de04be8f330db91e13301f9813dd102b59', value: this.language }, this.languageOptions.map(language => (h("pn-language-selector-option", { name: language.nativeName, code: language.twoLetterISOLanguageName, selected: language.isCurrent, url: this.getLanguageVersionUrl(language) }))))), !this.hideSiteSelector && (h("pn-site-selector", { key: '01d022ce5b7dcb6d1b77be7a1b078b1c4ae18585', language: this.language }, this.gotData && this.siteSelector?.currentSiteTitle && (h("pn-site-selector-item", { key: 'ae9c264ec51c8fe26a71d61cb35f5ad66c43856b', heading: this.siteSelector.currentSiteTitle, description: this.siteSelector.currentSiteDescription })), this.gotData &&
|
|
541
349
|
this.siteSelector?.siteSelections &&
|
|
542
|
-
this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))))), h("div", { key: '
|
|
350
|
+
this.siteSelector.siteSelections.map(site => (h("pn-site-selector-item", { heading: site.linkText, description: site.linkDescription, url: site.pageLink, newwindow: site.openInNewWindow })))))), h("div", { key: '8c5f81339f33dfc08ac6bd217653842b6a35d89c', slot: "top", class: "siteheader-menu-top" }, h("pn-marketweb-siteheader-search", { key: 'f430db3db7d7e0c1dd6236874c843d326f5e98b9', language: this.language, siteid: this.siteid, search: this.search, "hide-search": this.hideSearch, i18n: this.i18n })))))), h("pn-marketweb-siteheader-search", { key: '9be1903b5fdd5ed63782c5c1886ea7bcfcc48c2f', language: this.language, siteid: this.siteid, primary: true, search: this.search, "hide-search": this.hideSearch, "show-only-link": this.minimizeSearch, i18n: this.i18n }), h("slot", { key: '7113c40cedddeddb2a6d78e792c74d225ea0567a', name: "header-bottom-button" })))));
|
|
543
351
|
}
|
|
544
352
|
static get watchers() { return {
|
|
545
353
|
"language": ["onLanguageChange"],
|