@postnord/pn-marketweb-components 3.0.2 → 3.0.4
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-8d537d38.js → FetchHelper-dcfe4038.js} +122 -123
- package/cjs/FetchHelper-dcfe4038.js.map +1 -0
- package/cjs/loader.cjs.js +1 -1
- package/cjs/pn-address-autofill.cjs.entry.js +47 -49
- package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
- package/cjs/pn-animated-tile.cjs.entry.js +4 -4
- package/cjs/pn-animated-tile.cjs.entry.js.map +1 -1
- package/cjs/pn-app-banner.cjs.entry.js +15 -15
- package/cjs/pn-app-banner.cjs.entry.js.map +1 -1
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js +1 -1
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js.map +1 -1
- package/cjs/pn-bonus-progressbar.cjs.entry.js +1 -1
- package/cjs/pn-bonus-progressbar.cjs.entry.js.map +1 -1
- package/cjs/pn-breakpoints.cjs.entry.js +1 -1
- package/cjs/pn-breakpoints.cjs.entry.js.map +1 -1
- package/cjs/pn-chart.cjs.entry.js +47 -10
- package/cjs/pn-chart.cjs.entry.js.map +1 -1
- package/cjs/pn-charts-card.cjs.entry.js +7 -7
- package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
- package/cjs/pn-choice-button.cjs.entry.js +1 -1
- package/cjs/pn-choice-button.cjs.entry.js.map +1 -1
- package/cjs/pn-cta-block.cjs.entry.js +1 -1
- package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
- package/cjs/pn-customernumber-selector-option.cjs.entry.js +1 -1
- package/cjs/pn-customernumber-selector-option.cjs.entry.js.map +1 -1
- package/cjs/pn-customernumber-selector.cjs.entry.js +1 -1
- package/cjs/pn-customernumber-selector.cjs.entry.js.map +1 -1
- package/cjs/pn-date-and-time.cjs.entry.js +13 -15
- package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +33 -36
- 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 +13 -10
- 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 +46 -40
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
- package/cjs/pn-filter-checkbox.cjs.entry.js +2 -3
- package/cjs/pn-filter-checkbox.cjs.entry.js.map +1 -1
- package/cjs/pn-find-price.cjs.entry.js +1 -2
- package/cjs/pn-find-price.cjs.entry.js.map +1 -1
- package/cjs/pn-find-service-and-price.cjs.entry.js +2 -3
- 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 +83 -79
- package/cjs/pn-language-selector_9.cjs.entry.js.map +1 -1
- package/cjs/pn-line-shape.cjs.entry.js +1 -1
- package/cjs/pn-line-shape.cjs.entry.js.map +1 -1
- package/cjs/pn-link-list.cjs.entry.js +33 -37
- package/cjs/pn-link-list.cjs.entry.js.map +1 -1
- package/cjs/pn-mainnav-link.cjs.entry.js +2 -2
- package/cjs/pn-mainnav-link.cjs.entry.js.map +1 -1
- package/cjs/pn-market-web-components.cjs.js +1 -1
- package/cjs/pn-marketweb-input.cjs.entry.js +1 -2
- package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-search.cjs.entry.js +5 -1
- package/cjs/pn-marketweb-search.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js +18 -24
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js +17 -20
- package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +5 -5
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +22 -27
- package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
- package/cjs/pn-media-block.cjs.entry.js +31 -29
- package/cjs/pn-media-block.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +37 -45
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +40 -34
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
- package/cjs/pn-multiple-input.cjs.entry.js +9 -6
- package/cjs/pn-multiple-input.cjs.entry.js.map +1 -1
- package/cjs/pn-parcel-tracker.cjs.entry.js +1 -1
- package/cjs/pn-parcel-tracker.cjs.entry.js.map +1 -1
- package/cjs/pn-pex-pricefinder.cjs.entry.js +1 -1
- package/cjs/pn-pex-pricefinder.cjs.entry.js.map +1 -1
- package/cjs/pn-play-on-scroll.cjs.entry.js +19 -17
- package/cjs/pn-play-on-scroll.cjs.entry.js.map +1 -1
- package/cjs/pn-product-pricelist.cjs.entry.js +2 -3
- package/cjs/pn-product-pricelist.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js +2 -1
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-profile.cjs.entry.js +3 -1
- package/cjs/pn-profile-modal-profile.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-type.cjs.entry.js +1 -1
- package/cjs/pn-profile-modal-type.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal.cjs.entry.js +1 -1
- package/cjs/pn-profile-modal.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-selector-option.cjs.entry.js +1 -1
- package/cjs/pn-profile-selector-option.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-selector.cjs.entry.js +1 -1
- package/cjs/pn-profile-selector.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-findprice-result.cjs.entry.js +8 -12
- package/cjs/pn-proxio-findprice-result.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-findprice.cjs.entry.js +16 -23
- package/cjs/pn-proxio-findprice.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-pricegroup.cjs.entry.js +9 -13
- package/cjs/pn-proxio-pricegroup.cjs.entry.js.map +1 -1
- package/cjs/pn-quick-cta.cjs.entry.js +1 -1
- package/cjs/pn-quick-cta.cjs.entry.js.map +1 -1
- package/cjs/pn-quote-card.cjs.entry.js +1 -1
- package/cjs/pn-quote-card.cjs.entry.js.map +1 -1
- package/cjs/pn-scroll_2.cjs.entry.js +16 -15
- package/cjs/pn-scroll_2.cjs.entry.js.map +1 -1
- package/cjs/pn-share-item.cjs.entry.js +1 -1
- package/cjs/pn-share-item.cjs.entry.js.map +1 -1
- package/cjs/pn-share.cjs.entry.js +1 -1
- package/cjs/pn-share.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-level.cjs.entry.js +3 -4
- package/cjs/pn-sidenav-level.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-link.cjs.entry.js +2 -2
- package/cjs/pn-sidenav-link.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js +1 -1
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav.cjs.entry.js +1 -1
- package/cjs/pn-sidenav.cjs.entry.js.map +1 -1
- package/cjs/pn-site-footer_3.cjs.entry.js +1 -1
- package/cjs/pn-site-footer_3.cjs.entry.js.map +1 -1
- package/cjs/pn-spotlight.cjs.entry.js +1 -1
- package/cjs/pn-spotlight.cjs.entry.js.map +1 -1
- package/cjs/pn-stats-info-data.cjs.entry.js +5 -5
- package/cjs/pn-stats-info-data.cjs.entry.js.map +1 -1
- package/cjs/pn-teaser-card.cjs.entry.js +2 -3
- package/cjs/pn-teaser-card.cjs.entry.js.map +1 -1
- package/cjs/pn-titletag.cjs.entry.js +1 -1
- package/cjs/pn-titletag.cjs.entry.js.map +1 -1
- package/cjs/pn-usp-promoter.cjs.entry.js +1 -1
- package/cjs/pn-usp-promoter.cjs.entry.js.map +1 -1
- package/collection/components/animation/pn-animated-tile/pn-animated-tile.js +4 -3
- package/collection/components/animation/pn-animated-tile/pn-animated-tile.js.map +1 -1
- package/collection/components/animation/pn-play-on-scroll/pn-play-on-scroll.js +19 -16
- package/collection/components/animation/pn-play-on-scroll/pn-play-on-scroll.js.map +1 -1
- package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.js +11 -9
- package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.js.map +1 -1
- package/collection/components/animation/pn-scroll/pn-scroll.js +5 -4
- package/collection/components/animation/pn-scroll/pn-scroll.js.map +1 -1
- package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.js +1 -0
- package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.js.map +1 -1
- package/collection/components/cards/pn-quote-card/pn-quote-card.js +1 -0
- package/collection/components/cards/pn-quote-card/pn-quote-card.js.map +1 -1
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +2 -2
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js.map +1 -1
- package/collection/components/charts/pn-chart/pn-chart-helper.js +32 -7
- package/collection/components/charts/pn-chart/pn-chart-helper.js.map +1 -1
- package/collection/components/charts/pn-chart/pn-chart.js +15 -2
- package/collection/components/charts/pn-chart/pn-chart.js.map +1 -1
- package/collection/components/charts/pn-charts-card/pn-charts-card.js +7 -6
- package/collection/components/charts/pn-charts-card/pn-charts-card.js.map +1 -1
- package/collection/components/cta/pn-cta-block/pn-cta-block.js +1 -0
- package/collection/components/cta/pn-cta-block/pn-cta-block.js.map +1 -1
- package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.js +1 -0
- package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.js.map +1 -1
- package/collection/components/cta/pn-quick-cta/pn-quick-cta.js +1 -0
- package/collection/components/cta/pn-quick-cta/pn-quick-cta.js.map +1 -1
- package/collection/components/cta/pn-share/pn-share-item.js +1 -0
- package/collection/components/cta/pn-share/pn-share-item.js.map +1 -1
- package/collection/components/cta/pn-share/pn-share.js +1 -0
- package/collection/components/cta/pn-share/pn-share.js.map +1 -1
- package/collection/components/cta/pn-spotlight/pn-spotlight.js +1 -0
- package/collection/components/cta/pn-spotlight/pn-spotlight.js.map +1 -1
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.js +5 -5
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.js.map +1 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js +46 -47
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js +1 -0
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js.map +1 -1
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.js +1 -0
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.js.map +1 -1
- package/collection/components/input/pn-choice-button/pn-choice-button.js +1 -0
- package/collection/components/input/pn-choice-button/pn-choice-button.js.map +1 -1
- package/collection/components/input/pn-date-and-time/pn-date-and-time.js +13 -14
- package/collection/components/input/pn-date-and-time/pn-date-and-time.js.map +1 -1
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +51 -35
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.stories.js +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.js +13 -9
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js +46 -39
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.stories.js +1 -1
- package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.js +2 -2
- package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.js.map +1 -1
- package/collection/components/input/pn-marketweb-input/pn-marketweb-input.js +1 -2
- package/collection/components/input/pn-marketweb-input/pn-marketweb-input.js.map +1 -1
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +5 -0
- 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.js +37 -44
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js.map +1 -1
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js +40 -33
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js.map +1 -1
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.stories.js +1 -1
- package/collection/components/input/pn-multiple-input/pn-multiple-input.js +9 -5
- package/collection/components/input/pn-multiple-input/pn-multiple-input.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +17 -22
- 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-button.js +2 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js +5 -4
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.js +6 -7
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js +1 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +7 -8
- 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.js +7 -6
- 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.js +3 -2
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -0
- 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.js +21 -25
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +5 -22
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js.map +1 -1
- package/collection/components/media/pn-media-block/pn-media-block.js +31 -28
- package/collection/components/media/pn-media-block/pn-media-block.js.map +1 -1
- package/collection/components/minor/pn-app-banner/pn-app-banner.js +15 -14
- package/collection/components/minor/pn-app-banner/pn-app-banner.js.map +1 -1
- package/collection/components/minor/pn-swan/pn-swan.js +1 -0
- package/collection/components/minor/pn-swan/pn-swan.js.map +1 -1
- package/collection/components/minor/pn-titletag/pn-titletag.js +1 -0
- package/collection/components/minor/pn-titletag/pn-titletag.js.map +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -0
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js.map +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js +4 -2
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js.map +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js.map +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +2 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js.map +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js.map +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav.js +4 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav.js.map +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +3 -3
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js.map +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +2 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js.map +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js.map +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav.js.map +1 -1
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js +1 -0
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js.map +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -0
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js.map +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -0
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js.map +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +2 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js.map +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +3 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js.map +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js.map +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.js.map +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -0
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js.map +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -0
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.js.map +1 -1
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -0
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js.map +1 -1
- package/collection/components/widgets/pn-find-price/pn-find-price.js +1 -2
- package/collection/components/widgets/pn-find-price/pn-find-price.js.map +1 -1
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +2 -3
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js.map +1 -1
- package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +3 -2
- package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js.map +1 -1
- package/collection/components/widgets/pn-link-list/pn-link-list.js +33 -37
- package/collection/components/widgets/pn-link-list/pn-link-list.js.map +1 -1
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -0
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js.map +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -3
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js.map +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +8 -12
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js.map +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +15 -22
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js.map +1 -1
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +8 -12
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js.map +1 -1
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -0
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js.map +1 -1
- package/collection/globals/FetchHelper.js +35 -35
- package/collection/globals/FetchHelper.js.map +1 -1
- package/collection/globals/MarketWebContextService.js +86 -87
- package/collection/globals/MarketWebContextService.js.map +1 -1
- package/collection/globals/MarketWebLoginManager.js +60 -61
- package/collection/globals/MarketWebLoginManager.js.map +1 -1
- package/components/FetchHelper.js +121 -122
- package/components/FetchHelper.js.map +1 -1
- package/components/pn-address-autofill.js +46 -48
- package/components/pn-address-autofill.js.map +1 -1
- package/components/pn-animated-tile.js +4 -4
- package/components/pn-animated-tile.js.map +1 -1
- package/components/pn-app-banner.js +15 -15
- 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 +1 -1
- package/components/pn-breakpoints.js.map +1 -1
- package/components/pn-chart.js +47 -10
- package/components/pn-chart.js.map +1 -1
- package/components/pn-charts-card.js +7 -7
- package/components/pn-charts-card.js.map +1 -1
- 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 +1 -1
- package/components/pn-customernumber-selector-option.js.map +1 -1
- package/components/pn-customernumber-selector.js +1 -1
- package/components/pn-customernumber-selector.js.map +1 -1
- package/components/pn-date-and-time.js +13 -15
- package/components/pn-date-and-time.js.map +1 -1
- package/components/pn-dropdown-choice-adds-row.js +34 -36
- package/components/pn-dropdown-choice-adds-row.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows-row2.js +13 -10
- package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js +46 -40
- package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/components/pn-filter-checkbox2.js +2 -3
- package/components/pn-filter-checkbox2.js.map +1 -1
- package/components/pn-find-price.js +1 -2
- package/components/pn-find-price.js.map +1 -1
- package/components/pn-find-service-and-price.js +2 -3
- package/components/pn-find-service-and-price.js.map +1 -1
- package/components/pn-hero-block-international.js +3 -3
- package/components/pn-hero-block-international.js.map +1 -1
- package/components/pn-language-selector-option2.js +1 -0
- package/components/pn-language-selector-option2.js.map +1 -1
- package/components/pn-language-selector2.js +4 -3
- package/components/pn-language-selector2.js.map +1 -1
- package/components/pn-line-shape.js +1 -1
- package/components/pn-line-shape.js.map +1 -1
- package/components/pn-link-list.js +33 -37
- package/components/pn-link-list.js.map +1 -1
- package/components/pn-mainnav-level2.js +2 -2
- 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 +1 -1
- package/components/pn-mainnav-list2.js.map +1 -1
- package/components/pn-mainnav2.js +4 -1
- package/components/pn-mainnav2.js.map +1 -1
- package/components/pn-marketweb-input2.js +1 -2
- package/components/pn-marketweb-input2.js.map +1 -1
- package/components/pn-marketweb-search.js +5 -1
- package/components/pn-marketweb-search.js.map +1 -1
- package/components/pn-marketweb-sitefooter.js +17 -23
- package/components/pn-marketweb-sitefooter.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-button2.js +2 -1
- package/components/pn-marketweb-siteheader-login-button2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-linklist2.js +5 -5
- package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-links2.js +6 -8
- package/components/pn-marketweb-siteheader-login-links2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-mypage-button2.js +1 -1
- package/components/pn-marketweb-siteheader-login-mypage-button2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js +7 -9
- package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login2.js +67 -68
- package/components/pn-marketweb-siteheader-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader-search2.js +3 -3
- package/components/pn-marketweb-siteheader-search2.js.map +1 -1
- package/components/pn-marketweb-siteheader-unified-login2.js +1 -1
- package/components/pn-marketweb-siteheader-unified-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader.js +21 -26
- package/components/pn-marketweb-siteheader.js.map +1 -1
- package/components/pn-media-block.js +31 -29
- package/components/pn-media-block.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown-row2.js +37 -45
- package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown.js +40 -34
- package/components/pn-multi-row-connected-dropdown.js.map +1 -1
- package/components/pn-multiple-input.js +9 -6
- package/components/pn-multiple-input.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 +1 -1
- package/components/pn-pex-pricefinder.js.map +1 -1
- package/components/pn-play-on-scroll2.js +19 -17
- package/components/pn-play-on-scroll2.js.map +1 -1
- package/components/pn-product-pricelist.js +2 -3
- package/components/pn-product-pricelist.js.map +1 -1
- package/components/pn-profile-modal-customernumber.js +2 -1
- package/components/pn-profile-modal-customernumber.js.map +1 -1
- package/components/pn-profile-modal-profile.js +3 -1
- package/components/pn-profile-modal-profile.js.map +1 -1
- package/components/pn-profile-modal-type.js +1 -1
- package/components/pn-profile-modal-type.js.map +1 -1
- package/components/pn-profile-modal.js +1 -1
- package/components/pn-profile-modal.js.map +1 -1
- package/components/pn-profile-selector-option.js +1 -1
- package/components/pn-profile-selector-option.js.map +1 -1
- package/components/pn-profile-selector.js +1 -1
- package/components/pn-profile-selector.js.map +1 -1
- package/components/pn-proxio-findprice-result2.js +8 -12
- package/components/pn-proxio-findprice-result2.js.map +1 -1
- package/components/pn-proxio-findprice.js +15 -22
- package/components/pn-proxio-findprice.js.map +1 -1
- package/components/pn-proxio-pricegroup.js +8 -12
- package/components/pn-proxio-pricegroup.js.map +1 -1
- 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-scroll2.js +5 -5
- package/components/pn-scroll2.js.map +1 -1
- 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 +3 -4
- 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 +1 -1
- package/components/pn-sidenav-togglebutton.js.map +1 -1
- package/components/pn-sidenav.js +1 -1
- package/components/pn-sidenav.js.map +1 -1
- package/components/pn-site-selector2.js +1 -1
- 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 +5 -5
- package/components/pn-stats-info-data2.js.map +1 -1
- package/components/pn-swan2.js +1 -1
- package/components/pn-swan2.js.map +1 -1
- package/components/pn-teaser-card.js +2 -3
- package/components/pn-teaser-card.js.map +1 -1
- package/components/pn-titletag2.js +1 -1
- package/components/pn-titletag2.js.map +1 -1
- package/components/pn-usp-promoter.js +1 -1
- package/components/pn-usp-promoter.js.map +1 -1
- package/components/pn-video-overlay2.js +11 -10
- package/components/pn-video-overlay2.js.map +1 -1
- package/esm/{FetchHelper-03b37a44.js → FetchHelper-da579b12.js} +122 -123
- package/esm/FetchHelper-da579b12.js.map +1 -0
- package/esm/loader.js +1 -1
- package/esm/pn-address-autofill.entry.js +48 -50
- package/esm/pn-address-autofill.entry.js.map +1 -1
- package/esm/pn-animated-tile.entry.js +5 -5
- package/esm/pn-animated-tile.entry.js.map +1 -1
- package/esm/pn-app-banner.entry.js +16 -16
- 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 +2 -2
- package/esm/pn-breakpoints.entry.js.map +1 -1
- package/esm/pn-chart.entry.js +48 -11
- package/esm/pn-chart.entry.js.map +1 -1
- package/esm/pn-charts-card.entry.js +8 -8
- package/esm/pn-charts-card.entry.js.map +1 -1
- 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 +2 -2
- package/esm/pn-customernumber-selector-option.entry.js.map +1 -1
- package/esm/pn-customernumber-selector.entry.js +2 -2
- package/esm/pn-customernumber-selector.entry.js.map +1 -1
- package/esm/pn-date-and-time.entry.js +14 -16
- package/esm/pn-date-and-time.entry.js.map +1 -1
- package/esm/pn-dropdown-choice-adds-row.entry.js +34 -37
- package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +14 -11
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows.entry.js +47 -41
- package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
- package/esm/pn-filter-checkbox.entry.js +3 -4
- package/esm/pn-filter-checkbox.entry.js.map +1 -1
- package/esm/pn-find-price.entry.js +1 -2
- package/esm/pn-find-price.entry.js.map +1 -1
- package/esm/pn-find-service-and-price.entry.js +2 -3
- package/esm/pn-find-service-and-price.entry.js.map +1 -1
- package/esm/pn-hero-block-international.entry.js +4 -4
- package/esm/pn-hero-block-international.entry.js.map +1 -1
- package/esm/pn-language-selector_9.entry.js +84 -80
- package/esm/pn-language-selector_9.entry.js.map +1 -1
- 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 +33 -37
- package/esm/pn-link-list.entry.js.map +1 -1
- package/esm/pn-mainnav-link.entry.js +3 -3
- package/esm/pn-mainnav-link.entry.js.map +1 -1
- package/esm/pn-market-web-components.js +1 -1
- package/esm/pn-marketweb-input.entry.js +1 -2
- package/esm/pn-marketweb-input.entry.js.map +1 -1
- package/esm/pn-marketweb-search.entry.js +6 -2
- package/esm/pn-marketweb-search.entry.js.map +1 -1
- package/esm/pn-marketweb-sitefooter.entry.js +19 -25
- package/esm/pn-marketweb-sitefooter.entry.js.map +1 -1
- package/esm/pn-marketweb-siteheader-login-button_5.entry.js +18 -21
- package/esm/pn-marketweb-siteheader-login-button_5.entry.js.map +1 -1
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js +6 -6
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +23 -28
- package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
- package/esm/pn-media-block.entry.js +32 -30
- package/esm/pn-media-block.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown-row.entry.js +38 -46
- package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown.entry.js +41 -35
- package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
- package/esm/pn-multiple-input.entry.js +10 -7
- package/esm/pn-multiple-input.entry.js.map +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 +2 -2
- package/esm/pn-pex-pricefinder.entry.js.map +1 -1
- package/esm/pn-play-on-scroll.entry.js +20 -18
- package/esm/pn-play-on-scroll.entry.js.map +1 -1
- package/esm/pn-product-pricelist.entry.js +2 -3
- package/esm/pn-product-pricelist.entry.js.map +1 -1
- package/esm/pn-profile-modal-customernumber.entry.js +3 -2
- package/esm/pn-profile-modal-customernumber.entry.js.map +1 -1
- package/esm/pn-profile-modal-profile.entry.js +4 -2
- package/esm/pn-profile-modal-profile.entry.js.map +1 -1
- package/esm/pn-profile-modal-type.entry.js +2 -2
- package/esm/pn-profile-modal-type.entry.js.map +1 -1
- package/esm/pn-profile-modal.entry.js +2 -2
- package/esm/pn-profile-modal.entry.js.map +1 -1
- package/esm/pn-profile-selector-option.entry.js +2 -2
- package/esm/pn-profile-selector-option.entry.js.map +1 -1
- package/esm/pn-profile-selector.entry.js +2 -2
- package/esm/pn-profile-selector.entry.js.map +1 -1
- package/esm/pn-proxio-findprice-result.entry.js +8 -12
- package/esm/pn-proxio-findprice-result.entry.js.map +1 -1
- package/esm/pn-proxio-findprice.entry.js +16 -23
- package/esm/pn-proxio-findprice.entry.js.map +1 -1
- package/esm/pn-proxio-pricegroup.entry.js +9 -13
- package/esm/pn-proxio-pricegroup.entry.js.map +1 -1
- 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 +17 -16
- package/esm/pn-scroll_2.entry.js.map +1 -1
- 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 +4 -5
- package/esm/pn-sidenav-level.entry.js.map +1 -1
- package/esm/pn-sidenav-link.entry.js +3 -3
- package/esm/pn-sidenav-link.entry.js.map +1 -1
- package/esm/pn-sidenav-togglebutton.entry.js +2 -2
- package/esm/pn-sidenav-togglebutton.entry.js.map +1 -1
- package/esm/pn-sidenav.entry.js +2 -2
- package/esm/pn-sidenav.entry.js.map +1 -1
- package/esm/pn-site-footer_3.entry.js +1 -1
- 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 +5 -5
- package/esm/pn-stats-info-data.entry.js.map +1 -1
- package/esm/pn-teaser-card.entry.js +3 -4
- package/esm/pn-teaser-card.entry.js.map +1 -1
- package/esm/pn-titletag.entry.js +2 -2
- package/esm/pn-titletag.entry.js.map +1 -1
- package/esm/pn-usp-promoter.entry.js +2 -2
- package/esm/pn-usp-promoter.entry.js.map +1 -1
- package/package.json +1 -2
- package/pn-market-web-components/{p-8ca34ec3.entry.js → p-0247c553.entry.js} +2 -2
- package/pn-market-web-components/p-0247c553.entry.js.map +1 -0
- package/pn-market-web-components/{p-3f50be05.entry.js → p-09b9cc06.entry.js} +2 -2
- package/pn-market-web-components/{p-3f50be05.entry.js.map → p-09b9cc06.entry.js.map} +1 -1
- package/pn-market-web-components/{p-03dfc155.entry.js → p-0a522476.entry.js} +2 -2
- package/pn-market-web-components/{p-03dfc155.entry.js.map → p-0a522476.entry.js.map} +1 -1
- package/pn-market-web-components/{p-2b2b615e.entry.js → p-1317587f.entry.js} +4 -4
- package/pn-market-web-components/{p-2b2b615e.entry.js.map → p-1317587f.entry.js.map} +1 -1
- package/pn-market-web-components/p-1535a09f.entry.js +2 -0
- package/pn-market-web-components/p-1535a09f.entry.js.map +1 -0
- package/pn-market-web-components/{p-470ca6e7.entry.js → p-1578e02e.entry.js} +2 -2
- package/pn-market-web-components/{p-470ca6e7.entry.js.map → p-1578e02e.entry.js.map} +1 -1
- package/pn-market-web-components/p-16f70311.entry.js +2 -0
- package/pn-market-web-components/{p-b7a5fb1b.entry.js.map → p-16f70311.entry.js.map} +1 -1
- package/pn-market-web-components/{p-c8bbdd96.entry.js → p-190c671b.entry.js} +2 -2
- package/pn-market-web-components/{p-c8bbdd96.entry.js.map → p-190c671b.entry.js.map} +1 -1
- package/pn-market-web-components/{p-3e4208bb.entry.js → p-1bd5fa26.entry.js} +2 -2
- package/pn-market-web-components/{p-3e4208bb.entry.js.map → p-1bd5fa26.entry.js.map} +1 -1
- package/pn-market-web-components/{p-e74e962e.entry.js → p-2044eddc.entry.js} +2 -2
- package/pn-market-web-components/{p-e74e962e.entry.js.map → p-2044eddc.entry.js.map} +1 -1
- package/pn-market-web-components/p-370829c6.entry.js +2 -0
- package/pn-market-web-components/p-370829c6.entry.js.map +1 -0
- package/pn-market-web-components/p-391970af.entry.js +2 -0
- package/pn-market-web-components/p-391970af.entry.js.map +1 -0
- package/pn-market-web-components/{p-49fd7182.entry.js → p-40538914.entry.js} +2 -2
- package/pn-market-web-components/{p-49fd7182.entry.js.map → p-40538914.entry.js.map} +1 -1
- package/pn-market-web-components/{p-fa9ea740.entry.js → p-4372d10e.entry.js} +2 -2
- package/pn-market-web-components/p-4372d10e.entry.js.map +1 -0
- package/pn-market-web-components/p-4ea1409d.entry.js +2 -0
- package/pn-market-web-components/p-4ea1409d.entry.js.map +1 -0
- package/pn-market-web-components/{p-66981606.entry.js → p-56bd346e.entry.js} +2 -2
- package/pn-market-web-components/{p-66981606.entry.js.map → p-56bd346e.entry.js.map} +1 -1
- package/pn-market-web-components/p-586a1e3c.entry.js +2 -0
- package/pn-market-web-components/{p-f8eb860b.entry.js.map → p-586a1e3c.entry.js.map} +1 -1
- package/pn-market-web-components/{p-baa28521.entry.js → p-5a467ca6.entry.js} +2 -2
- package/pn-market-web-components/{p-baa28521.entry.js.map → p-5a467ca6.entry.js.map} +1 -1
- package/pn-market-web-components/p-5ac23b38.entry.js +2 -0
- package/pn-market-web-components/p-5ac23b38.entry.js.map +1 -0
- package/pn-market-web-components/{p-7fdc49d1.entry.js → p-63505736.entry.js} +2 -2
- package/pn-market-web-components/p-63505736.entry.js.map +1 -0
- package/pn-market-web-components/{p-3696ebf8.entry.js → p-67d862ac.entry.js} +2 -2
- package/pn-market-web-components/{p-3696ebf8.entry.js.map → p-67d862ac.entry.js.map} +1 -1
- package/pn-market-web-components/{p-3d3f0648.entry.js → p-68aa55f7.entry.js} +2 -2
- package/pn-market-web-components/{p-3d3f0648.entry.js.map → p-68aa55f7.entry.js.map} +1 -1
- package/pn-market-web-components/{p-d2109ea6.entry.js → p-6e9875e5.entry.js} +2 -2
- package/pn-market-web-components/p-6e9875e5.entry.js.map +1 -0
- package/pn-market-web-components/p-7021985c.entry.js +2 -0
- package/pn-market-web-components/{p-c64cb117.entry.js.map → p-7021985c.entry.js.map} +1 -1
- package/pn-market-web-components/{p-716165d2.entry.js → p-721598b8.entry.js} +2 -2
- package/pn-market-web-components/p-721598b8.entry.js.map +1 -0
- package/pn-market-web-components/p-73cef33c.js +2 -0
- package/pn-market-web-components/p-73cef33c.js.map +1 -0
- package/pn-market-web-components/p-74203d3e.entry.js +2 -0
- package/pn-market-web-components/{p-545ea4ef.entry.js.map → p-74203d3e.entry.js.map} +1 -1
- package/pn-market-web-components/p-781ef432.entry.js +2 -0
- package/pn-market-web-components/p-781ef432.entry.js.map +1 -0
- package/pn-market-web-components/{p-3a08299c.entry.js → p-78fbc88c.entry.js} +2 -2
- package/pn-market-web-components/{p-3a08299c.entry.js.map → p-78fbc88c.entry.js.map} +1 -1
- package/pn-market-web-components/{p-22a65c3e.entry.js → p-796ebfee.entry.js} +2 -2
- package/pn-market-web-components/p-796ebfee.entry.js.map +1 -0
- package/pn-market-web-components/p-7b05d7c7.entry.js +2 -0
- package/pn-market-web-components/p-7b05d7c7.entry.js.map +1 -0
- package/pn-market-web-components/{p-6b2009dc.entry.js → p-81b3e038.entry.js} +2 -2
- package/pn-market-web-components/{p-6b2009dc.entry.js.map → p-81b3e038.entry.js.map} +1 -1
- package/pn-market-web-components/p-828449da.entry.js +2 -0
- package/pn-market-web-components/{p-db2f3f6d.entry.js.map → p-828449da.entry.js.map} +1 -1
- package/pn-market-web-components/p-85d57c9d.entry.js +2 -0
- package/pn-market-web-components/p-85d57c9d.entry.js.map +1 -0
- package/pn-market-web-components/p-90ba1d8e.entry.js +2 -0
- package/pn-market-web-components/{p-655e6f71.entry.js.map → p-90ba1d8e.entry.js.map} +1 -1
- package/pn-market-web-components/{p-eee5ec0a.entry.js → p-931d3a9b.entry.js} +2 -2
- package/pn-market-web-components/{p-eee5ec0a.entry.js.map → p-931d3a9b.entry.js.map} +1 -1
- package/pn-market-web-components/{p-9a93bcd0.entry.js → p-95c10b7e.entry.js} +2 -2
- package/pn-market-web-components/{p-9a93bcd0.entry.js.map → p-95c10b7e.entry.js.map} +1 -1
- package/pn-market-web-components/{p-138ecede.entry.js → p-95e054fd.entry.js} +2 -2
- package/pn-market-web-components/{p-138ecede.entry.js.map → p-95e054fd.entry.js.map} +1 -1
- package/pn-market-web-components/p-9776a1c5.entry.js +2 -0
- package/pn-market-web-components/p-9776a1c5.entry.js.map +1 -0
- package/pn-market-web-components/{p-db2e2762.entry.js → p-9998c29d.entry.js} +2 -2
- package/pn-market-web-components/p-9998c29d.entry.js.map +1 -0
- package/pn-market-web-components/p-9a7abcee.entry.js +2 -0
- package/pn-market-web-components/p-9a7abcee.entry.js.map +1 -0
- package/pn-market-web-components/{p-0dca82de.entry.js → p-9be27d72.entry.js} +2 -2
- package/pn-market-web-components/{p-0dca82de.entry.js.map → p-9be27d72.entry.js.map} +1 -1
- package/pn-market-web-components/{p-48f6e683.entry.js → p-a8220c88.entry.js} +2 -2
- package/pn-market-web-components/{p-48f6e683.entry.js.map → p-a8220c88.entry.js.map} +1 -1
- package/pn-market-web-components/p-a9d2f528.entry.js +2 -0
- package/pn-market-web-components/p-a9d2f528.entry.js.map +1 -0
- package/pn-market-web-components/p-acbe60df.entry.js +2 -0
- package/pn-market-web-components/p-acbe60df.entry.js.map +1 -0
- package/pn-market-web-components/{p-5666f0e7.entry.js → p-ade7ffcf.entry.js} +2 -2
- package/pn-market-web-components/p-ade7ffcf.entry.js.map +1 -0
- package/pn-market-web-components/p-b2dcce7c.entry.js +2 -0
- package/pn-market-web-components/p-b2dcce7c.entry.js.map +1 -0
- package/pn-market-web-components/{p-10a3c6f4.entry.js → p-b765e4a9.entry.js} +2 -2
- package/pn-market-web-components/p-b765e4a9.entry.js.map +1 -0
- package/pn-market-web-components/{p-914e1d15.entry.js → p-c224d7c4.entry.js} +2 -2
- package/pn-market-web-components/p-c224d7c4.entry.js.map +1 -0
- package/pn-market-web-components/{p-787e20a1.entry.js → p-c5856c0b.entry.js} +2 -2
- package/pn-market-web-components/{p-787e20a1.entry.js.map → p-c5856c0b.entry.js.map} +1 -1
- package/pn-market-web-components/p-c696bedf.entry.js +2 -0
- package/pn-market-web-components/{p-012ee486.entry.js.map → p-c696bedf.entry.js.map} +1 -1
- package/pn-market-web-components/p-c9f21ea3.entry.js +2 -0
- package/pn-market-web-components/{p-03cb46c2.entry.js.map → p-c9f21ea3.entry.js.map} +1 -1
- package/pn-market-web-components/{p-87aa1f73.entry.js → p-d07cf4c8.entry.js} +2 -2
- package/pn-market-web-components/{p-87aa1f73.entry.js.map → p-d07cf4c8.entry.js.map} +1 -1
- package/pn-market-web-components/p-d40ff187.entry.js +2 -0
- package/pn-market-web-components/p-d40ff187.entry.js.map +1 -0
- package/pn-market-web-components/{p-f21fdae0.entry.js → p-e42f0fbe.entry.js} +2 -2
- package/pn-market-web-components/{p-f21fdae0.entry.js.map → p-e42f0fbe.entry.js.map} +1 -1
- package/pn-market-web-components/{p-4f2a7d41.entry.js → p-e4c7aaec.entry.js} +2 -2
- package/pn-market-web-components/{p-4f2a7d41.entry.js.map → p-e4c7aaec.entry.js.map} +1 -1
- package/pn-market-web-components/{p-107568aa.entry.js → p-e5345c69.entry.js} +2 -2
- package/pn-market-web-components/p-e5345c69.entry.js.map +1 -0
- package/pn-market-web-components/p-e9501c6f.entry.js +2 -0
- package/pn-market-web-components/p-e9501c6f.entry.js.map +1 -0
- package/pn-market-web-components/{p-fa3ccbfb.entry.js → p-ebaeee5e.entry.js} +2 -2
- package/pn-market-web-components/{p-fa3ccbfb.entry.js.map → p-ebaeee5e.entry.js.map} +1 -1
- package/pn-market-web-components/{p-9de267ec.entry.js → p-f2d0d0cc.entry.js} +2 -2
- package/pn-market-web-components/{p-9de267ec.entry.js.map → p-f2d0d0cc.entry.js.map} +1 -1
- package/pn-market-web-components/{p-da953848.entry.js → p-f62879f6.entry.js} +2 -2
- package/pn-market-web-components/p-f62879f6.entry.js.map +1 -0
- package/pn-market-web-components/{p-ec3fcbf9.entry.js → p-fbc07c7a.entry.js} +2 -2
- package/pn-market-web-components/{p-ec3fcbf9.entry.js.map → p-fbc07c7a.entry.js.map} +1 -1
- package/pn-market-web-components/p-fbe70284.entry.js +2 -0
- package/pn-market-web-components/{p-663e4bb8.entry.js.map → p-fbe70284.entry.js.map} +1 -1
- 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/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.d.ts +1 -0
- package/types/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.d.ts +1 -1
- package/types/components.d.ts +2 -0
- package/umd/standalone-loader-salesforce.js +3 -3
- package/umd/standalone-loader.js +2 -2
- package/cjs/FetchHelper-8d537d38.js.map +0 -1
- package/esm/FetchHelper-03b37a44.js.map +0 -1
- package/pn-market-web-components/p-012ee486.entry.js +0 -2
- package/pn-market-web-components/p-03cb46c2.entry.js +0 -2
- package/pn-market-web-components/p-07253be3.entry.js +0 -2
- package/pn-market-web-components/p-07253be3.entry.js.map +0 -1
- package/pn-market-web-components/p-08a64973.entry.js +0 -2
- package/pn-market-web-components/p-08a64973.entry.js.map +0 -1
- package/pn-market-web-components/p-107568aa.entry.js.map +0 -1
- package/pn-market-web-components/p-10a3c6f4.entry.js.map +0 -1
- package/pn-market-web-components/p-161970d1.entry.js +0 -2
- package/pn-market-web-components/p-161970d1.entry.js.map +0 -1
- package/pn-market-web-components/p-22a65c3e.entry.js.map +0 -1
- package/pn-market-web-components/p-23916c49.entry.js +0 -2
- package/pn-market-web-components/p-23916c49.entry.js.map +0 -1
- package/pn-market-web-components/p-2ac83614.entry.js +0 -2
- package/pn-market-web-components/p-2ac83614.entry.js.map +0 -1
- package/pn-market-web-components/p-2fd40198.entry.js +0 -2
- package/pn-market-web-components/p-2fd40198.entry.js.map +0 -1
- package/pn-market-web-components/p-545ea4ef.entry.js +0 -2
- package/pn-market-web-components/p-5666f0e7.entry.js.map +0 -1
- package/pn-market-web-components/p-655e6f71.entry.js +0 -2
- package/pn-market-web-components/p-657957fc.entry.js +0 -2
- package/pn-market-web-components/p-657957fc.entry.js.map +0 -1
- package/pn-market-web-components/p-663e4bb8.entry.js +0 -2
- package/pn-market-web-components/p-67089fc8.entry.js +0 -2
- package/pn-market-web-components/p-67089fc8.entry.js.map +0 -1
- package/pn-market-web-components/p-716165d2.entry.js.map +0 -1
- package/pn-market-web-components/p-7fdc49d1.entry.js.map +0 -1
- package/pn-market-web-components/p-8ca34ec3.entry.js.map +0 -1
- package/pn-market-web-components/p-914e1d15.entry.js.map +0 -1
- package/pn-market-web-components/p-b7a5fb1b.entry.js +0 -2
- package/pn-market-web-components/p-be6e903e.entry.js +0 -2
- package/pn-market-web-components/p-be6e903e.entry.js.map +0 -1
- package/pn-market-web-components/p-bece6791.entry.js +0 -2
- package/pn-market-web-components/p-bece6791.entry.js.map +0 -1
- package/pn-market-web-components/p-c64cb117.entry.js +0 -2
- package/pn-market-web-components/p-c95def57.js +0 -2
- package/pn-market-web-components/p-c95def57.js.map +0 -1
- package/pn-market-web-components/p-d2109ea6.entry.js.map +0 -1
- package/pn-market-web-components/p-da0c533f.entry.js +0 -2
- package/pn-market-web-components/p-da0c533f.entry.js.map +0 -1
- package/pn-market-web-components/p-da953848.entry.js.map +0 -1
- package/pn-market-web-components/p-db2e2762.entry.js.map +0 -1
- package/pn-market-web-components/p-db2f3f6d.entry.js +0 -2
- package/pn-market-web-components/p-e0f4dc3d.entry.js +0 -2
- package/pn-market-web-components/p-e0f4dc3d.entry.js.map +0 -1
- package/pn-market-web-components/p-e8189227.entry.js +0 -2
- package/pn-market-web-components/p-e8189227.entry.js.map +0 -1
- package/pn-market-web-components/p-e9088d97.entry.js +0 -2
- package/pn-market-web-components/p-e9088d97.entry.js.map +0 -1
- package/pn-market-web-components/p-f8eb860b.entry.js +0 -2
- package/pn-market-web-components/p-fa9ea740.entry.js.map +0 -1
- package/pn-market-web-components/p-fd639f58.entry.js +0 -2
- package/pn-market-web-components/p-fd639f58.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["icon","angle_small_right","close","globe","user","translations","sv","heading","en","da","no","fi","de","zh","fr","es","nl","it","tr","pl","pt","pnLanguageSelectorCss","PnLanguageSelectorStyle0","PnlanguageSelector","setLanguage","componentWillLoad","this","setInitialSelectedLanguageName","setTranslations","componentDidLoad","initialize","setSelectedLanguageName","addEventBindingsToOptions","window","Intl","value","langs","DisplayNames","type","languageName","of","selectedLanguageName","charAt","toUpperCase","slice","options","apply","hostElement","querySelectorAll","map","option","removeEventListener","event","onSetCurrentLanguage","detail","addEventListener","getAttribute","code","name","emit","i18n","onValueChange","components","forEach","component","isSelected","setAttribute","render","h","Host","key","label","appearance","variant","class","role","pnLanguageSelectorOptionCss","PnLanguageSelectorOptionStyle0","PnlanguageSelectorOption","setCurrentLanguage","onOptionClick","currentlanguage","url","current","selected","onClick","bind","href","target","menuHomeButton","menuGoBackButton","mainMenuButton","menuStartButton","navLabel","pnMainnavCss","PnMainnavStyle0","PnMainnav","menuLanguageChange","marketChange","menuOpenChange","init","document","_onClickOutside","setMarket","clickedOutside","contains","state","openLevel","language","market","onLanguageChange","setMenuOpenState","openMenu","onOpenMenuLevelChange","navigationId","bars","color","currentLevel","id","pnMainnavLevelCss","PnMainnavLevelStyle0","PnMainnavLevel","setState","onChange","onChangeOpenLevel","listCount","length","parentElm","parentElement","tagName","toLowerCase","level","parentName","parentHref","parentLinkId","parentLinkName","replace","levelId","onOpen","requestAnimationFrame","levelClientRect","getClientRects","navElm","navClientRect","right","innerWidth","levelParentRect","left","width","alignment","isOpen","htmlFor","arrow_left","linkid","pnMainnavListCss","PnMainnavListStyle0","PnMainnavList","linkCount","MarketWebLoginManager","eventTarget","body","endpoint","storagePrefix","checkUserLoggedInStateInterval","baseUrls","at","prod","events","loginstatechange","endpoints","authorizationEndpoint","tokenExchangeEndpoint","userInfoEndpoint","logoutEndpoint","keys","tokensource","token","accessToken","expire","expireDate","overridetokenValue","siteUrl","location","origin","abortSignalForLoginCheck","loginCheckInProgress","loginCheckTimer","constructor","protocol","host","parseInt","userInfo","store","set","registerToken","checkParameters","checkPNTopbar","checkExpireTime","get","fetchUserInfo","loginStateChange","initiateLoggedInCheck","setSiteUrl","isLoggedIn","AbortController","setInterval","doExternalLoggedInCheck","then","catch","navigator","onLine","getToken","clearInterval","abort","reqConfig","method","headers","Accept","Authorization","response","fetch","getBaseUrl","status","console","log","LogoutUser","ok","data","json","clearUserData","logoutLink","querySelector","click","currentPageHref","getLogoutUrl","override","tokenSource","invalidateTokenOfType","currentToken","currentTokenSource","getLoginUrl","redirectPage","currentPage","linkHref","indexOf","rootUrl","URL","e","addSlash","lastIndexOf","secondLogoutUrl","logoutUrl","getUserInfo","getEventTarget","now","Date","Math","floor","info","params","URLSearchParams","search","oneTimeCode","exchangeToken","currentHref","paramPrefix","newUrl","history","replaceState","innerText","idToken","expiryTime","parseUserInfo","error","remove","getAccessToken","dispatchEvent","CustomEvent","atEnvironments","useATEnv","filter","x","hostname","base64Url","split","base64","jsonPayload","decodeURIComponent","atob","c","charCodeAt","toString","join","JSON","parse","sessionStorage","getItem","setItem","stringify","removeItem","pnMarketwebSiteheaderLoginCss","PnMarketwebSiteheaderLoginStyle0","PnMarketwebSiteheaderLogin","searchlabel","searchplaceholder","searchbuttontext","profileSelectionFlyoutHeading","unifiedLoginButton","unifiedMyPagesButton","loginDialog","loginMenuLinkText","fullname","loggedin","given_name","headerState","loginManager","emitEvents","onLoginStateChange","setUserName","setToggleButtonText","adjustLoginLinks","loginMenuLinks","adjustLink","link","i","isLogoutLink","pageLink","linkType","primaryLinkApperance","loggedInLinks","legacyLoginLinks","loginUrl","linkText","loginLinkText","openInNewWindow","registerUrl","createLoginLinkText","username","family_name","email","toggleButtonText","loggedInButtonText","loggedIn","hostElementAttribute","showUnifiedLogin","myPageLabel","myPageUrl","logInLabel","showProfileSelection","idNamespace","innerHTML","loginInfo","createStore","searchValue","autocompleteSuggestions","requestAbortController","pnMarketwebSiteheaderSearchCss","PnMarketwebSiteheaderSearchStyle0","PnMarketwebSiteheaderSearch","onSearchValueUpdate","getAutocomplete","prefix","AutocompleteEndpoint","autoCompleteOptions","setAutocompleteSuggestions","autocompleteUrl","siteid","req","signal","warn","hits","suggestions","item","query","componentDidRender","inputSearchElm","formActionUrl","hideSearch","autocompleteAttribute","list","showOnlyLink","tooltip","action","button","icononly","placeholder","onUpdate","onSearch","form","submit","primary","languageData","navlabel","pnSiteSelectorCss","PnSiteSelectorStyle0","PnSiteSelector","buttontext","angle_small_down","pnSiteSelectorItemCss","PnSiteSelectorItemStyle0","PnSiteSelectorItem","newwindow","rel","description"],"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 <nav 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 </nav>\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 @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 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 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 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) {\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 role=\"navigation\"\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 // 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.'];\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.sessionStorage.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.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));\n return;\n }\n window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);\n },\n remove: (key: string) => {\n window.sessionStorage.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 // 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.href);\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\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 />\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 && <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 <nav class=\"siteselector-nav\" aria-label={this.i18n.navlabel}>\n {this.heading ? <strong class=\"siteselector-heading\">{this.heading}</strong> : null}\n <ul class=\"siteselector-list\">\n <slot />\n </ul>\n </nav>\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=\"listitem\">\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,g as o,h as n,d as r}from"./p-06555615.js";const t='pn-breakpoints{width:100%}pn-breakpoints .breakpoints--dotcom{width:100%;background-color:aliceblue;text-align:center;margin-bottom:2.4rem;background-color:aliceblue}pn-breakpoints .breakpoints--dotcom .reference::before{content:"less than 321"}@media screen and (min-width: 321px){pn-breakpoints .breakpoints--dotcom{background-color:yellow}pn-breakpoints .breakpoints--dotcom .reference::before{content:"321 (xs)"}}@media screen and (min-width: 576px){pn-breakpoints .breakpoints--dotcom{background-color:aqua}pn-breakpoints .breakpoints--dotcom .reference::before{content:"576 (sm)"}}@media screen and (min-width: 768px){pn-breakpoints .breakpoints--dotcom{background-color:red;color:#fff}pn-breakpoints .breakpoints--dotcom .reference::before{content:"768 (md)"}}@media screen and (min-width: 992px){pn-breakpoints .breakpoints--dotcom{background-color:green;color:#fff}pn-breakpoints .breakpoints--dotcom .reference::before{content:"992 (lg)"}}@media screen and (min-width: 1200px){pn-breakpoints .breakpoints--dotcom{background-color:blue;color:#fff}pn-breakpoints .breakpoints--dotcom .reference::before{content:"1200 (xl)"}}@media screen and (min-width: 1640px){pn-breakpoints .breakpoints--dotcom{background-color:pink}pn-breakpoints .breakpoints--dotcom .reference::before{content:"1640 (xxl)"}}@media screen and (min-width: 1920px){pn-breakpoints .breakpoints--dotcom{background-color:orange}pn-breakpoints .breakpoints--dotcom .reference::before{content:"1920 (fhd)"}}';const a=t;const c=class{constructor(o){e(this,o);this.currentWidth=window.innerWidth;this.breakPointClass="dotcom"}get hostElement(){return o(this)}handleViewportSizeChange(e){this.currentWidth=e.target.innerWidth}createBreakpointClass(){return`breakpoints--${this.breakPointClass}`}render(){return n(r,{key:"6c68864c9882c8a662af98af71e89a6137265316"},n("div",{key:"a7bdbe403e294e044481c46ae5018f94e10f7557",class:`breakpoints ${this.createBreakpointClass()} `},`${this.currentWidth} px`," min-width: ",n("span",{key:"7090660a5baca990abc27b7cb3fb059f8755f97a",class:"reference"}," px")))}};c.style=a;export{c as pn_breakpoints};
|
|
2
|
+
//# sourceMappingURL=p-56bd346e.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pnBreakpointsCss","PnBreakpointsStyle0","PnBreakpoints","window","innerWidth","handleViewportSizeChange","event","this","currentWidth","target","createBreakpointClass","breakPointClass","render","h","Host","key","class"],"sources":["src/components/utilities/pn-breakpoints/pn-breakpoints.scss?tag=pn-breakpoints","src/components/utilities/pn-breakpoints/pn-breakpoints.tsx"],"sourcesContent":["pn-breakpoints {\n width: 100%;\n .breakpoints {\n &--dotcom {\n width: 100%;\n background-color: aliceblue;\n text-align: center;\n margin-bottom: 2.4rem;\n\n background-color: aliceblue;\n .reference::before {\n content: 'less than 321';\n }\n\n @media screen and (min-width: 321px) {\n background-color: yellow;\n .reference::before {\n content: '321 (xs)';\n }\n }\n\n @media screen and (min-width: 576px) {\n background-color: aqua;\n .reference::before {\n content: '576 (sm)';\n }\n }\n\n @media screen and (min-width: 768px) {\n background-color: red;\n color: #fff;\n .reference::before {\n content: '768 (md)';\n }\n }\n\n @media screen and (min-width: 992px) {\n background-color: green;\n color: #fff;\n .reference::before {\n content: '992 (lg)';\n }\n }\n\n @media screen and (min-width: 1200px) {\n background-color: blue;\n color: #fff;\n .reference::before {\n content: '1200 (xl)';\n }\n }\n\n @media screen and (min-width: 1640px) {\n background-color: pink;\n .reference::before {\n content: '1640 (xxl)';\n }\n }\n\n @media screen and (min-width: 1920px) {\n background-color: orange;\n .reference::before {\n content: '1920 (fhd)';\n }\n }\n }\n\n &--tpl {\n //define breakpoints here\n }\n }\n}\n","import { Component, Element, h, Host, Listen, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'pn-breakpoints',\n styleUrl: 'pn-breakpoints.scss',\n})\nexport class PnBreakpoints {\n @Element() hostElement: HTMLElement;\n @State() currentWidth: number = window.innerWidth;\n @Prop() breakPointClass: string = 'dotcom';\n\n @Listen('resize', { target: 'window' })\n handleViewportSizeChange(event: any) {\n this.currentWidth = event.target.innerWidth;\n }\n\n createBreakpointClass() {\n return `breakpoints--${this.breakPointClass}`;\n }\n\n render() {\n return (\n <Host>\n <div class={`breakpoints ${this.createBreakpointClass()} `}>\n {`${this.currentWidth} px`}\n {' min-width: '}\n <span class=\"reference\">{' px'}</span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAmB,28CACzB,MAAAC,EAAeD,E,MCKFE,EAAa,M,2CAEQC,OAAOC,W,qBACL,Q,
|
|
1
|
+
{"version":3,"names":["pnBreakpointsCss","PnBreakpointsStyle0","PnBreakpoints","window","innerWidth","handleViewportSizeChange","event","this","currentWidth","target","createBreakpointClass","breakPointClass","render","h","Host","key","class"],"sources":["src/components/utilities/pn-breakpoints/pn-breakpoints.scss?tag=pn-breakpoints","src/components/utilities/pn-breakpoints/pn-breakpoints.tsx"],"sourcesContent":["pn-breakpoints {\n width: 100%;\n .breakpoints {\n &--dotcom {\n width: 100%;\n background-color: aliceblue;\n text-align: center;\n margin-bottom: 2.4rem;\n\n background-color: aliceblue;\n .reference::before {\n content: 'less than 321';\n }\n\n @media screen and (min-width: 321px) {\n background-color: yellow;\n .reference::before {\n content: '321 (xs)';\n }\n }\n\n @media screen and (min-width: 576px) {\n background-color: aqua;\n .reference::before {\n content: '576 (sm)';\n }\n }\n\n @media screen and (min-width: 768px) {\n background-color: red;\n color: #fff;\n .reference::before {\n content: '768 (md)';\n }\n }\n\n @media screen and (min-width: 992px) {\n background-color: green;\n color: #fff;\n .reference::before {\n content: '992 (lg)';\n }\n }\n\n @media screen and (min-width: 1200px) {\n background-color: blue;\n color: #fff;\n .reference::before {\n content: '1200 (xl)';\n }\n }\n\n @media screen and (min-width: 1640px) {\n background-color: pink;\n .reference::before {\n content: '1640 (xxl)';\n }\n }\n\n @media screen and (min-width: 1920px) {\n background-color: orange;\n .reference::before {\n content: '1920 (fhd)';\n }\n }\n }\n\n &--tpl {\n //define breakpoints here\n }\n }\n}\n","import { Component, Element, h, Host, Listen, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'pn-breakpoints',\n styleUrl: 'pn-breakpoints.scss',\n})\nexport class PnBreakpoints {\n @Element() hostElement: HTMLElement;\n @State() currentWidth: number = window.innerWidth;\n @Prop() breakPointClass: string = 'dotcom';\n\n @Listen('resize', { target: 'window' })\n handleViewportSizeChange(event: any) {\n this.currentWidth = event.target.innerWidth;\n }\n\n createBreakpointClass() {\n return `breakpoints--${this.breakPointClass}`;\n }\n\n render() {\n return (\n <Host>\n <div class={`breakpoints ${this.createBreakpointClass()} `}>\n {`${this.currentWidth} px`}\n {' min-width: '}\n <span class=\"reference\">{' px'}</span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAmB,28CACzB,MAAAC,EAAeD,E,MCKFE,EAAa,M,2CAEQC,OAAOC,W,qBACL,Q,kCAGlC,wBAAAC,CAAyBC,GACvBC,KAAKC,aAAeF,EAAMG,OAAOL,U,CAGnC,qBAAAM,GACE,MAAO,gBAAgBH,KAAKI,iB,CAG9B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAO,eAAeT,KAAKG,4BAC7B,GAAGH,KAAKC,kBACR,eACDK,EAAA,QAAAE,IAAA,2CAAMC,MAAM,aAAa,Q","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,g as a,h as t,d}from"./p-06555615.js";import{c as n}from"./p-cfaf2eec.js";const i="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-app-banner .pn-app-banner__wrapper{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;background-color:#f3f2f2;padding:1rem;margin:0 auto}pn-app-banner .pn-app-banner__sticky{position:relative;top:0;width:100%;z-index:999}pn-app-banner .icon-close:hover{cursor:pointer}pn-app-banner .pn-app-banner__icon{height:3.2rem}pn-app-banner .pn-app-banner__text{font-size:1.2rem;line-height:1}pn-app-banner .pn-app-banner__text span{font-weight:600}pn-app-banner .pn-app-banner__cta{margin-left:auto}pn-app-banner[data-is-closed=true]{display:none}";const c=i;const f=class{constructor(a){e(this,a);this.appName=undefined;this.appDescription=undefined;this.ctaText=undefined;this.appleStoreLink=undefined;this.googleStoreLink=undefined;this.isClosed=false;this.storeLink=undefined;this.isLocalStorageAvailable=true}get hostElement(){return a(this)}CLOSED_STORAGE_KEY="SmartAppBannerClosed";CLOSED_COOKIE_EXPIRY_DAYS=7;checkLocalStorage(){try{const e="__test__";localStorage.setItem(e,e);localStorage.removeItem(e)}catch(e){this.isLocalStorageAvailable=false}}detectDeviceAndSetStoreLink(){const e=navigator.userAgent;if(e.match(/Android/i)){this.storeLink=this.googleStoreLink}else if(e.match(/iPhone|iPad|iPod/i)){this.storeLink=this.appleStoreLink}else{this.storeLink=null;this.isClosed=true}}handleOnClose=()=>{this.isClosed=true;if(this.isLocalStorageAvailable){localStorage.setItem(this.CLOSED_STORAGE_KEY,"true")}else{const e=new Date;e.setDate(e.getDate()+this.CLOSED_COOKIE_EXPIRY_DAYS);document.cookie=`${this.CLOSED_STORAGE_KEY}=true; expires=${e.toUTCString()}`}};componentWillLoad(){this.checkLocalStorage();if(this.isLocalStorageAvailable){this.isClosed=localStorage.getItem(this.CLOSED_STORAGE_KEY)==="true"}else{const e=document.cookie.split(";");for(const a of e){const[e,t]=a.trim().split("=");if(e===this.CLOSED_STORAGE_KEY&&t==="true"){this.isClosed=true;break}}}if(!this.isClosed){this.detectDeviceAndSetStoreLink()}}render(){return t(d,{key:"f70e119be99b5b2beb4522726e95762b7f15126e","data-is-closed":this.isClosed?"true":"false"},t("div",{key:"29166c5e77c9a294784d0665067b3f06967290ac",class:"pn-app-banner__wrapper pn-app-banner__sticky"},t("div",{key:"06ad90e4b6017c591c5d8a647338292957af00db",class:"icon-close",onClick:this.handleOnClose},t("pn-icon",{key:"795dcea4d365c627c60182a8005a44574dfe0a19",icon:n,small:"false",color:"black"})),t("div",{key:"2cb19ab54b6f94e4c0a1c5126e39e4adc9576cdd",class:"pn-app-banner__icon"},t("svg",{key:"75ee77eb5595956432dbfd09baa9a581239b65b6",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("g",{key:"1b86f45c28d6b77cce87ccd88328dd0b8ce92c28","clip-path":"url(#clip0_17800_45416)"},t("path",{key:"876241e885a0cd7eb09f887e2da3a7602a53bbbb",d:"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z",fill:"#F18D8D"}),t("mask",{key:"833bca6577287b47493f75ccdeb0699665a2865f",id:"mask0_17800_45416",style:{"mask-type":"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"32",height:"32"},t("path",{key:"d3abeae46914029aafb7562b4398c4ba31c7310f",d:"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z",fill:"#0D234B"})),t("g",{key:"5e516a7a66050bfe270f17ee26f11a4665173ae4",mask:"url(#mask0_17800_45416)"},t("path",{key:"1f3364dca5709e5d02668034430693ecd41e8bc2",d:"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z",fill:"#0D234B"}),t("path",{key:"ce9bd5ecc95d0da87315a5d652e53117fa573c4f",d:"M50.8125 14.1562H18.8125V46.1562H50.8125V14.1562Z",fill:"url(#paint0_linear_17800_45416)"}),t("path",{key:"b5cb378a2d45eaea81908b040a4a681fed76177d",d:"M2.09375 31.375C2.09375 15.2379 15.1754 2.15625 31.3125 2.15625H31.9844V31.9844H2.09998C2.09583 31.7819 2.09375 31.5788 2.09375 31.375Z",fill:"#00A0D6"}),t("g",{key:"149e91254874ed58964a1aef7c64272be46b53a6",filter:"url(#filter0_d_17800_45416)"},t("path",{key:"721fe08a0cbfe048bbebd5aa8b0e3921b86f32e7",d:"M7.40625 11.8062C7.40625 10.2661 7.40625 9.49603 7.70597 8.90778C7.96963 8.39034 8.39034 7.96963 8.90778 7.70597C9.49603 7.40625 10.2661 7.40625 11.8062 7.40625H20.1938C21.7339 7.40625 22.504 7.40625 23.0922 7.70597C23.6097 7.96963 24.0304 8.39034 24.294 8.90778C24.5938 9.49603 24.5938 10.2661 24.5938 11.8062V20.1938C24.5938 21.7339 24.5938 22.504 24.294 23.0922C24.0304 23.6097 23.6097 24.0304 23.0922 24.294C22.504 24.5938 21.7339 24.5938 20.1938 24.5938H11.8062C10.2661 24.5938 9.49603 24.5938 8.90778 24.294C8.39034 24.0304 7.96963 23.6097 7.70597 23.0922C7.40625 22.504 7.40625 21.7339 7.40625 20.1938V11.8062Z",fill:"#F1F7FA"}),t("path",{key:"03116eb8484ffb6a987a1e8c2d1f3f93f9372d1b",opacity:"0.6","fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.5938 10.0625C10.3176 10.0625 10.0938 10.2863 10.0938 10.5625C10.0938 10.8387 10.3176 11.0625 10.5938 11.0625H12.875C13.1512 11.0625 13.375 10.8387 13.375 10.5625C13.375 10.2863 13.1512 10.0625 12.875 10.0625H10.5938ZM10.5938 12.3125C10.3176 12.3125 10.0938 12.5363 10.0938 12.8125C10.0938 13.0887 10.3176 13.3125 10.5938 13.3125H15.3125C15.5887 13.3125 15.8125 13.0887 15.8125 12.8125C15.8125 12.5363 15.5887 12.3125 15.3125 12.3125H10.5938ZM10.0938 14.75C10.0938 14.4738 10.3176 14.25 10.5938 14.25H13.5625C13.8387 14.25 14.0625 14.4738 14.0625 14.75C14.0625 15.0262 13.8387 15.25 13.5625 15.25H10.5938C10.3176 15.25 10.0938 15.0262 10.0938 14.75ZM15.1875 14.25C14.9113 14.25 14.6875 14.4738 14.6875 14.75C14.6875 15.0262 14.9113 15.25 15.1875 15.25C15.4637 15.25 15.6875 15.0262 15.6875 14.75C15.6875 14.4738 15.4637 14.25 15.1875 14.25Z",fill:"#A5C0CA"}),t("path",{key:"1450f8093f0c616e6d2fe1c6e0030e496432ed20",d:"M17.9375 10.5938C17.9375 10.3176 18.1613 10.0938 18.4375 10.0938H21.75C22.0262 10.0938 22.25 10.3176 22.25 10.5938C22.25 10.8699 22.0262 11.0938 21.75 11.0938H18.4375C18.1613 11.0938 17.9375 10.8699 17.9375 10.5938Z",fill:"#00A0D6"}),t("path",{key:"007fc92f411b387950d233cbda28003cde1b354b","fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.0938 19.3125C10.0938 18.8983 10.4295 18.5625 10.8438 18.5625C11.258 18.5625 11.5938 18.8983 11.5938 19.3125V21.25C11.5938 21.6642 11.258 22 10.8438 22C10.4295 22 10.0938 21.6642 10.0938 21.25V19.3125ZM19.3438 19.3125C19.3438 18.8983 19.6795 18.5625 20.0938 18.5625C20.508 18.5625 20.8438 18.8983 20.8438 19.3125V21.25C20.8438 21.6642 20.508 22 20.0938 22C19.6795 22 19.3438 21.6642 19.3438 21.25V19.3125ZM14.5938 18.5625C14.1795 18.5625 13.8438 18.8983 13.8438 19.3125V21.25C13.8438 21.6642 14.1795 22 14.5938 22C15.008 22 15.3438 21.6642 15.3438 21.25V19.3125C15.3438 18.8983 15.008 18.5625 14.5938 18.5625ZM12.5938 18.9375C12.5938 18.7304 12.7617 18.5625 12.9688 18.5625C13.1758 18.5625 13.3438 18.7304 13.3438 18.9375V21.625C13.3438 21.8321 13.1758 22 12.9688 22C12.7617 22 12.5938 21.8321 12.5938 21.625V18.9375ZM21.5938 18.5625C21.3867 18.5625 21.2188 18.7304 21.2188 18.9375V21.625C21.2188 21.8321 21.3867 22 21.5938 22C21.8008 22 21.9688 21.8321 21.9688 21.625V18.9375C21.9688 18.7304 21.8008 18.5625 21.5938 18.5625ZM17.5938 18.9375C17.5938 18.7304 17.7617 18.5625 17.9688 18.5625C18.1758 18.5625 18.3438 18.7304 18.3438 18.9375V21.625C18.3438 21.8321 18.1758 22 17.9688 22C17.7617 22 17.5938 21.8321 17.5938 21.625V18.9375ZM16.5938 18.5625C16.3176 18.5625 16.0938 18.7863 16.0938 19.0625V21.5C16.0938 21.7762 16.3176 22 16.5938 22C16.8699 22 17.0938 21.7762 17.0938 21.5V19.0625C17.0938 18.7863 16.8699 18.5625 16.5938 18.5625Z",fill:"#0D234B"})))),t("defs",{key:"7324852e9e095e5532b21371b9e929675b092a1c"},t("filter",{key:"85ec9ee4983cb7b92fe4fb3a7e702e4438f915d2",id:"filter0_d_17800_45416",x:"-52.5938",y:"-48.5938",width:"137.188",height:"137.188",filterUnits:"userSpaceOnUse","color-interpolation-filters":"sRGB"},t("feFlood",{key:"8a9b91e11aedbf4fad6248ade8df932fb3de8bb9","flood-opacity":"0",result:"BackgroundImageFix"}),t("feColorMatrix",{key:"89db649b0540a2f7a800e1db669ea84abf8b0338",in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),t("feOffset",{key:"97a487093a53366fdf826891643a0ced40b38a65",dy:"4"}),t("feGaussianBlur",{key:"e896889c847350b33e367583c385f7a75cf2286e",stdDeviation:"30"}),t("feColorMatrix",{key:"9a08bb541831685d4a7545a1b4fb32fd83198542",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"}),t("feBlend",{key:"8e70d4b91eb9cb77f6c8c04fd4ed338c8fba0d8c",mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_17800_45416"}),t("feBlend",{key:"7ad369b79b01cb686129cafec1d3c194f50b86b1",mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_17800_45416",result:"shape"})),t("linearGradient",{key:"9fdf52f4b2d279d1d3d3706a3c70215174a09e49",id:"paint0_linear_17800_45416",x1:"29.2305",y1:"44.3441",x2:"51.5694",y2:"15.1782",gradientUnits:"userSpaceOnUse"},t("stop",{key:"fb5da57f4e192ce589fd9ab58e2599d9200c1580",offset:"0.0800778","stop-color":"#0D244C"}),t("stop",{key:"35efe899489de4df4c2ba0b451ecbcf4d8583590",offset:"1","stop-color":"#0D234B"})),t("clipPath",{key:"e62363029a58d91aa6bbcf79a66436311242ff0a",id:"clip0_17800_45416"},t("rect",{key:"2c71d0bc14df4d14b4b19923f93706fa48e2d22d",width:"32",height:"32",fill:"white"}))))),t("div",{key:"c2fb9baa295a7d82f94b3a1f83d0e76fd8eee64c",class:"pn-app-banner__text"},t("span",{key:"84064a2876befa0d572399f2990fb278d7404b3b"},this.appName),t("br",{key:"ef3a6494ece6351ad5dfc51e70c5201d25f5f190"}),this.appDescription),t("div",{key:"39c93e3e3b455fecffb78e4427a1c3063a5f1ac3",class:"pn-app-banner__cta"},t("pn-button",{key:"d7c902a8e3ad8b5ae86aafb2a03611dbce6e3a8f",small:true,href:this.storeLink},this.ctaText))))}};f.style=c;export{f as pn_app_banner};
|
|
2
|
+
//# sourceMappingURL=p-586a1e3c.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pnAppBannerCss","PnAppBannerStyle0","PnAppBanner","this","CLOSED_STORAGE_KEY","CLOSED_COOKIE_EXPIRY_DAYS","handleOnClose","isClosed","isLocalStorageAvailable","localStorage","setItem","expirationDate","Date","setDate","getDate","document","cookie","toUTCString","checkLocalStorage","testKey","removeItem","e","detectDeviceAndSetStoreLink","userAgent","navigator","match","storeLink","googleStoreLink","appleStoreLink","componentWillLoad","getItem","cookies","split","name","value","trim","render","h","Host","key","class","onClick","icon","close_small","small","color","width","height","viewBox","fill","xmlns","d","id","style","maskUnits","x","y","mask","filter","opacity","filterUnits","result","in","type","values","dy","stdDeviation","mode","in2","x1","y1","x2","y2","gradientUnits","offset","appName","appDescription","href","ctaText"],"sources":["src/components/minor/pn-app-banner/pn-app-banner.scss?tag=pn-app-banner","src/components/minor/pn-app-banner/pn-app-banner.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-app-banner {\n .pn-app-banner__wrapper {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 1rem;\n\n background-color: $gray50;\n padding: 1rem;\n margin: 0 auto;\n }\n\n .pn-app-banner__sticky {\n position: relative;\n\n top: 0;\n width: 100%;\n\n z-index: 999;\n }\n\n .icon-close {\n &:hover {\n cursor: pointer;\n }\n }\n\n .pn-app-banner__icon {\n height: 3.2rem;\n }\n\n .pn-app-banner__text {\n font-size: 1.2rem;\n line-height: 1;\n\n span {\n font-weight: 600;\n }\n }\n\n .pn-app-banner__cta {\n margin-left: auto;\n }\n\n &[data-is-closed='true'] {\n display: none;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\nimport { close_small } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-app-banner',\n styleUrl: 'pn-app-banner.scss',\n})\nexport class PnAppBanner {\n @Element() hostElement: HTMLElement;\n @Prop() appName: string;\n @Prop() appDescription: string;\n @Prop() ctaText: string;\n @Prop() appleStoreLink: string;\n @Prop() googleStoreLink: string;\n\n @State() isClosed: boolean = false;\n @State() storeLink: string;\n @State() isLocalStorageAvailable = true;\n\n CLOSED_STORAGE_KEY = 'SmartAppBannerClosed';\n CLOSED_COOKIE_EXPIRY_DAYS = 7;\n\n checkLocalStorage() {\n try {\n const testKey = '__test__';\n localStorage.setItem(testKey, testKey);\n localStorage.removeItem(testKey);\n } catch (e) {\n this.isLocalStorageAvailable = false;\n }\n }\n\n detectDeviceAndSetStoreLink() {\n const userAgent = navigator.userAgent;\n\n if (userAgent.match(/Android/i)) {\n this.storeLink = this.googleStoreLink;\n } else if (userAgent.match(/iPhone|iPad|iPod/i)) {\n this.storeLink = this.appleStoreLink;\n } else {\n this.storeLink = null;\n this.isClosed = true; // -> data-is-closed = true\n }\n }\n\n handleOnClose = () => {\n this.isClosed = true;\n\n // Handle storage based on availability\n if (this.isLocalStorageAvailable) {\n localStorage.setItem(this.CLOSED_STORAGE_KEY, 'true');\n } else {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + this.CLOSED_COOKIE_EXPIRY_DAYS);\n document.cookie = `${this.CLOSED_STORAGE_KEY}=true; expires=${expirationDate.toUTCString()}`;\n }\n };\n\n componentWillLoad() {\n this.checkLocalStorage();\n // Handle storage based on availability\n if (this.isLocalStorageAvailable) {\n this.isClosed = localStorage.getItem(this.CLOSED_STORAGE_KEY) === 'true';\n } else {\n const cookies = document.cookie.split(';');\n for (const cookie of cookies) {\n const [name, value] = cookie.trim().split('=');\n if (name === this.CLOSED_STORAGE_KEY && value === 'true') {\n this.isClosed = true;\n break;\n }\n }\n }\n\n if (!this.isClosed) {\n this.detectDeviceAndSetStoreLink();\n }\n }\n\n render() {\n return (\n <Host data-is-closed={this.isClosed ? 'true' : 'false'}>\n <div class=\"pn-app-banner__wrapper pn-app-banner__sticky\">\n <div class=\"icon-close\" onClick={this.handleOnClose}>\n <pn-icon icon={close_small} small=\"false\" color=\"black\" />\n </div>\n <div class=\"pn-app-banner__icon\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_17800_45416)\">\n <path\n d=\"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z\"\n fill=\"#F18D8D\"\n />\n <mask id=\"mask0_17800_45416\" style={{ 'mask-type': 'alpha' }} maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"32\" height=\"32\">\n <path\n d=\"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z\"\n fill=\"#0D234B\"\n />\n </mask>\n <g mask=\"url(#mask0_17800_45416)\">\n <path\n d=\"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z\"\n fill=\"#0D234B\"\n />\n <path d=\"M50.8125 14.1562H18.8125V46.1562H50.8125V14.1562Z\" fill=\"url(#paint0_linear_17800_45416)\" />\n <path\n d=\"M2.09375 31.375C2.09375 15.2379 15.1754 2.15625 31.3125 2.15625H31.9844V31.9844H2.09998C2.09583 31.7819 2.09375 31.5788 2.09375 31.375Z\"\n fill=\"#00A0D6\"\n />\n <g filter=\"url(#filter0_d_17800_45416)\">\n <path\n d=\"M7.40625 11.8062C7.40625 10.2661 7.40625 9.49603 7.70597 8.90778C7.96963 8.39034 8.39034 7.96963 8.90778 7.70597C9.49603 7.40625 10.2661 7.40625 11.8062 7.40625H20.1938C21.7339 7.40625 22.504 7.40625 23.0922 7.70597C23.6097 7.96963 24.0304 8.39034 24.294 8.90778C24.5938 9.49603 24.5938 10.2661 24.5938 11.8062V20.1938C24.5938 21.7339 24.5938 22.504 24.294 23.0922C24.0304 23.6097 23.6097 24.0304 23.0922 24.294C22.504 24.5938 21.7339 24.5938 20.1938 24.5938H11.8062C10.2661 24.5938 9.49603 24.5938 8.90778 24.294C8.39034 24.0304 7.96963 23.6097 7.70597 23.0922C7.40625 22.504 7.40625 21.7339 7.40625 20.1938V11.8062Z\"\n fill=\"#F1F7FA\"\n />\n <path\n opacity=\"0.6\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.5938 10.0625C10.3176 10.0625 10.0938 10.2863 10.0938 10.5625C10.0938 10.8387 10.3176 11.0625 10.5938 11.0625H12.875C13.1512 11.0625 13.375 10.8387 13.375 10.5625C13.375 10.2863 13.1512 10.0625 12.875 10.0625H10.5938ZM10.5938 12.3125C10.3176 12.3125 10.0938 12.5363 10.0938 12.8125C10.0938 13.0887 10.3176 13.3125 10.5938 13.3125H15.3125C15.5887 13.3125 15.8125 13.0887 15.8125 12.8125C15.8125 12.5363 15.5887 12.3125 15.3125 12.3125H10.5938ZM10.0938 14.75C10.0938 14.4738 10.3176 14.25 10.5938 14.25H13.5625C13.8387 14.25 14.0625 14.4738 14.0625 14.75C14.0625 15.0262 13.8387 15.25 13.5625 15.25H10.5938C10.3176 15.25 10.0938 15.0262 10.0938 14.75ZM15.1875 14.25C14.9113 14.25 14.6875 14.4738 14.6875 14.75C14.6875 15.0262 14.9113 15.25 15.1875 15.25C15.4637 15.25 15.6875 15.0262 15.6875 14.75C15.6875 14.4738 15.4637 14.25 15.1875 14.25Z\"\n fill=\"#A5C0CA\"\n />\n <path\n d=\"M17.9375 10.5938C17.9375 10.3176 18.1613 10.0938 18.4375 10.0938H21.75C22.0262 10.0938 22.25 10.3176 22.25 10.5938C22.25 10.8699 22.0262 11.0938 21.75 11.0938H18.4375C18.1613 11.0938 17.9375 10.8699 17.9375 10.5938Z\"\n fill=\"#00A0D6\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.0938 19.3125C10.0938 18.8983 10.4295 18.5625 10.8438 18.5625C11.258 18.5625 11.5938 18.8983 11.5938 19.3125V21.25C11.5938 21.6642 11.258 22 10.8438 22C10.4295 22 10.0938 21.6642 10.0938 21.25V19.3125ZM19.3438 19.3125C19.3438 18.8983 19.6795 18.5625 20.0938 18.5625C20.508 18.5625 20.8438 18.8983 20.8438 19.3125V21.25C20.8438 21.6642 20.508 22 20.0938 22C19.6795 22 19.3438 21.6642 19.3438 21.25V19.3125ZM14.5938 18.5625C14.1795 18.5625 13.8438 18.8983 13.8438 19.3125V21.25C13.8438 21.6642 14.1795 22 14.5938 22C15.008 22 15.3438 21.6642 15.3438 21.25V19.3125C15.3438 18.8983 15.008 18.5625 14.5938 18.5625ZM12.5938 18.9375C12.5938 18.7304 12.7617 18.5625 12.9688 18.5625C13.1758 18.5625 13.3438 18.7304 13.3438 18.9375V21.625C13.3438 21.8321 13.1758 22 12.9688 22C12.7617 22 12.5938 21.8321 12.5938 21.625V18.9375ZM21.5938 18.5625C21.3867 18.5625 21.2188 18.7304 21.2188 18.9375V21.625C21.2188 21.8321 21.3867 22 21.5938 22C21.8008 22 21.9688 21.8321 21.9688 21.625V18.9375C21.9688 18.7304 21.8008 18.5625 21.5938 18.5625ZM17.5938 18.9375C17.5938 18.7304 17.7617 18.5625 17.9688 18.5625C18.1758 18.5625 18.3438 18.7304 18.3438 18.9375V21.625C18.3438 21.8321 18.1758 22 17.9688 22C17.7617 22 17.5938 21.8321 17.5938 21.625V18.9375ZM16.5938 18.5625C16.3176 18.5625 16.0938 18.7863 16.0938 19.0625V21.5C16.0938 21.7762 16.3176 22 16.5938 22C16.8699 22 17.0938 21.7762 17.0938 21.5V19.0625C17.0938 18.7863 16.8699 18.5625 16.5938 18.5625Z\"\n fill=\"#0D234B\"\n />\n </g>\n </g>\n </g>\n <defs>\n <filter id=\"filter0_d_17800_45416\" x=\"-52.5938\" y=\"-48.5938\" width=\"137.188\" height=\"137.188\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\n <feOffset dy=\"4\" />\n <feGaussianBlur stdDeviation=\"30\" />\n <feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0\" />\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_17800_45416\" />\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_17800_45416\" result=\"shape\" />\n </filter>\n <linearGradient id=\"paint0_linear_17800_45416\" x1=\"29.2305\" y1=\"44.3441\" x2=\"51.5694\" y2=\"15.1782\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0.0800778\" stop-color=\"#0D244C\" />\n <stop offset=\"1\" stop-color=\"#0D234B\" />\n </linearGradient>\n <clipPath id=\"clip0_17800_45416\">\n <rect width=\"32\" height=\"32\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n <div class=\"pn-app-banner__text\">\n <span>{this.appName}</span>\n <br />\n {this.appDescription}\n </div>\n <div class=\"pn-app-banner__cta\">\n <pn-button small={true} href={this.storeLink}>\n {this.ctaText}\n </pn-button>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["pnAppBannerCss","PnAppBannerStyle0","PnAppBanner","CLOSED_STORAGE_KEY","CLOSED_COOKIE_EXPIRY_DAYS","checkLocalStorage","testKey","localStorage","setItem","removeItem","e","this","isLocalStorageAvailable","detectDeviceAndSetStoreLink","userAgent","navigator","match","storeLink","googleStoreLink","appleStoreLink","isClosed","handleOnClose","expirationDate","Date","setDate","getDate","document","cookie","toUTCString","componentWillLoad","getItem","cookies","split","name","value","trim","render","h","Host","key","class","onClick","icon","close_small","small","color","width","height","viewBox","fill","xmlns","d","id","style","maskUnits","x","y","mask","filter","opacity","filterUnits","result","in","type","values","dy","stdDeviation","mode","in2","x1","y1","x2","y2","gradientUnits","offset","appName","appDescription","href","ctaText"],"sources":["src/components/minor/pn-app-banner/pn-app-banner.scss?tag=pn-app-banner","src/components/minor/pn-app-banner/pn-app-banner.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-app-banner {\n .pn-app-banner__wrapper {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n gap: 1rem;\n\n background-color: $gray50;\n padding: 1rem;\n margin: 0 auto;\n }\n\n .pn-app-banner__sticky {\n position: relative;\n\n top: 0;\n width: 100%;\n\n z-index: 999;\n }\n\n .icon-close {\n &:hover {\n cursor: pointer;\n }\n }\n\n .pn-app-banner__icon {\n height: 3.2rem;\n }\n\n .pn-app-banner__text {\n font-size: 1.2rem;\n line-height: 1;\n\n span {\n font-weight: 600;\n }\n }\n\n .pn-app-banner__cta {\n margin-left: auto;\n }\n\n &[data-is-closed='true'] {\n display: none;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\nimport { close_small } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-app-banner',\n styleUrl: 'pn-app-banner.scss',\n})\nexport class PnAppBanner {\n @Element() hostElement: HTMLElement;\n @Prop() appName: string;\n @Prop() appDescription: string;\n @Prop() ctaText: string;\n @Prop() appleStoreLink: string;\n @Prop() googleStoreLink: string;\n\n @State() isClosed: boolean = false;\n @State() storeLink: string;\n @State() isLocalStorageAvailable = true;\n\n CLOSED_STORAGE_KEY = 'SmartAppBannerClosed';\n CLOSED_COOKIE_EXPIRY_DAYS = 7;\n\n checkLocalStorage() {\n try {\n const testKey = '__test__';\n localStorage.setItem(testKey, testKey);\n localStorage.removeItem(testKey);\n } catch (e) {\n this.isLocalStorageAvailable = false;\n }\n }\n\n detectDeviceAndSetStoreLink() {\n const userAgent = navigator.userAgent;\n\n if (userAgent.match(/Android/i)) {\n this.storeLink = this.googleStoreLink;\n } else if (userAgent.match(/iPhone|iPad|iPod/i)) {\n this.storeLink = this.appleStoreLink;\n } else {\n this.storeLink = null;\n this.isClosed = true; // -> data-is-closed = true\n }\n }\n\n handleOnClose = () => {\n this.isClosed = true;\n\n // Handle storage based on availability\n if (this.isLocalStorageAvailable) {\n localStorage.setItem(this.CLOSED_STORAGE_KEY, 'true');\n } else {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + this.CLOSED_COOKIE_EXPIRY_DAYS);\n document.cookie = `${this.CLOSED_STORAGE_KEY}=true; expires=${expirationDate.toUTCString()}`;\n }\n };\n\n componentWillLoad() {\n this.checkLocalStorage();\n // Handle storage based on availability\n if (this.isLocalStorageAvailable) {\n this.isClosed = localStorage.getItem(this.CLOSED_STORAGE_KEY) === 'true';\n } else {\n const cookies = document.cookie.split(';');\n for (const cookie of cookies) {\n const [name, value] = cookie.trim().split('=');\n if (name === this.CLOSED_STORAGE_KEY && value === 'true') {\n this.isClosed = true;\n break;\n }\n }\n }\n\n if (!this.isClosed) {\n this.detectDeviceAndSetStoreLink();\n }\n }\n\n render() {\n return (\n <Host data-is-closed={this.isClosed ? 'true' : 'false'}>\n <div class=\"pn-app-banner__wrapper pn-app-banner__sticky\">\n <div class=\"icon-close\" onClick={this.handleOnClose}>\n <pn-icon icon={close_small} small=\"false\" color=\"black\" />\n </div>\n <div class=\"pn-app-banner__icon\">\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_17800_45416)\">\n <path\n d=\"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z\"\n fill=\"#F18D8D\"\n />\n <mask id=\"mask0_17800_45416\" style={{ 'mask-type': 'alpha' }} maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"32\" height=\"32\">\n <path\n d=\"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z\"\n fill=\"#0D234B\"\n />\n </mask>\n <g mask=\"url(#mask0_17800_45416)\">\n <path\n d=\"M23.875 0H8.125C3.63769 0 0 3.63769 0 8.125V23.875C0 28.3623 3.63769 32 8.125 32H23.875C28.3623 32 32 28.3623 32 23.875V8.125C32 3.63769 28.3623 0 23.875 0Z\"\n fill=\"#0D234B\"\n />\n <path d=\"M50.8125 14.1562H18.8125V46.1562H50.8125V14.1562Z\" fill=\"url(#paint0_linear_17800_45416)\" />\n <path\n d=\"M2.09375 31.375C2.09375 15.2379 15.1754 2.15625 31.3125 2.15625H31.9844V31.9844H2.09998C2.09583 31.7819 2.09375 31.5788 2.09375 31.375Z\"\n fill=\"#00A0D6\"\n />\n <g filter=\"url(#filter0_d_17800_45416)\">\n <path\n d=\"M7.40625 11.8062C7.40625 10.2661 7.40625 9.49603 7.70597 8.90778C7.96963 8.39034 8.39034 7.96963 8.90778 7.70597C9.49603 7.40625 10.2661 7.40625 11.8062 7.40625H20.1938C21.7339 7.40625 22.504 7.40625 23.0922 7.70597C23.6097 7.96963 24.0304 8.39034 24.294 8.90778C24.5938 9.49603 24.5938 10.2661 24.5938 11.8062V20.1938C24.5938 21.7339 24.5938 22.504 24.294 23.0922C24.0304 23.6097 23.6097 24.0304 23.0922 24.294C22.504 24.5938 21.7339 24.5938 20.1938 24.5938H11.8062C10.2661 24.5938 9.49603 24.5938 8.90778 24.294C8.39034 24.0304 7.96963 23.6097 7.70597 23.0922C7.40625 22.504 7.40625 21.7339 7.40625 20.1938V11.8062Z\"\n fill=\"#F1F7FA\"\n />\n <path\n opacity=\"0.6\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.5938 10.0625C10.3176 10.0625 10.0938 10.2863 10.0938 10.5625C10.0938 10.8387 10.3176 11.0625 10.5938 11.0625H12.875C13.1512 11.0625 13.375 10.8387 13.375 10.5625C13.375 10.2863 13.1512 10.0625 12.875 10.0625H10.5938ZM10.5938 12.3125C10.3176 12.3125 10.0938 12.5363 10.0938 12.8125C10.0938 13.0887 10.3176 13.3125 10.5938 13.3125H15.3125C15.5887 13.3125 15.8125 13.0887 15.8125 12.8125C15.8125 12.5363 15.5887 12.3125 15.3125 12.3125H10.5938ZM10.0938 14.75C10.0938 14.4738 10.3176 14.25 10.5938 14.25H13.5625C13.8387 14.25 14.0625 14.4738 14.0625 14.75C14.0625 15.0262 13.8387 15.25 13.5625 15.25H10.5938C10.3176 15.25 10.0938 15.0262 10.0938 14.75ZM15.1875 14.25C14.9113 14.25 14.6875 14.4738 14.6875 14.75C14.6875 15.0262 14.9113 15.25 15.1875 15.25C15.4637 15.25 15.6875 15.0262 15.6875 14.75C15.6875 14.4738 15.4637 14.25 15.1875 14.25Z\"\n fill=\"#A5C0CA\"\n />\n <path\n d=\"M17.9375 10.5938C17.9375 10.3176 18.1613 10.0938 18.4375 10.0938H21.75C22.0262 10.0938 22.25 10.3176 22.25 10.5938C22.25 10.8699 22.0262 11.0938 21.75 11.0938H18.4375C18.1613 11.0938 17.9375 10.8699 17.9375 10.5938Z\"\n fill=\"#00A0D6\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.0938 19.3125C10.0938 18.8983 10.4295 18.5625 10.8438 18.5625C11.258 18.5625 11.5938 18.8983 11.5938 19.3125V21.25C11.5938 21.6642 11.258 22 10.8438 22C10.4295 22 10.0938 21.6642 10.0938 21.25V19.3125ZM19.3438 19.3125C19.3438 18.8983 19.6795 18.5625 20.0938 18.5625C20.508 18.5625 20.8438 18.8983 20.8438 19.3125V21.25C20.8438 21.6642 20.508 22 20.0938 22C19.6795 22 19.3438 21.6642 19.3438 21.25V19.3125ZM14.5938 18.5625C14.1795 18.5625 13.8438 18.8983 13.8438 19.3125V21.25C13.8438 21.6642 14.1795 22 14.5938 22C15.008 22 15.3438 21.6642 15.3438 21.25V19.3125C15.3438 18.8983 15.008 18.5625 14.5938 18.5625ZM12.5938 18.9375C12.5938 18.7304 12.7617 18.5625 12.9688 18.5625C13.1758 18.5625 13.3438 18.7304 13.3438 18.9375V21.625C13.3438 21.8321 13.1758 22 12.9688 22C12.7617 22 12.5938 21.8321 12.5938 21.625V18.9375ZM21.5938 18.5625C21.3867 18.5625 21.2188 18.7304 21.2188 18.9375V21.625C21.2188 21.8321 21.3867 22 21.5938 22C21.8008 22 21.9688 21.8321 21.9688 21.625V18.9375C21.9688 18.7304 21.8008 18.5625 21.5938 18.5625ZM17.5938 18.9375C17.5938 18.7304 17.7617 18.5625 17.9688 18.5625C18.1758 18.5625 18.3438 18.7304 18.3438 18.9375V21.625C18.3438 21.8321 18.1758 22 17.9688 22C17.7617 22 17.5938 21.8321 17.5938 21.625V18.9375ZM16.5938 18.5625C16.3176 18.5625 16.0938 18.7863 16.0938 19.0625V21.5C16.0938 21.7762 16.3176 22 16.5938 22C16.8699 22 17.0938 21.7762 17.0938 21.5V19.0625C17.0938 18.7863 16.8699 18.5625 16.5938 18.5625Z\"\n fill=\"#0D234B\"\n />\n </g>\n </g>\n </g>\n <defs>\n <filter id=\"filter0_d_17800_45416\" x=\"-52.5938\" y=\"-48.5938\" width=\"137.188\" height=\"137.188\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\n <feOffset dy=\"4\" />\n <feGaussianBlur stdDeviation=\"30\" />\n <feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0\" />\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_17800_45416\" />\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_17800_45416\" result=\"shape\" />\n </filter>\n <linearGradient id=\"paint0_linear_17800_45416\" x1=\"29.2305\" y1=\"44.3441\" x2=\"51.5694\" y2=\"15.1782\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0.0800778\" stop-color=\"#0D244C\" />\n <stop offset=\"1\" stop-color=\"#0D234B\" />\n </linearGradient>\n <clipPath id=\"clip0_17800_45416\">\n <rect width=\"32\" height=\"32\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n <div class=\"pn-app-banner__text\">\n <span>{this.appName}</span>\n <br />\n {this.appDescription}\n </div>\n <div class=\"pn-app-banner__cta\">\n <pn-button small={true} href={this.storeLink}>\n {this.ctaText}\n </pn-button>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,g as c,h as n,d as e}from"./p-06555615.js";const a="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-quick-cta{width:100%}pn-quick-cta .quick-cta__content{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:2.4rem;width:100%}pn-quick-cta .quick-cta__content .quick-cta__content__heading{padding:0;margin:0;font-size:2.4rem;font-weight:500;color:#0d234b}@media screen and (max-width: 768px){pn-quick-cta .quick-cta__content .quick-cta__content__heading{display:none}}@media screen and (min-width: 1640px){pn-quick-cta .quick-cta__content .quick-cta__content__heading{font-size:2.8rem;font-weight:700}}pn-quick-cta .quick-cta__content .quick-cta__content__preamble{font-weight:400;font-size:1.6rem;line-height:140%;padding:0;margin:0;color:#2d2013}pn-quick-cta .quick-cta__content [slot=quick-cta-cta] a{white-space:nowrap}pn-quick-cta .quick-cta__content [slot=quick-cta-cta] a:hover{text-decoration:none}pn-spotlight[data-cta-color=business] .quick-cta__content__heading{color:#f06365}pn-spotlight[data-cta-color=business] .quick-cta__content__preamble{color:#effbff}pn-spotlight[data-cta-color=private] .quick-cta__content__heading,pn-spotlight[data-cta-color=private] .quick-cta__content__preamble{color:#ffffff}pn-spotlight[data-cta-color=hybrid] .quick-cta__content__heading{color:#005d92}pn-spotlight[data-cta-color=hybrid] .quick-cta__content__preamble{color:#2d2013}";const i=a;const o=class{constructor(c){t(this,c);this.heading=null;this.preamble=null}get hostElement(){return c(this)}render(){return n(e,{key:"ab5954c7894705ca1d6faeb541b63ef9a28ce39e"},n("div",{key:"2fe82eb368e7c6f13a1e541e54f4f2679b99ed20",class:"quick-cta__content"},n("h2",{key:"7433fb89198761e4342ec57b1136e82cef01c241",class:"quick-cta__content__heading"},this.heading),n("p",{key:"c23df3ff66c20f39c9e11ad825fadb90a6cf296a",class:"quick-cta__content__preamble"},this.preamble),n("slot",{key:"8754357951cb3b1fb61b1f619e925a1b3de17879",name:"quick-cta-cta"})))}};o.style=i;export{o as pn_quick_cta};
|
|
2
|
+
//# sourceMappingURL=p-5a467ca6.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pnQuickCtaCss","PnQuickCtaStyle0","PnQuickCta","render","h","Host","key","class","this","heading","preamble","name"],"sources":["src/components/cta/pn-quick-cta/pn-quick-cta.scss?tag=pn-quick-cta","src/components/cta/pn-quick-cta/pn-quick-cta.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-quick-cta {\n width: 100%;\n\n .quick-cta__content {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 2.4rem;\n\n width: 100%;\n\n .quick-cta__content__heading {\n padding: 0;\n margin: 0;\n\n font-size: 2.4rem;\n font-weight: 500;\n color: $blue900;\n\n @media screen and (max-width: 768px) {\n display: none;\n }\n\n @media screen and (min-width: 1640px) {\n font-size: 2.8rem;\n font-weight: 700;\n }\n }\n\n .quick-cta__content__preamble {\n font-weight: 400;\n font-size: 1.6rem;\n line-height: 140%;\n\n padding: 0;\n margin: 0;\n color: $gray900;\n }\n\n [slot='quick-cta-cta'] {\n a {\n white-space: nowrap;\n &:hover {\n text-decoration: none;\n }\n }\n }\n }\n}\n\n//colors\npn-spotlight[data-cta-color='business'] {\n .quick-cta__content__heading {\n color: $coral400;\n }\n .quick-cta__content__preamble {\n color: $blue25;\n }\n}\n\npn-spotlight[data-cta-color='private'] {\n .quick-cta__content__heading,\n .quick-cta__content__preamble {\n color: $white;\n }\n}\n\npn-spotlight[data-cta-color='hybrid'] {\n .quick-cta__content__heading {\n color: $blue700;\n }\n .quick-cta__content__preamble {\n color: $gray900;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pn-quick-cta',\n styleUrl: 'pn-quick-cta.scss',\n})\nexport class PnQuickCta {\n @Element() hostElement: HTMLElement;\n @Prop() heading: string = null;\n @Prop() preamble: string = null;\n\n render() {\n return (\n <Host>\n <div class=\"quick-cta__content\">\n <h2 class=\"quick-cta__content__heading\">{this.heading}</h2>\n <p class=\"quick-cta__content__preamble\">{this.preamble}</p>\n <slot name=\"quick-cta-cta\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,y2CACtB,MAAAC,EAAeD,E,MCKFE,EAAU,M,sCAEK,K,cACC,I,
|
|
1
|
+
{"version":3,"names":["pnQuickCtaCss","PnQuickCtaStyle0","PnQuickCta","render","h","Host","key","class","this","heading","preamble","name"],"sources":["src/components/cta/pn-quick-cta/pn-quick-cta.scss?tag=pn-quick-cta","src/components/cta/pn-quick-cta/pn-quick-cta.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-quick-cta {\n width: 100%;\n\n .quick-cta__content {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 2.4rem;\n\n width: 100%;\n\n .quick-cta__content__heading {\n padding: 0;\n margin: 0;\n\n font-size: 2.4rem;\n font-weight: 500;\n color: $blue900;\n\n @media screen and (max-width: 768px) {\n display: none;\n }\n\n @media screen and (min-width: 1640px) {\n font-size: 2.8rem;\n font-weight: 700;\n }\n }\n\n .quick-cta__content__preamble {\n font-weight: 400;\n font-size: 1.6rem;\n line-height: 140%;\n\n padding: 0;\n margin: 0;\n color: $gray900;\n }\n\n [slot='quick-cta-cta'] {\n a {\n white-space: nowrap;\n &:hover {\n text-decoration: none;\n }\n }\n }\n }\n}\n\n//colors\npn-spotlight[data-cta-color='business'] {\n .quick-cta__content__heading {\n color: $coral400;\n }\n .quick-cta__content__preamble {\n color: $blue25;\n }\n}\n\npn-spotlight[data-cta-color='private'] {\n .quick-cta__content__heading,\n .quick-cta__content__preamble {\n color: $white;\n }\n}\n\npn-spotlight[data-cta-color='hybrid'] {\n .quick-cta__content__heading {\n color: $blue700;\n }\n .quick-cta__content__preamble {\n color: $gray900;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pn-quick-cta',\n styleUrl: 'pn-quick-cta.scss',\n})\nexport class PnQuickCta {\n @Element() hostElement: HTMLElement;\n @Prop() heading: string = null;\n @Prop() preamble: string = null;\n\n render() {\n return (\n <Host>\n <div class=\"quick-cta__content\">\n <h2 class=\"quick-cta__content__heading\">{this.heading}</h2>\n <p class=\"quick-cta__content__preamble\">{this.preamble}</p>\n <slot name=\"quick-cta-cta\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,y2CACtB,MAAAC,EAAeD,E,MCKFE,EAAU,M,sCAEK,K,cACC,I,kCAE3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sBACTH,EAAA,MAAAE,IAAA,2CAAIC,MAAM,+BAA+BC,KAAKC,SAC9CL,EAAA,KAAAE,IAAA,2CAAGC,MAAM,gCAAgCC,KAAKE,UAC9CN,EAAA,QAAAE,IAAA,2CAAMK,KAAK,mB","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,g as l,h as s,d as a}from"./p-06555615.js";import{p as n}from"./p-df8bfe03.js";import{v as i}from"./p-4ed69de7.js";const d="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-multi-row-connected-dropdown{gap:1rem}pn-multi-row-connected-dropdown .connected-dropdown__row{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1rem;justify-content:space-between}pn-multi-row-connected-dropdown .connected-dropdown__row__no-margin{margin:0}pn-multi-row-connected-dropdown .connected-dropdown__button-right{margin-left:auto}";const o=d;const h=class{constructor(l){e(this,l);this.allFormValues=t(this,"allFormValues",7);this.dropdownData=null;this.languageCode=null;this.label=null;this.firstDropdownLabel=null;this.secondDropdownLabel=null;this.dropdownPlaceholder=null;this.addRowText=null;this.inputFildLabel=null;this.inputFildPlaceholder=null;this.dateButtonText=null;this.datePlaceholder=null;this.dateDaysFromToday=null;this.allowMultipleRows=false;this.allowMultipleDates=false;this.startDateLabel=null;this.endDateLabel=null;this.multiDateHelperText=null;this.generateDatesButtonText=null;this.saveDateButtonText=null;this.noDatesText=null;this.yearsToAddToEndDate=null;this.rowCount=null;this.rowData=null;this.formValues=null}get hostElement(){return l(this)}_buttonValueName=null;_firstDropdownValueName=null;_secondDropdownValueName=null;_inputValueName=null;_dateValueName=null;allFormValues;_defaultRow={id:this.generateUniqueId(),buttons:[],firstDropdown:[],secondDropdown:[],input:"",dates:"",dateRange:{days:[],startDate:"",endDate:""}};componentWillLoad(){this.setDaysArr();this.formValues=[];this.rowData=[this._defaultRow];this.rowCount=this.rowData.length;this._buttonValueName=this.label?.length?this.label:"value0";this._firstDropdownValueName=this.firstDropdownLabel?.length?this.firstDropdownLabel:"value1";this._secondDropdownValueName=this.secondDropdownLabel?.length?this.secondDropdownLabel:"value2";this._inputValueName=this.inputFildLabel?.length?this.inputFildLabel:"value3";this._dateValueName=this.dateButtonText?.length?this.dateButtonText:"value4"}componentDidLoad(){}emittValuesIfValid(){this.formValues=[];this.rowData.forEach((e=>{const t={row:[]};const l=e.buttons.find((e=>e.selected===true));if(l){const e={name:this._buttonValueName,value:l.label};t.row.push(e)}const s=e.firstDropdown.find((e=>e.selected===true));if(s){const e={name:this._firstDropdownValueName,value:s.label};t.row.push(e)}const a=e.secondDropdown.find((e=>e.selected===true));if(a){const e={name:this._secondDropdownValueName,value:a.label};t.row.push(e)}const n=e.input;if(n?.length){const e={name:this._inputValueName,value:n};t.row.push(e)}const i=e.dates["start"];if(i?.length){const e={name:this._dateValueName,value:i};t.row.push(e)}if(t.row.length===5){this.formValues.push(t)}}));if(this.formValues.length===this.rowData.length){const e=JSON.stringify(this.formValues);this.allFormValues.emit(e)}else{this.allFormValues.emit("")}}predefinedValueChange(e){const t=this.rowData.findIndex((t=>t.id===e.detail.id));const l=e.detail;this.rowData[t]={...this.rowData[t],buttons:l.buttons,firstDropdown:l.firstDropdown,secondDropdown:l.secondDropdown,input:l.input,dates:l.dates,dateRange:l.dateRange};this.emittValuesIfValid()}deleteRowEvent(e){const t=this.rowData.findIndex((t=>t.id===e.detail));this.rowData.splice(t,1);this.rowData=[...this.rowData];this.rowCount=this.rowData.length;this.emittValuesIfValid()}generateUniqueId(){return i()}addRow(){const e=this._defaultRow;e.id=this.generateUniqueId();this.rowData=[...this.rowData,e];this.rowCount=this.rowData.length}setDaysArr(){const e=this.languageCode.toLowerCase();switch(e){case"en":this._defaultRow.dateRange.days=[{label:"Monday",value:"1",selected:false},{label:"Tuesday",value:"2",selected:false},{label:"Wednesday",value:"3",selected:false},{label:"Thursday",value:"4",selected:false},{label:"Friday",value:"5",selected:false}];break;case"sv":this._defaultRow.dateRange.days=[{label:"Måndag",value:"1",selected:false},{label:"Tisdag",value:"2",selected:false},{label:"Onsdag",value:"3",selected:false},{label:"Torsdag",value:"4",selected:false},{label:"Fredag",value:"5",selected:false}];break;case"da":this._defaultRow.dateRange.days=[{label:"Mandag",value:"1",selected:false},{label:"Tirsdag",value:"2",selected:false},{label:"Onsdag",value:"3",selected:false},{label:"Torsdag",value:"4",selected:false},{label:"Fredag",value:"5",selected:false}];break;case"fi":this._defaultRow.dateRange.days=[{label:"Maanantai",value:"1",selected:false},{label:"Tiistai",value:"2",selected:false},{label:"Keskiviikko",value:"3",selected:false},{label:"Torstai",value:"4",selected:false},{label:"Perjantai",value:"5",selected:false}];break;case"no":this._defaultRow.dateRange.days=[{label:"Mandag",value:"1",selected:false},{label:"Tirsdag",value:"2",selected:false},{label:"Onsdag",value:"3",selected:false},{label:"Torsdag",value:"4",selected:false},{label:"Fredag",value:"5",selected:false}];break;default:this._defaultRow.dateRange.days=[{label:"Monday",value:"1",selected:false},{label:"Tuesday",value:"2",selected:false},{label:"Wednesday",value:"3",selected:false},{label:"Thursday",value:"4",selected:false},{label:"Friday",value:"5",selected:false}];break}}render(){return s(a,{key:"35f9a37f73fc0713405c0f403c8f8df7eff987ae"},this.rowData?.map(((e,t)=>s("div",{class:"generated-row-"+t,id:"generated-row-connected-dropdown-"+t},s("pn-multi-row-connected-dropdown-row",{"dropdown-data":this.dropdownData,"language-code":this.languageCode,label:this.label,"first-dropdown-label":this.firstDropdownLabel,"second-dropdown-label":this.secondDropdownLabel,"dropdown-placeholder":this.dropdownPlaceholder,"add-row-text":this.addRowText,"input-fild-label":this.inputFildLabel,"input-fild-placeholder":this.inputFildPlaceholder,"date-button-text":this.dateButtonText,"date-placeholder":this.datePlaceholder,"date-days-from-today":this.dateDaysFromToday,"allow-multiple-dates":this.allowMultipleDates,"start-date-label":this.startDateLabel,"end-date-label":this.endDateLabel,"multi-date-helper-text":this.multiDateHelperText,"generate-dates-button-text":this.generateDatesButtonText,"save-date-button-text":this.saveDateButtonText,"no-dates-text":this.noDatesText,index:t,"predefined-value":JSON.stringify(e),"years-to-add-to-end-date":this.yearsToAddToEndDate})))),this.allowMultipleRows?s("div",{class:"connected-dropdown__row"},s("pn-button",{tooltip:this.addRowText?this.addRowText:null,"left-icon":"true",arialabel:"Add",icon:n,appearance:"light",variant:"borderless",class:"connected-dropdown__button-right",onClick:()=>{this.addRow()}},this.addRowText)):null)}};h.style=o;export{h as pn_multi_row_connected_dropdown};
|
|
2
|
+
//# sourceMappingURL=p-5ac23b38.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pnMultiRowConnectedDropdownCss","PnMultiRowConnectedDropdownStyle0","PnMultiRowConnectedDropdown","_buttonValueName","_firstDropdownValueName","_secondDropdownValueName","_inputValueName","_dateValueName","allFormValues","_defaultRow","id","this","generateUniqueId","buttons","firstDropdown","secondDropdown","input","dates","dateRange","days","startDate","endDate","componentWillLoad","setDaysArr","formValues","rowData","rowCount","length","label","firstDropdownLabel","secondDropdownLabel","inputFildLabel","dateButtonText","componentDidLoad","emittValuesIfValid","forEach","item","rowValue","row","buttonSelection","find","x","selected","buttonValue","name","value","push","firstDropdownSelection","firstDropdownValue","secondDropdownSelection","secondDropdownValue","inputValue","datestValue","valueJsonString","JSON","stringify","emit","predefinedValueChange","e","indexToUpdate","findIndex","data","detail","val","deleteRowEvent","indexToRemove","splice","uuidv4","addRow","newRow","language","languageCode","toLowerCase","render","h","Host","key","map","i","class","dropdownData","dropdownPlaceholder","addRowText","inputFildPlaceholder","datePlaceholder","dateDaysFromToday","allowMultipleDates","startDateLabel","endDateLabel","multiDateHelperText","generateDatesButtonText","saveDateButtonText","noDatesText","index","yearsToAddToEndDate","allowMultipleRows","tooltip","arialabel","icon","plus","appearance","variant","onClick"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.scss?tag=pn-multi-row-connected-dropdown","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown {\n gap: 1rem;\n\n .connected-dropdown {\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__button-right {\n margin-left: auto;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, PredefinedValues, Root, RowValue, SelectItem } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown',\n styleUrl: 'pn-multi-row-connected-dropdown.scss',\n})\nexport class PnMultiRowConnectedDropdown {\n @Element() hostElement: Element;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = null;\n @Prop() allowMultipleRows: boolean = false;\n @Prop() allowMultipleDates: boolean = false;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() rowCount: number = null;\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n\n private _buttonValueName: string = null;\n private _firstDropdownValueName: string = null;\n private _secondDropdownValueName: string = null;\n private _inputValueName: string = null;\n private _dateValueName: string = null;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _defaultRow: PredefinedValues = {\n id: this.generateUniqueId(),\n buttons: [],\n firstDropdown: [],\n secondDropdown: [],\n input: '',\n dates: '',\n dateRange: {\n days: [],\n startDate: '',\n endDate: '',\n },\n };\n\n componentWillLoad() {\n this.setDaysArr();\n this.formValues = [];\n this.rowData = [this._defaultRow];\n this.rowCount = this.rowData.length;\n\n this._buttonValueName = this.label?.length ? this.label : 'value0';\n this._firstDropdownValueName = this.firstDropdownLabel?.length ? this.firstDropdownLabel : 'value1';\n this._secondDropdownValueName = this.secondDropdownLabel?.length ? this.secondDropdownLabel : 'value2';\n this._inputValueName = this.inputFildLabel?.length ? this.inputFildLabel : 'value3';\n this._dateValueName = this.dateButtonText?.length ? this.dateButtonText : 'value4';\n }\n\n componentDidLoad() {}\n\n emittValuesIfValid() {\n this.formValues = [];\n this.rowData.forEach(item => {\n const rowValue: FormValue = { row: [] };\n\n const buttonSelection = item.buttons.find(x => x.selected === true);\n if (buttonSelection) {\n const buttonValue: RowValue = { name: this._buttonValueName, value: buttonSelection.label };\n rowValue.row.push(buttonValue);\n }\n\n const firstDropdownSelection = item.firstDropdown.find(x => x.selected === true);\n if (firstDropdownSelection) {\n const firstDropdownValue: RowValue = { name: this._firstDropdownValueName, value: firstDropdownSelection.label };\n rowValue.row.push(firstDropdownValue);\n }\n\n const secondDropdownSelection = item.secondDropdown.find(x => x.selected === true);\n if (secondDropdownSelection) {\n const secondDropdownValue: RowValue = { name: this._secondDropdownValueName, value: secondDropdownSelection.label };\n rowValue.row.push(secondDropdownValue);\n }\n\n const input = item.input;\n if (input?.length) {\n const inputValue: RowValue = { name: this._inputValueName, value: input };\n rowValue.row.push(inputValue);\n }\n\n const dates = item.dates[\"start\"];\n if (dates?.length) {\n const datestValue: RowValue = { name: this._dateValueName, value: dates };\n rowValue.row.push(datestValue);\n }\n\n if (rowValue.row.length === 5) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n @Listen('rowValueChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n buttons: val.buttons,\n firstDropdown: val.firstDropdown,\n secondDropdown: val.secondDropdown,\n input: val.input,\n dates: val.dates,\n dateRange: val.dateRange,\n };\n this.emittValuesIfValid();\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData.findIndex(data => data.id === e.detail);\n this.rowData.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n this.rowCount = this.rowData.length;\n this.emittValuesIfValid();\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n addRow() {\n const newRow = this._defaultRow;\n newRow.id = this.generateUniqueId();\n\n this.rowData = [...this.rowData, newRow];\n this.rowCount = this.rowData.length;\n }\n\n setDaysArr() {\n const language = this.languageCode.toLowerCase();\n\n switch (language) {\n case 'en':\n this._defaultRow.dateRange.days = [\n { label: 'Monday', value: '1', selected: false },\n { label: 'Tuesday', value: '2', selected: false },\n { label: 'Wednesday', value: '3', selected: false },\n { label: 'Thursday', value: '4', selected: false },\n { label: 'Friday', value: '5', selected: false },\n ];\n break;\n\n case 'sv':\n this._defaultRow.dateRange.days = [\n { label: 'Måndag', value: '1', selected: false },\n { label: 'Tisdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n case 'da':\n this._defaultRow.dateRange.days = [\n { label: 'Mandag', value: '1', selected: false },\n { label: 'Tirsdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n case 'fi':\n this._defaultRow.dateRange.days = [\n { label: 'Maanantai', value: '1', selected: false },\n { label: 'Tiistai', value: '2', selected: false },\n { label: 'Keskiviikko', value: '3', selected: false },\n { label: 'Torstai', value: '4', selected: false },\n { label: 'Perjantai', value: '5', selected: false },\n ];\n break;\n\n case 'no':\n this._defaultRow.dateRange.days = [\n { label: 'Mandag', value: '1', selected: false },\n { label: 'Tirsdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n default:\n this._defaultRow.dateRange.days = [\n { label: 'Monday', value: '1', selected: false },\n { label: 'Tuesday', value: '2', selected: false },\n { label: 'Wednesday', value: '3', selected: false },\n { label: 'Thursday', value: '4', selected: false },\n { label: 'Friday', value: '5', selected: false },\n ];\n break;\n }\n }\n\n render() {\n return (\n <Host>\n {this.rowData?.map((data, i) => {\n return (\n <div class={'generated-row-' + i} id={'generated-row-connected-dropdown-' + i}>\n <pn-multi-row-connected-dropdown-row\n dropdown-data={this.dropdownData}\n language-code={this.languageCode}\n label={this.label}\n first-dropdown-label={this.firstDropdownLabel}\n second-dropdown-label={this.secondDropdownLabel}\n dropdown-placeholder={this.dropdownPlaceholder}\n add-row-text={this.addRowText}\n input-fild-label={this.inputFildLabel}\n input-fild-placeholder={this.inputFildPlaceholder}\n date-button-text={this.dateButtonText}\n date-placeholder={this.datePlaceholder}\n date-days-from-today={this.dateDaysFromToday}\n allow-multiple-dates={this.allowMultipleDates}\n start-date-label={this.startDateLabel}\n end-date-label={this.endDateLabel}\n multi-date-helper-text={this.multiDateHelperText}\n generate-dates-button-text={this.generateDatesButtonText}\n save-date-button-text={this.saveDateButtonText}\n no-dates-text={this.noDatesText}\n index={i}\n predefined-value={JSON.stringify(data)}\n years-to-add-to-end-date={this.yearsToAddToEndDate}\n ></pn-multi-row-connected-dropdown-row>\n </div>\n );\n })}\n\n {this.allowMultipleRows ? (\n <div class=\"connected-dropdown__row\">\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow();\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|