@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-find-price.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-find-price/pn-find-price.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-find-price-translations';\nimport { ProductPriceSourceData, ProductPriceItem, FindPriceWeight, PnfindPriceMarket, PnfindPricei18n, FindPriceSizeCategory } from './pn-find-price-types';\nimport { weights, sizeCategories, fileLocation } from './data.js';\nimport { convertFileForSizeCategogy } from '../../../globals/shared/productprice/convert.js';\nimport { state } from './pn-find-price-store';\nimport small from './img/small-package.svg';\nimport medium from './img/medium-package.svg';\nimport large from './img/large-package.svg';\nimport person from './img/postnord-person1.svg';\nimport clouds from './img/clouds.svg';\n\n@Component({\n tag: 'pn-find-price',\n styleUrl: 'pn-find-price.scss',\n})\nexport class PnfindPrice {\n @Prop() source: string = fileLocation;\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() weight: FindPriceWeight = { value: 0, name: '' } as FindPriceWeight;\n @State() weightvalue: number = 0;\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n @State() sizecategory: FindPriceSizeCategory = { value: '', name: '', icon: '', unit: '' } as FindPriceSizeCategory;\n\n componentWillLoad() {\n this.setState();\n this.getDataSource();\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 convertFileForSizeCategogy(reqbody);\n this.sourceData = convertedData;\n\n //for keeping small value preselected\n this.sizecategory = (sizeCategories as FindPriceSizeCategory[]).filter(x => x.value === 'Small')[0];\n\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 PnfindPriceMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindPricei18n;\n }\n }\n\n @Watch('sizecategory')\n @Watch('weightvalue')\n filterItems() {\n if (!this.sourceData?.data) {\n console.log('Data has not yet been loaded');\n return;\n }\n\n //to handle withing country search\n const deliveryScopeData = this.sourceData.data.filter(x => x.deliveryscope.toLocaleLowerCase() === state.market.country.toLocaleLowerCase());\n if (!this.sizecategory) {\n return;\n }\n\n const sizeItemData = deliveryScopeData.filter(x => x.sizecategory.toLocaleLowerCase() === this.sizecategory.value.toLocaleLowerCase());\n\n if (!this.weight) {\n return;\n }\n const comparisonWeight = this.weight.value <= 20 ? this.weight.value * 1000 : this.weight.value;\n\n let weightFilteredData = sizeItemData.filter(x => (x.maxweight <= 20 ? x.maxweight * 1000 : x.maxweight) === comparisonWeight);\n\n if (this.weightvalue !== 0) {\n let clubbedProducts = sizeItemData\n .filter(x => x.maxweight.toString().includes('upto'))\n .filter(x => Number(x.maxweight.toString().toLocaleLowerCase().replace('upto', '')) - comparisonWeight >= 0);\n weightFilteredData = weightFilteredData.concat(clubbedProducts);\n }\n\n if (weightFilteredData.length === 0 && this.weightvalue !== 0) {\n weightFilteredData = sizeItemData.filter(x => (x.maxweight <= 20 ? x.maxweight * 1000 : x.maxweight) >= comparisonWeight);\n\n if (weightFilteredData.length > 0) {\n //sort based on the maxvalue\n weightFilteredData.sort((a, b) => {\n return a.maxweight - b.maxweight;\n });\n\n // map to get the next unique item\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 //10000 to handle the null values in the rank column, to keep such products at the end of the list\n weightFilteredData.sort((a, b) => {\n var ra = a.rank ? a.rank : 10000;\n var rb = b.rank ? b.rank : 10000;\n\n var ua = a.highestrankusp ? a.highestrankusp : 'z';\n var ub = b.highestrankusp ? b.highestrankusp : 'z';\n\n const compareUsp = ua.localeCompare(ub);\n const compareRank = ra - rb;\n\n return compareUsp || compareRank;\n });\n\n this.filteredItems = weightFilteredData;\n }\n\n render() {\n return (\n <div class=\"findprice-form\">\n <div>\n <h4 class=\"heading\">{state.i18n.sizeheading}</h4>\n <div class=\"sizecategory\">\n <table class=\"sizeTable\">\n <img id=\"clouds\" src={clouds}></img>\n <tr>\n <td>\n <img class=\"firstCell\" src={person}></img>\n </td>\n <td>\n <img src={small}></img>\n </td>\n <td>\n <img src={medium}></img>\n </td>\n <td>\n <img src={large}></img>\n </td>\n </tr>\n <tr>\n <td></td>\n {sizeCategories.map(sizeCategory => (\n <td>\n <pn-radio-button\n id={'findpricecategory-' + sizeCategory.value}\n radioid={sizeCategory.value}\n value={sizeCategory.value}\n name=\"sizecategory\"\n checked={sizeCategory.value === this.sizecategory.value}\n onChange={() => {\n this.sizecategory = (sizeCategories as FindPriceSizeCategory[]).filter(x => x.value === sizeCategory.value)[0];\n\n this.weight = { value: 0, name: '' } as FindPriceWeight;\n this.weightvalue = this.weight.value;\n }}\n ></pn-radio-button>\n </td>\n ))}\n </tr>\n </table>\n </div>\n </div>\n\n <h4 class=\"heading\">{state.i18n.weightheading}</h4>\n {this.sizecategory.value && weights[this.sizecategory.unit] ? (\n <div class=\"weightoption\">\n {\n <div class=\"weightoption-content\">\n {weights[this.sizecategory.unit].map(wght => (\n <pn-choice-button\n id={'findpriceweight-' + wght.value}\n choiceid={this.sizecategory.value + wght.value}\n name=\"weight\"\n type=\"radio\"\n value={!this.weight.value ? 0 : weights[this.sizecategory.unit].findIndex(x => x.value === this.weightvalue)}\n checked={wght.value === this.weight.value}\n onChange={() => {\n this.weight = (weights[this.sizecategory.unit] as FindPriceWeight[]).filter(x => x.value === wght.value)[0];\n this.weightvalue = this.weight.value;\n }}\n >\n {wght.name}\n </pn-choice-button>\n ))}\n </div>\n }\n </div>\n ) : null}\n\n {this.filteredItems && this.filteredItems.length > 0 ? (\n <div class=\"resultlist\">\n {state.i18n.resultlistheading ? <div class=\"resultHeading\">{state.i18n.resultlistheading}</div> : null}\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n <pn-find-price-result item={item}></pn-find-price-result>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pn-find-price.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-find-price/pn-find-price.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-find-price-translations';\nimport { ProductPriceSourceData, ProductPriceItem, FindPriceWeight, PnfindPriceMarket, PnfindPricei18n, FindPriceSizeCategory } from './pn-find-price-types';\nimport { weights, sizeCategories, fileLocation } from './data.js';\nimport { convertFileForSizeCategogy } from '../../../globals/shared/productprice/convert.js';\nimport { state } from './pn-find-price-store';\nimport small from './img/small-package.svg';\nimport medium from './img/medium-package.svg';\nimport large from './img/large-package.svg';\nimport person from './img/postnord-person1.svg';\nimport clouds from './img/clouds.svg';\n\n@Component({\n tag: 'pn-find-price',\n styleUrl: 'pn-find-price.scss',\n})\nexport class PnfindPrice {\n @Prop() source: string = fileLocation;\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() weight: FindPriceWeight = { value: 0, name: '' } as FindPriceWeight;\n @State() weightvalue: number = 0;\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n @State() sizecategory: FindPriceSizeCategory = { value: '', name: '', icon: '', unit: '' } as FindPriceSizeCategory;\n\n componentWillLoad() {\n this.setState();\n this.getDataSource();\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 convertFileForSizeCategogy(reqbody);\n this.sourceData = convertedData;\n\n //for keeping small value preselected\n this.sizecategory = (sizeCategories as FindPriceSizeCategory[]).filter(x => x.value === 'Small')[0];\n\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 PnfindPriceMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindPricei18n;\n }\n }\n\n @Watch('sizecategory')\n @Watch('weightvalue')\n filterItems() {\n if (!this.sourceData?.data) {\n console.log('Data has not yet been loaded');\n return;\n }\n\n //to handle withing country search\n const deliveryScopeData = this.sourceData.data.filter(x => x.deliveryscope.toLocaleLowerCase() === state.market.country.toLocaleLowerCase());\n if (!this.sizecategory) {\n return;\n }\n\n const sizeItemData = deliveryScopeData.filter(x => x.sizecategory.toLocaleLowerCase() === this.sizecategory.value.toLocaleLowerCase());\n\n if (!this.weight) {\n return;\n }\n const comparisonWeight = this.weight.value <= 20 ? this.weight.value * 1000 : this.weight.value;\n\n let weightFilteredData = sizeItemData.filter(x => (x.maxweight <= 20 ? x.maxweight * 1000 : x.maxweight) === comparisonWeight);\n\n if (this.weightvalue !== 0) {\n let clubbedProducts = sizeItemData\n .filter(x => x.maxweight.toString().includes('upto'))\n .filter(x => Number(x.maxweight.toString().toLocaleLowerCase().replace('upto', '')) - comparisonWeight >= 0);\n weightFilteredData = weightFilteredData.concat(clubbedProducts);\n }\n\n if (weightFilteredData.length === 0 && this.weightvalue !== 0) {\n weightFilteredData = sizeItemData.filter(x => (x.maxweight <= 20 ? x.maxweight * 1000 : x.maxweight) >= comparisonWeight);\n\n if (weightFilteredData.length > 0) {\n //sort based on the maxvalue\n weightFilteredData.sort((a, b) => {\n return a.maxweight - b.maxweight;\n });\n\n // map to get the next unique item\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 //10000 to handle the null values in the rank column, to keep such products at the end of the list\n weightFilteredData.sort((a, b) => {\n var ra = a.rank ? a.rank : 10000;\n var rb = b.rank ? b.rank : 10000;\n\n var ua = a.highestrankusp ? a.highestrankusp : 'z';\n var ub = b.highestrankusp ? b.highestrankusp : 'z';\n\n const compareUsp = ua.localeCompare(ub);\n const compareRank = ra - rb;\n\n return compareUsp || compareRank;\n });\n\n this.filteredItems = weightFilteredData;\n }\n\n render() {\n return (\n <div class=\"findprice-form\">\n <div>\n <h4 class=\"heading\">{state.i18n.sizeheading}</h4>\n <div class=\"sizecategory\">\n <table class=\"sizeTable\">\n <img id=\"clouds\" src={clouds}></img>\n <tr>\n <td>\n <img class=\"firstCell\" src={person}></img>\n </td>\n <td>\n <img src={small}></img>\n </td>\n <td>\n <img src={medium}></img>\n </td>\n <td>\n <img src={large}></img>\n </td>\n </tr>\n <tr>\n <td></td>\n {sizeCategories.map(sizeCategory => (\n <td>\n <pn-radio-button\n id={'findpricecategory-' + sizeCategory.value}\n radioid={sizeCategory.value}\n value={sizeCategory.value}\n name=\"sizecategory\"\n checked={sizeCategory.value === this.sizecategory.value}\n onChange={() => {\n this.sizecategory = (sizeCategories as FindPriceSizeCategory[]).filter(x => x.value === sizeCategory.value)[0];\n\n this.weight = { value: 0, name: '' } as FindPriceWeight;\n this.weightvalue = this.weight.value;\n }}\n ></pn-radio-button>\n </td>\n ))}\n </tr>\n </table>\n </div>\n </div>\n\n <h4 class=\"heading\">{state.i18n.weightheading}</h4>\n {this.sizecategory.value && weights[this.sizecategory.unit] ? (\n <div class=\"weightoption\">\n {\n <div class=\"weightoption-content\">\n {weights[this.sizecategory.unit].map(wght => (\n <pn-choice-button\n id={'findpriceweight-' + wght.value}\n choiceid={this.sizecategory.value + wght.value}\n name=\"weight\"\n type=\"radio\"\n value={!this.weight.value ? 0 : weights[this.sizecategory.unit].findIndex(x => x.value === this.weightvalue)}\n checked={wght.value === this.weight.value}\n onChange={() => {\n this.weight = (weights[this.sizecategory.unit] as FindPriceWeight[]).filter(x => x.value === wght.value)[0];\n this.weightvalue = this.weight.value;\n }}\n >\n {wght.name}\n </pn-choice-button>\n ))}\n </div>\n }\n </div>\n ) : null}\n\n {this.filteredItems && this.filteredItems.length > 0 ? (\n <div class=\"resultlist\">\n {state.i18n.resultlistheading ? <div class=\"resultHeading\">{state.i18n.resultlistheading}</div> : null}\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n <pn-find-price-result item={item}></pn-find-price-result>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n}\n"]}
|
package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js
CHANGED
|
@@ -55,9 +55,8 @@ export class PnfindServiceAndPrice {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
filterItems() {
|
|
58
|
-
var _a;
|
|
59
58
|
// this.debug = `Postagetype: ${this.postagetype.value}. <br/>Weight: ${ this.weight.value }`;
|
|
60
|
-
if (!
|
|
59
|
+
if (!this.sourceData?.data) {
|
|
61
60
|
console.log('Data has not yet been loaded');
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
@@ -125,7 +124,7 @@ export class PnfindServiceAndPrice {
|
|
|
125
124
|
if (weights[this.postagetype.value].length > 6) {
|
|
126
125
|
labelText = weightindex % 5 === 0 || weightindex === 0 || weightindex === weights[this.postagetype.value].length - 1 ? weight.name : '';
|
|
127
126
|
}
|
|
128
|
-
return h("option",
|
|
127
|
+
return h("option", { value: weightindex, ...(labelText ? { label: labelText } : {}) });
|
|
129
128
|
})))))) : null), this.filteredItems && this.filteredItems.length > 0 ? (h("div", { class: "resultlist" }, state.i18n.resultlistheading ? h("div", { class: "heading" }, state.i18n.resultlistheading) : null, this.filteredItems.map((item) => (h("div", null, h("pn-find-service-and-price-result", { item: item })))))) : null));
|
|
130
129
|
}
|
|
131
130
|
static get is() { return "pn-find-service-and-price"; }
|
package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-find-service-and-price.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
|
|
1
|
+
{"version":3,"file":"pn-find-service-and-price.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
|
package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
export class PnHeroBlockInternational {
|
|
3
3
|
constructor() {
|
|
4
|
-
this.hasCtaButtonSlot = false;
|
|
5
|
-
this.animateSideloader = false;
|
|
6
4
|
this.heading = null;
|
|
7
5
|
this.subHeading = null;
|
|
8
6
|
this.preamble = null;
|
|
@@ -10,6 +8,9 @@ export class PnHeroBlockInternational {
|
|
|
10
8
|
this.showSideLoader = true;
|
|
11
9
|
this.centeredLayout = false;
|
|
12
10
|
}
|
|
11
|
+
hostElement;
|
|
12
|
+
hasCtaButtonSlot = false;
|
|
13
|
+
animateSideloader = false;
|
|
13
14
|
async componentWillLoad() {
|
|
14
15
|
this.hasCtaButtonSlot = !!this.hostElement.querySelector('[slot="hero-international-cta"]');
|
|
15
16
|
}
|
package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-hero-block-international.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-hero-block-international/pn-hero-block-international.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAS,MAAM,eAAe,CAAC;AAMzE,MAAM,OAAO,wBAAwB;;
|
|
1
|
+
{"version":3,"file":"pn-hero-block-international.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-hero-block-international/pn-hero-block-international.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'pn-hero-block-international',\n styleUrl: 'pn-hero-block-international.scss',\n})\nexport class PnHeroBlockInternational {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = null;\n @Prop() subHeading: string = null;\n @Prop() preamble: string = null;\n @Prop() animateLogo: boolean = false;\n @Prop() showSideLoader: boolean = true;\n @Prop() centeredLayout: boolean = false;\n\n private hasCtaButtonSlot: boolean = false;\n private animateSideloader: boolean = false;\n\n async componentWillLoad() {\n this.hasCtaButtonSlot = !!this.hostElement.querySelector('[slot=\"hero-international-cta\"]');\n }\n\n componentDidLoad() {\n if (this.animateLogo) {\n const image = this.hostElement.querySelector('.hero-international__content__logo-col__image');\n const sideLoader = this.hostElement.querySelector('.hero-international__side-loader--animate');\n this.animateSideloader = true;\n\n if (image) {\n image.classList.add('animate-in');\n }\n if (sideLoader) {\n sideLoader.classList.add('animate-in');\n }\n }\n }\n\n render() {\n return (\n <Host class={`hero-international ${this.centeredLayout ? 'hero-international--centered-layout' : ''} ${this.animateLogo ? 'hero-international--animate' : ''}`}>\n <div class=\"hero-international__content\">\n <div class=\"flex-wrapper\">\n <div class=\"content-col\">\n <span class=\"hero-international__content__site-tag\">International</span>\n <h1 class=\"hero-international__content__heading\">\n {this.heading} <span>{this.subHeading}</span>\n </h1>\n <p class=\"hero-international__content__preamble\">{this.preamble}</p>\n\n {this.hasCtaButtonSlot && (\n <div class=\"hero-international__content__cta\">\n <slot name=\"hero-international-cta\"></slot>\n </div>\n )}\n </div>\n\n {!this.centeredLayout && (\n <div class=\"hero-international__content__logo-col\">\n <div class=\"hero-international__content__logo-col__image\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 919 336\">\n <circle class=\"cls-1\" cx=\"168\" cy=\"168\" r=\"168\"/>\n <circle class=\"cls-1\" cx=\"519\" cy=\"168\" r=\"168\"/>\n <path class=\"cls-1\" d=\"M510 0h409v336H510z\"/>\n <path d=\"M235.51 155.55c0 11.19-9.19 15.88-17.84 15.88s-17.46-4.58-17.46-15.4 9.02-15.88 17.84-15.88c8.6 0 17.46 4.63 17.46 15.4Zm-11.65.33c0-3.68-2.42-6.18-6.02-6.18s-6.07 2.5-6.07 6.18c0 3.46 2.48 6.02 6.07 6.02s6.02-2.56 6.02-6.02Zm-147.53 0c0 8.53-5.91 15.56-15.1 15.56-5.64 0-8.27-2.77-8.27-2.77v10.34H42v-37.89h10.96V144s2.85-3.84 9.08-3.84c9.13 0 14.29 6.98 14.29 15.72Zm-11.6 0c0-3.68-2.42-6.18-6.02-6.18s-6.07 2.5-6.07 6.18c0 3.46 2.47 6.02 6.07 6.02s6.02-2.56 6.02-6.02Zm184.35.47c0-4.47 2.74-5.86 6.4-5.86 2.25 0 3.71.53 3.71.53l.27-10.02s-.7-.32-2.58-.32c-6.12 0-7.79 3.84-7.79 3.84v-3.41h-10.96v29.42h10.96v-14.18ZM294 132v38.53h-10.96v-2.88s-2.85 3.84-9.08 3.84c-9.13 0-14.29-6.98-14.29-15.72s5.91-15.56 15.1-15.56c5.64 0 8.27 2.77 8.27 2.77v-8.85L294 132Zm-10.64 23.77c0-3.47-2.47-6.02-6.07-6.02s-6.02 2.56-6.02 6.02c0 3.67 2.42 6.18 6.02 6.18s6.07-2.51 6.07-6.18Zm-96.71-15.62c-6.39 0-8.71 3.84-8.71 3.84v-2.88h-10.96v29.42h10.96v-15.08c0-3.73 1.4-5.44 4.78-5.44s3.87 2.77 3.87 6.29v14.23h11.07v-18.07c0-8.1-3.92-12.31-11.01-12.31Zm-30.74-5.65h-10.96v36.03h10.96v-20.25h5.16l5-9.17h-10.16v-6.61Zm-24.55 17.27c-3.55-.53-5.11-.53-5.11-1.92 0-1.17 1.45-1.65 4.3-1.65 4.83 0 9.08 1.6 9.08 1.6l1.93-8.26s-4.67-1.33-10.91-1.33c-10.48 0-15.96 4-15.96 10.39 0 4.96 2.96 7.89 11.61 9 3.65.48 5 .69 5 2.03s-1.45 1.7-3.98 1.7c-5.48 0-10.64-2.29-10.64-2.29l-2.2 8.53s5.16 1.81 11.88 1.81c11.28 0 16.49-3.95 16.49-10.39 0-5.11-2.79-7.88-11.49-9.22Zm-17.9 3.78c0 11.19-9.19 15.88-17.84 15.88s-17.46-4.58-17.46-15.4 9.03-15.88 17.84-15.88c8.6 0 17.46 4.63 17.46 15.4Zm-11.66.33c0-3.68-2.42-6.18-6.02-6.18s-6.07 2.5-6.07 6.18c0 3.46 2.47 6.02 6.07 6.02s6.02-2.56 6.02-6.02Z\" class=\"svg-path-style2\"/>\n <path d=\"M167 197.67v-15.01h2.71v15.01H167Zm15.27-7.02c0-2.41-1.92-4.08-4.24-4.08-1.46 0-2.6.59-3.29 1.7v-1.41h-2.32v10.81h2.47v-6.2c0-1.52 1.04-2.58 2.51-2.58s2.38 1.02 2.38 2.54v6.24h2.47v-7.02Zm8-3.8h-2.8v-3.62H185v10.99c0 2.01 1.43 3.44 3.46 3.44h1.81v-2.29h-1.32c-.9 0-1.48-.55-1.48-1.48v-4.94h1.67l1.14-2.1Zm11.93 6.2c0-.15.04-.71.04-.97 0-3.31-2.25-5.56-5.49-5.56s-5.56 2.56-5.56 5.74 2.49 5.74 5.73 5.74c2.12 0 3.86-.84 4.98-2.58l-2.05-1.1c-.6.88-1.52 1.48-2.93 1.48-1.68 0-3-1.04-3.33-2.74h8.6m-8.53-1.94c.37-1.48 1.52-2.47 3.07-2.47 1.7 0 2.78.95 3.09 2.47h-6.16Zm16.03-4.26c-1.61 0-2.62.84-3.09 1.83v-1.83h-2.32v10.81h2.47v-5.25c0-1.68 1.1-3 2.71-3h1.08v-2.56h-.86Zm12.55 3.79c0-2.41-1.92-4.08-4.23-4.08-1.46 0-2.6.59-3.29 1.7v-1.41h-2.32v10.81h2.47v-6.2c0-1.52 1.04-2.58 2.51-2.58s2.38 1.02 2.38 2.54v6.24h2.47v-7.02Zm11.06-2.27c-.75-1.13-2.14-1.81-3.7-1.81-3.15 0-5.34 2.47-5.34 5.67s2.18 5.67 5.34 5.67c1.56 0 2.95-.68 3.7-1.83v1.59h2.32v-10.81h-2.32v1.52Zm0 3.86c0 1.87-1.32 3.35-3.29 3.35s-3.27-1.48-3.27-3.35 1.3-3.38 3.27-3.38 3.29 1.5 3.29 3.38Zm10.31-5.39h-2.8v-3.62h-2.47v10.99c0 2.01 1.43 3.44 3.46 3.44h1.81v-2.29h-1.32c-.91 0-1.48-.55-1.48-1.48v-4.94h1.67l1.14-2.1Zm1.84-3.22c0 .84.68 1.52 1.54 1.52s1.57-.68 1.57-1.52-.71-1.5-1.57-1.5-1.54.69-1.54 1.5Zm2.78 14.04v-10.81h-2.47v10.81h2.47Zm2.12-5.41c0 3.18 2.49 5.74 5.78 5.74s5.76-2.56 5.76-5.74-2.49-5.74-5.76-5.74-5.78 2.54-5.78 5.74Zm9.06 0c0 1.88-1.39 3.38-3.29 3.38s-3.29-1.5-3.29-3.38 1.37-3.38 3.29-3.38 3.29 1.48 3.29 3.38Zm14.41-1.61c0-2.41-1.92-4.08-4.23-4.08-1.46 0-2.6.59-3.29 1.7v-1.41h-2.32v10.81h2.47v-6.2c0-1.52 1.04-2.58 2.52-2.58s2.38 1.02 2.38 2.54v6.24h2.47v-7.02Zm11.06-2.27c-.75-1.13-2.14-1.81-3.7-1.81-3.15 0-5.34 2.47-5.34 5.67s2.18 5.67 5.34 5.67c1.57 0 2.95-.68 3.7-1.83v1.59h2.32v-10.81h-2.32v1.52Zm0 3.86c0 1.87-1.32 3.35-3.29 3.35s-3.26-1.48-3.26-3.35 1.3-3.38 3.26-3.38 3.29 1.5 3.29 3.38Zm9.12 3.2h-.46c-.77 0-1.15-.4-1.15-1.17V182h-2.47v12.69c0 1.81 1.23 2.98 3.13 2.98h.95v-2.23Z\" class=\"svg-path-style1\"/>\n </svg>\n </div>\n </div>\n )}\n </div>\n\n {this.showSideLoader && !this.centeredLayout && (\n <div class={`hero-international__side-loader ${this.animateSideloader ? 'hero-international__side-loader--animate' : ''}`}>\n <div class=\"shape\"></div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,43 +1,6 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class PnLinkList {
|
|
3
3
|
constructor() {
|
|
4
|
-
this.slider = null;
|
|
5
|
-
this.isDragging = false;
|
|
6
|
-
this.startX = 0;
|
|
7
|
-
this.scrollLeft = 0;
|
|
8
|
-
this.handleMouseDown = (e) => {
|
|
9
|
-
var _a, _b, _c;
|
|
10
|
-
const target = e.target;
|
|
11
|
-
const isContainerClick = target.classList.contains('link-list__container');
|
|
12
|
-
const isLinkClick = target.tagName === 'A';
|
|
13
|
-
if (isContainerClick || isLinkClick) {
|
|
14
|
-
this.isDragging = true;
|
|
15
|
-
(_a = this.slider) === null || _a === void 0 ? void 0 : _a.classList.add('link-list__active');
|
|
16
|
-
this.startX = e.pageX - ((_b = this.slider) === null || _b === void 0 ? void 0 : _b.offsetLeft);
|
|
17
|
-
this.scrollLeft = (_c = this.slider) === null || _c === void 0 ? void 0 : _c.scrollLeft;
|
|
18
|
-
if (isLinkClick) {
|
|
19
|
-
e.preventDefault();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
this.handleMouseLeave = () => {
|
|
24
|
-
var _a;
|
|
25
|
-
this.isDragging = false;
|
|
26
|
-
(_a = this.slider) === null || _a === void 0 ? void 0 : _a.classList.remove('link-list__active');
|
|
27
|
-
};
|
|
28
|
-
this.handleMouseUp = () => {
|
|
29
|
-
var _a;
|
|
30
|
-
this.isDragging = false;
|
|
31
|
-
(_a = this.slider) === null || _a === void 0 ? void 0 : _a.classList.remove('link-list__active');
|
|
32
|
-
};
|
|
33
|
-
this.handleMouseMove = (e) => {
|
|
34
|
-
var _a;
|
|
35
|
-
if (this.isDragging) {
|
|
36
|
-
const x = e.pageX - ((_a = this.slider) === null || _a === void 0 ? void 0 : _a.offsetLeft);
|
|
37
|
-
const move = (x - this.startX) * 2;
|
|
38
|
-
this.slider.scrollLeft = this.scrollLeft - move;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
4
|
this.heading = null;
|
|
42
5
|
this.label = null;
|
|
43
6
|
this.preamble = null;
|
|
@@ -45,9 +8,42 @@ export class PnLinkList {
|
|
|
45
8
|
this.showMoreLabel = null;
|
|
46
9
|
this.showMoreUrl = null;
|
|
47
10
|
}
|
|
11
|
+
slider = null;
|
|
12
|
+
isDragging = false;
|
|
13
|
+
startX = 0;
|
|
14
|
+
scrollLeft = 0;
|
|
48
15
|
componentDidLoad() {
|
|
49
16
|
this.slider = document.querySelector('.link-list__container');
|
|
50
17
|
}
|
|
18
|
+
handleMouseDown = (e) => {
|
|
19
|
+
const target = e.target;
|
|
20
|
+
const isContainerClick = target.classList.contains('link-list__container');
|
|
21
|
+
const isLinkClick = target.tagName === 'A';
|
|
22
|
+
if (isContainerClick || isLinkClick) {
|
|
23
|
+
this.isDragging = true;
|
|
24
|
+
this.slider?.classList.add('link-list__active');
|
|
25
|
+
this.startX = e.pageX - this.slider?.offsetLeft;
|
|
26
|
+
this.scrollLeft = this.slider?.scrollLeft;
|
|
27
|
+
if (isLinkClick) {
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
handleMouseLeave = () => {
|
|
33
|
+
this.isDragging = false;
|
|
34
|
+
this.slider?.classList.remove('link-list__active');
|
|
35
|
+
};
|
|
36
|
+
handleMouseUp = () => {
|
|
37
|
+
this.isDragging = false;
|
|
38
|
+
this.slider?.classList.remove('link-list__active');
|
|
39
|
+
};
|
|
40
|
+
handleMouseMove = (e) => {
|
|
41
|
+
if (this.isDragging) {
|
|
42
|
+
const x = e.pageX - this.slider?.offsetLeft;
|
|
43
|
+
const move = (x - this.startX) * 2;
|
|
44
|
+
this.slider.scrollLeft = this.scrollLeft - move;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
51
47
|
render() {
|
|
52
48
|
return (h(Host, { key: '8f0fd9ebec39f1dccfe36bfff99edc0aef098a24' }, h("div", { key: '619a149f108ef20d4929819805ee09f618af6d89', class: "link-list__header" }, h("h2", { key: '7a90aa34b99dd843c10ff78c7be1a91a42750ba1', class: "link-list__heading" }, this.heading), h("p", { key: 'b73f73665f873b1b68261888fbccc0fd211c0316', class: "link-list__preamble" }, this.preamble)), h("div", { key: '964f6e83fd0861b5c2651c9fcc27fb910be39be8', class: "link-list" }, h("div", { key: 'e7bcc50515f1d5d14b480f3b7fadba72c18fd557', class: "link-list__container", onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, onMouseLeave: this.handleMouseLeave, onMouseMove: this.handleMouseMove }, h("div", { key: '3f453caf064d04bf5fd403bec1d92896607b61f2', class: "link-list__scrollable" }, h("slot", { key: '64db6a263d40f0dc595c308a242b1cbb8bfa4020', name: "linklist" })))), this.showMoreUrl ? (h("div", { class: "link-list__button" }, h("pn-button", { appearance: "light", href: this.showMoreUrl }, this.showMoreLabel), ' ')) : ('')));
|
|
53
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-link-list.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-link-list/pn-link-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAMzD,MAAM,OAAO,UAAU;;
|
|
1
|
+
{"version":3,"file":"pn-link-list.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-link-list/pn-link-list.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'pn-link-list',\n styleUrl: 'pn-link-list.scss',\n})\nexport class PnLinkList {\n @Prop() heading: string = null;\n @Prop() label: string = null;\n @Prop() preamble: string = null;\n @Prop() url: string = null;\n @Prop() showMoreLabel: string = null;\n @Prop() showMoreUrl: string = null;\n\n private slider: HTMLElement = null;\n private isDragging = false;\n private startX = 0;\n private scrollLeft = 0;\n\n componentDidLoad() {\n this.slider = document.querySelector('.link-list__container') as HTMLElement;\n }\n\n private handleMouseDown = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n\n const isContainerClick = target.classList.contains('link-list__container');\n const isLinkClick = target.tagName === 'A';\n\n if (isContainerClick || isLinkClick) {\n this.isDragging = true;\n this.slider?.classList.add('link-list__active');\n this.startX = e.pageX - this.slider?.offsetLeft;\n this.scrollLeft = this.slider?.scrollLeft;\n\n if (isLinkClick) {\n e.preventDefault();\n }\n }\n };\n\n private handleMouseLeave = () => {\n this.isDragging = false;\n this.slider?.classList.remove('link-list__active');\n };\n\n private handleMouseUp = () => {\n this.isDragging = false;\n this.slider?.classList.remove('link-list__active');\n };\n\n private handleMouseMove = (e: MouseEvent) => {\n if (this.isDragging) {\n const x = e.pageX - this.slider?.offsetLeft;\n const move = (x - this.startX) * 2;\n this.slider.scrollLeft = this.scrollLeft - move;\n }\n };\n\n render() {\n return (\n <Host>\n <div class=\"link-list__header\">\n <h2 class=\"link-list__heading\">{this.heading}</h2>\n <p class=\"link-list__preamble\">{this.preamble}</p>\n </div>\n <div class=\"link-list\">\n <div\n class=\"link-list__container\"\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onMouseLeave={this.handleMouseLeave}\n onMouseMove={this.handleMouseMove}\n >\n <div class=\"link-list__scrollable\">\n <slot name=\"linklist\" />\n </div>\n </div>\n </div>\n {this.showMoreUrl ? (\n <div class=\"link-list__button\">\n <pn-button appearance=\"light\" href={this.showMoreUrl}>\n {this.showMoreLabel}\n </pn-button>{' '}\n </div>\n ) : (\n ''\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-pex-pricefinder.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAMxE,MAAM,OAAO,gBAAgB;;wBAGA,IAAI;wBAEJ,IAAI;sBAEN,gBAAgB;oBAEL,YAAY,CAAC,EAAE;uBAExB,IAAI;qBACN,IAAI;sBACH,CAAC;oBAEH,EAAE;wBAEkB,IAAI;;
|
|
1
|
+
{"version":3,"file":"pn-pex-pricefinder.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Element, Prop, State, Listen } from '@stencil/core';\nimport { translations } from './translations';\nimport { PexPriceFinderi18n, PexPriceFinderResponse } from './types';\nimport { PEX_truck } from 'pn-design-assets/pn-assets/illustrations.js';\n\n@Component({\n tag: 'pn-pex-pricefinder',\n styleUrl: 'pn-pex-pricefinder.scss',\n})\nexport class PnPexPricefinder {\n @Element() hostElement: HTMLElement;\n /** Specifies which language we want to show component in (sv,da,fi,no,en) */\n @Prop() language: string = 'sv';\n /** Currency (Kr, €)*/\n @Prop() currency: string = 'Kr';\n /** API Url */\n @Prop() apiUrl: string = '/api/pex/order';\n\n @State() i18n: PexPriceFinderi18n = translations.sv;\n\n @State() fromzip: number = null;\n @State() tozip: number = null;\n @State() weight: number = 1;\n\n @State() when: string = '';\n\n @State() response: PexPriceFinderResponse = null;\n\n componentWillLoad() {\n this.init();\n }\n\n async init() {\n this.setInitialTime();\n this.checkParameters();\n this.setLanguage();\n }\n\n setInitialTime() {\n const initialTime = new Date();\n initialTime.setHours(initialTime.getHours() + 1);\n initialTime.setMinutes(0);\n const splitTime = initialTime.toLocaleString('sv', { timeZoneName: 'short' }).split(' ');\n this.when = `${splitTime[0]}T${splitTime[1].substring(0, 5)}`;\n }\n\n checkParameters() {\n const params = new URLSearchParams(window.location.href);\n if (!params) {\n return;\n }\n const paramKeys = ['fromzip', 'tozip', 'weight', 'when'];\n paramKeys.forEach(key => {\n if (params.get(key)) {\n this[key] = params.get(key);\n }\n });\n }\n\n @Listen('language')\n setLanguage() {\n if (translations[this.language]) {\n this.i18n = translations[this.language] as PexPriceFinderi18n;\n }\n }\n\n onSubmit(e) {\n e.preventDefault();\n const formData = new FormData(e.target);\n const requestQuery = this.compileRequestQuery(formData);\n this.fetchResult(requestQuery);\n }\n\n compileRequestQuery(formData: FormData) {\n let query = {\n from: formData.get('fromzip'),\n to: formData.get('tozip'),\n weight: formData.get('weight'),\n when: formData.get('when'),\n };\n if (!query.when) {\n query.when = (this.hostElement.querySelector('input.date-input') as HTMLInputElement).value;\n }\n if (!formData.get('fromzip') || !formData.get('tozip') || !formData.get('weight')) {\n console.error('Form data is not compliant');\n return;\n }\n return query;\n }\n\n async fetchResult(query: any) {\n this.response = null;\n const params = new URLSearchParams(query);\n const req = await fetch(`${this.apiUrl}?${params.toString()}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n },\n }).catch(this.onFetchError.bind(this));\n let response = await req.json().catch(this.onFetchError.bind(this));\n if (!response) {\n response = await (await import('./mockresponse.json')).default;\n }\n if (response) {\n this.response = response as PexPriceFinderResponse;\n }\n }\n\n onFetchError(error) {\n console.error('onFetchError(error', error);\n }\n\n render() {\n return (\n <Host>\n <div class=\"pex-pricefinder-top\">\n <pn-illustration illustration={PEX_truck} />\n <h2>{this.i18n.heading}</h2>\n </div>\n <form method=\"get\" action=\"\" class=\"pex-pricefinder-form\" onSubmit={this.onSubmit.bind(this)}>\n <fieldset>\n <div>\n <pn-input type=\"number\" label={this.i18n.labelFrom} inputid=\"fromzip\" name=\"fromzip\" placeholder={this.i18n.zipPlaceholder} required value={this.fromzip}></pn-input>\n <pn-input type=\"number\" label={this.i18n.labelTo} inputid=\"tozip\" name=\"tozip\" placeholder={this.i18n.zipPlaceholder} required value={this.tozip}></pn-input>\n </div>\n </fieldset>\n <fieldset>\n <div>\n <pn-input\n type=\"number\"\n label={this.i18n.labelWeight}\n inputid=\"weight\"\n name=\"weight\"\n placeholder={this.i18n.weightPlaceholder}\n required\n value={this.weight}\n ></pn-input>\n <div class=\"datepicker\">\n <label htmlFor=\"when\">{this.i18n.labelWhen}</label>\n <pn-marketweb-input inputid=\"when\" name=\"when\" type=\"datetime-local\" min={new Date().toISOString().split('T')[0]} value={this.when}></pn-marketweb-input>\n </div>\n </div>\n </fieldset>\n <fieldset>\n <div>\n <pn-button type=\"submit\">{this.i18n.submitButtonText}</pn-button>\n </div>\n </fieldset>\n </form>\n {this.response ? (\n <div class=\"pex-pricefinder-response\">\n <strong>\n {this.response.data.value} {this.currency}\n </strong>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -49,8 +49,7 @@ export class PnFindProductPricelist {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
filterItems() {
|
|
52
|
-
|
|
53
|
-
if (!((_a = this.sourceData) === null || _a === void 0 ? void 0 : _a.data)) {
|
|
52
|
+
if (!this.sourceData?.data) {
|
|
54
53
|
console.info('Data has not yet been loaded');
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
@@ -110,7 +109,7 @@ export class PnFindProductPricelist {
|
|
|
110
109
|
if (weights[this.postagetype.value].length > 6) {
|
|
111
110
|
labelText = weightindex % 5 === 0 || weightindex === 0 || weightindex === weights[this.postagetype.value].length - 1 ? weight.name : '';
|
|
112
111
|
}
|
|
113
|
-
return h("option",
|
|
112
|
+
return h("option", { value: weightindex, ...(labelText ? { label: labelText } : {}) });
|
|
114
113
|
})))))) : null, h("div", { key: '127647cb62f60930cce591e009f1c19132857407', class: "resultlist", "data-list-count": this.filteredItems.length }, this.filteredItems.map((item) => (h("div", null, h("pn-find-price-result", { item: item })))))));
|
|
115
114
|
}
|
|
116
115
|
static get is() { return "pn-product-pricelist"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-product-pricelist.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-product-pricelist/pn-product-pricelist.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Host, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-product-pricelist-translations';\nimport { FindPriceWeight, PnfindPriceMarket, PnfindPricei18n, FindPriceSizeCategory } from '../pn-find-price/pn-find-price-types';\nimport { ProductPriceSourceData, ProductPriceItem } from '../../../globals/shared/productprice/product-price-types';\nimport { ProductPriceListi18n, ProductPriceListMarket, ProductPriceListWeight } from './pn-product-pricelist-types';\nimport { weights } from './data.js';\nimport { convertFileFromStream } from '../../../globals/shared/productprice/convert.js';\n// import { state } from \"./pn-product-pricelist-store\";\nimport { state } from '../pn-find-price/pn-find-price-store';\n\n@Component({\n tag: 'pn-product-pricelist',\n styleUrl: 'pn-product-pricelist.scss',\n})\nexport class PnFindProductPricelist {\n @Prop() source: string = 'https://com-inte.postnord.com/globalassets/global/prices/sv-findprice-1-PN.xlsx';\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n @Prop() productid: string = '';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n @State() gotData: boolean = false;\n @State() loading: boolean = false;\n\n @State() postagetype: any = { value: '' };\n @State() weight: ProductPriceListWeight = { value: 0, name: '' } as ProductPriceListWeight;\n @State() weightvalue: number = 0;\n\n componentWillLoad() {\n this.setState();\n this.getDataSource().then(() => {});\n }\n\n @Watch('market')\n @Watch('language')\n setState() {\n if (this.market) {\n state.market = markets[this.market] as ProductPriceListMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindPricei18n;\n }\n }\n\n async getDataSource() {\n if (!this.productid) {\n return;\n }\n this.loading = true;\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 this.loading = false;\n console.warn('Unable to parse data');\n }\n }\n\n @Watch('postagetype')\n @Watch('weightvalue')\n filterItems() {\n if (!this.sourceData?.data) {\n console.info('Data has not yet been loaded');\n return;\n }\n this.loading = false;\n const productIdItems = this.sourceData.data.filter(x => x.id === this.productid);\n if (productIdItems.length === 0) {\n return;\n }\n this.postagetype.value = productIdItems[0].what;\n\n if (!weights[this.postagetype.value] || weights[this.postagetype.value].length === 0) {\n return;\n }\n if (this.weightvalue === 0) {\n this.weight = weights[this.postagetype.value][0];\n this.weightvalue = this.weight.value;\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 = productIdItems.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 = productIdItems.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 this.gotData = this.filteredItems.length > 0;\n }\n\n render() {\n return (\n <Host>\n <div class=\"content\">\n <slot />\n </div>\n\n {this.loading ? <pn-spinner></pn-spinner> : null}\n\n {this.postagetype.value && weights[this.postagetype.value] ? (\n <div class=\"weightselection\">\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 ProductPriceListWeight[]).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\n <div class=\"resultlist\" data-list-count={this.filteredItems.length}>\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n {/* <pn-product-pricelist-result item={item}></pn-product-pricelist-result> */}\n <pn-find-price-result item={item}></pn-find-price-result>\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pn-product-pricelist.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-product-pricelist/pn-product-pricelist.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Host, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-product-pricelist-translations';\nimport { FindPriceWeight, PnfindPriceMarket, PnfindPricei18n, FindPriceSizeCategory } from '../pn-find-price/pn-find-price-types';\nimport { ProductPriceSourceData, ProductPriceItem } from '../../../globals/shared/productprice/product-price-types';\nimport { ProductPriceListi18n, ProductPriceListMarket, ProductPriceListWeight } from './pn-product-pricelist-types';\nimport { weights } from './data.js';\nimport { convertFileFromStream } from '../../../globals/shared/productprice/convert.js';\n// import { state } from \"./pn-product-pricelist-store\";\nimport { state } from '../pn-find-price/pn-find-price-store';\n\n@Component({\n tag: 'pn-product-pricelist',\n styleUrl: 'pn-product-pricelist.scss',\n})\nexport class PnFindProductPricelist {\n @Prop() source: string = 'https://com-inte.postnord.com/globalassets/global/prices/sv-findprice-1-PN.xlsx';\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n @Prop() productid: string = '';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n @State() gotData: boolean = false;\n @State() loading: boolean = false;\n\n @State() postagetype: any = { value: '' };\n @State() weight: ProductPriceListWeight = { value: 0, name: '' } as ProductPriceListWeight;\n @State() weightvalue: number = 0;\n\n componentWillLoad() {\n this.setState();\n this.getDataSource().then(() => {});\n }\n\n @Watch('market')\n @Watch('language')\n setState() {\n if (this.market) {\n state.market = markets[this.market] as ProductPriceListMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindPricei18n;\n }\n }\n\n async getDataSource() {\n if (!this.productid) {\n return;\n }\n this.loading = true;\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 this.loading = false;\n console.warn('Unable to parse data');\n }\n }\n\n @Watch('postagetype')\n @Watch('weightvalue')\n filterItems() {\n if (!this.sourceData?.data) {\n console.info('Data has not yet been loaded');\n return;\n }\n this.loading = false;\n const productIdItems = this.sourceData.data.filter(x => x.id === this.productid);\n if (productIdItems.length === 0) {\n return;\n }\n this.postagetype.value = productIdItems[0].what;\n\n if (!weights[this.postagetype.value] || weights[this.postagetype.value].length === 0) {\n return;\n }\n if (this.weightvalue === 0) {\n this.weight = weights[this.postagetype.value][0];\n this.weightvalue = this.weight.value;\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 = productIdItems.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 = productIdItems.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 this.gotData = this.filteredItems.length > 0;\n }\n\n render() {\n return (\n <Host>\n <div class=\"content\">\n <slot />\n </div>\n\n {this.loading ? <pn-spinner></pn-spinner> : null}\n\n {this.postagetype.value && weights[this.postagetype.value] ? (\n <div class=\"weightselection\">\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 ProductPriceListWeight[]).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\n <div class=\"resultlist\" data-list-count={this.filteredItems.length}>\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n {/* <pn-product-pricelist-result item={item}></pn-product-pricelist-result> */}\n <pn-find-price-result item={item}></pn-find-price-result>\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -28,7 +28,6 @@ export class PnProxioFindPriceResult {
|
|
|
28
28
|
this.shownitems = [this.item];
|
|
29
29
|
}
|
|
30
30
|
getPriceString(product) {
|
|
31
|
-
var _a, _b;
|
|
32
31
|
if (!product.productWeightGroupList) {
|
|
33
32
|
return null;
|
|
34
33
|
}
|
|
@@ -36,41 +35,38 @@ export class PnProxioFindPriceResult {
|
|
|
36
35
|
let price = '';
|
|
37
36
|
if (this.showInternational && this.selectedCountrycode && this.selectedCountrycode !== this.market && product.weightPriceCountryList) {
|
|
38
37
|
let weightPriceCountryList = product.weightPriceCountryList.filter(item => item.item3.includes(this.selectedCountrycode.toUpperCase()));
|
|
39
|
-
price = weightPriceCountryList ?
|
|
38
|
+
price = weightPriceCountryList ? weightPriceCountryList[activeIndex]?.item2 : '';
|
|
40
39
|
}
|
|
41
40
|
else {
|
|
42
|
-
price = product.weightAndPriceList ?
|
|
41
|
+
price = product.weightAndPriceList ? product?.weightAndPriceList[activeIndex]?.item2 : '';
|
|
43
42
|
}
|
|
44
43
|
return price ? this.i18n.from + price : '';
|
|
45
44
|
}
|
|
46
45
|
getProductLink(product, productWeightGroupList) {
|
|
47
|
-
var _a;
|
|
48
46
|
if (product.productWeightGroupList) {
|
|
49
47
|
const activeIndex = product.productWeightGroupList.findIndex(item => item.item1 === this.activeweight);
|
|
50
|
-
let productId =
|
|
51
|
-
let productLink = product.productLink ? product
|
|
48
|
+
let productId = productWeightGroupList[activeIndex]?.item2;
|
|
49
|
+
let productLink = product.productLink ? product?.productLink : '';
|
|
52
50
|
return productLink ? productLink + (productId ? '?productId=' + productId : '') : '';
|
|
53
51
|
}
|
|
54
52
|
return null;
|
|
55
53
|
}
|
|
56
54
|
getDeliveryInformation(product) {
|
|
57
|
-
var _a, _b;
|
|
58
55
|
if (!this.showInternational || !product.deliveryDateInternationalInformation) {
|
|
59
56
|
return product.deliveryDateInformation;
|
|
60
57
|
}
|
|
61
|
-
const internationalShipment =
|
|
62
|
-
if (
|
|
58
|
+
const internationalShipment = product?.deliveryDateInternationalInformation?.find(info => info.item1.toLowerCase() === this.selectedCountrycode.toLowerCase());
|
|
59
|
+
if (!internationalShipment?.item2 ?? true) {
|
|
63
60
|
return product.deliveryDateInformation;
|
|
64
61
|
}
|
|
65
62
|
return internationalShipment.item2;
|
|
66
63
|
}
|
|
67
64
|
getInsuranceAmountText(product) {
|
|
68
|
-
var _a, _b;
|
|
69
65
|
if (!product.insuranceAmounts) {
|
|
70
66
|
return '';
|
|
71
67
|
}
|
|
72
|
-
const insuranceAmount =
|
|
73
|
-
if (
|
|
68
|
+
const insuranceAmount = product?.insuranceAmounts?.find(info => info.item1.toLowerCase() === this.selectedCountrycode.toLowerCase());
|
|
69
|
+
if (!insuranceAmount?.item2 ?? true) {
|
|
74
70
|
return '';
|
|
75
71
|
}
|
|
76
72
|
return insuranceAmount.item2;
|