@postnord/pn-marketweb-components 3.5.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/FetchHelper-2d4c697c.js +85 -0
- package/cjs/FetchHelper-2d4c697c.js.map +1 -0
- package/cjs/HeadingTag-19376e1f.js +12 -0
- package/cjs/HeadingTag-19376e1f.js.map +1 -0
- package/cjs/LocalStorageService-e1ee3fac.js +66 -0
- package/cjs/LocalStorageService-e1ee3fac.js.map +1 -0
- package/cjs/{FetchHelper-e951824f.js → MarketWebContextService-0fdc43c8.js} +1 -82
- package/cjs/MarketWebContextService-0fdc43c8.js.map +1 -0
- package/cjs/alert_exclamation_circle-24f29a5b.js +8 -0
- package/cjs/alert_exclamation_circle-24f29a5b.js.map +1 -0
- package/cjs/angle_up-049ec1d8.js +12 -0
- package/cjs/angle_up-049ec1d8.js.map +1 -0
- package/cjs/close-9e014a80.js +8 -0
- package/cjs/close-9e014a80.js.map +1 -0
- package/cjs/{index-1d8c9211.js → index-4067c6a5.js} +2 -2
- package/cjs/{index-1d8c9211.js.map → index-4067c6a5.js.map} +1 -1
- package/cjs/{index-34e1c673.js → index-b02670c2.js} +65 -8
- package/cjs/index-b02670c2.js.map +1 -0
- package/cjs/index.cjs.js +1 -1
- package/cjs/loader.cjs.js +2 -2
- package/cjs/pn-address-autofill.cjs.entry.js +51 -75
- package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
- package/cjs/pn-animated-tile.cjs.entry.js +2 -2
- package/cjs/pn-animated-tile.cjs.entry.js.map +1 -1
- package/cjs/pn-app-banner.cjs.entry.js +3 -3
- package/cjs/pn-app-banner.cjs.entry.js.map +1 -1
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js +2 -2
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js.map +1 -1
- package/cjs/pn-bonus-progressbar.cjs.entry.js +2 -2
- package/cjs/pn-bonus-progressbar.cjs.entry.js.map +1 -1
- package/cjs/pn-breakpoints.cjs.entry.js +3 -3
- package/cjs/pn-breakpoints.cjs.entry.js.map +1 -1
- package/cjs/pn-chart.cjs.entry.js +2 -2
- package/cjs/pn-chart.cjs.entry.js.map +1 -1
- package/cjs/pn-charts-card.cjs.entry.js +2 -2
- package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
- package/cjs/pn-chat-message_2.cjs.entry.js +346 -0
- package/cjs/pn-chat-message_2.cjs.entry.js.map +1 -0
- package/cjs/pn-chat.cjs.entry.js +474 -0
- package/cjs/pn-chat.cjs.entry.js.map +1 -0
- package/cjs/pn-chat.service-eaf6ed50.js +157 -0
- package/cjs/pn-chat.service-eaf6ed50.js.map +1 -0
- package/cjs/pn-choice-button.cjs.entry.js +2 -2
- package/cjs/pn-choice-button.cjs.entry.js.map +1 -1
- package/cjs/pn-cta-block.cjs.entry.js +2 -2
- package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
- package/cjs/pn-customernumber-selector-option.cjs.entry.js +3 -3
- package/cjs/pn-customernumber-selector-option.cjs.entry.js.map +1 -1
- package/cjs/pn-customernumber-selector.cjs.entry.js +4 -9
- package/cjs/pn-customernumber-selector.cjs.entry.js.map +1 -1
- package/cjs/pn-date-and-time.cjs.entry.js +2 -2
- package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +20 -8
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js +2 -2
- package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +2 -2
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
- package/cjs/pn-filter-checkbox.cjs.entry.js +2 -2
- package/cjs/pn-filter-checkbox.cjs.entry.js.map +1 -1
- package/cjs/pn-find-price-result.cjs.entry.js +5 -5
- package/cjs/pn-find-price-result.cjs.entry.js.map +1 -1
- package/cjs/{pn-find-price-store-051e931b.js → pn-find-price-store-0c8256c7.js} +2 -2
- package/cjs/{pn-find-price-store-051e931b.js.map → pn-find-price-store-0c8256c7.js.map} +1 -1
- package/cjs/pn-find-price.cjs.entry.js +6 -6
- package/cjs/pn-find-price.cjs.entry.js.map +1 -1
- package/cjs/pn-find-service-and-price-result.cjs.entry.js +5 -5
- package/cjs/pn-find-service-and-price-result.cjs.entry.js.map +1 -1
- package/cjs/{pn-find-service-and-price-store-3cec3d31.js → pn-find-service-and-price-store-13f060e0.js} +2 -2
- package/cjs/{pn-find-service-and-price-store-3cec3d31.js.map → pn-find-service-and-price-store-13f060e0.js.map} +1 -1
- package/cjs/pn-find-service-and-price.cjs.entry.js +5 -5
- package/cjs/pn-find-service-and-price.cjs.entry.js.map +1 -1
- package/cjs/pn-hero-block-international.cjs.entry.js +3 -3
- package/cjs/pn-hero-block-international.cjs.entry.js.map +1 -1
- package/cjs/pn-language-selector_9.cjs.entry.js +25 -27
- package/cjs/pn-language-selector_9.cjs.entry.js.map +1 -1
- package/cjs/pn-level-up-modal.cjs.entry.js +77 -0
- package/cjs/pn-level-up-modal.cjs.entry.js.map +1 -0
- package/cjs/pn-level-up.cjs.entry.js +139 -0
- package/cjs/pn-level-up.cjs.entry.js.map +1 -0
- package/cjs/pn-level-up.service-0e8e67c2.js +71 -0
- package/cjs/pn-level-up.service-0e8e67c2.js.map +1 -0
- package/cjs/pn-line-shape.cjs.entry.js +2 -2
- package/cjs/pn-line-shape.cjs.entry.js.map +1 -1
- package/cjs/pn-link-list.cjs.entry.js +3 -3
- package/cjs/pn-link-list.cjs.entry.js.map +1 -1
- package/cjs/pn-mainnav-link.cjs.entry.js +5 -5
- package/cjs/pn-mainnav-link.cjs.entry.js.map +1 -1
- package/cjs/{pn-mainnav-store-1a8153fd.js → pn-mainnav-store-5732f3ca.js} +2 -2
- package/cjs/{pn-mainnav-store-1a8153fd.js.map → pn-mainnav-store-5732f3ca.js.map} +1 -1
- package/cjs/pn-market-web-components.cjs.js +2 -2
- package/cjs/pn-marketweb-icon.cjs.entry.js +3 -3
- package/cjs/pn-marketweb-icon.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-input.cjs.entry.js +4 -6
- package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-search.cjs.entry.js +6 -5
- package/cjs/pn-marketweb-search.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js +7 -10
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js.map +1 -1
- package/cjs/{pn-marketweb-siteheader-login-button_5.cjs.entry.js → pn-marketweb-siteheader-login-button_4.cjs.entry.js} +8 -26
- package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +4 -4
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js +25 -0
- package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js.map +1 -0
- package/cjs/{pn-marketweb-siteheader-store-75853609.js → pn-marketweb-siteheader-store-ce9d9ac7.js} +2 -2
- package/cjs/{pn-marketweb-siteheader-store-75853609.js.map → pn-marketweb-siteheader-store-ce9d9ac7.js.map} +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +11 -10
- package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-table.cjs.entry.js +459 -0
- package/cjs/pn-marketweb-table.cjs.entry.js.map +1 -0
- package/cjs/pn-media-block.cjs.entry.js +6 -6
- package/cjs/pn-media-block.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +2 -2
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +2 -2
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
- package/cjs/pn-multiple-input.cjs.entry.js +1 -1
- package/cjs/pn-parcel-tracker.cjs.entry.js +2 -2
- package/cjs/pn-parcel-tracker.cjs.entry.js.map +1 -1
- package/cjs/pn-pex-pricefinder.cjs.entry.js +3 -3
- package/cjs/pn-pex-pricefinder.cjs.entry.js.map +1 -1
- package/cjs/pn-play-on-scroll.cjs.entry.js +1 -1
- package/cjs/pn-product-card_3.cjs.entry.js +5 -5
- package/cjs/pn-product-card_3.cjs.entry.js.map +1 -1
- package/cjs/pn-product-pricelist-result.cjs.entry.js +4 -4
- package/cjs/pn-product-pricelist-result.cjs.entry.js.map +1 -1
- package/cjs/pn-product-pricelist.cjs.entry.js +6 -6
- package/cjs/pn-product-pricelist.cjs.entry.js.map +1 -1
- package/cjs/pn-product-tile-info_2.cjs.entry.js +4 -4
- package/cjs/pn-product-tile-info_2.cjs.entry.js.map +1 -1
- package/cjs/pn-product-tile.cjs.entry.js +3 -3
- package/cjs/pn-product-tile.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js +3 -3
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-profile.cjs.entry.js +6 -6
- package/cjs/pn-profile-modal-profile.cjs.entry.js.map +1 -1
- package/cjs/{pn-profile-modal-store-3b6fea24.js → pn-profile-modal-store-16f8092a.js} +2 -2
- package/cjs/{pn-profile-modal-store-3b6fea24.js.map → pn-profile-modal-store-16f8092a.js.map} +1 -1
- package/cjs/pn-profile-modal-type.cjs.entry.js +5 -5
- package/cjs/pn-profile-modal-type.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal.cjs.entry.js +5 -5
- package/cjs/pn-profile-modal.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-selector-option.cjs.entry.js +3 -3
- package/cjs/pn-profile-selector-option.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-selector.cjs.entry.js +3 -3
- package/cjs/pn-profile-selector.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-findprice-result.cjs.entry.js +3 -3
- package/cjs/pn-proxio-findprice-result.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-findprice.cjs.entry.js +9 -8
- package/cjs/pn-proxio-findprice.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-pricegroup.cjs.entry.js +6 -5
- package/cjs/pn-proxio-pricegroup.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-productcard_4.cjs.entry.js +8 -8
- package/cjs/pn-proxio-productcard_4.cjs.entry.js.map +1 -1
- package/cjs/pn-qr-code-generator.cjs.entry.js +2945 -0
- package/cjs/pn-qr-code-generator.cjs.entry.js.map +1 -0
- package/cjs/pn-quick-cta.cjs.entry.js +2 -2
- package/cjs/pn-quick-cta.cjs.entry.js.map +1 -1
- package/cjs/pn-quote-card.cjs.entry.js +2 -2
- package/cjs/pn-quote-card.cjs.entry.js.map +1 -1
- package/cjs/pn-scroll_2.cjs.entry.js +2 -2
- package/cjs/pn-scroll_2.cjs.entry.js.map +1 -1
- package/cjs/pn-search.cjs.entry.js +54 -0
- package/cjs/pn-search.cjs.entry.js.map +1 -0
- package/cjs/pn-share-item.cjs.entry.js +2 -2
- package/cjs/pn-share-item.cjs.entry.js.map +1 -1
- package/cjs/pn-share.cjs.entry.js +2 -2
- package/cjs/pn-share.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-level.cjs.entry.js +5 -5
- package/cjs/pn-sidenav-level.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-link.cjs.entry.js +5 -5
- package/cjs/pn-sidenav-link.cjs.entry.js.map +1 -1
- package/cjs/{pn-sidenav-store-cf9c4996.js → pn-sidenav-store-236c8806.js} +2 -2
- package/cjs/{pn-sidenav-store-cf9c4996.js.map → pn-sidenav-store-236c8806.js.map} +1 -1
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js +5 -5
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav.cjs.entry.js +5 -5
- package/cjs/pn-sidenav.cjs.entry.js.map +1 -1
- package/cjs/pn-site-footer_3.cjs.entry.js +7 -7
- package/cjs/pn-site-footer_3.cjs.entry.js.map +1 -1
- package/cjs/pn-spotlight.cjs.entry.js +2 -2
- package/cjs/pn-spotlight.cjs.entry.js.map +1 -1
- package/cjs/pn-stats-info-data.cjs.entry.js +2 -2
- package/cjs/pn-stats-info-data.cjs.entry.js.map +1 -1
- package/cjs/pn-stats-info.cjs.entry.js +2 -2
- package/cjs/pn-stats-info.cjs.entry.js.map +1 -1
- package/cjs/pn-teaser-card.cjs.entry.js +5 -9
- package/cjs/pn-teaser-card.cjs.entry.js.map +1 -1
- package/cjs/pn-titletag.cjs.entry.js +3 -3
- package/cjs/pn-titletag.cjs.entry.js.map +1 -1
- package/cjs/pn-usp-promoter.cjs.entry.js +3 -3
- package/cjs/pn-usp-promoter.cjs.entry.js.map +1 -1
- package/cjs/pn-usp-simple.cjs.entry.js +56 -0
- package/cjs/pn-usp-simple.cjs.entry.js.map +1 -0
- package/collection/collection-manifest.json +10 -1
- package/collection/components/animation/pn-animated-tile/pn-animated-tile.css +25 -0
- package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.css +25 -0
- package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.css +25 -0
- package/collection/components/cards/pn-quote-card/pn-quote-card.css +25 -0
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.css +25 -0
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +8 -11
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js.map +1 -1
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.stories.js +3 -3
- package/collection/components/charts/pn-chart/pn-chart.css +25 -0
- package/collection/components/charts/pn-charts-card/pn-charts-card.css +25 -0
- package/collection/components/cta/pn-cta-block/pn-cta-block.css +25 -0
- package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.css +25 -0
- package/collection/components/cta/pn-quick-cta/pn-quick-cta.css +25 -0
- package/collection/components/cta/pn-share/pn-share-item.css +25 -0
- package/collection/components/cta/pn-share/pn-share.css +25 -0
- package/collection/components/cta/pn-spotlight/pn-spotlight.css +25 -0
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.css +25 -0
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info.css +25 -0
- package/collection/components/input/pn-address-autofill/pn-address-autofill.css +31 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js +58 -68
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.stories.js +2 -1
- package/collection/components/input/pn-address-autofill/translations.js +6 -3
- package/collection/components/input/pn-address-autofill/translations.js.map +1 -1
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.css +25 -0
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.css +25 -0
- package/collection/components/input/pn-choice-button/pn-choice-button.css +25 -0
- package/collection/components/input/pn-date-and-time/pn-date-and-time.css +25 -0
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.css +25 -0
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +18 -6
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.css +25 -0
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.css +25 -0
- package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.css +25 -0
- package/collection/components/input/pn-marketweb-input/pn-marketweb-input.css +25 -0
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.css +25 -0
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +4 -3
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js.map +1 -1
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.css +25 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.css +25 -0
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.css +50 -0
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +1 -1
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +1 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +1 -1
- 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-search.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -37
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
- package/collection/components/media/pn-media-block/pn-media-block.css +25 -0
- package/collection/components/media/pn-media-block/pn-media-block.js +8 -8
- package/collection/components/media/pn-media-block/pn-media-block.js.map +1 -1
- package/collection/components/media/pn-media-block/pn-media-block.stories.js +76 -76
- package/collection/components/minor/pn-app-banner/pn-app-banner.css +25 -0
- package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
- package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.css +25 -0
- package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
- package/collection/components/minor/pn-swan/pn-swan.css +25 -0
- package/collection/components/minor/pn-swan/pn-swan.js +1 -1
- package/collection/components/minor/pn-titletag/pn-titletag.css +25 -0
- package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +50 -0
- 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 +50 -0
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
- package/collection/components/navigation/pn-site-footer/pn-site-footer-col.css +50 -0
- package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
- package/collection/components/navigation/pn-site-footer/pn-site-footer.css +50 -0
- 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 +25 -0
- 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 +25 -0
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.css +25 -0
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.css +25 -0
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.css +25 -0
- 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.css +25 -0
- 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.css +25 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.css +25 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.css +25 -0
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.css +25 -0
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.css +25 -0
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.css +146 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +118 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js +219 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js +243 -0
- package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.css +238 -0
- package/collection/components/widgets/pn-chat/pn-chat.js +840 -0
- package/collection/components/widgets/pn-chat/pn-chat.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.models.js +2 -0
- package/collection/components/widgets/pn-chat/pn-chat.models.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.service.js +151 -0
- package/collection/components/widgets/pn-chat/pn-chat.service.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.stories.js +116 -0
- package/collection/components/widgets/pn-chat/pn-chat.stories.js.map +1 -0
- package/collection/components/widgets/pn-chat/translations.js +78 -0
- package/collection/components/widgets/pn-chat/translations.js.map +1 -0
- package/collection/components/widgets/pn-chat/types.js +2 -0
- package/collection/components/widgets/pn-chat/types.js.map +1 -0
- package/collection/components/widgets/pn-find-price/pn-find-price-result.css +25 -0
- package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
- package/collection/components/widgets/pn-find-price/pn-find-price.css +25 -0
- 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.css +25 -0
- 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.css +25 -0
- 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.css +25 -0
- 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.css +94 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +262 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js +31 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.css +114 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.js +476 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.models.js +2 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.models.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.service.js +65 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.service.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.stories.js +88 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.stories.js.map +1 -0
- package/collection/components/widgets/pn-level-up/types.js +2 -0
- package/collection/components/widgets/pn-level-up/types.js.map +1 -0
- package/collection/components/widgets/pn-link-list/pn-link-list.css +25 -0
- package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.css +96 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +494 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js +82 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.css +255 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +701 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js +38 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js +122 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/translations.js +73 -0
- package/collection/components/widgets/pn-marketweb-table/translations.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/types.js +2 -0
- package/collection/components/widgets/pn-marketweb-table/types.js.map +1 -0
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.css +25 -0
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
- package/collection/components/widgets/pn-product-card/pn-product-card-info.css +25 -0
- package/collection/components/widgets/pn-product-card/pn-product-card-price.css +25 -0
- package/collection/components/widgets/pn-product-card/pn-product-card.css +25 -0
- package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.css +25 -0
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.css +25 -0
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
- package/collection/components/widgets/pn-product-tile/pn-product-tile-info.css +25 -0
- package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
- package/collection/components/widgets/pn-product-tile/pn-product-tile-price.css +25 -0
- package/collection/components/widgets/pn-product-tile/pn-product-tile.css +25 -0
- package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.css +25 -0
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.css +25 -0
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.css +25 -0
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.css +25 -0
- 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.css +25 -0
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-pricelink.css +25 -0
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.css +25 -0
- 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.css +61 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +198 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js.map +1 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js +29 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js.map +1 -0
- package/collection/components/widgets/pn-search/pn-search.css +140 -0
- package/collection/components/widgets/pn-search/pn-search.js +368 -0
- package/collection/components/widgets/pn-search/pn-search.js.map +1 -0
- package/collection/components/widgets/pn-search/pn-search.stories.js +54 -0
- package/collection/components/widgets/pn-search/pn-search.stories.js.map +1 -0
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.css +25 -0
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.css +116 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js +269 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js.map +1 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js +63 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js.map +1 -0
- package/collection/globals/HeadingTag.js +2 -2
- package/collection/globals/HeadingTag.js.map +1 -1
- package/collection/globals/LocalStorageService.js +50 -0
- package/collection/globals/LocalStorageService.js.map +1 -0
- package/collection/globals/ScreensizeDetect.js +80 -0
- package/collection/globals/ScreensizeDetect.js.map +1 -0
- package/collection/globals/types.js +2 -0
- package/collection/globals/types.js.map +1 -0
- package/collection/utils/utils.js +11 -0
- package/collection/utils/utils.js.map +1 -1
- package/components/FetchHelper.js +1 -243
- package/components/FetchHelper.js.map +1 -1
- package/components/HeadingTag.js +10 -0
- package/components/HeadingTag.js.map +1 -0
- package/components/LocalStorageService.js +64 -0
- package/components/LocalStorageService.js.map +1 -0
- package/{esm/FetchHelper-746f2bb6.js → components/MarketWebContextService.js} +2 -82
- package/components/MarketWebContextService.js.map +1 -0
- package/components/alert_exclamation_circle.js +6 -0
- package/components/alert_exclamation_circle.js.map +1 -0
- package/components/angle_up.js +9 -0
- package/components/angle_up.js.map +1 -0
- package/components/close.js +6 -0
- package/components/close.js.map +1 -0
- package/components/pn-address-autofill.js +50 -73
- package/components/pn-address-autofill.js.map +1 -1
- package/components/pn-animated-tile.js +1 -1
- package/components/pn-animated-tile.js.map +1 -1
- package/components/pn-app-banner.js +2 -2
- package/components/pn-app-banner.js.map +1 -1
- package/components/pn-bonus-progressbar-level.js +1 -1
- package/components/pn-bonus-progressbar-level.js.map +1 -1
- package/components/pn-bonus-progressbar.js +1 -1
- package/components/pn-bonus-progressbar.js.map +1 -1
- package/components/pn-breakpoints.js +2 -2
- package/components/pn-breakpoints.js.map +1 -1
- package/components/pn-chart.js +1 -1
- package/components/pn-chart.js.map +1 -1
- package/components/pn-charts-card.js +1 -1
- package/components/pn-charts-card.js.map +1 -1
- package/components/pn-chat-message.d.ts +11 -0
- package/components/pn-chat-message.js +8 -0
- package/components/pn-chat-message.js.map +1 -0
- package/components/pn-chat-message2.js +69 -0
- package/components/pn-chat-message2.js.map +1 -0
- package/components/pn-chat.d.ts +11 -0
- package/components/pn-chat.js +534 -0
- package/components/pn-chat.js.map +1 -0
- package/components/pn-chat.service.js +155 -0
- package/components/pn-chat.service.js.map +1 -0
- package/components/pn-choice-button2.js +1 -1
- package/components/pn-choice-button2.js.map +1 -1
- package/components/pn-cta-block.js +1 -1
- package/components/pn-cta-block.js.map +1 -1
- package/components/pn-customernumber-selector-option.js +2 -2
- package/components/pn-customernumber-selector-option.js.map +1 -1
- package/components/pn-customernumber-selector.js +3 -8
- package/components/pn-customernumber-selector.js.map +1 -1
- package/components/pn-date-and-time.js +1 -1
- package/components/pn-date-and-time.js.map +1 -1
- package/components/pn-dropdown-choice-adds-row.js +19 -7
- package/components/pn-dropdown-choice-adds-row.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows-row2.js +1 -1
- package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/components/pn-filter-checkbox2.js +1 -1
- package/components/pn-filter-checkbox2.js.map +1 -1
- package/components/pn-find-price-result2.js +2 -2
- package/components/pn-find-price-result2.js.map +1 -1
- package/components/pn-find-price.js +3 -3
- package/components/pn-find-price.js.map +1 -1
- package/components/pn-find-service-and-price-result2.js +2 -2
- package/components/pn-find-service-and-price-result2.js.map +1 -1
- package/components/pn-find-service-and-price.js +2 -2
- package/components/pn-find-service-and-price.js.map +1 -1
- package/components/pn-hero-block-international.js +2 -2
- package/components/pn-hero-block-international.js.map +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 +2 -2
- package/components/pn-language-selector2.js.map +1 -1
- package/components/pn-level-up-modal.d.ts +11 -0
- package/components/pn-level-up-modal.js +8 -0
- package/components/pn-level-up-modal.js.map +1 -0
- package/components/pn-level-up-modal2.js +170 -0
- package/components/pn-level-up-modal2.js.map +1 -0
- package/components/pn-level-up.d.ts +11 -0
- package/components/pn-level-up.js +185 -0
- package/components/pn-level-up.js.map +1 -0
- package/components/pn-line-shape.js +1 -1
- package/components/pn-line-shape.js.map +1 -1
- package/components/pn-link-list.js +2 -2
- package/components/pn-link-list.js.map +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 +3 -5
- package/components/pn-mainnav2.js.map +1 -1
- package/components/pn-marketweb-carousel.d.ts +11 -0
- package/components/pn-marketweb-carousel.js +8 -0
- package/components/pn-marketweb-carousel.js.map +1 -0
- package/components/pn-marketweb-carousel2.js +326 -0
- package/components/pn-marketweb-carousel2.js.map +1 -0
- package/components/pn-marketweb-icon.js +2 -2
- package/components/pn-marketweb-icon.js.map +1 -1
- package/components/pn-marketweb-input2.js +2 -4
- package/components/pn-marketweb-input2.js.map +1 -1
- package/components/pn-marketweb-search.js +1 -125
- package/components/pn-marketweb-search.js.map +1 -1
- package/components/pn-marketweb-search2.js +130 -0
- package/components/pn-marketweb-search2.js.map +1 -0
- package/components/pn-marketweb-sitefooter.js +6 -9
- package/components/pn-marketweb-sitefooter.js.map +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-links2.js +1 -1
- package/components/pn-marketweb-siteheader-login-links2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-mypage-button.js +34 -1
- package/components/pn-marketweb-siteheader-login-mypage-button.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js +2 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login2.js +8 -14
- package/components/pn-marketweb-siteheader-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader-search2.js +1 -1
- package/components/pn-marketweb-siteheader-search2.js.map +1 -1
- package/components/pn-marketweb-siteheader-unified-login2.js +3 -13
- package/components/pn-marketweb-siteheader-unified-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader.js +27 -32
- package/components/pn-marketweb-siteheader.js.map +1 -1
- package/components/pn-marketweb-table.d.ts +11 -0
- package/components/pn-marketweb-table.js +502 -0
- package/components/pn-marketweb-table.js.map +1 -0
- package/components/pn-media-block.js +6 -6
- package/components/pn-media-block.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown-row2.js +1 -1
- package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown.js +1 -1
- package/components/pn-multi-row-connected-dropdown.js.map +1 -1
- package/components/pn-parcel-tracker.js +1 -1
- package/components/pn-parcel-tracker.js.map +1 -1
- package/components/pn-pex-pricefinder.js +2 -2
- package/components/pn-pex-pricefinder.js.map +1 -1
- package/components/pn-product-card-info2.js +1 -1
- package/components/pn-product-card-info2.js.map +1 -1
- package/components/pn-product-card-price2.js +1 -1
- package/components/pn-product-card-price2.js.map +1 -1
- package/components/pn-product-card2.js +2 -2
- package/components/pn-product-card2.js.map +1 -1
- package/components/pn-product-pricelist-result.js +2 -2
- package/components/pn-product-pricelist-result.js.map +1 -1
- package/components/pn-product-pricelist.js +3 -3
- package/components/pn-product-pricelist.js.map +1 -1
- package/components/pn-product-tile-info2.js +2 -2
- package/components/pn-product-tile-info2.js.map +1 -1
- package/components/pn-product-tile-price2.js +1 -1
- package/components/pn-product-tile-price2.js.map +1 -1
- package/components/pn-product-tile.js +2 -2
- package/components/pn-product-tile.js.map +1 -1
- package/components/pn-profile-modal-customernumber.js +2 -2
- package/components/pn-profile-modal-customernumber.js.map +1 -1
- package/components/pn-profile-modal-profile.js +3 -3
- package/components/pn-profile-modal-profile.js.map +1 -1
- package/components/pn-profile-modal-type.js +2 -2
- package/components/pn-profile-modal-type.js.map +1 -1
- package/components/pn-profile-modal.js +2 -2
- package/components/pn-profile-modal.js.map +1 -1
- package/components/pn-profile-selector-option.js +2 -2
- package/components/pn-profile-selector-option.js.map +1 -1
- package/components/pn-profile-selector.js +2 -2
- package/components/pn-profile-selector.js.map +1 -1
- package/components/pn-proxio-findprice-result2.js +2 -2
- package/components/pn-proxio-findprice-result2.js.map +1 -1
- package/components/pn-proxio-findprice.js +6 -5
- package/components/pn-proxio-findprice.js.map +1 -1
- package/components/pn-proxio-pricegroup.js +4 -3
- package/components/pn-proxio-pricegroup.js.map +1 -1
- package/components/pn-proxio-productcard-description2.js +2 -2
- package/components/pn-proxio-productcard-description2.js.map +1 -1
- package/components/pn-proxio-productcard-information2.js +2 -2
- package/components/pn-proxio-productcard-information2.js.map +1 -1
- package/components/pn-proxio-productcard-pricelink2.js +1 -1
- package/components/pn-proxio-productcard-pricelink2.js.map +1 -1
- package/components/pn-proxio-productcard2.js +2 -2
- package/components/pn-proxio-productcard2.js.map +1 -1
- package/components/pn-qr-code-generator.d.ts +11 -0
- package/components/pn-qr-code-generator.js +8 -0
- package/components/pn-qr-code-generator.js.map +1 -0
- package/components/pn-qr-code-generator2.js +2967 -0
- package/components/pn-qr-code-generator2.js.map +1 -0
- package/components/pn-quick-cta.js +1 -1
- package/components/pn-quick-cta.js.map +1 -1
- package/components/pn-quote-card.js +1 -1
- package/components/pn-quote-card.js.map +1 -1
- package/components/pn-search.d.ts +11 -0
- package/components/pn-search.js +91 -0
- package/components/pn-search.js.map +1 -0
- package/components/pn-share-item2.js +1 -1
- package/components/pn-share-item2.js.map +1 -1
- package/components/pn-share.js +1 -1
- package/components/pn-share.js.map +1 -1
- package/components/pn-sidenav-level.js +2 -2
- package/components/pn-sidenav-level.js.map +1 -1
- package/components/pn-sidenav-link.js +2 -2
- package/components/pn-sidenav-link.js.map +1 -1
- package/components/pn-sidenav-togglebutton.js +2 -2
- package/components/pn-sidenav-togglebutton.js.map +1 -1
- package/components/pn-sidenav.js +2 -2
- package/components/pn-sidenav.js.map +1 -1
- package/components/pn-site-footer-col2.js +2 -2
- package/components/pn-site-footer-col2.js.map +1 -1
- package/components/pn-site-footer2.js +2 -2
- package/components/pn-site-footer2.js.map +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 +2 -2
- package/components/pn-site-selector2.js.map +1 -1
- package/components/pn-spotlight.js +1 -1
- package/components/pn-spotlight.js.map +1 -1
- package/components/pn-stats-info-data2.js +1 -1
- package/components/pn-stats-info-data2.js.map +1 -1
- package/components/pn-stats-info.js +1 -1
- package/components/pn-stats-info.js.map +1 -1
- package/components/pn-swan2.js +2 -2
- package/components/pn-swan2.js.map +1 -1
- package/components/pn-teaser-card.js +5 -9
- package/components/pn-teaser-card.js.map +1 -1
- package/components/pn-titletag2.js +2 -2
- package/components/pn-titletag2.js.map +1 -1
- package/components/pn-usp-promoter.js +2 -2
- package/components/pn-usp-promoter.js.map +1 -1
- package/components/pn-usp-simple.d.ts +11 -0
- package/components/pn-usp-simple.js +82 -0
- package/components/pn-usp-simple.js.map +1 -0
- package/components/pn-video-overlay2.js +1 -1
- package/components/pn-video-overlay2.js.map +1 -1
- package/esm/FetchHelper-4789695a.js +83 -0
- package/esm/FetchHelper-4789695a.js.map +1 -0
- package/esm/HeadingTag-e20016ab.js +10 -0
- package/esm/HeadingTag-e20016ab.js.map +1 -0
- package/esm/LocalStorageService-78b1794d.js +64 -0
- package/esm/LocalStorageService-78b1794d.js.map +1 -0
- package/esm/MarketWebContextService-16c15670.js +245 -0
- package/esm/MarketWebContextService-16c15670.js.map +1 -0
- package/esm/alert_exclamation_circle-f0fe7c7b.js +6 -0
- package/esm/alert_exclamation_circle-f0fe7c7b.js.map +1 -0
- package/esm/angle_up-b5f955ea.js +9 -0
- package/esm/angle_up-b5f955ea.js.map +1 -0
- package/esm/close-9e7bd787.js +6 -0
- package/esm/close-9e7bd787.js.map +1 -0
- package/esm/{index-89124075.js → index-ae60ebec.js} +2 -2
- package/esm/{index-89124075.js.map → index-ae60ebec.js.map} +1 -1
- package/esm/{index-51d67461.js → index-c311acd6.js} +65 -9
- package/esm/index-c311acd6.js.map +1 -0
- package/esm/index.js +1 -1
- package/esm/loader.js +3 -3
- package/esm/pn-address-autofill.entry.js +50 -74
- package/esm/pn-address-autofill.entry.js.map +1 -1
- package/esm/pn-animated-tile.entry.js +2 -2
- package/esm/pn-animated-tile.entry.js.map +1 -1
- package/esm/pn-app-banner.entry.js +3 -3
- package/esm/pn-app-banner.entry.js.map +1 -1
- package/esm/pn-bonus-progressbar-level.entry.js +2 -2
- package/esm/pn-bonus-progressbar-level.entry.js.map +1 -1
- package/esm/pn-bonus-progressbar.entry.js +2 -2
- package/esm/pn-bonus-progressbar.entry.js.map +1 -1
- package/esm/pn-breakpoints.entry.js +3 -3
- package/esm/pn-breakpoints.entry.js.map +1 -1
- package/esm/pn-chart.entry.js +2 -2
- package/esm/pn-chart.entry.js.map +1 -1
- package/esm/pn-charts-card.entry.js +2 -2
- package/esm/pn-charts-card.entry.js.map +1 -1
- package/esm/pn-chat-message_2.entry.js +341 -0
- package/esm/pn-chat-message_2.entry.js.map +1 -0
- package/esm/pn-chat.entry.js +470 -0
- package/esm/pn-chat.entry.js.map +1 -0
- package/esm/pn-chat.service-f4037d6f.js +155 -0
- package/esm/pn-chat.service-f4037d6f.js.map +1 -0
- package/esm/pn-choice-button.entry.js +2 -2
- package/esm/pn-choice-button.entry.js.map +1 -1
- package/esm/pn-cta-block.entry.js +2 -2
- package/esm/pn-cta-block.entry.js.map +1 -1
- package/esm/pn-customernumber-selector-option.entry.js +3 -3
- package/esm/pn-customernumber-selector-option.entry.js.map +1 -1
- package/esm/pn-customernumber-selector.entry.js +4 -9
- package/esm/pn-customernumber-selector.entry.js.map +1 -1
- package/esm/pn-date-and-time.entry.js +2 -2
- package/esm/pn-date-and-time.entry.js.map +1 -1
- package/esm/pn-dropdown-choice-adds-row.entry.js +20 -8
- package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +2 -2
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows.entry.js +2 -2
- package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
- package/esm/pn-filter-checkbox.entry.js +2 -2
- package/esm/pn-filter-checkbox.entry.js.map +1 -1
- package/esm/pn-find-price-result.entry.js +5 -5
- package/esm/pn-find-price-result.entry.js.map +1 -1
- package/esm/{pn-find-price-store-c9a9d3d4.js → pn-find-price-store-f97f2325.js} +2 -2
- package/esm/{pn-find-price-store-c9a9d3d4.js.map → pn-find-price-store-f97f2325.js.map} +1 -1
- package/esm/pn-find-price.entry.js +6 -6
- package/esm/pn-find-price.entry.js.map +1 -1
- package/esm/pn-find-service-and-price-result.entry.js +5 -5
- package/esm/pn-find-service-and-price-result.entry.js.map +1 -1
- package/esm/{pn-find-service-and-price-store-60aa5801.js → pn-find-service-and-price-store-6553566d.js} +2 -2
- package/esm/{pn-find-service-and-price-store-60aa5801.js.map → pn-find-service-and-price-store-6553566d.js.map} +1 -1
- package/esm/pn-find-service-and-price.entry.js +5 -5
- package/esm/pn-find-service-and-price.entry.js.map +1 -1
- package/esm/pn-hero-block-international.entry.js +3 -3
- package/esm/pn-hero-block-international.entry.js.map +1 -1
- package/esm/pn-language-selector_9.entry.js +25 -27
- package/esm/pn-language-selector_9.entry.js.map +1 -1
- package/esm/pn-level-up-modal.entry.js +73 -0
- package/esm/pn-level-up-modal.entry.js.map +1 -0
- package/esm/pn-level-up.entry.js +135 -0
- package/esm/pn-level-up.entry.js.map +1 -0
- package/esm/pn-level-up.service-5c602f23.js +69 -0
- package/esm/pn-level-up.service-5c602f23.js.map +1 -0
- package/esm/pn-line-shape.entry.js +2 -2
- package/esm/pn-line-shape.entry.js.map +1 -1
- package/esm/pn-link-list.entry.js +3 -3
- package/esm/pn-link-list.entry.js.map +1 -1
- package/esm/pn-mainnav-link.entry.js +5 -5
- package/esm/pn-mainnav-link.entry.js.map +1 -1
- package/esm/{pn-mainnav-store-9c42bc66.js → pn-mainnav-store-23387019.js} +2 -2
- package/esm/{pn-mainnav-store-9c42bc66.js.map → pn-mainnav-store-23387019.js.map} +1 -1
- package/esm/pn-market-web-components.js +3 -3
- package/esm/pn-marketweb-icon.entry.js +3 -3
- package/esm/pn-marketweb-icon.entry.js.map +1 -1
- package/esm/pn-marketweb-input.entry.js +3 -5
- package/esm/pn-marketweb-input.entry.js.map +1 -1
- package/esm/pn-marketweb-search.entry.js +6 -5
- package/esm/pn-marketweb-search.entry.js.map +1 -1
- package/esm/pn-marketweb-sitefooter.entry.js +6 -9
- package/esm/pn-marketweb-sitefooter.entry.js.map +1 -1
- package/esm/{pn-marketweb-siteheader-login-button_5.entry.js → pn-marketweb-siteheader-login-button_4.entry.js} +9 -26
- package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +1 -0
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js +4 -4
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
- package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +21 -0
- package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js.map +1 -0
- package/esm/{pn-marketweb-siteheader-store-91f74255.js → pn-marketweb-siteheader-store-f60eb1e4.js} +2 -2
- package/esm/{pn-marketweb-siteheader-store-91f74255.js.map → pn-marketweb-siteheader-store-f60eb1e4.js.map} +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +10 -9
- package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
- package/esm/pn-marketweb-table.entry.js +455 -0
- package/esm/pn-marketweb-table.entry.js.map +1 -0
- package/esm/pn-media-block.entry.js +6 -6
- package/esm/pn-media-block.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown-row.entry.js +2 -2
- package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown.entry.js +2 -2
- package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
- package/esm/pn-multiple-input.entry.js +1 -1
- package/esm/pn-parcel-tracker.entry.js +2 -2
- package/esm/pn-parcel-tracker.entry.js.map +1 -1
- package/esm/pn-pex-pricefinder.entry.js +3 -3
- package/esm/pn-pex-pricefinder.entry.js.map +1 -1
- package/esm/pn-play-on-scroll.entry.js +1 -1
- package/esm/pn-product-card_3.entry.js +5 -5
- package/esm/pn-product-card_3.entry.js.map +1 -1
- package/esm/pn-product-pricelist-result.entry.js +4 -4
- package/esm/pn-product-pricelist-result.entry.js.map +1 -1
- package/esm/pn-product-pricelist.entry.js +6 -6
- package/esm/pn-product-pricelist.entry.js.map +1 -1
- package/esm/pn-product-tile-info_2.entry.js +4 -4
- package/esm/pn-product-tile-info_2.entry.js.map +1 -1
- package/esm/pn-product-tile.entry.js +3 -3
- package/esm/pn-product-tile.entry.js.map +1 -1
- package/esm/pn-profile-modal-customernumber.entry.js +3 -3
- package/esm/pn-profile-modal-customernumber.entry.js.map +1 -1
- package/esm/pn-profile-modal-profile.entry.js +6 -6
- package/esm/pn-profile-modal-profile.entry.js.map +1 -1
- package/esm/{pn-profile-modal-store-4655b124.js → pn-profile-modal-store-5d651bd5.js} +2 -2
- package/esm/{pn-profile-modal-store-4655b124.js.map → pn-profile-modal-store-5d651bd5.js.map} +1 -1
- package/esm/pn-profile-modal-type.entry.js +5 -5
- package/esm/pn-profile-modal-type.entry.js.map +1 -1
- package/esm/pn-profile-modal.entry.js +5 -5
- package/esm/pn-profile-modal.entry.js.map +1 -1
- package/esm/pn-profile-selector-option.entry.js +3 -3
- package/esm/pn-profile-selector-option.entry.js.map +1 -1
- package/esm/pn-profile-selector.entry.js +3 -3
- package/esm/pn-profile-selector.entry.js.map +1 -1
- package/esm/pn-proxio-findprice-result.entry.js +3 -3
- package/esm/pn-proxio-findprice-result.entry.js.map +1 -1
- package/esm/pn-proxio-findprice.entry.js +8 -7
- package/esm/pn-proxio-findprice.entry.js.map +1 -1
- package/esm/pn-proxio-pricegroup.entry.js +5 -4
- package/esm/pn-proxio-pricegroup.entry.js.map +1 -1
- package/esm/pn-proxio-productcard_4.entry.js +8 -8
- package/esm/pn-proxio-productcard_4.entry.js.map +1 -1
- package/esm/pn-qr-code-generator.entry.js +2941 -0
- package/esm/pn-qr-code-generator.entry.js.map +1 -0
- package/esm/pn-quick-cta.entry.js +2 -2
- package/esm/pn-quick-cta.entry.js.map +1 -1
- package/esm/pn-quote-card.entry.js +2 -2
- package/esm/pn-quote-card.entry.js.map +1 -1
- package/esm/pn-scroll_2.entry.js +2 -2
- package/esm/pn-scroll_2.entry.js.map +1 -1
- package/esm/pn-search.entry.js +50 -0
- package/esm/pn-search.entry.js.map +1 -0
- package/esm/pn-share-item.entry.js +2 -2
- package/esm/pn-share-item.entry.js.map +1 -1
- package/esm/pn-share.entry.js +2 -2
- package/esm/pn-share.entry.js.map +1 -1
- package/esm/pn-sidenav-level.entry.js +5 -5
- package/esm/pn-sidenav-level.entry.js.map +1 -1
- package/esm/pn-sidenav-link.entry.js +5 -5
- package/esm/pn-sidenav-link.entry.js.map +1 -1
- package/esm/{pn-sidenav-store-85bdb1e6.js → pn-sidenav-store-e2038d79.js} +2 -2
- package/esm/{pn-sidenav-store-85bdb1e6.js.map → pn-sidenav-store-e2038d79.js.map} +1 -1
- package/esm/pn-sidenav-togglebutton.entry.js +5 -5
- package/esm/pn-sidenav-togglebutton.entry.js.map +1 -1
- package/esm/pn-sidenav.entry.js +5 -5
- package/esm/pn-sidenav.entry.js.map +1 -1
- package/esm/pn-site-footer_3.entry.js +7 -7
- package/esm/pn-site-footer_3.entry.js.map +1 -1
- package/esm/pn-spotlight.entry.js +2 -2
- package/esm/pn-spotlight.entry.js.map +1 -1
- package/esm/pn-stats-info-data.entry.js +2 -2
- package/esm/pn-stats-info-data.entry.js.map +1 -1
- package/esm/pn-stats-info.entry.js +2 -2
- package/esm/pn-stats-info.entry.js.map +1 -1
- package/esm/pn-teaser-card.entry.js +5 -9
- package/esm/pn-teaser-card.entry.js.map +1 -1
- package/esm/pn-titletag.entry.js +3 -3
- package/esm/pn-titletag.entry.js.map +1 -1
- package/esm/pn-usp-promoter.entry.js +3 -3
- package/esm/pn-usp-promoter.entry.js.map +1 -1
- package/esm/pn-usp-simple.entry.js +52 -0
- package/esm/pn-usp-simple.entry.js.map +1 -0
- package/package.json +5 -3
- package/pn-market-web-components/index.esm.js +1 -1
- package/pn-market-web-components/index.esm.js.map +1 -1
- package/pn-market-web-components/p-015127bf.entry.js +2 -0
- package/pn-market-web-components/{p-c5772021.entry.js.map → p-015127bf.entry.js.map} +1 -1
- package/pn-market-web-components/p-04107723.entry.js +2 -0
- package/pn-market-web-components/p-04107723.entry.js.map +1 -0
- package/pn-market-web-components/p-08b473e0.entry.js +2 -0
- package/pn-market-web-components/{p-a38118be.entry.js.map → p-08b473e0.entry.js.map} +1 -1
- package/pn-market-web-components/p-0b5a125d.entry.js +2 -0
- package/pn-market-web-components/p-0b5a125d.entry.js.map +1 -0
- package/pn-market-web-components/p-0b920554.js +2 -0
- package/pn-market-web-components/p-0b920554.js.map +1 -0
- package/pn-market-web-components/p-0fc01d3f.entry.js +2 -0
- package/pn-market-web-components/{p-4fa5bc85.entry.js.map → p-0fc01d3f.entry.js.map} +1 -1
- package/pn-market-web-components/p-10776075.entry.js +2 -0
- package/pn-market-web-components/p-10776075.entry.js.map +1 -0
- package/pn-market-web-components/p-17c43a96.entry.js +2 -0
- package/pn-market-web-components/p-17c43a96.entry.js.map +1 -0
- package/pn-market-web-components/p-19bbac6d.entry.js +2 -0
- package/pn-market-web-components/{p-ea3d6f7e.entry.js.map → p-19bbac6d.entry.js.map} +1 -1
- package/pn-market-web-components/p-230ef9aa.entry.js +2 -0
- package/pn-market-web-components/{p-a419cd91.entry.js.map → p-230ef9aa.entry.js.map} +1 -1
- package/pn-market-web-components/p-268dc1fa.entry.js +2 -0
- package/pn-market-web-components/p-268dc1fa.entry.js.map +1 -0
- package/pn-market-web-components/p-28d2f7fa.entry.js +2 -0
- package/pn-market-web-components/p-28d2f7fa.entry.js.map +1 -0
- package/pn-market-web-components/p-292db484.entry.js +2 -0
- package/pn-market-web-components/{p-76e6708b.entry.js.map → p-292db484.entry.js.map} +1 -1
- package/pn-market-web-components/p-2a58d83b.entry.js +2 -0
- package/pn-market-web-components/{p-55643d76.entry.js.map → p-2a58d83b.entry.js.map} +1 -1
- package/pn-market-web-components/p-2c19edca.entry.js +2 -0
- package/pn-market-web-components/{p-72dbca40.entry.js.map → p-2c19edca.entry.js.map} +1 -1
- package/pn-market-web-components/p-2fd60147.entry.js +2 -0
- package/pn-market-web-components/p-2fd60147.entry.js.map +1 -0
- package/pn-market-web-components/p-3478f368.js +2 -0
- package/pn-market-web-components/p-3478f368.js.map +1 -0
- package/pn-market-web-components/p-34a98554.entry.js +2 -0
- package/pn-market-web-components/{p-cf39491b.entry.js.map → p-34a98554.entry.js.map} +1 -1
- package/pn-market-web-components/p-35847eda.entry.js +2 -0
- package/pn-market-web-components/{p-e6e012fb.entry.js.map → p-35847eda.entry.js.map} +1 -1
- package/pn-market-web-components/p-366fd15a.js +2 -0
- package/pn-market-web-components/p-366fd15a.js.map +1 -0
- package/pn-market-web-components/p-389a94e7.entry.js +2 -0
- package/pn-market-web-components/{p-190c6938.entry.js.map → p-389a94e7.entry.js.map} +1 -1
- package/pn-market-web-components/p-39b75c62.entry.js +2 -0
- package/pn-market-web-components/{p-530274ae.entry.js.map → p-39b75c62.entry.js.map} +1 -1
- package/pn-market-web-components/p-3d10bc37.entry.js +2 -0
- package/pn-market-web-components/{p-45d1e1be.entry.js.map → p-3d10bc37.entry.js.map} +1 -1
- package/pn-market-web-components/p-3e197670.entry.js +2 -0
- package/pn-market-web-components/{p-6a5f7dee.entry.js.map → p-3e197670.entry.js.map} +1 -1
- package/pn-market-web-components/p-40bce1b1.entry.js +2 -0
- package/pn-market-web-components/p-40bce1b1.entry.js.map +1 -0
- package/pn-market-web-components/p-41cdac85.entry.js +2 -0
- package/pn-market-web-components/{p-65ab3003.entry.js.map → p-41cdac85.entry.js.map} +1 -1
- package/pn-market-web-components/p-4aedb76c.entry.js +2 -0
- package/pn-market-web-components/{p-ea7b0d21.entry.js.map → p-4aedb76c.entry.js.map} +1 -1
- package/pn-market-web-components/p-4e924d13.entry.js +2 -0
- package/pn-market-web-components/p-4e924d13.entry.js.map +1 -0
- package/pn-market-web-components/p-4f639380.entry.js +2 -0
- package/pn-market-web-components/{p-aeeabb32.entry.js.map → p-4f639380.entry.js.map} +1 -1
- package/pn-market-web-components/p-51f136f3.entry.js +2 -0
- package/pn-market-web-components/p-51f136f3.entry.js.map +1 -0
- package/pn-market-web-components/p-542f949d.entry.js +2 -0
- package/pn-market-web-components/{p-77a35f5e.entry.js.map → p-542f949d.entry.js.map} +1 -1
- package/pn-market-web-components/p-5a981927.entry.js +2 -0
- package/pn-market-web-components/{p-b35cdbac.entry.js.map → p-5a981927.entry.js.map} +1 -1
- package/pn-market-web-components/p-5f4ccd8a.js +2 -0
- package/pn-market-web-components/p-5f4ccd8a.js.map +1 -0
- package/pn-market-web-components/p-60b77eed.entry.js +2 -0
- package/pn-market-web-components/{p-e916e99d.entry.js.map → p-60b77eed.entry.js.map} +1 -1
- package/pn-market-web-components/p-619f2143.entry.js +2 -0
- package/pn-market-web-components/{p-a6866467.entry.js.map → p-619f2143.entry.js.map} +1 -1
- package/pn-market-web-components/p-61bd81d7.entry.js +2 -0
- package/pn-market-web-components/{p-8c26b98d.entry.js.map → p-61bd81d7.entry.js.map} +1 -1
- package/pn-market-web-components/p-64851da0.entry.js +2 -0
- package/pn-market-web-components/{p-776f3d51.entry.js.map → p-64851da0.entry.js.map} +1 -1
- package/pn-market-web-components/p-659a4db5.entry.js +2 -0
- package/pn-market-web-components/{p-231b97e1.entry.js.map → p-659a4db5.entry.js.map} +1 -1
- package/pn-market-web-components/p-65a046be.entry.js +2 -0
- package/pn-market-web-components/{p-0ec8d040.entry.js.map → p-65a046be.entry.js.map} +1 -1
- package/pn-market-web-components/p-66da6e15.entry.js +2 -0
- package/pn-market-web-components/{p-62cabd1e.entry.js.map → p-66da6e15.entry.js.map} +1 -1
- package/pn-market-web-components/{p-65f243c1.js → p-6b1d045c.js} +2 -2
- package/pn-market-web-components/p-6b1d045c.js.map +1 -0
- package/pn-market-web-components/p-71db6836.entry.js +2 -0
- package/pn-market-web-components/{p-3fb8e665.entry.js.map → p-71db6836.entry.js.map} +1 -1
- package/pn-market-web-components/p-72828265.js +2 -0
- package/pn-market-web-components/p-72f57a04.entry.js +2 -0
- package/pn-market-web-components/{p-25d53df2.entry.js.map → p-72f57a04.entry.js.map} +1 -1
- package/pn-market-web-components/p-763a4e13.entry.js +2 -0
- package/pn-market-web-components/{p-fc157a1e.entry.js.map → p-763a4e13.entry.js.map} +1 -1
- package/pn-market-web-components/p-76c2c01f.js +2 -0
- package/pn-market-web-components/p-76c2c01f.js.map +1 -0
- package/pn-market-web-components/{p-e09a907b.js → p-793e1339.js} +2 -2
- package/pn-market-web-components/p-79e4715c.entry.js +2 -0
- package/pn-market-web-components/{p-6647d2c4.entry.js.map → p-79e4715c.entry.js.map} +1 -1
- package/pn-market-web-components/p-7b4f9fdf.entry.js +2 -0
- package/pn-market-web-components/{p-066e9db9.entry.js.map → p-7b4f9fdf.entry.js.map} +1 -1
- package/pn-market-web-components/p-7b7629c5.entry.js +2 -0
- package/pn-market-web-components/{p-24086c59.entry.js.map → p-7b7629c5.entry.js.map} +1 -1
- package/pn-market-web-components/p-7db6ef34.entry.js +2 -0
- package/pn-market-web-components/{p-4e3059dd.entry.js.map → p-7db6ef34.entry.js.map} +1 -1
- package/pn-market-web-components/p-809ed802.entry.js +2 -0
- package/pn-market-web-components/p-809ed802.entry.js.map +1 -0
- package/pn-market-web-components/p-82546a44.js +3 -0
- package/pn-market-web-components/p-82546a44.js.map +1 -0
- package/pn-market-web-components/p-84fc8e05.entry.js +2 -0
- package/pn-market-web-components/{p-25dfc349.entry.js.map → p-84fc8e05.entry.js.map} +1 -1
- package/pn-market-web-components/p-85b42b44.entry.js +2 -0
- package/pn-market-web-components/{p-e8278e9e.entry.js.map → p-85b42b44.entry.js.map} +1 -1
- package/pn-market-web-components/{p-2509d18d.js → p-8836de82.js} +2 -2
- package/pn-market-web-components/{p-560e5291.entry.js → p-8a651698.entry.js} +2 -2
- package/pn-market-web-components/p-8d78b631.js +2 -0
- package/pn-market-web-components/p-8d78b631.js.map +1 -0
- package/pn-market-web-components/p-8d874454.entry.js +2 -0
- package/pn-market-web-components/{p-b5a0275d.entry.js.map → p-8d874454.entry.js.map} +1 -1
- package/pn-market-web-components/p-8d98f709.entry.js +2 -0
- package/pn-market-web-components/{p-74fd7435.entry.js.map → p-8d98f709.entry.js.map} +1 -1
- package/pn-market-web-components/p-9088d3f5.entry.js +2 -0
- package/pn-market-web-components/{p-a72c2729.entry.js.map → p-9088d3f5.entry.js.map} +1 -1
- package/pn-market-web-components/p-920ce5f2.entry.js +2 -0
- package/pn-market-web-components/p-920ce5f2.entry.js.map +1 -0
- package/pn-market-web-components/{p-959a37d9.js → p-930e2943.js} +2 -2
- package/pn-market-web-components/p-9454075f.entry.js +2 -0
- package/pn-market-web-components/{p-45b8cadb.entry.js.map → p-9454075f.entry.js.map} +1 -1
- package/pn-market-web-components/p-95d32ab4.entry.js +2 -0
- package/pn-market-web-components/{p-758f1b53.entry.js.map → p-95d32ab4.entry.js.map} +1 -1
- package/pn-market-web-components/p-a079c496.js +2 -0
- package/pn-market-web-components/p-a079c496.js.map +1 -0
- package/pn-market-web-components/{p-eaee1dd6.entry.js → p-a73e4811.entry.js} +2 -2
- package/pn-market-web-components/{p-eaee1dd6.entry.js.map → p-a73e4811.entry.js.map} +1 -1
- package/pn-market-web-components/p-ad282b7c.entry.js +2 -0
- package/pn-market-web-components/{p-4d2ca281.entry.js.map → p-ad282b7c.entry.js.map} +1 -1
- package/pn-market-web-components/{p-155c2049.entry.js → p-ad9a7633.entry.js} +2 -2
- package/pn-market-web-components/p-b9590d81.entry.js +2 -0
- package/pn-market-web-components/{p-59549c74.entry.js.map → p-b9590d81.entry.js.map} +1 -1
- package/pn-market-web-components/p-c4e353b3.entry.js +2 -0
- package/pn-market-web-components/{p-5a1b6e6d.entry.js.map → p-c4e353b3.entry.js.map} +1 -1
- package/pn-market-web-components/p-c89cb749.entry.js +2 -0
- package/pn-market-web-components/{p-95519556.entry.js.map → p-c89cb749.entry.js.map} +1 -1
- package/pn-market-web-components/p-c9038b03.entry.js +2 -0
- package/pn-market-web-components/{p-64d0dbba.entry.js.map → p-c9038b03.entry.js.map} +1 -1
- package/pn-market-web-components/p-cbb1d57d.entry.js +2 -0
- package/pn-market-web-components/{p-6fdd5b5a.entry.js.map → p-cbb1d57d.entry.js.map} +1 -1
- package/pn-market-web-components/p-cc7c596e.entry.js +2 -0
- package/pn-market-web-components/p-cc7c596e.entry.js.map +1 -0
- package/pn-market-web-components/p-cda742ba.entry.js +2 -0
- package/pn-market-web-components/p-cda742ba.entry.js.map +1 -0
- package/pn-market-web-components/p-ce87ff8a.entry.js +2 -0
- package/pn-market-web-components/{p-e2e3ac2f.entry.js.map → p-ce87ff8a.entry.js.map} +1 -1
- package/pn-market-web-components/p-cf8a1fb9.js +2 -0
- package/pn-market-web-components/p-cf8a1fb9.js.map +1 -0
- package/pn-market-web-components/p-d17af75d.entry.js +2 -0
- package/pn-market-web-components/{p-b693f78a.entry.js.map → p-d17af75d.entry.js.map} +1 -1
- package/pn-market-web-components/p-d5c45da2.entry.js +2 -0
- package/pn-market-web-components/{p-e5ae757f.entry.js.map → p-d5c45da2.entry.js.map} +1 -1
- package/pn-market-web-components/p-d7170c0e.entry.js +2 -0
- package/pn-market-web-components/{p-d0a085cc.entry.js.map → p-d7170c0e.entry.js.map} +1 -1
- package/pn-market-web-components/p-d75a2f7c.entry.js +2 -0
- package/pn-market-web-components/p-d75a2f7c.entry.js.map +1 -0
- package/pn-market-web-components/p-daa74e60.entry.js +2 -0
- package/pn-market-web-components/{p-7076038b.entry.js.map → p-daa74e60.entry.js.map} +1 -1
- package/pn-market-web-components/p-dc2ee6f8.entry.js +2 -0
- package/pn-market-web-components/p-dc2ee6f8.entry.js.map +1 -0
- package/pn-market-web-components/p-e733f44f.entry.js +2 -0
- package/pn-market-web-components/p-e733f44f.entry.js.map +1 -0
- package/pn-market-web-components/p-e8622338.entry.js +2 -0
- package/pn-market-web-components/{p-b9505c69.entry.js.map → p-e8622338.entry.js.map} +1 -1
- package/pn-market-web-components/p-eb21f772.entry.js +2 -0
- package/pn-market-web-components/p-eb21f772.entry.js.map +1 -0
- package/pn-market-web-components/p-efab81a9.entry.js +2 -0
- package/pn-market-web-components/p-efab81a9.entry.js.map +1 -0
- package/pn-market-web-components/{p-278cda98.entry.js → p-f0df7694.entry.js} +4 -4
- package/pn-market-web-components/{p-278cda98.entry.js.map → p-f0df7694.entry.js.map} +1 -1
- package/pn-market-web-components/p-f21311ad.entry.js +2 -0
- package/pn-market-web-components/{p-545c24c0.entry.js.map → p-f21311ad.entry.js.map} +1 -1
- package/pn-market-web-components/p-f28059f4.entry.js +2 -0
- package/pn-market-web-components/{p-856c235c.entry.js.map → p-f28059f4.entry.js.map} +1 -1
- package/pn-market-web-components/p-f28d0971.entry.js +2 -0
- package/pn-market-web-components/{p-54f3a3b6.entry.js.map → p-f28d0971.entry.js.map} +1 -1
- package/pn-market-web-components/p-f4b14be8.entry.js +2 -0
- package/pn-market-web-components/{p-1ec21bd6.entry.js.map → p-f4b14be8.entry.js.map} +1 -1
- package/pn-market-web-components/p-f5d03222.entry.js +2 -0
- package/pn-market-web-components/{p-90242f18.entry.js.map → p-f5d03222.entry.js.map} +1 -1
- package/pn-market-web-components/{p-8af1b914.js → p-f9083b7a.js} +2 -2
- package/pn-market-web-components/{p-cafe11a9.js → p-fb4cdf98.js} +2 -2
- package/pn-market-web-components/p-fe466661.js +2 -0
- 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/cards/pn-teaser-card/pn-teaser-card.d.ts +1 -1
- package/types/components/input/pn-address-autofill/pn-address-autofill.d.ts +2 -3
- package/types/components/input/pn-address-autofill/translations.d.ts +3 -0
- package/types/components/input/pn-marketweb-search/pn-marketweb-search.d.ts +1 -1
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.d.ts +0 -2
- package/types/components/media/pn-media-block/pn-media-block.d.ts +1 -1
- package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.d.ts +10 -0
- package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.d.ts +7 -0
- package/types/components/widgets/pn-chat/pn-chat-stories-constants.d.ts +164 -0
- package/types/components/widgets/pn-chat/pn-chat.d.ts +72 -0
- package/types/components/widgets/pn-chat/pn-chat.models.d.ts +22 -0
- package/types/components/widgets/pn-chat/pn-chat.service.d.ts +26 -0
- package/types/components/widgets/pn-chat/pn-chat.stories.d.ts +8 -0
- package/types/components/widgets/pn-chat/translations.d.ts +77 -0
- package/types/components/widgets/pn-chat/types.d.ts +68 -0
- package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.d.ts +23 -0
- package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.d.ts +5 -0
- package/types/components/widgets/pn-level-up/pn-level-up.d.ts +43 -0
- package/types/components/widgets/pn-level-up/pn-level-up.models.d.ts +22 -0
- package/types/components/widgets/pn-level-up/pn-level-up.service.d.ts +16 -0
- package/types/components/widgets/pn-level-up/pn-level-up.stories.d.ts +7 -0
- package/types/components/widgets/pn-level-up/types.d.ts +1 -0
- package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.d.ts +48 -0
- package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.d.ts +7 -0
- package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.d.ts +55 -0
- package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.service.d.ts +11 -0
- package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.d.ts +26 -0
- package/types/components/widgets/pn-marketweb-table/translations.d.ts +72 -0
- package/types/components/widgets/pn-marketweb-table/types.d.ts +38 -0
- package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.d.ts +23 -0
- package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.d.ts +5 -0
- package/types/components/widgets/pn-search/pn-search.d.ts +29 -0
- package/types/components/widgets/pn-search/pn-search.stories.d.ts +7 -0
- package/types/components/widgets/pn-usp-simple/pn-usp-simple.d.ts +19 -0
- package/types/components/widgets/pn-usp-simple/pn-usp-simple.stories.d.ts +7 -0
- package/types/components.d.ts +393 -8
- package/types/globals/HeadingTag.d.ts +1 -1
- package/types/globals/LocalStorageService.d.ts +14 -0
- package/types/globals/ScreensizeDetect.d.ts +29 -0
- package/types/globals/types.d.ts +18 -0
- package/types/utils/utils.d.ts +1 -0
- package/umd/pn-marketweb-init.js +1 -1
- package/umd/pn-marketweb-salesforce.js +1 -1
- package/vscode-data.json +677 -3
- package/cjs/FetchHelper-e951824f.js.map +0 -1
- package/cjs/index-34e1c673.js.map +0 -1
- package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js.map +0 -1
- package/components/pn-marketweb-siteheader-login-mypage-button2.js +0 -38
- package/components/pn-marketweb-siteheader-login-mypage-button2.js.map +0 -1
- package/esm/FetchHelper-746f2bb6.js.map +0 -1
- package/esm/index-51d67461.js.map +0 -1
- package/esm/pn-marketweb-siteheader-login-button_5.entry.js.map +0 -1
- package/pn-market-web-components/p-066e9db9.entry.js +0 -2
- package/pn-market-web-components/p-0ec8d040.entry.js +0 -2
- package/pn-market-web-components/p-13190b30.js +0 -2
- package/pn-market-web-components/p-190c6938.entry.js +0 -2
- package/pn-market-web-components/p-1ec21bd6.entry.js +0 -2
- package/pn-market-web-components/p-231b97e1.entry.js +0 -2
- package/pn-market-web-components/p-23d69d70.entry.js +0 -2
- package/pn-market-web-components/p-23d69d70.entry.js.map +0 -1
- package/pn-market-web-components/p-24086c59.entry.js +0 -2
- package/pn-market-web-components/p-25d53df2.entry.js +0 -2
- package/pn-market-web-components/p-25dfc349.entry.js +0 -2
- package/pn-market-web-components/p-2b03a4e1.entry.js +0 -2
- package/pn-market-web-components/p-2b03a4e1.entry.js.map +0 -1
- package/pn-market-web-components/p-3fb8e665.entry.js +0 -2
- package/pn-market-web-components/p-45b8cadb.entry.js +0 -2
- package/pn-market-web-components/p-45d1e1be.entry.js +0 -2
- package/pn-market-web-components/p-4d2ca281.entry.js +0 -2
- package/pn-market-web-components/p-4e3059dd.entry.js +0 -2
- package/pn-market-web-components/p-4fa5bc85.entry.js +0 -2
- package/pn-market-web-components/p-530274ae.entry.js +0 -2
- package/pn-market-web-components/p-545c24c0.entry.js +0 -2
- package/pn-market-web-components/p-54f3a3b6.entry.js +0 -2
- package/pn-market-web-components/p-55643d76.entry.js +0 -2
- package/pn-market-web-components/p-572c4d81.entry.js +0 -2
- package/pn-market-web-components/p-572c4d81.entry.js.map +0 -1
- package/pn-market-web-components/p-59549c74.entry.js +0 -2
- package/pn-market-web-components/p-59cb7166.entry.js +0 -2
- package/pn-market-web-components/p-59cb7166.entry.js.map +0 -1
- package/pn-market-web-components/p-5a1b6e6d.entry.js +0 -2
- package/pn-market-web-components/p-5d06e48f.entry.js +0 -2
- package/pn-market-web-components/p-5d06e48f.entry.js.map +0 -1
- package/pn-market-web-components/p-62cabd1e.entry.js +0 -2
- package/pn-market-web-components/p-64d0dbba.entry.js +0 -2
- package/pn-market-web-components/p-652f97b9.js +0 -2
- package/pn-market-web-components/p-65ab3003.entry.js +0 -2
- package/pn-market-web-components/p-65f243c1.js.map +0 -1
- package/pn-market-web-components/p-6647d2c4.entry.js +0 -2
- package/pn-market-web-components/p-6a5f7dee.entry.js +0 -2
- package/pn-market-web-components/p-6fdd5b5a.entry.js +0 -2
- package/pn-market-web-components/p-7076038b.entry.js +0 -2
- package/pn-market-web-components/p-725aba56.entry.js +0 -2
- package/pn-market-web-components/p-725aba56.entry.js.map +0 -1
- package/pn-market-web-components/p-72dbca40.entry.js +0 -2
- package/pn-market-web-components/p-74fd7435.entry.js +0 -2
- package/pn-market-web-components/p-758f1b53.entry.js +0 -2
- package/pn-market-web-components/p-76e6708b.entry.js +0 -2
- package/pn-market-web-components/p-776f3d51.entry.js +0 -2
- package/pn-market-web-components/p-77a35f5e.entry.js +0 -2
- package/pn-market-web-components/p-7c3091eb.entry.js +0 -2
- package/pn-market-web-components/p-7c3091eb.entry.js.map +0 -1
- package/pn-market-web-components/p-856c235c.entry.js +0 -2
- package/pn-market-web-components/p-8c26b98d.entry.js +0 -2
- package/pn-market-web-components/p-90242f18.entry.js +0 -2
- package/pn-market-web-components/p-94a69959.entry.js +0 -2
- package/pn-market-web-components/p-94a69959.entry.js.map +0 -1
- package/pn-market-web-components/p-95519556.entry.js +0 -2
- package/pn-market-web-components/p-a38118be.entry.js +0 -2
- package/pn-market-web-components/p-a419cd91.entry.js +0 -2
- package/pn-market-web-components/p-a54a298b.entry.js +0 -2
- package/pn-market-web-components/p-a54a298b.entry.js.map +0 -1
- package/pn-market-web-components/p-a6866467.entry.js +0 -2
- package/pn-market-web-components/p-a72c2729.entry.js +0 -2
- package/pn-market-web-components/p-aeeabb32.entry.js +0 -2
- package/pn-market-web-components/p-b35cdbac.entry.js +0 -2
- package/pn-market-web-components/p-b5a0275d.entry.js +0 -2
- package/pn-market-web-components/p-b693f78a.entry.js +0 -2
- package/pn-market-web-components/p-b9340e9c.entry.js +0 -2
- package/pn-market-web-components/p-b9340e9c.entry.js.map +0 -1
- package/pn-market-web-components/p-b9505c69.entry.js +0 -2
- package/pn-market-web-components/p-bb1c965e.js +0 -3
- package/pn-market-web-components/p-bb1c965e.js.map +0 -1
- package/pn-market-web-components/p-c5772021.entry.js +0 -2
- package/pn-market-web-components/p-cf39491b.entry.js +0 -2
- package/pn-market-web-components/p-d0a085cc.entry.js +0 -2
- package/pn-market-web-components/p-e2e3ac2f.entry.js +0 -2
- package/pn-market-web-components/p-e5ae757f.entry.js +0 -2
- package/pn-market-web-components/p-e6e012fb.entry.js +0 -2
- package/pn-market-web-components/p-e8278e9e.entry.js +0 -2
- package/pn-market-web-components/p-e916e99d.entry.js +0 -2
- package/pn-market-web-components/p-ea3d6f7e.entry.js +0 -2
- package/pn-market-web-components/p-ea7b0d21.entry.js +0 -2
- package/pn-market-web-components/p-fc157a1e.entry.js +0 -2
- /package/pn-market-web-components/{p-652f97b9.js.map → p-72828265.js.map} +0 -0
- /package/pn-market-web-components/{p-e09a907b.js.map → p-793e1339.js.map} +0 -0
- /package/pn-market-web-components/{p-2509d18d.js.map → p-8836de82.js.map} +0 -0
- /package/pn-market-web-components/{p-560e5291.entry.js.map → p-8a651698.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-959a37d9.js.map → p-930e2943.js.map} +0 -0
- /package/pn-market-web-components/{p-155c2049.entry.js.map → p-ad9a7633.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-8af1b914.js.map → p-f9083b7a.js.map} +0 -0
- /package/pn-market-web-components/{p-cafe11a9.js.map → p-fb4cdf98.js.map} +0 -0
- /package/pn-market-web-components/{p-13190b30.js.map → p-fe466661.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-language-selector.pn-language-selector-option.pn-mainnav.pn-mainnav-level.pn-mainnav-list.pn-marketweb-siteheader-login.pn-marketweb-siteheader-search.pn-site-selector.pn-site-selector-item.entry.js","mappings":"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","names":["icon","translations","state","onChange","headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_small_right.js","node_modules/pn-design-assets/pn-assets/icons/close.js","node_modules/pn-design-assets/pn-assets/icons/globe.js","node_modules/pn-design-assets/pn-assets/icons/user.js","src/components/navigation/pn-language-selector/translations.ts","src/components/navigation/pn-language-selector/pn-language-selector.scss?tag=pn-language-selector","src/components/navigation/pn-language-selector/pn-language-selector.tsx","src/components/navigation/pn-language-selector/pn-language-selector-option.scss?tag=pn-language-selector-option","src/components/navigation/pn-language-selector/pn-language-selector-option.tsx","src/components/navigation/pn-mainnav/translations.ts","src/components/navigation/pn-mainnav/pn-mainnav.scss?tag=pn-mainnav","src/components/navigation/pn-mainnav/pn-mainnav.tsx","src/components/navigation/pn-mainnav/pn-mainnav-level.scss?tag=pn-mainnav-level","src/components/navigation/pn-mainnav/pn-mainnav-level.tsx","src/components/navigation/pn-mainnav/pn-mainnav-list.scss?tag=pn-mainnav-list","src/components/navigation/pn-mainnav/pn-mainnav-list.tsx","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","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search-store.tsx","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.scss?tag=pn-marketweb-siteheader-search","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.tsx","src/components/navigation/pn-site-selector/pn-site-selector-i18n.js","src/components/navigation/pn-site-selector/pn-site-selector.scss?tag=pn-site-selector","src/components/navigation/pn-site-selector/pn-site-selector.tsx","src/components/navigation/pn-site-selector/pn-site-selector-item.scss?tag=pn-site-selector-item","src/components/navigation/pn-site-selector/pn-site-selector-item.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=\"M16.707 11.293a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L14.586 12 9.293 6.707a1 1 0 0 1 1.414-1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_small_right = icon;\nexport const angleSmallRight = icon;\n","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=\"M4.293 4.293a1 1 0 0 1 1.414 0L12 10.586l6.293-6.293a1 1 0 1 1 1.414 1.414L13.414 12l6.293 6.293a1 1 0 0 1-1.414 1.414L12 13.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L10.586 12 4.293 5.707a1 1 0 0 1 0-1.414\" clip-rule=\"evenodd\"/></svg>';\nexport const close = icon;\n","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=\"M4.252 10A8 8 0 0 0 4 12c0 .69.088 1.36.252 2h3.166a13.8 13.8 0 0 1 0-4zm.818-2h2.795a13.6 13.6 0 0 1 1.719-3.629A8.02 8.02 0 0 0 5.07 8M12 4.48A11.7 11.7 0 0 0 9.972 8h4.056A11.7 11.7 0 0 0 12 4.48M14.557 10H9.443a11.8 11.8 0 0 0 0 4h5.114a11.8 11.8 0 0 0 0-4m2.025 4a13.8 13.8 0 0 0 0-4h3.166c.165.64.252 1.31.252 2s-.087 1.36-.252 2zm-2.554 2H9.972A11.7 11.7 0 0 0 12 19.52 11.7 11.7 0 0 0 14.028 16m-4.444 3.629A13.6 13.6 0 0 1 7.864 16H5.07a8.02 8.02 0 0 0 4.514 3.629m4.832 0A13.6 13.6 0 0 0 16.136 16h2.794a8.02 8.02 0 0 1-4.514 3.629M18.93 8h-2.795a13.6 13.6 0 0 0-1.719-3.629A8.02 8.02 0 0 1 18.93 8M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12\" clip-rule=\"evenodd\"/></svg>';\nexport const globe = icon;\n","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","export const translations = {\n 'sv': {\n heading: 'Språk',\n },\n 'en': {\n heading: 'Language',\n },\n 'da': {\n heading: 'Sprog',\n },\n 'no': {\n heading: 'Språk',\n },\n 'fi': {\n heading: 'Kieli',\n },\n 'de': {\n heading: 'Sprache',\n },\n 'zh': {\n heading: '语言',\n },\n 'fr': {\n heading: 'Langue',\n },\n 'es': {\n heading: 'Idioma',\n },\n 'nl': {\n heading: 'Spraak',\n },\n 'it': {\n heading: 'Idioma',\n },\n 'tr': {\n heading: 'Dil',\n },\n 'pl': {\n heading: 'Język',\n },\n 'pt': {\n heading: 'Linguagem',\n },\n 'pt-BR': {\n heading: 'Linguagem',\n },\n};\n","@import '../../../globals/main.scss';\n@import './pn-language-common.scss';\npn-language-selector {\n max-height: 5.2rem;\n}\n.languageselector {\n position: relative;\n}\n\n.languageselector-togglebtn {\n cursor: pointer;\n border: 0;\n padding: 0.64rem 0;\n background-color: $white;\n color: $blue700;\n font-size: 1.6rem;\n &:hover,\n &:focus,\n &:active {\n color: $blue900;\n text-decoration: underline;\n }\n svg {\n width: 1.9rem;\n height: 1.9rem;\n }\n}\n\n.languageselector-nav {\n}\n\n.languageselector-title {\n padding: 0.8rem 1.6rem;\n display: flex;\n align-items: center;\n}\n\n.languageselector-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n","import { Component, Prop, h, State, Host, Watch, Element, Event, EventEmitter } from '@stencil/core';\nimport { LanguageSelectori18n, LanguageSelectorOption } from './pn-language-selector-types';\nimport { translations } from './translations';\nimport { globe } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-language-selector',\n styleUrl: 'pn-language-selector.scss',\n})\nexport class PnlanguageSelector {\n @Element() hostElement: HTMLElement;\n /* Current language code */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @State() selectedLanguageName = '';\n @State() options: LanguageSelectorOption[] = [];\n @State() i18n: LanguageSelectori18n;\n\n // Events\n @Event() setLanguage: EventEmitter;\n\n componentWillLoad() {\n this.setInitialSelectedLanguageName();\n this.setTranslations();\n }\n\n componentDidLoad() {\n this.initialize();\n }\n\n initialize() {\n this.setSelectedLanguageName();\n this.addEventBindingsToOptions();\n }\n\n setInitialSelectedLanguageName() {\n if (!window.Intl || !this.value) {\n return;\n }\n const langs = new (Intl as any).DisplayNames([this.value], { type: 'language' });\n if (!langs) {\n return;\n }\n const languageName = langs.of(this.value);\n if (!languageName) {\n return;\n }\n this.selectedLanguageName = languageName.charAt(0).toUpperCase() + languageName.slice(1);\n }\n\n addEventBindingsToOptions() {\n const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option')) as HTMLElement[];\n options.map((option: HTMLElement) => {\n option.removeEventListener('setCurrentLanguage', (event: CustomEvent) => {\n this.onSetCurrentLanguage(event.detail as LanguageSelectorOption);\n });\n // Bind event listener for when a user change language\n option.addEventListener('setCurrentLanguage', (event: CustomEvent) => {\n this.onSetCurrentLanguage(event.detail as LanguageSelectorOption);\n });\n });\n }\n\n @Watch('value')\n setSelectedLanguageName() {\n const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option')) as HTMLElement[];\n options.map((option: HTMLElement) => {\n // Set current label of language selector\n if (option.getAttribute('code') == this.value) {\n // || option.getAttribute(\"selected\") == \"true\"\n this.selectedLanguageName = option.getAttribute('name');\n }\n });\n }\n\n onSetCurrentLanguage(option: LanguageSelectorOption) {\n this.value = option.code;\n this.selectedLanguageName = option.name;\n this.setLanguage.emit(this.value);\n }\n\n @Watch('value')\n setTranslations() {\n if (translations[this.value]) {\n this.i18n = translations[this.value] as LanguageSelectori18n;\n }\n }\n\n @Watch('value')\n onValueChange() {\n const components = this.hostElement.querySelectorAll('pn-language-selector-option') ?? [];\n components.forEach(component => {\n // Pass values as props into slotted components\n // component.setAttribute(\"current-language\", this.value);\n const isSelected = (component.getAttribute('code') === this.value) + '';\n if (component.getAttribute('selected') + '' !== isSelected) {\n component.setAttribute('selected', isSelected);\n }\n });\n }\n\n render() {\n return (\n <Host value={this.value}>\n <pn-button-dropdown label={this.selectedLanguageName} icon={globe} appearance=\"light\" variant=\"borderless\">\n <div class=\"languageselector-nav\" aria-label={this.i18n.heading}>\n <strong class=\"languageselector-title\">{this.i18n.heading}</strong>\n <div class=\"languageselector-list\" role=\"list\">\n <slot />\n </div>\n </div>\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-language-common.scss';\n\npn-language-selector-option {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.languageselector-button,\n.languageselector-link {\n width: 100%;\n padding: 1.1rem 1.6rem 1.1rem 1.4rem;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n border: 0;\n cursor: pointer;\n background-color: $white;\n color: $blue700;\n font-size: 1.6rem;\n font-weight: bold;\n border-radius: 0;\n &:hover,\n &:focus,\n &:active {\n color: $blue900;\n text-decoration: underline;\n box-shadow: none;\n background-color: $gray50;\n color: $blue700;\n outline: none;\n }\n}\n\n.languageselector-itemtext {\n display: inline-block;\n margin-left: 1rem;\n}\n\n.languageselector-radio-outer {\n background: #fff;\n border: 0.1em solid $gray200;\n border-radius: 50%;\n height: 1.5em;\n width: 1.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n transition:\n border 0.2s ease-in-out,\n background-color 0.2s ease-in-out,\n box-shadow 0.1s;\n cursor: pointer;\n\n &:focus > &,\n &:active > & {\n box-shadow:\n 0 0 0 0.1rem white,\n 0 0 0 0.3rem $blue700;\n }\n &:hover > & {\n border: 0.1rem solid $blue700;\n background: $blue50;\n }\n [selected='true'] & {\n border: 0.1rem solid $blue700;\n }\n}\n\n.languageselector-radio-inner {\n transform: scale(0);\n height: 1em;\n width: 1em;\n background-color: $blue700;\n border-radius: 50%;\n transform-origin: center center;\n transition: transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);\n\n [selected='true'] & {\n transform: scale(1);\n }\n}\n","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\nimport { LanguageSelectorOption } from './pn-language-selector-types';\n\n@Component({\n tag: 'pn-language-selector-option',\n styleUrl: 'pn-language-selector-option.scss',\n})\nexport class PnlanguageSelectorOption {\n /** What you write in the comment block above each prop is what ends up in the description fields in the prop table in the documentation */\n @Prop() name: string = '';\n @Prop() code: string = '';\n @Prop() url: string = '';\n @Prop() selected: boolean = false;\n @Prop() currentLanguage: string;\n\n private spanEl!: HTMLElement;\n\n @Event() setCurrentLanguage: EventEmitter;\n onOptionClick() {\n const currentlanguage: LanguageSelectorOption = {\n name: this.name,\n code: this.code,\n url: this.url,\n current: true,\n };\n this.setCurrentLanguage.emit(currentlanguage);\n }\n\n componentDidLoad() {\n if (this.spanEl) {\n this.spanEl.setAttribute(\"xml:lang\", this.code);\n }\n }\n\n render() {\n return (\n <Host role=\"listitem\" selected={this.selected + ''} code={this.code} name={this.name}>\n {!this.url ? (\n <button class=\"languageselector-button\" data-langcode={this.code} onClick={this.onOptionClick.bind(this)}>\n <span class=\"languageselector-radio-outer\">\n <span class=\"languageselector-radio-inner\"></span>\n </span>\n <span ref={(el) => (this.spanEl = el as HTMLElement)} lang={this.code} class=\"languageselector-itemtext\">\n {this.name} - {this.code}\n </span>\n </button>\n ) : (\n <a href={this.url} target=\"_self\" class=\"languageselector-link\" data-langcode={this.code}>\n <span class=\"languageselector-radio-outer\">\n <span class=\"languageselector-radio-inner\"></span>\n </span>\n <span ref={(el) => (this.spanEl = el as HTMLElement)} lang={this.code} class=\"languageselector-itemtext\">\n {this.name} - {this.code}\n </span>\n </a>\n )}\n </Host>\n );\n }\n}\n","export const translations = {\n 'sv': {\n menuHomeButton: 'Hem',\n menuGoBackButton: 'Gå tillbaka',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n navLabel: 'Huvudnavigation',\n },\n 'en': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'da': {\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbage',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Hovednavigation',\n },\n 'no': {\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbake',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n navLabel: 'Hovednavigasjon',\n },\n 'de': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Geh zurück',\n mainMenuButton: 'Menü',\n menuStartButton: 'Start',\n navLabel: 'Hauptnavigation',\n },\n 'zh': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'it': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'nl': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'tr': {\n menuHomeButton: 'Anasayfa',\n menuGoBackButton: 'Geri git',\n mainMenuButton: 'Menü',\n menuStartButton: 'Başlat',\n navLabel: 'Ana gezinme',\n },\n 'pt': {\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'pl': {\n menuHomeButton: 'Strona główna',\n menuGoBackButton: 'Powrót',\n mainMenuButton: 'Menu',\n menuStartButton: 'Początek',\n navLabel: 'Menu główne systemu',\n },\n 'pt-BR': {\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Voltar',\n mainMenuButton: 'Menu',\n menuStartButton: 'Iniciar',\n navLabel: 'Navegação principal',\n },\n};\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav {\n display: flex;\n flex-flow: row-reverse;\n position: relative;\n width: 100%;\n min-height: 5.1rem;\n\n @media screen and (min-width: $mobilenav-media-tablet) {\n flex-flow: row;\n }\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n flex-flow: column;\n }\n\n [slot='footer'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n }\n }\n > nav {\n height: auto;\n width: 100vw;\n background-color: $white;\n z-index: 2;\n transform: translateX(100vw);\n transition: transform 0.2s 0s;\n transition-property: transform, visibility;\n display: flex;\n flex-flow: column;\n visibility: hidden;\n position: fixed;\n top: 3em;\n bottom: 0;\n left: 0;\n @media screen and (min-width: $mobilenav-media-tablet) {\n top: 6.5em;\n }\n\n &[data-menu-open='true'] {\n visibility: visible;\n transform: translateX(0);\n }\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n flex-flow: row-reverse;\n top: 0;\n position: static;\n // overflow: visible;\n height: auto;\n width: 100%;\n justify-content: space-between;\n visibility: visible;\n transform: translateX(0);\n }\n\n a {\n text-decoration: none;\n }\n\n button {\n cursor: pointer;\n }\n }\n}\n\n.mainnav-toggle {\n display: flex;\n align-items: center;\n align-self: center;\n // @media screen and (min-width: $mobilenav-media-tablet) {\n // align-self: center;\n // }\n // @media screen and (min-width: $mobilenav-media-smalldesktop) {\n // align-self: center;\n // }\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n }\n > button {\n display: flex;\n align-items: center;\n background-color: $blue700;\n color: $white;\n border-radius: 2.4rem;\n border: none;\n padding: 0.6rem 1.6rem;\n cursor: pointer;\n font-size: 1.6rem;\n\n &:focus {\n outline: 0;\n }\n\n pn-icon {\n margin-left: 0.8rem;\n display: block;\n }\n\n svg {\n display: block;\n margin: -0.2rem -0.5rem -0.2rem 0;\n height: 1.9rem;\n width: 1.9rem;\n }\n }\n}\n","import { Component, Prop, h, Host, Listen, Event, EventEmitter, Element } from '@stencil/core';\nimport { translations } from './translations';\nimport { Menui18n } from './types';\nimport state from './pn-mainnav-store';\nimport { close, bars } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-mainnav',\n styleUrl: 'pn-mainnav.scss',\n shadow: false,\n})\nexport class PnMainnav {\n @Element() hostElement: HTMLElement;\n /** Specifies which market we want to fetch navigation for (se,dk,fi,no,com) */\n @Prop() market: string = 'se';\n /** Specifies which language we want to show navigation in (sv,da,fi,no,en) */\n @Prop() language: string = 'sv';\n /** Specifies which endpoint we should read information from */\n @Prop() navigationId: string = 'mainnav';\n /** Specifies which endpoint we should read information from */\n @Prop({ mutable: true }) openMenu: boolean = false;\n /** Sets the label of the navigation (Required if multiple nav elements are on a page) */\n @Prop() navLabel: string = '';\n\n @Event() menuLanguageChange: EventEmitter; // Could not use language change since it's a existing window event\n @Event() marketChange: EventEmitter;\n @Event() menuOpenChange: EventEmitter;\n\n componentWillLoad() {\n this.init();\n document.removeEventListener('mousedown', this._onClickOutside.bind(this));\n document.addEventListener('mousedown', this._onClickOutside.bind(this));\n }\n\n async init() {\n this.setLanguage();\n this.setMarket();\n }\n\n private _onClickOutside(event) {\n const clickedOutside = !this.hostElement.contains(event.target);\n if (clickedOutside) {\n state.openLevel = '';\n }\n }\n\n @Listen('language')\n setLanguage() {\n this.menuLanguageChange.emit(this.language);\n }\n\n @Listen('market')\n setMarket() {\n this.marketChange.emit(this.market);\n }\n\n @Listen('menuLanguageChange')\n onLanguageChange(event) {\n if (translations[event.detail]) {\n state.i18n = translations[event.detail] as Menui18n;\n if (!this.navLabel) {\n this.navLabel = state.i18n.navLabel;\n }\n }\n }\n\n @Listen('setmenuopenstate')\n setMenuOpenState() {\n state.openMenu = !state.openMenu;\n this.menuOpenChange.emit(state.openMenu);\n }\n\n @Listen('openMenuLevelChange')\n onOpenMenuLevelChange(event) {\n state.openLevel = event.detail;\n }\n\n render() {\n return (\n <Host>\n <div class=\"mainnav-toggle\">\n <button aria-controls={this.navigationId} aria-expanded={state.openMenu + ''} onClick={this.setMenuOpenState.bind(this)}>\n {state.i18n.mainMenuButton}\n <pn-icon icon={state.openMenu ? close : bars} color=\"white\"></pn-icon>\n </button>\n </div>\n <nav class=\"mainnav\" aria-label={this.navLabel} data-menu-open={state.openMenu + ''} data-menu-currentlevel={state.currentLevel} id={this.navigationId}>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav-level {\n display: block;\n &:not(.hydrated) {\n max-height: 5.6rem;\n overflow: hidden;\n }\n &[data-level='1'] {\n width: 100%;\n right: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n flex: 1;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n width: auto;\n overflow: initial;\n\n // Only works for blink/webkit\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n &[data-level='2'] {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100vw;\n padding: 0;\n background-color: $white;\n z-index: 1;\n transform: translateX(100vw);\n transition: transform 0.2s 0s;\n transition-property: transform, visibility;\n overflow: scroll;\n visibility: hidden;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n left: 0;\n top: calc(100% + 1rem);\n bottom: auto;\n border-radius: 1.6rem;\n width: auto;\n padding: 1.6rem 1.6rem 0 1.6rem;\n -webkit-box-shadow: $mainmenu-shadow-elevation8;\n -moz-box-shadow: $mainmenu-shadow-elevation8;\n box-shadow: $mainmenu-shadow-elevation8;\n height: auto;\n z-index: 3;\n display: none;\n\n &[data-menuitem-rightaligned='true'] {\n // right-align next-to-last menu-pop-up on desktop (last is hidden mobile-action-menu)\n right: 0;\n left: unset;\n }\n }\n\n @media screen and (max-height: $mobilenav-media-phoneheight) {\n -ms-overflow-style: none; // IE and Edge\n scrollbar-width: none; // Firefox\n\n &::-webkit-scrollbar {\n // Chrome, Safari and Opera\n display: none;\n }\n }\n\n &[aria-hidden='false'] {\n transform: translateX(0);\n visibility: visible;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: block;\n overflow: visible;\n\n &:not([data-level-listcount='1']) {\n display: grid;\n grid-template-columns: minmax(12em, 20em) 1fr;\n grid-template-rows: auto auto;\n gap: 0px 1.6rem;\n grid-template-areas:\n 'top top'\n 'left right';\n }\n }\n }\n &[data-level-alignment='left'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n right: 0;\n left: unset;\n }\n }\n &[data-level-alignment='center'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n a {\n color: $blue700;\n text-decoration: none;\n }\n }\n [slot='top'] {\n display: flex;\n @media screen and (min-width: $mobilenav-media-tablet) {\n display: none;\n }\n }\n\n [slot='footer'] {\n [data-menu-currentlevel='2'] & {\n display: none;\n overscroll-behavior: contain;\n }\n }\n}\n\n.mainnav-level-header {\n grid-area: top;\n > label {\n position: absolute;\n width: 0.1rem;\n height: 0.1rem;\n padding: 0;\n margin: -0.1rem;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n white-space: nowrap;\n }\n > button {\n display: block;\n position: relative;\n border: none;\n background-color: transparent;\n color: $blue700;\n padding: 2.4rem 0 2.4rem 6.2rem;\n width: 100%;\n text-align: left;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n speak: none;\n }\n\n > pn-icon {\n speak: none;\n position: absolute;\n height: 2.4rem;\n width: 2.4rem;\n left: 3rem;\n top: 50%;\n transform: translateY(-50%);\n }\n }\n\n [data-level='2'] & {\n > pn-mainnav-link > a {\n font-size: 2.4rem;\n }\n }\n}\n","import { Component, State, h, Host, Element, Watch, Prop } from '@stencil/core';\nimport { state, onChange } from './pn-mainnav-store';\nimport { arrow_left } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-mainnav-level',\n styleUrl: 'pn-mainnav-level.scss',\n shadow: false,\n})\nexport class PnMainnavLevel {\n @Element() hostElement: HTMLElement;\n @Prop({ reflect: true, mutable: true }) label: string = '';\n @State() level: number = 1;\n @State() levelId: string = '';\n @State() isOpen: boolean = false;\n @State() parentName: string = '';\n @State() parentHref: string = '';\n @State() parentLinkId: string = '';\n @State() listCount: number = 0;\n @State() alignment: string = 'right';\n\n async componentWillLoad() {\n this.setState();\n onChange('openLevel', () => {\n this.onChangeOpenLevel();\n });\n }\n\n @Watch('label')\n setState() {\n this.listCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-list').length;\n const parentElm = this.hostElement.parentElement;\n if (parentElm.tagName.toLowerCase() !== 'nav') {\n this.level = 2;\n }\n if (parentElm.tagName.toLowerCase() === 'pn-mainnav-link') {\n this.parentName = parentElm.getAttribute('name') + '';\n if ((!this.label && this.parentName) || this.label !== this.parentName) {\n this.label = this.parentName;\n }\n this.parentHref = parentElm.getAttribute('href') + '';\n this.parentLinkId = parentElm.getAttribute('linkid') + '';\n const parentLinkName = this.parentName.toLowerCase().replace(/\\W/gi, '_');\n this.levelId = `mainnav-lvl${this.level}-${parentLinkName}`;\n }\n }\n\n @Watch('isOpen')\n onOpen() {\n if (this.level === 2) {\n requestAnimationFrame(() => {\n const levelClientRect = this.hostElement.getClientRects()[0];\n if (!levelClientRect) {\n return;\n }\n\n const navElm = this.hostElement.parentElement.parentElement.parentElement.parentElement;\n if (navElm && navElm.tagName.toLowerCase() === 'nav') {\n const navClientRect = navElm.getClientRects()[0];\n if (!navClientRect) {\n return;\n }\n\n if (levelClientRect.right > window.innerWidth) {\n const levelParentRect = this.hostElement.parentElement.getClientRects()[0];\n if (levelParentRect.left - levelClientRect.width < 0) {\n this.alignment = 'center';\n } else {\n this.alignment = 'left';\n }\n }\n }\n });\n }\n }\n onChangeOpenLevel() {\n this.isOpen = state.openLevel === this.levelId;\n state.currentLevel = this.level;\n }\n\n render() {\n return (\n <Host\n {...(this.level > 1 && this.levelId ? { 'aria-hidden': !this.isOpen + '' } : {})}\n data-level-listcount={this.listCount + ''}\n data-level-alignment={this.alignment}\n data-level={this.level + ''}\n {...(this.levelId ? { id: this.levelId } : {})}\n >\n {this.level > 1 ? (\n <div class=\"mainnav-level-header\">\n <label htmlFor={this.levelId}>{state.i18n.menuGoBackButton}</label>\n <button\n class=\"secondlevel-backbtn\"\n onClick={() => {\n state.openLevel = '';\n state.currentLevel = 1;\n }}\n aria-expanded={(state.openLevel === this.levelId) + ''}\n >\n <pn-icon icon={arrow_left} color=\"blue700\" />\n {state.i18n.menuStartButton}\n </button>\n {this.parentHref && this.label ? <pn-mainnav-link href={this.parentHref} name={this.label} linkid={this.parentLinkId}></pn-mainnav-link> : null}\n </div>\n ) : null}\n <slot name=\"top\"></slot>\n <slot></slot>\n <slot name=\"additional\"></slot>\n <slot name=\"footer\"></slot>\n </Host>\n );\n }\n}\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav-list {\n display: block;\n overflow: visible;\n list-style: none;\n margin: 0;\n padding: 0;\n grid-area: right;\n\n + pn-mainnav-list {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n grid-area: left;\n border-right: 0.1rem solid $gray200;\n margin-bottom: 1.6rem;\n margin-right: -0.7rem;\n padding-right: 0.7rem;\n }\n }\n\n [data-level='1'] > & {\n // height: 100%;\n overflow: scroll;\n -webkit-overflow-scrolling: touch;\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n height: 100%;\n display: flex;\n flex-flow: row;\n overflow: visible;\n padding: 0;\n }\n }\n\n &[data-navlist-showcolumns='true'] {\n [data-level='2'] > & {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n column-count: 2;\n column-gap: 1.6rem;\n padding-bottom: 1.6rem;\n }\n }\n }\n}\n\n.mainnav-list-heading {\n display: none;\n font-weight: bold;\n column-span: all;\n font-size: 1.8rem;\n padding: 1.4rem 1.4rem 1.4rem 4.8rem;\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: block;\n padding: 0 1.4rem 1.4rem 1.4rem;\n }\n}\n","import { Component, h, Host, State, Element, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pn-mainnav-list',\n styleUrl: 'pn-mainnav-list.scss',\n shadow: false,\n})\nexport class PnMainnavList {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = '';\n @State() linkCount: number = 0;\n\n componentWillLoad() {\n this.linkCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-link').length;\n }\n\n render() {\n return (\n <Host class=\"mainnav-list\" role=\"list\" data-navlist-itemcount={this.linkCount + ''} data-navlist-showcolumns={(this.linkCount >= 8) + ''}>\n {this.heading ? <div class=\"mainnav-list-heading\">{this.heading}</div> : null}\n <slot></slot>\n </Host>\n );\n }\n}\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 && (\n <pn-marketweb-siteheader-unified-login\n loggedIn={this.loggedin}\n myPageLabel={this.i18n.unifiedMyPagesButton}\n myPageUrl=\"https://account.postnord.com/secure/profile\"\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","import { createStore } from '@stencil/store';\n// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store\n\nconst { state, onChange } = createStore({\n searchValue: '',\n autocompleteSuggestions: {},\n requestAbortController: new AbortController(),\n});\n\nexport { state, onChange };\nexport default state;\n","@import '../../../globals/main.scss';\n@import './pn-marketweb-siteheader-common.scss';\n\n.siteheader-search {\n a {\n display: none;\n @media screen and (min-width: $siteheader-media-tablet) {\n display: block;\n }\n }\n pn-search-field > .input-container button {\n background: $white;\n }\n pn-search-field.button-icon pn-button,\n pn-button {\n display: inline-flex;\n button {\n align-self: center;\n padding: 0;\n height: 2.3em;\n width: 2.4em;\n line-height: 0;\n min-height: unset;\n min-width: initial;\n }\n pn-icon {\n margin-left: 0;\n }\n .pn-button-tooltip {\n line-height: initial !important;\n }\n }\n form {\n justify-content: flex-end;\n align-items: stretch;\n width: auto;\n flex: none;\n display: flex;\n padding: 0;\n margin: 0 0 0 0.4rem;\n position: relative;\n flex-direction: column;\n @media screen and (min-width: $siteheader-media-tablet) {\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-right: 1.6rem;\n }\n pn-search-field {\n min-width: 13.5em;\n .input-container {\n align-self: center;\n }\n input {\n height: auto;\n min-height: 1em;\n padding: 0.6em 0.75em;\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State } from '@stencil/core';\nimport { SiteHeaderSearch } from './pn-marketweb-siteheader-types';\nimport { state, onChange } from './pn-marketweb-siteheader-search-store';\nimport { search } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-search',\n styleUrl: 'pn-marketweb-siteheader-search.scss',\n})\nexport class PnMarketwebSiteheaderSearch {\n @Element() hostElement: Element;\n\n // Language options\n @Prop() i18n: any;\n\n // Display option, show only link\n @Prop({ mutable: true }) showOnlyLink: boolean = false;\n // Hide search option\n @Prop({ mutable: true }) hideSearch: boolean = false;\n /** Specifies which language we want to show (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = null;\n\n /** Specifies the current site id (guid)*/\n @Prop() siteid: string = null;\n\n // Search data\n @Prop({ mutable: true }) search: SiteHeaderSearch = {};\n\n // Is this the primary instance?\n @Prop() primary: boolean = false;\n\n // Only Show icon as search button?\n @Prop() icononly: boolean = true;\n\n // Autocomplete options\n @State() autoCompleteOptions: string[] = [];\n\n onSearchValueUpdate() {\n this.getAutocomplete(state.searchValue);\n }\n\n async getAutocomplete(prefix) {\n if (!this.search.AutocompleteEndpoint || prefix.length < 2) {\n this.autoCompleteOptions = [];\n return;\n }\n if (state.autocompleteSuggestions[prefix]) {\n this.setAutocompleteSuggestions(state.autocompleteSuggestions[prefix]);\n return;\n }\n\n let autocompleteUrl = `${this.search.AutocompleteEndpoint}?prefix=${prefix}&size=10`;\n if (this.language || this.siteid) {\n autocompleteUrl += `&tags=`;\n if (this.language) {\n autocompleteUrl += `language:${this.language}`;\n }\n if (this.language && this.siteid) {\n autocompleteUrl += `,`;\n }\n if (this.siteid) {\n autocompleteUrl += `siteid:${this.siteid}`;\n }\n }\n const req = await fetch(autocompleteUrl, { signal: state.requestAbortController.signal }).catch(e => {\n console.warn('Unable to fetch autocomplete suggestions', e);\n });\n if (!req) {\n return;\n }\n const data = await req.json();\n if (!data || !data.hits || !data.hits.length) {\n return;\n }\n const suggestions = data.hits\n .filter(item => item.type === 'editorial')\n .map(item => {\n return item.query;\n });\n\n // Store query in store\n state.autocompleteSuggestions[prefix] = suggestions;\n this.setAutocompleteSuggestions(suggestions);\n }\n\n setAutocompleteSuggestions(suggestions) {\n if (typeof suggestions !== 'object' || typeof suggestions.length !== 'number' || suggestions.length === 0) {\n return;\n }\n this.autoCompleteOptions = suggestions;\n }\n componentWillLoad() {\n onChange('searchValue', () => {\n this.onSearchValueUpdate();\n });\n }\n\n componentDidRender() {\n const inputSearchElm = this.hostElement.querySelector('pn-search-field input:not([list])');\n if (inputSearchElm && this.search.AutocompleteEndpoint) {\n inputSearchElm.setAttribute('list', 'siteheader-search-autocomplete');\n }\n }\n\n render() {\n if (!this.search.formActionUrl || this.hideSearch) {\n return;\n }\n const autocompleteAttribute = this.search.AutocompleteEndpoint ? { list: 'siteheader-search-autocomplete' } : {};\n return (\n <div class=\"siteheader-search\">\n {this.showOnlyLink ? (\n <pn-button href={this.search.formActionUrl} appearance=\"light\" icon={search} tooltip={this.i18n.searchlabel} />\n ) : (\n <form method=\"get\" action={this.search.formActionUrl} role=\"search\">\n <pn-search-field\n {...autocompleteAttribute}\n label={this.i18n.searchlabel}\n name=\"q\"\n button={this.icononly ? 'icon' : null}\n button-label={'Search'}\n placeholder={this.i18n.searchplaceholder}\n onUpdate={(e: CustomEvent) => {\n state.searchValue = e.detail;\n }}\n onSearch={() => {\n const form = this.hostElement.querySelector('form') as HTMLFormElement;\n if (form) {\n form.submit();\n }\n }}\n />\n\n {this.primary && this.search.AutocompleteEndpoint ? (\n <datalist id=\"siteheader-search-autocomplete\">\n {this.autoCompleteOptions.map(item => (\n <option>{item}</option>\n ))}\n </datalist>\n ) : null}\n </form>\n )}\n </div>\n );\n }\n}\n","export default {\n sv: {\n navlabel: 'Webbplatsväljare',\n },\n en: {\n navlabel: 'Website selector',\n },\n da: {\n navlabel: 'Webstedsvælger',\n },\n no: {\n navlabel: 'Nettstedsvelger',\n },\n fi: {\n navlabel: 'Verkkosivun valitsin',\n },\n de: {\n navlabel: 'Website-Selektor',\n },\n};\n","@import '../../../globals/main.scss';\n@import './pn-site-selector-common.scss';\n\npn-site-selector {\n display: flex;\n position: relative;\n justify-content: center;\n max-height: 5.2rem;\n\n @media screen and (min-width: $siteselector-media-desktop) {\n display: block;\n }\n}\n\n.siteselector-heading {\n display: block;\n padding: 0;\n margin-bottom: 1.6rem;\n\n @media screen and (min-width: $siteselector-media-desktop) {\n display: flex;\n align-items: center;\n margin-top: 0.8rem;\n }\n}\n\n.siteselector-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n","import { Component, Prop, h, State, Element, Host } from '@stencil/core';\nimport { SiteSelectori18n } from './pn-site-selector-types';\nimport languageData from './pn-site-selector-i18n';\nimport { angle_small_down } from 'pn-design-assets/pn-assets/icons.js';\n@Component({\n tag: 'pn-site-selector',\n styleUrl: 'pn-site-selector.scss',\n})\nexport class PnSiteSelector {\n @Element() hostElement: HTMLElement;\n\n /* Site selector Button text */\n @Prop({ mutable: true, reflect: true }) buttontext: string = 'postnord';\n /* Site selector flyout title */\n @Prop({ mutable: true, reflect: true }) heading: string = 'PostNord';\n /** Specifies which language we want to show navigation in (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = 'sv';\n @State() i18n: SiteSelectori18n = { navlabel: 'Site selector' };\n\n componentWillLoad() {\n this.setLanguage();\n }\n\n setLanguage() {\n if (languageData[this.language]) {\n this.i18n = languageData[this.language] as SiteSelectori18n;\n }\n }\n\n render() {\n return (\n <Host>\n <pn-button-dropdown label={this.buttontext} icon={angle_small_down} appearance=\"light\" variant=\"borderless\">\n <div class=\"siteselector-nav\" aria-label={this.i18n.navlabel}>\n {this.heading ? <strong class=\"siteselector-heading\">{this.heading}</strong> : null}\n <div role=\"menu\" class=\"siteselector-list\">\n <slot />\n </div>\n </div>\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-site-selector-common.scss';\n\npn-site-selector-item {\n display: block;\n > div,\n > a {\n padding: 0.8rem 0;\n display: flex;\n flex-flow: column;\n position: relative;\n }\n}\n\n.siteselector-item-link {\n border-radius: 0;\n text-decoration: none;\n color: $blue700;\n flex-direction: row;\n\n &:hover,\n &:focus {\n background-color: $gray50;\n color: $blue700;\n text-decoration: underline;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n background-color: $gray50;\n color: $blue400;\n outline: none;\n }\n > span {\n flex-grow: 1;\n }\n pn-icon {\n right: 3.2rem;\n height: 1.9rem;\n width: 1.9rem;\n align-self: center;\n\n svg {\n width: 100%;\n height: auto;\n }\n }\n}\n.siteselector-item-title {\n display: block;\n}\n\n.siteselector-item-description {\n color: $gray900;\n font-size: 1.28rem;\n\n a:hover > &,\n a:focus > & {\n background-color: $gray50;\n color: $blue700;\n text-decoration: underline;\n outline: none;\n }\n\n a:active > & {\n background-color: $gray50;\n color: $blue400;\n outline: none;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport { angle_small_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-site-selector-item',\n styleUrl: 'pn-site-selector-item.scss',\n})\nexport class PnSiteSelectorItem {\n /* Link URL */\n @Prop() url: string = '';\n\n /* Link title */\n @Prop() heading: string = '';\n\n /* Link description */\n @Prop() description: string = '';\n\n /* Open link in new window */\n @Prop() newwindow: boolean = false;\n\n render() {\n return (\n <Host role=\"menuitem\">\n {this.url ? (\n <a class=\"siteselector-item-link\" href={this.url} target={this.newwindow ? '_blank' : 'self'} rel={this.newwindow ? 'nofollow noopener' : ''}>\n <span>\n {this.heading && <span class=\"siteselector-item-title\">{this.heading}</span>}\n {this.description && <small class=\"siteselector-item-description\">{this.description}</small>}\n </span>\n <pn-icon icon={angle_small_right} color=\"blue700\" />\n </a>\n ) : (\n <div>\n {this.heading && <span class=\"siteselector-item-title\">{this.heading}</span>}\n {this.description && <small class=\"siteselector-item-description\">{this.description}</small>}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-language-selector.pn-language-selector-option.pn-mainnav.pn-mainnav-level.pn-mainnav-list.pn-marketweb-siteheader-login.pn-marketweb-siteheader-search.pn-site-selector.pn-site-selector-item.entry.js","mappings":"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","names":["icon","translations","state","onChange","headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_small_right.js","node_modules/pn-design-assets/pn-assets/icons/globe.js","node_modules/pn-design-assets/pn-assets/icons/user.js","src/components/navigation/pn-language-selector/translations.ts","src/components/navigation/pn-language-selector/pn-language-selector.scss?tag=pn-language-selector","src/components/navigation/pn-language-selector/pn-language-selector.tsx","src/components/navigation/pn-language-selector/pn-language-selector-option.scss?tag=pn-language-selector-option","src/components/navigation/pn-language-selector/pn-language-selector-option.tsx","src/components/navigation/pn-mainnav/translations.ts","src/components/navigation/pn-mainnav/pn-mainnav.scss?tag=pn-mainnav","src/components/navigation/pn-mainnav/pn-mainnav.tsx","src/components/navigation/pn-mainnav/pn-mainnav-level.scss?tag=pn-mainnav-level","src/components/navigation/pn-mainnav/pn-mainnav-level.tsx","src/components/navigation/pn-mainnav/pn-mainnav-list.scss?tag=pn-mainnav-list","src/components/navigation/pn-mainnav/pn-mainnav-list.tsx","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","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search-store.tsx","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.scss?tag=pn-marketweb-siteheader-search","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.tsx","src/components/navigation/pn-site-selector/pn-site-selector-i18n.js","src/components/navigation/pn-site-selector/pn-site-selector.scss?tag=pn-site-selector","src/components/navigation/pn-site-selector/pn-site-selector.tsx","src/components/navigation/pn-site-selector/pn-site-selector-item.scss?tag=pn-site-selector-item","src/components/navigation/pn-site-selector/pn-site-selector-item.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=\"M16.707 11.293a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L14.586 12 9.293 6.707a1 1 0 0 1 1.414-1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_small_right = icon;\nexport const angleSmallRight = icon;\n","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=\"M4.252 10A8 8 0 0 0 4 12c0 .69.088 1.36.252 2h3.166a13.8 13.8 0 0 1 0-4zm.818-2h2.795a13.6 13.6 0 0 1 1.719-3.629A8.02 8.02 0 0 0 5.07 8M12 4.48A11.7 11.7 0 0 0 9.972 8h4.056A11.7 11.7 0 0 0 12 4.48M14.557 10H9.443a11.8 11.8 0 0 0 0 4h5.114a11.8 11.8 0 0 0 0-4m2.025 4a13.8 13.8 0 0 0 0-4h3.166c.165.64.252 1.31.252 2s-.087 1.36-.252 2zm-2.554 2H9.972A11.7 11.7 0 0 0 12 19.52 11.7 11.7 0 0 0 14.028 16m-4.444 3.629A13.6 13.6 0 0 1 7.864 16H5.07a8.02 8.02 0 0 0 4.514 3.629m4.832 0A13.6 13.6 0 0 0 16.136 16h2.794a8.02 8.02 0 0 1-4.514 3.629M18.93 8h-2.795a13.6 13.6 0 0 0-1.719-3.629A8.02 8.02 0 0 1 18.93 8M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12\" clip-rule=\"evenodd\"/></svg>';\nexport const globe = icon;\n","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","export const translations = {\n 'sv': {\n heading: 'Språk',\n },\n 'en': {\n heading: 'Language',\n },\n 'da': {\n heading: 'Sprog',\n },\n 'no': {\n heading: 'Språk',\n },\n 'fi': {\n heading: 'Kieli',\n },\n 'de': {\n heading: 'Sprache',\n },\n 'zh': {\n heading: '语言',\n },\n 'fr': {\n heading: 'Langue',\n },\n 'es': {\n heading: 'Idioma',\n },\n 'nl': {\n heading: 'Spraak',\n },\n 'it': {\n heading: 'Idioma',\n },\n 'tr': {\n heading: 'Dil',\n },\n 'pl': {\n heading: 'Język',\n },\n 'pt': {\n heading: 'Linguagem',\n },\n 'pt-BR': {\n heading: 'Linguagem',\n },\n};\n","@import '../../../globals/main.scss';\n@import './pn-language-common.scss';\npn-language-selector {\n max-height: 5.2rem;\n}\n.languageselector {\n position: relative;\n}\n\n.languageselector-togglebtn {\n cursor: pointer;\n border: 0;\n padding: 0.64rem 0;\n background-color: $white;\n color: $blue700;\n font-size: 1.6rem;\n &:hover,\n &:focus,\n &:active {\n color: $blue900;\n text-decoration: underline;\n }\n svg {\n width: 1.9rem;\n height: 1.9rem;\n }\n}\n\n.languageselector-nav {\n}\n\n.languageselector-title {\n padding: 0.8rem 1.6rem;\n display: flex;\n align-items: center;\n}\n\n.languageselector-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n","import { Component, Prop, h, State, Host, Watch, Element, Event, EventEmitter } from '@stencil/core';\nimport { LanguageSelectori18n, LanguageSelectorOption } from './pn-language-selector-types';\nimport { translations } from './translations';\nimport { globe } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-language-selector',\n styleUrl: 'pn-language-selector.scss',\n})\nexport class PnlanguageSelector {\n @Element() hostElement: HTMLElement;\n /* Current language code */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @State() selectedLanguageName = '';\n @State() options: LanguageSelectorOption[] = [];\n @State() i18n: LanguageSelectori18n;\n\n // Events\n @Event() setLanguage: EventEmitter;\n\n componentWillLoad() {\n this.setInitialSelectedLanguageName();\n this.setTranslations();\n }\n\n componentDidLoad() {\n this.initialize();\n }\n\n initialize() {\n this.setSelectedLanguageName();\n this.addEventBindingsToOptions();\n }\n\n setInitialSelectedLanguageName() {\n if (!window.Intl || !this.value) {\n return;\n }\n const langs = new (Intl as any).DisplayNames([this.value], { type: 'language' });\n if (!langs) {\n return;\n }\n const languageName = langs.of(this.value);\n if (!languageName) {\n return;\n }\n this.selectedLanguageName = languageName.charAt(0).toUpperCase() + languageName.slice(1);\n }\n\n addEventBindingsToOptions() {\n const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option')) as HTMLElement[];\n options.map((option: HTMLElement) => {\n option.removeEventListener('setCurrentLanguage', (event: CustomEvent) => {\n this.onSetCurrentLanguage(event.detail as LanguageSelectorOption);\n });\n // Bind event listener for when a user change language\n option.addEventListener('setCurrentLanguage', (event: CustomEvent) => {\n this.onSetCurrentLanguage(event.detail as LanguageSelectorOption);\n });\n });\n }\n\n @Watch('value')\n setSelectedLanguageName() {\n const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option')) as HTMLElement[];\n options.map((option: HTMLElement) => {\n // Set current label of language selector\n if (option.getAttribute('code') == this.value) {\n // || option.getAttribute(\"selected\") == \"true\"\n this.selectedLanguageName = option.getAttribute('name');\n }\n });\n }\n\n onSetCurrentLanguage(option: LanguageSelectorOption) {\n this.value = option.code;\n this.selectedLanguageName = option.name;\n this.setLanguage.emit(this.value);\n }\n\n @Watch('value')\n setTranslations() {\n if (translations[this.value]) {\n this.i18n = translations[this.value] as LanguageSelectori18n;\n }\n }\n\n @Watch('value')\n onValueChange() {\n const components = this.hostElement.querySelectorAll('pn-language-selector-option') ?? [];\n components.forEach(component => {\n // Pass values as props into slotted components\n // component.setAttribute(\"current-language\", this.value);\n const isSelected = (component.getAttribute('code') === this.value) + '';\n if (component.getAttribute('selected') + '' !== isSelected) {\n component.setAttribute('selected', isSelected);\n }\n });\n }\n\n render() {\n return (\n <Host value={this.value}>\n <pn-button-dropdown label={this.selectedLanguageName} icon={globe} appearance=\"light\" variant=\"borderless\">\n <div class=\"languageselector-nav\" aria-label={this.i18n.heading}>\n <strong class=\"languageselector-title\">{this.i18n.heading}</strong>\n <div class=\"languageselector-list\" role=\"list\">\n <slot />\n </div>\n </div>\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-language-common.scss';\n\npn-language-selector-option {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.languageselector-button,\n.languageselector-link {\n width: 100%;\n padding: 1.1rem 1.6rem 1.1rem 1.4rem;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n border: 0;\n cursor: pointer;\n background-color: $white;\n color: $blue700;\n font-size: 1.6rem;\n font-weight: bold;\n border-radius: 0;\n &:hover,\n &:focus,\n &:active {\n color: $blue900;\n text-decoration: underline;\n box-shadow: none;\n background-color: $gray50;\n color: $blue700;\n outline: none;\n }\n}\n\n.languageselector-itemtext {\n display: inline-block;\n margin-left: 1rem;\n}\n\n.languageselector-radio-outer {\n background: #fff;\n border: 0.1em solid $gray200;\n border-radius: 50%;\n height: 1.5em;\n width: 1.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n transition:\n border 0.2s ease-in-out,\n background-color 0.2s ease-in-out,\n box-shadow 0.1s;\n cursor: pointer;\n\n &:focus > &,\n &:active > & {\n box-shadow:\n 0 0 0 0.1rem white,\n 0 0 0 0.3rem $blue700;\n }\n &:hover > & {\n border: 0.1rem solid $blue700;\n background: $blue50;\n }\n [selected='true'] & {\n border: 0.1rem solid $blue700;\n }\n}\n\n.languageselector-radio-inner {\n transform: scale(0);\n height: 1em;\n width: 1em;\n background-color: $blue700;\n border-radius: 50%;\n transform-origin: center center;\n transition: transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);\n\n [selected='true'] & {\n transform: scale(1);\n }\n}\n","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\nimport { LanguageSelectorOption } from './pn-language-selector-types';\n\n@Component({\n tag: 'pn-language-selector-option',\n styleUrl: 'pn-language-selector-option.scss',\n})\nexport class PnlanguageSelectorOption {\n /** What you write in the comment block above each prop is what ends up in the description fields in the prop table in the documentation */\n @Prop() name: string = '';\n @Prop() code: string = '';\n @Prop() url: string = '';\n @Prop() selected: boolean = false;\n @Prop() currentLanguage: string;\n\n private spanEl!: HTMLElement;\n\n @Event() setCurrentLanguage: EventEmitter;\n onOptionClick() {\n const currentlanguage: LanguageSelectorOption = {\n name: this.name,\n code: this.code,\n url: this.url,\n current: true,\n };\n this.setCurrentLanguage.emit(currentlanguage);\n }\n\n componentDidLoad() {\n if (this.spanEl) {\n this.spanEl.setAttribute(\"xml:lang\", this.code);\n }\n }\n\n render() {\n return (\n <Host role=\"listitem\" selected={this.selected + ''} code={this.code} name={this.name}>\n {!this.url ? (\n <button class=\"languageselector-button\" data-langcode={this.code} onClick={this.onOptionClick.bind(this)}>\n <span class=\"languageselector-radio-outer\">\n <span class=\"languageselector-radio-inner\"></span>\n </span>\n <span ref={(el) => (this.spanEl = el as HTMLElement)} lang={this.code} class=\"languageselector-itemtext\">\n {this.name} - {this.code}\n </span>\n </button>\n ) : (\n <a href={this.url} target=\"_self\" class=\"languageselector-link\" data-langcode={this.code}>\n <span class=\"languageselector-radio-outer\">\n <span class=\"languageselector-radio-inner\"></span>\n </span>\n <span ref={(el) => (this.spanEl = el as HTMLElement)} lang={this.code} class=\"languageselector-itemtext\">\n {this.name} - {this.code}\n </span>\n </a>\n )}\n </Host>\n );\n }\n}\n","export const translations = {\n 'sv': {\n menuHomeButton: 'Hem',\n menuGoBackButton: 'Gå tillbaka',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n navLabel: 'Huvudnavigation',\n },\n 'en': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'da': {\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbage',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Hovednavigation',\n },\n 'no': {\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbake',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n navLabel: 'Hovednavigasjon',\n },\n 'de': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Geh zurück',\n mainMenuButton: 'Menü',\n menuStartButton: 'Start',\n navLabel: 'Hauptnavigation',\n },\n 'zh': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'it': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'nl': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'tr': {\n menuHomeButton: 'Anasayfa',\n menuGoBackButton: 'Geri git',\n mainMenuButton: 'Menü',\n menuStartButton: 'Başlat',\n navLabel: 'Ana gezinme',\n },\n 'pt': {\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'pl': {\n menuHomeButton: 'Strona główna',\n menuGoBackButton: 'Powrót',\n mainMenuButton: 'Menu',\n menuStartButton: 'Początek',\n navLabel: 'Menu główne systemu',\n },\n 'pt-BR': {\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Voltar',\n mainMenuButton: 'Menu',\n menuStartButton: 'Iniciar',\n navLabel: 'Navegação principal',\n },\n};\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav {\n display: flex;\n flex-flow: row-reverse;\n position: relative;\n width: 100%;\n min-height: 5.1rem;\n\n @media screen and (min-width: $mobilenav-media-tablet) {\n flex-flow: row;\n }\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n flex-flow: column;\n }\n\n [slot='footer'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n }\n }\n > nav {\n height: auto;\n width: 100vw;\n background-color: $white;\n z-index: 2;\n transform: translateX(100vw);\n transition: transform 0.2s 0s;\n transition-property: transform, visibility;\n display: flex;\n flex-flow: column;\n visibility: hidden;\n position: fixed;\n top: 3em;\n bottom: 0;\n left: 0;\n @media screen and (min-width: $mobilenav-media-tablet) {\n top: 6.5em;\n }\n\n &[data-menu-open='true'] {\n visibility: visible;\n transform: translateX(0);\n }\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n flex-flow: row-reverse;\n top: 0;\n position: static;\n // overflow: visible;\n height: auto;\n width: 100%;\n justify-content: space-between;\n visibility: visible;\n transform: translateX(0);\n }\n\n a {\n text-decoration: none;\n }\n\n button {\n cursor: pointer;\n }\n }\n}\n\n.mainnav-toggle {\n display: flex;\n align-items: center;\n align-self: center;\n // @media screen and (min-width: $mobilenav-media-tablet) {\n // align-self: center;\n // }\n // @media screen and (min-width: $mobilenav-media-smalldesktop) {\n // align-self: center;\n // }\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n }\n > button {\n display: flex;\n align-items: center;\n background-color: $blue700;\n color: $white;\n border-radius: 2.4rem;\n border: none;\n padding: 0.6rem 1.6rem;\n cursor: pointer;\n font-size: 1.6rem;\n\n &:focus {\n outline: 0;\n }\n\n pn-icon {\n margin-left: 0.8rem;\n display: block;\n }\n\n svg {\n display: block;\n margin: -0.2rem -0.5rem -0.2rem 0;\n height: 1.9rem;\n width: 1.9rem;\n }\n }\n}\n","import { Component, Prop, h, Host, Listen, Event, EventEmitter, Element } from '@stencil/core';\nimport { translations } from './translations';\nimport { Menui18n } from './types';\nimport state from './pn-mainnav-store';\nimport { close, bars } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-mainnav',\n styleUrl: 'pn-mainnav.scss',\n shadow: false,\n})\nexport class PnMainnav {\n @Element() hostElement: HTMLElement;\n /** Specifies which market we want to fetch navigation for (se,dk,fi,no,com) */\n @Prop() market: string = 'se';\n /** Specifies which language we want to show navigation in (sv,da,fi,no,en) */\n @Prop() language: string = 'sv';\n /** Specifies which endpoint we should read information from */\n @Prop() navigationId: string = 'mainnav';\n /** Specifies which endpoint we should read information from */\n @Prop({ mutable: true }) openMenu: boolean = false;\n /** Sets the label of the navigation (Required if multiple nav elements are on a page) */\n @Prop() navLabel: string = '';\n\n @Event() menuLanguageChange: EventEmitter; // Could not use language change since it's a existing window event\n @Event() marketChange: EventEmitter;\n @Event() menuOpenChange: EventEmitter;\n\n componentWillLoad() {\n this.init();\n document.removeEventListener('mousedown', this._onClickOutside.bind(this));\n document.addEventListener('mousedown', this._onClickOutside.bind(this));\n }\n\n async init() {\n this.setLanguage();\n this.setMarket();\n }\n\n private _onClickOutside(event) {\n const clickedOutside = !this.hostElement.contains(event.target);\n if (clickedOutside) {\n state.openLevel = '';\n }\n }\n\n @Listen('language')\n setLanguage() {\n this.menuLanguageChange.emit(this.language);\n }\n\n @Listen('market')\n setMarket() {\n this.marketChange.emit(this.market);\n }\n\n @Listen('menuLanguageChange')\n onLanguageChange(event) {\n if (translations[event.detail]) {\n state.i18n = translations[event.detail] as Menui18n;\n if (!this.navLabel) {\n this.navLabel = state.i18n.navLabel;\n }\n }\n }\n\n @Listen('setmenuopenstate')\n setMenuOpenState() {\n state.openMenu = !state.openMenu;\n this.menuOpenChange.emit(state.openMenu);\n }\n\n @Listen('openMenuLevelChange')\n onOpenMenuLevelChange(event) {\n state.openLevel = event.detail;\n }\n\n render() {\n return (\n <Host>\n <div class=\"mainnav-toggle\">\n <button aria-controls={this.navigationId} aria-expanded={state.openMenu + ''} onClick={this.setMenuOpenState.bind(this)}>\n {state.i18n.mainMenuButton}\n <pn-icon icon={state.openMenu ? close : bars} color=\"white\"></pn-icon>\n </button>\n </div>\n <nav class=\"mainnav\" aria-label={this.navLabel} data-menu-open={state.openMenu + ''} data-menu-currentlevel={state.currentLevel} id={this.navigationId}>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav-level {\n display: block;\n &:not(.hydrated) {\n max-height: 5.6rem;\n overflow: hidden;\n }\n &[data-level='1'] {\n width: 100%;\n right: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n flex: 1;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n width: auto;\n overflow: initial;\n\n // Only works for blink/webkit\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n &[data-level='2'] {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100vw;\n padding: 0;\n background-color: $white;\n z-index: 1;\n transform: translateX(100vw);\n transition: transform 0.2s 0s;\n transition-property: transform, visibility;\n overflow: scroll;\n visibility: hidden;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n left: 0;\n top: calc(100% + 1rem);\n bottom: auto;\n border-radius: 1.6rem;\n width: auto;\n padding: 1.6rem 1.6rem 0 1.6rem;\n -webkit-box-shadow: $mainmenu-shadow-elevation8;\n -moz-box-shadow: $mainmenu-shadow-elevation8;\n box-shadow: $mainmenu-shadow-elevation8;\n height: auto;\n z-index: 3;\n display: none;\n\n &[data-menuitem-rightaligned='true'] {\n // right-align next-to-last menu-pop-up on desktop (last is hidden mobile-action-menu)\n right: 0;\n left: unset;\n }\n }\n\n @media screen and (max-height: $mobilenav-media-phoneheight) {\n -ms-overflow-style: none; // IE and Edge\n scrollbar-width: none; // Firefox\n\n &::-webkit-scrollbar {\n // Chrome, Safari and Opera\n display: none;\n }\n }\n\n &[aria-hidden='false'] {\n transform: translateX(0);\n visibility: visible;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: block;\n overflow: visible;\n\n &:not([data-level-listcount='1']) {\n display: grid;\n grid-template-columns: minmax(12em, 20em) 1fr;\n grid-template-rows: auto auto;\n gap: 0px 1.6rem;\n grid-template-areas:\n 'top top'\n 'left right';\n }\n }\n }\n &[data-level-alignment='left'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n right: 0;\n left: unset;\n }\n }\n &[data-level-alignment='center'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n a {\n color: $blue700;\n text-decoration: none;\n }\n }\n [slot='top'] {\n display: flex;\n @media screen and (min-width: $mobilenav-media-tablet) {\n display: none;\n }\n }\n\n [slot='footer'] {\n [data-menu-currentlevel='2'] & {\n display: none;\n overscroll-behavior: contain;\n }\n }\n}\n\n.mainnav-level-header {\n grid-area: top;\n > label {\n position: absolute;\n width: 0.1rem;\n height: 0.1rem;\n padding: 0;\n margin: -0.1rem;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n white-space: nowrap;\n }\n > button {\n display: block;\n position: relative;\n border: none;\n background-color: transparent;\n color: $blue700;\n padding: 2.4rem 0 2.4rem 6.2rem;\n width: 100%;\n text-align: left;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n speak: none;\n }\n\n > pn-icon {\n speak: none;\n position: absolute;\n height: 2.4rem;\n width: 2.4rem;\n left: 3rem;\n top: 50%;\n transform: translateY(-50%);\n }\n }\n\n [data-level='2'] & {\n > pn-mainnav-link > a {\n font-size: 2.4rem;\n }\n }\n}\n","import { Component, State, h, Host, Element, Watch, Prop } from '@stencil/core';\nimport { state, onChange } from './pn-mainnav-store';\nimport { arrow_left } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-mainnav-level',\n styleUrl: 'pn-mainnav-level.scss',\n shadow: false,\n})\nexport class PnMainnavLevel {\n @Element() hostElement: HTMLElement;\n @Prop({ reflect: true, mutable: true }) label: string = '';\n @State() level: number = 1;\n @State() levelId: string = '';\n @State() isOpen: boolean = false;\n @State() parentName: string = '';\n @State() parentHref: string = '';\n @State() parentLinkId: string = '';\n @State() listCount: number = 0;\n @State() alignment: string = 'right';\n\n async componentWillLoad() {\n this.setState();\n onChange('openLevel', () => {\n this.onChangeOpenLevel();\n });\n }\n\n @Watch('label')\n setState() {\n this.listCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-list').length;\n const parentElm = this.hostElement.parentElement;\n if (parentElm.tagName.toLowerCase() !== 'nav') {\n this.level = 2;\n }\n if (parentElm.tagName.toLowerCase() === 'pn-mainnav-link') {\n this.parentName = parentElm.getAttribute('name') + '';\n if ((!this.label && this.parentName) || this.label !== this.parentName) {\n this.label = this.parentName;\n }\n this.parentHref = parentElm.getAttribute('href') + '';\n this.parentLinkId = parentElm.getAttribute('linkid') + '';\n const parentLinkName = this.parentName.toLowerCase().replace(/\\W/gi, '_');\n this.levelId = `mainnav-lvl${this.level}-${parentLinkName}`;\n }\n }\n\n @Watch('isOpen')\n onOpen() {\n if (this.level === 2) {\n requestAnimationFrame(() => {\n const levelClientRect = this.hostElement.getClientRects()[0];\n if (!levelClientRect) {\n return;\n }\n\n const navElm = this.hostElement.parentElement.parentElement.parentElement.parentElement;\n if (navElm && navElm.tagName.toLowerCase() === 'nav') {\n const navClientRect = navElm.getClientRects()[0];\n if (!navClientRect) {\n return;\n }\n\n if (levelClientRect.right > window.innerWidth) {\n const levelParentRect = this.hostElement.parentElement.getClientRects()[0];\n if (levelParentRect.left - levelClientRect.width < 0) {\n this.alignment = 'center';\n } else {\n this.alignment = 'left';\n }\n }\n }\n });\n }\n }\n onChangeOpenLevel() {\n this.isOpen = state.openLevel === this.levelId;\n state.currentLevel = this.level;\n }\n\n render() {\n return (\n <Host\n {...(this.level > 1 && this.levelId ? { 'aria-hidden': !this.isOpen + '' } : {})}\n data-level-listcount={this.listCount + ''}\n data-level-alignment={this.alignment}\n data-level={this.level + ''}\n {...(this.levelId ? { id: this.levelId } : {})}\n >\n {this.level > 1 ? (\n <div class=\"mainnav-level-header\">\n <label htmlFor={this.levelId}>{state.i18n.menuGoBackButton}</label>\n <button\n class=\"secondlevel-backbtn\"\n onClick={() => {\n state.openLevel = '';\n state.currentLevel = 1;\n }}\n aria-expanded={(state.openLevel === this.levelId) + ''}\n >\n <pn-icon icon={arrow_left} color=\"blue700\" />\n {state.i18n.menuStartButton}\n </button>\n {this.parentHref && this.label ? <pn-mainnav-link href={this.parentHref} name={this.label} linkid={this.parentLinkId}></pn-mainnav-link> : null}\n </div>\n ) : null}\n <slot name=\"top\"></slot>\n <slot></slot>\n <slot name=\"additional\"></slot>\n <slot name=\"footer\"></slot>\n </Host>\n );\n }\n}\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav-list {\n display: block;\n overflow: visible;\n list-style: none;\n margin: 0;\n padding: 0;\n grid-area: right;\n\n + pn-mainnav-list {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n grid-area: left;\n border-right: 0.1rem solid $gray200;\n margin-bottom: 1.6rem;\n margin-right: -0.7rem;\n padding-right: 0.7rem;\n }\n }\n\n [data-level='1'] > & {\n // height: 100%;\n overflow: scroll;\n -webkit-overflow-scrolling: touch;\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n height: 100%;\n display: flex;\n flex-flow: row;\n overflow: visible;\n padding: 0;\n }\n }\n\n &[data-navlist-showcolumns='true'] {\n [data-level='2'] > & {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n column-count: 2;\n column-gap: 1.6rem;\n padding-bottom: 1.6rem;\n }\n }\n }\n}\n\n.mainnav-list-heading {\n display: none;\n font-weight: bold;\n column-span: all;\n font-size: 1.8rem;\n padding: 1.4rem 1.4rem 1.4rem 4.8rem;\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: block;\n padding: 0 1.4rem 1.4rem 1.4rem;\n }\n}\n","import { Component, h, Host, State, Element, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pn-mainnav-list',\n styleUrl: 'pn-mainnav-list.scss',\n shadow: false,\n})\nexport class PnMainnavList {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = '';\n @State() linkCount: number = 0;\n\n componentWillLoad() {\n this.linkCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-link').length;\n }\n\n render() {\n return (\n <Host class=\"mainnav-list\" role=\"list\" data-navlist-itemcount={this.linkCount + ''} data-navlist-showcolumns={(this.linkCount >= 8) + ''}>\n {this.heading ? <div class=\"mainnav-list-heading\">{this.heading}</div> : null}\n <slot></slot>\n </Host>\n );\n }\n}\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","import { createStore } from '@stencil/store';\n// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store\n\nconst { state, onChange } = createStore({\n searchValue: '',\n autocompleteSuggestions: {},\n requestAbortController: new AbortController(),\n});\n\nexport { state, onChange };\nexport default state;\n","@import '../../../globals/main.scss';\n@import './pn-marketweb-siteheader-common.scss';\n\n.siteheader-search {\n a {\n display: none;\n @media screen and (min-width: $siteheader-media-tablet) {\n display: block;\n }\n }\n pn-search-field > .input-container button {\n background: $white;\n }\n pn-search-field.button-icon pn-button,\n pn-button {\n display: inline-flex;\n button {\n align-self: center;\n padding: 0;\n height: 2.3em;\n width: 2.4em;\n line-height: 0;\n min-height: unset;\n min-width: initial;\n }\n pn-icon {\n margin-left: 0;\n }\n .pn-button-tooltip {\n line-height: initial !important;\n }\n }\n form {\n justify-content: flex-end;\n align-items: stretch;\n width: auto;\n flex: none;\n display: flex;\n padding: 0;\n margin: 0 0 0 0.4rem;\n position: relative;\n flex-direction: column;\n @media screen and (min-width: $siteheader-media-tablet) {\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-right: 1.6rem;\n }\n pn-search-field {\n min-width: 13.5em;\n .input-container {\n align-self: center;\n }\n input {\n height: auto;\n min-height: 1em;\n padding: 0.6em 0.75em;\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State } from '@stencil/core';\nimport { SiteHeaderSearch } from './pn-marketweb-siteheader-types';\nimport { state, onChange } from './pn-marketweb-siteheader-search-store';\nimport { search } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-search',\n styleUrl: 'pn-marketweb-siteheader-search.scss',\n})\nexport class PnMarketwebSiteheaderSearch {\n @Element() hostElement: Element;\n\n // Language options\n @Prop() i18n: any;\n\n // Display option, show only link\n @Prop({ mutable: true }) showOnlyLink: boolean = false;\n // Hide search option\n @Prop({ mutable: true }) hideSearch: boolean = false;\n /** Specifies which language we want to show (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = null;\n\n /** Specifies the current site id (guid)*/\n @Prop() siteid: string = null;\n\n // Search data\n @Prop({ mutable: true }) search: SiteHeaderSearch = {};\n\n // Is this the primary instance?\n @Prop() primary: boolean = false;\n\n // Only Show icon as search button?\n @Prop() icononly: boolean = true;\n\n // Autocomplete options\n @State() autoCompleteOptions: string[] = [];\n\n onSearchValueUpdate() {\n this.getAutocomplete(state.searchValue);\n }\n\n async getAutocomplete(prefix) {\n if (!this.search.AutocompleteEndpoint || prefix.length < 2) {\n this.autoCompleteOptions = [];\n return;\n }\n if (state.autocompleteSuggestions[prefix]) {\n this.setAutocompleteSuggestions(state.autocompleteSuggestions[prefix]);\n return;\n }\n\n let autocompleteUrl = `${this.search.AutocompleteEndpoint}?prefix=${prefix}&size=10`;\n if (this.language || this.siteid) {\n autocompleteUrl += `&tags=`;\n if (this.language) {\n autocompleteUrl += `language:${this.language}`;\n }\n if (this.language && this.siteid) {\n autocompleteUrl += `,`;\n }\n if (this.siteid) {\n autocompleteUrl += `siteid:${this.siteid}`;\n }\n }\n const req = await fetch(autocompleteUrl, { signal: state.requestAbortController.signal }).catch(e => {\n console.warn('Unable to fetch autocomplete suggestions', e);\n });\n if (!req) {\n return;\n }\n const data = await req.json();\n if (!data || !data.hits || !data.hits.length) {\n return;\n }\n const suggestions = data.hits\n .filter(item => item.type === 'editorial')\n .map(item => {\n return item.query;\n });\n\n // Store query in store\n state.autocompleteSuggestions[prefix] = suggestions;\n this.setAutocompleteSuggestions(suggestions);\n }\n\n setAutocompleteSuggestions(suggestions) {\n if (typeof suggestions !== 'object' || typeof suggestions.length !== 'number' || suggestions.length === 0) {\n return;\n }\n this.autoCompleteOptions = suggestions;\n }\n componentWillLoad() {\n onChange('searchValue', () => {\n this.onSearchValueUpdate();\n });\n }\n\n componentDidRender() {\n const inputSearchElm = this.hostElement.querySelector('pn-search-field input:not([list])');\n if (inputSearchElm && this.search.AutocompleteEndpoint) {\n inputSearchElm.setAttribute('list', 'siteheader-search-autocomplete');\n }\n }\n\n render() {\n if (!this.search.formActionUrl || this.hideSearch) {\n return;\n }\n const autocompleteAttribute = this.search.AutocompleteEndpoint ? { list: 'siteheader-search-autocomplete' } : {};\n return (\n <div class=\"siteheader-search\">\n {this.showOnlyLink ? (\n <pn-button href={this.search.formActionUrl} appearance=\"light\" icon={search} tooltip={this.i18n.searchlabel} />\n ) : (\n <form method=\"get\" action={this.search.formActionUrl} role=\"search\">\n <pn-search-field\n {...autocompleteAttribute}\n label={this.i18n.searchlabel}\n name=\"q\"\n button={this.icononly ? 'icon' : null}\n button-label={'Search'}\n placeholder={this.i18n.searchplaceholder}\n onUpdate={(e: CustomEvent) => {\n state.searchValue = e.detail;\n }}\n onSearch={() => {\n const form = this.hostElement.querySelector('form') as HTMLFormElement;\n if (form) {\n form.submit();\n }\n }}\n />\n\n {this.primary && this.search.AutocompleteEndpoint ? (\n <datalist id=\"siteheader-search-autocomplete\">\n {this.autoCompleteOptions.map(item => (\n <option>{item}</option>\n ))}\n </datalist>\n ) : null}\n </form>\n )}\n </div>\n );\n }\n}\n","export default {\n sv: {\n navlabel: 'Webbplatsväljare',\n },\n en: {\n navlabel: 'Website selector',\n },\n da: {\n navlabel: 'Webstedsvælger',\n },\n no: {\n navlabel: 'Nettstedsvelger',\n },\n fi: {\n navlabel: 'Verkkosivun valitsin',\n },\n de: {\n navlabel: 'Website-Selektor',\n },\n};\n","@import '../../../globals/main.scss';\n@import './pn-site-selector-common.scss';\n\npn-site-selector {\n display: flex;\n position: relative;\n justify-content: center;\n max-height: 5.2rem;\n\n @media screen and (min-width: $siteselector-media-desktop) {\n display: block;\n }\n}\n\n.siteselector-heading {\n display: block;\n padding: 0;\n margin-bottom: 1.6rem;\n\n @media screen and (min-width: $siteselector-media-desktop) {\n display: flex;\n align-items: center;\n margin-top: 0.8rem;\n }\n}\n\n.siteselector-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n","import { Component, Prop, h, State, Element, Host } from '@stencil/core';\nimport { SiteSelectori18n } from './pn-site-selector-types';\nimport languageData from './pn-site-selector-i18n';\nimport { angle_small_down } from 'pn-design-assets/pn-assets/icons.js';\n@Component({\n tag: 'pn-site-selector',\n styleUrl: 'pn-site-selector.scss',\n})\nexport class PnSiteSelector {\n @Element() hostElement: HTMLElement;\n\n /* Site selector Button text */\n @Prop({ mutable: true, reflect: true }) buttontext: string = 'postnord';\n /* Site selector flyout title */\n @Prop({ mutable: true, reflect: true }) heading: string = 'PostNord';\n /** Specifies which language we want to show navigation in (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = 'sv';\n @State() i18n: SiteSelectori18n = { navlabel: 'Site selector' };\n\n componentWillLoad() {\n this.setLanguage();\n }\n\n setLanguage() {\n if (languageData[this.language]) {\n this.i18n = languageData[this.language] as SiteSelectori18n;\n }\n }\n\n render() {\n return (\n <Host>\n <pn-button-dropdown label={this.buttontext} icon={angle_small_down} appearance=\"light\" variant=\"borderless\">\n <div class=\"siteselector-nav\" aria-label={this.i18n.navlabel}>\n {this.heading ? <strong class=\"siteselector-heading\">{this.heading}</strong> : null}\n <div role=\"menu\" class=\"siteselector-list\">\n <slot />\n </div>\n </div>\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-site-selector-common.scss';\n\npn-site-selector-item {\n display: block;\n > div,\n > a {\n padding: 0.8rem 0;\n display: flex;\n flex-flow: column;\n position: relative;\n }\n}\n\n.siteselector-item-link {\n border-radius: 0;\n text-decoration: none;\n color: $blue700;\n flex-direction: row;\n\n &:hover,\n &:focus {\n background-color: $gray50;\n color: $blue700;\n text-decoration: underline;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n background-color: $gray50;\n color: $blue400;\n outline: none;\n }\n > span {\n flex-grow: 1;\n }\n pn-icon {\n right: 3.2rem;\n height: 1.9rem;\n width: 1.9rem;\n align-self: center;\n\n svg {\n width: 100%;\n height: auto;\n }\n }\n}\n.siteselector-item-title {\n display: block;\n}\n\n.siteselector-item-description {\n color: $gray900;\n font-size: 1.28rem;\n\n a:hover > &,\n a:focus > & {\n background-color: $gray50;\n color: $blue700;\n text-decoration: underline;\n outline: none;\n }\n\n a:active > & {\n background-color: $gray50;\n color: $blue400;\n outline: none;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport { angle_small_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-site-selector-item',\n styleUrl: 'pn-site-selector-item.scss',\n})\nexport class PnSiteSelectorItem {\n /* Link URL */\n @Prop() url: string = '';\n\n /* Link title */\n @Prop() heading: string = '';\n\n /* Link description */\n @Prop() description: string = '';\n\n /* Open link in new window */\n @Prop() newwindow: boolean = false;\n\n render() {\n return (\n <Host role=\"menuitem\">\n {this.url ? (\n <a class=\"siteselector-item-link\" href={this.url} target={this.newwindow ? '_blank' : 'self'} rel={this.newwindow ? 'nofollow noopener' : ''}>\n <span>\n {this.heading && <span class=\"siteselector-item-title\">{this.heading}</span>}\n {this.description && <small class=\"siteselector-item-description\">{this.description}</small>}\n </span>\n <pn-icon icon={angle_small_right} color=\"blue700\" />\n </a>\n ) : (\n <div>\n {this.heading && <span class=\"siteselector-item-title\">{this.heading}</span>}\n {this.description && <small class=\"siteselector-item-description\">{this.description}</small>}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { r as registerInstance, h, d as Host } from './index-c311acd6.js';
|
|
2
|
+
import { P as PnLevelUpService } from './pn-level-up.service-5c602f23.js';
|
|
3
|
+
import './FetchHelper-4789695a.js';
|
|
4
|
+
import './LocalStorageService-78b1794d.js';
|
|
5
|
+
|
|
6
|
+
const pnLevelUpModalCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-level-up-modal .pn-modal-header{z-index:0}pn-level-up-modal .pn-modal{max-width:63.1rem}@media screen and (max-width: 768px){pn-level-up-modal .pn-modal{height:100%;max-height:100%}}pn-level-up-modal .level-up-computer-modal .pn-modal-content .modal-content{justify-self:center;display:flex;flex-wrap:wrap;flex-direction:column;gap:2em;margin:2em;width:max-content;align-content:space-around}pn-level-up-modal .pn-modal-label{margin:2.2rem 0}@media screen and (max-width: 768px){pn-level-up-modal .pn-modal-label{justify-self:center}}@media screen and (max-width: 768px){pn-level-up-modal .level-up-phone-modal .pn-modal-content{height:100%;align-content:center;align-items:center}}pn-level-up-modal .level-up-phone-modal .pn-modal-content pn-spinner{justify-self:center}pn-level-up-modal .level-up-phone-modal .pn-modal-content .modal-content-container{display:flex;flex-direction:row;align-items:center;gap:1em}@media screen and (max-width: 768px){pn-level-up-modal .level-up-phone-modal .pn-modal-content .modal-content-container{flex-direction:column}}pn-level-up-modal .level-up-phone-modal .pn-modal-content .modal-content-list ol{font-size:1.8rem;line-height:1.6;margin-left:2rem;padding-left:2rem}pn-level-up-modal .level-up-phone-modal .pn-modal-content .modal-content-list li{margin-bottom:1rem}@media screen and (max-width: 768px){pn-level-up-modal .level-up-phone-modal .pn-modal-content .modal-content-list ol{font-size:1.6rem}}";
|
|
7
|
+
const PnLevelUpModalStyle0 = pnLevelUpModalCss;
|
|
8
|
+
|
|
9
|
+
const PnLevelUpModal = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
registerInstance(this, hostRef);
|
|
12
|
+
this.open = undefined;
|
|
13
|
+
this.endpoint = undefined;
|
|
14
|
+
this.instructionPhoneLineOne = undefined;
|
|
15
|
+
this.instructionPhoneLineTwo = undefined;
|
|
16
|
+
this.instructionPhoneLineThree = undefined;
|
|
17
|
+
this.headingText = undefined;
|
|
18
|
+
this.outdatedQRMessage = undefined;
|
|
19
|
+
this.expiresInMessage = undefined;
|
|
20
|
+
this.system = undefined;
|
|
21
|
+
this.qrAriaLabel = undefined;
|
|
22
|
+
this.openModalToggle = undefined;
|
|
23
|
+
this.isLoading = true;
|
|
24
|
+
}
|
|
25
|
+
_bankIDUrl;
|
|
26
|
+
_levelupService;
|
|
27
|
+
_levelUpModal;
|
|
28
|
+
componentWillLoad() {
|
|
29
|
+
this._levelupService = new PnLevelUpService(this.endpoint);
|
|
30
|
+
this.updateOpen();
|
|
31
|
+
}
|
|
32
|
+
updateBankIDUrl = async () => {
|
|
33
|
+
this.isLoading = true;
|
|
34
|
+
let authResponse = await this._levelupService.levelupAuthorize(this.system, null);
|
|
35
|
+
this.isLoading = false;
|
|
36
|
+
this._bankIDUrl = authResponse.url;
|
|
37
|
+
await this._levelupService.levelupTokenGrant(authResponse.id, '30', null).then((response) => {
|
|
38
|
+
if (response.code === 200) {
|
|
39
|
+
this._levelupService.newLevelupUser();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
updateOpen() {
|
|
44
|
+
if (this.open === 'open') {
|
|
45
|
+
this.handleOpen();
|
|
46
|
+
this.openModalToggle = true;
|
|
47
|
+
if (this._levelUpModal) {
|
|
48
|
+
if (this._levelUpModal.open === true) {
|
|
49
|
+
this._levelUpModal.open = false;
|
|
50
|
+
}
|
|
51
|
+
this._levelUpModal.open = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.openModalToggle = false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
handleOpen = async () => {
|
|
59
|
+
await this.updateBankIDUrl();
|
|
60
|
+
};
|
|
61
|
+
render() {
|
|
62
|
+
return (h(Host, { key: '0431f6d5caf8183d3e1c432a3ad663fa8648b1b4' }, h("pn-modal", { key: 'bb6f2be2f52908943154e99c02e7c3f7b9e648b6', ref: el => this._levelUpModal = el, open: this.openModalToggle, class: "level-up-phone-modal", "allow-overflow": 'true', label: this.headingText }, this.isLoading ?
|
|
63
|
+
(h("pn-spinner", { light: "false", size: "1.5" })) : (h("div", { class: "modal-content-container" }, h("div", { class: "modal-content-qr" }, h("pn-qr-code-generator", { url: this._bankIDUrl, "countdown-seconds": "30", "outdated-message": this.outdatedQRMessage, "expires-in-message": this.expiresInMessage, "update-code-every-second": true, "aria-label": this.qrAriaLabel })), h("div", { class: "modal-content-list" }, h("ol", null, this.instructionPhoneLineOne && h("li", null, this.instructionPhoneLineOne), this.instructionPhoneLineTwo && h("li", null, this.instructionPhoneLineTwo), this.instructionPhoneLineThree && h("li", null, this.instructionPhoneLineThree))))))));
|
|
64
|
+
}
|
|
65
|
+
static get watchers() { return {
|
|
66
|
+
"open": ["updateOpen"]
|
|
67
|
+
}; }
|
|
68
|
+
};
|
|
69
|
+
PnLevelUpModal.style = PnLevelUpModalStyle0;
|
|
70
|
+
|
|
71
|
+
export { PnLevelUpModal as pn_level_up_modal };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=pn-level-up-modal.entry.js.map
|