@postnord/pn-marketweb-components 3.0.3 → 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 +39 -33
- 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 +39 -32
- 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 +39 -33
- 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 +40 -34
- 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-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-3ae1657a.entry.js +0 -2
- package/pn-market-web-components/p-3ae1657a.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-5ff663be.entry.js +0 -2
- package/pn-market-web-components/p-5ff663be.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-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-af16f7e3.entry.js +0 -2
- package/pn-market-web-components/p-af16f7e3.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-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
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as s,d as i,g as a}from"./p-06555615.js";const n='<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 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m0 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m1 2v4.5a1 1 0 1 1-2 0V12a1 1 0 1 1 2 0" clip-rule="evenodd"/></svg>';const l=n;const d="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-date-and-time label{color:#5e554a;font-size:1.4rem}pn-date-and-time .time-separator{margin-top:auto;margin-bottom:auto}pn-date-and-time .date-and-time-group{margin-bottom:1rem}pn-date-and-time .date-and-time-row{display:flex;gap:1rem}pn-date-and-time .helper-text{margin-top:0.2rem;color:#5e554a;display:block}pn-date-and-time .error-message{color:#a70707}";const h=d;const o=class{constructor(s){t(this,s);this.dateandtimerange=e(this,"dateandtimerange",7);this.pnDatePicker=null;this.pnTimeFromHourDropdown=null;this.pnTimeFromMinuteDropdown=null;this.pnTimeToHourDropdown=null;this.pnTimeToMinuteDropdown=null;this.languageCode=null;this.dateAndTimeLabel="";this.dateDaysFromToday=0;this.validTimeRangeMinutes=0;this.errorMessage="";this.dateHelperText="";this.timeHelperText="";this.disableWeekends=false;this.datePlacehodler="";this.language=null;this.hourArr=null;this.minuteArr=null;this.formValue=null;this.invalidTimespan=false;this.selectedDate=null;this.selectedFromHour=null;this.selectedFromMin=null;this.selectedToHour=null;this.selectedToMin=null;this.firstValidDateString="";this.lastValidDateString=""}componentWillLoad(){this.setInitialValues()}componentDidLoad(){this.setDefaultHiddenValue();this.addEventHandlers()}async setInitialValues(){this.setLangugaeCode();this.setFirstValidDate();this.hourArr=this.getNumbersAsStringArr(6,22,1);this.minuteArr=this.getNumbersAsStringArr(0,50,10)}setFirstValidDate(){var t;const e=new Date;e.setDate((t=e.getDate()+this.dateDaysFromToday)!==null&&t!==void 0?t:0);const s=e.getFullYear();const i=(e.getMonth()+1).toString().padStart(2,"0");const a=e.getDate().toString().padStart(2,"0");const n=s+2;this.firstValidDateString=`${s.toString()}-${i}-${a}`;this.lastValidDateString=`${n.toString()}-${i}-${a}`}setLangugaeCode(){if(typeof this.languageCode==="string"&&this.languageCode.trim()===""){this.language=document.querySelector("html").lang}else{this.language=this.languageCode}}setDefaultHiddenValue(){this.selectedFromHour=parseInt(this.hourArr[8]);this.selectedFromMin=0;this.selectedToHour=parseInt(this.hourArr[12]);this.selectedToMin=0;this.updateHiddenValue()}addEventHandlers(){this.pnDatePicker.addEventListener("dateselection",this.handleChange.bind(this));this.pnTimeFromHourDropdown.addEventListener("selectchange",this.handleChange.bind(this));this.pnTimeFromMinuteDropdown.addEventListener("selectchange",this.handleChange.bind(this));this.pnTimeToHourDropdown.addEventListener("selectchange",this.handleChange.bind(this));this.pnTimeToMinuteDropdown.addEventListener("selectchange",this.handleChange.bind(this))}handleChange(t){const e=t.target;if(e===this.pnDatePicker){this.selectedDate=t.detail}if(e===this.pnTimeFromHourDropdown||e===this.pnTimeFromMinuteDropdown||e===this.pnTimeToHourDropdown||e===this.pnTimeToMinuteDropdown){this.handleTimeChange()}this.updateHiddenValue()}handleTimeChange(){var t,e,s,i;const a=(t=this.pnTimeFromHourDropdown.querySelector("[aria-selected=true]"))===null||t===void 0?void 0:t.textContent;const n=(e=this.pnTimeFromMinuteDropdown.querySelector("[aria-selected=true]"))===null||e===void 0?void 0:e.textContent;const l=(s=this.pnTimeToHourDropdown.querySelector("[aria-selected=true]"))===null||s===void 0?void 0:s.textContent;const d=(i=this.pnTimeToMinuteDropdown.querySelector("[aria-selected=true]"))===null||i===void 0?void 0:i.textContent;this.selectedFromHour=parseInt(a);this.selectedFromMin=parseInt(n);this.selectedToHour=parseInt(l);this.selectedToMin=parseInt(d)}updateHiddenValue(){const t=new Date;const e=new Date(t.getFullYear(),t.getMonth(),t.getDate(),this.selectedFromHour,this.selectedFromMin,0,0);const s=new Date(t.getFullYear(),t.getMonth(),t.getDate(),this.selectedToHour,this.selectedToMin,0,0);this.validateTimeRange(e.getTime(),s.getTime());if(this.invalidTimespan||!this.selectedDate){this.formValue=""}else{const t=this.selectedFromMin.toString().padStart(2,"0");const e=this.selectedToMin.toString().padStart(2,"0");this.formValue=`${this.selectedDate}, ${this.selectedFromHour}:${t}-${this.selectedToHour}:${e}`}this.dateandtimerange.emit(this.formValue)}validateTimeRange(t,e){let s=(e-t)/1e3;s/=60;this.invalidTimespan=s<this.validTimeRangeMinutes?true:false}getNumbersAsStringArr(t,e,s){const i=Array.from({length:(e-t)/s+1},((e,i)=>t+i*s));const a=[];i.forEach((t=>{const e=t.toString().padStart(2,"0");a.push(e)}));return a}removePnOptionSelected(){const t=this.hostElement.querySelectorAll("pn-option");t.forEach((t=>{t.removeAttribute("selected")}))}render(){var t,e,a,n;return s(i,{key:"6f7c0f1c403a98ceaadef017f6dfe94e4d09ab06"},s("div",{key:"c4f95d2e042277cd090fa8a8ce4dd6cd357943ad",class:"date-and-time-group"},this.dateAndTimeLabel?s("div",{class:"date-and-time-row"},s("label",null,this.dateAndTimeLabel)):null,s("div",{key:"2c772ab7b24783c634a06879cfede0eaf05952d6",class:"date-and-time-row"},s("pn-date-picker",{key:"6a427ea028bf55b067b0885e2d3b97a0349acdd3",ref:t=>this.pnDatePicker=t,range:"false","disable-weekends":this.disableWeekends,"min-date":this.firstValidDateString,"max-date":this.lastValidDateString,language:this.language,placeholder:this.datePlacehodler})),this.dateHelperText?s("small",{class:"date-and-time-row helper-text"},this.dateHelperText):null),s("div",{key:"7f74f041493bb4da72d070e90d24d38441c5ebb9",class:"date-and-time-group"},s("div",{key:"7b7b4b4ba67f36cf03c4ee6b80a3cdd55a5c8380",class:"date-and-time-row"},s("pn-select",{key:"d5d6fe2b881a8770fc1aec24bce38754b6a17db0",ref:t=>this.pnTimeFromHourDropdown=t,name:"date-and-time-from-houre",placeholder:this.hourArr[8],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(t=this.hourArr)===null||t===void 0?void 0:t.map((t=>s("pn-option",{label:t,value:t})))),s("pn-select",{key:"bb8dafe866a95e94e0e8a1e53ccff80d0729ec48",ref:t=>this.pnTimeFromMinuteDropdown=t,name:"date-and-time-from-minute",placeholder:this.minuteArr[0],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(e=this.minuteArr)===null||e===void 0?void 0:e.map((t=>s("pn-option",{label:t,value:t})))),s("div",{key:"8281bbfae49ca8ec35a1d651d61a1bd478b70c0a",class:"time-separator"},s("span",{key:"d7c895902ce3efac4816f21510444914012fca29"},"-")),s("pn-select",{key:"5fa29d4fc4d01a804427bd2119969ec0d6346df6",ref:t=>this.pnTimeToHourDropdown=t,name:"date-and-time-to-hour",placeholder:this.hourArr[12],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(a=this.hourArr)===null||a===void 0?void 0:a.map((t=>s("pn-option",{label:t,value:t})))),s("pn-select",{key:"968f33b37cad6d2528a789abd63a89c163642c53",ref:t=>this.pnTimeToMinuteDropdown=t,name:"date-and-time-to-minute",placeholder:this.minuteArr[0],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(n=this.minuteArr)===null||n===void 0?void 0:n.map((t=>s("pn-option",{label:t,value:t}))))),this.timeHelperText?s("small",{class:"date-and-time-row helper-text"},this.timeHelperText):null,this.invalidTimespan&&this.errorMessage?s("small",{class:"date-and-time-row error-message"},s("pn-icon",{icon:l,small:"false",color:"warning"}),this.errorMessage):null))}get hostElement(){return a(this)}};o.style=h;export{o as pn_date_and_time};
|
|
2
|
-
//# sourceMappingURL=p-08a64973.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["icon","alert_info_circle","pnDateAndTimeCss","PnDateAndTimeStyle0","PnDateAndTime","this","pnDatePicker","pnTimeFromHourDropdown","pnTimeFromMinuteDropdown","pnTimeToHourDropdown","pnTimeToMinuteDropdown","componentWillLoad","setInitialValues","componentDidLoad","setDefaultHiddenValue","addEventHandlers","setLangugaeCode","setFirstValidDate","hourArr","getNumbersAsStringArr","minuteArr","date","Date","setDate","_a","getDate","dateDaysFromToday","year","getFullYear","month","getMonth","toString","padStart","day","endYear","firstValidDateString","lastValidDateString","languageCode","trim","language","document","querySelector","lang","selectedFromHour","parseInt","selectedFromMin","selectedToHour","selectedToMin","updateHiddenValue","addEventListener","handleChange","bind","e","target","selectedDate","detail","handleTimeChange","fromHourString","textContent","fromMinString","_b","toHourString","_c","toMinString","_d","dateFrom","dateTo","validateTimeRange","getTime","invalidTimespan","formValue","fromMin","toMin","dateandtimerange","emit","from","to","differenceValue","validTimeRangeMinutes","start","stop","step","arr","Array","length","_","index","result","forEach","item","itemAsString","push","removePnOptionSelected","selectOptions","hostElement","querySelectorAll","elm","removeAttribute","render","h","Host","key","class","dateAndTimeLabel","ref","el","range","disableWeekends","placeholder","datePlacehodler","dateHelperText","name","invalid","map","hour","label","value","minute","timeHelperText","errorMessage","small","color"],"sources":["node_modules/pn-design-assets/pn-assets/icons/alert_info_circle.js","src/components/input/pn-date-and-time/pn-date-and-time.scss?tag=pn-date-and-time","src/components/input/pn-date-and-time/pn-date-and-time.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=\"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m0 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m1 2v4.5a1 1 0 1 1-2 0V12a1 1 0 1 1 2 0\" clip-rule=\"evenodd\"/></svg>';\nexport const alert_info_circle = icon;\nexport const alertInfoCircle = icon;\n","@import '../../../globals/main.scss';\n\npn-date-and-time {\n label {\n color: $gray700;\n font-size: 1.4rem;\n }\n\n .time-separator {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .date-and-time-group {\n margin-bottom: 1rem;\n }\n .date-and-time-row {\n display: flex;\n gap: 1rem;\n }\n\n .helper-text {\n margin-top: 0.2rem;\n color: $gray700;\n display: block;\n }\n\n .error-message {\n color: #a70707;\n }\n}\n","import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLElement = null;\n pnTimeFromMinuteDropdown: HTMLElement = null;\n pnTimeToHourDropdown: HTMLElement = null;\n pnTimeToMinuteDropdown: HTMLElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() datePlacehodler: string = '';\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number = null;\n @State() selectedFromMin: number = null;\n @State() selectedToHour: number = null;\n @State() selectedToMin: number = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n async setInitialValues() {\n this.setLangugaeCode();\n this.setFirstValidDate();\n\n this.hourArr = this.getNumbersAsStringArr(6, 22, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLangugaeCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[8]);\n this.selectedFromMin = 0;\n this.selectedToHour = parseInt(this.hourArr[12]);\n this.selectedToMin = 0;\n\n this.updateHiddenValue();\n }\n\n addEventHandlers() {\n this.pnDatePicker.addEventListener('dateselection', this.handleChange.bind(this));\n\n this.pnTimeFromHourDropdown.addEventListener('selectchange', this.handleChange.bind(this));\n this.pnTimeFromMinuteDropdown.addEventListener('selectchange', this.handleChange.bind(this));\n this.pnTimeToHourDropdown.addEventListener('selectchange', this.handleChange.bind(this));\n this.pnTimeToMinuteDropdown.addEventListener('selectchange', this.handleChange.bind(this));\n }\n\n handleChange(e) {\n const target = e.target;\n\n if (target === this.pnDatePicker) {\n this.selectedDate = e.detail;\n }\n\n if (target === this.pnTimeFromHourDropdown || target === this.pnTimeFromMinuteDropdown || target === this.pnTimeToHourDropdown || target === this.pnTimeToMinuteDropdown) {\n this.handleTimeChange();\n }\n\n this.updateHiddenValue();\n }\n\n handleTimeChange() {\n const fromHourString = this.pnTimeFromHourDropdown.querySelector('[aria-selected=true]')?.textContent;\n const fromMinString = this.pnTimeFromMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;\n const toHourString = this.pnTimeToHourDropdown.querySelector('[aria-selected=true]')?.textContent;\n const toMinString = this.pnTimeToMinuteDropdown.querySelector('[aria-selected=true]')?.textContent;\n\n this.selectedFromHour = parseInt(fromHourString);\n this.selectedFromMin = parseInt(fromMinString);\n this.selectedToHour = parseInt(toHourString);\n this.selectedToMin = parseInt(toMinString);\n }\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n\n this.dateandtimerange.emit(this.formValue);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlacehodler}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLElement)}\n name=\"date-and-time-from-houre\"\n placeholder={this.hourArr[8]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.hourArr?.map((hour: string) => <pn-option label={hour} value={hour}></pn-option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLElement)}\n name=\"date-and-time-from-minute\"\n placeholder={this.minuteArr[0]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.minuteArr?.map((minute: string) => <pn-option label={minute} value={minute}></pn-option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLElement)}\n name=\"date-and-time-to-hour\"\n placeholder={this.hourArr[12]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.hourArr?.map((hour: string) => <pn-option label={hour} value={hour}></pn-option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLElement)}\n name=\"date-and-time-to-minute\"\n placeholder={this.minuteArr[0]}\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan}\n >\n {this.minuteArr?.map((minute: string) => <pn-option label={minute} value={minute}></pn-option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getSocialMediaIconsByType","linkType","fill","translations","sv","searchlabel","searchplaceholder","searchbuttontext","menuHomeButton","menuGoBackButton","mainMenuButton","menuStartButton","en","da","no","fi","zh","it","nl","pnMarketwebSitefooterCss","PnMarketwebSitefooterStyle0","PnMarketwebSiteheader","this","fetchHelper","FetchHelper","endpointPath","componentWillLoad","setInitialValues","then","init","href","window","location","marketWebContextService","MarketWebContextService","market","resolvedMarket","getMarket","language","getLanguage","environment","getEnvironmentName","endpoint","_a","indexOf","getEndpoint","setTranslations","fetchData","i18n","onLanguageChange","onMarketChange","setFetchUrl","endpointBase","theme","fetchingData","lastIndexOf","length","substring","fetchUrl","data","fetchJson","mode","cache","onFetchRefreshed","bind","setStateFromData","console","warn","siteDefinition","sitedefinition","footerContent","footer","siteDomainInUrls","adjustLinks","gotData","bottomLinks","forEach","link","linkHref","adjustHref","columns","col","links","domainUrl","url","uniqueId","text","replace","renderCols","map","column","h","firstLinkAsHeader","target","openInNewWindow","rel","title","linkText","id","heading","body","Object","assign","class","i","linkId","innerHTML","name","renderBottomLinks","renderDefaultFooter","Host","_b","slot","_c","copyrightText","_d","renderSocialMeidaIconListElements","socialmedialinks","renderSwanComponent","showSwan","swanInfo","swanLicense","swanLink","renderDotComFooter","render"],"sources":["src/components/layout-components/pn-marketweb-sitefooter/socialMediaIcons.ts","src/components/layout-components/pn-marketweb-sitefooter/translations.ts","src/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.scss?tag=pn-marketweb-sitefooter","src/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.tsx"],"sourcesContent":["export const getSocialMediaIconsByType = (linkType = '', fill = '#005D92') => {\n switch (linkType) {\n case 'facebook':\n return `<svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"28\" cy=\"28\" r=\"28\" fill=\"${fill}\" />\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M38.6754 16H17.3246C16.593 16 16 16.5929 16 17.3246V38.6754C16 39.407 16.593 40 17.3246 40H28.8191V30.706H25.6915V27.0839H28.8191V24.4127C28.8191 21.3128 30.7124 19.6248 33.4778 19.6248C34.8023 19.6248 35.9409 19.7235 36.2726 19.7675V23.0071L34.3547 23.008C32.8507 23.008 32.5596 23.7226 32.5596 24.7713V27.0839H36.1463L35.6793 30.706H32.5596V40H38.6754C39.407 40 40 39.407 40 38.6754V17.3246C40 16.5929 39.407 16 38.6754 16Z\" fill=\"white\" />\n </svg>`;\n case 'twitter':\n return `<svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"28\" cy=\"28\" r=\"28\" fill=\"${fill}\"/>\n <path d=\"M34.8996 17.5H38.5996L30.5996 26.4L39.9996 38.6H32.5996L26.7996 31.2L20.1996 38.6H16.4996L25.0996 29L16.0996 17.5H23.5996L28.7996 24.2L34.8996 17.5ZM33.5996 36.4H35.5996L22.4996 19.5H20.2996L33.5996 36.4Z\" fill=\"white\"/>\n </svg>`;\n case 'linkedin':\n return `<svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"28\" cy=\"28\" r=\"28\" fill=\"${fill}\" />\n <path d=\"M37.5809 16H18.4191C17.0832 16 16 17.0747 16 18.399V37.601C16 38.9267 17.0832 40 18.4191 40H37.5809C38.9182 40 40 38.9253 40 37.601V18.399C40 17.0747 38.9182 16 37.5809 16ZM23.7013 34.9895H20.4725V24.7229H23.7013V34.9895ZM22.0653 23.4634C21.0462 23.4634 20.3874 22.7487 20.3874 21.8672C20.3874 20.965 21.0672 20.2711 22.1085 20.2711C23.1499 20.2711 23.7864 20.9636 23.8074 21.8672C23.8074 22.7501 23.1485 23.4634 22.0653 23.4634ZM35.4912 34.9895H32.2624V29.3002C32.2624 27.9772 31.7948 27.075 30.6264 27.075C29.7344 27.075 29.204 27.6834 28.9695 28.2711C28.8843 28.4808 28.8634 28.7746 28.8634 29.0685V34.9881H25.6332V27.9979C25.6332 26.7177 25.5913 25.6472 25.5481 24.7229H28.3525L28.5018 26.1507H28.566C28.9904 25.4789 30.0318 24.4925 31.7739 24.4925C33.8984 24.4925 35.4912 25.8996 35.4912 28.9222V34.9895Z\" fill=\"white\" />\n </svg>`;\n case 'instagram':\n return `<svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"28\" cy=\"28\" r=\"28\" fill=\"${fill}\" />\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M27.9995 18.1621C31.2037 18.1621 31.5829 18.1745 32.8485 18.2321C34.0183 18.2854 34.6538 18.4807 35.0767 18.6451C35.6369 18.8628 36.0365 19.1228 36.4566 19.5425C36.8768 19.9626 37.1368 20.3623 37.354 20.9224C37.5184 21.3454 37.7137 21.9808 37.767 23.1507C37.8246 24.4158 37.837 24.7955 37.837 27.9998C37.837 31.204 37.8246 31.5832 37.767 32.8488C37.7137 34.0187 37.5184 34.6541 37.354 35.0771C37.1363 35.6373 36.8763 36.0369 36.4566 36.457C36.0365 36.8772 35.6369 37.1372 35.0767 37.3545C34.6538 37.5188 34.0183 37.7141 32.8485 37.7674C31.5834 37.8251 31.2037 37.8375 27.9995 37.8375C24.7953 37.8375 24.4157 37.8251 23.1506 37.7674C21.9807 37.7141 21.3453 37.5188 20.9223 37.3545C20.3622 37.1368 19.9625 36.8767 19.5424 36.457C19.1223 36.0369 18.8622 35.6373 18.645 35.0771C18.4807 34.6541 18.2854 34.0187 18.232 32.8488C18.1744 31.5837 18.162 31.204 18.162 27.9998C18.162 24.7955 18.1744 24.4163 18.232 23.1507C18.2854 21.9808 18.4807 21.3454 18.645 20.9224C18.8627 20.3623 19.1228 19.9626 19.5424 19.5425C19.9625 19.1224 20.3622 18.8623 20.9223 18.6451C21.3453 18.4807 21.9807 18.2854 23.1506 18.2321C24.4161 18.1745 24.7953 18.1621 27.9995 18.1621ZM27.9995 16C24.7405 16 24.3318 16.0138 23.052 16.0724C21.7749 16.1305 20.9028 16.3334 20.1392 16.6302C19.35 16.9369 18.6807 17.3471 18.0139 18.0144C17.347 18.6813 16.9365 19.3505 16.6302 20.1393C16.3334 20.9029 16.1305 21.7751 16.0724 23.0521C16.0138 24.332 16 24.7407 16 27.9998C16 31.2588 16.0138 31.6675 16.0724 32.9474C16.1305 34.2245 16.3334 35.0966 16.6302 35.8602C16.9369 36.6495 17.347 37.3187 18.0144 37.9856C18.6817 38.6529 19.3505 39.0631 20.1397 39.3698C20.9028 39.6666 21.7754 39.8695 23.0524 39.9276C24.3323 39.9862 24.741 40 28 40C31.259 40 31.6677 39.9862 32.9476 39.9276C34.2246 39.8695 35.0972 39.6666 35.8603 39.3698C36.6495 39.0631 37.3188 38.6529 37.9856 37.9856C38.653 37.3182 39.0631 36.6495 39.3698 35.8602C39.6666 35.0971 39.8695 34.2245 39.9276 32.9474C39.9862 31.6675 40 31.2588 40 27.9998C40 24.7407 39.9862 24.332 39.9276 23.0521C39.8695 21.7751 39.6666 20.9024 39.3698 20.1393C39.0631 19.35 38.653 18.6808 37.9856 18.0139C37.3183 17.3466 36.6495 16.9365 35.8603 16.6297C35.0963 16.3334 34.2241 16.1305 32.9471 16.0724C31.6672 16.0138 31.2585 16 27.9995 16ZM27.9996 21.8379C24.5963 21.8379 21.8379 24.5969 21.8379 27.9998C21.8379 31.4027 24.5968 34.1616 27.9996 34.1616C31.4025 34.1616 34.1613 31.4027 34.1613 27.9998C34.1613 24.5969 31.4029 21.8379 27.9996 21.8379ZM27.9996 31.9995C25.7904 31.9995 23.9999 30.2085 23.9999 27.9998C23.9999 25.7905 25.7909 24 27.9996 24C30.2083 24 31.9993 25.791 31.9993 27.9998C31.9993 30.209 30.2088 31.9995 27.9996 31.9995ZM35.845 21.594C35.845 22.3892 35.2003 23.0339 34.4051 23.0339C33.6098 23.0339 32.9651 22.3892 32.9651 21.594C32.9651 20.7987 33.6098 20.154 34.4051 20.154C35.2003 20.154 35.845 20.7987 35.845 21.594Z\" fill=\"white\" />\n </svg>`;\n case 'youtube':\n return `<svg width=\"56\" height=\"56\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 56 56\" style=\"enable-background:new 0 0 56 56;\" xml:space=\"preserve\">\n <circle fill=\"${fill}\" cx=\"28\" cy=\"28\" r=\"28\"></circle>\n <g transform=\"translate(9937 4831.656)\">\n <path fill=\"#fff\" d=\"M-9909-4793.8c0,0-2.2,0-4.7-0.1c-1.4,0-2.7-0.1-3.7-0.2c-1.3-0.1-2.1-0.2-2.6-0.3\n c-0.3-0.1-0.6-0.2-0.9-0.4c-0.3-0.2-0.5-0.3-0.7-0.6s-0.4-0.5-0.6-0.7c-0.2-0.3-0.3-0.6-0.4-0.9c-0.4-1.7-0.6-4-0.6-6.7\n c0-1.2,0.1-2.4,0.2-3.6c0.1-0.6,0.1-1.1,0.2-1.7c0.1-0.5,0.1-1.1,0.2-1.5c0.1-0.3,0.2-0.6,0.4-0.9c0.2-0.3,0.3-0.5,0.6-0.7\n s0.5-0.4,0.7-0.6c0.3-0.2,0.6-0.3,0.9-0.4c0.5-0.1,1.4-0.3,2.6-0.3c1-0.1,2.2-0.1,3.7-0.2c2.4-0.1,4.6-0.1,4.7-0.1\n c0,0,2.2,0,4.7,0.1c1.4,0,2.7,0.1,3.7,0.2c1.3,0.1,2.1,0.2,2.6,0.3c0.3,0.1,0.6,0.2,0.9,0.4c0.3,0.2,0.5,0.3,0.7,0.6\n s0.4,0.5,0.6,0.7c0.2,0.3,0.3,0.6,0.4,0.9c0.2,0.9,0.4,2,0.5,3.1c0.1,1.1,0.1,2.3,0.1,3.6c0,1.2-0.1,2.4-0.2,3.6\n c-0.1,0.6-0.1,1.1-0.2,1.7c-0.1,0.5-0.2,1.1-0.2,1.5c-0.1,0.3-0.2,0.6-0.4,0.9c-0.2,0.3-0.3,0.5-0.6,0.7c-0.2,0.2-0.5,0.4-0.7,0.6\n c-0.3,0.2-0.6,0.3-0.9,0.4c-0.5,0.1-1.4,0.3-2.6,0.3c-1,0.1-2.2,0.1-3.7,0.2C-9906.8-4793.8-9909-4793.8-9909-4793.8z\n M-9911.8-4807.9v8.4l7.3-4.2L-9911.8-4807.9z\"></path>\n </g>\n </svg>`;\n default:\n return '';\n }\n};\n","export const translations = {\n sv: {\n searchlabel: 'Sök',\n searchplaceholder: 'Vad letar du efter?',\n searchbuttontext: 'Sök',\n menuHomeButton: 'Hem',\n menuGoBackButton: 'Gå tillbaka',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n },\n en: {\n searchlabel: 'Search',\n searchplaceholder: 'Search',\n searchbuttontext: 'Search',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n },\n da: {\n searchlabel: 'Søg',\n searchplaceholder: 'Søg',\n searchbuttontext: 'Søg',\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbage',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n },\n no: {\n searchlabel: 'Søk',\n searchplaceholder: 'Søk',\n searchbuttontext: 'Søk',\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbake',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n },\n fi: {\n searchlabel: 'Hae',\n searchplaceholder: 'Hae',\n searchbuttontext: 'Hae',\n menuHomeButton: 'Koti',\n menuGoBackButton: 'Mene takaisin',\n mainMenuButton: 'Valikko',\n menuStartButton: 'Alkaa',\n },\n zh: {\n searchlabel: 'Search',\n searchplaceholder: 'Search',\n searchbuttontext: 'Search',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n },\n it: {\n searchlabel: 'Search',\n searchplaceholder: 'Search',\n searchbuttontext: 'Search',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n },\n nl: {\n searchlabel: 'Search',\n searchplaceholder: 'Search',\n searchbuttontext: 'Search',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n },\n};\n","@import '../../../globals/main.scss';\n@import '../../navigation/pn-site-footer/pn-site-footer-common.scss';\n\npn-marketweb-sitefooter {\n .social-media {\n a[target='_blank']:not(.pn-button):after {\n content: none;\n }\n }\n}\n\npn-marketweb-sitefooter:not([theme='dotcom']) {\n @media screen and (min-width: $sitefooter-media-smalldesktop) {\n pn-site-footer-col:has(div[slot='bottomsocialmediadesktop']) {\n display: flex;\n align-content: flex-start;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n min-width: min-content;\n\n div[slot='bottomsocialmediadesktop'] {\n display: block;\n margin-top: auto;\n margin-bottom: 1.6rem;\n\n .trustpilot-widget {\n display: flex;\n justify-content: flex-start;\n }\n }\n }\n }\n\n [slot='bottomsocialmediamobile'] {\n display: block;\n margin-top: 1rem;\n margin-bottom: 2.3rem;\n\n .trustpilot-widget {\n display: flex;\n justify-content: center;\n\n @media screen and (min-width: $sitefooter-media-phoneheight) {\n justify-content: flex-start;\n }\n }\n\n @media screen and (min-width: $sitefooter-media-smalldesktop) {\n display: none;\n }\n }\n}\n\ndiv[slot='middle-extra-mobile'],\ndiv[slot='middle-extra'] {\n display: none;\n}\n\npn-marketweb-sitefooter[theme='dotcom'] {\n width: 100%;\n\n div[slot='bottomsocialmediamobile'],\n div[slot='bottomsocialmediadesktop'] {\n display: none;\n }\n\n div[slot='middle-extra-mobile'] {\n display: block;\n width: 100%;\n text-align: -webkit-center;\n margin: 2.4rem 0;\n }\n\n @media screen and (min-width: 1024px) {\n div[slot='middle-extra-mobile'] {\n display: none;\n }\n\n div[slot='middle-extra'] {\n display: block;\n width: 100%;\n text-align: -webkit-center;\n margin: 3.2rem 0;\n }\n }\n\n div[slot='bottom'] .social-media.social-media--swan {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n @media screen and (min-width: 769px) {\n flex-direction: row;\n }\n\n ul {\n margin-bottom: 1.6rem;\n @media screen and (min-width: 768px) {\n margin-bottom: 0;\n margin-right: 4.8rem;\n }\n }\n\n .swan-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n @media screen and (min-width: 768px) {\n width: auto;\n flex-direction: row;\n }\n\n .separator {\n border-top: 1px solid #d3cecb;\n margin-bottom: 1.6rem;\n\n @media screen and (min-width: 768px) {\n display: flex;\n width: 1px;\n height: auto;\n min-height: 90%;\n background-color: #d3cecb;\n margin-right: 4.8rem;\n margin-bottom: 0;\n }\n }\n\n .swan {\n justify-self: center;\n align-self: center;\n }\n }\n }\n\n //com layout in different colors\n &[backgroundcolor='bluedarkest'] pn-site-footer[theme='dotcom'] {\n pn-site-footer-col[theme='dotcom'] svg path {\n fill: $white;\n }\n\n pn-swan * {\n color: white;\n }\n }\n\n &[backgroundcolor='blue'] pn-site-footer[theme='dotcom'] {\n background-color: $blue700;\n\n .pn-sitefooter-top,\n .pn-sitefooter-bottom {\n background-color: $blue700;\n }\n\n > svg path {\n fill: $blue700;\n }\n\n .pn-sitefooter-bottom .social-media {\n border-top: 0.1rem solid $gray200;\n border-bottom: 0.1rem solid $gray200;\n\n & > ul > li:hover svg > circle {\n fill: $blue200;\n }\n }\n\n pn-site-footer-col[theme='dotcom'] svg path {\n fill: $white;\n }\n\n pn-swan * {\n color: white;\n }\n }\n\n &[backgroundcolor='gray'] pn-site-footer[theme='dotcom'] {\n background-color: $gray50;\n\n > svg path {\n fill: $gray50;\n }\n\n .pn-sitefooter-top,\n .pn-sitefooter-bottom {\n background-color: $gray50;\n }\n\n .pn-sitefooter-bottom {\n .social-media {\n border-top: 0.1rem solid $gray200;\n border-bottom: 0.1rem solid $gray200;\n\n li svg circle {\n fill: $blue700;\n }\n\n li svg:hover > circle {\n fill: $blue400;\n }\n }\n\n > [slot='bottom'] > .copyright * {\n color: $blue700;\n }\n }\n\n pn-site-footer-col[theme='dotcom'] {\n * {\n color: $blue900;\n }\n\n svg path {\n fill: $blue900;\n }\n\n a:not(h3) {\n color: $blue700;\n }\n }\n }\n}\n//\n\npn-marketweb-sitefooter[theme='tpl'] {\n pn-site-footer {\n background-color: $blue900;\n padding-top: 6rem;\n\n @media screen and (max-width: $sitefooter-media-phoneheight) {\n padding-left: 2.6rem;\n padding-right: 2.6rem;\n }\n\n & > svg {\n display: none;\n }\n }\n\n div.pn-sitefooter-bottom {\n background-color: $blue900;\n color: $white;\n margin: 2.5rem 0;\n\n div[slot='bottom'] {\n border-top: 1px solid $blue700;\n border-bottom: 1px solid $blue700;\n }\n\n a {\n color: $white;\n\n &:hover {\n text-decoration: underline;\n color: $white;\n }\n }\n }\n\n .pn-sitefooter-top,\n .pn-sitefooter-logo {\n background-color: $blue900;\n color: $white;\n\n a {\n color: $coral200;\n\n &:hover {\n text-decoration: underline;\n color: $coral200;\n }\n }\n }\n\n .pn-sitefooter-top .pn-sitefooter-cols {\n @media screen and (max-width: $sitefooter-media-smalldesktop) {\n padding: 0 8rem;\n }\n\n @media screen and (max-width: $sitefooter-media-smalldesktop) {\n padding: 0 5rem;\n }\n\n @media screen and (max-width: $sitefooter-media-tablet) {\n padding: 0 3rem;\n }\n\n @media screen and (min-width: $sitefooter-media-phoneheight) {\n width: 114rem;\n justify-content: space-between;\n }\n }\n\n div.pn-sitefooter-logo a svg path {\n fill: $blue400;\n }\n\n div pn-site-footer-col {\n @media screen and (min-width: $sitefooter-media-phoneheight) {\n width: unset;\n min-width: unset;\n\n &:first-child {\n min-width: 45%;\n }\n }\n\n &:first-child {\n @media screen and (max-width: $sitefooter-media-smalldesktop) {\n min-width: 100%;\n padding-top: 0;\n }\n }\n\n a {\n display: inline-flex;\n gap: 0.7rem;\n align-items: flex-start;\n\n h3 {\n color: $white;\n }\n\n span.footer-tpl-links {\n display: none;\n }\n\n &:hover {\n text-decoration: underline;\n color: $coral200;\n }\n\n pn-icon svg {\n background-color: $coral200;\n border-radius: 0.3rem;\n height: 1.7rem;\n width: 1.7rem;\n margin-top: 0.3rem;\n\n path {\n fill: $blue900;\n }\n }\n }\n\n h3 {\n margin-bottom: 3.5rem;\n }\n\n ul.social-media {\n flex-direction: column;\n gap: 0.5rem;\n row-gap: 0rem;\n\n li {\n max-height: 4rem;\n }\n\n a {\n align-items: center;\n gap: 0;\n\n circle {\n display: none;\n }\n\n span.footer-tpl-links {\n display: block;\n }\n\n svg {\n height: 3.7rem;\n width: 3.7rem;\n\n path {\n fill: $coral200;\n }\n }\n }\n }\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { MenuSiteDefinition, SiteFooterContentModel } from './pn-marketweb-sitefooter-types';\nimport { getSocialMediaIconsByType } from './socialMediaIcons';\nimport { translations } from './translations';\n\n@Component({\n tag: 'pn-marketweb-sitefooter',\n styleUrl: 'pn-marketweb-sitefooter.scss',\n})\nexport class PnMarketwebSiteheader {\n @Element() hostElement: Element;\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = 'se';\n /** Specifies which language we want to show (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = 'sv';\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n /** Specifies which endpoint domain we should load from */\n @Prop() endpoint: string = null;\n\n /** Adjusts the menus URLs */\n @Prop() siteDomainInUrls: boolean = false;\n\n /** If the component should use cached requests */\n @Prop() cache: boolean = false;\n\n /** dotcom prop */\n @Prop({ reflect: true }) theme: string = 'default';\n /** dotcom backgroundcolor */\n @Prop({ reflect: true }) backgroundcolor: string = 'darkestblue';\n\n /** swan flag - default false */\n @Prop() showSwan: boolean = false;\n\n @State() siteDefinition: MenuSiteDefinition;\n @State() footerContent: SiteFooterContentModel;\n\n @State() i18n: any;\n @State() gotData: boolean = false;\n @State() fetchingData: boolean = false;\n\n // FetchHelper\n fetchHelper = new FetchHelper('sitefooter');\n\n //endpoint\n endpointPath = '/api/footer/footer';\n\n componentWillLoad() {\n this.setInitialValues().then(() => {\n this.init();\n });\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n if (!this.market) {\n const resolvedMarket = await marketWebContextService.getMarket();\n this.market = resolvedMarket;\n }\n if (!this.language) {\n const resolvedMarket = await marketWebContextService.getLanguage();\n this.language = resolvedMarket;\n }\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n async init() {\n this.setTranslations();\n await this.fetchData();\n }\n\n setTranslations() {\n if (this.language && translations[this.language]) {\n this.i18n = translations[this.language];\n }\n }\n\n @Watch('language')\n onLanguageChange() {\n this.setTranslations();\n this.fetchData();\n }\n\n @Watch('market')\n onMarketChange() {\n this.fetchData();\n }\n\n setFetchUrl(endpointBase: string) {\n switch (this.theme) {\n case 'dotcom':\n return `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}&breakOutSocialMedia=true&extendColumns=true`;\n default:\n return `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;\n }\n }\n\n async fetchData() {\n if (this.endpoint === null || !this.market || !this.language) {\n // console.warn(`One or more values where not specified.\\nEndpoint: ${this.endpoint}\\nMarket: ${this.market}\\nLanguage: ${this.language}`)\n return;\n }\n\n this.fetchingData = true;\n const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = this.setFetchUrl(endpointBase);\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n this.onFetchRefreshed.bind(this),\n )) as any;\n await this.setStateFromData(data);\n }\n\n onFetchRefreshed(data) {\n this.setStateFromData(data);\n }\n\n setStateFromData(data: any) {\n if (typeof data !== 'object') {\n console.warn('Data was not valid', data);\n }\n\n // Set site definition\n this.siteDefinition = data.sitedefinition;\n\n // Set footer content\n this.footerContent = data.footer;\n\n if (this.siteDomainInUrls) {\n this.adjustLinks();\n }\n\n this.gotData = true;\n this.fetchingData = true;\n }\n adjustLinks() {\n this.footerContent.bottomLinks.forEach(link => {\n link.linkHref = this.adjustHref(link.linkHref);\n });\n this.footerContent.columns.forEach(col => {\n col.links.forEach(link => {\n link.linkHref = this.adjustHref(link.linkHref);\n });\n });\n }\n\n adjustHref(href: string) {\n if (!href || href.indexOf('http') === 0 || this.siteDomainInUrls) {\n return href;\n }\n const domainUrl =\n this.siteDefinition.url.lastIndexOf('/') === this.siteDefinition.url.length - 1\n ? this.siteDefinition.url.substring(0, this.siteDefinition.url.length - 1)\n : this.siteDefinition.url;\n href = domainUrl + href;\n return href;\n }\n\n uniqueId(text: string) {\n return 'footer-' + text.replace(/[^A-Za-z0-9.\\\\\\/]/gim, '');\n }\n\n renderCols() {\n if (this.gotData && this.footerContent?.columns) {\n return this.footerContent.columns.map(column => {\n return (\n <pn-site-footer-col theme={this.theme}>\n {column.firstLinkAsHeader && column.links && column.links[0] ? (\n <a\n href={column.links[0].linkHref}\n target={column.links[0].openInNewWindow ? '_blank' : null}\n rel={column.links[0].openInNewWindow ? 'noopener nofollower noreferrer' : null}\n title={column.links[0].linkText}\n id={this.uniqueId(column.links[0].linkText)}\n >\n <h3>{column.links[0].linkText}</h3>\n </a>\n ) : (\n <h3>{column.heading}</h3>\n )}\n {column.links && (!column.body || this.theme === 'tpl') ? (\n <ul {...(column.links && column.links[0] && column.links[0].linkType && { class: 'social-media' })}>\n {column.links.map((link, i) => {\n if (!link.linkHref || (column.firstLinkAsHeader && i == 0)) {\n return false;\n }\n let linkText = link.linkText;\n if (link.linkType) {\n linkText = getSocialMediaIconsByType(link.linkType);\n }\n let linkId = this.uniqueId(linkText);\n return (\n <li>\n <a href={link.linkHref} {...(link.openInNewWindow && { target: '_blank' })} title={link.linkText} innerHTML={linkText} id={linkId}>\n {this.theme === 'tpl' ? <span class=\"footer-tpl-links\">{link.linkText}</span> : null}\n </a>\n </li>\n );\n })}\n </ul>\n ) : null}\n {column.body ? <div innerHTML={column.body}></div> : null}\n <slot name=\"bottomsocialmediadesktop\" />\n <slot name=\"bottomsocialmediamobile\" />\n </pn-site-footer-col>\n );\n });\n } else {\n return null;\n }\n }\n\n renderBottomLinks() {\n return this.footerContent.bottomLinks.map(link => {\n if (!link.linkHref) {\n return <li>{link.linkText}</li>;\n }\n let linkId = this.uniqueId(link.linkText);\n\n return (\n <li>\n <a href={link.linkHref} {...(link.openInNewWindow && { target: '_blank' })} title={link.linkText} id={linkId}>\n {link.linkText}\n </a>\n </li>\n );\n });\n }\n\n renderDefaultFooter() {\n return (\n <Host language={this.language} market={this.market} environment={this.environment}>\n <pn-site-footer url={this.siteDefinition?.url ?? ''}>\n <slot name=\"logo\"></slot>\n {this.renderCols()}\n\n <div slot=\"bottom\">\n {this.gotData && this.footerContent?.copyrightText ? <span>{this.footerContent.copyrightText}</span> : null}\n {this.gotData && this.footerContent?.bottomLinks ? (\n <span>\n {this.footerContent.bottomLinks.map(link => {\n if (!link.linkHref) {\n return <span>{link.linkText}</span>;\n }\n let linkId = this.uniqueId(link.linkText);\n return (\n <a href={link.linkHref} {...(link.openInNewWindow && { target: '_blank' })} title={link.linkText} id={linkId}>\n {link.linkText}\n </a>\n );\n })}\n </span>\n ) : null}\n </div>\n </pn-site-footer>\n </Host>\n );\n }\n\n renderSocialMeidaIconListElements() {\n return (\n this.gotData &&\n this.footerContent?.socialmedialinks.map(link => {\n let linkText = getSocialMediaIconsByType(link.linkType, '#00A0D6');\n let linkId = this.uniqueId(link.linkText);\n return (\n <li>\n <a href={link.linkHref} {...(link.openInNewWindow && { target: '_blank' })} title={link.linkText} innerHTML={linkText} id={linkId}></a>\n </li>\n );\n })\n );\n }\n\n renderSwanComponent() {\n return (\n this.showSwan && (\n <div class=\"swan-wrapper\">\n <div class=\"separator\"></div>\n <pn-swan language={this.language} license-number={this.footerContent?.swanInfo?.swanLicense} link-to={this.footerContent?.swanInfo?.swanLink} />\n </div>\n )\n );\n }\n\n renderDotComFooter() {\n return (\n <Host language={this.language} market={this.market} environment={this.environment}>\n <pn-site-footer theme={this.theme} url={this.siteDefinition?.url ?? ''}>\n {this.renderCols()}\n <slot name=\"middle-extra\"></slot>\n <slot name=\"middle-extra-mobile\"></slot>\n <div slot=\"bottom\">\n <div class={`social-media ${this.showSwan ? 'social-media--swan' : ''}`}>\n <ul>{this.renderSocialMeidaIconListElements()}</ul>\n {this.renderSwanComponent()}\n </div>\n\n <div class=\"copyright\">\n {this.gotData && this.footerContent?.copyrightText ? <span>{this.footerContent.copyrightText}</span> : null}\n {this.gotData && this.footerContent?.bottomLinks ? <ul>{this.renderBottomLinks()}</ul> : null}\n </div>\n </div>\n </pn-site-footer>\n </Host>\n );\n }\n\n render() {\n switch (this.theme) {\n case 'dotcom':\n return this.renderDotComFooter();\n default:\n return this.renderDefaultFooter();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["translations","sv","searchlabel","searchplaceholder","searchbuttontext","menuHomeButton","menuGoBackButton","mainMenuButton","menuStartButton","profileSelectionFlyoutHeading","unifiedLoginButton","unifiedMyPagesButton","en","da","no","fi","de","zh","it","nl","es","fr","tr","pt","pl","pnMarketwebSiteheaderCss","PnMarketwebSiteheaderStyle0","PnMarketwebSiteheader","this","endpointPath","fetchHelper","FetchHelper","AutocompleteEndpoint","componentWillLoad","setInitialValues","then","init","href","window","location","marketWebContextService","MarketWebContextService","market","resolvedMarket","getMarket","language","getLanguage","environment","getEnvironmentName","endpoint","_a","indexOf","getEndpoint","setTranslations","fetchData","setTimeout","checkMenuOverflow","i18n","searchPlaceholder","onLanguageSelectorChange","e","detail","dispatchEvent","CustomEvent","onLanguageChange","changeLanguage","emit","onMarketChange","changeMarket","fetchingData","endpointBase","lastIndexOf","length","substring","fetchUrl","pageId","data","fetchJson","mode","cache","setStateFromData","getLanguageVersionUrl","item","spaMode","alternativeTag","document","querySelector","twoLetterISOLanguageName","getAttribute","siteUrl","siteDefinition","url","console","warn","sitedefinition","headerState","loginManager","setSiteUrl","updatedMenuItems","siteDomainInUrls","mainMenu","menuItems","map","adjustMenuItemUrls","name","hideHomeMenuItem","unshift","id","open","selected","children","search","Object","assign","siteSelector","siteSelectorViewModel","languageSelector","languageSelectorViewModel","setLanguageOptions","loginDialog","loginViewModel","loggedInLinks","adjustHref","loginMenuLinks","spaModeAdjustments","gotData","homePageLink","_c","_b","hostname","adjustedItems","domainUrl","languages","hrefLangsTags","Array","prototype","slice","call","querySelectorAll","hrefLangs","tag","hrefLangValue","languageOptions","languageOption","includes","push","onLoginStateChange","loggedIn","token","promotedItemId","linkText","replace","handleResize","requestAnimationFrame","row","hostElement","firstMenuLevel","parent","parentElement","tagName","toLocaleLowerCase","parentWidth","scrollWidth","elmWidth","clientWidth","isOverFlowed","minimizeSearch","adjustSiteSelectorUrl","loginDomains","matchedHref","filter","domain","getLoginUrl","render","h","Host","key","class","hideSiteSelector","buttontext","currentSiteTitle","heading","description","currentSiteDescription","_d","siteSelections","site","linkDescription","newwindow","openInNewWindow","title","xmlns","width","height","viewBox","d","fill","transform","hideLogin","userToken","fullname","userFullname","loggedin","userLoggedin","showProfileSelection","showUnifiedLogin","checkUserLoggedInStateInterval","hideLanguageSelector","value","nativeName","code","isCurrent","siteid","hideSearch","icononly","onMenuOpenChange","body","setAttribute","itemid","target","linkTarget","linkid","trackingId","promotedMenuItems","label","navigationHeading","childitem","promotedMenuItemsHeader","slot","emitEvents","_e","_f","pageLink","primary"],"sources":["src/components/layout-components/pn-marketweb-siteheader/translations.ts","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.scss?tag=pn-marketweb-siteheader","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.tsx"],"sourcesContent":["export const translations = {\n 'sv': {\n searchlabel: 'Sök',\n searchplaceholder: 'Vad letar du efter?',\n searchbuttontext: 'Sök',\n menuHomeButton: 'Hem',\n menuGoBackButton: 'Gå tillbaka',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Inloggad som',\n unifiedLoginButton: 'Logga in',\n unifiedMyPagesButton: 'Mina sidor',\n },\n 'en': {\n searchlabel: 'Search',\n searchplaceholder: 'Search',\n searchbuttontext: 'Search',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logged in as',\n unifiedLoginButton: 'Log in',\n unifiedMyPagesButton: 'My pages',\n },\n 'da': {\n searchlabel: 'Søg',\n searchplaceholder: 'Søg',\n searchbuttontext: 'Søg',\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbage',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logget ind som',\n unifiedLoginButton: 'Log ind',\n unifiedMyPagesButton: 'Mine sider',\n },\n 'no': {\n searchlabel: 'Søk',\n searchplaceholder: 'Søk',\n searchbuttontext: 'Søk',\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbake',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logget på som',\n unifiedLoginButton: 'Logg inn',\n unifiedMyPagesButton: 'Sidene mine',\n },\n 'fi': {\n searchlabel: 'Hae',\n searchplaceholder: 'Hae',\n searchbuttontext: 'Hae',\n menuHomeButton: 'Koti',\n menuGoBackButton: 'Mene takaisin',\n mainMenuButton: 'Valikko',\n menuStartButton: 'Alkaa',\n profileSelectionFlyoutHeading: 'Kirjautunut sisään nimellä',\n unifiedLoginButton: 'Kirjaudu sisään',\n unifiedMyPagesButton: 'Minun sivujani',\n },\n 'de': {\n searchlabel: 'Suche',\n searchplaceholder: 'Wonach suchen Sie?',\n searchbuttontext: 'Suche',\n menuHomeButton: 'Start',\n menuGoBackButton: 'Geh zurück',\n mainMenuButton: 'Menü',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Eingeloggt als',\n unifiedLoginButton: 'Anmeldung',\n unifiedMyPagesButton: 'Meine Seiten',\n },\n 'zh': {\n searchlabel: '搜索',\n searchplaceholder: '搜索',\n searchbuttontext: '搜索',\n menuHomeButton: '主页',\n menuGoBackButton: '回去',\n mainMenuButton: '选择菜单',\n menuStartButton: '开始',\n },\n 'it': {\n searchlabel: 'Cerca',\n searchplaceholder: 'Cerca',\n searchbuttontext: 'Cerca',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logged in as',\n unifiedLoginButton: 'Log in',\n unifiedMyPagesButton: 'My pages',\n },\n 'nl': {\n searchlabel: 'Zoeken',\n searchplaceholder: 'Zoeken',\n searchbuttontext: 'Zoeken',\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logged in as',\n unifiedLoginButton: 'Log in',\n unifiedMyPagesButton: 'My pages',\n },\n 'es': {\n searchplaceholder: 'Buscar',\n searchlabel: 'Buscar',\n searchbuttontext: 'Buscar',\n menuHomeButton: 'Inicio',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logged in as',\n unifiedLoginButton: 'Log in',\n unifiedMyPagesButton: 'My pages',\n },\n 'fr': {\n searchplaceholder: 'Recherche',\n searchlabel: 'Recherche',\n searchbuttontext: 'Recherche',\n menuHomeButton: 'Accueil',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logged in as',\n unifiedLoginButton: 'Log in',\n unifiedMyPagesButton: 'My pages',\n },\n 'tr': {\n searchlabel: 'Ara',\n searchplaceholder: 'Ara',\n searchbuttontext: 'Ara',\n menuHomeButton: 'Anasayfa',\n menuGoBackButton: 'Geri git',\n mainMenuButton: 'Menü',\n menuStartButton: 'Başlat',\n profileSelectionFlyoutHeading: 'Oturum açma adı',\n unifiedLoginButton: 'Oturum aç',\n unifiedMyPagesButton: 'Sayfalarım',\n },\n 'pt': {\n searchlabel: 'Search',\n searchplaceholder: 'Search',\n searchbuttontext: 'Search',\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n profileSelectionFlyoutHeading: 'Logged in as',\n unifiedLoginButton: 'Log in',\n unifiedMyPagesButton: 'My pages',\n },\n 'pl': {\n searchlabel: 'Szukaj',\n searchplaceholder: 'Szukaj',\n searchbuttontext: 'Szukaj',\n menuHomeButton: 'Strona główna',\n menuGoBackButton: 'Powrót',\n mainMenuButton: 'Menu',\n menuStartButton: 'Początek',\n profileSelectionFlyoutHeading: 'Zalogowany(-a) jako',\n unifiedLoginButton: 'Logowanie',\n unifiedMyPagesButton: 'Moje strony',\n },\n 'pt-BR': {\n searchlabel: 'Buscar',\n searchplaceholder: 'Buscar',\n searchbuttontext: 'Buscar',\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Voltar',\n mainMenuButton: 'Menu',\n menuStartButton: 'Iniciar',\n profileSelectionFlyoutHeading: 'Login efetuado como',\n unifiedLoginButton: 'Fazer login',\n unifiedMyPagesButton: 'Minhas páginas',\n },\n};\n","@import \"../../../globals/main.scss\";\n\n@import \"./pn-marketweb-siteheader-common.scss\";\n\nbody[data-siteheader-menuopen=\"true\"] {\n max-height: 100vh;\n overflow: hidden;\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n max-height: initial;\n overflow: initial;\n }\n}\n\npn-marketweb-siteheader {\n display: block;\n background: $white;\n header {\n position: relative;\n z-index: 1000;\n display: flex;\n flex-flow: column;\n box-shadow: $siteheader-shadow-elevation8;\n flex-direction: row;\n justify-content: space-between;\n @media screen and (min-width: $siteheader-media-tablet) {\n flex-direction: column;\n justify-content: initial;\n }\n }\n\n .siteheader-row {\n display: flex;\n flex-flow: row;\n align-items: center;\n\n width: 100%;\n padding: 0 1.6rem;\n\n min-height: 2em;\n &:not(:last-child) {\n border-bottom: 0.1rem solid $gray50;\n }\n @media screen and (min-width: $siteheader-media-tablet) {\n justify-content: space-between;\n min-height: 3.2em;\n }\n }\n\n .siteheader-topright {\n display: flex;\n flex-direction: row;\n }\n\n .siteheader-logocontainer {\n display: flex;\n align-items: center;\n position: relative;\n min-height: 3em;\n background: $white;\n z-index: 1;\n\n @media screen and (min-width: $siteheader-media-tablet) {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n }\n }\n .siteheader-logolink {\n height: 100%;\n max-height: 6.4rem;\n display: flex;\n align-items: center;\n &:hover,\n &:focus,\n &:active {\n box-shadow: none;\n }\n }\n\n .siteheader-logo {\n }\n\n .siteheader-row > pn-marketweb-siteheader-search {\n display: none;\n @media screen and (min-width: $siteheader-media-tablet) {\n display: block;\n max-width: 30rem;\n min-width: 23.3rem;\n width: 100%;\n }\n }\n\n .siteheader-row pn-button {\n button:hover {\n .pn-button-bg,\n .pn-button-bg::after {\n background-color: $blue50;\n }\n }\n }\n\n pn-spinner {\n display: none;\n }\n\n pn-button-dropdown:not(.hydrated) {\n .pn-button-dropdown-container {\n display: none;\n }\n }\n\n pn-button {\n button {\n font-weight: 400 !important;\n padding: 0.5rem !important;\n\n .pn-button-bg:after {\n border-radius: 0.8rem !important;\n }\n }\n }\n}\n\n.siteheader-topleft {\n pn-site-selector {\n padding: 1rem 0;\n display: none;\n @media screen and (min-width: $siteheader-media-tablet) {\n display: block;\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-left: 1.3rem;\n }\n .pn-button-dropdown-label,\n &:is(a) {\n font-size: 0;\n pn-icon {\n font-size: initial;\n margin-left: 0;\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n font-size: initial;\n pn-icon {\n margin-left: 0.4em;\n }\n }\n }\n }\n}\n.siteheader-topright {\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-right: 1.6rem;\n }\n > pn-language-selector,\n > pn-marketweb-siteheader-login,\n > a {\n //pn-language-selector {\n padding: 1rem 0;\n display: none;\n align-self: center;\n @media screen and (min-width: $siteheader-media-tablet) {\n display: block;\n margin-left: 1rem;\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-left: 1.6rem;\n }\n\n .pn-button-dropdown-label,\n &:is(a) {\n font-size: 0;\n pn-icon {\n font-size: initial;\n margin-left: 0;\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n font-size: initial;\n pn-icon {\n margin-left: 0.4em;\n }\n }\n }\n }\n}\n\n.siteheader-menu {\n max-width: 100%;\n width: 100%;\n overflow: visible;\n overflow-x: clip;\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-top: auto;\n overflow: visible;\n }\n pn-mainnav-link a[target] {\n &::after {\n content: none;\n }\n }\n\n pn-marketweb-siteheader-search {\n padding: 0.3rem 1.6rem;\n width: 100%;\n }\n [slot=\"top\"] pn-search-field {\n width: 100%;\n }\n}\n\n.siteheader-menu-footer {\n display: flex;\n flex-direction: column;\n align-items: center;\n > * {\n margin: 1.6rem;\n }\n}\n\nheader[data-header-theme=\"dotcom\"] {\n & > pn-marketweb-siteheader {\n pn-button a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n & > header {\n background-color: $blue900;\n box-shadow: none;\n\n .siteheader-row:not(:last-child) {\n border-bottom: 0.1rem solid $blue900;\n }\n\n .siteheader-row pn-button button:hover {\n .pn-button-bg,\n .pn-button-bg::after {\n background-color: $blue700 !important;\n }\n }\n\n .siteheader-topleft {\n pn-site-selector .pn-button-dropdown-label {\n color: $white;\n pn-icon {\n svg > path {\n fill: $white;\n }\n }\n }\n\n button.pn-button-dropdown-label {\n &:hover {\n background-color: $blue700;\n }\n &:active {\n background-color: $blue400;\n }\n &:focus {\n background-color: $blue400;\n }\n }\n\n .pn-button-dropdown-container {\n }\n }\n\n .siteheader-logocontainer {\n background-color: $blue900;\n svg.siteheader-logo > path {\n fill: $white;\n }\n }\n\n .siteheader-topright {\n .siteheader-logindialog {\n pn-marketweb-siteheader-login {\n }\n\n svg > path {\n fill: $white;\n }\n }\n\n pn-language-selector {\n pn-icon {\n svg > path {\n fill: $white !important;\n }\n }\n }\n\n button {\n color: $white;\n\n &:hover {\n background-color: $blue700;\n }\n &:active {\n background-color: $blue700;\n }\n &:focus {\n background-color: $blue700;\n }\n }\n\n [slot=\"toprightend\"] {\n @media screen and (max-width: $siteheader-media-tablet) {\n display: none;\n }\n align-self: center;\n margin-left: 1rem;\n }\n }\n\n .siteheader-menu {\n .mainnav-toggle {\n button {\n background-color: $blue700;\n }\n }\n .first-level_icon {\n svg > path {\n fill: $white;\n }\n }\n }\n\n .siteheader-search form pn-search-field {\n input {\n background-color: $white;\n color: $blue900;\n border: 0.1rem solid $white;\n padding: 0.65rem 1.5rem;\n\n &:hover {\n border-color: $white;\n }\n &::placeholder {\n color: $blue900;\n }\n }\n }\n\n //main-nav-level\n nav.mainnav {\n background-color: $blue900;\n\n @media screen and (min-width: $siteheader-media-tablet) {\n top: 6.4em;\n }\n\n pn-mainnav-level {\n [slot=\"top\"].siteheader-menu-top {\n pn-marketweb-siteheader-search {\n padding-bottom: 0.5rem;\n background-color: $blue900;\n\n .button-container {\n border-top: 1px solid $white;\n border-bottom: 1px solid $white;\n border-right: 1px solid $white;\n border-top-right-radius: 50%;\n border-bottom-right-radius: 50%;\n\n button.clear {\n border: 2px solid $white;\n border-radius: 50%;\n padding: 0.5rem;\n }\n }\n }\n }\n\n .mainnav-level-header {\n .secondlevel-backbtn {\n pn-icon {\n svg > path {\n fill: $white;\n }\n }\n }\n }\n\n pn-mainnav-level[data-level=\"2\"] {\n .mainnav-level-header {\n pn-mainnav-link > a {\n &:hover {\n background-color: $blue400;\n }\n }\n }\n }\n\n pn-mainnav-list > pn-mainnav-link {\n button,\n a {\n background-color: $blue900;\n border-bottom: 0.1rem solid rgba(0, 93, 146, 0.5);\n &:hover {\n text-decoration: none;\n }\n @media screen and (min-width: 1024px) {\n border-bottom: none;\n }\n }\n }\n }\n\n pn-mainnav-level[data-level=\"1\"] {\n pn-mainnav-list > pn-mainnav-link {\n @media screen and (max-width: 1023px) {\n &:first-child {\n border-top: 0.1rem solid rgba(0, 93, 146, 0.5);\n }\n }\n\n & a,\n & button {\n color: $white;\n &:focus {\n outline: none;\n }\n }\n }\n }\n pn-mainnav-level:not([data-level=\"1\"]) {\n background-color: $blue900;\n pn-mainnav-list {\n color: $white;\n pn-mainnav-link > a {\n &:hover {\n background-color: $blue400;\n text-decoration: none;\n }\n }\n }\n }\n\n pn-marketweb-siteheader-login-linklist {\n ul li a:not(.pn-button) {\n color: $blue700;\n }\n ul li a:hover {\n color: $white;\n }\n }\n }\n\n [data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow {\n svg > path {\n fill: $white;\n }\n }\n\n .siteheader-menu-footer {\n button {\n color: $white;\n &:hover {\n background-color: $blue700;\n }\n &:active {\n background-color: $blue700;\n }\n &:focus {\n background-color: $blue700;\n }\n\n svg > path {\n fill: $white;\n }\n }\n\n [slot=\"menu-footer-cta\"] {\n @media screen and (min-width: $siteheader-media-tablet) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n.siteheader-menu-top-search {\n display: none;\n}\n\nheader[data-header-theme=\"tpl\"],\nheader[data-header-theme=\"dotcom\"] {\n @media screen and (min-width: $siteheader-media-tablet) {\n pn-site-selector .pn-button-dropdown-label {\n border-radius: 48px;\n }\n }\n\n .siteheader-row pn-button.pn-button-dropdown-label {\n .pn-button[data-variant=\"borderless\"][data-appearance=\"light\"] .pn-button-bg::after {\n background-color: $blue700 !important;\n }\n\n .pn-button[data-appearance=\"light\"] pn-icon .pn-icon-svg path {\n fill: $white !important;\n }\n\n button {\n .pn-button-text {\n color: $white !important;\n }\n }\n\n\n }\n}\n\nheader[data-header-theme=\"tpl\"] {\n & > pn-marketweb-siteheader {\n pn-button a {\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n }\n\n [slot=\"header-bottom-button\"] {\n @media screen and (max-width: $siteheader-media-tablet) {\n display: none;\n }\n\n a {\n color: $blue900;\n font-weight: 500;\n font-size: 1.6rem;\n padding: 0.8rem 2.4rem;\n\n .pn-button-bg {\n background-color: $coral200;\n }\n\n .pn-button-content pn-icon svg > path {\n fill: $blue900;\n\n @media screen and (min-width: $siteheader-media-tablet) {\n fill: $white;\n }\n }\n\n &:hover {\n color: $white;\n\n .pn-button-bg {\n background-color: $blue900;\n transition: backgrond-color linear 1s;\n }\n\n .pn-button-content pn-icon svg > path {\n fill: $white;\n }\n }\n }\n }\n @media screen and (min-width: $siteheader-media-tablet) {\n .siteheader-row pn-button button:hover {\n .pn-button-bg,\n .pn-button-bg::after {\n background-color: $blue900;\n transition: initial;\n }\n }\n }\n\n & > header {\n .siteheader-row:not(:last-child) {\n background-color: $blue900;\n border-bottom: 0.1rem solid $blue900;\n }\n\n @media screen and (max-width: $siteheader-media-tablet) {\n .siteheader-row:last-child {\n background-color: $blue900;\n }\n }\n\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n [data-level=\"1\"] pn-mainnav-link > button::before,\n [data-level=\"1\"] pn-mainnav-link > a::before {\n background-color: $coral200;\n }\n }\n\n [slot=\"siteheader-menu-top-button\"] {\n @media screen and (min-width: $siteheader-media-tablet) {\n display: none;\n }\n\n @media screen and (max-width: 415px) {\n display: none;\n }\n\n background: $blue900;\n display: flex;\n align-items: center;\n\n a {\n color: $blue900;\n font-weight: 500;\n\n .pn-button-bg {\n background-color: $coral200;\n }\n\n .pn-button-content pn-icon svg > path {\n fill: $blue900;\n\n @media screen and (min-width: $siteheader-media-tablet) {\n fill: $white;\n }\n }\n\n &:hover {\n color: $white;\n\n .pn-button-bg {\n background-color: $blue900;\n transition: backgrond-color linear 1s;\n }\n\n .pn-button-content pn-icon svg > path {\n fill: $white;\n }\n }\n }\n }\n\n a {\n color: $blue900;\n }\n\n pn-mainnav-link button {\n color: $blue900;\n\n pn-icon svg path {\n fill: $blue900;\n }\n }\n\n .siteheader-topleft {\n pn-site-selector .pn-button-dropdown-label {\n color: $white;\n\n pn-icon {\n svg > path {\n fill: $white;\n }\n }\n\n &:hover {\n background: $blue400;\n }\n }\n }\n\n button.pn-button-dropdown-label {\n &:hover {\n background-color: $blue900;\n }\n\n &:active {\n background-color: $blue900;\n }\n\n &:focus {\n background-color: $blue900;\n }\n }\n\n .siteheader-logocontainer {\n background-color: $blue900;\n\n svg.siteheader-logo > path {\n fill: $blue400;\n }\n }\n\n .siteheader-topright {\n .siteheader-logindialog {\n pn-marketweb-siteheader-login {\n }\n\n svg > path {\n fill: $white;\n }\n }\n\n pn-language-selector {\n pn-icon {\n svg > path {\n fill: $white !important;\n }\n }\n }\n\n button {\n color: $white;\n\n &:hover {\n background-color: $blue400;\n }\n\n &:active,\n &:focus {\n background-color: $blue900;\n }\n }\n\n margin-right: 0;\n align-self: center;\n margin-left: 1rem;\n }\n\n div.siteheader-menu-top-search {\n display: inline-block;\n margin-top: auto;\n margin-bottom: auto;\n width: fit-content;\n\n @media screen and (max-width: $siteheader-media-tablet) {\n display: none;\n }\n\n pn-search-field {\n justify-content: flex-end;\n min-width: inherit;\n }\n\n form {\n margin-right: 0;\n }\n\n form:not(:focus-within) .input-container {\n position: absolute;\n width: 100%;\n\n input {\n cursor: pointer;\n background-color: transparent;\n color: transparent;\n border: none;\n position: relative;\n z-index: 3;\n border-radius: 0;\n\n &::placeholder {\n color: transparent;\n }\n }\n }\n\n .input-container:focus-within {\n margin-left: 2rem;\n\n input {\n background-color: $white;\n color: $blue900;\n }\n }\n\n .siteheader-search pn-button button {\n width: fit-content;\n padding: 1rem 1.9rem;\n\n .pn-button-bg {\n background: $blue900;\n }\n }\n }\n\n @media screen and (min-width: $siteheader-media-tablet) {\n .siteheader-row:last-child pn-marketweb-siteheader-search {\n display: none;\n }\n }\n\n .siteheader-search form pn-search-field {\n input {\n background-color: $white;\n color: $blue900;\n\n &:hover {\n border-color: $white;\n }\n\n &::placeholder {\n color: $blue900;\n }\n }\n }\n\n .siteheader-menu-footer {\n [slot=\"menu-footer-cta\"] {\n display: none;\n }\n\n @media screen and (max-width: 415px) {\n [slot=\"menu-footer-cta\"] {\n display: block;\n color: $blue900;\n\n .pn-button-bg {\n background-color: $coral200;\n }\n\n .pn-button-content {\n font-weight: 500;\n color: $blue900;\n\n pn-icon svg > path {\n fill: $blue900;\n\n @media screen and (min-width: $siteheader-media-tablet) {\n fill: $white;\n }\n }\n }\n\n a:hover {\n color: $white;\n\n .pn-button-bg {\n background-color: $blue900;\n transition: backgrond-color linear 1s;\n }\n\n .pn-button-content pn-icon svg > path {\n fill: $white;\n }\n }\n }\n }\n\n @media screen and (max-width: 1024px) {\n pn-button-dropdown button:focus,\n pn-button-dropdown button:hover {\n color: $white;\n background-color: $blue400;\n box-shadow:\n 0 0 0 0.2rem #fff,\n 0 0 0 0.4rem $blue400;\n\n svg > path {\n fill: $white;\n }\n }\n }\n\n button {\n color: $white;\n\n &:hover {\n background-color: $blue700;\n }\n\n &:active {\n background-color: $blue400;\n }\n\n &:focus {\n background-color: $blue400;\n }\n\n svg > path {\n fill: $white;\n }\n\n @media screen and (max-width: 1024px) {\n color: $blue900;\n\n pn-icon svg > path {\n fill: $blue900;\n }\n }\n }\n\n [slot=\"menu-footer-cta\"] {\n @media screen and (min-width: $siteheader-media-tablet) {\n display: none;\n }\n }\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport {\n LanguageSelector,\n LanguageSelectorItem,\n LoginDialog,\n MenuItem,\n MenuSiteDefinition,\n PromotedMenuItem,\n SiteHeaderI18N,\n SiteHeaderSearch,\n SiteSelector,\n} from './pn-marketweb-siteheader-types';\nimport { translations } from './translations';\n\n/**\n * @slot topleft - Text\n * @slot logo - Text\n * @slot toprightstart - Text\n * @slot toprightend - Text\n * @slot siteheader-menu-top-button - Text\n * @slot menu-footer-cta - Text\n * @slot header-bottom-button - Text\n */\n@Component({\n tag: 'pn-marketweb-siteheader',\n styleUrl: 'pn-marketweb-siteheader.scss',\n})\nexport class PnMarketwebSiteheader {\n @Element() hostElement: Element;\n endpointPath = '/api/navigation/header';\n\n /** Specifies which market we want to show (se,dk,fi,no,com) */\n @Prop({ mutable: true, reflect: true }) market: string = null; //se\n /** Specifies which language we want to show (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = null; //sv\n /** Specifies the current site id (guid) */\n @Prop() siteid: string = null;\n /** Specifies which environment we're fetching data from. (production, preproduction, integration, localhost) */\n @Prop({ mutable: true, reflect: true }) environment: string = null; //sv\n /** Access token passed from backend */\n @Prop() userToken: string = '';\n /** User Fullname */\n @Prop() userFullname: string = '';\n /** User Logged in state from the backend */\n @Prop({ reflect: true }) userLoggedin: boolean = false;\n /** Specifies which endpoint domain we should load from */\n @Prop() endpoint: string = null;\n /** Hides the site selector if set to true*/\n @Prop({ mutable: true, reflect: true }) hideSiteSelector: boolean = false;\n /** Hides the \"home\" menu item in the navigation if set to true*/\n @Prop({ mutable: true, reflect: true }) hideHomeMenuItem: boolean = false;\n /** Hides the language selector if set to true*/\n @Prop({ mutable: true, reflect: true }) hideLanguageSelector: boolean = false;\n /** Hides the search form if set to true*/\n @Prop({ mutable: true, reflect: true }) hideSearch: boolean = false;\n /** Hides the login if set to true*/\n @Prop({ mutable: true, reflect: true }) hideLogin: boolean = false;\n /** If this is selected we will show the new profile selection dropdown instead of the login version */\n @Prop({ mutable: true, reflect: true }) showProfileSelection: boolean = false;\n /** if this is selected we will show the unified-login button aswell as a new look for dropdown menu */\n @Prop() showUnifiedLogin: boolean = false;\n\n /** Adjusts the menus URLs */\n @Prop() siteDomainInUrls: boolean = false;\n\n /** Autocomplete endpoint */\n @Prop() AutocompleteEndpoint: string = '';\n /** Forward session to backend */\n @Prop() sessionForward: boolean = false;\n /** If the component should use cached requests */\n @Prop() cache: boolean = false;\n /** Header search placeholder */\n @Prop() searchPlaceholder: string = '';\n\n /** Event based only language switch */\n @Prop({}) spaMode: boolean = false;\n\n /** Continiously check if a user is logged in **/\n @Prop({}) checkUserLoggedInStateInterval: number = 0;\n\n @Prop({}) pageId?: string = '';\n\n @State() 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 @State() gotData: boolean = false;\n @State() fetchingData: boolean = false;\n @State() homePageLink: string = '/';\n\n // Menu state\n @State() menuItems: MenuItem[] = [];\n @State() siteDefinition: MenuSiteDefinition;\n\n // Search\n @State() search: SiteHeaderSearch = { AutocompleteEndpoint: this.AutocompleteEndpoint };\n\n // Site selector\n @State() siteSelector: SiteSelector = null;\n\n // Language Selector\n @State() languageSelector: LanguageSelector = null;\n @State() languageOptions: LanguageSelectorItem[] = [];\n\n // Login dialog\n @State() loginDialog: LoginDialog = null;\n\n @State() minimizeSearch: boolean = false;\n\n @State() loggedIn: boolean = false;\n\n // FetchHelper\n fetchHelper = new FetchHelper('siteheader');\n\n // // Login manager\n // @State() loginManager: MarketWebLoginManager = null;\n\n // Events\n @Event() changeLanguage: EventEmitter;\n // Events\n @Event() changeMarket: EventEmitter;\n\n componentWillLoad() {\n this.setInitialValues().then(() => {\n this.init();\n });\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n if (!this.market) {\n const resolvedMarket = await marketWebContextService.getMarket();\n this.market = resolvedMarket;\n }\n if (!this.language) {\n const resolvedMarket = await marketWebContextService.getLanguage();\n this.language = resolvedMarket;\n }\n if (!this.environment) {\n this.environment = await marketWebContextService.getEnvironmentName();\n }\n\n if (!this.endpoint && this.environment?.indexOf('local') === -1) {\n this.endpoint = await marketWebContextService.getEndpoint(this.environment, this.market);\n }\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n async init() {\n this.setTranslations();\n await this.fetchData();\n window.setTimeout(() => {\n this.checkMenuOverflow();\n }, 50);\n }\n\n setTranslations() {\n if (this.language && translations[this.language]) {\n this.i18n = translations[this.language];\n }\n if (this.searchPlaceholder) {\n this.i18n.searchplaceholder = this.searchPlaceholder;\n }\n }\n\n @Listen('setLanguage')\n onLanguageSelectorChange(e) {\n this.language = e.detail;\n window.dispatchEvent(new CustomEvent('marketweb-languagechange', { detail: this.language }));\n }\n\n @Watch('language')\n onLanguageChange() {\n this.setTranslations();\n this.changeLanguage.emit(this.language);\n this.fetchData();\n }\n\n @Watch('market')\n onMarketChange() {\n this.changeMarket.emit(this.market);\n this.fetchData();\n }\n\n async fetchData() {\n if (this.endpoint === null || !this.market || !this.language) {\n // console.warn(`One or more values where not specified.\\nEndpoint: ${this.endpoint}\\nMarket: ${this.market}\\nLanguage: ${this.language}`)\n return;\n }\n this.fetchingData = true;\n const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}¤tPage=${this.pageId}`;\n\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n )) as any;\n\n // const data2 = JSON.parse('{\"query\":{\"market\":\"se\",\"language\":\"sv\",\"currentPage\":\"\"},\"sitedefinition\":{\"name\":\"Postnord Sweden\",\"url\":\"https://localhost:51547/\"},\"search\":{\"formActionUrl\":\"https://localhost:51547/sok/\",\"useAutocompleteInHeaderSearch\":true,\"hideSearchFromHeader\":false,\"preferredSiteId\":\"06bb4e57-cf10-4374-9e4d-34ae987eff2e\"},\"languageSelectorViewModel\":{\"currentLanguageNativeName \":\"Svenska\",\"languages\":[{\"twoLetterISOLanguageName\":\"en\",\"nativeName\":\"English\",\"isCurrent\":false},{\"twoLetterISOLanguageName\":\"sv\",\"nativeName\":\"Svenska\",\"isCurrent\":true},{\"twoLetterISOLanguageName\":\"da\",\"nativeName\":\"Dansk\",\"isCurrent\":false},{\"twoLetterISOLanguageName\":\"tr\",\"nativeName\":\"Türkçe\",\"isCurrent\":false}],\"hideLanguageSelectorFromHeader\":false},\"siteSelectorViewModel\":{\"siteSelectorButtonText\":\"postnord.se\",\"siteSelectorTitle\":\"PostNord\",\"currentSiteTitle\":\"postnord.se\",\"currentSiteDescription\":\"Tjänster och verktyg för att skicka och ta emot din post\",\"siteSelections\":[{\"linkText\":\"Portal\",\"linkDescription\":\"Hantera dina försändelser\",\"pageLink\":\"https://portal.postnord.com/\",\"openInNewWindow\":false,\"href\":\"https://portal.postnord.com/\"},{\"linkText\":\"postnord.com\",\"linkDescription\":\"Information om PostNord Koncernen\",\"pageLink\":\"/link/7d10839b295946bbb54bebcb289f3aff.aspx\",\"openInNewWindow\":false,\"href\":\"https://com-inte.postnord.com/sv/\"}],\"hideSiteSelectorFromHeader\":false},\"loginViewModel\":{\"loginMenuLinks\":[{\"linkText\":\"Handla online\",\"pageLink\":\"/login?language=sv&returnUrl=https://se-inte.postnord.com/handla-online\",\"openInNewWindow\":false,\"primaryLinkApperance\":false,\"linkType\":\"regularlink\",\"href\":\"/login?language=sv&returnUrl=https://se-inte.postnord.com/handla-online\"},{\"linkText\":\"Business portal\",\"pageLink\":\"https://atportal.postnord.com/api/unified-login/backend/authorization?redirectionUrl=https://se-inte.postnord.com\",\"openInNewWindow\":false,\"primaryLinkApperance\":false,\"linkType\":\"regularlink\",\"href\":\"https://atportal.postnord.com/api/unified-login/backend/authorization?redirectionUrl=https://se-inte.postnord.com\"},{\"linkText\":\"Ombudsbutiken\",\"pageLink\":\"https://se-inte.postnord.com/login?returnUrl=https://se-inte.postnord.com/handla-online&type=agent\",\"openInNewWindow\":false,\"primaryLinkApperance\":false,\"linkType\":\"regularlink\",\"href\":\"https://se-inte.postnord.com/login?returnUrl=https://se-inte.postnord.com/handla-online&type=agent\"}],\"loggedInLinks\":[{\"linkText\":\"Logga ut\",\"pageLink\":\"http://window.location.href/?logout\",\"openInNewWindow\":false,\"primaryLinkApperance\":false,\"linkType\":null,\"href\":\"http://window.location.href/?logout\"}],\"overrideLoginMenu\":false,\"loginMenuLinkText\":\"Logga in\",\"countryCode\":\"SE\",\"locale\":\"sv\",\"loginUrl\":\"https://portal.postnord.com/login?language=sv\",\"registerUrl\":\"https://portal.postnord.com/createaccount?market=SE\",\"loggedInButtonText\":\"My PostNord\",\"loginTitle\":\"Logga in direkt på:\",\"loginLinkText\":\"Logga in\",\"createLoginLinkText\":\"Skapa nytt konto\",\"hideLoginFromHeader\":false,\"showProfileSelection\":true,\"checkUserLoginStateInterval\":20000,\"showUnifiedLogin\":true,\"loginInfo\":\"\",\"eshopStartPageUrl\":\"/handla-online/\"},\"mainMenu\":{\"menuItems\":[{\"name\":\"Privat\",\"href\":\"/privat2/\",\"id\":\"102118\",\"selected\":false,\"open\":false,\"children\":[{\"name\":\"Skicka\",\"href\":\"/privat2/skicka/\",\"id\":\"102119\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"skicka102119\",\"level\":2},{\"name\":\"Ta emot\",\"href\":\"/privat2/ta-emot/\",\"id\":\"102135\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"taemot102135\",\"level\":2},{\"name\":\"Priser och villkor\",\"href\":\"/privat2/priser-och-villkor/\",\"id\":\"102162\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"priserochvillkor102162\",\"level\":2},{\"name\":\"Förberedelser\",\"href\":\"/privat2/forberedelser/\",\"id\":\"102173\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"frberedelser102173\",\"level\":2}],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"Populärt\",\"promotedMenuItems\":[{\"linkText\":\"PostNord App\",\"pageLink\":\"/link/05dcebb0c20b4b56806f4736d83b773d.aspx\",\"href\":\"https://localhost:51547/vara-verktyg/postnord-app/\",\"openInNewWindow\":false},{\"linkText\":\"Digitalt frimärke\",\"pageLink\":\"https://portal.postnord.com/skickadirekt/m/?productId=800\",\"href\":\"https://portal.postnord.com/skickadirekt/m/?productId=800\",\"openInNewWindow\":false},{\"linkText\":\"Köp frakt\",\"pageLink\":\"https://portal.postnord.com/skickadirekt/m/\",\"href\":\"https://portal.postnord.com/skickadirekt/m/\",\"openInNewWindow\":false},{\"linkText\":\"Sök utdelningsdag\",\"pageLink\":\"/link/701d85d2a8924b7a8da0dd86f049debe.aspx\",\"href\":\"https://localhost:51547/vara-verktyg/sok-utdelningsdag/\",\"openInNewWindow\":false},{\"linkText\":\"Paketbox\",\"pageLink\":\"/link/aca5b66a6f6c45ae97ecd7d5f176d512.aspx\",\"href\":\"https://localhost:51547/privat/ta-emot/hamta/hamta-paket-i-paketbox/\",\"openInNewWindow\":false},{\"linkText\":\"Skicka brev och paket\",\"pageLink\":\"/link/8b60c612e9824ccb905fc260c50f69f5.aspx\",\"href\":\"https://localhost:51547/privat/skicka/brev-och-paket/\",\"openInNewWindow\":false}],\"hasChildren\":true,\"linkTarget\":\"\",\"trackingId\":\"privat102118\",\"level\":1},{\"name\":\"Företag\",\"href\":\"/foretag2/\",\"id\":\"102743\",\"selected\":false,\"open\":false,\"children\":[{\"name\":\"Skicka\",\"href\":\"/foretag2/skicka/\",\"id\":\"102744\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"skicka102744\",\"level\":2},{\"name\":\"Ta emot\",\"href\":\"/foretag2/ta-emot/\",\"id\":\"102826\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"taemot102826\",\"level\":2},{\"name\":\"Priser och villkor\",\"href\":\"/foretag2/priser-och-villkor/\",\"id\":\"102845\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"priserochvillkor102845\",\"level\":2},{\"name\":\"Förberedelser\",\"href\":\"/foretag2/forberedelser/\",\"id\":\"102855\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"frberedelser102855\",\"level\":2},{\"name\":\"Företagslösningar\",\"href\":\"/foretag2/foretagslosningar/\",\"id\":\"102883\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"fretagslsningar102883\",\"level\":2}],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"Populärt\",\"promotedMenuItems\":[{\"linkText\":\"Bli avtalskund\",\"pageLink\":\"/link/1fb879eb737747f2afc442df11ff99b5.aspx\",\"href\":\"https://localhost:51547/kundservice/bli-avtalskund/\",\"openInNewWindow\":false},{\"linkText\":\"PEX Bud\",\"pageLink\":\"/link/b1209ba46788420a8e9b5c7f06e570ad.aspx?productId=800\",\"href\":\"https://localhost:51547/foretag/skicka-forsandelser/pex-bud/?productId=800\",\"openInNewWindow\":false},{\"linkText\":\"Köp frakt\",\"pageLink\":\"https://portal.postnord.com/shippingtoolpro\",\"href\":\"https://portal.postnord.com/shippingtoolpro\",\"openInNewWindow\":true},{\"linkText\":\"Portal Business\",\"pageLink\":\"/link/c97df117dc9c427f90b1e95c1fa8caae.aspx\",\"href\":\"https://localhost:51547/vara-verktyg/postnord-portal/\",\"openInNewWindow\":false},{\"linkText\":\"Skicka brev och paket\",\"pageLink\":\"/link/a65c6b42681f4230b927f776bfc8662a.aspx\",\"href\":\"https://localhost:51547/foretag/skicka-forsandelser/brev-och-vykort/\",\"openInNewWindow\":false}],\"hasChildren\":true,\"linkTarget\":\"\",\"trackingId\":\"fretag102743\",\"level\":1},{\"name\":\"Handla online\",\"href\":\"/handla-online/\",\"id\":\"57674\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"handlaonline57674\",\"level\":1},{\"name\":\"Kundservice\",\"href\":\"/kundservice-faq/\",\"id\":\"167\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"kundservice167\",\"level\":1},{\"name\":\"Handla online temp redirect\",\"href\":\"/handla-online-new/\",\"id\":\"74849\",\"selected\":false,\"open\":false,\"children\":[],\"navigationHeading\":\"\",\"promotedMenuItemsHeader\":\"\",\"promotedMenuItems\":[],\"hasChildren\":false,\"linkTarget\":\"\",\"trackingId\":\"handlaonlinetempredirect74849\",\"level\":1}]}}');\n // console.log(data2);\n await this.setStateFromData(data);\n }\n\n getLanguageVersionUrl(item: LanguageSelectorItem) {\n if (this.spaMode) {\n return null;\n }\n const alternativeTag = document.querySelector(`link[rel=\"alternate\"][hreflang=\"${item.twoLetterISOLanguageName}\"]`);\n\n if (alternativeTag) {\n return alternativeTag.getAttribute('href');\n }\n const siteUrl = this.siteDefinition.url;\n // Add trailing slash to domain if it's missing\n return siteUrl + (siteUrl.lastIndexOf('/') !== siteUrl.length - 1 ? '/' : '') + item.twoLetterISOLanguageName;\n }\n\n async setStateFromData(data: any) {\n if (typeof data !== 'object') {\n console.warn('Data was not valid', data);\n }\n\n // Set site definition\n this.siteDefinition = data.sitedefinition;\n if (headerState.loginManager) {\n headerState.loginManager.setSiteUrl(this.siteDefinition.url);\n }\n\n let updatedMenuItems = [];\n // Set navigation information\n if (this.siteDomainInUrls) {\n updatedMenuItems = (data.mainMenu.menuItems as MenuItem[]).map(item => {\n return this.adjustMenuItemUrls(item);\n });\n } else {\n updatedMenuItems = data.mainMenu.menuItems as MenuItem[];\n }\n\n // Create the \"Home\" link\n if ((!updatedMenuItems[0] || updatedMenuItems[0]?.name !== this.i18n.menuHomeButton) && !this.hideHomeMenuItem) {\n updatedMenuItems.unshift({\n href: this.siteDefinition.url,\n name: this.i18n.menuHomeButton,\n id: 'homelink',\n open: false,\n selected: false,\n children: [],\n } as MenuItem);\n }\n this.menuItems = updatedMenuItems;\n // Set search\n this.search = { ...data.search, ...{ AutocompleteEndpoint: this.AutocompleteEndpoint } };\n\n // Set site selector\n this.siteSelector = data.siteSelectorViewModel;\n\n // Set language selector\n this.languageSelector = data.languageSelectorViewModel;\n this.setLanguageOptions();\n\n let loginDialog = data.loginViewModel as LoginDialog;\n\n if (loginDialog && this.siteDomainInUrls) {\n loginDialog.loggedInLinks = loginDialog.loggedInLinks.map(item => {\n item.href = this.adjustHref(item.href);\n return item;\n });\n loginDialog.loginMenuLinks = loginDialog.loginMenuLinks.map(item => {\n item.href = this.adjustHref(item.href);\n return item;\n });\n }\n\n this.loginDialog = loginDialog;\n\n await this.spaModeAdjustments();\n this.gotData = true;\n this.fetchingData = true;\n this.homePageLink = this.siteDefinition?.url ?? document.location.hostname;\n\n window.setTimeout(() => {\n this.checkMenuOverflow();\n }, 100);\n }\n\n adjustMenuItemUrls(item: MenuItem) {\n item.href = this.adjustHref(item.href);\n if (item.children && item.children.length > 0) {\n let adjustedItems = item.children.map(item => {\n return this.adjustMenuItemUrls(item);\n });\n item.children = adjustedItems;\n }\n return item as MenuItem;\n }\n\n adjustHref(href: string) {\n if (href.indexOf('http') === 0 || this.siteDomainInUrls) {\n return href;\n }\n const domainUrl =\n this.siteDefinition.url.lastIndexOf('/') === this.siteDefinition.url.length - 1\n ? this.siteDefinition.url.substring(0, this.siteDefinition.url.length - 1)\n : this.siteDefinition.url;\n href = domainUrl + href;\n return href;\n }\n\n setLanguageOptions() {\n if (!this.languageSelector || !this.languageSelector.languages) {\n return;\n }\n const hrefLangsTags = Array.prototype.slice.call(document.querySelectorAll('link[rel=\"alternate\"][hreflang]')) ?? [];\n const hrefLangs = hrefLangsTags.map(tag => {\n let hrefLangValue = tag.getAttribute('hreflang');\n if (hrefLangValue.indexOf('en-') !== -1 || hrefLangValue.indexOf('en_') !== -1) {\n hrefLangValue = hrefLangValue.substring(0, 2);\n }\n return hrefLangValue;\n });\n let languageOptions = []; // Reset language options\n\n this.languageSelector.languages.map((languageOption: LanguageSelectorItem) => {\n // In case there are language links present on the page we only show languages that have those tags\n if (hrefLangs && hrefLangs.length > 0) {\n if (hrefLangs.includes(languageOption.twoLetterISOLanguageName)) {\n languageOptions.push(languageOption);\n }\n } else {\n languageOptions.push(languageOption);\n }\n });\n this.languageOptions = languageOptions; // Replace existing language options so we don't trigger a event change on every push.\n }\n\n async spaModeAdjustments() {\n if (!this.spaMode) {\n return;\n }\n\n return;\n }\n\n @Listen('loginStateChange')\n onLoginStateChange(e) {\n if (e.detail?.loggedIn && e.detail?.token) {\n this.loggedIn = e.detail?.loggedIn === true;\n if (this.sessionForward) {\n try {\n //fetch('/api/userprofile/sync?token=' + e.detail.token);\n } catch (e) {}\n }\n }\n }\n\n promotedItemId(item: PromotedMenuItem) {\n return 'promo-' + item.linkText.replace(/[^A-Za-z0-9.\\\\\\/]/gim, '');\n }\n\n @Listen('resize', { target: 'window' })\n handleResize() {\n requestAnimationFrame(() => {\n this.checkMenuOverflow();\n });\n }\n\n checkMenuOverflow() {\n const row = this.hostElement.querySelectorAll('.siteheader-row')[1] as HTMLElement;\n if (!row) {\n return;\n }\n const firstMenuLevel = row.querySelector('pn-mainnav-level') as HTMLElement;\n if (!firstMenuLevel) {\n return;\n }\n const parent = firstMenuLevel.parentElement;\n\n if (parent.tagName.toLocaleLowerCase() !== 'nav') {\n return;\n }\n const parentWidth = parent.scrollWidth;\n const elmWidth = firstMenuLevel.clientWidth;\n const isOverFlowed = parentWidth < elmWidth;\n\n if (isOverFlowed && this.minimizeSearch === false) {\n this.minimizeSearch = true;\n }\n }\n\n adjustSiteSelectorUrl(href: string) {\n if (!this.loggedIn) {\n return href;\n }\n const loginDomains = ['portal.postnord.com'];\n const matchedHref = loginDomains.filter(domain => {\n return href.indexOf(domain) !== -1;\n });\n if (matchedHref.length === 0) {\n return href;\n }\n if (headerState.loginManager) {\n return headerState.loginManager.getLoginUrl(href);\n }\n return href;\n }\n\n render() {\n return (\n <Host language={this.language} market={this.market} environment={this.environment}>\n <header>\n <div class=\"siteheader-row\">\n <div class=\"siteheader-topleft\">\n <slot name=\"topleft\"></slot>\n {this.gotData && this.siteSelector && !this.hideSiteSelector && (\n <pn-site-selector language={this.language} buttontext={this.siteSelector?.currentSiteTitle ?? 'postnord'}>\n {this.gotData && this.siteSelector?.currentSiteTitle && (\n <pn-site-selector-item heading={this.siteSelector.currentSiteTitle + ' '} description={this.siteSelector.currentSiteDescription}></pn-site-selector-item>\n )}\n {this.gotData &&\n this.siteSelector?.siteSelections &&\n this.siteSelector.siteSelections.map(site => (\n <pn-site-selector-item\n heading={site.linkText + ' '}\n description={site.linkDescription}\n url={this.adjustSiteSelectorUrl(site.href)}\n newwindow={site.openInNewWindow}\n ></pn-site-selector-item>\n ))}\n </pn-site-selector>\n )}\n </div>\n <div class=\"siteheader-logocontainer\">\n <a href={this.homePageLink} title=\"Home\" class=\"siteheader-logolink\">\n <slot name=\"logo\">\n <svg class=\"siteheader-logo\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12.7rem\" height=\"2.4rem\" viewBox=\"0 0 141.73 26.65\">\n <path\n d=\"M108.84,13.35c0,6.34-5.17,9-10,9S89,19.76,89,13.63c0-6.28,5.08-9,10-9S108.84,7.25,108.84,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.29,3.29,0,0,0,3.42,3.41A3.24,3.24,0,0,0,102.28,13.54Zm-83,0c0,4.83-3.32,8.82-8.49,8.82a6.54,6.54,0,0,1-4.65-1.57v5.86H0V5.16H6.17V6.8a6.43,6.43,0,0,1,5.11-2.18C16.41,4.62,19.31,8.58,19.31,13.54Zm-6.53,0A3.27,3.27,0,0,0,9.4,10,3.28,3.28,0,0,0,6,13.54,3.29,3.29,0,0,0,9.4,16.95,3.24,3.24,0,0,0,12.78,13.54Zm103.69,0.27c0-2.54,1.54-3.32,3.6-3.32a6.56,6.56,0,0,1,2.08.3L122.3,5.1a3.92,3.92,0,0,0-1.45-.18c-3.45,0-4.38,2.18-4.38,2.18V5.16H110.3V21.84h6.17v-8ZM141.73,0V21.84h-6.16V20.21a6.43,6.43,0,0,1-5.11,2.18c-5.14,0-8-4-8-8.91s3.32-8.82,8.49-8.82a6.54,6.54,0,0,1,4.65,1.57v-5Zm-6,13.48a3.28,3.28,0,0,0-3.41-3.41A3.24,3.24,0,0,0,129,13.47,3.4,3.4,0,1,0,135.75,13.47ZM81.35,4.62c-3.6,0-4.9,2.18-4.9,2.18V5.16H70.29V21.84h6.16V13.29c0-2.11.79-3.08,2.69-3.08s2.18,1.57,2.18,3.57v8.07h6.22V11.6C87.55,7,85.34,4.62,81.35,4.62ZM64.07,1.42H57.9V21.84h6.16V10.36H67l2.81-5.2H64.07V1.42ZM50.26,11.21c-2-.3-2.87-0.3-2.87-1.09s0.81-.94,2.42-0.94a16.15,16.15,0,0,1,5.11.91L56,5.41a24.56,24.56,0,0,0-6.13-.75c-5.89,0-9,2.27-9,5.89,0,2.81,1.66,4.47,6.53,5.11,2.06,0.27,2.81.39,2.81,1.15s-0.82,1-2.24,1a16.67,16.67,0,0,1-6-1.3L40.77,21.3a22.14,22.14,0,0,0,6.68,1c6.35,0,9.28-2.24,9.28-5.89C56.72,13.54,55.15,12,50.26,11.21ZM40.19,13.35c0,6.34-5.17,9-10,9s-9.82-2.6-9.82-8.73c0-6.28,5.08-9,10-9S40.19,7.25,40.19,13.35Zm-6.56.18a3.4,3.4,0,1,0-6.8,0,3.28,3.28,0,0,0,3.41,3.41A3.24,3.24,0,0,0,33.63,13.54Z\"\n fill=\"#00A0D6\"\n transform=\"translate(0 0)\"\n ></path>\n </svg>\n </slot>\n </a>\n </div>\n <div class=\"siteheader-topright\">\n <slot name=\"toprightstart\"></slot>\n {this.gotData && this.loginDialog && !this.hideLogin && (\n <pn-marketweb-siteheader-login\n token={this.userToken}\n siteUrl={this.siteDefinition.url}\n fullname={this.userFullname}\n loggedin={this.userLoggedin}\n loginDialog={this.loginDialog}\n endpoint={this.endpoint}\n i18n={this.i18n}\n showProfileSelection={this.showProfileSelection}\n showUnifiedLogin={this.showUnifiedLogin}\n check-user-logged-in-state-interval={this.checkUserLoggedInStateInterval}\n ></pn-marketweb-siteheader-login>\n )}\n\n {this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (\n <pn-language-selector value={this.language}>\n {this.languageOptions.map(language => (\n <pn-language-selector-option\n name={language.nativeName}\n code={language.twoLetterISOLanguageName}\n selected={language.isCurrent}\n url={this.getLanguageVersionUrl(language)}\n ></pn-language-selector-option>\n ))}\n </pn-language-selector>\n )}\n <slot name=\"toprightend\"></slot>\n <div class=\"siteheader-menu-top-search\">\n <pn-marketweb-siteheader-search\n language={this.language}\n siteid={this.siteid}\n search={this.search}\n hide-search={this.hideSearch}\n i18n={this.i18n}\n icononly={true}\n ></pn-marketweb-siteheader-search>\n </div>\n </div>\n </div>\n <slot name=\"siteheader-menu-top-button\"></slot>\n <div class=\"siteheader-row\">\n <div class=\"siteheader-menu\">\n {this.gotData && this.menuItems && (\n <pn-mainnav\n market={this.market}\n language={this.language}\n onMenuOpenChange={e => {\n document.body.setAttribute('data-siteheader-menuopen', e.detail + '');\n }}\n >\n <pn-mainnav-level>\n <pn-mainnav-list>\n {this.menuItems.map(item => (\n <pn-mainnav-link name={item.name} href={item.href} itemid={item.id} target={item.linkTarget ?? '_self'} linkid={item.trackingId}>\n {((item.promotedMenuItems && item.promotedMenuItems.length > 0) || (item.children && item.children.length > 0)) && (\n <pn-mainnav-level label={item.name}>\n {item.children.length > 0 && (\n <pn-mainnav-list heading={item.navigationHeading ?? ''}>\n {item.children.map(childitem => (\n <pn-mainnav-link\n name={childitem.name}\n href={childitem.href}\n target={childitem.linkTarget ?? '_self'}\n linkid={childitem.trackingId}\n ></pn-mainnav-link>\n ))}\n </pn-mainnav-list>\n )}\n {item.promotedMenuItems && item.promotedMenuItems.length > 0 && (\n <pn-mainnav-list heading={item.promotedMenuItemsHeader}>\n {item.promotedMenuItems.map(childitem => (\n <pn-mainnav-link\n href={childitem.href}\n name={childitem.linkText}\n target={childitem.openInNewWindow ? '_blank' : '_self'}\n linkid={this.promotedItemId(childitem) + item.id}\n ></pn-mainnav-link>\n ))}\n </pn-mainnav-list>\n )}\n </pn-mainnav-level>\n )}\n </pn-mainnav-link>\n ))}\n </pn-mainnav-list>\n <div slot=\"footer\" class=\"siteheader-menu-footer\">\n <slot name=\"menu-footer-cta\"></slot>\n {this.gotData && this.loginDialog && !this.hideLogin && (\n <pn-marketweb-siteheader-login\n emitEvents={false}\n siteUrl={this.siteDefinition.url}\n loginDialog={this.loginDialog}\n endpoint={this.endpoint}\n fullname={this.userFullname}\n loggedin={this.userLoggedin}\n i18n={this.i18n}\n showProfileSelection={this.showProfileSelection}\n showUnifiedLogin={this.showUnifiedLogin}\n environment={this.environment}\n ></pn-marketweb-siteheader-login>\n )}\n\n {this.gotData && this.languageOptions && this.languageOptions.length && !this.hideLanguageSelector && (\n <pn-language-selector value={this.language}>\n {this.languageOptions.map(language => (\n <pn-language-selector-option\n name={language.nativeName}\n code={language.twoLetterISOLanguageName}\n selected={language.isCurrent}\n url={this.getLanguageVersionUrl(language)}\n ></pn-language-selector-option>\n ))}\n </pn-language-selector>\n )}\n {!this.hideSiteSelector && (\n <pn-site-selector language={this.language}>\n {this.gotData && this.siteSelector?.currentSiteTitle && (\n <pn-site-selector-item heading={this.siteSelector.currentSiteTitle} description={this.siteSelector.currentSiteDescription}></pn-site-selector-item>\n )}\n {this.gotData &&\n this.siteSelector?.siteSelections &&\n this.siteSelector.siteSelections.map(site => (\n <pn-site-selector-item\n heading={site.linkText}\n description={site.linkDescription}\n url={site.pageLink}\n newwindow={site.openInNewWindow}\n ></pn-site-selector-item>\n ))}\n </pn-site-selector>\n )}\n </div>\n <div slot=\"top\" class=\"siteheader-menu-top\">\n <pn-marketweb-siteheader-search\n language={this.language}\n siteid={this.siteid}\n search={this.search}\n hide-search={this.hideSearch}\n i18n={this.i18n}\n ></pn-marketweb-siteheader-search>\n </div>\n </pn-mainnav-level>\n </pn-mainnav>\n )}\n </div>\n\n <pn-marketweb-siteheader-search\n language={this.language}\n siteid={this.siteid}\n primary={true}\n search={this.search}\n hide-search={this.hideSearch}\n show-only-link={this.minimizeSearch}\n i18n={this.i18n}\n ></pn-marketweb-siteheader-search>\n <slot name=\"header-bottom-button\"></slot>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,h as t,d as o}from"./p-06555615.js";import{F as r,M as e}from"./p-c95def57.js";import{t as n}from"./p-6e056c20.js";import{a}from"./p-575f557a.js";import{a as s}from"./p-36b39340.js";const p='pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-proxio-pricegroup div.proxio-pricegroup-container{max-width:99.4rem}pn-proxio-pricegroup div.weightcontainer{margin:2.8rem 0}pn-proxio-pricegroup div.weightvaluecontainer{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:flex-start}pn-proxio-pricegroup div.weightvaluecontainer pn-button{transform:translateY(-0.4rem)}pn-proxio-pricegroup div.weightvaluecontainer pn-button button::before{display:none}pn-proxio-pricegroup div.weightradios{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#005d92;width:80%;margin:0 3.6rem;position:relative;width:0%}pn-proxio-pricegroup div.weightradios[data-carousel-container-position=end50]{width:45%;margin-left:auto;margin-right:3.6rem}@media screen and (max-width: 48em){pn-proxio-pricegroup div.weightradios[data-carousel-container-position=end50]{width:40%}}pn-proxio-pricegroup div.weightradios[data-carousel-container-position=end75]{width:65%;margin-left:auto;margin-right:3.6rem}@media screen and (max-width: 48em){pn-proxio-pricegroup div.weightradios[data-carousel-container-position=end75]{margin-right:auto}}pn-proxio-pricegroup div.weightradios[data-carousel-container-position=start50]{width:45%;margin-right:auto;margin-left:3.6rem}@media screen and (max-width: 48em){pn-proxio-pricegroup div.weightradios[data-carousel-container-position=start50]{width:40%}}pn-proxio-pricegroup div.weightradios[data-carousel-container-position=start75]{width:65%;margin-right:auto;margin-left:3.6rem}@media screen and (max-width: 48em){pn-proxio-pricegroup div.weightradios[data-carousel-container-position=start75]{margin-left:auto}}pn-proxio-pricegroup div.weightradios[data-carousel-container-position=default]{flex:0 0 auto;width:80%}@media screen and (max-width: 48em){pn-proxio-pricegroup div.weightradios[data-carousel-container-position=default]{width:65%}}pn-proxio-pricegroup div.weightdata{display:flex;flex-direction:column;align-items:center;align-content:center;flex-wrap:wrap;justify-content:space-between;gap:1.2rem;min-width:4rem;cursor:pointer}pn-proxio-pricegroup div.weightdata label{font-size:1.4rem;cursor:pointer}pn-proxio-pricegroup div.weightdata[data-carousel-position="0"]{font-size:2rem;font-weight:700}@media screen and (max-width: 48em){pn-proxio-pricegroup div.weightdata[data-carousel-position="2"],pn-proxio-pricegroup div.weightdata[data-carousel-position="-2"]{display:none}}pn-proxio-pricegroup div.weightdata[data-carousel-position=outside]{display:none}pn-proxio-pricegroup div.weightdata input[type=radio]{-webkit-appearance:none;-moz-appearance:none;width:1.2rem;height:1.2rem;background-color:#005d92;border-radius:50%;margin:0;cursor:pointer}pn-proxio-pricegroup div.weightdata input[type=radio]:checked{z-index:1;transform:translateY(-0.1rem);height:1.4rem;width:1.4rem;box-shadow:0 0 0 0.3rem #ffffff, 0 0 0 0.4rem #005d92}pn-proxio-pricegroup div.weightline{width:100%;background-color:#f3f2f2;z-index:-1;height:0.8rem;-webkit-transform:translateX(2.1rem) translateY(1.32rem);transform:translateX(2.1rem) translateY(1rem);border-radius:2rem;margin-right:3.5rem}pn-proxio-pricegroup pn-button[disabled=disabled]{opacity:0.2}pn-proxio-pricegroup pn-button[disabled=disabled] button{cursor:default}pn-proxio-pricegroup pn-button[disabled=disabled] button.pn-button-light .pn-button-bg:after{background-color:#ffffff}pn-proxio-pricegroup pn-button[disabled=disabled] button[data-tooltip-open]:before{display:none}pn-proxio-pricegroup pn-button button div.button-tooltip{display:none}pn-proxio-pricegroup pn-button button:focus .pn-button-bg{box-shadow:none}';const d=p;const l=class{constructor(t){i(this,t);this.fetchHelper=new r("proxiopricegroup");this.endpoint=null;this.language="sv";this.market="se";this.tariffid="";this.cache=true;this.activeWeightIndex=0;this.data=null;this.i18n=n["sv"]}componentWillLoad(){this.setInitialValues().then((()=>{this.init()}))}async setInitialValues(i=window.location.href){const t=new e(i);const o=await t.getEnvironmentName();if(!this.endpoint&&(o===null||o===void 0?void 0:o.indexOf("local"))===-1){const i=await t.getMarket();this.endpoint=await t.getEndpoint(o,i)}if(!this.endpoint){this.endpoint=""}}init(){this.setLanguage();this.fetchData()}async fetchData(){if(!this.market||!this.language||!this.tariffid){return}const i=this.endpoint.lastIndexOf("/")===this.endpoint.length-1?this.endpoint.substring(0,this.endpoint.length-1):this.endpoint;const t=`${i}/api/proxio/price-list-group?tariffId=${this.tariffid}&market=${this.market}&language=${this.language}&cached=${this.cache}`;const o=await this.fetchHelper.fetchJson(t,{mode:"cors"},this.cache,this.onFetchData.bind(this));if(o===null||o===void 0?void 0:o.proxioProduct){this.data=o}}onFetchData(i){this.data=i}setActiveWeightIndex(i){var t,o,r;let e=0;let n=(r=((o=(t=this.data.proxioProduct)===null||t===void 0?void 0:t.weightAndPriceList)===null||o===void 0?void 0:o.length)-1)!==null&&r!==void 0?r:e;i=i>n?n:i;i=i<e?e:i;this.activeWeightIndex=i}setLanguage(){if(n[this.language]){this.i18n=n[this.language]}}getPriceString(i){var t;let o=i.weightAndPriceList?(t=i===null||i===void 0?void 0:i.weightAndPriceList[this.activeWeightIndex])===null||t===void 0?void 0:t.item2:"";return o?this.i18n.from+o:""}getProductLink(i,t){var o;let r=(o=t[this.activeWeightIndex])===null||o===void 0?void 0:o.item2;let e=i.productLink?i===null||i===void 0?void 0:i.productLink:"";return e?e+(r?"?productId="+r:""):""}isActive(i){return i===this.activeWeightIndex}getCarouselPosition(i){switch(i){case this.activeWeightIndex-2:{return-2}case this.activeWeightIndex-1:{return-1}case this.activeWeightIndex:{return 0}case this.activeWeightIndex+1:{return 1}case this.activeWeightIndex+2:{return 2}default:return"outside"}}getContainerPosition(){let i=this.data.proxioProduct.weightAndPriceList.length-1;switch(this.activeWeightIndex){case 0:{return"end50"}case 1:{return"end75"}case i-1:{return"start75"}case i:{return"start50"}default:{return"default"}}}render(){var i,r,e;return t(o,{key:"382bffa036a8d0d4dd545e661ce81a014c3d427d"},((i=this.data)===null||i===void 0?void 0:i.proxioProduct)?t("div",{class:"proxio-pricegroup-container"},t("div",{class:"weightcontainer"},this.data.proxioProduct.weightAndPriceList?t("div",{class:"weightvaluecontainer"},t("pn-button",{disabled:this.activeWeightIndex===0?"disabled":null,icon:a,appearance:"light",small:"true",onClick:()=>this.setActiveWeightIndex(this.activeWeightIndex-1)}),t("div",{class:"weightradios ","data-carousel-container-position":this.getContainerPosition()},t("div",{class:"weightline"}),this.data.proxioProduct.weightAndPriceList.map(((i,o)=>this.getCarouselPosition(o)!==null?t("div",{class:"weightdata","data-carousel-position":this.getCarouselPosition(o),onClick:()=>this.setActiveWeightIndex(o)},t("input",{type:"radio",id:"weightradio"+o,name:"weightradio",value:o,checked:this.isActive(o)}),t("label",{htmlFor:"weightradio"+o},i.item1)):null))),t("pn-button",{disabled:this.activeWeightIndex===((e=(r=this.data.proxioProduct)===null||r===void 0?void 0:r.weightAndPriceList)===null||e===void 0?void 0:e.length)-1?"disabled":null,icon:s,appearance:"light",small:"true",onClick:()=>this.setActiveWeightIndex(this.activeWeightIndex+1)})):null),t("pn-proxio-productcard",null,t("pn-illustration",{slot:"illustrationmobile",illustration:this.data.proxioProduct.productIcon}),t("h2",{slot:"title"},this.data.proxioProduct.productTitle),t("pn-proxio-productcard-description",{slot:"description",heading:this.data.proxioProduct.productPreamble,highlight:this.data.proxioProduct.deliveryDateInformation,list:this.data.proxioProduct.productDescriptionBulletListItems}),t("div",{slot:"information"},t("pn-proxio-productcard-information",{label:this.i18n.labelMaxDimensions,information:this.data.proxioProduct.productPackageDimensionsList}),t("pn-proxio-productcard-information",{label:this.i18n.labelMaxDimensionsRoll,information:this.data.proxioProduct.productRollDimensionsList})),t("div",{slot:"bottomtags"},this.data.proxioProduct.usp1?t("pn-titletag",{color:"gray50"},this.data.proxioProduct.usp1):null,this.data.proxioProduct.usp2?t("pn-titletag",{color:"gray50"},this.data.proxioProduct.usp2):null,this.data.proxioProduct.usp3?t("pn-titletag",{color:"gray50"},this.data.proxioProduct.usp3):null),t("pn-illustration",{slot:"illustration",illustration:this.data.proxioProduct.productIcon}),t("div",{slot:"pricelink"},t("pn-proxio-productcard-pricelink",{price:this.getPriceString(this.data.proxioProduct),link:this.getProductLink(this.data.proxioProduct,this.data.proxioProduct.productWeightGroupList),linktext:this.data.proxioProduct.productLinkText}),this.data.relatedProxioProducts?this.data.relatedProxioProducts.map((i=>t("pn-proxio-productcard-pricelink",{price:this.getPriceString(i),link:i.productLink,linktext:i.productLinkText}))):null))):null)}};l.style=d;export{l as pn_proxio_pricegroup};
|
|
2
|
-
//# sourceMappingURL=p-161970d1.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["pnProxioPricegroupCss","PnProxioPricegroupStyle0","PnProxioPricegroup","this","fetchHelper","FetchHelper","translations","componentWillLoad","setInitialValues","then","init","href","window","location","marketWebContextService","MarketWebContextService","environment","getEnvironmentName","endpoint","indexOf","market","getMarket","getEndpoint","setLanguage","fetchData","language","tariffid","lastIndexOf","length","substring","fetchUrl","cache","data","fetchJson","mode","onFetchData","bind","proxioProduct","setActiveWeightIndex","weightIndex","minIndex","maxIndex","_c","_b","_a","weightAndPriceList","activeWeightIndex","i18n","getPriceString","product","price","item2","from","getProductLink","productWeightGroupList","productId","productLink","isActive","index","getCarouselPosition","getContainerPosition","render","h","Host","key","class","disabled","icon","arrow_left","appearance","small","onClick","map","weightItem","type","id","name","value","checked","htmlFor","item1","arrow_right","slot","illustration","productIcon","productTitle","heading","productPreamble","highlight","deliveryDateInformation","list","productDescriptionBulletListItems","label","labelMaxDimensions","information","productPackageDimensionsList","labelMaxDimensionsRoll","productRollDimensionsList","usp1","color","usp2","usp3","link","linktext","productLinkText","relatedProxioProducts"],"sources":["src/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.scss?tag=pn-proxio-pricegroup","src/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n@import './pn-proxio-pricegroup-common.scss';\n\npn-proxio-pricegroup {\n div.proxio-pricegroup-container {\n max-width: 99.4rem;\n }\n\n div.weightcontainer {\n margin: 2.8rem 0;\n }\n\n div.weightvaluecontainer {\n display: flex;\n flex-direction: row;\n align-content: center;\n justify-content: space-between;\n align-items: flex-start;\n\n pn-button {\n transform: translateY(-0.4rem);\n\n button::before {\n display: none;\n }\n }\n }\n\n div.weightradios {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n color: $blue700;\n width: 80%;\n margin: 0 3.6rem;\n position: relative;\n width: 0%;\n\n &[data-carousel-container-position='end50'] {\n width: 45%;\n margin-left: auto;\n margin-right: 3.6rem;\n\n @media screen and (max-width: $productcard-media-tablet) {\n width: 40%;\n }\n }\n\n &[data-carousel-container-position='end75'] {\n width: 65%;\n margin-left: auto;\n margin-right: 3.6rem;\n\n @media screen and (max-width: $productcard-media-tablet) {\n margin-right: auto;\n }\n }\n\n &[data-carousel-container-position='start50'] {\n width: 45%;\n margin-right: auto;\n margin-left: 3.6rem;\n\n @media screen and (max-width: $productcard-media-tablet) {\n width: 40%;\n }\n }\n\n &[data-carousel-container-position='start75'] {\n width: 65%;\n margin-right: auto;\n margin-left: 3.6rem;\n\n @media screen and (max-width: $productcard-media-tablet) {\n margin-left: auto;\n }\n }\n\n &[data-carousel-container-position='default'] {\n flex: 0 0 auto;\n width: 80%;\n\n @media screen and (max-width: $productcard-media-tablet) {\n width: 65%;\n }\n }\n }\n\n div.weightdata {\n display: flex;\n flex-direction: column;\n align-items: center;\n align-content: center;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 1.2rem;\n min-width: 4rem;\n cursor: pointer;\n\n label {\n font-size: 1.4rem;\n cursor: pointer;\n }\n\n &[data-carousel-position='0'] {\n font-size: 2rem;\n font-weight: 700;\n }\n\n &[data-carousel-position='2'],\n &[data-carousel-position='-2'] {\n @media screen and (max-width: $productcard-media-tablet) {\n display: none;\n }\n }\n\n &[data-carousel-position='outside'] {\n display: none;\n }\n\n input[type='radio'] {\n -webkit-appearance: none;\n -moz-appearance: none;\n width: 1.2rem;\n height: 1.2rem;\n background-color: $blue700;\n border-radius: 50%;\n margin: 0;\n cursor: pointer;\n }\n\n input[type='radio']:checked {\n z-index: 1;\n transform: translateY(-0.1rem);\n height: 1.4rem;\n width: 1.4rem;\n box-shadow:\n 0 0 0 0.3rem $white,\n 0 0 0 0.4rem $blue700;\n }\n }\n\n div.weightline {\n width: 100%;\n background-color: $gray50;\n z-index: -1;\n height: 0.8rem;\n -webkit-transform: translateX(2.1rem) translateY(1.32rem);\n transform: translateX(2.1rem) translateY(1rem);\n border-radius: 2rem;\n margin-right: 3.5rem;\n }\n\n pn-button {\n &[disabled='disabled'] {\n opacity: 0.2;\n\n button {\n cursor: default;\n\n &.pn-button-light .pn-button-bg:after {\n background-color: $white;\n }\n\n &[data-tooltip-open]:before {\n display: none;\n }\n }\n }\n\n button div.button-tooltip {\n display: none;\n }\n\n button:focus .pn-button-bg {\n box-shadow: none;\n }\n }\n}\n","import { Component, h, Host, Listen, Prop, State } from '@stencil/core';\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport { MarketWebContextService } from '../../../globals/MarketWebContextService';\nimport { translations } from './translations';\nimport { ProductGenericItem, ProxioPriceGroupi18n, ProxioPriceListGroupResponse, ProxioProduct, ProductWeightGroupListItem } from './types';\nimport { arrow_left, arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-proxio-pricegroup',\n styleUrl: 'pn-proxio-pricegroup.scss',\n})\nexport class PnProxioPricegroup {\n /** Specifies which endpoint domain we should load from */\n @Prop({ mutable: true }) endpoint: string = null;\n //@Prop() culture: string = \"sv-SE\";\n @Prop() language: string = 'sv';\n @Prop() market: string = 'se';\n @Prop() tariffid: string = '';\n @Prop() cache: boolean = true;\n\n @State() activeWeightIndex: number = 0;\n @State() data: ProxioPriceListGroupResponse = null;\n @State() i18n: ProxioPriceGroupi18n = translations['sv'];\n\n fetchHelper = new FetchHelper('proxiopricegroup');\n\n componentWillLoad() {\n this.setInitialValues().then(() => {\n this.init();\n });\n }\n\n async setInitialValues(href = window.location.href) {\n const marketWebContextService = new MarketWebContextService(href);\n const environment = await marketWebContextService.getEnvironmentName();\n\n if (!this.endpoint && environment?.indexOf('local') === -1) {\n const market = await marketWebContextService.getMarket();\n this.endpoint = await marketWebContextService.getEndpoint(environment, market);\n }\n\n if (!this.endpoint) {\n this.endpoint = '';\n }\n }\n\n init() {\n this.setLanguage();\n this.fetchData();\n }\n\n async fetchData() {\n if (!this.market || !this.language || !this.tariffid) {\n return;\n }\n const endpoint = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;\n const fetchUrl = `${endpoint}/api/proxio/price-list-group?tariffId=${this.tariffid}&market=${this.market}&language=${this.language}&cached=${this.cache}`;\n //const fetchUrl = `https://localhost:51547/api/proxio/price-list-group?tariffId=${this.tariffid}&market=${this.market}&language=${this.language}&cached=${this.cache}`;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n {\n mode: 'cors',\n },\n this.cache,\n this.onFetchData.bind(this),\n )) as any;\n\n if (data?.proxioProduct) {\n this.data = data;\n }\n }\n\n onFetchData(data) {\n this.data = data;\n }\n\n @Listen('activeWeightIndex')\n setActiveWeightIndex(weightIndex: number) {\n let minIndex = 0;\n let maxIndex = this.data.proxioProduct?.weightAndPriceList?.length - 1 ?? minIndex;\n weightIndex = weightIndex > maxIndex ? maxIndex : weightIndex;\n weightIndex = weightIndex < minIndex ? minIndex : weightIndex;\n this.activeWeightIndex = weightIndex;\n }\n\n @Listen('language')\n setLanguage() {\n if (translations[this.language]) {\n this.i18n = translations[this.language] as ProxioPriceGroupi18n;\n }\n }\n\n getPriceString(product: ProxioProduct) {\n let price = product.weightAndPriceList ? product?.weightAndPriceList[this.activeWeightIndex]?.item2 : '';\n return price ? this.i18n.from + price : '';\n }\n\n getProductLink(product: ProxioProduct, productWeightGroupList: ProductWeightGroupListItem[]) {\n let productId = productWeightGroupList[this.activeWeightIndex]?.item2;\n let productLink = product.productLink ? product?.productLink : '';\n return productLink ? productLink + (productId ? '?productId=' + productId : '') : '';\n }\n\n isActive(index: number) {\n return index === this.activeWeightIndex;\n }\n\n getCarouselPosition(index: number) {\n switch (index) {\n case this.activeWeightIndex - 2: {\n return -2;\n }\n case this.activeWeightIndex - 1: {\n return -1;\n }\n case this.activeWeightIndex: {\n return 0;\n }\n case this.activeWeightIndex + 1: {\n return 1;\n }\n case this.activeWeightIndex + 2: {\n return 2;\n }\n default:\n return 'outside';\n }\n }\n\n getContainerPosition() {\n let maxIndex = this.data.proxioProduct.weightAndPriceList.length - 1;\n switch (this.activeWeightIndex) {\n case 0: {\n return 'end50';\n }\n case 1: {\n return 'end75';\n }\n case maxIndex - 1: {\n return 'start75';\n }\n case maxIndex: {\n return 'start50';\n }\n default: {\n return 'default';\n }\n }\n }\n\n render() {\n return (\n <Host>\n {this.data?.proxioProduct ? (\n <div class=\"proxio-pricegroup-container\">\n <div class=\"weightcontainer\">\n {this.data.proxioProduct.weightAndPriceList ? (\n <div class=\"weightvaluecontainer\">\n <pn-button\n disabled={this.activeWeightIndex === 0 ? 'disabled' : null}\n icon={arrow_left}\n appearance=\"light\"\n small=\"true\"\n onClick={() => this.setActiveWeightIndex(this.activeWeightIndex - 1)}\n ></pn-button>\n <div class=\"weightradios \" data-carousel-container-position={this.getContainerPosition()}>\n <div class=\"weightline\"></div>\n {this.data.proxioProduct.weightAndPriceList.map((weightItem, index) =>\n this.getCarouselPosition(index) !== null ? (\n <div class=\"weightdata\" data-carousel-position={this.getCarouselPosition(index)} onClick={() => this.setActiveWeightIndex(index)}>\n <input type=\"radio\" id={'weightradio' + index} name=\"weightradio\" value={index} checked={this.isActive(index)} />\n <label htmlFor={'weightradio' + index}>{weightItem.item1}</label>\n </div>\n ) : null,\n )}\n </div>\n <pn-button\n disabled={this.activeWeightIndex === this.data.proxioProduct?.weightAndPriceList?.length - 1 ? 'disabled' : null}\n icon={arrow_right}\n appearance=\"light\"\n small=\"true\"\n onClick={() => this.setActiveWeightIndex(this.activeWeightIndex + 1)}\n ></pn-button>\n </div>\n ) : null}\n </div>\n <pn-proxio-productcard>\n <pn-illustration slot=\"illustrationmobile\" illustration={this.data.proxioProduct.productIcon}></pn-illustration>\n <h2 slot=\"title\">{this.data.proxioProduct.productTitle}</h2>\n <pn-proxio-productcard-description\n slot=\"description\"\n heading={this.data.proxioProduct.productPreamble}\n highlight={this.data.proxioProduct.deliveryDateInformation}\n list={this.data.proxioProduct.productDescriptionBulletListItems}\n ></pn-proxio-productcard-description>\n <div slot=\"information\">\n <pn-proxio-productcard-information\n label={this.i18n.labelMaxDimensions}\n information={this.data.proxioProduct.productPackageDimensionsList as ProductGenericItem[]}\n ></pn-proxio-productcard-information>\n <pn-proxio-productcard-information\n label={this.i18n.labelMaxDimensionsRoll}\n information={this.data.proxioProduct.productRollDimensionsList as ProductGenericItem[]}\n ></pn-proxio-productcard-information>\n </div>\n <div slot=\"bottomtags\">\n {this.data.proxioProduct.usp1 ? <pn-titletag color=\"gray50\">{this.data.proxioProduct.usp1}</pn-titletag> : null}\n {this.data.proxioProduct.usp2 ? <pn-titletag color=\"gray50\">{this.data.proxioProduct.usp2}</pn-titletag> : null}\n {this.data.proxioProduct.usp3 ? <pn-titletag color=\"gray50\">{this.data.proxioProduct.usp3}</pn-titletag> : null}\n </div>\n <pn-illustration slot=\"illustration\" illustration={this.data.proxioProduct.productIcon}></pn-illustration>\n <div slot=\"pricelink\">\n <pn-proxio-productcard-pricelink\n price={this.getPriceString(this.data.proxioProduct)}\n link={this.getProductLink(this.data.proxioProduct, this.data.proxioProduct.productWeightGroupList)}\n linktext={this.data.proxioProduct.productLinkText}\n ></pn-proxio-productcard-pricelink>\n {this.data.relatedProxioProducts\n ? this.data.relatedProxioProducts.map(product => (\n <pn-proxio-productcard-pricelink\n price={this.getPriceString(product)}\n link={product.productLink}\n linktext={product.productLinkText}\n ></pn-proxio-productcard-pricelink>\n ))\n : null}\n </div>\n </pn-proxio-productcard>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["translations","sv","componentheading","deliveryscopeheading","sizeheading","resultlistheading","weightlabel","maxweightlabel","maxmeasurementlabel","senddirectcta","stampshopcta","en","da","no","fi","markets","se","currency","dk","postagetypes","name","value","illustration","deliveryscopes","letter","parcel","weights","abbreviation","pnFindServiceAndPriceCss","PnFindServiceAndPriceStyle0","PnfindServiceAndPrice","icon","types","data","componentWillLoad","this","setState","getDataSource","cacheBusting","Math","floor","random","req","fetch","source","reqbody","blob","convertedData","convertFileFromStream","sourceData","filterItems","e","console","log","market","state","language","i18n","_a","postagetype","typeData","filter","x","what","deliveryscope","deliveryScopeData","weight","comparisonWeight","toLocaleLowerCase","weightFilteredData","maxweight","length","uniqueWeightOptions","Map","reverse","map","item","values","filteredItems","render","h","key","class","choiceid","type","checked","onChange","weightvalue","inputid","label","target","weightNum","parseInt","isNaN","matchingWeights","weightInGrams","id","list","findIndex","min","max","weightindex","labelText","Object","assign"],"sources":["src/components/widgets/pn-find-service-and-price/pn-find-service-and-price-translations.ts","src/components/widgets/pn-find-service-and-price/data.js","src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.scss?tag=pn-find-service-and-price","src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.tsx"],"sourcesContent":["export const translations = {\n sv: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Hit eller dit?',\n sizeheading: 'Hur mycket väger det?',\n resultlistheading: 'Några utvalda val',\n weightlabel: 'Vikt',\n maxweightlabel: 'Maxvikt',\n maxmeasurementlabel: 'Maxvolym',\n senddirectcta: 'Köp frakt via Skicka Direkt',\n stampshopcta: 'Köp frimärken via vår webshop',\n },\n en: {\n componentheading: 'What do you want to send?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Weight',\n maxweightlabel: 'Max weight',\n maxmeasurementlabel: 'Maximum measurement',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n da: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Vægt',\n maxweightlabel: 'Max vægt',\n maxmeasurementlabel: 'Maks. Volumen',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n no: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Vekt',\n maxweightlabel: 'Maks vekt',\n maxmeasurementlabel: 'Maks volum',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n fi: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Paino',\n maxweightlabel: 'Max paino',\n maxmeasurementlabel: 'Max äänenvoimakkuus',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n};\n\nexport const markets = {\n se: {\n currency: 'kr',\n },\n dk: {\n currency: 'dk',\n },\n fi: {\n currency: ' €',\n },\n no: {\n currency: 'kr',\n },\n};\n","const postagetypes = [\n { name: 'Brev', value: 'letter', illustration: 'letterbox-reply-letter-plants' },\n { name: 'Paket', value: 'parcel', illustration: 'tracking' },\n];\n\nconst deliveryscopes = {\n letter: [\n { name: 'Sweden', value: 'sweden', illustration: 'letterboxes' },\n { name: 'Abroad', value: 'abroad', illustration: 'character-box-letters-globe' },\n ],\n parcel: [\n { name: 'Sweden', value: 'sweden', illustration: 'letterboxes' },\n { name: 'Within Europe', value: 'withineurope', illustration: 'character-box-letters-globe' },\n { name: 'Outside Europe', value: 'outsideeurope', illustration: 'discover' },\n ],\n};\n\nconst weights = {\n letter: [\n { name: '50g', abbreviation: 'g', value: 50 },\n { name: '100g', abbreviation: 'g', value: 100 },\n { name: '250g', abbreviation: 'g', value: 250 },\n { name: '500g', abbreviation: 'g', value: 500 },\n { name: '1kg', abbreviation: 'kg', value: 1 },\n { name: '2kg', abbreviation: 'kg', value: 2 },\n ],\n parcel: [\n { name: '1kg', abbreviation: 'kg', value: 1 },\n { name: '2kg', abbreviation: 'kg', value: 2 },\n { name: '3kg', abbreviation: 'kg', value: 3 },\n { name: '4kg', abbreviation: 'kg', value: 4 },\n { name: '5kg', abbreviation: 'kg', value: 5 },\n { name: '6kg', abbreviation: 'kg', value: 6 },\n { name: '7Kg', abbreviation: 'kg', value: 7 },\n { name: '8kg', abbreviation: 'kg', value: 8 },\n { name: '9kg', abbreviation: 'kg', value: 9 },\n { name: '10kg', abbreviation: 'kg', value: 10 },\n { name: '11kg', abbreviation: 'kg', value: 11 },\n { name: '12kg', abbreviation: 'kg', value: 12 },\n { name: '13kg', abbreviation: 'kg', value: 13 },\n { name: '14kg', abbreviation: 'kg', value: 14 },\n { name: '15kg', abbreviation: 'kg', value: 15 },\n { name: '16kg', abbreviation: 'kg', value: 16 },\n { name: '17kg', abbreviation: 'kg', value: 17 },\n { name: '18kg', abbreviation: 'kg', value: 18 },\n { name: '20kg', abbreviation: 'kg', value: 20 },\n ],\n};\n\nexport { postagetypes, weights, deliveryscopes };\n","@import '../../../globals/main.scss';\n\npn-find-service-and-price {\n .findprice-form {\n max-width: 50em;\n margin: 0 auto;\n }\n\n h2,\n .heading {\n text-align: center;\n font-size: 1.5em;\n line-height: 1.1;\n font-weight: bold;\n margin-bottom: 1rem;\n }\n .postagetypes,\n .deliveryscope {\n text-align: center;\n margin-bottom: 3rem;\n }\n\n .weightoption {\n display: flex;\n gap: 1em;\n }\n\n .weightoption-input {\n width: 5em;\n position: relative;\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n\n .weightoption-input-abbreviation {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 1.2em;\n margin-top: 1.55rem;\n font-weight: 500;\n }\n\n .weightoption-range {\n flex-grow: 1;\n align-self: flex-end;\n position: relative;\n top: 0.5em;\n input {\n width: calc(100% - 1.5em);\n }\n datalist {\n width: 100%;\n display: flex;\n justify-content: space-between;\n font-size: 0.75em;\n }\n }\n\n .resultlist {\n margin: 3em 0;\n }\n}\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-find-service-and-price-translations';\nimport { ProductPriceSourceData, ProductPriceItem } from '../../../globals/shared/productprice/product-price-types';\nimport {\n FindServiceAndPricePostageType,\n FindServiceAndPriceWeight,\n FindServiceAndPriceDeliveryScope,\n PnfindServiceAndPriceMarket,\n PnfindServiceAndPricei18n,\n} from './pn-find-service-and-price-types';\nimport { postagetypes, weights, deliveryscopes } from './data.js';\nimport { convertFileFromStream } from '../../../globals/shared/productprice/convert.js';\nimport { state } from './pn-find-service-and-price-store';\n\n@Component({\n tag: 'pn-find-service-and-price',\n styleUrl: 'pn-find-service-and-price.scss',\n})\nexport class PnfindServiceAndPrice {\n @Prop() source: string = 'https://com-inte.postnord.com/globalassets/global/prices/sv-se-findprice.xlsx';\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() postagetype: FindServiceAndPricePostageType = {\n value: '',\n name: '',\n icon: '',\n } as FindServiceAndPricePostageType;\n @State() weight: FindServiceAndPriceWeight = { value: 0, name: '' } as FindServiceAndPriceWeight;\n @State() weightvalue: number = 0;\n @State() deliveryscope: FindServiceAndPriceDeliveryScope = {\n value: '',\n name: '',\n icon: '',\n } as FindServiceAndPriceDeliveryScope;\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n\n componentWillLoad() {\n this.setState();\n this.getDataSource();\n\n // window.setTimeout(() => {\n // this.postagetype = postagetypes[0];\n // this.deliveryscope = deliveryscopes[this.postagetype.value][0];\n // this.weight = weights[this.postagetype.value][0];\n // this.weightvalue = this.weight.value;\n // }, 500)\n }\n\n async getDataSource() {\n const cacheBusting = `?cache=${Math.floor(Math.random() * (10000 - 1) + 1)}`;\n const req = await fetch(this.source + cacheBusting);\n const reqbody = await req.blob();\n try {\n const convertedData = await convertFileFromStream(reqbody);\n this.sourceData = convertedData;\n this.filterItems();\n } catch (e) {\n console.log('Unable to parse data');\n }\n }\n\n @Watch('market')\n @Watch('language')\n setState() {\n if (this.market) {\n state.market = markets[this.market] as PnfindServiceAndPriceMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindServiceAndPricei18n;\n }\n }\n\n @Watch('postagetype')\n @Watch('deliveryscope')\n @Watch('weightvalue')\n filterItems() {\n // this.debug = `Postagetype: ${this.postagetype.value}. <br/>Weight: ${ this.weight.value }`;\n if (!this.sourceData?.data) {\n console.log('Data has not yet been loaded');\n return;\n }\n if (!this.postagetype) {\n return;\n }\n const typeData = this.sourceData.data.filter(x => x.what === this.postagetype.value);\n if (!this.deliveryscope) {\n return;\n }\n const deliveryScopeData = typeData.filter(x => x.deliveryscope === this.deliveryscope.value);\n if (!this.weight || !this.weight.value) {\n return;\n }\n\n // For letters we use grams. Otherwise we use KG\n const comparisonWeight = this.weight.abbreviation.toLocaleLowerCase() === 'kg' && this.postagetype.value === 'letter' ? this.weight.value * 1000 : this.weight.value;\n\n let weightFilteredData = deliveryScopeData.filter(x => x.maxweight === comparisonWeight);\n\n // In parcels the maxwidths don't necessarily start at 1kg so we fetch any type below the user selected value\n if (weightFilteredData.length === 0) {\n weightFilteredData = deliveryScopeData.filter(x => x.maxweight >= comparisonWeight);\n if (weightFilteredData.length > 0) {\n // We reverse the result array since the map will take the last unique item instead of the first\n const uniqueWeightOptions = [...new Map(weightFilteredData.reverse().map(item => [item['id'], item])).values()];\n if (uniqueWeightOptions.length > 0) {\n weightFilteredData = uniqueWeightOptions;\n }\n }\n }\n\n this.filteredItems = weightFilteredData;\n }\n\n render() {\n return (\n <div>\n <div class=\"findprice-form\">\n {state.i18n.componentheading ? <h2>{state.i18n.componentheading}</h2> : null}\n <div class=\"postagetypes\">\n {postagetypes.map(postagetype => (\n <pn-choice-button\n choiceid={postagetype.value}\n value={postagetype.value}\n name=\"postagetype\"\n type=\"radio\"\n checked={postagetype.value === this.postagetype.value}\n onChange={() => {\n this.postagetype = (postagetypes as FindServiceAndPricePostageType[]).filter(x => x.value === postagetype.value)[0];\n this.deliveryscope = { value: '', name: '', icon: '' } as FindServiceAndPriceDeliveryScope;\n this.weight = { value: 0, name: '' } as FindServiceAndPriceWeight;\n this.weightvalue = this.weight.value;\n }}\n >\n <pn-illustration illustration={postagetype.illustration}></pn-illustration> {postagetype.name}\n </pn-choice-button>\n ))}\n </div>\n\n {this.postagetype.value && deliveryscopes[this.postagetype.value] ? (\n <div>\n {state.i18n.deliveryscopeheading ? <div class=\"heading\">{state.i18n.deliveryscopeheading}</div> : null}\n <div class=\"deliveryscope\">\n {deliveryscopes[this.postagetype.value].map(deliveryscope => (\n <pn-choice-button\n choiceid={this.postagetype.value + deliveryscope.value}\n value={deliveryscope.value}\n name=\"deliveryscope\"\n type=\"radio\"\n checked={deliveryscope.value === this.deliveryscope.value}\n onChange={() => {\n this.deliveryscope = (deliveryscopes[this.postagetype.value] as FindServiceAndPriceDeliveryScope[]).filter(x => x.value === deliveryscope.value)[0];\n if (this.weight.value === 0) {\n this.weight = weights[this.postagetype.value][0];\n this.weightvalue = this.weight.value;\n }\n }}\n >\n <pn-illustration illustration={deliveryscope.illustration}></pn-illustration> {deliveryscope.name}\n </pn-choice-button>\n ))}\n </div>\n </div>\n ) : null}\n\n {this.postagetype.value && weights[this.postagetype.value] && this.deliveryscope.value ? (\n <div>\n {state.i18n.sizeheading ? <div class=\"heading\">{state.i18n.sizeheading}</div> : null}\n <div class=\"weightoption\">\n <div class=\"weightoption-input\">\n <pn-input\n inputid=\"weightvalue\"\n name=\"weightvalue\"\n type=\"number\"\n label={state.i18n.weightlabel}\n value={this.weightvalue}\n onChange={e => {\n if (e && e.target && e.target.value) {\n const weightNum = parseInt(e.target.value, 10);\n if (!isNaN(weightNum)) {\n let matchingWeights = (weights[this.postagetype.value] as FindServiceAndPriceWeight[]).filter(x => {\n let weightInGrams = x.abbreviation === 'kg' ? x.value * 1000 : x.value;\n return weightInGrams >= weightNum;\n });\n if (matchingWeights && matchingWeights.length > 0) {\n this.weight = matchingWeights[0];\n this.weightvalue = this.weight.value;\n }\n }\n }\n }}\n ></pn-input>\n <span class=\"weightoption-input-abbreviation\">{this.weight.abbreviation}</span>\n </div>\n <div class=\"weightoption-range\">\n <input\n type=\"range\"\n id=\"weightrange\"\n name=\"weightrange\"\n list=\"weightlist\"\n value={!this.weight.value ? 0 : weights[this.postagetype.value].findIndex(x => x.value === this.weightvalue)}\n onChange={e => {\n const value = (e.target as HTMLInputElement).value;\n this.weight = weights[this.postagetype.value][value];\n this.weightvalue = this.weight.value;\n }}\n min=\"0\"\n // max={ weights[this.postagetype.value][weights[this.postagetype.value].length - 1].value }\n max={weights[this.postagetype.value].length - 1}\n />\n <datalist id=\"weightlist\">\n {weights[this.postagetype.value].map((weight, weightindex) => {\n let labelText = weight.name;\n if (weights[this.postagetype.value].length > 6) {\n labelText = weightindex % 5 === 0 || weightindex === 0 || weightindex === weights[this.postagetype.value].length - 1 ? weight.name : '';\n }\n return <option value={weightindex} {...(labelText ? { label: labelText } : {})}></option>;\n })}\n </datalist>\n </div>\n </div>\n </div>\n ) : null}\n </div>\n {this.filteredItems && this.filteredItems.length > 0 ? (\n <div class=\"resultlist\">\n {state.i18n.resultlistheading ? <div class=\"heading\">{state.i18n.resultlistheading}</div> : null}\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n <pn-find-service-and-price-result item={item}></pn-find-service-and-price-result>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"2IAAO,MAAMA,EAAe,CAC1BC,GAAI,CACFC,iBAAkB,sBAClBC,qBAAsB,iBACtBC,YAAa,wBACbC,kBAAmB,oBACnBC,YAAa,OACbC,eAAgB,UAChBC,oBAAqB,WACrBC,cAAe,8BACfC,aAAc,iCAEhBC,GAAI,CACFT,iBAAkB,4BAClBC,qBAAsB,iBACtBC,YAAa,0BACbC,kBAAmB,gCACnBC,YAAa,SACbC,eAAgB,aAChBC,oBAAqB,sBACrBC,cAAe,8BACfC,aAAc,sCAEhBE,GAAI,CACFV,iBAAkB,sBAClBC,qBAAsB,iBACtBC,YAAa,0BACbC,kBAAmB,gCACnBC,YAAa,OACbC,eAAgB,WAChBC,oBAAqB,gBACrBC,cAAe,8BACfC,aAAc,sCAEhBG,GAAI,CACFX,iBAAkB,sBAClBC,qBAAsB,iBACtBC,YAAa,0BACbC,kBAAmB,gCACnBC,YAAa,OACbC,eAAgB,YAChBC,oBAAqB,aACrBC,cAAe,8BACfC,aAAc,sCAEhBI,GAAI,CACFZ,iBAAkB,sBAClBC,qBAAsB,iBACtBC,YAAa,0BACbC,kBAAmB,gCACnBC,YAAa,QACbC,eAAgB,YAChBC,oBAAqB,sBACrBC,cAAe,8BACfC,aAAc,uCAIX,MAAMK,EAAU,CACrBC,GAAI,CACFC,SAAU,MAEZC,GAAI,CACFD,SAAU,MAEZH,GAAI,CACFG,SAAU,MAEZJ,GAAI,CACFI,SAAU,OCrEd,MAAME,EAAe,CACnB,CAAEC,KAAM,OAAQC,MAAO,SAAUC,aAAc,iCAC/C,CAAEF,KAAM,QAASC,MAAO,SAAUC,aAAc,aAGlD,MAAMC,EAAiB,CACrBC,OAAQ,CACN,CAAEJ,KAAM,SAAUC,MAAO,SAAUC,aAAc,eACjD,CAAEF,KAAM,SAAUC,MAAO,SAAUC,aAAc,gCAEnDG,OAAQ,CACN,CAAEL,KAAM,SAAUC,MAAO,SAAUC,aAAc,eACjD,CAAEF,KAAM,gBAAiBC,MAAO,eAAgBC,aAAc,+BAC9D,CAAEF,KAAM,iBAAkBC,MAAO,gBAAiBC,aAAc,cAIpE,MAAMI,EAAU,CACdF,OAAQ,CACN,CAAEJ,KAAM,MAAOO,aAAc,IAAKN,MAAO,IACzC,CAAED,KAAM,OAAQO,aAAc,IAAKN,MAAO,KAC1C,CAAED,KAAM,OAAQO,aAAc,IAAKN,MAAO,KAC1C,CAAED,KAAM,OAAQO,aAAc,IAAKN,MAAO,KAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,IAE5CI,OAAQ,CACN,CAAEL,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,MAAOO,aAAc,KAAMN,MAAO,GAC1C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,IAC3C,CAAED,KAAM,OAAQO,aAAc,KAAMN,MAAO,MC7C/C,MAAMO,EAA2B,kvCACjC,MAAAC,EAAeD,E,MCiBFE,EAAqB,M,qCACP,gF,cACmB,K,YACF,K,mBAEG,G,iBACU,CACrDT,MAAO,GACPD,KAAM,GACNW,KAAM,I,YAEqC,CAAEV,MAAO,EAAGD,KAAM,I,iBAChC,E,mBAC4B,CACzDC,MAAO,GACPD,KAAM,GACNW,KAAM,I,gBAEsC,CAAEC,MAAO,GAAIC,KAAM,G,CAEjE,iBAAAC,GACEC,KAAKC,WACLD,KAAKE,e,CAUP,mBAAMA,GACJ,MAAMC,EAAe,UAAUC,KAAKC,MAAMD,KAAKE,UAAY,IAAQ,GAAK,KACxE,MAAMC,QAAYC,MAAMR,KAAKS,OAASN,GACtC,MAAMO,QAAgBH,EAAII,OAC1B,IACE,MAAMC,QAAsBC,EAAsBH,GAClDV,KAAKc,WAAaF,EAClBZ,KAAKe,a,CACL,MAAOC,GACPC,QAAQC,IAAI,uB,EAMhB,QAAAjB,GACE,GAAID,KAAKmB,OAAQ,CACfC,EAAMD,OAASvC,EAAQoB,KAAKmB,O,CAE9B,GAAInB,KAAKqB,UAAYxD,EAAamC,KAAKqB,UAAW,CAChDD,EAAME,KAAOzD,EAAamC,KAAKqB,S,EAOnC,WAAAN,G,MAEE,MAAKQ,EAAAvB,KAAKc,cAAU,MAAAS,SAAA,SAAAA,EAAEzB,MAAM,CAC1BmB,QAAQC,IAAI,gCACZ,M,CAEF,IAAKlB,KAAKwB,YAAa,CACrB,M,CAEF,MAAMC,EAAWzB,KAAKc,WAAWhB,KAAK4B,QAAOC,GAAKA,EAAEC,OAAS5B,KAAKwB,YAAYtC,QAC9E,IAAKc,KAAK6B,cAAe,CACvB,M,CAEF,MAAMC,EAAoBL,EAASC,QAAOC,GAAKA,EAAEE,gBAAkB7B,KAAK6B,cAAc3C,QACtF,IAAKc,KAAK+B,SAAW/B,KAAK+B,OAAO7C,MAAO,CACtC,M,CAIF,MAAM8C,EAAmBhC,KAAK+B,OAAOvC,aAAayC,sBAAwB,MAAQjC,KAAKwB,YAAYtC,QAAU,SAAWc,KAAK+B,OAAO7C,MAAQ,IAAOc,KAAK+B,OAAO7C,MAE/J,IAAIgD,EAAqBJ,EAAkBJ,QAAOC,GAAKA,EAAEQ,YAAcH,IAGvE,GAAIE,EAAmBE,SAAW,EAAG,CACnCF,EAAqBJ,EAAkBJ,QAAOC,GAAKA,EAAEQ,WAAaH,IAClE,GAAIE,EAAmBE,OAAS,EAAG,CAEjC,MAAMC,EAAsB,IAAI,IAAIC,IAAIJ,EAAmBK,UAAUC,KAAIC,GAAQ,CAACA,EAAK,MAAOA,MAAQC,UACtG,GAAIL,EAAoBD,OAAS,EAAG,CAClCF,EAAqBG,C,GAK3BrC,KAAK2C,cAAgBT,C,CAGvB,MAAAU,GACE,OACEC,EAAA,OAAAC,IAAA,4CACED,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kBACR3B,EAAME,KAAKvD,iBAAmB8E,EAAA,UAAKzB,EAAME,KAAKvD,kBAAyB,KACxE8E,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gBACR/D,EAAawD,KAAIhB,GAChBqB,EAAA,oBACEG,SAAUxB,EAAYtC,MACtBA,MAAOsC,EAAYtC,MACnBD,KAAK,cACLgE,KAAK,QACLC,QAAS1B,EAAYtC,QAAUc,KAAKwB,YAAYtC,MAChDiE,SAAU,KACRnD,KAAKwB,YAAexC,EAAkD0C,QAAOC,GAAKA,EAAEzC,QAAUsC,EAAYtC,QAAO,GACjHc,KAAK6B,cAAgB,CAAE3C,MAAO,GAAID,KAAM,GAAIW,KAAM,IAClDI,KAAK+B,OAAS,CAAE7C,MAAO,EAAGD,KAAM,IAChCe,KAAKoD,YAAcpD,KAAK+B,OAAO7C,KAAK,GAGtC2D,EAAA,mBAAiB1D,aAAcqC,EAAYrC,eAAgC,IAAEqC,EAAYvC,SAK9Fe,KAAKwB,YAAYtC,OAASE,EAAeY,KAAKwB,YAAYtC,OACzD2D,EAAA,WACGzB,EAAME,KAAKtD,qBAAuB6E,EAAA,OAAKE,MAAM,WAAW3B,EAAME,KAAKtD,sBAA8B,KAClG6E,EAAA,OAAKE,MAAM,iBACR3D,EAAeY,KAAKwB,YAAYtC,OAAOsD,KAAIX,GAC1CgB,EAAA,oBACEG,SAAUhD,KAAKwB,YAAYtC,MAAQ2C,EAAc3C,MACjDA,MAAO2C,EAAc3C,MACrBD,KAAK,gBACLgE,KAAK,QACLC,QAASrB,EAAc3C,QAAUc,KAAK6B,cAAc3C,MACpDiE,SAAU,KACRnD,KAAK6B,cAAiBzC,EAAeY,KAAKwB,YAAYtC,OAA8CwC,QAAOC,GAAKA,EAAEzC,QAAU2C,EAAc3C,QAAO,GACjJ,GAAIc,KAAK+B,OAAO7C,QAAU,EAAG,CAC3Bc,KAAK+B,OAASxC,EAAQS,KAAKwB,YAAYtC,OAAO,GAC9Cc,KAAKoD,YAAcpD,KAAK+B,OAAO7C,K,IAInC2D,EAAA,mBAAiB1D,aAAc0C,EAAc1C,eAAgC,IAAE0C,EAAc5C,UAKnG,KAEHe,KAAKwB,YAAYtC,OAASK,EAAQS,KAAKwB,YAAYtC,QAAUc,KAAK6B,cAAc3C,MAC/E2D,EAAA,WACGzB,EAAME,KAAKrD,YAAc4E,EAAA,OAAKE,MAAM,WAAW3B,EAAME,KAAKrD,aAAqB,KAChF4E,EAAA,OAAKE,MAAM,gBACTF,EAAA,OAAKE,MAAM,sBACTF,EAAA,YACEQ,QAAQ,cACRpE,KAAK,cACLgE,KAAK,SACLK,MAAOlC,EAAME,KAAKnD,YAClBe,MAAOc,KAAKoD,YACZD,SAAUnC,IACR,GAAIA,GAAKA,EAAEuC,QAAUvC,EAAEuC,OAAOrE,MAAO,CACnC,MAAMsE,EAAYC,SAASzC,EAAEuC,OAAOrE,MAAO,IAC3C,IAAKwE,MAAMF,GAAY,CACrB,IAAIG,EAAmBpE,EAAQS,KAAKwB,YAAYtC,OAAuCwC,QAAOC,IAC5F,IAAIiC,EAAgBjC,EAAEnC,eAAiB,KAAOmC,EAAEzC,MAAQ,IAAOyC,EAAEzC,MACjE,OAAO0E,GAAiBJ,CAAS,IAEnC,GAAIG,GAAmBA,EAAgBvB,OAAS,EAAG,CACjDpC,KAAK+B,OAAS4B,EAAgB,GAC9B3D,KAAKoD,YAAcpD,KAAK+B,OAAO7C,K,OAMzC2D,EAAA,QAAME,MAAM,mCAAmC/C,KAAK+B,OAAOvC,eAE7DqD,EAAA,OAAKE,MAAM,sBACTF,EAAA,SACEI,KAAK,QACLY,GAAG,cACH5E,KAAK,cACL6E,KAAK,aACL5E,OAAQc,KAAK+B,OAAO7C,MAAQ,EAAIK,EAAQS,KAAKwB,YAAYtC,OAAO6E,WAAUpC,GAAKA,EAAEzC,QAAUc,KAAKoD,cAChGD,SAAUnC,IACR,MAAM9B,EAAS8B,EAAEuC,OAA4BrE,MAC7Cc,KAAK+B,OAASxC,EAAQS,KAAKwB,YAAYtC,OAAOA,GAC9Cc,KAAKoD,YAAcpD,KAAK+B,OAAO7C,KAAK,EAEtC8E,IAAI,IAEJC,IAAK1E,EAAQS,KAAKwB,YAAYtC,OAAOkD,OAAS,IAEhDS,EAAA,YAAUgB,GAAG,cACVtE,EAAQS,KAAKwB,YAAYtC,OAAOsD,KAAI,CAACT,EAAQmC,KAC5C,IAAIC,EAAYpC,EAAO9C,KACvB,GAAIM,EAAQS,KAAKwB,YAAYtC,OAAOkD,OAAS,EAAG,CAC9C+B,EAAYD,EAAc,IAAM,GAAKA,IAAgB,GAAKA,IAAgB3E,EAAQS,KAAKwB,YAAYtC,OAAOkD,OAAS,EAAIL,EAAO9C,KAAO,E,CAEvI,OAAO4D,EAAA,SAAAuB,OAAAC,OAAA,CAAQnF,MAAOgF,GAAkBC,EAAY,CAAEb,MAAOa,GAAc,IAAc,QAMjG,MAELnE,KAAK2C,eAAiB3C,KAAK2C,cAAcP,OAAS,EACjDS,EAAA,OAAKE,MAAM,cACR3B,EAAME,KAAKpD,kBAAoB2E,EAAA,OAAKE,MAAM,WAAW3B,EAAME,KAAKpD,mBAA2B,KAC3F8B,KAAK2C,cAAcH,KAAKC,GACvBI,EAAA,WACEA,EAAA,oCAAkCJ,KAAMA,QAI5C,K","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,d as s,g as n}from"./p-06555615.js";import{d as l}from"./p-aed52bc1.js";import{m as h}from"./p-b2f2fbb6.js";const a="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows-row .input-element-row{display:flex;gap:1rem;margin-bottom:1rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container{width:30%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-marketweb-input .input-container{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container pn-date-picker{width:100%}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container{margin-top:0.3rem}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__error{color:red;line-height:1}pn-dropdown-with-multi-input-rows-row .input-element-row .input-container .input-element-message-container__warning{line-height:1}pn-dropdown-with-multi-input-rows-row .delete-button-contianer{margin-top:0.6rem}";const r=a;const u=class{constructor(e){t(this,e);this.rowValueChange=i(this,"rowValueChange",7);this.deleteRowEvent=i(this,"deleteRowEvent",7);this.firstInputChange=i(this,"firstInputChange",7);this.secondInputChange=i(this,"secondInputChange",7);this.pnFirstInputField=null;this.pnSecondInputField=null;this.pnDatePicker=null;this.pnDeleteRowButton=null;this.languageCode=null;this.fristInputPlaceholder=null;this.firstInputMin=null;this.firstInputMax=null;this.firstInputWarning=null;this.firstInputWarningText=null;this.firstInputLowErrorText=null;this.firstInputHighErrorText=null;this.secondInputPlaceholder=null;this.secondInputMin=null;this.secondInputMax=null;this.secondInputWarning=null;this.secondInputWarningText=null;this.secondInputLowErrorText=null;this.secondInputHighErrorText=null;this.dateLabel=null;this.datePlaceholder=null;this.firstValidDate=null;this.lastValidDate=null;this.predefinedValue=null;this.rowIndex=null;this.minRowCount=null;this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=false;this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=false;this.firstInputValue="";this.secondInputValue="";this.dateValue=""}componentWillLoad(){this.getPredefinedValues();this.setInitialValues()}componentDidLoad(){this.addEventHandlers()}getPredefinedValues(){this._predefinedValue=JSON.parse(this.predefinedValue)}applyPredefinedValue(){var t,i;this.getPredefinedValues();this.setInitialValues();if((t=this.firstInputValue)===null||t===void 0?void 0:t.length){this.validateFirstInput(parseInt(this.firstInputValue))}if((i=this.secondInputValue)===null||i===void 0?void 0:i.length){this.validateSecondInput(parseInt(this.secondInputValue))}if(this.rowIndex>=this.minRowCount){this.pnDeleteRowButton.addEventListener("click",this.deleteRow.bind(this))}}setInitialValues(){this.firstInputValue=this._predefinedValue.firstInput;this.secondInputValue=this._predefinedValue.secondInput;this.dateValue=this._predefinedValue.date}addEventHandlers(){const t=l(this.emitRowValues.bind(this),500);this.pnFirstInputField.addEventListener("keyup",l(this.handleFirstInput.bind(this),500));this.pnSecondInputField.addEventListener("keyup",l(this.handleSecondInput.bind(this),500));this.pnDatePicker.addEventListener("dateselection",this.handleDateChange.bind(this));this.pnDatePicker.addEventListener("dateselection",t)}handleFirstInput(t){const i=t.target;const e=parseInt(i.value);if(e>0){this.firstInputValue=i.value;this.firstInputChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}this.validateFirstInput(e);this.emitRowValues()}handleSecondInput(t){const i=t.target;const e=parseInt(i.value);if(e>0){this.secondInputValue=i.value;this.secondInputChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}this.validateSecondInput(e);this.emitRowValues()}validateFirstInput(t){this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=false;if(t<this.firstInputWarning){this.showFirstInputWarning=true}if(t<this.firstInputMin){this.showFirstInputWarning=false;this.showFirstInputLowError=true}if(t>this.firstInputMax){this.showFirstInputWarning=false;this.showFirstInputLowError=false;this.showFirstInputHighError=true}}validateSecondInput(t){this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=false;if(t<this.secondInputWarning){this.showSecondInputWarning=true}if(t<this.secondInputMin){this.showSecondInputWarning=false;this.showSecondInputLowError=true}if(t>this.secondInputMax){this.showSecondInputWarning=false;this.showSecondInputLowError=false;this.showSecondInputHighError=true}}handleDateChange(t){const i=t.target;if(i===this.pnDatePicker){this.dateValue=t.detail}}emitRowValues(){this.rowValueChange.emit({id:this._predefinedValue.id,firstInput:this.firstInputValue,secondInput:this.secondInputValue,date:this.dateValue})}deleteRow(){this.deleteRowEvent.emit(this._predefinedValue.id)}render(){var t;return e(s,{key:"101265b9e24ada0da3199690b2c2f56cfd7d6a00"},e("div",{key:"fed264cfb3a052b3b2b5b26d2484e9787eaa3d36",class:"input-element-row"},e("div",{key:"6161953b428a44b37defc7c3e2d6a95d79845c36",class:"input-container"},e("pn-marketweb-input",{key:"7e155be4887029e727ac78380ab5783ce50301d4",ref:t=>this.pnFirstInputField=t,type:"number",placeholder:this.fristInputPlaceholder,value:this.firstInputValue,min:"1"}),this.showFirstInputLowError||this.showFirstInputHighError||this.showFirstInputWarning?e("div",{class:"input-element-message-container"},this.showFirstInputLowError?e("div",{class:"input-element-message-container__error"},e("small",null,this.firstInputLowErrorText)):null,this.showFirstInputHighError?e("div",{class:"input-element-message-container__error"},e("small",null,this.firstInputHighErrorText)):null,this.showFirstInputWarning?e("div",{class:"input-element-message-container__warning"},e("small",null,this.firstInputWarningText)):null):null),e("div",{key:"1bad690de5ffe9e79c18614bcd3224d9fb5940fe",class:"input-container"},e("pn-marketweb-input",{key:"7894824d20d159e2a03f131d3e348f06e7ce67a4",ref:t=>this.pnSecondInputField=t,type:"number",placeholder:this.secondInputPlaceholder,value:this.secondInputValue,min:"1"}),this.showSecondInputLowError||this.showSecondInputHighError||this.showSecondInputWarning?e("div",{class:"input-element-message-container"},this.showSecondInputLowError?e("div",{class:"input-element-message-container__error"},e("small",null,this.secondInputLowErrorText)):null,this.showSecondInputHighError?e("div",{class:"input-element-message-container__error"},e("small",null,this.secondInputHighErrorText)):null,this.showSecondInputWarning?e("div",{class:"input-element-message-container__warning"},e("small",null,this.secondInputWarningText)):null):null),e("div",{key:"209e5aa157272445cb02f7634d7b503b8be34a48",class:"input-container"},e("pn-date-picker",{key:"e284c5c8ef3eebed689d9bd3f7ec29c11d51190d",ref:t=>this.pnDatePicker=t,range:"false","disable-weekends":true,"min-date":this.firstValidDate,"max-date":this.lastValidDate,language:this.languageCode,placeholder:this.datePlaceholder,start:((t=this.dateValue)===null||t===void 0?void 0:t.length)?this.dateValue:null})),this.rowIndex>=this.minRowCount?e("div",{class:"delete-button-contianer"},e("pn-button",{ref:t=>this.pnDeleteRowButton=t,small:"true",icon:h,appearance:"warning",index:this.rowIndex,onClick:()=>{this.deleteRow()}},"Delete")):null))}get hostElement(){return n(this)}static get watchers(){return{predefinedValue:["applyPredefinedValue"]}}};u.style=r;export{u as pn_dropdown_with_multi_input_rows_row};
|
|
2
|
-
//# sourceMappingURL=p-2ac83614.entry.js.map
|