@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 @@
|
|
|
1
|
+
{"version":3,"file":"pn-chat.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Host, Watch, Listen, Fragment } from '@stencil/core';\nimport { minus, close, arrow_right, talk_bubble, submit } from 'pn-design-assets/pn-assets/icons.js';\nimport { AgentMessage, BaseMessage, ButtonMessage, CardMessage, ChatMessage, ChatMessages, CustomerSegment, LinkMessage } from './types';\nimport { LocalStorageService } from '@/globals/LocalStorageService';\nimport { JSX } from 'react';\nimport { PnChatService } from './pn-chat.service';\nimport { translations } from './translations';\nimport type { Translationsi18n } from './types';\n\n@Component({\n tag: 'pn-chat',\n styleUrl: 'pn-chat.scss',\n})\nexport class PnChat {\n @Prop() endpoint!: string;\n @Prop() customerSegment!: CustomerSegment;\n @Prop() mainHeading: string = '';\n @Prop() relatedContentAriaLabel: string;\n @Prop() chatMinimizedAriaLabel: string;\n @Prop() chatOpenedAriaLabel: string;\n @Prop() minimizeChatAriaLabel: string;\n @Prop() closeChatAriaLabel: string;\n @Prop() openChatAriaLabel: string;\n @Prop() chatControlsAriaLabel: string;\n @Prop() chatMessagesAriaLabel: string;\n @Prop() sentMessageAriaLabel: string;\n @Prop() writeChatMessagePlaceholder: string;\n @Prop() waitingForAnswerLabel: string;\n @Prop() sendButtonText: string;\n @Prop() loadingText: string;\n @Prop() carouselSlidesToShow: number = 1;\n @Prop() messages: string;\n @Prop() language: string = 'sv';\n @Prop() market: string = 'se';\n @Prop() itemId?: string = '';\n @Prop() pnChatId: string = '00000000-0000-0000-0000-000000000000';\n @Prop() forceOpen: boolean = false;\n @Prop() isLoggedIn: boolean = false;\n\n @State() private message: string = '';\n @State() private messagesData: ChatMessages;\n @State() private isMinimized: boolean = true;\n @State() private isClosed: boolean = false;\n @State() private lastMessageId: string = '';\n @State() i18n: any;\n\n private chatId: string;\n\n private readonly _defaultChatId: string = '00000000-0000-0000-0000-000000000000';\n private readonly _defaultAlternativeChatId: string = '1';\n private readonly chatLocalStorageKey = 'sf-chat-state';\n private chatMessagesContainer?: HTMLElement;\n private chatRef?: HTMLDivElement;\n private inputRef?: HTMLInputElement;\n private storage: LocalStorageService = new LocalStorageService();\n private _chatService: PnChatService;\n private _chatSegment: string = \"#chat\";\n private _forceClose: boolean = false;\n\n componentWillLoad(): void {\n this._forceClose = false;\n this._chatService = new PnChatService(this.endpoint, this.market, this.language);\n this.messagesData = {\n header: {},\n messages: [],\n };\n\n let storageId = this.storage.get(this.chatLocalStorageKey);\n\n if (storageId && storageId.isLoggedIn === !this.isLoggedIn) {\n this.storage.remove(this.chatLocalStorageKey);\n }\n else if (storageId && storageId.chatId) {\n this.chatId = storageId?.chatId ?? this.chatId;\n }\n\n this.setTranslations();\n\n setInterval(() => {\n this.updateChat();\n }, 1500);\n }\n\n setTranslations() {\n if (this.language && translations[this.language]) {\n this.i18n = translations[this.language];\n }\n }\n\nprivate getTranslation(key: keyof Translationsi18n): string {\n const value = this[key];\n if (value === undefined || value === null || value === '') {\n return translations[this.language]?.[key] ?? translations['en'][key];\n }\n return value;\n}\n\n private async updateChat() {\n if (this.isMinimized || this.isClosed) {\n return;\n }\n\n let prevLastMessageId = this.lastMessageId;\n\n await this._chatService.fetchMessages(this.chatId, this.messagesData).then(newMessages => {\n this.lastMessageId = this._chatService.GetLastMessageId(newMessages?.messages, this.lastMessageId);\n let htmlCollection = document.getElementsByClassName('pn-chat-before');\n let elements = Array.from(htmlCollection);\n\n newMessages.messages.forEach(message => {\n elements.forEach(element => {\n if (message.content != null && (element.textContent.trim() === message.content.trim() || element.textContent.trim().includes(message.content.trim()))) {\n element.remove();\n }\n });\n this.renderMessage(message);\n });\n\n if (prevLastMessageId !== this.lastMessageId) {\n this._chatService.updateLastMessageId(this.chatId, this.lastMessageId);\n this.messagesData = newMessages;\n newMessages.messages.forEach(message => {\n this.renderMessage(message);\n });\n }\n });\n }\n\n private async setStartValues() {\n if (this._forceClose) {\n this._forceClose = false;\n return;\n }\n\n if ((!this.chatId || this.chatId === this._defaultChatId || this.chatId === this._defaultAlternativeChatId) && !this.isMinimized) {\n this.chatId = await this._chatService.startChat(this.pnChatId, this.itemId);\n this.storage.set(this.chatLocalStorageKey, { chatId: this.chatId, isLoggedIn: this.isLoggedIn });\n }\n\n if (this.chatId) {\n this.storage.set(this.chatLocalStorageKey, { chatId: this.chatId, isLoggedIn: this.isLoggedIn });\n await this.fetchMessages();\n this.lastMessageId = this._chatService.GetLastMessageId(this.messagesData.messages, this.lastMessageId);\n }\n }\n\n private async fetchMessages() {\n let newMessages = await this._chatService.fetchMessages(this.chatId, this.messagesData).then(newMessages => {\n this.lastMessageId = this._chatService.GetLastMessageId(this.messagesData.messages, this.lastMessageId);\n this.messagesData = newMessages;\n let htmlCollection = document.getElementsByClassName('pn-chat-before');\n let elements = Array.from(htmlCollection);\n\n newMessages.messages.forEach(message => {\n elements.forEach(element => {\n if (element.textContent.trim() === message.content.trim() || element.textContent.trim().includes(message.content.trim())) {\n element.remove();\n }\n });\n this.renderMessage(message);\n });\n return newMessages;\n });\n }\n\n private async handleSend() {\n if (!this.message?.trim()) {\n return;\n }\n\n let message = this.message;\n this.message = '';\n this.createBeforeElement(message);\n\n let responseId = await this._chatService.sendMessage(message, this.itemId, this.chatId, this.lastMessageId, 'Text');\n this.lastMessageId = responseId;\n this.lastMessageId = this._chatService.GetLastMessageId(this.messagesData.messages, this.lastMessageId);\n\n this.announceToScreenReader(this.getTranslation('sentMessageAriaLabel'));\n };\n\n private groupMessages(): JSX.Element[] {\n const result: JSX.Element[] = [];\n let currentCardGroup: CardMessage[] = [];\n\n const flushCardGroup = () => {\n if (currentCardGroup.length > 0) {\n const carouselData = {\n slides: currentCardGroup.map(card => {\n const cardHtml = `\n <pn-chat-message customerSegment=${this.customerSegment} data-card role=\"article\" category=${card.category}>\n <h2 class=\"card-heading\">${card.heading}</h2>\n <p>${card.content}</p>\n ${card.buttons\n ?.map(\n button => `\n <pn-button\n href=\"${button.href}\"\n class=\"${button.class}\"\n appearance=\"${button.appearance}\"\n variant=\"${button.variant}\"\n small=\"${button.small}\"\n role=\"button\"\n >\n ${button.content}\n </pn-button>\n `,\n )\n .join('') || ''\n }\n </pn-chat-message>\n `;\n return cardHtml;\n }),\n };\n result.push(\n <pn-marketweb-carousel\n class=\"card-container\"\n nextButtonLabel=\"Next\"\n previousButtonLabel=\"Previous\"\n ariaNavigationLabel={this.getTranslation('relatedContentAriaLabel')}\n slidesToShow={this.carouselSlidesToShow}\n source={JSON.stringify(carouselData)}\n ></pn-marketweb-carousel>,\n );\n currentCardGroup = [];\n }\n };\n\n this.messagesData.messages.forEach((message, index) => {\n if (message.category === 'Card') {\n currentCardGroup.push(message as CardMessage);\n\n if (index === this.messagesData.messages.length - 1 || this.messagesData.messages[index + 1]?.category !== 'Card') {\n flushCardGroup();\n }\n } else {\n flushCardGroup();\n result.push(this.renderMessage(message));\n }\n });\n\n return result;\n }\n\n private handleKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Enter' && this.message.trim()) {\n event.preventDefault();\n this.handleSend();\n }\n };\n\n private handleSendMessage = (event: MouseEvent) => {\n if (this.message.trim()) {\n event.preventDefault();\n this.handleSend();\n }\n }\n\n private handleButtonKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n (event.target as HTMLElement).click();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.isMinimized && !this.isClosed) {\n this.toggleChat();\n }\n }\n\n @Watch('messages')\n handleMessagesChange(newMessage: string): void {\n if (newMessage) {\n this.handleSend();\n }\n }\n\n @Watch('pnChatId')\n handleNewChatId() {\n this.chatId = this.pnChatId === this._defaultAlternativeChatId ? this._defaultChatId : this.pnChatId;\n this.messagesData.messages = [];\n this.isMinimized = false;\n this.setStartValues();\n }\n\n @Watch('forceOpen')\n handleSameChatId() {\n this.isMinimized = false;\n }\n\n @Watch('isMinimized')\n scrollToBottom() {\n const observer = new MutationObserver((_, obs) => {\n const chatMain = document.getElementById('chat-main');\n if (chatMain) {\n setTimeout(() => {\n chatMain.scrollTo({\n top: chatMain.scrollHeight,\n behavior: 'smooth'\n });\n }, 500)\n obs.disconnect();\n }\n });\n observer.observe(document.body, { childList: true, subtree: true, });\n }\n\n private closeChat = () => {\n this._forceClose = true;\n this.storage.remove(this.chatLocalStorageKey);\n this.chatId = null;\n this.pnChatId = this._defaultChatId;\n let chatElement = document.getElementsByTagName('pn-chat')[0];\n chatElement.setAttribute('item-id', '');\n\n let hasActiveShipmentInUrl = window.location.href.includes(this._chatSegment);\n if (hasActiveShipmentInUrl) {\n this.isMinimized = !this.isMinimized;\n this.announceToScreenReader(this.isMinimized ? this.getTranslation('chatMinimizedAriaLabel') : this.getTranslation('chatOpenedAriaLabel'));\n document.body.classList.toggle('chat-open');\n window.location.href = window.location.href.split(this._chatSegment)[0];\n }\n else {\n this._forceClose = false;\n this.toggleChat();\n }\n }\n\n private toggleChat = () => {\n this.isMinimized = !this.isMinimized;\n this.announceToScreenReader(this.isMinimized ? this.getTranslation('chatMinimizedAriaLabel') : this.getTranslation('chatOpenedAriaLabel'));\n document.body.classList.toggle('chat-open');\n\n if (!this.isMinimized && !this.chatId) {\n this.setStartValues();\n }\n };\n\n private announceToScreenReader(message: string) {\n const announcement = document.createElement('div');\n announcement.setAttribute('role', 'status');\n announcement.setAttribute('aria-live', 'polite');\n announcement.classList.add('sr-only');\n announcement.textContent = message;\n document.body.appendChild(announcement);\n setTimeout(() => announcement.remove(), 1000);\n }\n\n private renderMessage(message: ChatMessage): JSX.Element {\n switch (message.category) {\n case 'Bot':\n return this.renderBaseMessage(message);\n case 'Button':\n return this.renderButtonMessage(message);\n case 'ButtonResponse':\n return this.renderBaseMessage(message);\n case 'Link':\n return this.renderLinkMessage(message);\n case 'Card':\n return this.renderCardMessage(message);\n case 'User':\n return this.renderBaseMessage(message);\n case 'Agent':\n return this.renderAgentMessage(message);\n case 'System':\n return this.renderBaseMessage(message);\n }\n }\n\n private renderBaseMessage(message: BaseMessage): JSX.Element {\n return (\n <pn-chat-message customerSegment={this.customerSegment} category={message.category} agentName='' role=\"log\" aria-live=\"polite\">\n {message.content}\n </pn-chat-message>\n );\n }\n\n private renderAgentMessage(message: AgentMessage): JSX.Element {\n return (\n <pn-chat-message customerSegment={this.customerSegment} category={message.category} agentName={message.agentName} role=\"log\" aria-live=\"polite\">\n {message.content}\n </pn-chat-message>\n );\n }\n\n private renderButtonMessage(message: ButtonMessage): JSX.Element {\n let props = {};\n\n if (message?.props) {\n try {\n props = JSON.parse(message.props);\n } catch (error) {\n console.error('Error parsing button props', error instanceof Error ? error.message : 'Unknown error');\n }\n }\n\n const handleClick = () => {\n if (props['data-action'] === 'minimize') {\n this.toggleChat();\n }\n if (props['dataAction'] === 'choice' && props['dataOptionChoice']) {\n (async () => {\n await this.handleSendChoice(props['dataOptionChoice'], message.content);\n })();\n }\n };\n\n return (\n <pn-chat-message customerSegment={this.customerSegment} category={message.category}>\n <pn-button class={message.class} role=\"button\" {...props} onClick={handleClick} onKeyDown={e => this.handleButtonKeyDown(e)}>\n {message.content}\n </pn-button>\n </pn-chat-message>\n );\n }\n\n private createBeforeElement(content: string) {\n const targetElement = this.chatMessagesContainer;\n const chatMessage = document.createElement('pn-chat-message');\n chatMessage.setAttribute('customerSegment', this.customerSegment);\n chatMessage.setAttribute('category', 'User');\n chatMessage.classList.add('pn-chat-before');\n chatMessage.textContent = content;\n\n targetElement.appendChild(chatMessage);\n this.scrollToBottom();\n chatMessage.scrollIntoView();\n }\n\n private async handleSendChoice(choiceId: string, content: string) {\n this.createBeforeElement(content);\n\n let responseId = await this._chatService.sendMessage(choiceId, this.itemId, this.chatId, this.lastMessageId, 'Choice');\n this.lastMessageId = responseId;\n this.lastMessageId = this._chatService.GetLastMessageId(this.messagesData.messages, this.lastMessageId);\n\n this.announceToScreenReader(this.getTranslation('sentMessageAriaLabel'));\n }\n\n private renderLinkMessage(message: LinkMessage): JSX.Element {\n return (\n <pn-chat-message customerSegment={this.customerSegment} category={message.category}>\n <a href={message.href} role=\"link\" rel=\"noopener noreferrer\">\n <span class=\"content\">{message.content}</span>\n <pn-icon icon={arrow_right} color=\"blue700\" aria-hidden=\"true\" role=\"presentation\" />\n </a>\n </pn-chat-message>\n );\n }\n\n private renderCardMessage(message: CardMessage): JSX.Element {\n return (\n <pn-chat-message customerSegment={this.customerSegment} category={message.category} data-card role=\"article\">\n <h2 class=\"card-heading\">{message.heading}</h2>\n <p>{message.content}</p>\n {message.buttons && (\n <div class=\"cta\">\n {message.buttons?.map(button => (\n <pn-button\n href={button.href}\n class={button.class}\n appearance={button.appearance}\n variant={button.variant}\n small={button.small}\n role=\"button\"\n onKeyDown={e => this.handleButtonKeyDown(e)}\n >\n {button.content}\n </pn-button>\n ))}\n </div>\n )}\n </pn-chat-message>\n );\n }\n\n render() {\n const mainId = 'chat-main';\n const inputId = 'chat-input';\n const headerButton = this.messagesData?.header.button;\n\n return (\n <Host class={this.customerSegment}>\n {!this.isClosed && this.messagesData && (\n <div\n class={`pn-chat ${this.isMinimized ? 'minimized' : ''} ${this.isClosed ? 'closed' : ''}`}\n ref={el => (this.chatRef = el as HTMLDivElement)}\n role=\"region\"\n aria-label={this.mainHeading}\n >\n {!this.isMinimized && (\n <Fragment>\n <header class=\"chat-header\" role=\"banner\">\n <h1 id=\"chat-title\">{this.mainHeading}</h1>\n <div class=\"chat-controls\" role=\"toolbar\" aria-label={this.getTranslation('chatControlsAriaLabel')}>\n <pn-button\n icon={minus}\n icon-only=\"true\"\n class=\"minimize-btn\"\n onClick={this.toggleChat}\n aria-expanded={!this.isMinimized}\n aria-controls={mainId}\n aria-label={this.getTranslation('minimizeChatAriaLabel')}\n variant=\"borderless\"\n tooltip={this.getTranslation('minimizeChatAriaLabel')}\n />\n <pn-button\n icon={close}\n icon-only=\"true\"\n class=\"close-btn\"\n onClick={this.closeChat}\n aria-expanded={!this.isMinimized}\n aria-label={this.getTranslation('closeChatAriaLabel')}\n variant=\"borderless\"\n tooltip={this.getTranslation('closeChatAriaLabel')}\n />\n </div>\n </header>\n {(this.messagesData?.messages?.length ?? 0) > 0 ?\n (<main id={mainId} class=\"chat-main\" role=\"main\" aria-labelledby=\"chat-title\">\n {this.messagesData.header && (\n <div class=\"chat-overview\">\n <div class=\"body\">{this.messagesData.header.body}</div>\n {headerButton && (\n <pn-button\n href={headerButton.href}\n class={headerButton.class}\n appearance={headerButton.appearance}\n variant={headerButton.variant}\n small={headerButton.small}\n role=\"button\"\n onKeyDown={e => this.handleButtonKeyDown(e)}\n >\n {headerButton.content}\n </pn-button>\n )}\n </div>\n )}\n <div ref={el => (this.chatMessagesContainer = el as HTMLElement)} class=\"chat-messages\" role=\"log\" aria-live=\"polite\" aria-label={this.getTranslation('chatMessagesAriaLabel')}>\n {this.groupMessages()}\n </div>\n <pn-icon\n class=\"indicator-icon\"\n aria-label={this.getTranslation('waitingForAnswerLabel')}\n role=\"presentation\"\n ></pn-icon>\n </main>)\n : (<main id={mainId} class=\"chat-main loading-chat-main\" role=\"main\" aria-labelledby=\"chat-title\">\n <div class=\"chat-loading-spinner\">\n <pn-spinner light=\"true\" size=\"1.5\"></pn-spinner>\n </div>\n <span class=\"chat-loading-content\">{this.getTranslation('loadingText')}</span>\n </main>)}\n <footer class=\"chat-footer\" role=\"contentinfo\">\n <div class=\"form\" role=\"form\" aria-labelledby={inputId}>\n <label htmlFor={inputId} class=\"sr-only\">\n {this.getTranslation('writeChatMessagePlaceholder')}\n </label>\n <div class=\"chat-input-container\">\n <input\n id={inputId}\n class=\"chat-text-input\"\n ref={el => (this.inputRef = el as HTMLInputElement)}\n type=\"text\"\n placeholder={this.getTranslation('writeChatMessagePlaceholder')}\n value={this.message}\n onInput={(e: Event) => (this.message = (e.target as HTMLInputElement).value)}\n onKeyPress={this.handleKeyPress}\n maxLength={3990}\n />\n {!this.message.trim() ? (\n <div\n class=\"chat-disabled-button\"\n role=\"button\"\n aria-label={this.getTranslation('sendButtonText')}\n aria-disabled=\"true\"\n tabIndex={-1}>\n <pn-icon color=\"gray400\" icon={submit}></pn-icon>\n </div>\n ) : (\n <pn-button\n icon-only=\"true\"\n variant=\"borderless\"\n appearance=\"light\"\n icon={submit}\n onClick={this.handleSendMessage}\n disabled={!this.message.trim()}\n aria-label={this.getTranslation('sendButtonText')}\n tooltip={this.getTranslation('sendButtonText')}>\n </pn-button>\n )}\n </div>\n </div>\n </footer>\n </Fragment>\n )}\n {this.isMinimized && (\n <pn-button\n icon={talk_bubble}\n icon-only=\"true\"\n class=\"open-chat-btn\"\n onClick={this.toggleChat}\n tooltip={this.getTranslation('openChatAriaLabel')}\n aria-label={this.getTranslation('openChatAriaLabel')}\n aria-expanded={!this.isMinimized}\n ></pn-button>\n )}\n </div>\n )}\n </Host>\n );\n }\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pn-chat.models.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.models.ts"],"names":[],"mappings":"","sourcesContent":["export interface ChatParameters {\n market: string;\n language: string;\n chatIdString: string;\n}\n\nexport interface ChatStartParameters extends ChatParameters {\n itemId: string;\n currentUrl: string;\n}\n\nexport interface ChatMessageParameters extends ChatParameters {\n itemId: string;\n content: string;\n currentUrl: string;\n}\n\nexport interface ChatUpdateParameters extends ChatParameters {\n latestMessageIdString: string;\n maxMillisecondsTimeOut: number;\n}\n\nexport interface ChatLastMessageParameters {\n latestMessageIdString: string;\n chatIdString: string;\n}\n"]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { FetchHelper } from "../../../globals/FetchHelper";
|
|
2
|
+
export class PnChatService {
|
|
3
|
+
_endpoint;
|
|
4
|
+
_market;
|
|
5
|
+
_language;
|
|
6
|
+
_currentUrl;
|
|
7
|
+
fetchHelper = new FetchHelper('PnChatService');
|
|
8
|
+
_startChatPath = `/api/sfchat/start-chat`;
|
|
9
|
+
_fetchChatMessagesPath = `/api/sfchat/get-conversation-entries`;
|
|
10
|
+
_sendTextPath = `/api/sfchat/send-text-message`;
|
|
11
|
+
_sendChoicePath = `/api/sfchat/send-choice-message`;
|
|
12
|
+
_updateLastMessagePath = `/api/sfchat/update-last-message-id`;
|
|
13
|
+
_hasNewMessagesPath = `/api/sfchat/has-new-messages`;
|
|
14
|
+
constructor(endpoint, market, language) {
|
|
15
|
+
this._endpoint = this.formatEndpoint(endpoint);
|
|
16
|
+
this._market = market;
|
|
17
|
+
this._language = language;
|
|
18
|
+
this._currentUrl = window.location.href;
|
|
19
|
+
}
|
|
20
|
+
async startChat(chatId, itemId) {
|
|
21
|
+
let model = {
|
|
22
|
+
market: this._market,
|
|
23
|
+
language: this._language,
|
|
24
|
+
chatIdString: chatId,
|
|
25
|
+
itemId: itemId,
|
|
26
|
+
currentUrl: this._currentUrl
|
|
27
|
+
};
|
|
28
|
+
const fetchUrl = this._endpoint + this._startChatPath;
|
|
29
|
+
const data = (await this.fetchHelper.fetchJson(fetchUrl, this.getRequestInit(model), false));
|
|
30
|
+
return this.handleResponse(data, chatId);
|
|
31
|
+
}
|
|
32
|
+
async fetchMessages(chatId, prevMessageData) {
|
|
33
|
+
if (!chatId) {
|
|
34
|
+
return prevMessageData;
|
|
35
|
+
}
|
|
36
|
+
let model = {
|
|
37
|
+
market: this._market,
|
|
38
|
+
language: this._language,
|
|
39
|
+
chatIdString: chatId
|
|
40
|
+
};
|
|
41
|
+
const fetchUrl = this._endpoint + this._fetchChatMessagesPath;
|
|
42
|
+
const data = (await this.fetchHelper.fetchJson(fetchUrl, this.getRequestInit(model), false));
|
|
43
|
+
if (!data) {
|
|
44
|
+
return prevMessageData;
|
|
45
|
+
}
|
|
46
|
+
return this.handleResponse(data, prevMessageData);
|
|
47
|
+
}
|
|
48
|
+
async sendMessage(content, itemId, chatId, lastMessageId, messageType) {
|
|
49
|
+
let newLatestMessageId;
|
|
50
|
+
switch (messageType) {
|
|
51
|
+
case 'Text':
|
|
52
|
+
newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);
|
|
53
|
+
break;
|
|
54
|
+
case 'Choice':
|
|
55
|
+
newLatestMessageId = await this.sendChoiceMessage(content, itemId, chatId, lastMessageId);
|
|
56
|
+
break;
|
|
57
|
+
default:
|
|
58
|
+
newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);
|
|
59
|
+
}
|
|
60
|
+
if (!newLatestMessageId) {
|
|
61
|
+
return lastMessageId;
|
|
62
|
+
}
|
|
63
|
+
if (newLatestMessageId.includes(",")) {
|
|
64
|
+
newLatestMessageId = newLatestMessageId.substring(newLatestMessageId.lastIndexOf(",") + 1);
|
|
65
|
+
}
|
|
66
|
+
return newLatestMessageId;
|
|
67
|
+
}
|
|
68
|
+
async updateLastMessageId(chatId, lastMessageId) {
|
|
69
|
+
let model = {
|
|
70
|
+
chatIdString: chatId,
|
|
71
|
+
latestMessageIdString: lastMessageId
|
|
72
|
+
};
|
|
73
|
+
const fetchUrl = this._endpoint + this._updateLastMessagePath;
|
|
74
|
+
await this.fetchHelper.fetchJson(fetchUrl, this.getRequestInit(model), false);
|
|
75
|
+
}
|
|
76
|
+
async hasNewMessages(itemId) {
|
|
77
|
+
let model = {
|
|
78
|
+
language: this._language,
|
|
79
|
+
market: this._market,
|
|
80
|
+
itemId: itemId,
|
|
81
|
+
chatIdString: "",
|
|
82
|
+
currentUrl: this._currentUrl
|
|
83
|
+
};
|
|
84
|
+
const fetchUrl = this._endpoint + this._hasNewMessagesPath;
|
|
85
|
+
let data = await this.fetchHelper.fetchJson(fetchUrl, this.getRequestInit(model), false);
|
|
86
|
+
if (!data) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return JSON.parse(data);
|
|
90
|
+
}
|
|
91
|
+
async sendTextMessage(content, itemId, chatId, defaultReturn) {
|
|
92
|
+
if (!chatId || !content) {
|
|
93
|
+
return defaultReturn;
|
|
94
|
+
}
|
|
95
|
+
let model = {
|
|
96
|
+
market: this._market,
|
|
97
|
+
language: this._language,
|
|
98
|
+
chatIdString: chatId,
|
|
99
|
+
content: content,
|
|
100
|
+
itemId: itemId,
|
|
101
|
+
currentUrl: this._currentUrl
|
|
102
|
+
};
|
|
103
|
+
const fetchUrl = this._endpoint + this._sendTextPath;
|
|
104
|
+
const data = (await this.fetchHelper.fetchJson(fetchUrl, this.getRequestInit(model), false));
|
|
105
|
+
return this.handleResponse(data, defaultReturn)?.id ?? defaultReturn;
|
|
106
|
+
}
|
|
107
|
+
async sendChoiceMessage(content, itemId, chatId, defaultReturn) {
|
|
108
|
+
if (!chatId || !content) {
|
|
109
|
+
return defaultReturn;
|
|
110
|
+
}
|
|
111
|
+
let model = {
|
|
112
|
+
market: this._market,
|
|
113
|
+
language: this._language,
|
|
114
|
+
chatIdString: chatId,
|
|
115
|
+
content: content,
|
|
116
|
+
itemId: itemId,
|
|
117
|
+
currentUrl: this._currentUrl
|
|
118
|
+
};
|
|
119
|
+
const fetchUrl = this._endpoint + this._sendChoicePath;
|
|
120
|
+
const data = (await this.fetchHelper.fetchJson(fetchUrl, this.getRequestInit(model), false));
|
|
121
|
+
return this.handleResponse(data, defaultReturn)?.id ?? defaultReturn;
|
|
122
|
+
}
|
|
123
|
+
formatEndpoint(endpoint) {
|
|
124
|
+
return endpoint.lastIndexOf('/') === endpoint.length - 1 ? endpoint.substring(0, endpoint.length - 1) : endpoint;
|
|
125
|
+
}
|
|
126
|
+
handleResponse(data, defaultReturn, checkForArray = false) {
|
|
127
|
+
if (!data) {
|
|
128
|
+
return defaultReturn;
|
|
129
|
+
}
|
|
130
|
+
let parsedData = JSON.parse(data);
|
|
131
|
+
if (!parsedData || checkForArray && !Array.isArray(parsedData)) {
|
|
132
|
+
return defaultReturn;
|
|
133
|
+
}
|
|
134
|
+
return parsedData;
|
|
135
|
+
}
|
|
136
|
+
getRequestInit(model, method = 'POST', mode = 'cors', contentTypes = 'application/json') {
|
|
137
|
+
return {
|
|
138
|
+
mode: mode,
|
|
139
|
+
method: method,
|
|
140
|
+
headers: {
|
|
141
|
+
'Content-Type': contentTypes,
|
|
142
|
+
'CustomValidateAntiForgeryToken': "01001101010001010100111101010111"
|
|
143
|
+
},
|
|
144
|
+
body: JSON.stringify(model)
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
GetLastMessageId(messages, lastMessageId) {
|
|
148
|
+
return messages?.at(-1)?.messageId ?? lastMessageId;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=pn-chat.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pn-chat.service.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { FetchHelper } from '@/globals/FetchHelper';\nimport { ChatMessage, ChatMessages, MessageType } from './types';\nimport { ChatParameters, ChatStartParameters, ChatMessageParameters, ChatUpdateParameters, ChatLastMessageParameters } from './pn-chat.models';\n\nexport class PnChatService {\n private readonly _endpoint;\n private readonly _market;\n private readonly _language;\n private readonly _currentUrl;\n private fetchHelper = new FetchHelper('PnChatService');\n private readonly _startChatPath = `/api/sfchat/start-chat`;\n private readonly _fetchChatMessagesPath = `/api/sfchat/get-conversation-entries`;\n private readonly _sendTextPath = `/api/sfchat/send-text-message`;\n private readonly _sendChoicePath = `/api/sfchat/send-choice-message`;\n private readonly _updateLastMessagePath = `/api/sfchat/update-last-message-id`;\n private readonly _hasNewMessagesPath = `/api/sfchat/has-new-messages`;\n\n constructor(endpoint: string, market: string, language: string) {\n this._endpoint = this.formatEndpoint(endpoint);\n this._market = market;\n this._language = language;\n this._currentUrl = window.location.href;\n }\n\n async startChat(chatId: string, itemId: string): Promise<string> {\n let model: ChatStartParameters = \n {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._startChatPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false\n )) as string;\n\n return this.handleResponse<string>(data, chatId);\n }\n\n async fetchMessages(chatId: string, prevMessageData: ChatMessages) : Promise<ChatMessages> {\n if (!chatId) {\n return prevMessageData;\n }\n\n let model: ChatParameters = {\n market: this._market,\n language: this._language,\n chatIdString: chatId\n };\n\n const fetchUrl = this._endpoint + this._fetchChatMessagesPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n if (!data) {\n return prevMessageData;\n }\n \n return this.handleResponse<ChatMessages>(data, prevMessageData);\n }\n\n async sendMessage(content : string, itemId : string, chatId: string, lastMessageId: string, messageType: MessageType) : Promise<string> {\n let newLatestMessageId;\n\n switch (messageType) {\n case 'Text':\n newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);\n break;\n case 'Choice':\n newLatestMessageId = await this.sendChoiceMessage(content, itemId, chatId, lastMessageId);\n break;\n default:\n newLatestMessageId = await this.sendTextMessage(content, itemId, chatId, lastMessageId);\n }\n\n if (!newLatestMessageId) {\n return lastMessageId;\n }\n\n if (newLatestMessageId.includes(\",\")) {\n newLatestMessageId = newLatestMessageId.substring(newLatestMessageId.lastIndexOf(\",\") + 1);\n }\n\n return newLatestMessageId;\n }\n\n async updateLastMessageId(chatId: string, lastMessageId: string) {\n let model: ChatLastMessageParameters = {\n chatIdString: chatId,\n latestMessageIdString: lastMessageId\n };\n\n const fetchUrl = this._endpoint + this._updateLastMessagePath;\n await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n );\n }\n\n async hasNewMessages(itemId : string) : Promise<boolean> {\n let model: ChatStartParameters = {\n language: this._language,\n market: this._market,\n itemId: itemId,\n chatIdString: \"\",\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._hasNewMessagesPath;\n let data = await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n ) as string;\n\n if (!data) {\n return false;\n }\n\n return JSON.parse(data) as boolean;\n }\n\n private async sendTextMessage(content : string, itemId : string, chatId: string, defaultReturn: string) : Promise<string> {\n if (!chatId || !content) {\n return defaultReturn;\n }\n\n let model: ChatMessageParameters = {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n content: content,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._sendTextPath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n return this.handleResponse<string>(data, defaultReturn)?.id ?? defaultReturn;\n }\n\n private async sendChoiceMessage(content : string, itemId : string, chatId: string, defaultReturn: string) : Promise<string> {\n if (!chatId || !content) {\n return defaultReturn;\n }\n\n let model: ChatMessageParameters = \n {\n market: this._market,\n language: this._language,\n chatIdString: chatId,\n content: content,\n itemId: itemId,\n currentUrl: this._currentUrl\n };\n\n const fetchUrl = this._endpoint + this._sendChoicePath;\n const data = (await this.fetchHelper.fetchJson(\n fetchUrl,\n this.getRequestInit(model),\n false,\n )) as string;\n\n return this.handleResponse<string>(data, defaultReturn)?.id ?? defaultReturn;\n }\n\n private formatEndpoint(endpoint: string) : string {\n return endpoint.lastIndexOf('/') === endpoint.length - 1 ? endpoint.substring(0, endpoint.length - 1) : endpoint;\n }\n\n private handleResponse<T>(data : any, defaultReturn : any, checkForArray: boolean = false) {\n if (!data) {\n return defaultReturn;\n }\n\n let parsedData = JSON.parse(data) as T;\n if (!parsedData || checkForArray && !Array.isArray(parsedData)) {\n return defaultReturn;\n }\n\n return parsedData;\n }\n \n private getRequestInit(model: any, method: string = 'POST', mode: RequestMode = 'cors', contentTypes: string = 'application/json'): RequestInit {\n return {\n mode: mode,\n method: method,\n headers: \n {\n 'Content-Type': contentTypes,\n 'CustomValidateAntiForgeryToken': \"01001101010001010100111101010111\"\n },\n body: JSON.stringify(model)\n };\n }\n\n GetLastMessageId(messages : ChatMessage[], lastMessageId : string) {\n return messages?.at(-1)?.messageId ?? lastMessageId;\n }\n}\n"]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { messageObjectReal, messagesObjectBusiness, messagesObjectPrivate, styleSample } from "./pn-chat-stories-constants";
|
|
2
|
+
import { createDocumentation, createComponent } from "../../../globals/documentation/story";
|
|
3
|
+
import docs from "./pn-chat-docs.json";
|
|
4
|
+
const { argTypes, textContent } = createDocumentation(docs);
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Components/Widgets/Chat',
|
|
7
|
+
parameters: {
|
|
8
|
+
actions: {},
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
story: textContent,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
args: {
|
|
16
|
+
endpoint: 'https://localhost:51547/chat',
|
|
17
|
+
language: 'sv',
|
|
18
|
+
customerSegment: 'Private',
|
|
19
|
+
mainHeading: 'PostNord Chat',
|
|
20
|
+
sendButtonText: 'Send',
|
|
21
|
+
relatedContentAriaLabel: 'Related',
|
|
22
|
+
chatMinimizedAriaLabel: 'Chat minimized',
|
|
23
|
+
chatOpenedAriaLabel: 'Chat opened',
|
|
24
|
+
minimizeChatAriaLabel: 'Minimize chat',
|
|
25
|
+
openChatAriaLabel: 'Open chat',
|
|
26
|
+
chatControlsAriaLabel: 'Navigation controls',
|
|
27
|
+
writeChatMessagePlaceholder: 'Write chat message',
|
|
28
|
+
chatMessagesAriaLabel: 'Chat messages',
|
|
29
|
+
sentMessageAriaLabel: 'Message sent',
|
|
30
|
+
waitingForAnswerLabel: 'Waiting for answer',
|
|
31
|
+
carouselSlidesToShow: 1.5,
|
|
32
|
+
loadingText: 'Loading chat',
|
|
33
|
+
messages: JSON.stringify(messagesObjectPrivate),
|
|
34
|
+
closeChatAriaLabel: "Close chat",
|
|
35
|
+
},
|
|
36
|
+
argTypes,
|
|
37
|
+
};
|
|
38
|
+
export default meta;
|
|
39
|
+
export const Chat = {
|
|
40
|
+
name: 'Chat - Private',
|
|
41
|
+
render: args => {
|
|
42
|
+
const component = createComponent('pn-chat', args);
|
|
43
|
+
return component;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
export const ChatBusiness = {
|
|
47
|
+
name: 'Chat - Business',
|
|
48
|
+
render: args => {
|
|
49
|
+
const component = createComponent('pn-chat', args);
|
|
50
|
+
const customStyle = document.createElement('style');
|
|
51
|
+
customStyle.innerHTML = styleSample;
|
|
52
|
+
component.prepend(customStyle);
|
|
53
|
+
return component;
|
|
54
|
+
},
|
|
55
|
+
args: {
|
|
56
|
+
customerSegment: 'Business',
|
|
57
|
+
messages: JSON.stringify(messagesObjectBusiness),
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
export const ChatRealSFIntegration = {
|
|
61
|
+
name: 'Chat - Real SF - integration',
|
|
62
|
+
render: args => {
|
|
63
|
+
const component = createComponent('pn-chat', args);
|
|
64
|
+
const customStyle = document.createElement('style');
|
|
65
|
+
customStyle.innerHTML = styleSample;
|
|
66
|
+
component.prepend(customStyle);
|
|
67
|
+
return component;
|
|
68
|
+
}, args: {
|
|
69
|
+
endpoint: 'https://se-inte.postnord.com/',
|
|
70
|
+
customerSegment: 'Private',
|
|
71
|
+
mainHeading: 'PostNord Chat real SF',
|
|
72
|
+
sendButtonText: 'Send',
|
|
73
|
+
relatedContentAriaLabel: 'Related',
|
|
74
|
+
chatMinimizedAriaLabel: 'Chat minimized',
|
|
75
|
+
chatOpenedAriaLabel: 'Chat opened',
|
|
76
|
+
minimizeChatAriaLabel: 'Minimize chat',
|
|
77
|
+
openChatAriaLabel: 'Open chat',
|
|
78
|
+
chatControlsAriaLabel: 'Navigation controls',
|
|
79
|
+
writeChatMessagePlaceholder: 'Write chat message',
|
|
80
|
+
chatMessagesAriaLabel: 'Chat messages',
|
|
81
|
+
sentMessageAriaLabel: 'Message sent',
|
|
82
|
+
waitingForAnswerLabel: 'Waiting for answer',
|
|
83
|
+
carouselSlidesToShow: 1.5,
|
|
84
|
+
loadingText: 'Loading chat',
|
|
85
|
+
messages: JSON.stringify(messageObjectReal)
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
export const ChatNoFakeResponse = {
|
|
89
|
+
name: 'Chat - super Empty, loading icon',
|
|
90
|
+
render: args => {
|
|
91
|
+
const component = createComponent('pn-chat', args);
|
|
92
|
+
const customStyle = document.createElement('style');
|
|
93
|
+
customStyle.innerHTML = styleSample;
|
|
94
|
+
component.prepend(customStyle);
|
|
95
|
+
return component;
|
|
96
|
+
},
|
|
97
|
+
args: {
|
|
98
|
+
messages: '',
|
|
99
|
+
endpoint: 'https://localhost:51547/',
|
|
100
|
+
customerSegment: 'Private',
|
|
101
|
+
mainHeading: 'PostNord Chat Loading icon',
|
|
102
|
+
sendButtonText: 'Send',
|
|
103
|
+
relatedContentAriaLabel: 'Related',
|
|
104
|
+
chatMinimizedAriaLabel: 'Chat minimized',
|
|
105
|
+
chatOpenedAriaLabel: 'Chat opened',
|
|
106
|
+
minimizeChatAriaLabel: 'Minimize chat',
|
|
107
|
+
openChatAriaLabel: 'Open chat',
|
|
108
|
+
chatControlsAriaLabel: 'Navigation controls',
|
|
109
|
+
writeChatMessagePlaceholder: 'Write chat message',
|
|
110
|
+
chatMessagesAriaLabel: 'Chat messages',
|
|
111
|
+
sentMessageAriaLabel: 'Message sent',
|
|
112
|
+
waitingForAnswerLabel: 'Waiting for answer',
|
|
113
|
+
loadingText: 'Loading chat',
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=pn-chat.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pn-chat.stories.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/pn-chat.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryObj } from '@storybook/web-components';\nimport { messageObjectReal, messagesObjectBusiness, messagesObjectPrivate, styleSample, messagesObjectEmpty } from './pn-chat-stories-constants'\nimport { createDocumentation, createComponent } from '@/globals/documentation/story';\nimport docs from './pn-chat-docs.json';\n\nconst { argTypes, textContent } = createDocumentation(docs);\n\nconst meta: Meta<HTMLPnChatElement> = {\n title: 'Components/Widgets/Chat',\n parameters: {\n actions: {},\n docs: {\n description: {\n story: textContent,\n },\n },\n },\n args: {\n endpoint: 'https://localhost:51547/chat',\n language: 'sv',\n customerSegment: 'Private',\n mainHeading: 'PostNord Chat',\n sendButtonText: 'Send',\n relatedContentAriaLabel: 'Related',\n chatMinimizedAriaLabel: 'Chat minimized',\n chatOpenedAriaLabel: 'Chat opened',\n minimizeChatAriaLabel: 'Minimize chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Navigation controls',\n writeChatMessagePlaceholder: 'Write chat message',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n waitingForAnswerLabel: 'Waiting for answer',\n carouselSlidesToShow: 1.5,\n loadingText: 'Loading chat',\n messages: JSON.stringify(messagesObjectPrivate),\n closeChatAriaLabel: \"Close chat\",\n },\n argTypes,\n};\n\ntype Story = StoryObj<HTMLPnChatElement>;\n\nexport default meta;\n\nexport const Chat: Story = {\n name: 'Chat - Private',\n render: args => {\n const component = createComponent('pn-chat', args);\n return component;\n },\n};\n\nexport const ChatBusiness: Story = {\n name: 'Chat - Business',\n render: args => {\n const component = createComponent('pn-chat', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n },\n args: {\n customerSegment: 'Business',\n messages: JSON.stringify(messagesObjectBusiness),\n },\n};\n\nexport const ChatRealSFIntegration: Story = {\n name: 'Chat - Real SF - integration',\n render: args => {\n const component = createComponent('pn-chat', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n }, args: {\n endpoint: 'https://se-inte.postnord.com/',\n customerSegment: 'Private',\n mainHeading: 'PostNord Chat real SF',\n sendButtonText: 'Send',\n relatedContentAriaLabel: 'Related',\n chatMinimizedAriaLabel: 'Chat minimized',\n chatOpenedAriaLabel: 'Chat opened',\n minimizeChatAriaLabel: 'Minimize chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Navigation controls',\n writeChatMessagePlaceholder: 'Write chat message',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n waitingForAnswerLabel: 'Waiting for answer',\n carouselSlidesToShow: 1.5,\n loadingText: 'Loading chat',\n messages: JSON.stringify(messageObjectReal)\n },\n};\n\nexport const ChatNoFakeResponse: Story = {\n name: 'Chat - super Empty, loading icon',\n render: args => {\n const component = createComponent('pn-chat', args);\n const customStyle = document.createElement('style');\n customStyle.innerHTML = styleSample;\n component.prepend(customStyle);\n return component;\n },\n args: {\n messages: '',\n endpoint: 'https://localhost:51547/',\n customerSegment: 'Private',\n mainHeading: 'PostNord Chat Loading icon',\n sendButtonText: 'Send',\n relatedContentAriaLabel: 'Related',\n chatMinimizedAriaLabel: 'Chat minimized',\n chatOpenedAriaLabel: 'Chat opened',\n minimizeChatAriaLabel: 'Minimize chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Navigation controls',\n writeChatMessagePlaceholder: 'Write chat message',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n waitingForAnswerLabel: 'Waiting for answer',\n loadingText: 'Loading chat',\n },\n};\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export const translations = {
|
|
2
|
+
'sv': {
|
|
3
|
+
relatedContentAriaLabel: 'Relaterat innehåll',
|
|
4
|
+
chatMinimizedAriaLabel: 'Chatten är minimerad',
|
|
5
|
+
chatOpenedAriaLabel: 'Chatten är öppen',
|
|
6
|
+
minimizeChatAriaLabel: 'Minimera chatten',
|
|
7
|
+
closeChatAriaLabel: 'Stäng chatten',
|
|
8
|
+
openChatAriaLabel: 'Öppna chatten',
|
|
9
|
+
chatControlsAriaLabel: 'Chattkontroller',
|
|
10
|
+
chatMessagesAriaLabel: 'Chattmeddelanden',
|
|
11
|
+
sentMessageAriaLabel: 'Meddelande skickat',
|
|
12
|
+
writeChatMessagePlaceholder: 'Skriv ett meddelande...',
|
|
13
|
+
waitingForAnswerLabel: 'Väntar på svar',
|
|
14
|
+
sendButtonText: 'Skicka',
|
|
15
|
+
loadingText: 'Laddar...',
|
|
16
|
+
},
|
|
17
|
+
'en': {
|
|
18
|
+
relatedContentAriaLabel: 'Related content',
|
|
19
|
+
chatMinimizedAriaLabel: 'Chat is minimized',
|
|
20
|
+
chatOpenedAriaLabel: 'Chat is open',
|
|
21
|
+
minimizeChatAriaLabel: 'Minimize chat',
|
|
22
|
+
closeChatAriaLabel: 'Close chat',
|
|
23
|
+
openChatAriaLabel: 'Open chat',
|
|
24
|
+
chatControlsAriaLabel: 'Chat controls',
|
|
25
|
+
chatMessagesAriaLabel: 'Chat messages',
|
|
26
|
+
sentMessageAriaLabel: 'Message sent',
|
|
27
|
+
writeChatMessagePlaceholder: 'Type a message...',
|
|
28
|
+
waitingForAnswerLabel: 'Waiting for answer',
|
|
29
|
+
sendButtonText: 'Send',
|
|
30
|
+
loadingText: 'Loading...',
|
|
31
|
+
},
|
|
32
|
+
'da': {
|
|
33
|
+
relatedContentAriaLabel: 'Relateret indhold',
|
|
34
|
+
chatMinimizedAriaLabel: 'Chatten er minimeret',
|
|
35
|
+
chatOpenedAriaLabel: 'Chatten er åben',
|
|
36
|
+
minimizeChatAriaLabel: 'Minimer chatten',
|
|
37
|
+
closeChatAriaLabel: 'Luk chatten',
|
|
38
|
+
openChatAriaLabel: 'Åbn chatten',
|
|
39
|
+
chatControlsAriaLabel: 'Chatkontroller',
|
|
40
|
+
chatMessagesAriaLabel: 'Chatbeskeder',
|
|
41
|
+
sentMessageAriaLabel: 'Besked sendt',
|
|
42
|
+
writeChatMessagePlaceholder: 'Skriv en besked...',
|
|
43
|
+
waitingForAnswerLabel: 'Venter på svar',
|
|
44
|
+
sendButtonText: 'Send',
|
|
45
|
+
loadingText: 'Indlæser...',
|
|
46
|
+
},
|
|
47
|
+
'no': {
|
|
48
|
+
relatedContentAriaLabel: 'Relatert innhold',
|
|
49
|
+
chatMinimizedAriaLabel: 'Chatten er minimert',
|
|
50
|
+
chatOpenedAriaLabel: 'Chatten er åpen',
|
|
51
|
+
minimizeChatAriaLabel: 'Minimer chatten',
|
|
52
|
+
closeChatAriaLabel: 'Lukk chatten',
|
|
53
|
+
openChatAriaLabel: 'Åpne chatten',
|
|
54
|
+
chatControlsAriaLabel: 'Chatkontroller',
|
|
55
|
+
chatMessagesAriaLabel: 'Chatmeldinger',
|
|
56
|
+
sentMessageAriaLabel: 'Melding sendt',
|
|
57
|
+
writeChatMessagePlaceholder: 'Skriv en melding...',
|
|
58
|
+
waitingForAnswerLabel: 'Venter på svar',
|
|
59
|
+
sendButtonText: 'Send',
|
|
60
|
+
loadingText: 'Laster...',
|
|
61
|
+
},
|
|
62
|
+
'fi': {
|
|
63
|
+
relatedContentAriaLabel: 'Aiheeseen liittyvä sisältö',
|
|
64
|
+
chatMinimizedAriaLabel: 'Keskustelu on pienennetty',
|
|
65
|
+
chatOpenedAriaLabel: 'Keskustelu on auki',
|
|
66
|
+
minimizeChatAriaLabel: 'Pienennä keskustelu',
|
|
67
|
+
closeChatAriaLabel: 'Sulje keskustelu',
|
|
68
|
+
openChatAriaLabel: 'Avaa keskustelu',
|
|
69
|
+
chatControlsAriaLabel: 'Keskustelun hallinta',
|
|
70
|
+
chatMessagesAriaLabel: 'Keskusteluviestit',
|
|
71
|
+
sentMessageAriaLabel: 'Viesti lähetetty',
|
|
72
|
+
writeChatMessagePlaceholder: 'Kirjoita viesti...',
|
|
73
|
+
waitingForAnswerLabel: 'Odotetaan vastausta',
|
|
74
|
+
sendButtonText: 'Lähetä',
|
|
75
|
+
loadingText: 'Ladataan...',
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=translations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/translations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE;QACJ,uBAAuB,EAAE,oBAAoB;QAC7C,sBAAsB,EAAE,sBAAsB;QAC9C,mBAAmB,EAAE,kBAAkB;QACvC,qBAAqB,EAAE,kBAAkB;QACzC,kBAAkB,EAAE,eAAe;QACnC,iBAAiB,EAAE,eAAe;QAClC,qBAAqB,EAAE,iBAAiB;QACxC,qBAAqB,EAAE,kBAAkB;QACzC,oBAAoB,EAAE,oBAAoB;QAC1C,2BAA2B,EAAE,yBAAyB;QACtD,qBAAqB,EAAE,gBAAgB;QACvC,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,WAAW;KACzB;IACD,IAAI,EAAE;QACJ,uBAAuB,EAAE,iBAAiB;QAC1C,sBAAsB,EAAE,mBAAmB;QAC3C,mBAAmB,EAAE,cAAc;QACnC,qBAAqB,EAAE,eAAe;QACtC,kBAAkB,EAAE,YAAY;QAChC,iBAAiB,EAAE,WAAW;QAC9B,qBAAqB,EAAE,eAAe;QACtC,qBAAqB,EAAE,eAAe;QACtC,oBAAoB,EAAE,cAAc;QACpC,2BAA2B,EAAE,mBAAmB;QAChD,qBAAqB,EAAE,oBAAoB;QAC3C,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,YAAY;KAC1B;IACD,IAAI,EAAE;QACJ,uBAAuB,EAAE,mBAAmB;QAC5C,sBAAsB,EAAE,sBAAsB;QAC9C,mBAAmB,EAAE,iBAAiB;QACtC,qBAAqB,EAAE,iBAAiB;QACxC,kBAAkB,EAAE,aAAa;QACjC,iBAAiB,EAAE,aAAa;QAChC,qBAAqB,EAAE,gBAAgB;QACvC,qBAAqB,EAAE,cAAc;QACrC,oBAAoB,EAAE,cAAc;QACpC,2BAA2B,EAAE,oBAAoB;QACjD,qBAAqB,EAAE,gBAAgB;QACvC,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,aAAa;KAC3B;IACD,IAAI,EAAE;QACJ,uBAAuB,EAAE,kBAAkB;QAC3C,sBAAsB,EAAE,qBAAqB;QAC7C,mBAAmB,EAAE,iBAAiB;QACtC,qBAAqB,EAAE,iBAAiB;QACxC,kBAAkB,EAAE,cAAc;QAClC,iBAAiB,EAAE,cAAc;QACjC,qBAAqB,EAAE,gBAAgB;QACvC,qBAAqB,EAAE,eAAe;QACtC,oBAAoB,EAAE,eAAe;QACrC,2BAA2B,EAAE,qBAAqB;QAClD,qBAAqB,EAAE,gBAAgB;QACvC,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,WAAW;KACzB;IACD,IAAI,EAAE;QACJ,uBAAuB,EAAE,4BAA4B;QACrD,sBAAsB,EAAE,2BAA2B;QACnD,mBAAmB,EAAE,oBAAoB;QACzC,qBAAqB,EAAE,qBAAqB;QAC5C,kBAAkB,EAAE,kBAAkB;QACtC,iBAAiB,EAAE,iBAAiB;QACpC,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB,EAAE,mBAAmB;QAC1C,oBAAoB,EAAE,kBAAkB;QACxC,2BAA2B,EAAE,oBAAoB;QACjD,qBAAqB,EAAE,qBAAqB;QAC5C,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,aAAa;KAC3B;CACF,CAAC","sourcesContent":["export const translations = {\n 'sv': {\n relatedContentAriaLabel: 'Relaterat innehåll',\n chatMinimizedAriaLabel: 'Chatten är minimerad',\n chatOpenedAriaLabel: 'Chatten är öppen',\n minimizeChatAriaLabel: 'Minimera chatten',\n closeChatAriaLabel: 'Stäng chatten',\n openChatAriaLabel: 'Öppna chatten',\n chatControlsAriaLabel: 'Chattkontroller',\n chatMessagesAriaLabel: 'Chattmeddelanden',\n sentMessageAriaLabel: 'Meddelande skickat',\n writeChatMessagePlaceholder: 'Skriv ett meddelande...',\n waitingForAnswerLabel: 'Väntar på svar',\n sendButtonText: 'Skicka',\n loadingText: 'Laddar...',\n },\n 'en': {\n relatedContentAriaLabel: 'Related content',\n chatMinimizedAriaLabel: 'Chat is minimized',\n chatOpenedAriaLabel: 'Chat is open',\n minimizeChatAriaLabel: 'Minimize chat',\n closeChatAriaLabel: 'Close chat',\n openChatAriaLabel: 'Open chat',\n chatControlsAriaLabel: 'Chat controls',\n chatMessagesAriaLabel: 'Chat messages',\n sentMessageAriaLabel: 'Message sent',\n writeChatMessagePlaceholder: 'Type a message...',\n waitingForAnswerLabel: 'Waiting for answer',\n sendButtonText: 'Send',\n loadingText: 'Loading...',\n },\n 'da': {\n relatedContentAriaLabel: 'Relateret indhold',\n chatMinimizedAriaLabel: 'Chatten er minimeret',\n chatOpenedAriaLabel: 'Chatten er åben',\n minimizeChatAriaLabel: 'Minimer chatten',\n closeChatAriaLabel: 'Luk chatten',\n openChatAriaLabel: 'Åbn chatten',\n chatControlsAriaLabel: 'Chatkontroller',\n chatMessagesAriaLabel: 'Chatbeskeder',\n sentMessageAriaLabel: 'Besked sendt',\n writeChatMessagePlaceholder: 'Skriv en besked...',\n waitingForAnswerLabel: 'Venter på svar',\n sendButtonText: 'Send',\n loadingText: 'Indlæser...',\n },\n 'no': {\n relatedContentAriaLabel: 'Relatert innhold',\n chatMinimizedAriaLabel: 'Chatten er minimert',\n chatOpenedAriaLabel: 'Chatten er åpen',\n minimizeChatAriaLabel: 'Minimer chatten',\n closeChatAriaLabel: 'Lukk chatten',\n openChatAriaLabel: 'Åpne chatten',\n chatControlsAriaLabel: 'Chatkontroller',\n chatMessagesAriaLabel: 'Chatmeldinger',\n sentMessageAriaLabel: 'Melding sendt',\n writeChatMessagePlaceholder: 'Skriv en melding...',\n waitingForAnswerLabel: 'Venter på svar',\n sendButtonText: 'Send',\n loadingText: 'Laster...',\n },\n 'fi': {\n relatedContentAriaLabel: 'Aiheeseen liittyvä sisältö',\n chatMinimizedAriaLabel: 'Keskustelu on pienennetty',\n chatOpenedAriaLabel: 'Keskustelu on auki',\n minimizeChatAriaLabel: 'Pienennä keskustelu',\n closeChatAriaLabel: 'Sulje keskustelu',\n openChatAriaLabel: 'Avaa keskustelu',\n chatControlsAriaLabel: 'Keskustelun hallinta',\n chatMessagesAriaLabel: 'Keskusteluviestit',\n sentMessageAriaLabel: 'Viesti lähetetty',\n writeChatMessagePlaceholder: 'Kirjoita viesti...',\n waitingForAnswerLabel: 'Odotetaan vastausta',\n sendButtonText: 'Lähetä',\n loadingText: 'Ladataan...',\n },\n};"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/widgets/pn-chat/types.ts"],"names":[],"mappings":"","sourcesContent":["import { PnButton } from '@/globals/types';\n\nexport type MessageCategory = 'Bot' | 'Link' | 'Button' | 'Card' | 'User' | 'ButtonResponse' | 'Agent' | 'System';\n\nexport interface BaseMessage {\n customerSegment: CustomerSegment;\n category: MessageCategory;\n content: string;\n messageId: string;\n}\n\nexport interface BotMessage extends BaseMessage {\n category: 'Bot';\n}\n\nexport interface AgentMessage extends BaseMessage {\n category: 'Agent';\n agentName: string;\n}\n\nexport interface SystemMessage extends BaseMessage {\n category: 'System';\n}\n\nexport interface ButtonMessage extends BaseMessage {\n category: 'Button';\n class?: string;\n props?: string;\n}\n\nexport interface ButtonResponseMessage extends BaseMessage {\n category: 'ButtonResponse';\n optionResponses: string[];\n}\n\nexport interface LinkMessage extends BaseMessage {\n category: 'Link';\n href: string;\n}\n\nexport interface CardMessage extends Omit<BaseMessage, 'content'> {\n category: 'Card';\n heading: string;\n content: string;\n buttons: PnButton[];\n}\n\nexport interface UserMessage extends BaseMessage {\n category: 'User';\n class?: string;\n}\n\nexport type ChatMessage = BotMessage | ButtonMessage | LinkMessage | CardMessage | UserMessage | ButtonResponseMessage | AgentMessage | SystemMessage;\n\ninterface ChatMessagesHeader {\n body?: string;\n button?: PnButton;\n}\nexport interface ChatMessages {\n header: ChatMessagesHeader;\n messages: ChatMessage[];\n}\n\nexport type CustomerSegment = 'Private' | 'Business' | string;\n\nexport type MessageType = 'Text' | 'Choice';\n\nexport interface Translationsi18n {\n relatedContentAriaLabel: string;\n chatMinimizedAriaLabel: string;\n chatOpenedAriaLabel: string;\n minimizeChatAriaLabel: string;\n closeChatAriaLabel: string;\n openChatAriaLabel: string;\n chatControlsAriaLabel: string;\n chatMessagesAriaLabel: string;\n sentMessageAriaLabel: string;\n writeChatMessagePlaceholder: string;\n waitingForAnswerLabel: string;\n sendButtonText: string;\n loadingText: string;\n}"]}
|
|
@@ -2,6 +2,31 @@ pn-button-dropdown .pn-button-dropdown > pn-button > .pn-button {
|
|
|
2
2
|
min-height: initial;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
+
.sr-only {
|
|
6
|
+
position: absolute;
|
|
7
|
+
width: 1px;
|
|
8
|
+
height: 1px;
|
|
9
|
+
padding: 0;
|
|
10
|
+
margin: -1px;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
clip: rect(0, 0, 0, 0);
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
border-width: 0;
|
|
15
|
+
}
|
|
16
|
+
@media screen and (max-width: 767px) {
|
|
17
|
+
.sr-only-mobile {
|
|
18
|
+
position: absolute;
|
|
19
|
+
width: 1px;
|
|
20
|
+
height: 1px;
|
|
21
|
+
padding: 0;
|
|
22
|
+
margin: -1px;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
clip: rect(0, 0, 0, 0);
|
|
25
|
+
white-space: nowrap;
|
|
26
|
+
border-width: 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
5
30
|
pn-find-price-result .test {
|
|
6
31
|
margin: 3em 0;
|
|
7
32
|
}
|
|
@@ -38,7 +38,7 @@ export class PnfindPriceResult {
|
|
|
38
38
|
this.shopId = showServicepointLink ? '-servicepoint' : '-stampshop';
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (h(Host, { key: '
|
|
41
|
+
return (h(Host, { key: '59f4be6bf01f3122234c85c78d4f9373dbe22131' }, h("pn-product-card", { key: '1d984dae6345bb05467989ef0705222d64e935fd', "data-productid": this.item.id }, h("pn-illustration", { key: 'f610a8204aaf096eeb09959913c0bafcb8dfe0f1', slot: "illustration", illustration: this.item.illustration }), h("div", { key: '45584134fe586e2f336c89162d1efd3124a49314', slot: "title" }, this.item.infopagelink ? (h("h2", null, h("a", { href: this.item.infopagelink, target: "_blank" }, this.item.name))) : (h("h2", null, this.item.name)), this.item.highestrankusp === 'Snabbast' ? (h("pn-titletag", { slot: "Snabbast", icon: bolt, color: "blue700" }, this.item.highestrankusp)) : this.item.highestrankusp === 'Billigast' ? (h("pn-titletag", { slot: "Billigast", icon: box_label, color: "green700" }, this.item.highestrankusp)) : null), h("div", { key: '524e826bdd0bcb6a5a56d3039ff6a4c1ee5f739c', slot: "content" }, h("div", { key: 'cb795559c19a0b54019dcf3cd8330a84082288b7', class: "content" }, this.item.description ? (h("div", { class: "description" }, this.description.map(desc => (h("li", null, desc))))) : null, this.item.info ? h("div", { class: "description" }, this.item.info) : null)), this.item.note ? (h("div", { slot: "note" }, h("p", null, this.item.note))) : null, this.item.additionalusp ? (h("div", { slot: "additionalUSP" }, this.Usp1 ? h("span", null, this.Usp1) : null, this.Usp2 ? h("span", null, this.Usp2) : null, this.Usp3 ? h("span", null, this.Usp3) : null)) : null, this.showMeasurement ? h("pn-product-card-info", { paket: this.item.maxmått, rulle: this.item.rulle }) : null, h("div", { key: '09427b8855ac9a1b844c4252d23a75e7470f0d88', slot: "cardprice" }, this.item.pricesenddirect ? (h("pn-product-card-price", { slot: "sendDirectPrice", label: state.i18n.senddirectcta, amount: this.item.pricesenddirect + '', currency: state.market.currency, url: sendDirectUrl, linkid: this.linkId + '-portal' })) : null, this.item.pricestamps ? (this.item.name.toLocaleLowerCase() !== 'riktiga vykort' ? (h("pn-product-card-price", { slot: "stampPrice", label: this.shopLabel, amount: this.item.pricestamps + '', currency: state.market.currency, url: this.shopUrl, linkid: this.linkId + this.shopId })) : (h("pn-product-card-price", { slot: "riktiga", label: state.i18n.realPostcard, amount: this.item.pricestamps + '', currency: state.market.currency, url: RealValues['WebUrl'], linkid: this.linkId + '-riktiga' }))) : null), h("div", { key: '1ab3389414f947a15608f90c4a03462de0a50a4f', slot: "servicepoint" }, this.item.showservicepointlink ? (h("a", { href: state.market.servicePoint, target: "_blank" }, h("pn-icon", { icon: map_marker, color: "blue700" }), state.i18n.servicePointLink)) : null), h("div", { key: '2e7072fd307f05839a20743e65e32b6be8941c95', slot: "mobiledownload" }, this.item.name.toLocaleLowerCase() === 'riktiga vykort' ? (h("div", { id: "riktiga" }, h("h4", null, state.i18n.realPostcardMobile), h("div", null, h("a", { href: RealValues['AndroidAppUrl'], target: "_blank" }, h("img", { class: "riktigaAndroidImg", src: RealValues['AndroidImg'] })), h("a", { href: RealValues['IosAppUrl'], target: "_blank" }, h("img", { class: "riktigaAppleImg", src: RealValues['IosImg'] }))))) : null))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "pn-find-price-result"; }
|
|
44
44
|
static get originalStyleUrls() {
|
|
@@ -3,6 +3,31 @@ pn-button-dropdown .pn-button-dropdown > pn-button > .pn-button {
|
|
|
3
3
|
min-height: initial;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
.sr-only {
|
|
7
|
+
position: absolute;
|
|
8
|
+
width: 1px;
|
|
9
|
+
height: 1px;
|
|
10
|
+
padding: 0;
|
|
11
|
+
margin: -1px;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
clip: rect(0, 0, 0, 0);
|
|
14
|
+
white-space: nowrap;
|
|
15
|
+
border-width: 0;
|
|
16
|
+
}
|
|
17
|
+
@media screen and (max-width: 767px) {
|
|
18
|
+
.sr-only-mobile {
|
|
19
|
+
position: absolute;
|
|
20
|
+
width: 1px;
|
|
21
|
+
height: 1px;
|
|
22
|
+
padding: 0;
|
|
23
|
+
margin: -1px;
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
clip: rect(0, 0, 0, 0);
|
|
26
|
+
white-space: nowrap;
|
|
27
|
+
border-width: 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
6
31
|
pn-find-price .sizeTable {
|
|
7
32
|
background-color: transparent !important;
|
|
8
33
|
border-style: none !important;
|