@postnord/pn-marketweb-components 3.5.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/FetchHelper-2d4c697c.js +85 -0
- package/cjs/FetchHelper-2d4c697c.js.map +1 -0
- package/cjs/HeadingTag-19376e1f.js +12 -0
- package/cjs/HeadingTag-19376e1f.js.map +1 -0
- package/cjs/LocalStorageService-e1ee3fac.js +66 -0
- package/cjs/LocalStorageService-e1ee3fac.js.map +1 -0
- package/cjs/{FetchHelper-e951824f.js → MarketWebContextService-0fdc43c8.js} +1 -82
- package/cjs/MarketWebContextService-0fdc43c8.js.map +1 -0
- package/cjs/alert_exclamation_circle-24f29a5b.js +8 -0
- package/cjs/alert_exclamation_circle-24f29a5b.js.map +1 -0
- package/cjs/angle_up-049ec1d8.js +12 -0
- package/cjs/angle_up-049ec1d8.js.map +1 -0
- package/cjs/close-9e014a80.js +8 -0
- package/cjs/close-9e014a80.js.map +1 -0
- package/cjs/{index-1d8c9211.js → index-4067c6a5.js} +2 -2
- package/cjs/{index-1d8c9211.js.map → index-4067c6a5.js.map} +1 -1
- package/cjs/{index-34e1c673.js → index-b02670c2.js} +65 -8
- package/cjs/index-b02670c2.js.map +1 -0
- package/cjs/index.cjs.js +1 -1
- package/cjs/loader.cjs.js +2 -2
- package/cjs/pn-address-autofill.cjs.entry.js +51 -75
- package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
- package/cjs/pn-animated-tile.cjs.entry.js +2 -2
- package/cjs/pn-animated-tile.cjs.entry.js.map +1 -1
- package/cjs/pn-app-banner.cjs.entry.js +3 -3
- package/cjs/pn-app-banner.cjs.entry.js.map +1 -1
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js +2 -2
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js.map +1 -1
- package/cjs/pn-bonus-progressbar.cjs.entry.js +2 -2
- package/cjs/pn-bonus-progressbar.cjs.entry.js.map +1 -1
- package/cjs/pn-breakpoints.cjs.entry.js +3 -3
- package/cjs/pn-breakpoints.cjs.entry.js.map +1 -1
- package/cjs/pn-chart.cjs.entry.js +2 -2
- package/cjs/pn-chart.cjs.entry.js.map +1 -1
- package/cjs/pn-charts-card.cjs.entry.js +2 -2
- package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
- package/cjs/pn-chat-message_2.cjs.entry.js +346 -0
- package/cjs/pn-chat-message_2.cjs.entry.js.map +1 -0
- package/cjs/pn-chat.cjs.entry.js +474 -0
- package/cjs/pn-chat.cjs.entry.js.map +1 -0
- package/cjs/pn-chat.service-eaf6ed50.js +157 -0
- package/cjs/pn-chat.service-eaf6ed50.js.map +1 -0
- package/cjs/pn-choice-button.cjs.entry.js +2 -2
- package/cjs/pn-choice-button.cjs.entry.js.map +1 -1
- package/cjs/pn-cta-block.cjs.entry.js +2 -2
- package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
- package/cjs/pn-customernumber-selector-option.cjs.entry.js +3 -3
- package/cjs/pn-customernumber-selector-option.cjs.entry.js.map +1 -1
- package/cjs/pn-customernumber-selector.cjs.entry.js +4 -9
- package/cjs/pn-customernumber-selector.cjs.entry.js.map +1 -1
- package/cjs/pn-date-and-time.cjs.entry.js +2 -2
- package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +20 -8
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js +2 -2
- package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +2 -2
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
- package/cjs/pn-filter-checkbox.cjs.entry.js +2 -2
- package/cjs/pn-filter-checkbox.cjs.entry.js.map +1 -1
- package/cjs/pn-find-price-result.cjs.entry.js +5 -5
- package/cjs/pn-find-price-result.cjs.entry.js.map +1 -1
- package/cjs/{pn-find-price-store-051e931b.js → pn-find-price-store-0c8256c7.js} +2 -2
- package/cjs/{pn-find-price-store-051e931b.js.map → pn-find-price-store-0c8256c7.js.map} +1 -1
- package/cjs/pn-find-price.cjs.entry.js +6 -6
- package/cjs/pn-find-price.cjs.entry.js.map +1 -1
- package/cjs/pn-find-service-and-price-result.cjs.entry.js +5 -5
- package/cjs/pn-find-service-and-price-result.cjs.entry.js.map +1 -1
- package/cjs/{pn-find-service-and-price-store-3cec3d31.js → pn-find-service-and-price-store-13f060e0.js} +2 -2
- package/cjs/{pn-find-service-and-price-store-3cec3d31.js.map → pn-find-service-and-price-store-13f060e0.js.map} +1 -1
- package/cjs/pn-find-service-and-price.cjs.entry.js +5 -5
- package/cjs/pn-find-service-and-price.cjs.entry.js.map +1 -1
- package/cjs/pn-hero-block-international.cjs.entry.js +3 -3
- package/cjs/pn-hero-block-international.cjs.entry.js.map +1 -1
- package/cjs/pn-language-selector_9.cjs.entry.js +25 -27
- package/cjs/pn-language-selector_9.cjs.entry.js.map +1 -1
- package/cjs/pn-level-up-modal.cjs.entry.js +77 -0
- package/cjs/pn-level-up-modal.cjs.entry.js.map +1 -0
- package/cjs/pn-level-up.cjs.entry.js +139 -0
- package/cjs/pn-level-up.cjs.entry.js.map +1 -0
- package/cjs/pn-level-up.service-0e8e67c2.js +71 -0
- package/cjs/pn-level-up.service-0e8e67c2.js.map +1 -0
- package/cjs/pn-line-shape.cjs.entry.js +2 -2
- package/cjs/pn-line-shape.cjs.entry.js.map +1 -1
- package/cjs/pn-link-list.cjs.entry.js +3 -3
- package/cjs/pn-link-list.cjs.entry.js.map +1 -1
- package/cjs/pn-mainnav-link.cjs.entry.js +5 -5
- package/cjs/pn-mainnav-link.cjs.entry.js.map +1 -1
- package/cjs/{pn-mainnav-store-1a8153fd.js → pn-mainnav-store-5732f3ca.js} +2 -2
- package/cjs/{pn-mainnav-store-1a8153fd.js.map → pn-mainnav-store-5732f3ca.js.map} +1 -1
- package/cjs/pn-market-web-components.cjs.js +2 -2
- package/cjs/pn-marketweb-icon.cjs.entry.js +3 -3
- package/cjs/pn-marketweb-icon.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-input.cjs.entry.js +4 -6
- package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-search.cjs.entry.js +6 -5
- package/cjs/pn-marketweb-search.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js +7 -10
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js.map +1 -1
- package/cjs/{pn-marketweb-siteheader-login-button_5.cjs.entry.js → pn-marketweb-siteheader-login-button_4.cjs.entry.js} +8 -26
- package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +1 -0
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +4 -4
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js +25 -0
- package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js.map +1 -0
- package/cjs/{pn-marketweb-siteheader-store-75853609.js → pn-marketweb-siteheader-store-ce9d9ac7.js} +2 -2
- package/cjs/{pn-marketweb-siteheader-store-75853609.js.map → pn-marketweb-siteheader-store-ce9d9ac7.js.map} +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +11 -10
- package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
- package/cjs/pn-marketweb-table.cjs.entry.js +459 -0
- package/cjs/pn-marketweb-table.cjs.entry.js.map +1 -0
- package/cjs/pn-media-block.cjs.entry.js +6 -6
- package/cjs/pn-media-block.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +2 -2
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +2 -2
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
- package/cjs/pn-multiple-input.cjs.entry.js +1 -1
- package/cjs/pn-parcel-tracker.cjs.entry.js +2 -2
- package/cjs/pn-parcel-tracker.cjs.entry.js.map +1 -1
- package/cjs/pn-pex-pricefinder.cjs.entry.js +3 -3
- package/cjs/pn-pex-pricefinder.cjs.entry.js.map +1 -1
- package/cjs/pn-play-on-scroll.cjs.entry.js +1 -1
- package/cjs/pn-product-card_3.cjs.entry.js +5 -5
- package/cjs/pn-product-card_3.cjs.entry.js.map +1 -1
- package/cjs/pn-product-pricelist-result.cjs.entry.js +4 -4
- package/cjs/pn-product-pricelist-result.cjs.entry.js.map +1 -1
- package/cjs/pn-product-pricelist.cjs.entry.js +6 -6
- package/cjs/pn-product-pricelist.cjs.entry.js.map +1 -1
- package/cjs/pn-product-tile-info_2.cjs.entry.js +4 -4
- package/cjs/pn-product-tile-info_2.cjs.entry.js.map +1 -1
- package/cjs/pn-product-tile.cjs.entry.js +3 -3
- package/cjs/pn-product-tile.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js +3 -3
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal-profile.cjs.entry.js +6 -6
- package/cjs/pn-profile-modal-profile.cjs.entry.js.map +1 -1
- package/cjs/{pn-profile-modal-store-3b6fea24.js → pn-profile-modal-store-16f8092a.js} +2 -2
- package/cjs/{pn-profile-modal-store-3b6fea24.js.map → pn-profile-modal-store-16f8092a.js.map} +1 -1
- package/cjs/pn-profile-modal-type.cjs.entry.js +5 -5
- package/cjs/pn-profile-modal-type.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-modal.cjs.entry.js +5 -5
- package/cjs/pn-profile-modal.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-selector-option.cjs.entry.js +3 -3
- package/cjs/pn-profile-selector-option.cjs.entry.js.map +1 -1
- package/cjs/pn-profile-selector.cjs.entry.js +3 -3
- package/cjs/pn-profile-selector.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-findprice-result.cjs.entry.js +3 -3
- package/cjs/pn-proxio-findprice-result.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-findprice.cjs.entry.js +9 -8
- package/cjs/pn-proxio-findprice.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-pricegroup.cjs.entry.js +6 -5
- package/cjs/pn-proxio-pricegroup.cjs.entry.js.map +1 -1
- package/cjs/pn-proxio-productcard_4.cjs.entry.js +8 -8
- package/cjs/pn-proxio-productcard_4.cjs.entry.js.map +1 -1
- package/cjs/pn-qr-code-generator.cjs.entry.js +2945 -0
- package/cjs/pn-qr-code-generator.cjs.entry.js.map +1 -0
- package/cjs/pn-quick-cta.cjs.entry.js +2 -2
- package/cjs/pn-quick-cta.cjs.entry.js.map +1 -1
- package/cjs/pn-quote-card.cjs.entry.js +2 -2
- package/cjs/pn-quote-card.cjs.entry.js.map +1 -1
- package/cjs/pn-scroll_2.cjs.entry.js +2 -2
- package/cjs/pn-scroll_2.cjs.entry.js.map +1 -1
- package/cjs/pn-search.cjs.entry.js +54 -0
- package/cjs/pn-search.cjs.entry.js.map +1 -0
- package/cjs/pn-share-item.cjs.entry.js +2 -2
- package/cjs/pn-share-item.cjs.entry.js.map +1 -1
- package/cjs/pn-share.cjs.entry.js +2 -2
- package/cjs/pn-share.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-level.cjs.entry.js +5 -5
- package/cjs/pn-sidenav-level.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav-link.cjs.entry.js +5 -5
- package/cjs/pn-sidenav-link.cjs.entry.js.map +1 -1
- package/cjs/{pn-sidenav-store-cf9c4996.js → pn-sidenav-store-236c8806.js} +2 -2
- package/cjs/{pn-sidenav-store-cf9c4996.js.map → pn-sidenav-store-236c8806.js.map} +1 -1
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js +5 -5
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js.map +1 -1
- package/cjs/pn-sidenav.cjs.entry.js +5 -5
- package/cjs/pn-sidenav.cjs.entry.js.map +1 -1
- package/cjs/pn-site-footer_3.cjs.entry.js +7 -7
- package/cjs/pn-site-footer_3.cjs.entry.js.map +1 -1
- package/cjs/pn-spotlight.cjs.entry.js +2 -2
- package/cjs/pn-spotlight.cjs.entry.js.map +1 -1
- package/cjs/pn-stats-info-data.cjs.entry.js +2 -2
- package/cjs/pn-stats-info-data.cjs.entry.js.map +1 -1
- package/cjs/pn-stats-info.cjs.entry.js +2 -2
- package/cjs/pn-stats-info.cjs.entry.js.map +1 -1
- package/cjs/pn-teaser-card.cjs.entry.js +5 -9
- package/cjs/pn-teaser-card.cjs.entry.js.map +1 -1
- package/cjs/pn-titletag.cjs.entry.js +3 -3
- package/cjs/pn-titletag.cjs.entry.js.map +1 -1
- package/cjs/pn-usp-promoter.cjs.entry.js +3 -3
- package/cjs/pn-usp-promoter.cjs.entry.js.map +1 -1
- package/cjs/pn-usp-simple.cjs.entry.js +56 -0
- package/cjs/pn-usp-simple.cjs.entry.js.map +1 -0
- package/collection/collection-manifest.json +10 -1
- package/collection/components/animation/pn-animated-tile/pn-animated-tile.css +25 -0
- package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.css +25 -0
- package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.css +25 -0
- package/collection/components/cards/pn-quote-card/pn-quote-card.css +25 -0
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.css +25 -0
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +8 -11
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js.map +1 -1
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.stories.js +3 -3
- package/collection/components/charts/pn-chart/pn-chart.css +25 -0
- package/collection/components/charts/pn-charts-card/pn-charts-card.css +25 -0
- package/collection/components/cta/pn-cta-block/pn-cta-block.css +25 -0
- package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.css +25 -0
- package/collection/components/cta/pn-quick-cta/pn-quick-cta.css +25 -0
- package/collection/components/cta/pn-share/pn-share-item.css +25 -0
- package/collection/components/cta/pn-share/pn-share.css +25 -0
- package/collection/components/cta/pn-spotlight/pn-spotlight.css +25 -0
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.css +25 -0
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info.css +25 -0
- package/collection/components/input/pn-address-autofill/pn-address-autofill.css +31 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js +58 -68
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.stories.js +2 -1
- package/collection/components/input/pn-address-autofill/translations.js +6 -3
- package/collection/components/input/pn-address-autofill/translations.js.map +1 -1
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.css +25 -0
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.css +25 -0
- package/collection/components/input/pn-choice-button/pn-choice-button.css +25 -0
- package/collection/components/input/pn-date-and-time/pn-date-and-time.css +25 -0
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.css +25 -0
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +18 -6
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.css +25 -0
- package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.css +25 -0
- package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.css +25 -0
- package/collection/components/input/pn-marketweb-input/pn-marketweb-input.css +25 -0
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.css +25 -0
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +4 -3
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js.map +1 -1
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.css +25 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.css +25 -0
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.css +50 -0
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +1 -1
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +1 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -37
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.css +25 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
- package/collection/components/media/pn-media-block/pn-media-block.css +25 -0
- package/collection/components/media/pn-media-block/pn-media-block.js +8 -8
- package/collection/components/media/pn-media-block/pn-media-block.js.map +1 -1
- package/collection/components/media/pn-media-block/pn-media-block.stories.js +76 -76
- package/collection/components/minor/pn-app-banner/pn-app-banner.css +25 -0
- package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
- package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.css +25 -0
- package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
- package/collection/components/minor/pn-swan/pn-swan.css +25 -0
- package/collection/components/minor/pn-swan/pn-swan.js +1 -1
- package/collection/components/minor/pn-titletag/pn-titletag.css +25 -0
- package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +50 -0
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -1
- package/collection/components/navigation/pn-language-selector/pn-language-selector.css +50 -0
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
- package/collection/components/navigation/pn-mainnav/pn-mainnav.css +25 -0
- package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
- package/collection/components/navigation/pn-sidenav/pn-sidenav.css +25 -0
- package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
- package/collection/components/navigation/pn-site-footer/pn-site-footer-col.css +50 -0
- package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
- package/collection/components/navigation/pn-site-footer/pn-site-footer.css +50 -0
- package/collection/components/navigation/pn-site-footer/pn-site-footer.js +1 -1
- package/collection/components/navigation/pn-site-selector/pn-site-selector-item.css +25 -0
- package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +1 -1
- package/collection/components/navigation/pn-site-selector/pn-site-selector.css +25 -0
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.css +25 -0
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.css +25 -0
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.css +25 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.css +25 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +2 -2
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.css +25 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.css +25 -0
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.css +25 -0
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.css +25 -0
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.css +25 -0
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.css +146 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +118 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js +219 -0
- package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js +243 -0
- package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.css +238 -0
- package/collection/components/widgets/pn-chat/pn-chat.js +840 -0
- package/collection/components/widgets/pn-chat/pn-chat.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.models.js +2 -0
- package/collection/components/widgets/pn-chat/pn-chat.models.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.service.js +151 -0
- package/collection/components/widgets/pn-chat/pn-chat.service.js.map +1 -0
- package/collection/components/widgets/pn-chat/pn-chat.stories.js +116 -0
- package/collection/components/widgets/pn-chat/pn-chat.stories.js.map +1 -0
- package/collection/components/widgets/pn-chat/translations.js +78 -0
- package/collection/components/widgets/pn-chat/translations.js.map +1 -0
- package/collection/components/widgets/pn-chat/types.js +2 -0
- package/collection/components/widgets/pn-chat/types.js.map +1 -0
- package/collection/components/widgets/pn-find-price/pn-find-price-result.css +25 -0
- package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
- package/collection/components/widgets/pn-find-price/pn-find-price.css +25 -0
- package/collection/components/widgets/pn-find-price/pn-find-price.js +2 -2
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.css +25 -0
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +1 -1
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.css +25 -0
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +1 -1
- package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.css +25 -0
- package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +1 -1
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.css +94 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +262 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js +31 -0
- package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.css +114 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.js +476 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.models.js +2 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.models.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.service.js +65 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.service.js.map +1 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.stories.js +88 -0
- package/collection/components/widgets/pn-level-up/pn-level-up.stories.js.map +1 -0
- package/collection/components/widgets/pn-level-up/types.js +2 -0
- package/collection/components/widgets/pn-level-up/types.js.map +1 -0
- package/collection/components/widgets/pn-link-list/pn-link-list.css +25 -0
- package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.css +96 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +494 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js +82 -0
- package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.css +255 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +701 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js +38 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js +122 -0
- package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/translations.js +73 -0
- package/collection/components/widgets/pn-marketweb-table/translations.js.map +1 -0
- package/collection/components/widgets/pn-marketweb-table/types.js +2 -0
- package/collection/components/widgets/pn-marketweb-table/types.js.map +1 -0
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.css +25 -0
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
- package/collection/components/widgets/pn-product-card/pn-product-card-info.css +25 -0
- package/collection/components/widgets/pn-product-card/pn-product-card-price.css +25 -0
- package/collection/components/widgets/pn-product-card/pn-product-card.css +25 -0
- package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.css +25 -0
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.css +25 -0
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
- package/collection/components/widgets/pn-product-tile/pn-product-tile-info.css +25 -0
- package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
- package/collection/components/widgets/pn-product-tile/pn-product-tile-price.css +25 -0
- package/collection/components/widgets/pn-product-tile/pn-product-tile.css +25 -0
- package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.css +25 -0
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.css +25 -0
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.css +25 -0
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.css +25 -0
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.css +25 -0
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-pricelink.css +25 -0
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.css +25 -0
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +1 -1
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.css +61 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +198 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js.map +1 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js +29 -0
- package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js.map +1 -0
- package/collection/components/widgets/pn-search/pn-search.css +140 -0
- package/collection/components/widgets/pn-search/pn-search.js +368 -0
- package/collection/components/widgets/pn-search/pn-search.js.map +1 -0
- package/collection/components/widgets/pn-search/pn-search.stories.js +54 -0
- package/collection/components/widgets/pn-search/pn-search.stories.js.map +1 -0
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.css +25 -0
- package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.css +116 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js +269 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js.map +1 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js +63 -0
- package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js.map +1 -0
- package/collection/globals/HeadingTag.js +2 -2
- package/collection/globals/HeadingTag.js.map +1 -1
- package/collection/globals/LocalStorageService.js +50 -0
- package/collection/globals/LocalStorageService.js.map +1 -0
- package/collection/globals/ScreensizeDetect.js +80 -0
- package/collection/globals/ScreensizeDetect.js.map +1 -0
- package/collection/globals/types.js +2 -0
- package/collection/globals/types.js.map +1 -0
- package/collection/utils/utils.js +11 -0
- package/collection/utils/utils.js.map +1 -1
- package/components/FetchHelper.js +1 -243
- package/components/FetchHelper.js.map +1 -1
- package/components/HeadingTag.js +10 -0
- package/components/HeadingTag.js.map +1 -0
- package/components/LocalStorageService.js +64 -0
- package/components/LocalStorageService.js.map +1 -0
- package/{esm/FetchHelper-746f2bb6.js → components/MarketWebContextService.js} +2 -82
- package/components/MarketWebContextService.js.map +1 -0
- package/components/alert_exclamation_circle.js +6 -0
- package/components/alert_exclamation_circle.js.map +1 -0
- package/components/angle_up.js +9 -0
- package/components/angle_up.js.map +1 -0
- package/components/close.js +6 -0
- package/components/close.js.map +1 -0
- package/components/pn-address-autofill.js +50 -73
- package/components/pn-address-autofill.js.map +1 -1
- package/components/pn-animated-tile.js +1 -1
- package/components/pn-animated-tile.js.map +1 -1
- package/components/pn-app-banner.js +2 -2
- package/components/pn-app-banner.js.map +1 -1
- package/components/pn-bonus-progressbar-level.js +1 -1
- package/components/pn-bonus-progressbar-level.js.map +1 -1
- package/components/pn-bonus-progressbar.js +1 -1
- package/components/pn-bonus-progressbar.js.map +1 -1
- package/components/pn-breakpoints.js +2 -2
- package/components/pn-breakpoints.js.map +1 -1
- package/components/pn-chart.js +1 -1
- package/components/pn-chart.js.map +1 -1
- package/components/pn-charts-card.js +1 -1
- package/components/pn-charts-card.js.map +1 -1
- package/components/pn-chat-message.d.ts +11 -0
- package/components/pn-chat-message.js +8 -0
- package/components/pn-chat-message.js.map +1 -0
- package/components/pn-chat-message2.js +69 -0
- package/components/pn-chat-message2.js.map +1 -0
- package/components/pn-chat.d.ts +11 -0
- package/components/pn-chat.js +534 -0
- package/components/pn-chat.js.map +1 -0
- package/components/pn-chat.service.js +155 -0
- package/components/pn-chat.service.js.map +1 -0
- package/components/pn-choice-button2.js +1 -1
- package/components/pn-choice-button2.js.map +1 -1
- package/components/pn-cta-block.js +1 -1
- package/components/pn-cta-block.js.map +1 -1
- package/components/pn-customernumber-selector-option.js +2 -2
- package/components/pn-customernumber-selector-option.js.map +1 -1
- package/components/pn-customernumber-selector.js +3 -8
- package/components/pn-customernumber-selector.js.map +1 -1
- package/components/pn-date-and-time.js +1 -1
- package/components/pn-date-and-time.js.map +1 -1
- package/components/pn-dropdown-choice-adds-row.js +19 -7
- package/components/pn-dropdown-choice-adds-row.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows-row2.js +1 -1
- package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js +1 -1
- package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
- package/components/pn-filter-checkbox2.js +1 -1
- package/components/pn-filter-checkbox2.js.map +1 -1
- package/components/pn-find-price-result2.js +2 -2
- package/components/pn-find-price-result2.js.map +1 -1
- package/components/pn-find-price.js +3 -3
- package/components/pn-find-price.js.map +1 -1
- package/components/pn-find-service-and-price-result2.js +2 -2
- package/components/pn-find-service-and-price-result2.js.map +1 -1
- package/components/pn-find-service-and-price.js +2 -2
- package/components/pn-find-service-and-price.js.map +1 -1
- package/components/pn-hero-block-international.js +2 -2
- package/components/pn-hero-block-international.js.map +1 -1
- package/components/pn-language-selector-option2.js +2 -2
- package/components/pn-language-selector-option2.js.map +1 -1
- package/components/pn-language-selector2.js +2 -2
- package/components/pn-language-selector2.js.map +1 -1
- package/components/pn-level-up-modal.d.ts +11 -0
- package/components/pn-level-up-modal.js +8 -0
- package/components/pn-level-up-modal.js.map +1 -0
- package/components/pn-level-up-modal2.js +170 -0
- package/components/pn-level-up-modal2.js.map +1 -0
- package/components/pn-level-up.d.ts +11 -0
- package/components/pn-level-up.js +185 -0
- package/components/pn-level-up.js.map +1 -0
- package/components/pn-line-shape.js +1 -1
- package/components/pn-line-shape.js.map +1 -1
- package/components/pn-link-list.js +2 -2
- package/components/pn-link-list.js.map +1 -1
- package/components/pn-mainnav-level2.js +3 -3
- package/components/pn-mainnav-level2.js.map +1 -1
- package/components/pn-mainnav-link2.js +2 -2
- package/components/pn-mainnav-link2.js.map +1 -1
- package/components/pn-mainnav-list2.js +2 -2
- package/components/pn-mainnav-list2.js.map +1 -1
- package/components/pn-mainnav2.js +3 -5
- package/components/pn-mainnav2.js.map +1 -1
- package/components/pn-marketweb-carousel.d.ts +11 -0
- package/components/pn-marketweb-carousel.js +8 -0
- package/components/pn-marketweb-carousel.js.map +1 -0
- package/components/pn-marketweb-carousel2.js +326 -0
- package/components/pn-marketweb-carousel2.js.map +1 -0
- package/components/pn-marketweb-icon.js +2 -2
- package/components/pn-marketweb-icon.js.map +1 -1
- package/components/pn-marketweb-input2.js +2 -4
- package/components/pn-marketweb-input2.js.map +1 -1
- package/components/pn-marketweb-search.js +1 -125
- package/components/pn-marketweb-search.js.map +1 -1
- package/components/pn-marketweb-search2.js +130 -0
- package/components/pn-marketweb-search2.js.map +1 -0
- package/components/pn-marketweb-sitefooter.js +6 -9
- package/components/pn-marketweb-sitefooter.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
- package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-links2.js +1 -1
- package/components/pn-marketweb-siteheader-login-links2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-mypage-button.js +34 -1
- package/components/pn-marketweb-siteheader-login-mypage-button.js.map +1 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js +2 -1
- package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
- package/components/pn-marketweb-siteheader-login2.js +8 -14
- package/components/pn-marketweb-siteheader-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader-search2.js +1 -1
- package/components/pn-marketweb-siteheader-search2.js.map +1 -1
- package/components/pn-marketweb-siteheader-unified-login2.js +3 -13
- package/components/pn-marketweb-siteheader-unified-login2.js.map +1 -1
- package/components/pn-marketweb-siteheader.js +27 -32
- package/components/pn-marketweb-siteheader.js.map +1 -1
- package/components/pn-marketweb-table.d.ts +11 -0
- package/components/pn-marketweb-table.js +502 -0
- package/components/pn-marketweb-table.js.map +1 -0
- package/components/pn-media-block.js +6 -6
- package/components/pn-media-block.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown-row2.js +1 -1
- package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
- package/components/pn-multi-row-connected-dropdown.js +1 -1
- package/components/pn-multi-row-connected-dropdown.js.map +1 -1
- package/components/pn-parcel-tracker.js +1 -1
- package/components/pn-parcel-tracker.js.map +1 -1
- package/components/pn-pex-pricefinder.js +2 -2
- package/components/pn-pex-pricefinder.js.map +1 -1
- package/components/pn-product-card-info2.js +1 -1
- package/components/pn-product-card-info2.js.map +1 -1
- package/components/pn-product-card-price2.js +1 -1
- package/components/pn-product-card-price2.js.map +1 -1
- package/components/pn-product-card2.js +2 -2
- package/components/pn-product-card2.js.map +1 -1
- package/components/pn-product-pricelist-result.js +2 -2
- package/components/pn-product-pricelist-result.js.map +1 -1
- package/components/pn-product-pricelist.js +3 -3
- package/components/pn-product-pricelist.js.map +1 -1
- package/components/pn-product-tile-info2.js +2 -2
- package/components/pn-product-tile-info2.js.map +1 -1
- package/components/pn-product-tile-price2.js +1 -1
- package/components/pn-product-tile-price2.js.map +1 -1
- package/components/pn-product-tile.js +2 -2
- package/components/pn-product-tile.js.map +1 -1
- package/components/pn-profile-modal-customernumber.js +2 -2
- package/components/pn-profile-modal-customernumber.js.map +1 -1
- package/components/pn-profile-modal-profile.js +3 -3
- package/components/pn-profile-modal-profile.js.map +1 -1
- package/components/pn-profile-modal-type.js +2 -2
- package/components/pn-profile-modal-type.js.map +1 -1
- package/components/pn-profile-modal.js +2 -2
- package/components/pn-profile-modal.js.map +1 -1
- package/components/pn-profile-selector-option.js +2 -2
- package/components/pn-profile-selector-option.js.map +1 -1
- package/components/pn-profile-selector.js +2 -2
- package/components/pn-profile-selector.js.map +1 -1
- package/components/pn-proxio-findprice-result2.js +2 -2
- package/components/pn-proxio-findprice-result2.js.map +1 -1
- package/components/pn-proxio-findprice.js +6 -5
- package/components/pn-proxio-findprice.js.map +1 -1
- package/components/pn-proxio-pricegroup.js +4 -3
- package/components/pn-proxio-pricegroup.js.map +1 -1
- package/components/pn-proxio-productcard-description2.js +2 -2
- package/components/pn-proxio-productcard-description2.js.map +1 -1
- package/components/pn-proxio-productcard-information2.js +2 -2
- package/components/pn-proxio-productcard-information2.js.map +1 -1
- package/components/pn-proxio-productcard-pricelink2.js +1 -1
- package/components/pn-proxio-productcard-pricelink2.js.map +1 -1
- package/components/pn-proxio-productcard2.js +2 -2
- package/components/pn-proxio-productcard2.js.map +1 -1
- package/components/pn-qr-code-generator.d.ts +11 -0
- package/components/pn-qr-code-generator.js +8 -0
- package/components/pn-qr-code-generator.js.map +1 -0
- package/components/pn-qr-code-generator2.js +2967 -0
- package/components/pn-qr-code-generator2.js.map +1 -0
- package/components/pn-quick-cta.js +1 -1
- package/components/pn-quick-cta.js.map +1 -1
- package/components/pn-quote-card.js +1 -1
- package/components/pn-quote-card.js.map +1 -1
- package/components/pn-search.d.ts +11 -0
- package/components/pn-search.js +91 -0
- package/components/pn-search.js.map +1 -0
- package/components/pn-share-item2.js +1 -1
- package/components/pn-share-item2.js.map +1 -1
- package/components/pn-share.js +1 -1
- package/components/pn-share.js.map +1 -1
- package/components/pn-sidenav-level.js +2 -2
- package/components/pn-sidenav-level.js.map +1 -1
- package/components/pn-sidenav-link.js +2 -2
- package/components/pn-sidenav-link.js.map +1 -1
- package/components/pn-sidenav-togglebutton.js +2 -2
- package/components/pn-sidenav-togglebutton.js.map +1 -1
- package/components/pn-sidenav.js +2 -2
- package/components/pn-sidenav.js.map +1 -1
- package/components/pn-site-footer-col2.js +2 -2
- package/components/pn-site-footer-col2.js.map +1 -1
- package/components/pn-site-footer2.js +2 -2
- package/components/pn-site-footer2.js.map +1 -1
- package/components/pn-site-selector-item2.js +2 -2
- package/components/pn-site-selector-item2.js.map +1 -1
- package/components/pn-site-selector2.js +2 -2
- package/components/pn-site-selector2.js.map +1 -1
- package/components/pn-spotlight.js +1 -1
- package/components/pn-spotlight.js.map +1 -1
- package/components/pn-stats-info-data2.js +1 -1
- package/components/pn-stats-info-data2.js.map +1 -1
- package/components/pn-stats-info.js +1 -1
- package/components/pn-stats-info.js.map +1 -1
- package/components/pn-swan2.js +2 -2
- package/components/pn-swan2.js.map +1 -1
- package/components/pn-teaser-card.js +5 -9
- package/components/pn-teaser-card.js.map +1 -1
- package/components/pn-titletag2.js +2 -2
- package/components/pn-titletag2.js.map +1 -1
- package/components/pn-usp-promoter.js +2 -2
- package/components/pn-usp-promoter.js.map +1 -1
- package/components/pn-usp-simple.d.ts +11 -0
- package/components/pn-usp-simple.js +82 -0
- package/components/pn-usp-simple.js.map +1 -0
- package/components/pn-video-overlay2.js +1 -1
- package/components/pn-video-overlay2.js.map +1 -1
- package/esm/FetchHelper-4789695a.js +83 -0
- package/esm/FetchHelper-4789695a.js.map +1 -0
- package/esm/HeadingTag-e20016ab.js +10 -0
- package/esm/HeadingTag-e20016ab.js.map +1 -0
- package/esm/LocalStorageService-78b1794d.js +64 -0
- package/esm/LocalStorageService-78b1794d.js.map +1 -0
- package/esm/MarketWebContextService-16c15670.js +245 -0
- package/esm/MarketWebContextService-16c15670.js.map +1 -0
- package/esm/alert_exclamation_circle-f0fe7c7b.js +6 -0
- package/esm/alert_exclamation_circle-f0fe7c7b.js.map +1 -0
- package/esm/angle_up-b5f955ea.js +9 -0
- package/esm/angle_up-b5f955ea.js.map +1 -0
- package/esm/close-9e7bd787.js +6 -0
- package/esm/close-9e7bd787.js.map +1 -0
- package/esm/{index-89124075.js → index-ae60ebec.js} +2 -2
- package/esm/{index-89124075.js.map → index-ae60ebec.js.map} +1 -1
- package/esm/{index-51d67461.js → index-c311acd6.js} +65 -9
- package/esm/index-c311acd6.js.map +1 -0
- package/esm/index.js +1 -1
- package/esm/loader.js +3 -3
- package/esm/pn-address-autofill.entry.js +50 -74
- package/esm/pn-address-autofill.entry.js.map +1 -1
- package/esm/pn-animated-tile.entry.js +2 -2
- package/esm/pn-animated-tile.entry.js.map +1 -1
- package/esm/pn-app-banner.entry.js +3 -3
- package/esm/pn-app-banner.entry.js.map +1 -1
- package/esm/pn-bonus-progressbar-level.entry.js +2 -2
- package/esm/pn-bonus-progressbar-level.entry.js.map +1 -1
- package/esm/pn-bonus-progressbar.entry.js +2 -2
- package/esm/pn-bonus-progressbar.entry.js.map +1 -1
- package/esm/pn-breakpoints.entry.js +3 -3
- package/esm/pn-breakpoints.entry.js.map +1 -1
- package/esm/pn-chart.entry.js +2 -2
- package/esm/pn-chart.entry.js.map +1 -1
- package/esm/pn-charts-card.entry.js +2 -2
- package/esm/pn-charts-card.entry.js.map +1 -1
- package/esm/pn-chat-message_2.entry.js +341 -0
- package/esm/pn-chat-message_2.entry.js.map +1 -0
- package/esm/pn-chat.entry.js +470 -0
- package/esm/pn-chat.entry.js.map +1 -0
- package/esm/pn-chat.service-f4037d6f.js +155 -0
- package/esm/pn-chat.service-f4037d6f.js.map +1 -0
- package/esm/pn-choice-button.entry.js +2 -2
- package/esm/pn-choice-button.entry.js.map +1 -1
- package/esm/pn-cta-block.entry.js +2 -2
- package/esm/pn-cta-block.entry.js.map +1 -1
- package/esm/pn-customernumber-selector-option.entry.js +3 -3
- package/esm/pn-customernumber-selector-option.entry.js.map +1 -1
- package/esm/pn-customernumber-selector.entry.js +4 -9
- package/esm/pn-customernumber-selector.entry.js.map +1 -1
- package/esm/pn-date-and-time.entry.js +2 -2
- package/esm/pn-date-and-time.entry.js.map +1 -1
- package/esm/pn-dropdown-choice-adds-row.entry.js +20 -8
- package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +2 -2
- package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows.entry.js +2 -2
- package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
- package/esm/pn-filter-checkbox.entry.js +2 -2
- package/esm/pn-filter-checkbox.entry.js.map +1 -1
- package/esm/pn-find-price-result.entry.js +5 -5
- package/esm/pn-find-price-result.entry.js.map +1 -1
- package/esm/{pn-find-price-store-c9a9d3d4.js → pn-find-price-store-f97f2325.js} +2 -2
- package/esm/{pn-find-price-store-c9a9d3d4.js.map → pn-find-price-store-f97f2325.js.map} +1 -1
- package/esm/pn-find-price.entry.js +6 -6
- package/esm/pn-find-price.entry.js.map +1 -1
- package/esm/pn-find-service-and-price-result.entry.js +5 -5
- package/esm/pn-find-service-and-price-result.entry.js.map +1 -1
- package/esm/{pn-find-service-and-price-store-60aa5801.js → pn-find-service-and-price-store-6553566d.js} +2 -2
- package/esm/{pn-find-service-and-price-store-60aa5801.js.map → pn-find-service-and-price-store-6553566d.js.map} +1 -1
- package/esm/pn-find-service-and-price.entry.js +5 -5
- package/esm/pn-find-service-and-price.entry.js.map +1 -1
- package/esm/pn-hero-block-international.entry.js +3 -3
- package/esm/pn-hero-block-international.entry.js.map +1 -1
- package/esm/pn-language-selector_9.entry.js +25 -27
- package/esm/pn-language-selector_9.entry.js.map +1 -1
- package/esm/pn-level-up-modal.entry.js +73 -0
- package/esm/pn-level-up-modal.entry.js.map +1 -0
- package/esm/pn-level-up.entry.js +135 -0
- package/esm/pn-level-up.entry.js.map +1 -0
- package/esm/pn-level-up.service-5c602f23.js +69 -0
- package/esm/pn-level-up.service-5c602f23.js.map +1 -0
- package/esm/pn-line-shape.entry.js +2 -2
- package/esm/pn-line-shape.entry.js.map +1 -1
- package/esm/pn-link-list.entry.js +3 -3
- package/esm/pn-link-list.entry.js.map +1 -1
- package/esm/pn-mainnav-link.entry.js +5 -5
- package/esm/pn-mainnav-link.entry.js.map +1 -1
- package/esm/{pn-mainnav-store-9c42bc66.js → pn-mainnav-store-23387019.js} +2 -2
- package/esm/{pn-mainnav-store-9c42bc66.js.map → pn-mainnav-store-23387019.js.map} +1 -1
- package/esm/pn-market-web-components.js +3 -3
- package/esm/pn-marketweb-icon.entry.js +3 -3
- package/esm/pn-marketweb-icon.entry.js.map +1 -1
- package/esm/pn-marketweb-input.entry.js +3 -5
- package/esm/pn-marketweb-input.entry.js.map +1 -1
- package/esm/pn-marketweb-search.entry.js +6 -5
- package/esm/pn-marketweb-search.entry.js.map +1 -1
- package/esm/pn-marketweb-sitefooter.entry.js +6 -9
- package/esm/pn-marketweb-sitefooter.entry.js.map +1 -1
- package/esm/{pn-marketweb-siteheader-login-button_5.entry.js → pn-marketweb-siteheader-login-button_4.entry.js} +9 -26
- package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +1 -0
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js +4 -4
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
- package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +21 -0
- package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js.map +1 -0
- package/esm/{pn-marketweb-siteheader-store-91f74255.js → pn-marketweb-siteheader-store-f60eb1e4.js} +2 -2
- package/esm/{pn-marketweb-siteheader-store-91f74255.js.map → pn-marketweb-siteheader-store-f60eb1e4.js.map} +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +10 -9
- package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
- package/esm/pn-marketweb-table.entry.js +455 -0
- package/esm/pn-marketweb-table.entry.js.map +1 -0
- package/esm/pn-media-block.entry.js +6 -6
- package/esm/pn-media-block.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown-row.entry.js +2 -2
- package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
- package/esm/pn-multi-row-connected-dropdown.entry.js +2 -2
- package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
- package/esm/pn-multiple-input.entry.js +1 -1
- package/esm/pn-parcel-tracker.entry.js +2 -2
- package/esm/pn-parcel-tracker.entry.js.map +1 -1
- package/esm/pn-pex-pricefinder.entry.js +3 -3
- package/esm/pn-pex-pricefinder.entry.js.map +1 -1
- package/esm/pn-play-on-scroll.entry.js +1 -1
- package/esm/pn-product-card_3.entry.js +5 -5
- package/esm/pn-product-card_3.entry.js.map +1 -1
- package/esm/pn-product-pricelist-result.entry.js +4 -4
- package/esm/pn-product-pricelist-result.entry.js.map +1 -1
- package/esm/pn-product-pricelist.entry.js +6 -6
- package/esm/pn-product-pricelist.entry.js.map +1 -1
- package/esm/pn-product-tile-info_2.entry.js +4 -4
- package/esm/pn-product-tile-info_2.entry.js.map +1 -1
- package/esm/pn-product-tile.entry.js +3 -3
- package/esm/pn-product-tile.entry.js.map +1 -1
- package/esm/pn-profile-modal-customernumber.entry.js +3 -3
- package/esm/pn-profile-modal-customernumber.entry.js.map +1 -1
- package/esm/pn-profile-modal-profile.entry.js +6 -6
- package/esm/pn-profile-modal-profile.entry.js.map +1 -1
- package/esm/{pn-profile-modal-store-4655b124.js → pn-profile-modal-store-5d651bd5.js} +2 -2
- package/esm/{pn-profile-modal-store-4655b124.js.map → pn-profile-modal-store-5d651bd5.js.map} +1 -1
- package/esm/pn-profile-modal-type.entry.js +5 -5
- package/esm/pn-profile-modal-type.entry.js.map +1 -1
- package/esm/pn-profile-modal.entry.js +5 -5
- package/esm/pn-profile-modal.entry.js.map +1 -1
- package/esm/pn-profile-selector-option.entry.js +3 -3
- package/esm/pn-profile-selector-option.entry.js.map +1 -1
- package/esm/pn-profile-selector.entry.js +3 -3
- package/esm/pn-profile-selector.entry.js.map +1 -1
- package/esm/pn-proxio-findprice-result.entry.js +3 -3
- package/esm/pn-proxio-findprice-result.entry.js.map +1 -1
- package/esm/pn-proxio-findprice.entry.js +8 -7
- package/esm/pn-proxio-findprice.entry.js.map +1 -1
- package/esm/pn-proxio-pricegroup.entry.js +5 -4
- package/esm/pn-proxio-pricegroup.entry.js.map +1 -1
- package/esm/pn-proxio-productcard_4.entry.js +8 -8
- package/esm/pn-proxio-productcard_4.entry.js.map +1 -1
- package/esm/pn-qr-code-generator.entry.js +2941 -0
- package/esm/pn-qr-code-generator.entry.js.map +1 -0
- package/esm/pn-quick-cta.entry.js +2 -2
- package/esm/pn-quick-cta.entry.js.map +1 -1
- package/esm/pn-quote-card.entry.js +2 -2
- package/esm/pn-quote-card.entry.js.map +1 -1
- package/esm/pn-scroll_2.entry.js +2 -2
- package/esm/pn-scroll_2.entry.js.map +1 -1
- package/esm/pn-search.entry.js +50 -0
- package/esm/pn-search.entry.js.map +1 -0
- package/esm/pn-share-item.entry.js +2 -2
- package/esm/pn-share-item.entry.js.map +1 -1
- package/esm/pn-share.entry.js +2 -2
- package/esm/pn-share.entry.js.map +1 -1
- package/esm/pn-sidenav-level.entry.js +5 -5
- package/esm/pn-sidenav-level.entry.js.map +1 -1
- package/esm/pn-sidenav-link.entry.js +5 -5
- package/esm/pn-sidenav-link.entry.js.map +1 -1
- package/esm/{pn-sidenav-store-85bdb1e6.js → pn-sidenav-store-e2038d79.js} +2 -2
- package/esm/{pn-sidenav-store-85bdb1e6.js.map → pn-sidenav-store-e2038d79.js.map} +1 -1
- package/esm/pn-sidenav-togglebutton.entry.js +5 -5
- package/esm/pn-sidenav-togglebutton.entry.js.map +1 -1
- package/esm/pn-sidenav.entry.js +5 -5
- package/esm/pn-sidenav.entry.js.map +1 -1
- package/esm/pn-site-footer_3.entry.js +7 -7
- package/esm/pn-site-footer_3.entry.js.map +1 -1
- package/esm/pn-spotlight.entry.js +2 -2
- package/esm/pn-spotlight.entry.js.map +1 -1
- package/esm/pn-stats-info-data.entry.js +2 -2
- package/esm/pn-stats-info-data.entry.js.map +1 -1
- package/esm/pn-stats-info.entry.js +2 -2
- package/esm/pn-stats-info.entry.js.map +1 -1
- package/esm/pn-teaser-card.entry.js +5 -9
- package/esm/pn-teaser-card.entry.js.map +1 -1
- package/esm/pn-titletag.entry.js +3 -3
- package/esm/pn-titletag.entry.js.map +1 -1
- package/esm/pn-usp-promoter.entry.js +3 -3
- package/esm/pn-usp-promoter.entry.js.map +1 -1
- package/esm/pn-usp-simple.entry.js +52 -0
- package/esm/pn-usp-simple.entry.js.map +1 -0
- package/package.json +5 -3
- package/pn-market-web-components/index.esm.js +1 -1
- package/pn-market-web-components/index.esm.js.map +1 -1
- package/pn-market-web-components/p-015127bf.entry.js +2 -0
- package/pn-market-web-components/{p-c5772021.entry.js.map → p-015127bf.entry.js.map} +1 -1
- package/pn-market-web-components/p-04107723.entry.js +2 -0
- package/pn-market-web-components/p-04107723.entry.js.map +1 -0
- package/pn-market-web-components/p-08b473e0.entry.js +2 -0
- package/pn-market-web-components/{p-a38118be.entry.js.map → p-08b473e0.entry.js.map} +1 -1
- package/pn-market-web-components/p-0b5a125d.entry.js +2 -0
- package/pn-market-web-components/p-0b5a125d.entry.js.map +1 -0
- package/pn-market-web-components/p-0b920554.js +2 -0
- package/pn-market-web-components/p-0b920554.js.map +1 -0
- package/pn-market-web-components/p-0fc01d3f.entry.js +2 -0
- package/pn-market-web-components/{p-4fa5bc85.entry.js.map → p-0fc01d3f.entry.js.map} +1 -1
- package/pn-market-web-components/p-10776075.entry.js +2 -0
- package/pn-market-web-components/p-10776075.entry.js.map +1 -0
- package/pn-market-web-components/p-17c43a96.entry.js +2 -0
- package/pn-market-web-components/p-17c43a96.entry.js.map +1 -0
- package/pn-market-web-components/p-19bbac6d.entry.js +2 -0
- package/pn-market-web-components/{p-ea3d6f7e.entry.js.map → p-19bbac6d.entry.js.map} +1 -1
- package/pn-market-web-components/p-230ef9aa.entry.js +2 -0
- package/pn-market-web-components/{p-a419cd91.entry.js.map → p-230ef9aa.entry.js.map} +1 -1
- package/pn-market-web-components/p-268dc1fa.entry.js +2 -0
- package/pn-market-web-components/p-268dc1fa.entry.js.map +1 -0
- package/pn-market-web-components/p-28d2f7fa.entry.js +2 -0
- package/pn-market-web-components/p-28d2f7fa.entry.js.map +1 -0
- package/pn-market-web-components/p-292db484.entry.js +2 -0
- package/pn-market-web-components/{p-76e6708b.entry.js.map → p-292db484.entry.js.map} +1 -1
- package/pn-market-web-components/p-2a58d83b.entry.js +2 -0
- package/pn-market-web-components/{p-55643d76.entry.js.map → p-2a58d83b.entry.js.map} +1 -1
- package/pn-market-web-components/p-2c19edca.entry.js +2 -0
- package/pn-market-web-components/{p-72dbca40.entry.js.map → p-2c19edca.entry.js.map} +1 -1
- package/pn-market-web-components/p-2fd60147.entry.js +2 -0
- package/pn-market-web-components/p-2fd60147.entry.js.map +1 -0
- package/pn-market-web-components/p-3478f368.js +2 -0
- package/pn-market-web-components/p-3478f368.js.map +1 -0
- package/pn-market-web-components/p-34a98554.entry.js +2 -0
- package/pn-market-web-components/{p-cf39491b.entry.js.map → p-34a98554.entry.js.map} +1 -1
- package/pn-market-web-components/p-35847eda.entry.js +2 -0
- package/pn-market-web-components/{p-e6e012fb.entry.js.map → p-35847eda.entry.js.map} +1 -1
- package/pn-market-web-components/p-366fd15a.js +2 -0
- package/pn-market-web-components/p-366fd15a.js.map +1 -0
- package/pn-market-web-components/p-389a94e7.entry.js +2 -0
- package/pn-market-web-components/{p-190c6938.entry.js.map → p-389a94e7.entry.js.map} +1 -1
- package/pn-market-web-components/p-39b75c62.entry.js +2 -0
- package/pn-market-web-components/{p-530274ae.entry.js.map → p-39b75c62.entry.js.map} +1 -1
- package/pn-market-web-components/p-3d10bc37.entry.js +2 -0
- package/pn-market-web-components/{p-45d1e1be.entry.js.map → p-3d10bc37.entry.js.map} +1 -1
- package/pn-market-web-components/p-3e197670.entry.js +2 -0
- package/pn-market-web-components/{p-6a5f7dee.entry.js.map → p-3e197670.entry.js.map} +1 -1
- package/pn-market-web-components/p-40bce1b1.entry.js +2 -0
- package/pn-market-web-components/p-40bce1b1.entry.js.map +1 -0
- package/pn-market-web-components/p-41cdac85.entry.js +2 -0
- package/pn-market-web-components/{p-65ab3003.entry.js.map → p-41cdac85.entry.js.map} +1 -1
- package/pn-market-web-components/p-4aedb76c.entry.js +2 -0
- package/pn-market-web-components/{p-ea7b0d21.entry.js.map → p-4aedb76c.entry.js.map} +1 -1
- package/pn-market-web-components/p-4e924d13.entry.js +2 -0
- package/pn-market-web-components/p-4e924d13.entry.js.map +1 -0
- package/pn-market-web-components/p-4f639380.entry.js +2 -0
- package/pn-market-web-components/{p-aeeabb32.entry.js.map → p-4f639380.entry.js.map} +1 -1
- package/pn-market-web-components/p-51f136f3.entry.js +2 -0
- package/pn-market-web-components/p-51f136f3.entry.js.map +1 -0
- package/pn-market-web-components/p-542f949d.entry.js +2 -0
- package/pn-market-web-components/{p-77a35f5e.entry.js.map → p-542f949d.entry.js.map} +1 -1
- package/pn-market-web-components/p-5a981927.entry.js +2 -0
- package/pn-market-web-components/{p-b35cdbac.entry.js.map → p-5a981927.entry.js.map} +1 -1
- package/pn-market-web-components/p-5f4ccd8a.js +2 -0
- package/pn-market-web-components/p-5f4ccd8a.js.map +1 -0
- package/pn-market-web-components/p-60b77eed.entry.js +2 -0
- package/pn-market-web-components/{p-e916e99d.entry.js.map → p-60b77eed.entry.js.map} +1 -1
- package/pn-market-web-components/p-619f2143.entry.js +2 -0
- package/pn-market-web-components/{p-a6866467.entry.js.map → p-619f2143.entry.js.map} +1 -1
- package/pn-market-web-components/p-61bd81d7.entry.js +2 -0
- package/pn-market-web-components/{p-8c26b98d.entry.js.map → p-61bd81d7.entry.js.map} +1 -1
- package/pn-market-web-components/p-64851da0.entry.js +2 -0
- package/pn-market-web-components/{p-776f3d51.entry.js.map → p-64851da0.entry.js.map} +1 -1
- package/pn-market-web-components/p-659a4db5.entry.js +2 -0
- package/pn-market-web-components/{p-231b97e1.entry.js.map → p-659a4db5.entry.js.map} +1 -1
- package/pn-market-web-components/p-65a046be.entry.js +2 -0
- package/pn-market-web-components/{p-0ec8d040.entry.js.map → p-65a046be.entry.js.map} +1 -1
- package/pn-market-web-components/p-66da6e15.entry.js +2 -0
- package/pn-market-web-components/{p-62cabd1e.entry.js.map → p-66da6e15.entry.js.map} +1 -1
- package/pn-market-web-components/{p-65f243c1.js → p-6b1d045c.js} +2 -2
- package/pn-market-web-components/p-6b1d045c.js.map +1 -0
- package/pn-market-web-components/p-71db6836.entry.js +2 -0
- package/pn-market-web-components/{p-3fb8e665.entry.js.map → p-71db6836.entry.js.map} +1 -1
- package/pn-market-web-components/p-72828265.js +2 -0
- package/pn-market-web-components/p-72f57a04.entry.js +2 -0
- package/pn-market-web-components/{p-25d53df2.entry.js.map → p-72f57a04.entry.js.map} +1 -1
- package/pn-market-web-components/p-763a4e13.entry.js +2 -0
- package/pn-market-web-components/{p-fc157a1e.entry.js.map → p-763a4e13.entry.js.map} +1 -1
- package/pn-market-web-components/p-76c2c01f.js +2 -0
- package/pn-market-web-components/p-76c2c01f.js.map +1 -0
- package/pn-market-web-components/{p-e09a907b.js → p-793e1339.js} +2 -2
- package/pn-market-web-components/p-79e4715c.entry.js +2 -0
- package/pn-market-web-components/{p-6647d2c4.entry.js.map → p-79e4715c.entry.js.map} +1 -1
- package/pn-market-web-components/p-7b4f9fdf.entry.js +2 -0
- package/pn-market-web-components/{p-066e9db9.entry.js.map → p-7b4f9fdf.entry.js.map} +1 -1
- package/pn-market-web-components/p-7b7629c5.entry.js +2 -0
- package/pn-market-web-components/{p-24086c59.entry.js.map → p-7b7629c5.entry.js.map} +1 -1
- package/pn-market-web-components/p-7db6ef34.entry.js +2 -0
- package/pn-market-web-components/{p-4e3059dd.entry.js.map → p-7db6ef34.entry.js.map} +1 -1
- package/pn-market-web-components/p-809ed802.entry.js +2 -0
- package/pn-market-web-components/p-809ed802.entry.js.map +1 -0
- package/pn-market-web-components/p-82546a44.js +3 -0
- package/pn-market-web-components/p-82546a44.js.map +1 -0
- package/pn-market-web-components/p-84fc8e05.entry.js +2 -0
- package/pn-market-web-components/{p-25dfc349.entry.js.map → p-84fc8e05.entry.js.map} +1 -1
- package/pn-market-web-components/p-85b42b44.entry.js +2 -0
- package/pn-market-web-components/{p-e8278e9e.entry.js.map → p-85b42b44.entry.js.map} +1 -1
- package/pn-market-web-components/{p-2509d18d.js → p-8836de82.js} +2 -2
- package/pn-market-web-components/{p-560e5291.entry.js → p-8a651698.entry.js} +2 -2
- package/pn-market-web-components/p-8d78b631.js +2 -0
- package/pn-market-web-components/p-8d78b631.js.map +1 -0
- package/pn-market-web-components/p-8d874454.entry.js +2 -0
- package/pn-market-web-components/{p-b5a0275d.entry.js.map → p-8d874454.entry.js.map} +1 -1
- package/pn-market-web-components/p-8d98f709.entry.js +2 -0
- package/pn-market-web-components/{p-74fd7435.entry.js.map → p-8d98f709.entry.js.map} +1 -1
- package/pn-market-web-components/p-9088d3f5.entry.js +2 -0
- package/pn-market-web-components/{p-a72c2729.entry.js.map → p-9088d3f5.entry.js.map} +1 -1
- package/pn-market-web-components/p-920ce5f2.entry.js +2 -0
- package/pn-market-web-components/p-920ce5f2.entry.js.map +1 -0
- package/pn-market-web-components/{p-959a37d9.js → p-930e2943.js} +2 -2
- package/pn-market-web-components/p-9454075f.entry.js +2 -0
- package/pn-market-web-components/{p-45b8cadb.entry.js.map → p-9454075f.entry.js.map} +1 -1
- package/pn-market-web-components/p-95d32ab4.entry.js +2 -0
- package/pn-market-web-components/{p-758f1b53.entry.js.map → p-95d32ab4.entry.js.map} +1 -1
- package/pn-market-web-components/p-a079c496.js +2 -0
- package/pn-market-web-components/p-a079c496.js.map +1 -0
- package/pn-market-web-components/{p-eaee1dd6.entry.js → p-a73e4811.entry.js} +2 -2
- package/pn-market-web-components/{p-eaee1dd6.entry.js.map → p-a73e4811.entry.js.map} +1 -1
- package/pn-market-web-components/p-ad282b7c.entry.js +2 -0
- package/pn-market-web-components/{p-4d2ca281.entry.js.map → p-ad282b7c.entry.js.map} +1 -1
- package/pn-market-web-components/{p-155c2049.entry.js → p-ad9a7633.entry.js} +2 -2
- package/pn-market-web-components/p-b9590d81.entry.js +2 -0
- package/pn-market-web-components/{p-59549c74.entry.js.map → p-b9590d81.entry.js.map} +1 -1
- package/pn-market-web-components/p-c4e353b3.entry.js +2 -0
- package/pn-market-web-components/{p-5a1b6e6d.entry.js.map → p-c4e353b3.entry.js.map} +1 -1
- package/pn-market-web-components/p-c89cb749.entry.js +2 -0
- package/pn-market-web-components/{p-95519556.entry.js.map → p-c89cb749.entry.js.map} +1 -1
- package/pn-market-web-components/p-c9038b03.entry.js +2 -0
- package/pn-market-web-components/{p-64d0dbba.entry.js.map → p-c9038b03.entry.js.map} +1 -1
- package/pn-market-web-components/p-cbb1d57d.entry.js +2 -0
- package/pn-market-web-components/{p-6fdd5b5a.entry.js.map → p-cbb1d57d.entry.js.map} +1 -1
- package/pn-market-web-components/p-cc7c596e.entry.js +2 -0
- package/pn-market-web-components/p-cc7c596e.entry.js.map +1 -0
- package/pn-market-web-components/p-cda742ba.entry.js +2 -0
- package/pn-market-web-components/p-cda742ba.entry.js.map +1 -0
- package/pn-market-web-components/p-ce87ff8a.entry.js +2 -0
- package/pn-market-web-components/{p-e2e3ac2f.entry.js.map → p-ce87ff8a.entry.js.map} +1 -1
- package/pn-market-web-components/p-cf8a1fb9.js +2 -0
- package/pn-market-web-components/p-cf8a1fb9.js.map +1 -0
- package/pn-market-web-components/p-d17af75d.entry.js +2 -0
- package/pn-market-web-components/{p-b693f78a.entry.js.map → p-d17af75d.entry.js.map} +1 -1
- package/pn-market-web-components/p-d5c45da2.entry.js +2 -0
- package/pn-market-web-components/{p-e5ae757f.entry.js.map → p-d5c45da2.entry.js.map} +1 -1
- package/pn-market-web-components/p-d7170c0e.entry.js +2 -0
- package/pn-market-web-components/{p-d0a085cc.entry.js.map → p-d7170c0e.entry.js.map} +1 -1
- package/pn-market-web-components/p-d75a2f7c.entry.js +2 -0
- package/pn-market-web-components/p-d75a2f7c.entry.js.map +1 -0
- package/pn-market-web-components/p-daa74e60.entry.js +2 -0
- package/pn-market-web-components/{p-7076038b.entry.js.map → p-daa74e60.entry.js.map} +1 -1
- package/pn-market-web-components/p-dc2ee6f8.entry.js +2 -0
- package/pn-market-web-components/p-dc2ee6f8.entry.js.map +1 -0
- package/pn-market-web-components/p-e733f44f.entry.js +2 -0
- package/pn-market-web-components/p-e733f44f.entry.js.map +1 -0
- package/pn-market-web-components/p-e8622338.entry.js +2 -0
- package/pn-market-web-components/{p-b9505c69.entry.js.map → p-e8622338.entry.js.map} +1 -1
- package/pn-market-web-components/p-eb21f772.entry.js +2 -0
- package/pn-market-web-components/p-eb21f772.entry.js.map +1 -0
- package/pn-market-web-components/p-efab81a9.entry.js +2 -0
- package/pn-market-web-components/p-efab81a9.entry.js.map +1 -0
- package/pn-market-web-components/{p-278cda98.entry.js → p-f0df7694.entry.js} +4 -4
- package/pn-market-web-components/{p-278cda98.entry.js.map → p-f0df7694.entry.js.map} +1 -1
- package/pn-market-web-components/p-f21311ad.entry.js +2 -0
- package/pn-market-web-components/{p-545c24c0.entry.js.map → p-f21311ad.entry.js.map} +1 -1
- package/pn-market-web-components/p-f28059f4.entry.js +2 -0
- package/pn-market-web-components/{p-856c235c.entry.js.map → p-f28059f4.entry.js.map} +1 -1
- package/pn-market-web-components/p-f28d0971.entry.js +2 -0
- package/pn-market-web-components/{p-54f3a3b6.entry.js.map → p-f28d0971.entry.js.map} +1 -1
- package/pn-market-web-components/p-f4b14be8.entry.js +2 -0
- package/pn-market-web-components/{p-1ec21bd6.entry.js.map → p-f4b14be8.entry.js.map} +1 -1
- package/pn-market-web-components/p-f5d03222.entry.js +2 -0
- package/pn-market-web-components/{p-90242f18.entry.js.map → p-f5d03222.entry.js.map} +1 -1
- package/pn-market-web-components/{p-8af1b914.js → p-f9083b7a.js} +2 -2
- package/pn-market-web-components/{p-cafe11a9.js → p-fb4cdf98.js} +2 -2
- package/pn-market-web-components/p-fe466661.js +2 -0
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
- package/types/components/cards/pn-teaser-card/pn-teaser-card.d.ts +1 -1
- package/types/components/input/pn-address-autofill/pn-address-autofill.d.ts +2 -3
- package/types/components/input/pn-address-autofill/translations.d.ts +3 -0
- package/types/components/input/pn-marketweb-search/pn-marketweb-search.d.ts +1 -1
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.d.ts +0 -2
- package/types/components/media/pn-media-block/pn-media-block.d.ts +1 -1
- package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.d.ts +10 -0
- package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.d.ts +7 -0
- package/types/components/widgets/pn-chat/pn-chat-stories-constants.d.ts +164 -0
- package/types/components/widgets/pn-chat/pn-chat.d.ts +72 -0
- package/types/components/widgets/pn-chat/pn-chat.models.d.ts +22 -0
- package/types/components/widgets/pn-chat/pn-chat.service.d.ts +26 -0
- package/types/components/widgets/pn-chat/pn-chat.stories.d.ts +8 -0
- package/types/components/widgets/pn-chat/translations.d.ts +77 -0
- package/types/components/widgets/pn-chat/types.d.ts +68 -0
- package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.d.ts +23 -0
- package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.d.ts +5 -0
- package/types/components/widgets/pn-level-up/pn-level-up.d.ts +43 -0
- package/types/components/widgets/pn-level-up/pn-level-up.models.d.ts +22 -0
- package/types/components/widgets/pn-level-up/pn-level-up.service.d.ts +16 -0
- package/types/components/widgets/pn-level-up/pn-level-up.stories.d.ts +7 -0
- package/types/components/widgets/pn-level-up/types.d.ts +1 -0
- package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.d.ts +48 -0
- package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.d.ts +7 -0
- package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.d.ts +55 -0
- package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.service.d.ts +11 -0
- package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.d.ts +26 -0
- package/types/components/widgets/pn-marketweb-table/translations.d.ts +72 -0
- package/types/components/widgets/pn-marketweb-table/types.d.ts +38 -0
- package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.d.ts +23 -0
- package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.d.ts +5 -0
- package/types/components/widgets/pn-search/pn-search.d.ts +29 -0
- package/types/components/widgets/pn-search/pn-search.stories.d.ts +7 -0
- package/types/components/widgets/pn-usp-simple/pn-usp-simple.d.ts +19 -0
- package/types/components/widgets/pn-usp-simple/pn-usp-simple.stories.d.ts +7 -0
- package/types/components.d.ts +393 -8
- package/types/globals/HeadingTag.d.ts +1 -1
- package/types/globals/LocalStorageService.d.ts +14 -0
- package/types/globals/ScreensizeDetect.d.ts +29 -0
- package/types/globals/types.d.ts +18 -0
- package/types/utils/utils.d.ts +1 -0
- package/umd/pn-marketweb-init.js +1 -1
- package/umd/pn-marketweb-salesforce.js +1 -1
- package/vscode-data.json +677 -3
- package/cjs/FetchHelper-e951824f.js.map +0 -1
- package/cjs/index-34e1c673.js.map +0 -1
- package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js.map +0 -1
- package/components/pn-marketweb-siteheader-login-mypage-button2.js +0 -38
- package/components/pn-marketweb-siteheader-login-mypage-button2.js.map +0 -1
- package/esm/FetchHelper-746f2bb6.js.map +0 -1
- package/esm/index-51d67461.js.map +0 -1
- package/esm/pn-marketweb-siteheader-login-button_5.entry.js.map +0 -1
- package/pn-market-web-components/p-066e9db9.entry.js +0 -2
- package/pn-market-web-components/p-0ec8d040.entry.js +0 -2
- package/pn-market-web-components/p-13190b30.js +0 -2
- package/pn-market-web-components/p-190c6938.entry.js +0 -2
- package/pn-market-web-components/p-1ec21bd6.entry.js +0 -2
- package/pn-market-web-components/p-231b97e1.entry.js +0 -2
- package/pn-market-web-components/p-23d69d70.entry.js +0 -2
- package/pn-market-web-components/p-23d69d70.entry.js.map +0 -1
- package/pn-market-web-components/p-24086c59.entry.js +0 -2
- package/pn-market-web-components/p-25d53df2.entry.js +0 -2
- package/pn-market-web-components/p-25dfc349.entry.js +0 -2
- package/pn-market-web-components/p-2b03a4e1.entry.js +0 -2
- package/pn-market-web-components/p-2b03a4e1.entry.js.map +0 -1
- package/pn-market-web-components/p-3fb8e665.entry.js +0 -2
- package/pn-market-web-components/p-45b8cadb.entry.js +0 -2
- package/pn-market-web-components/p-45d1e1be.entry.js +0 -2
- package/pn-market-web-components/p-4d2ca281.entry.js +0 -2
- package/pn-market-web-components/p-4e3059dd.entry.js +0 -2
- package/pn-market-web-components/p-4fa5bc85.entry.js +0 -2
- package/pn-market-web-components/p-530274ae.entry.js +0 -2
- package/pn-market-web-components/p-545c24c0.entry.js +0 -2
- package/pn-market-web-components/p-54f3a3b6.entry.js +0 -2
- package/pn-market-web-components/p-55643d76.entry.js +0 -2
- package/pn-market-web-components/p-572c4d81.entry.js +0 -2
- package/pn-market-web-components/p-572c4d81.entry.js.map +0 -1
- package/pn-market-web-components/p-59549c74.entry.js +0 -2
- package/pn-market-web-components/p-59cb7166.entry.js +0 -2
- package/pn-market-web-components/p-59cb7166.entry.js.map +0 -1
- package/pn-market-web-components/p-5a1b6e6d.entry.js +0 -2
- package/pn-market-web-components/p-5d06e48f.entry.js +0 -2
- package/pn-market-web-components/p-5d06e48f.entry.js.map +0 -1
- package/pn-market-web-components/p-62cabd1e.entry.js +0 -2
- package/pn-market-web-components/p-64d0dbba.entry.js +0 -2
- package/pn-market-web-components/p-652f97b9.js +0 -2
- package/pn-market-web-components/p-65ab3003.entry.js +0 -2
- package/pn-market-web-components/p-65f243c1.js.map +0 -1
- package/pn-market-web-components/p-6647d2c4.entry.js +0 -2
- package/pn-market-web-components/p-6a5f7dee.entry.js +0 -2
- package/pn-market-web-components/p-6fdd5b5a.entry.js +0 -2
- package/pn-market-web-components/p-7076038b.entry.js +0 -2
- package/pn-market-web-components/p-725aba56.entry.js +0 -2
- package/pn-market-web-components/p-725aba56.entry.js.map +0 -1
- package/pn-market-web-components/p-72dbca40.entry.js +0 -2
- package/pn-market-web-components/p-74fd7435.entry.js +0 -2
- package/pn-market-web-components/p-758f1b53.entry.js +0 -2
- package/pn-market-web-components/p-76e6708b.entry.js +0 -2
- package/pn-market-web-components/p-776f3d51.entry.js +0 -2
- package/pn-market-web-components/p-77a35f5e.entry.js +0 -2
- package/pn-market-web-components/p-7c3091eb.entry.js +0 -2
- package/pn-market-web-components/p-7c3091eb.entry.js.map +0 -1
- package/pn-market-web-components/p-856c235c.entry.js +0 -2
- package/pn-market-web-components/p-8c26b98d.entry.js +0 -2
- package/pn-market-web-components/p-90242f18.entry.js +0 -2
- package/pn-market-web-components/p-94a69959.entry.js +0 -2
- package/pn-market-web-components/p-94a69959.entry.js.map +0 -1
- package/pn-market-web-components/p-95519556.entry.js +0 -2
- package/pn-market-web-components/p-a38118be.entry.js +0 -2
- package/pn-market-web-components/p-a419cd91.entry.js +0 -2
- package/pn-market-web-components/p-a54a298b.entry.js +0 -2
- package/pn-market-web-components/p-a54a298b.entry.js.map +0 -1
- package/pn-market-web-components/p-a6866467.entry.js +0 -2
- package/pn-market-web-components/p-a72c2729.entry.js +0 -2
- package/pn-market-web-components/p-aeeabb32.entry.js +0 -2
- package/pn-market-web-components/p-b35cdbac.entry.js +0 -2
- package/pn-market-web-components/p-b5a0275d.entry.js +0 -2
- package/pn-market-web-components/p-b693f78a.entry.js +0 -2
- package/pn-market-web-components/p-b9340e9c.entry.js +0 -2
- package/pn-market-web-components/p-b9340e9c.entry.js.map +0 -1
- package/pn-market-web-components/p-b9505c69.entry.js +0 -2
- package/pn-market-web-components/p-bb1c965e.js +0 -3
- package/pn-market-web-components/p-bb1c965e.js.map +0 -1
- package/pn-market-web-components/p-c5772021.entry.js +0 -2
- package/pn-market-web-components/p-cf39491b.entry.js +0 -2
- package/pn-market-web-components/p-d0a085cc.entry.js +0 -2
- package/pn-market-web-components/p-e2e3ac2f.entry.js +0 -2
- package/pn-market-web-components/p-e5ae757f.entry.js +0 -2
- package/pn-market-web-components/p-e6e012fb.entry.js +0 -2
- package/pn-market-web-components/p-e8278e9e.entry.js +0 -2
- package/pn-market-web-components/p-e916e99d.entry.js +0 -2
- package/pn-market-web-components/p-ea3d6f7e.entry.js +0 -2
- package/pn-market-web-components/p-ea7b0d21.entry.js +0 -2
- package/pn-market-web-components/p-fc157a1e.entry.js +0 -2
- /package/pn-market-web-components/{p-652f97b9.js.map → p-72828265.js.map} +0 -0
- /package/pn-market-web-components/{p-e09a907b.js.map → p-793e1339.js.map} +0 -0
- /package/pn-market-web-components/{p-2509d18d.js.map → p-8836de82.js.map} +0 -0
- /package/pn-market-web-components/{p-560e5291.entry.js.map → p-8a651698.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-959a37d9.js.map → p-930e2943.js.map} +0 -0
- /package/pn-market-web-components/{p-155c2049.entry.js.map → p-ad9a7633.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-8af1b914.js.map → p-f9083b7a.js.map} +0 -0
- /package/pn-market-web-components/{p-cafe11a9.js.map → p-fb4cdf98.js.map} +0 -0
- /package/pn-market-web-components/{p-13190b30.js.map → p-fe466661.js.map} +0 -0
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { arrow_left, arrow_right } from "pn-design-assets/pn-assets/icons.js";
|
|
3
|
+
export class PnMarketwebCarousel {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.previousButtonLabel = undefined;
|
|
6
|
+
this.nextButtonLabel = undefined;
|
|
7
|
+
this.ariaNavigationLabel = undefined;
|
|
8
|
+
this.source = undefined;
|
|
9
|
+
this.slidesToShow = 1;
|
|
10
|
+
this.showCarouselButtons = true;
|
|
11
|
+
this.showFirstSlidePrevButton = false;
|
|
12
|
+
this.showLastSlideNextButton = false;
|
|
13
|
+
this.slidesData = [];
|
|
14
|
+
this.currentSlide = 0;
|
|
15
|
+
this.isDragging = false;
|
|
16
|
+
this.slideWidth = 0;
|
|
17
|
+
}
|
|
18
|
+
static DEFAULTS = {
|
|
19
|
+
SWIPE_THRESHOLD_PX: 50,
|
|
20
|
+
ANIMATION_DURATION_MS: 300,
|
|
21
|
+
OVERSCROLL_LIMIT_PERCENT: 30,
|
|
22
|
+
};
|
|
23
|
+
hostElement;
|
|
24
|
+
slides = null;
|
|
25
|
+
slidesContainer = null;
|
|
26
|
+
totalSlides = 0;
|
|
27
|
+
prevButton = null;
|
|
28
|
+
nextButton = null;
|
|
29
|
+
dragStartX = 0;
|
|
30
|
+
listeners = [];
|
|
31
|
+
memoizedSlideWidth = null;
|
|
32
|
+
componentWillLoad() {
|
|
33
|
+
this.setInitialValues();
|
|
34
|
+
}
|
|
35
|
+
componentDidLoad() {
|
|
36
|
+
this.setupCarousel();
|
|
37
|
+
window.addEventListener('resize', this.handleResize);
|
|
38
|
+
}
|
|
39
|
+
disconnectedCallback() {
|
|
40
|
+
this.cleanup();
|
|
41
|
+
window.removeEventListener('resize', this.handleResize);
|
|
42
|
+
}
|
|
43
|
+
async goToSlide(index) {
|
|
44
|
+
if (index >= 0 && index < this.totalSlides) {
|
|
45
|
+
this.currentSlide = index;
|
|
46
|
+
this.moveSlides();
|
|
47
|
+
this.updateNavButtons();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async getCurrentSlide() {
|
|
51
|
+
return this.currentSlide;
|
|
52
|
+
}
|
|
53
|
+
handleSourceChange(newValue) {
|
|
54
|
+
if (newValue) {
|
|
55
|
+
this.setInitialValues();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
setInitialValues() {
|
|
59
|
+
if (!this.source?.trim()) {
|
|
60
|
+
console.warn('No source provided for carousel');
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const parsedData = JSON.parse(this.source);
|
|
65
|
+
if (!parsedData?.slides) {
|
|
66
|
+
throw new Error('Invalid slides data structure');
|
|
67
|
+
}
|
|
68
|
+
if (Array.isArray(parsedData.slides)) {
|
|
69
|
+
this.slidesData = parsedData.slides;
|
|
70
|
+
this.showCarouselButtons = this.slidesData.length > 1;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
throw new Error('Slides data is not an array');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error('Error parsing carousel source:', error instanceof Error ? error.message : 'Unknown error');
|
|
78
|
+
this.slidesData = [];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
setupCarousel() {
|
|
82
|
+
this.initializeElements();
|
|
83
|
+
this.attachEventListeners();
|
|
84
|
+
this.updateNavButtons();
|
|
85
|
+
}
|
|
86
|
+
initializeElements() {
|
|
87
|
+
this.slidesContainer = this.hostElement.querySelector('[data-slides-container]');
|
|
88
|
+
this.slides = this.hostElement.querySelectorAll('[data-slide]');
|
|
89
|
+
this.totalSlides = this.slides?.length ?? 0;
|
|
90
|
+
if (this.showCarouselButtons) {
|
|
91
|
+
this.prevButton = this.hostElement.querySelector('[data-nav-button-prev]');
|
|
92
|
+
this.nextButton = this.hostElement.querySelector('[data-nav-button-next]');
|
|
93
|
+
}
|
|
94
|
+
this.slideWidth = 100 / this.slidesToShow;
|
|
95
|
+
}
|
|
96
|
+
attachEventListeners() {
|
|
97
|
+
if (!this.slidesContainer)
|
|
98
|
+
return;
|
|
99
|
+
const addListener = (element, event, handler, options) => {
|
|
100
|
+
element.addEventListener(event, handler, options);
|
|
101
|
+
this.listeners.push({ element, event, handler });
|
|
102
|
+
};
|
|
103
|
+
// Touch events
|
|
104
|
+
addListener(this.slidesContainer, 'touchstart', this.handleTouchStart, { passive: true });
|
|
105
|
+
addListener(this.slidesContainer, 'touchmove', this.handleTouchMove, { passive: false });
|
|
106
|
+
addListener(this.slidesContainer, 'touchend', this.handleTouchEnd, { passive: true });
|
|
107
|
+
// Mouse events
|
|
108
|
+
addListener(this.slidesContainer, 'mousedown', this.handleTouchStart);
|
|
109
|
+
addListener(this.slidesContainer, 'mousemove', this.handleTouchMove);
|
|
110
|
+
addListener(this.slidesContainer, 'mouseup', this.handleTouchEnd);
|
|
111
|
+
addListener(this.slidesContainer, 'mouseleave', this.handleTouchEnd);
|
|
112
|
+
if (this.showCarouselButtons) {
|
|
113
|
+
this.nextButton && addListener(this.nextButton, 'click', this.handleNextClick);
|
|
114
|
+
this.prevButton && addListener(this.prevButton, 'click', this.handlePrevClick);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
cleanup() {
|
|
118
|
+
this.listeners.forEach(({ element, event, handler }) => {
|
|
119
|
+
element.removeEventListener(event, handler);
|
|
120
|
+
});
|
|
121
|
+
this.listeners = [];
|
|
122
|
+
}
|
|
123
|
+
handleResize = () => {
|
|
124
|
+
this.memoizedSlideWidth = null;
|
|
125
|
+
};
|
|
126
|
+
getSlideWidth() {
|
|
127
|
+
if (!this.memoizedSlideWidth && this.slidesContainer) {
|
|
128
|
+
this.memoizedSlideWidth = this.slidesContainer.offsetWidth;
|
|
129
|
+
}
|
|
130
|
+
return this.memoizedSlideWidth ?? 0;
|
|
131
|
+
}
|
|
132
|
+
handleNextClick = (e) => {
|
|
133
|
+
e.stopPropagation();
|
|
134
|
+
this.nextSlide();
|
|
135
|
+
};
|
|
136
|
+
handlePrevClick = (e) => {
|
|
137
|
+
e.stopPropagation();
|
|
138
|
+
this.prevSlide();
|
|
139
|
+
};
|
|
140
|
+
handleTouchStart = (e) => {
|
|
141
|
+
if (e.target.classList.contains('nav-button'))
|
|
142
|
+
return;
|
|
143
|
+
this.isDragging = true;
|
|
144
|
+
this.dragStartX = 'touches' in e ? e.touches[0].clientX : e.clientX;
|
|
145
|
+
};
|
|
146
|
+
handleTouchMove = (e) => {
|
|
147
|
+
if (!this.isDragging)
|
|
148
|
+
return;
|
|
149
|
+
if ('touches' in e) {
|
|
150
|
+
e.preventDefault();
|
|
151
|
+
}
|
|
152
|
+
const currentPosition = 'touches' in e ? e.touches[0].clientX : e.clientX;
|
|
153
|
+
const diff = currentPosition - this.dragStartX;
|
|
154
|
+
const percentMove = (diff / this.getSlideWidth()) * 100;
|
|
155
|
+
this.moveSlides(percentMove);
|
|
156
|
+
};
|
|
157
|
+
handleTouchEnd = (e) => {
|
|
158
|
+
if (!this.isDragging)
|
|
159
|
+
return;
|
|
160
|
+
this.isDragging = false;
|
|
161
|
+
const currentPosition = 'changedTouches' in e ? e.changedTouches[0].clientX : e.clientX;
|
|
162
|
+
const diff = currentPosition - this.dragStartX;
|
|
163
|
+
if (Math.abs(diff) > PnMarketwebCarousel.DEFAULTS.SWIPE_THRESHOLD_PX) {
|
|
164
|
+
if (diff > 0 && this.currentSlide > 0) {
|
|
165
|
+
this.currentSlide--;
|
|
166
|
+
}
|
|
167
|
+
else if (diff < 0 && this.currentSlide < this.totalSlides - 1) {
|
|
168
|
+
this.currentSlide++;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
this.moveSlides();
|
|
172
|
+
this.updateNavButtons();
|
|
173
|
+
};
|
|
174
|
+
calculateProportionalTranslation() {
|
|
175
|
+
// Calculate proportional translation based on slidesToShow
|
|
176
|
+
return -200 + (this.slidesToShow - 1) * 100;
|
|
177
|
+
}
|
|
178
|
+
moveSlides(extraTranslate = 0) {
|
|
179
|
+
if (!this.slides || !this.slidesContainer) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
this.slides.forEach((slide, index) => {
|
|
184
|
+
if (slide) {
|
|
185
|
+
// Set each slide's width
|
|
186
|
+
slide.style.width = `${this.slideWidth}%`;
|
|
187
|
+
let translation = 0;
|
|
188
|
+
if (this.slidesToShow === 1) {
|
|
189
|
+
// Full slide view
|
|
190
|
+
translation = -100 * this.currentSlide;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// Partial slide view
|
|
194
|
+
if (this.totalSlides === 2) {
|
|
195
|
+
// Special case for 2 slides
|
|
196
|
+
if (this.currentSlide === 1) {
|
|
197
|
+
translation = -50; // Both slides move by -50%
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
// 3 or more slides
|
|
202
|
+
if (this.currentSlide === 1) {
|
|
203
|
+
// Second slide showing - all slides move -100%
|
|
204
|
+
translation = -100;
|
|
205
|
+
}
|
|
206
|
+
else if (this.currentSlide === 2) {
|
|
207
|
+
// Third slide showing
|
|
208
|
+
if (index === 0) {
|
|
209
|
+
translation = -100; // First slide stays at -100%
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// Calculate proportional translation
|
|
213
|
+
translation = this.calculateProportionalTranslation();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// Add any extra translation from dragging
|
|
219
|
+
translation += extraTranslate;
|
|
220
|
+
slide.style.transform = `translateX(${translation}%)`;
|
|
221
|
+
slide.style.position = 'relative';
|
|
222
|
+
// Update visibility for screen readers
|
|
223
|
+
let isVisible;
|
|
224
|
+
if (this.slidesToShow === 1) {
|
|
225
|
+
isVisible = index === this.currentSlide;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
isVisible =
|
|
229
|
+
this.currentSlide === 0 || // First slide showing
|
|
230
|
+
this.totalSlides === 2 || // Two slides - both visible
|
|
231
|
+
(this.currentSlide === 1 && translation === -100) || // Second slide showing
|
|
232
|
+
(this.currentSlide === 2 &&
|
|
233
|
+
((index === 0 && translation === -100) || // First slide still visible
|
|
234
|
+
index > 0)); // Second and third slides visible
|
|
235
|
+
}
|
|
236
|
+
slide.setAttribute('aria-hidden', (!isVisible).toString());
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
console.error('Error moving slides:', error);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
updateNavButtons() {
|
|
245
|
+
if (!this.showCarouselButtons)
|
|
246
|
+
return;
|
|
247
|
+
const isFirstSlide = this.currentSlide === 0;
|
|
248
|
+
const isLastSlide = this.currentSlide === this.totalSlides - 1;
|
|
249
|
+
if (this.prevButton) {
|
|
250
|
+
this.prevButton.classList.toggle('invisible', isFirstSlide && !this.showFirstSlidePrevButton);
|
|
251
|
+
this.prevButton.dataset.show = isFirstSlide ? `${this.showFirstSlidePrevButton}` : 'true';
|
|
252
|
+
}
|
|
253
|
+
if (this.nextButton) {
|
|
254
|
+
this.nextButton.classList.toggle('invisible', isLastSlide && !this.showLastSlideNextButton);
|
|
255
|
+
this.nextButton.dataset.show = isLastSlide ? `${this.showLastSlideNextButton}` : 'true';
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
nextSlide() {
|
|
259
|
+
if (this.currentSlide >= this.totalSlides - 1) {
|
|
260
|
+
this.currentSlide = 0;
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
this.currentSlide++;
|
|
264
|
+
}
|
|
265
|
+
this.moveSlides();
|
|
266
|
+
this.updateNavButtons();
|
|
267
|
+
}
|
|
268
|
+
prevSlide() {
|
|
269
|
+
if (this.currentSlide <= 0) {
|
|
270
|
+
this.currentSlide = this.totalSlides - 1;
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
this.currentSlide--;
|
|
274
|
+
}
|
|
275
|
+
this.moveSlides();
|
|
276
|
+
this.updateNavButtons();
|
|
277
|
+
}
|
|
278
|
+
render() {
|
|
279
|
+
return (h(Host, { key: 'c80db60a09f02cfeec55338910211c5a27ebedab' }, h("div", { key: '836a9635ebfbadddadfececd8e7f1f94f355f89b', class: "pn-marketweb-carousel" }, h("section", { key: '838b05eb1e8db65b84011b16ba7409dcf23b5eb3', class: "slider-wrapper" }, this.showCarouselButtons && (h("div", { key: '3a3fe23b4a586f047b5391b5b8406e02884d1620', class: "nav-buttons", role: "group", "aria-label": this.ariaNavigationLabel }, h("pn-button", { key: '9d47e97795ad23bf118b54e2e72730e1819b9d3b', appearance: "light", icon: arrow_left, "icon-only": "true", tooltip: this.previousButtonLabel, class: `nav-button ${this.currentSlide === 0 && !this.showFirstSlidePrevButton ? 'invisible' : ''}`, "data-nav-button-prev": true, "area-label": this.previousButtonLabel, "aria-disabled": this.currentSlide === 0 && !this.showFirstSlidePrevButton }), h("pn-button", { key: '58e1c0363129d693f052ec59bd1a3b427db9bc56', appearance: "light", icon: arrow_right, "icon-only": "true", tooltip: this.nextButtonLabel, class: "nav-button", "data-nav-button-next": true, "area-label": this.nextButtonLabel, "aria-disabled": this.currentSlide === this.totalSlides - 1 && !this.showLastSlideNextButton }))), this.slidesData && (h("ul", { key: '1c942f7d043a65e1b73a1bec69fbfdc3691c92f7', class: "slides-container", "data-slides-container": true, "data-partial": this.slidesToShow === 1 ? 'false' : 'true', "aria-live": "polite", style: { display: 'flex', transform: 'none' } }, this.slidesData.map((slide, index) => (h("li", { class: "slide", "data-slide": true, innerHTML: slide, style: { width: this.slideWidth + '%' }, "aria-hidden": index !== this.currentSlide })))))))));
|
|
280
|
+
}
|
|
281
|
+
static get is() { return "pn-marketweb-carousel"; }
|
|
282
|
+
static get originalStyleUrls() {
|
|
283
|
+
return {
|
|
284
|
+
"$": ["pn-marketweb-carousel.scss"]
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
static get styleUrls() {
|
|
288
|
+
return {
|
|
289
|
+
"$": ["pn-marketweb-carousel.css"]
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
static get properties() {
|
|
293
|
+
return {
|
|
294
|
+
"previousButtonLabel": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"mutable": false,
|
|
297
|
+
"complexType": {
|
|
298
|
+
"original": "string",
|
|
299
|
+
"resolved": "string",
|
|
300
|
+
"references": {}
|
|
301
|
+
},
|
|
302
|
+
"required": true,
|
|
303
|
+
"optional": false,
|
|
304
|
+
"docs": {
|
|
305
|
+
"tags": [],
|
|
306
|
+
"text": ""
|
|
307
|
+
},
|
|
308
|
+
"attribute": "previous-button-label",
|
|
309
|
+
"reflect": false
|
|
310
|
+
},
|
|
311
|
+
"nextButtonLabel": {
|
|
312
|
+
"type": "string",
|
|
313
|
+
"mutable": false,
|
|
314
|
+
"complexType": {
|
|
315
|
+
"original": "string",
|
|
316
|
+
"resolved": "string",
|
|
317
|
+
"references": {}
|
|
318
|
+
},
|
|
319
|
+
"required": true,
|
|
320
|
+
"optional": false,
|
|
321
|
+
"docs": {
|
|
322
|
+
"tags": [],
|
|
323
|
+
"text": ""
|
|
324
|
+
},
|
|
325
|
+
"attribute": "next-button-label",
|
|
326
|
+
"reflect": false
|
|
327
|
+
},
|
|
328
|
+
"ariaNavigationLabel": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"mutable": false,
|
|
331
|
+
"complexType": {
|
|
332
|
+
"original": "string",
|
|
333
|
+
"resolved": "string",
|
|
334
|
+
"references": {}
|
|
335
|
+
},
|
|
336
|
+
"required": true,
|
|
337
|
+
"optional": false,
|
|
338
|
+
"docs": {
|
|
339
|
+
"tags": [],
|
|
340
|
+
"text": ""
|
|
341
|
+
},
|
|
342
|
+
"attribute": "aria-navigation-label",
|
|
343
|
+
"reflect": false
|
|
344
|
+
},
|
|
345
|
+
"source": {
|
|
346
|
+
"type": "string",
|
|
347
|
+
"mutable": false,
|
|
348
|
+
"complexType": {
|
|
349
|
+
"original": "string",
|
|
350
|
+
"resolved": "string",
|
|
351
|
+
"references": {}
|
|
352
|
+
},
|
|
353
|
+
"required": true,
|
|
354
|
+
"optional": false,
|
|
355
|
+
"docs": {
|
|
356
|
+
"tags": [],
|
|
357
|
+
"text": ""
|
|
358
|
+
},
|
|
359
|
+
"attribute": "source",
|
|
360
|
+
"reflect": false
|
|
361
|
+
},
|
|
362
|
+
"slidesToShow": {
|
|
363
|
+
"type": "number",
|
|
364
|
+
"mutable": false,
|
|
365
|
+
"complexType": {
|
|
366
|
+
"original": "number",
|
|
367
|
+
"resolved": "number",
|
|
368
|
+
"references": {}
|
|
369
|
+
},
|
|
370
|
+
"required": false,
|
|
371
|
+
"optional": false,
|
|
372
|
+
"docs": {
|
|
373
|
+
"tags": [],
|
|
374
|
+
"text": ""
|
|
375
|
+
},
|
|
376
|
+
"attribute": "slides-to-show",
|
|
377
|
+
"reflect": false,
|
|
378
|
+
"defaultValue": "1"
|
|
379
|
+
},
|
|
380
|
+
"showCarouselButtons": {
|
|
381
|
+
"type": "boolean",
|
|
382
|
+
"mutable": false,
|
|
383
|
+
"complexType": {
|
|
384
|
+
"original": "boolean",
|
|
385
|
+
"resolved": "boolean",
|
|
386
|
+
"references": {}
|
|
387
|
+
},
|
|
388
|
+
"required": false,
|
|
389
|
+
"optional": false,
|
|
390
|
+
"docs": {
|
|
391
|
+
"tags": [],
|
|
392
|
+
"text": ""
|
|
393
|
+
},
|
|
394
|
+
"attribute": "show-carousel-buttons",
|
|
395
|
+
"reflect": false,
|
|
396
|
+
"defaultValue": "true"
|
|
397
|
+
},
|
|
398
|
+
"showFirstSlidePrevButton": {
|
|
399
|
+
"type": "boolean",
|
|
400
|
+
"mutable": false,
|
|
401
|
+
"complexType": {
|
|
402
|
+
"original": "boolean",
|
|
403
|
+
"resolved": "boolean",
|
|
404
|
+
"references": {}
|
|
405
|
+
},
|
|
406
|
+
"required": false,
|
|
407
|
+
"optional": false,
|
|
408
|
+
"docs": {
|
|
409
|
+
"tags": [],
|
|
410
|
+
"text": ""
|
|
411
|
+
},
|
|
412
|
+
"attribute": "show-first-slide-prev-button",
|
|
413
|
+
"reflect": false,
|
|
414
|
+
"defaultValue": "false"
|
|
415
|
+
},
|
|
416
|
+
"showLastSlideNextButton": {
|
|
417
|
+
"type": "boolean",
|
|
418
|
+
"mutable": false,
|
|
419
|
+
"complexType": {
|
|
420
|
+
"original": "boolean",
|
|
421
|
+
"resolved": "boolean",
|
|
422
|
+
"references": {}
|
|
423
|
+
},
|
|
424
|
+
"required": false,
|
|
425
|
+
"optional": false,
|
|
426
|
+
"docs": {
|
|
427
|
+
"tags": [],
|
|
428
|
+
"text": ""
|
|
429
|
+
},
|
|
430
|
+
"attribute": "show-last-slide-next-button",
|
|
431
|
+
"reflect": false,
|
|
432
|
+
"defaultValue": "false"
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
static get states() {
|
|
437
|
+
return {
|
|
438
|
+
"slidesData": {},
|
|
439
|
+
"currentSlide": {},
|
|
440
|
+
"isDragging": {},
|
|
441
|
+
"slideWidth": {}
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
static get methods() {
|
|
445
|
+
return {
|
|
446
|
+
"goToSlide": {
|
|
447
|
+
"complexType": {
|
|
448
|
+
"signature": "(index: number) => Promise<void>",
|
|
449
|
+
"parameters": [{
|
|
450
|
+
"name": "index",
|
|
451
|
+
"type": "number",
|
|
452
|
+
"docs": ""
|
|
453
|
+
}],
|
|
454
|
+
"references": {
|
|
455
|
+
"Promise": {
|
|
456
|
+
"location": "global",
|
|
457
|
+
"id": "global::Promise"
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
"return": "Promise<void>"
|
|
461
|
+
},
|
|
462
|
+
"docs": {
|
|
463
|
+
"text": "",
|
|
464
|
+
"tags": []
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
"getCurrentSlide": {
|
|
468
|
+
"complexType": {
|
|
469
|
+
"signature": "() => Promise<number>",
|
|
470
|
+
"parameters": [],
|
|
471
|
+
"references": {
|
|
472
|
+
"Promise": {
|
|
473
|
+
"location": "global",
|
|
474
|
+
"id": "global::Promise"
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
"return": "Promise<number>"
|
|
478
|
+
},
|
|
479
|
+
"docs": {
|
|
480
|
+
"text": "",
|
|
481
|
+
"tags": []
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
static get elementRef() { return "hostElement"; }
|
|
487
|
+
static get watchers() {
|
|
488
|
+
return [{
|
|
489
|
+
"propName": "source",
|
|
490
|
+
"methodName": "handleSourceChange"
|
|
491
|
+
}];
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
//# sourceMappingURL=pn-marketweb-carousel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pn-marketweb-carousel.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, Element, State, h, Watch, Method } from '@stencil/core';\nimport { arrow_left, arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n\ninterface CarouselData {\n slides: string[];\n}\n\ninterface EventListenerConfig {\n element: HTMLElement;\n event: string;\n handler: EventListener;\n}\n\n@Component({\n tag: 'pn-marketweb-carousel',\n styleUrl: 'pn-marketweb-carousel.scss',\n})\nexport class PnMarketwebCarousel {\n private static readonly DEFAULTS = {\n SWIPE_THRESHOLD_PX: 50,\n ANIMATION_DURATION_MS: 300,\n OVERSCROLL_LIMIT_PERCENT: 30,\n } as const;\n\n @Element() private hostElement!: HTMLElement;\n\n @Prop() previousButtonLabel!: string;\n @Prop() nextButtonLabel!: string;\n @Prop() ariaNavigationLabel!: string;\n @Prop() source!: string;\n @Prop() slidesToShow: number = 1;\n @Prop() showCarouselButtons: boolean = true;\n @Prop() showFirstSlidePrevButton: boolean = false;\n @Prop() showLastSlideNextButton: boolean = false;\n\n @State() private slidesData: string[] = [];\n @State() private currentSlide: number = 0;\n @State() private isDragging: boolean = false;\n @State() private slideWidth: number = 0;\n\n private slides: NodeListOf<HTMLElement> | null = null;\n private slidesContainer: HTMLElement | null = null;\n private totalSlides: number = 0;\n private prevButton: HTMLElement | null = null;\n private nextButton: HTMLElement | null = null;\n private dragStartX: number = 0;\n private listeners: EventListenerConfig[] = [];\n private memoizedSlideWidth: number | null = null;\n\n componentWillLoad(): void {\n this.setInitialValues();\n }\n\n componentDidLoad(): void {\n this.setupCarousel();\n window.addEventListener('resize', this.handleResize);\n }\n\n disconnectedCallback(): void {\n this.cleanup();\n window.removeEventListener('resize', this.handleResize);\n }\n\n @Method()\n async goToSlide(index: number): Promise<void> {\n if (index >= 0 && index < this.totalSlides) {\n this.currentSlide = index;\n this.moveSlides();\n this.updateNavButtons();\n }\n }\n\n @Method()\n async getCurrentSlide(): Promise<number> {\n return this.currentSlide;\n }\n\n @Watch('source')\n handleSourceChange(newValue: string): void {\n if (newValue) {\n this.setInitialValues();\n }\n }\n\n private setInitialValues(): void {\n if (!this.source?.trim()) {\n console.warn('No source provided for carousel');\n return;\n }\n\n try {\n const parsedData = JSON.parse(this.source) as CarouselData;\n\n if (!parsedData?.slides) {\n throw new Error('Invalid slides data structure');\n }\n\n if (Array.isArray(parsedData.slides)) {\n this.slidesData = parsedData.slides;\n this.showCarouselButtons = this.slidesData.length > 1;\n } else {\n throw new Error('Slides data is not an array');\n }\n } catch (error) {\n console.error('Error parsing carousel source:', error instanceof Error ? error.message : 'Unknown error');\n this.slidesData = [];\n }\n }\n\n private setupCarousel(): void {\n this.initializeElements();\n this.attachEventListeners();\n this.updateNavButtons();\n }\n\n private initializeElements(): void {\n this.slidesContainer = this.hostElement.querySelector<HTMLElement>('[data-slides-container]');\n this.slides = this.hostElement.querySelectorAll<HTMLElement>('[data-slide]');\n this.totalSlides = this.slides?.length ?? 0;\n\n if (this.showCarouselButtons) {\n this.prevButton = this.hostElement.querySelector<HTMLElement>('[data-nav-button-prev]');\n this.nextButton = this.hostElement.querySelector<HTMLElement>('[data-nav-button-next]');\n }\n\n this.slideWidth = 100 / this.slidesToShow;\n }\n\n private attachEventListeners(): void {\n if (!this.slidesContainer) return;\n\n const addListener = (element: HTMLElement, event: string, handler: EventListener, options?: AddEventListenerOptions) => {\n element.addEventListener(event, handler, options);\n this.listeners.push({ element, event, handler });\n };\n\n // Touch events\n addListener(this.slidesContainer, 'touchstart', this.handleTouchStart as EventListener, { passive: true });\n addListener(this.slidesContainer, 'touchmove', this.handleTouchMove as EventListener, { passive: false });\n addListener(this.slidesContainer, 'touchend', this.handleTouchEnd as EventListener, { passive: true });\n\n // Mouse events\n addListener(this.slidesContainer, 'mousedown', this.handleTouchStart as EventListener);\n addListener(this.slidesContainer, 'mousemove', this.handleTouchMove as EventListener);\n addListener(this.slidesContainer, 'mouseup', this.handleTouchEnd as EventListener);\n addListener(this.slidesContainer, 'mouseleave', this.handleTouchEnd as EventListener);\n\n if (this.showCarouselButtons) {\n this.nextButton && addListener(this.nextButton, 'click', this.handleNextClick);\n this.prevButton && addListener(this.prevButton, 'click', this.handlePrevClick);\n }\n }\n\n private cleanup(): void {\n this.listeners.forEach(({ element, event, handler }) => {\n element.removeEventListener(event, handler);\n });\n this.listeners = [];\n }\n\n private handleResize = (): void => {\n this.memoizedSlideWidth = null;\n };\n\n private getSlideWidth(): number {\n if (!this.memoizedSlideWidth && this.slidesContainer) {\n this.memoizedSlideWidth = this.slidesContainer.offsetWidth;\n }\n return this.memoizedSlideWidth ?? 0;\n }\n\n private handleNextClick = (e: Event): void => {\n e.stopPropagation();\n this.nextSlide();\n };\n\n private handlePrevClick = (e: Event): void => {\n e.stopPropagation();\n this.prevSlide();\n };\n\n private handleTouchStart = (e: TouchEvent | MouseEvent): void => {\n if ((e.target as HTMLElement).classList.contains('nav-button')) return;\n\n this.isDragging = true;\n this.dragStartX = 'touches' in e ? e.touches[0].clientX : e.clientX;\n };\n\n private handleTouchMove = (e: TouchEvent | MouseEvent): void => {\n if (!this.isDragging) return;\n\n if ('touches' in e) {\n e.preventDefault();\n }\n\n const currentPosition = 'touches' in e ? e.touches[0].clientX : e.clientX;\n const diff = currentPosition - this.dragStartX;\n const percentMove = (diff / this.getSlideWidth()) * 100;\n\n this.moveSlides(percentMove);\n };\n\n private handleTouchEnd = (e: TouchEvent | MouseEvent): void => {\n if (!this.isDragging) return;\n\n this.isDragging = false;\n\n const currentPosition = 'changedTouches' in e ? e.changedTouches[0].clientX : e.clientX;\n const diff = currentPosition - this.dragStartX;\n\n if (Math.abs(diff) > PnMarketwebCarousel.DEFAULTS.SWIPE_THRESHOLD_PX) {\n if (diff > 0 && this.currentSlide > 0) {\n this.currentSlide--;\n } else if (diff < 0 && this.currentSlide < this.totalSlides - 1) {\n this.currentSlide++;\n }\n }\n\n this.moveSlides();\n this.updateNavButtons();\n };\n\n private calculateProportionalTranslation(): number {\n // Calculate proportional translation based on slidesToShow\n return -200 + (this.slidesToShow - 1) * 100;\n }\n\n private moveSlides(extraTranslate: number = 0): void {\n if (!this.slides || !this.slidesContainer) {\n return;\n }\n\n try {\n this.slides.forEach((slide, index) => {\n if (slide) {\n // Set each slide's width\n slide.style.width = `${this.slideWidth}%`;\n\n let translation = 0;\n\n if (this.slidesToShow === 1) {\n // Full slide view\n translation = -100 * this.currentSlide;\n } else {\n // Partial slide view\n if (this.totalSlides === 2) {\n // Special case for 2 slides\n if (this.currentSlide === 1) {\n translation = -50; // Both slides move by -50%\n }\n } else {\n // 3 or more slides\n if (this.currentSlide === 1) {\n // Second slide showing - all slides move -100%\n translation = -100;\n } else if (this.currentSlide === 2) {\n // Third slide showing\n if (index === 0) {\n translation = -100; // First slide stays at -100%\n } else {\n // Calculate proportional translation\n translation = this.calculateProportionalTranslation();\n }\n }\n }\n }\n\n // Add any extra translation from dragging\n translation += extraTranslate;\n\n slide.style.transform = `translateX(${translation}%)`;\n slide.style.position = 'relative';\n\n // Update visibility for screen readers\n let isVisible;\n\n if (this.slidesToShow === 1) {\n isVisible = index === this.currentSlide;\n } else {\n isVisible =\n this.currentSlide === 0 || // First slide showing\n this.totalSlides === 2 || // Two slides - both visible\n (this.currentSlide === 1 && translation === -100) || // Second slide showing\n (this.currentSlide === 2 &&\n ((index === 0 && translation === -100) || // First slide still visible\n index > 0)); // Second and third slides visible\n }\n\n slide.setAttribute('aria-hidden', (!isVisible).toString());\n }\n });\n } catch (error) {\n console.error('Error moving slides:', error);\n }\n }\n\n private updateNavButtons(): void {\n if (!this.showCarouselButtons) return;\n\n const isFirstSlide = this.currentSlide === 0;\n const isLastSlide = this.currentSlide === this.totalSlides - 1;\n\n if (this.prevButton) {\n this.prevButton.classList.toggle('invisible', isFirstSlide && !this.showFirstSlidePrevButton);\n this.prevButton.dataset.show = isFirstSlide ? `${this.showFirstSlidePrevButton}` : 'true';\n }\n\n if (this.nextButton) {\n this.nextButton.classList.toggle('invisible', isLastSlide && !this.showLastSlideNextButton);\n this.nextButton.dataset.show = isLastSlide ? `${this.showLastSlideNextButton}` : 'true';\n }\n }\n\n private nextSlide(): void {\n if (this.currentSlide >= this.totalSlides - 1) {\n this.currentSlide = 0;\n } else {\n this.currentSlide++;\n }\n this.moveSlides();\n this.updateNavButtons();\n }\n\n private prevSlide(): void {\n if (this.currentSlide <= 0) {\n this.currentSlide = this.totalSlides - 1;\n } else {\n this.currentSlide--;\n }\n this.moveSlides();\n this.updateNavButtons();\n }\n\n render() {\n return (\n <Host>\n <div class=\"pn-marketweb-carousel\">\n <section class=\"slider-wrapper\">\n {this.showCarouselButtons && (\n <div class=\"nav-buttons\" role=\"group\" aria-label={this.ariaNavigationLabel}>\n <pn-button\n appearance=\"light\"\n icon={arrow_left}\n icon-only=\"true\"\n tooltip={this.previousButtonLabel}\n class={`nav-button ${this.currentSlide === 0 && !this.showFirstSlidePrevButton ? 'invisible' : ''}`}\n data-nav-button-prev\n area-label={this.previousButtonLabel}\n aria-disabled={this.currentSlide === 0 && !this.showFirstSlidePrevButton}>\n </pn-button>\n <pn-button\n appearance=\"light\"\n icon={arrow_right}\n icon-only=\"true\"\n tooltip={this.nextButtonLabel}\n class=\"nav-button\"\n data-nav-button-next\n area-label={this.nextButtonLabel}\n aria-disabled={this.currentSlide === this.totalSlides - 1 && !this.showLastSlideNextButton}>\n </pn-button>\n </div>\n )}\n {this.slidesData && (\n <ul\n class=\"slides-container\"\n data-slides-container\n data-partial={this.slidesToShow === 1 ? 'false' : 'true'}\n aria-live=\"polite\"\n style={{ display: 'flex', transform: 'none' }}\n >\n {this.slidesData.map((slide, index) => (\n <li class=\"slide\" data-slide innerHTML={slide} style={{ width: this.slideWidth + '%' }} aria-hidden={index !== this.currentSlide}></li>\n ))}\n </ul>\n )}\n </section>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createDocumentation, createComponent } from "../../../globals/documentation/story";
|
|
2
|
+
import docs from "./pn-marketweb-carousel-docs.json";
|
|
3
|
+
import * as colors from "pn-design-assets/pn-assets/colors";
|
|
4
|
+
const { argTypes, textContent } = createDocumentation(docs);
|
|
5
|
+
const styleSample = `
|
|
6
|
+
pn-marketweb-carousel {width: 400px }
|
|
7
|
+
.slider-wrapper { max-height: 400px; max-width: 400px }
|
|
8
|
+
.slides-container { height: calc(100vh - 2rem) }
|
|
9
|
+
.slide {padding: 2rem; }
|
|
10
|
+
|
|
11
|
+
.slide:nth-child(1) {
|
|
12
|
+
background-color: ${colors.blue400};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.slide:nth-child(2) {
|
|
16
|
+
background-color: ${colors.green500};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.slide:nth-child(3) {
|
|
20
|
+
background-color: ${colors.coral400};
|
|
21
|
+
margin: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.slide:nth-child(4) {
|
|
25
|
+
background-color: ${colors.orange400};
|
|
26
|
+
}`;
|
|
27
|
+
const meta = {
|
|
28
|
+
title: 'Components/Widgets/Market Web Carousel',
|
|
29
|
+
parameters: {
|
|
30
|
+
actions: {},
|
|
31
|
+
docs: {
|
|
32
|
+
description: {
|
|
33
|
+
story: textContent,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
args: {
|
|
38
|
+
nextButtonLabel: 'Next',
|
|
39
|
+
previousButtonLabel: 'Previous',
|
|
40
|
+
ariaNavigationLabel: 'Carousel Navigation',
|
|
41
|
+
source: `{ "slides": [
|
|
42
|
+
"<h2>Sample Heading</h2><p>Lorem ipsum dolor sit amet</p><p>Lorem ipsum dolor sit amet</p><p>Lorem ipsum dolor sit amet</p>",
|
|
43
|
+
"<h2>Custom Heading</h2><p>Lorem ipsum dolor sit amet</p>",
|
|
44
|
+
"<h3>Custom Heading</h3><p>Lorem ipsum dolor sit amet</p>"
|
|
45
|
+
]}`,
|
|
46
|
+
},
|
|
47
|
+
argTypes,
|
|
48
|
+
};
|
|
49
|
+
export default meta;
|
|
50
|
+
export const MarketWebCarousel = {
|
|
51
|
+
name: 'Carousel with full width slides',
|
|
52
|
+
render: args => {
|
|
53
|
+
const component = createComponent('pn-marketweb-carousel', args);
|
|
54
|
+
const customStyle = document.createElement('style');
|
|
55
|
+
customStyle.innerHTML = styleSample;
|
|
56
|
+
component.prepend(customStyle);
|
|
57
|
+
return component;
|
|
58
|
+
},
|
|
59
|
+
args: {},
|
|
60
|
+
};
|
|
61
|
+
export const MarketWebCarouselExample = {
|
|
62
|
+
name: 'Carousel with 1 slide',
|
|
63
|
+
render: MarketWebCarousel.render,
|
|
64
|
+
args: {
|
|
65
|
+
source: `{ "slides": [
|
|
66
|
+
"<h2>Sample Heading</h2><p>Sample Body</p>"
|
|
67
|
+
]}`,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
export const MarketWebCarouselExample2 = {
|
|
71
|
+
name: 'Carousel with multiple slides, 1.5 slides visible',
|
|
72
|
+
render: MarketWebCarousel.render,
|
|
73
|
+
args: {
|
|
74
|
+
source: `{ "slides": [
|
|
75
|
+
"<h2>Sample Heading</h2><p>Lorem ipsum</p>",
|
|
76
|
+
"<h2>Sample Heading</h2><p>Dolor sit amet</p>",
|
|
77
|
+
"<h2>Sample Heading</h2><p>Dolor sit amet</p>"
|
|
78
|
+
]}`,
|
|
79
|
+
slidesToShow: 1.5, // could be 1.25, 1.35, 1.45 or similar
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=pn-marketweb-carousel.stories.js.map
|
package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pn-marketweb-carousel.stories.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,IAAI,MAAM,mCAAmC,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAC;AAE5D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAE5D,MAAM,WAAW,GAAG;;;;;;;wBAOI,MAAM,CAAC,OAAO;;;;wBAId,MAAM,CAAC,QAAQ;;;;wBAIf,MAAM,CAAC,QAAQ;;;;;wBAKf,MAAM,CAAC,SAAS;IACpC,CAAC;AAEL,MAAM,IAAI,GAAyC;IACjD,KAAK,EAAE,wCAAwC;IAC/C,UAAU,EAAE;QACV,OAAO,EAAE,EAAE;QACX,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,WAAW;aACnB;SACF;KACF;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,MAAM;QACvB,mBAAmB,EAAE,UAAU;QAC/B,mBAAmB,EAAE,qBAAqB;QAC1C,MAAM,EAAE;;;;WAID;KACR;IACD,QAAQ;CACT,CAAC;AAIF,eAAe,IAAI,CAAC;AAEpB,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACtC,IAAI,EAAE,iCAAiC;IACvC,MAAM,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,SAAS,GAAG,eAAe,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpD,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACpC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAU;IAC7C,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,iBAAiB,CAAC,MAAM;IAChC,IAAI,EAAE;QACJ,MAAM,EAAE;;WAED;KACR;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAU;IAC9C,IAAI,EAAE,mDAAmD;IACzD,MAAM,EAAE,iBAAiB,CAAC,MAAM;IAChC,IAAI,EAAE;QACJ,MAAM,EAAE;;;;WAID;QACP,YAAY,EAAE,GAAG,EAAE,uCAAuC;KAC3D;CACF,CAAC","sourcesContent":["import type { Meta, StoryObj } from '@storybook/web-components';\n\nimport { createDocumentation, createComponent } from '@/globals/documentation/story';\nimport docs from './pn-marketweb-carousel-docs.json';\n\nimport * as colors from 'pn-design-assets/pn-assets/colors';\n\nconst { argTypes, textContent } = createDocumentation(docs);\n\nconst styleSample = `\n pn-marketweb-carousel {width: 400px }\n .slider-wrapper { max-height: 400px; max-width: 400px }\n .slides-container { height: calc(100vh - 2rem) }\n .slide {padding: 2rem; }\n\n .slide:nth-child(1) {\n background-color: ${colors.blue400};\n }\n\n .slide:nth-child(2) {\n background-color: ${colors.green500};\n }\n\n .slide:nth-child(3) {\n background-color: ${colors.coral400};\n margin: 0;\n }\n\n .slide:nth-child(4) {\n background-color: ${colors.orange400};\n }`;\n\nconst meta: Meta<HTMLPnMarketwebCarouselElement> = {\n title: 'Components/Widgets/Market Web Carousel',\n parameters: {\n actions: {},\n docs: {\n description: {\n story: textContent,\n },\n },\n },\n args: {\n nextButtonLabel: 'Next',\n previousButtonLabel: 'Previous',\n ariaNavigationLabel: 'Carousel Navigation',\n source: `{ \"slides\": [\n \"<h2>Sample Heading</h2><p>Lorem ipsum dolor sit amet</p><p>Lorem ipsum dolor sit amet</p><p>Lorem ipsum dolor sit amet</p>\",\n \"<h2>Custom Heading</h2><p>Lorem ipsum dolor sit amet</p>\",\n \"<h3>Custom Heading</h3><p>Lorem ipsum dolor sit amet</p>\"\n ]}`,\n },\n argTypes,\n};\n\ntype Story = StoryObj<HTMLPnMarketwebCarouselElement>;\n\nexport default meta;\n\nexport const MarketWebCarousel: Story = {\n name: 'Carousel with full width slides',\n render: args => {\n const component = createComponent('pn-marketweb-carousel', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n },\n args: {},\n};\n\nexport const MarketWebCarouselExample: Story = {\n name: 'Carousel with 1 slide',\n render: MarketWebCarousel.render,\n args: {\n source: `{ \"slides\": [\n \"<h2>Sample Heading</h2><p>Sample Body</p>\"\n ]}`,\n },\n};\n\nexport const MarketWebCarouselExample2: Story = {\n name: 'Carousel with multiple slides, 1.5 slides visible',\n render: MarketWebCarousel.render,\n args: {\n source: `{ \"slides\": [\n \"<h2>Sample Heading</h2><p>Lorem ipsum</p>\",\n \"<h2>Sample Heading</h2><p>Dolor sit amet</p>\",\n \"<h2>Sample Heading</h2><p>Dolor sit amet</p>\"\n ]}`,\n slidesToShow: 1.5, // could be 1.25, 1.35, 1.45 or similar\n },\n};\n"]}
|