@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.
Files changed (1186) hide show
  1. package/cjs/FetchHelper-2d4c697c.js +85 -0
  2. package/cjs/FetchHelper-2d4c697c.js.map +1 -0
  3. package/cjs/HeadingTag-19376e1f.js +12 -0
  4. package/cjs/HeadingTag-19376e1f.js.map +1 -0
  5. package/cjs/LocalStorageService-e1ee3fac.js +66 -0
  6. package/cjs/LocalStorageService-e1ee3fac.js.map +1 -0
  7. package/cjs/{FetchHelper-e951824f.js → MarketWebContextService-0fdc43c8.js} +1 -82
  8. package/cjs/MarketWebContextService-0fdc43c8.js.map +1 -0
  9. package/cjs/alert_exclamation_circle-24f29a5b.js +8 -0
  10. package/cjs/alert_exclamation_circle-24f29a5b.js.map +1 -0
  11. package/cjs/angle_up-049ec1d8.js +12 -0
  12. package/cjs/angle_up-049ec1d8.js.map +1 -0
  13. package/cjs/close-9e014a80.js +8 -0
  14. package/cjs/close-9e014a80.js.map +1 -0
  15. package/cjs/{index-1d8c9211.js → index-4067c6a5.js} +2 -2
  16. package/cjs/{index-1d8c9211.js.map → index-4067c6a5.js.map} +1 -1
  17. package/cjs/{index-34e1c673.js → index-b02670c2.js} +65 -8
  18. package/cjs/index-b02670c2.js.map +1 -0
  19. package/cjs/index.cjs.js +1 -1
  20. package/cjs/loader.cjs.js +2 -2
  21. package/cjs/pn-address-autofill.cjs.entry.js +51 -75
  22. package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
  23. package/cjs/pn-animated-tile.cjs.entry.js +2 -2
  24. package/cjs/pn-animated-tile.cjs.entry.js.map +1 -1
  25. package/cjs/pn-app-banner.cjs.entry.js +3 -3
  26. package/cjs/pn-app-banner.cjs.entry.js.map +1 -1
  27. package/cjs/pn-bonus-progressbar-level.cjs.entry.js +2 -2
  28. package/cjs/pn-bonus-progressbar-level.cjs.entry.js.map +1 -1
  29. package/cjs/pn-bonus-progressbar.cjs.entry.js +2 -2
  30. package/cjs/pn-bonus-progressbar.cjs.entry.js.map +1 -1
  31. package/cjs/pn-breakpoints.cjs.entry.js +3 -3
  32. package/cjs/pn-breakpoints.cjs.entry.js.map +1 -1
  33. package/cjs/pn-chart.cjs.entry.js +2 -2
  34. package/cjs/pn-chart.cjs.entry.js.map +1 -1
  35. package/cjs/pn-charts-card.cjs.entry.js +2 -2
  36. package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
  37. package/cjs/pn-chat-message_2.cjs.entry.js +346 -0
  38. package/cjs/pn-chat-message_2.cjs.entry.js.map +1 -0
  39. package/cjs/pn-chat.cjs.entry.js +474 -0
  40. package/cjs/pn-chat.cjs.entry.js.map +1 -0
  41. package/cjs/pn-chat.service-eaf6ed50.js +157 -0
  42. package/cjs/pn-chat.service-eaf6ed50.js.map +1 -0
  43. package/cjs/pn-choice-button.cjs.entry.js +2 -2
  44. package/cjs/pn-choice-button.cjs.entry.js.map +1 -1
  45. package/cjs/pn-cta-block.cjs.entry.js +2 -2
  46. package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
  47. package/cjs/pn-customernumber-selector-option.cjs.entry.js +3 -3
  48. package/cjs/pn-customernumber-selector-option.cjs.entry.js.map +1 -1
  49. package/cjs/pn-customernumber-selector.cjs.entry.js +4 -9
  50. package/cjs/pn-customernumber-selector.cjs.entry.js.map +1 -1
  51. package/cjs/pn-date-and-time.cjs.entry.js +2 -2
  52. package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
  53. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +20 -8
  54. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
  55. package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js +2 -2
  56. package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js.map +1 -1
  57. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +2 -2
  58. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
  59. package/cjs/pn-filter-checkbox.cjs.entry.js +2 -2
  60. package/cjs/pn-filter-checkbox.cjs.entry.js.map +1 -1
  61. package/cjs/pn-find-price-result.cjs.entry.js +5 -5
  62. package/cjs/pn-find-price-result.cjs.entry.js.map +1 -1
  63. package/cjs/{pn-find-price-store-051e931b.js → pn-find-price-store-0c8256c7.js} +2 -2
  64. package/cjs/{pn-find-price-store-051e931b.js.map → pn-find-price-store-0c8256c7.js.map} +1 -1
  65. package/cjs/pn-find-price.cjs.entry.js +6 -6
  66. package/cjs/pn-find-price.cjs.entry.js.map +1 -1
  67. package/cjs/pn-find-service-and-price-result.cjs.entry.js +5 -5
  68. package/cjs/pn-find-service-and-price-result.cjs.entry.js.map +1 -1
  69. package/cjs/{pn-find-service-and-price-store-3cec3d31.js → pn-find-service-and-price-store-13f060e0.js} +2 -2
  70. package/cjs/{pn-find-service-and-price-store-3cec3d31.js.map → pn-find-service-and-price-store-13f060e0.js.map} +1 -1
  71. package/cjs/pn-find-service-and-price.cjs.entry.js +5 -5
  72. package/cjs/pn-find-service-and-price.cjs.entry.js.map +1 -1
  73. package/cjs/pn-hero-block-international.cjs.entry.js +3 -3
  74. package/cjs/pn-hero-block-international.cjs.entry.js.map +1 -1
  75. package/cjs/pn-language-selector_9.cjs.entry.js +25 -27
  76. package/cjs/pn-language-selector_9.cjs.entry.js.map +1 -1
  77. package/cjs/pn-level-up-modal.cjs.entry.js +77 -0
  78. package/cjs/pn-level-up-modal.cjs.entry.js.map +1 -0
  79. package/cjs/pn-level-up.cjs.entry.js +139 -0
  80. package/cjs/pn-level-up.cjs.entry.js.map +1 -0
  81. package/cjs/pn-level-up.service-0e8e67c2.js +71 -0
  82. package/cjs/pn-level-up.service-0e8e67c2.js.map +1 -0
  83. package/cjs/pn-line-shape.cjs.entry.js +2 -2
  84. package/cjs/pn-line-shape.cjs.entry.js.map +1 -1
  85. package/cjs/pn-link-list.cjs.entry.js +3 -3
  86. package/cjs/pn-link-list.cjs.entry.js.map +1 -1
  87. package/cjs/pn-mainnav-link.cjs.entry.js +5 -5
  88. package/cjs/pn-mainnav-link.cjs.entry.js.map +1 -1
  89. package/cjs/{pn-mainnav-store-1a8153fd.js → pn-mainnav-store-5732f3ca.js} +2 -2
  90. package/cjs/{pn-mainnav-store-1a8153fd.js.map → pn-mainnav-store-5732f3ca.js.map} +1 -1
  91. package/cjs/pn-market-web-components.cjs.js +2 -2
  92. package/cjs/pn-marketweb-icon.cjs.entry.js +3 -3
  93. package/cjs/pn-marketweb-icon.cjs.entry.js.map +1 -1
  94. package/cjs/pn-marketweb-input.cjs.entry.js +4 -6
  95. package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
  96. package/cjs/pn-marketweb-search.cjs.entry.js +6 -5
  97. package/cjs/pn-marketweb-search.cjs.entry.js.map +1 -1
  98. package/cjs/pn-marketweb-sitefooter.cjs.entry.js +7 -10
  99. package/cjs/pn-marketweb-sitefooter.cjs.entry.js.map +1 -1
  100. package/cjs/{pn-marketweb-siteheader-login-button_5.cjs.entry.js → pn-marketweb-siteheader-login-button_4.cjs.entry.js} +8 -26
  101. package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +1 -0
  102. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +4 -4
  103. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
  104. package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js +25 -0
  105. package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js.map +1 -0
  106. package/cjs/{pn-marketweb-siteheader-store-75853609.js → pn-marketweb-siteheader-store-ce9d9ac7.js} +2 -2
  107. package/cjs/{pn-marketweb-siteheader-store-75853609.js.map → pn-marketweb-siteheader-store-ce9d9ac7.js.map} +1 -1
  108. package/cjs/pn-marketweb-siteheader.cjs.entry.js +11 -10
  109. package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
  110. package/cjs/pn-marketweb-table.cjs.entry.js +459 -0
  111. package/cjs/pn-marketweb-table.cjs.entry.js.map +1 -0
  112. package/cjs/pn-media-block.cjs.entry.js +6 -6
  113. package/cjs/pn-media-block.cjs.entry.js.map +1 -1
  114. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +2 -2
  115. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
  116. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +2 -2
  117. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
  118. package/cjs/pn-multiple-input.cjs.entry.js +1 -1
  119. package/cjs/pn-parcel-tracker.cjs.entry.js +2 -2
  120. package/cjs/pn-parcel-tracker.cjs.entry.js.map +1 -1
  121. package/cjs/pn-pex-pricefinder.cjs.entry.js +3 -3
  122. package/cjs/pn-pex-pricefinder.cjs.entry.js.map +1 -1
  123. package/cjs/pn-play-on-scroll.cjs.entry.js +1 -1
  124. package/cjs/pn-product-card_3.cjs.entry.js +5 -5
  125. package/cjs/pn-product-card_3.cjs.entry.js.map +1 -1
  126. package/cjs/pn-product-pricelist-result.cjs.entry.js +4 -4
  127. package/cjs/pn-product-pricelist-result.cjs.entry.js.map +1 -1
  128. package/cjs/pn-product-pricelist.cjs.entry.js +6 -6
  129. package/cjs/pn-product-pricelist.cjs.entry.js.map +1 -1
  130. package/cjs/pn-product-tile-info_2.cjs.entry.js +4 -4
  131. package/cjs/pn-product-tile-info_2.cjs.entry.js.map +1 -1
  132. package/cjs/pn-product-tile.cjs.entry.js +3 -3
  133. package/cjs/pn-product-tile.cjs.entry.js.map +1 -1
  134. package/cjs/pn-profile-modal-customernumber.cjs.entry.js +3 -3
  135. package/cjs/pn-profile-modal-customernumber.cjs.entry.js.map +1 -1
  136. package/cjs/pn-profile-modal-profile.cjs.entry.js +6 -6
  137. package/cjs/pn-profile-modal-profile.cjs.entry.js.map +1 -1
  138. package/cjs/{pn-profile-modal-store-3b6fea24.js → pn-profile-modal-store-16f8092a.js} +2 -2
  139. package/cjs/{pn-profile-modal-store-3b6fea24.js.map → pn-profile-modal-store-16f8092a.js.map} +1 -1
  140. package/cjs/pn-profile-modal-type.cjs.entry.js +5 -5
  141. package/cjs/pn-profile-modal-type.cjs.entry.js.map +1 -1
  142. package/cjs/pn-profile-modal.cjs.entry.js +5 -5
  143. package/cjs/pn-profile-modal.cjs.entry.js.map +1 -1
  144. package/cjs/pn-profile-selector-option.cjs.entry.js +3 -3
  145. package/cjs/pn-profile-selector-option.cjs.entry.js.map +1 -1
  146. package/cjs/pn-profile-selector.cjs.entry.js +3 -3
  147. package/cjs/pn-profile-selector.cjs.entry.js.map +1 -1
  148. package/cjs/pn-proxio-findprice-result.cjs.entry.js +3 -3
  149. package/cjs/pn-proxio-findprice-result.cjs.entry.js.map +1 -1
  150. package/cjs/pn-proxio-findprice.cjs.entry.js +9 -8
  151. package/cjs/pn-proxio-findprice.cjs.entry.js.map +1 -1
  152. package/cjs/pn-proxio-pricegroup.cjs.entry.js +6 -5
  153. package/cjs/pn-proxio-pricegroup.cjs.entry.js.map +1 -1
  154. package/cjs/pn-proxio-productcard_4.cjs.entry.js +8 -8
  155. package/cjs/pn-proxio-productcard_4.cjs.entry.js.map +1 -1
  156. package/cjs/pn-qr-code-generator.cjs.entry.js +2945 -0
  157. package/cjs/pn-qr-code-generator.cjs.entry.js.map +1 -0
  158. package/cjs/pn-quick-cta.cjs.entry.js +2 -2
  159. package/cjs/pn-quick-cta.cjs.entry.js.map +1 -1
  160. package/cjs/pn-quote-card.cjs.entry.js +2 -2
  161. package/cjs/pn-quote-card.cjs.entry.js.map +1 -1
  162. package/cjs/pn-scroll_2.cjs.entry.js +2 -2
  163. package/cjs/pn-scroll_2.cjs.entry.js.map +1 -1
  164. package/cjs/pn-search.cjs.entry.js +54 -0
  165. package/cjs/pn-search.cjs.entry.js.map +1 -0
  166. package/cjs/pn-share-item.cjs.entry.js +2 -2
  167. package/cjs/pn-share-item.cjs.entry.js.map +1 -1
  168. package/cjs/pn-share.cjs.entry.js +2 -2
  169. package/cjs/pn-share.cjs.entry.js.map +1 -1
  170. package/cjs/pn-sidenav-level.cjs.entry.js +5 -5
  171. package/cjs/pn-sidenav-level.cjs.entry.js.map +1 -1
  172. package/cjs/pn-sidenav-link.cjs.entry.js +5 -5
  173. package/cjs/pn-sidenav-link.cjs.entry.js.map +1 -1
  174. package/cjs/{pn-sidenav-store-cf9c4996.js → pn-sidenav-store-236c8806.js} +2 -2
  175. package/cjs/{pn-sidenav-store-cf9c4996.js.map → pn-sidenav-store-236c8806.js.map} +1 -1
  176. package/cjs/pn-sidenav-togglebutton.cjs.entry.js +5 -5
  177. package/cjs/pn-sidenav-togglebutton.cjs.entry.js.map +1 -1
  178. package/cjs/pn-sidenav.cjs.entry.js +5 -5
  179. package/cjs/pn-sidenav.cjs.entry.js.map +1 -1
  180. package/cjs/pn-site-footer_3.cjs.entry.js +7 -7
  181. package/cjs/pn-site-footer_3.cjs.entry.js.map +1 -1
  182. package/cjs/pn-spotlight.cjs.entry.js +2 -2
  183. package/cjs/pn-spotlight.cjs.entry.js.map +1 -1
  184. package/cjs/pn-stats-info-data.cjs.entry.js +2 -2
  185. package/cjs/pn-stats-info-data.cjs.entry.js.map +1 -1
  186. package/cjs/pn-stats-info.cjs.entry.js +2 -2
  187. package/cjs/pn-stats-info.cjs.entry.js.map +1 -1
  188. package/cjs/pn-teaser-card.cjs.entry.js +5 -9
  189. package/cjs/pn-teaser-card.cjs.entry.js.map +1 -1
  190. package/cjs/pn-titletag.cjs.entry.js +3 -3
  191. package/cjs/pn-titletag.cjs.entry.js.map +1 -1
  192. package/cjs/pn-usp-promoter.cjs.entry.js +3 -3
  193. package/cjs/pn-usp-promoter.cjs.entry.js.map +1 -1
  194. package/cjs/pn-usp-simple.cjs.entry.js +56 -0
  195. package/cjs/pn-usp-simple.cjs.entry.js.map +1 -0
  196. package/collection/collection-manifest.json +10 -1
  197. package/collection/components/animation/pn-animated-tile/pn-animated-tile.css +25 -0
  198. package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.css +25 -0
  199. package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.css +25 -0
  200. package/collection/components/cards/pn-quote-card/pn-quote-card.css +25 -0
  201. package/collection/components/cards/pn-teaser-card/pn-teaser-card.css +25 -0
  202. package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +8 -11
  203. package/collection/components/cards/pn-teaser-card/pn-teaser-card.js.map +1 -1
  204. package/collection/components/cards/pn-teaser-card/pn-teaser-card.stories.js +3 -3
  205. package/collection/components/charts/pn-chart/pn-chart.css +25 -0
  206. package/collection/components/charts/pn-charts-card/pn-charts-card.css +25 -0
  207. package/collection/components/cta/pn-cta-block/pn-cta-block.css +25 -0
  208. package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.css +25 -0
  209. package/collection/components/cta/pn-quick-cta/pn-quick-cta.css +25 -0
  210. package/collection/components/cta/pn-share/pn-share-item.css +25 -0
  211. package/collection/components/cta/pn-share/pn-share.css +25 -0
  212. package/collection/components/cta/pn-spotlight/pn-spotlight.css +25 -0
  213. package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.css +25 -0
  214. package/collection/components/data-visualization/pn-stats-info/pn-stats-info.css +25 -0
  215. package/collection/components/input/pn-address-autofill/pn-address-autofill.css +31 -1
  216. package/collection/components/input/pn-address-autofill/pn-address-autofill.js +58 -68
  217. package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
  218. package/collection/components/input/pn-address-autofill/pn-address-autofill.stories.js +2 -1
  219. package/collection/components/input/pn-address-autofill/translations.js +6 -3
  220. package/collection/components/input/pn-address-autofill/translations.js.map +1 -1
  221. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.css +25 -0
  222. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.css +25 -0
  223. package/collection/components/input/pn-choice-button/pn-choice-button.css +25 -0
  224. package/collection/components/input/pn-date-and-time/pn-date-and-time.css +25 -0
  225. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.css +25 -0
  226. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +18 -6
  227. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
  228. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.css +25 -0
  229. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.css +25 -0
  230. package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.css +25 -0
  231. package/collection/components/input/pn-marketweb-input/pn-marketweb-input.css +25 -0
  232. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.css +25 -0
  233. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +4 -3
  234. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js.map +1 -1
  235. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.css +25 -0
  236. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.css +25 -0
  237. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.css +50 -0
  238. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +1 -1
  239. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js.map +1 -1
  240. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +25 -0
  241. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.css +25 -0
  242. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +25 -0
  243. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +1 -0
  244. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js.map +1 -1
  245. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +25 -0
  246. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +1 -1
  247. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
  248. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.css +25 -0
  249. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -37
  250. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js.map +1 -1
  251. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.css +25 -0
  252. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
  253. package/collection/components/media/pn-media-block/pn-media-block.css +25 -0
  254. package/collection/components/media/pn-media-block/pn-media-block.js +8 -8
  255. package/collection/components/media/pn-media-block/pn-media-block.js.map +1 -1
  256. package/collection/components/media/pn-media-block/pn-media-block.stories.js +76 -76
  257. package/collection/components/minor/pn-app-banner/pn-app-banner.css +25 -0
  258. package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
  259. package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.css +25 -0
  260. package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
  261. package/collection/components/minor/pn-swan/pn-swan.css +25 -0
  262. package/collection/components/minor/pn-swan/pn-swan.js +1 -1
  263. package/collection/components/minor/pn-titletag/pn-titletag.css +25 -0
  264. package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
  265. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +50 -0
  266. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -1
  267. package/collection/components/navigation/pn-language-selector/pn-language-selector.css +50 -0
  268. package/collection/components/navigation/pn-language-selector/pn-language-selector.js +1 -1
  269. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +25 -0
  270. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
  271. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +25 -0
  272. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
  273. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +25 -0
  274. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
  275. package/collection/components/navigation/pn-mainnav/pn-mainnav.css +25 -0
  276. package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
  277. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.css +25 -0
  278. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
  279. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.css +25 -0
  280. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
  281. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.css +25 -0
  282. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
  283. package/collection/components/navigation/pn-sidenav/pn-sidenav.css +25 -0
  284. package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
  285. package/collection/components/navigation/pn-site-footer/pn-site-footer-col.css +50 -0
  286. package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
  287. package/collection/components/navigation/pn-site-footer/pn-site-footer.css +50 -0
  288. package/collection/components/navigation/pn-site-footer/pn-site-footer.js +1 -1
  289. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.css +25 -0
  290. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +1 -1
  291. package/collection/components/navigation/pn-site-selector/pn-site-selector.css +25 -0
  292. package/collection/components/navigation/pn-site-selector/pn-site-selector.js +1 -1
  293. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.css +25 -0
  294. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
  295. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.css +25 -0
  296. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
  297. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.css +25 -0
  298. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +1 -1
  299. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.css +25 -0
  300. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +2 -2
  301. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.css +25 -0
  302. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
  303. package/collection/components/profile/pn-profile-modal/pn-profile-modal.css +25 -0
  304. package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
  305. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.css +25 -0
  306. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
  307. package/collection/components/profile/pn-profile-selector/pn-profile-selector.css +25 -0
  308. package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
  309. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.css +25 -0
  310. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
  311. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.css +146 -0
  312. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +118 -0
  313. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js.map +1 -0
  314. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js +219 -0
  315. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.js.map +1 -0
  316. package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js +243 -0
  317. package/collection/components/widgets/pn-chat/pn-chat-stories-constants.js.map +1 -0
  318. package/collection/components/widgets/pn-chat/pn-chat.css +238 -0
  319. package/collection/components/widgets/pn-chat/pn-chat.js +840 -0
  320. package/collection/components/widgets/pn-chat/pn-chat.js.map +1 -0
  321. package/collection/components/widgets/pn-chat/pn-chat.models.js +2 -0
  322. package/collection/components/widgets/pn-chat/pn-chat.models.js.map +1 -0
  323. package/collection/components/widgets/pn-chat/pn-chat.service.js +151 -0
  324. package/collection/components/widgets/pn-chat/pn-chat.service.js.map +1 -0
  325. package/collection/components/widgets/pn-chat/pn-chat.stories.js +116 -0
  326. package/collection/components/widgets/pn-chat/pn-chat.stories.js.map +1 -0
  327. package/collection/components/widgets/pn-chat/translations.js +78 -0
  328. package/collection/components/widgets/pn-chat/translations.js.map +1 -0
  329. package/collection/components/widgets/pn-chat/types.js +2 -0
  330. package/collection/components/widgets/pn-chat/types.js.map +1 -0
  331. package/collection/components/widgets/pn-find-price/pn-find-price-result.css +25 -0
  332. package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
  333. package/collection/components/widgets/pn-find-price/pn-find-price.css +25 -0
  334. package/collection/components/widgets/pn-find-price/pn-find-price.js +2 -2
  335. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.css +25 -0
  336. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +1 -1
  337. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.css +25 -0
  338. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +1 -1
  339. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.css +25 -0
  340. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +1 -1
  341. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.css +94 -0
  342. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +262 -0
  343. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js.map +1 -0
  344. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js +31 -0
  345. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.js.map +1 -0
  346. package/collection/components/widgets/pn-level-up/pn-level-up.css +114 -0
  347. package/collection/components/widgets/pn-level-up/pn-level-up.js +476 -0
  348. package/collection/components/widgets/pn-level-up/pn-level-up.js.map +1 -0
  349. package/collection/components/widgets/pn-level-up/pn-level-up.models.js +2 -0
  350. package/collection/components/widgets/pn-level-up/pn-level-up.models.js.map +1 -0
  351. package/collection/components/widgets/pn-level-up/pn-level-up.service.js +65 -0
  352. package/collection/components/widgets/pn-level-up/pn-level-up.service.js.map +1 -0
  353. package/collection/components/widgets/pn-level-up/pn-level-up.stories.js +88 -0
  354. package/collection/components/widgets/pn-level-up/pn-level-up.stories.js.map +1 -0
  355. package/collection/components/widgets/pn-level-up/types.js +2 -0
  356. package/collection/components/widgets/pn-level-up/types.js.map +1 -0
  357. package/collection/components/widgets/pn-link-list/pn-link-list.css +25 -0
  358. package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
  359. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.css +96 -0
  360. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +494 -0
  361. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js.map +1 -0
  362. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js +82 -0
  363. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.js.map +1 -0
  364. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.css +255 -0
  365. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +701 -0
  366. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js.map +1 -0
  367. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js +38 -0
  368. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.service.js.map +1 -0
  369. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js +122 -0
  370. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.js.map +1 -0
  371. package/collection/components/widgets/pn-marketweb-table/translations.js +73 -0
  372. package/collection/components/widgets/pn-marketweb-table/translations.js.map +1 -0
  373. package/collection/components/widgets/pn-marketweb-table/types.js +2 -0
  374. package/collection/components/widgets/pn-marketweb-table/types.js.map +1 -0
  375. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.css +25 -0
  376. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
  377. package/collection/components/widgets/pn-product-card/pn-product-card-info.css +25 -0
  378. package/collection/components/widgets/pn-product-card/pn-product-card-price.css +25 -0
  379. package/collection/components/widgets/pn-product-card/pn-product-card.css +25 -0
  380. package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
  381. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.css +25 -0
  382. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
  383. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.css +25 -0
  384. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
  385. package/collection/components/widgets/pn-product-tile/pn-product-tile-info.css +25 -0
  386. package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
  387. package/collection/components/widgets/pn-product-tile/pn-product-tile-price.css +25 -0
  388. package/collection/components/widgets/pn-product-tile/pn-product-tile.css +25 -0
  389. package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
  390. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.css +25 -0
  391. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
  392. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.css +25 -0
  393. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
  394. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.css +25 -0
  395. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
  396. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.css +25 -0
  397. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +1 -1
  398. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.css +25 -0
  399. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
  400. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-pricelink.css +25 -0
  401. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.css +25 -0
  402. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +1 -1
  403. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.css +61 -0
  404. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +198 -0
  405. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js.map +1 -0
  406. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js +29 -0
  407. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.js.map +1 -0
  408. package/collection/components/widgets/pn-search/pn-search.css +140 -0
  409. package/collection/components/widgets/pn-search/pn-search.js +368 -0
  410. package/collection/components/widgets/pn-search/pn-search.js.map +1 -0
  411. package/collection/components/widgets/pn-search/pn-search.stories.js +54 -0
  412. package/collection/components/widgets/pn-search/pn-search.stories.js.map +1 -0
  413. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.css +25 -0
  414. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
  415. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.css +116 -0
  416. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js +269 -0
  417. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.js.map +1 -0
  418. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js +63 -0
  419. package/collection/components/widgets/pn-usp-simple/pn-usp-simple.stories.js.map +1 -0
  420. package/collection/globals/HeadingTag.js +2 -2
  421. package/collection/globals/HeadingTag.js.map +1 -1
  422. package/collection/globals/LocalStorageService.js +50 -0
  423. package/collection/globals/LocalStorageService.js.map +1 -0
  424. package/collection/globals/ScreensizeDetect.js +80 -0
  425. package/collection/globals/ScreensizeDetect.js.map +1 -0
  426. package/collection/globals/types.js +2 -0
  427. package/collection/globals/types.js.map +1 -0
  428. package/collection/utils/utils.js +11 -0
  429. package/collection/utils/utils.js.map +1 -1
  430. package/components/FetchHelper.js +1 -243
  431. package/components/FetchHelper.js.map +1 -1
  432. package/components/HeadingTag.js +10 -0
  433. package/components/HeadingTag.js.map +1 -0
  434. package/components/LocalStorageService.js +64 -0
  435. package/components/LocalStorageService.js.map +1 -0
  436. package/{esm/FetchHelper-746f2bb6.js → components/MarketWebContextService.js} +2 -82
  437. package/components/MarketWebContextService.js.map +1 -0
  438. package/components/alert_exclamation_circle.js +6 -0
  439. package/components/alert_exclamation_circle.js.map +1 -0
  440. package/components/angle_up.js +9 -0
  441. package/components/angle_up.js.map +1 -0
  442. package/components/close.js +6 -0
  443. package/components/close.js.map +1 -0
  444. package/components/pn-address-autofill.js +50 -73
  445. package/components/pn-address-autofill.js.map +1 -1
  446. package/components/pn-animated-tile.js +1 -1
  447. package/components/pn-animated-tile.js.map +1 -1
  448. package/components/pn-app-banner.js +2 -2
  449. package/components/pn-app-banner.js.map +1 -1
  450. package/components/pn-bonus-progressbar-level.js +1 -1
  451. package/components/pn-bonus-progressbar-level.js.map +1 -1
  452. package/components/pn-bonus-progressbar.js +1 -1
  453. package/components/pn-bonus-progressbar.js.map +1 -1
  454. package/components/pn-breakpoints.js +2 -2
  455. package/components/pn-breakpoints.js.map +1 -1
  456. package/components/pn-chart.js +1 -1
  457. package/components/pn-chart.js.map +1 -1
  458. package/components/pn-charts-card.js +1 -1
  459. package/components/pn-charts-card.js.map +1 -1
  460. package/components/pn-chat-message.d.ts +11 -0
  461. package/components/pn-chat-message.js +8 -0
  462. package/components/pn-chat-message.js.map +1 -0
  463. package/components/pn-chat-message2.js +69 -0
  464. package/components/pn-chat-message2.js.map +1 -0
  465. package/components/pn-chat.d.ts +11 -0
  466. package/components/pn-chat.js +534 -0
  467. package/components/pn-chat.js.map +1 -0
  468. package/components/pn-chat.service.js +155 -0
  469. package/components/pn-chat.service.js.map +1 -0
  470. package/components/pn-choice-button2.js +1 -1
  471. package/components/pn-choice-button2.js.map +1 -1
  472. package/components/pn-cta-block.js +1 -1
  473. package/components/pn-cta-block.js.map +1 -1
  474. package/components/pn-customernumber-selector-option.js +2 -2
  475. package/components/pn-customernumber-selector-option.js.map +1 -1
  476. package/components/pn-customernumber-selector.js +3 -8
  477. package/components/pn-customernumber-selector.js.map +1 -1
  478. package/components/pn-date-and-time.js +1 -1
  479. package/components/pn-date-and-time.js.map +1 -1
  480. package/components/pn-dropdown-choice-adds-row.js +19 -7
  481. package/components/pn-dropdown-choice-adds-row.js.map +1 -1
  482. package/components/pn-dropdown-with-multi-input-rows-row2.js +1 -1
  483. package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
  484. package/components/pn-dropdown-with-multi-input-rows.js +1 -1
  485. package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
  486. package/components/pn-filter-checkbox2.js +1 -1
  487. package/components/pn-filter-checkbox2.js.map +1 -1
  488. package/components/pn-find-price-result2.js +2 -2
  489. package/components/pn-find-price-result2.js.map +1 -1
  490. package/components/pn-find-price.js +3 -3
  491. package/components/pn-find-price.js.map +1 -1
  492. package/components/pn-find-service-and-price-result2.js +2 -2
  493. package/components/pn-find-service-and-price-result2.js.map +1 -1
  494. package/components/pn-find-service-and-price.js +2 -2
  495. package/components/pn-find-service-and-price.js.map +1 -1
  496. package/components/pn-hero-block-international.js +2 -2
  497. package/components/pn-hero-block-international.js.map +1 -1
  498. package/components/pn-language-selector-option2.js +2 -2
  499. package/components/pn-language-selector-option2.js.map +1 -1
  500. package/components/pn-language-selector2.js +2 -2
  501. package/components/pn-language-selector2.js.map +1 -1
  502. package/components/pn-level-up-modal.d.ts +11 -0
  503. package/components/pn-level-up-modal.js +8 -0
  504. package/components/pn-level-up-modal.js.map +1 -0
  505. package/components/pn-level-up-modal2.js +170 -0
  506. package/components/pn-level-up-modal2.js.map +1 -0
  507. package/components/pn-level-up.d.ts +11 -0
  508. package/components/pn-level-up.js +185 -0
  509. package/components/pn-level-up.js.map +1 -0
  510. package/components/pn-line-shape.js +1 -1
  511. package/components/pn-line-shape.js.map +1 -1
  512. package/components/pn-link-list.js +2 -2
  513. package/components/pn-link-list.js.map +1 -1
  514. package/components/pn-mainnav-level2.js +3 -3
  515. package/components/pn-mainnav-level2.js.map +1 -1
  516. package/components/pn-mainnav-link2.js +2 -2
  517. package/components/pn-mainnav-link2.js.map +1 -1
  518. package/components/pn-mainnav-list2.js +2 -2
  519. package/components/pn-mainnav-list2.js.map +1 -1
  520. package/components/pn-mainnav2.js +3 -5
  521. package/components/pn-mainnav2.js.map +1 -1
  522. package/components/pn-marketweb-carousel.d.ts +11 -0
  523. package/components/pn-marketweb-carousel.js +8 -0
  524. package/components/pn-marketweb-carousel.js.map +1 -0
  525. package/components/pn-marketweb-carousel2.js +326 -0
  526. package/components/pn-marketweb-carousel2.js.map +1 -0
  527. package/components/pn-marketweb-icon.js +2 -2
  528. package/components/pn-marketweb-icon.js.map +1 -1
  529. package/components/pn-marketweb-input2.js +2 -4
  530. package/components/pn-marketweb-input2.js.map +1 -1
  531. package/components/pn-marketweb-search.js +1 -125
  532. package/components/pn-marketweb-search.js.map +1 -1
  533. package/components/pn-marketweb-search2.js +130 -0
  534. package/components/pn-marketweb-search2.js.map +1 -0
  535. package/components/pn-marketweb-sitefooter.js +6 -9
  536. package/components/pn-marketweb-sitefooter.js.map +1 -1
  537. package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
  538. package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
  539. package/components/pn-marketweb-siteheader-login-links2.js +1 -1
  540. package/components/pn-marketweb-siteheader-login-links2.js.map +1 -1
  541. package/components/pn-marketweb-siteheader-login-mypage-button.js +34 -1
  542. package/components/pn-marketweb-siteheader-login-mypage-button.js.map +1 -1
  543. package/components/pn-marketweb-siteheader-login-profileselection2.js +2 -1
  544. package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
  545. package/components/pn-marketweb-siteheader-login2.js +8 -14
  546. package/components/pn-marketweb-siteheader-login2.js.map +1 -1
  547. package/components/pn-marketweb-siteheader-search2.js +1 -1
  548. package/components/pn-marketweb-siteheader-search2.js.map +1 -1
  549. package/components/pn-marketweb-siteheader-unified-login2.js +3 -13
  550. package/components/pn-marketweb-siteheader-unified-login2.js.map +1 -1
  551. package/components/pn-marketweb-siteheader.js +27 -32
  552. package/components/pn-marketweb-siteheader.js.map +1 -1
  553. package/components/pn-marketweb-table.d.ts +11 -0
  554. package/components/pn-marketweb-table.js +502 -0
  555. package/components/pn-marketweb-table.js.map +1 -0
  556. package/components/pn-media-block.js +6 -6
  557. package/components/pn-media-block.js.map +1 -1
  558. package/components/pn-multi-row-connected-dropdown-row2.js +1 -1
  559. package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
  560. package/components/pn-multi-row-connected-dropdown.js +1 -1
  561. package/components/pn-multi-row-connected-dropdown.js.map +1 -1
  562. package/components/pn-parcel-tracker.js +1 -1
  563. package/components/pn-parcel-tracker.js.map +1 -1
  564. package/components/pn-pex-pricefinder.js +2 -2
  565. package/components/pn-pex-pricefinder.js.map +1 -1
  566. package/components/pn-product-card-info2.js +1 -1
  567. package/components/pn-product-card-info2.js.map +1 -1
  568. package/components/pn-product-card-price2.js +1 -1
  569. package/components/pn-product-card-price2.js.map +1 -1
  570. package/components/pn-product-card2.js +2 -2
  571. package/components/pn-product-card2.js.map +1 -1
  572. package/components/pn-product-pricelist-result.js +2 -2
  573. package/components/pn-product-pricelist-result.js.map +1 -1
  574. package/components/pn-product-pricelist.js +3 -3
  575. package/components/pn-product-pricelist.js.map +1 -1
  576. package/components/pn-product-tile-info2.js +2 -2
  577. package/components/pn-product-tile-info2.js.map +1 -1
  578. package/components/pn-product-tile-price2.js +1 -1
  579. package/components/pn-product-tile-price2.js.map +1 -1
  580. package/components/pn-product-tile.js +2 -2
  581. package/components/pn-product-tile.js.map +1 -1
  582. package/components/pn-profile-modal-customernumber.js +2 -2
  583. package/components/pn-profile-modal-customernumber.js.map +1 -1
  584. package/components/pn-profile-modal-profile.js +3 -3
  585. package/components/pn-profile-modal-profile.js.map +1 -1
  586. package/components/pn-profile-modal-type.js +2 -2
  587. package/components/pn-profile-modal-type.js.map +1 -1
  588. package/components/pn-profile-modal.js +2 -2
  589. package/components/pn-profile-modal.js.map +1 -1
  590. package/components/pn-profile-selector-option.js +2 -2
  591. package/components/pn-profile-selector-option.js.map +1 -1
  592. package/components/pn-profile-selector.js +2 -2
  593. package/components/pn-profile-selector.js.map +1 -1
  594. package/components/pn-proxio-findprice-result2.js +2 -2
  595. package/components/pn-proxio-findprice-result2.js.map +1 -1
  596. package/components/pn-proxio-findprice.js +6 -5
  597. package/components/pn-proxio-findprice.js.map +1 -1
  598. package/components/pn-proxio-pricegroup.js +4 -3
  599. package/components/pn-proxio-pricegroup.js.map +1 -1
  600. package/components/pn-proxio-productcard-description2.js +2 -2
  601. package/components/pn-proxio-productcard-description2.js.map +1 -1
  602. package/components/pn-proxio-productcard-information2.js +2 -2
  603. package/components/pn-proxio-productcard-information2.js.map +1 -1
  604. package/components/pn-proxio-productcard-pricelink2.js +1 -1
  605. package/components/pn-proxio-productcard-pricelink2.js.map +1 -1
  606. package/components/pn-proxio-productcard2.js +2 -2
  607. package/components/pn-proxio-productcard2.js.map +1 -1
  608. package/components/pn-qr-code-generator.d.ts +11 -0
  609. package/components/pn-qr-code-generator.js +8 -0
  610. package/components/pn-qr-code-generator.js.map +1 -0
  611. package/components/pn-qr-code-generator2.js +2967 -0
  612. package/components/pn-qr-code-generator2.js.map +1 -0
  613. package/components/pn-quick-cta.js +1 -1
  614. package/components/pn-quick-cta.js.map +1 -1
  615. package/components/pn-quote-card.js +1 -1
  616. package/components/pn-quote-card.js.map +1 -1
  617. package/components/pn-search.d.ts +11 -0
  618. package/components/pn-search.js +91 -0
  619. package/components/pn-search.js.map +1 -0
  620. package/components/pn-share-item2.js +1 -1
  621. package/components/pn-share-item2.js.map +1 -1
  622. package/components/pn-share.js +1 -1
  623. package/components/pn-share.js.map +1 -1
  624. package/components/pn-sidenav-level.js +2 -2
  625. package/components/pn-sidenav-level.js.map +1 -1
  626. package/components/pn-sidenav-link.js +2 -2
  627. package/components/pn-sidenav-link.js.map +1 -1
  628. package/components/pn-sidenav-togglebutton.js +2 -2
  629. package/components/pn-sidenav-togglebutton.js.map +1 -1
  630. package/components/pn-sidenav.js +2 -2
  631. package/components/pn-sidenav.js.map +1 -1
  632. package/components/pn-site-footer-col2.js +2 -2
  633. package/components/pn-site-footer-col2.js.map +1 -1
  634. package/components/pn-site-footer2.js +2 -2
  635. package/components/pn-site-footer2.js.map +1 -1
  636. package/components/pn-site-selector-item2.js +2 -2
  637. package/components/pn-site-selector-item2.js.map +1 -1
  638. package/components/pn-site-selector2.js +2 -2
  639. package/components/pn-site-selector2.js.map +1 -1
  640. package/components/pn-spotlight.js +1 -1
  641. package/components/pn-spotlight.js.map +1 -1
  642. package/components/pn-stats-info-data2.js +1 -1
  643. package/components/pn-stats-info-data2.js.map +1 -1
  644. package/components/pn-stats-info.js +1 -1
  645. package/components/pn-stats-info.js.map +1 -1
  646. package/components/pn-swan2.js +2 -2
  647. package/components/pn-swan2.js.map +1 -1
  648. package/components/pn-teaser-card.js +5 -9
  649. package/components/pn-teaser-card.js.map +1 -1
  650. package/components/pn-titletag2.js +2 -2
  651. package/components/pn-titletag2.js.map +1 -1
  652. package/components/pn-usp-promoter.js +2 -2
  653. package/components/pn-usp-promoter.js.map +1 -1
  654. package/components/pn-usp-simple.d.ts +11 -0
  655. package/components/pn-usp-simple.js +82 -0
  656. package/components/pn-usp-simple.js.map +1 -0
  657. package/components/pn-video-overlay2.js +1 -1
  658. package/components/pn-video-overlay2.js.map +1 -1
  659. package/esm/FetchHelper-4789695a.js +83 -0
  660. package/esm/FetchHelper-4789695a.js.map +1 -0
  661. package/esm/HeadingTag-e20016ab.js +10 -0
  662. package/esm/HeadingTag-e20016ab.js.map +1 -0
  663. package/esm/LocalStorageService-78b1794d.js +64 -0
  664. package/esm/LocalStorageService-78b1794d.js.map +1 -0
  665. package/esm/MarketWebContextService-16c15670.js +245 -0
  666. package/esm/MarketWebContextService-16c15670.js.map +1 -0
  667. package/esm/alert_exclamation_circle-f0fe7c7b.js +6 -0
  668. package/esm/alert_exclamation_circle-f0fe7c7b.js.map +1 -0
  669. package/esm/angle_up-b5f955ea.js +9 -0
  670. package/esm/angle_up-b5f955ea.js.map +1 -0
  671. package/esm/close-9e7bd787.js +6 -0
  672. package/esm/close-9e7bd787.js.map +1 -0
  673. package/esm/{index-89124075.js → index-ae60ebec.js} +2 -2
  674. package/esm/{index-89124075.js.map → index-ae60ebec.js.map} +1 -1
  675. package/esm/{index-51d67461.js → index-c311acd6.js} +65 -9
  676. package/esm/index-c311acd6.js.map +1 -0
  677. package/esm/index.js +1 -1
  678. package/esm/loader.js +3 -3
  679. package/esm/pn-address-autofill.entry.js +50 -74
  680. package/esm/pn-address-autofill.entry.js.map +1 -1
  681. package/esm/pn-animated-tile.entry.js +2 -2
  682. package/esm/pn-animated-tile.entry.js.map +1 -1
  683. package/esm/pn-app-banner.entry.js +3 -3
  684. package/esm/pn-app-banner.entry.js.map +1 -1
  685. package/esm/pn-bonus-progressbar-level.entry.js +2 -2
  686. package/esm/pn-bonus-progressbar-level.entry.js.map +1 -1
  687. package/esm/pn-bonus-progressbar.entry.js +2 -2
  688. package/esm/pn-bonus-progressbar.entry.js.map +1 -1
  689. package/esm/pn-breakpoints.entry.js +3 -3
  690. package/esm/pn-breakpoints.entry.js.map +1 -1
  691. package/esm/pn-chart.entry.js +2 -2
  692. package/esm/pn-chart.entry.js.map +1 -1
  693. package/esm/pn-charts-card.entry.js +2 -2
  694. package/esm/pn-charts-card.entry.js.map +1 -1
  695. package/esm/pn-chat-message_2.entry.js +341 -0
  696. package/esm/pn-chat-message_2.entry.js.map +1 -0
  697. package/esm/pn-chat.entry.js +470 -0
  698. package/esm/pn-chat.entry.js.map +1 -0
  699. package/esm/pn-chat.service-f4037d6f.js +155 -0
  700. package/esm/pn-chat.service-f4037d6f.js.map +1 -0
  701. package/esm/pn-choice-button.entry.js +2 -2
  702. package/esm/pn-choice-button.entry.js.map +1 -1
  703. package/esm/pn-cta-block.entry.js +2 -2
  704. package/esm/pn-cta-block.entry.js.map +1 -1
  705. package/esm/pn-customernumber-selector-option.entry.js +3 -3
  706. package/esm/pn-customernumber-selector-option.entry.js.map +1 -1
  707. package/esm/pn-customernumber-selector.entry.js +4 -9
  708. package/esm/pn-customernumber-selector.entry.js.map +1 -1
  709. package/esm/pn-date-and-time.entry.js +2 -2
  710. package/esm/pn-date-and-time.entry.js.map +1 -1
  711. package/esm/pn-dropdown-choice-adds-row.entry.js +20 -8
  712. package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
  713. package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +2 -2
  714. package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
  715. package/esm/pn-dropdown-with-multi-input-rows.entry.js +2 -2
  716. package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
  717. package/esm/pn-filter-checkbox.entry.js +2 -2
  718. package/esm/pn-filter-checkbox.entry.js.map +1 -1
  719. package/esm/pn-find-price-result.entry.js +5 -5
  720. package/esm/pn-find-price-result.entry.js.map +1 -1
  721. package/esm/{pn-find-price-store-c9a9d3d4.js → pn-find-price-store-f97f2325.js} +2 -2
  722. package/esm/{pn-find-price-store-c9a9d3d4.js.map → pn-find-price-store-f97f2325.js.map} +1 -1
  723. package/esm/pn-find-price.entry.js +6 -6
  724. package/esm/pn-find-price.entry.js.map +1 -1
  725. package/esm/pn-find-service-and-price-result.entry.js +5 -5
  726. package/esm/pn-find-service-and-price-result.entry.js.map +1 -1
  727. package/esm/{pn-find-service-and-price-store-60aa5801.js → pn-find-service-and-price-store-6553566d.js} +2 -2
  728. package/esm/{pn-find-service-and-price-store-60aa5801.js.map → pn-find-service-and-price-store-6553566d.js.map} +1 -1
  729. package/esm/pn-find-service-and-price.entry.js +5 -5
  730. package/esm/pn-find-service-and-price.entry.js.map +1 -1
  731. package/esm/pn-hero-block-international.entry.js +3 -3
  732. package/esm/pn-hero-block-international.entry.js.map +1 -1
  733. package/esm/pn-language-selector_9.entry.js +25 -27
  734. package/esm/pn-language-selector_9.entry.js.map +1 -1
  735. package/esm/pn-level-up-modal.entry.js +73 -0
  736. package/esm/pn-level-up-modal.entry.js.map +1 -0
  737. package/esm/pn-level-up.entry.js +135 -0
  738. package/esm/pn-level-up.entry.js.map +1 -0
  739. package/esm/pn-level-up.service-5c602f23.js +69 -0
  740. package/esm/pn-level-up.service-5c602f23.js.map +1 -0
  741. package/esm/pn-line-shape.entry.js +2 -2
  742. package/esm/pn-line-shape.entry.js.map +1 -1
  743. package/esm/pn-link-list.entry.js +3 -3
  744. package/esm/pn-link-list.entry.js.map +1 -1
  745. package/esm/pn-mainnav-link.entry.js +5 -5
  746. package/esm/pn-mainnav-link.entry.js.map +1 -1
  747. package/esm/{pn-mainnav-store-9c42bc66.js → pn-mainnav-store-23387019.js} +2 -2
  748. package/esm/{pn-mainnav-store-9c42bc66.js.map → pn-mainnav-store-23387019.js.map} +1 -1
  749. package/esm/pn-market-web-components.js +3 -3
  750. package/esm/pn-marketweb-icon.entry.js +3 -3
  751. package/esm/pn-marketweb-icon.entry.js.map +1 -1
  752. package/esm/pn-marketweb-input.entry.js +3 -5
  753. package/esm/pn-marketweb-input.entry.js.map +1 -1
  754. package/esm/pn-marketweb-search.entry.js +6 -5
  755. package/esm/pn-marketweb-search.entry.js.map +1 -1
  756. package/esm/pn-marketweb-sitefooter.entry.js +6 -9
  757. package/esm/pn-marketweb-sitefooter.entry.js.map +1 -1
  758. package/esm/{pn-marketweb-siteheader-login-button_5.entry.js → pn-marketweb-siteheader-login-button_4.entry.js} +9 -26
  759. package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +1 -0
  760. package/esm/pn-marketweb-siteheader-login-linklist.entry.js +4 -4
  761. package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
  762. package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +21 -0
  763. package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js.map +1 -0
  764. package/esm/{pn-marketweb-siteheader-store-91f74255.js → pn-marketweb-siteheader-store-f60eb1e4.js} +2 -2
  765. package/esm/{pn-marketweb-siteheader-store-91f74255.js.map → pn-marketweb-siteheader-store-f60eb1e4.js.map} +1 -1
  766. package/esm/pn-marketweb-siteheader.entry.js +10 -9
  767. package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
  768. package/esm/pn-marketweb-table.entry.js +455 -0
  769. package/esm/pn-marketweb-table.entry.js.map +1 -0
  770. package/esm/pn-media-block.entry.js +6 -6
  771. package/esm/pn-media-block.entry.js.map +1 -1
  772. package/esm/pn-multi-row-connected-dropdown-row.entry.js +2 -2
  773. package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
  774. package/esm/pn-multi-row-connected-dropdown.entry.js +2 -2
  775. package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
  776. package/esm/pn-multiple-input.entry.js +1 -1
  777. package/esm/pn-parcel-tracker.entry.js +2 -2
  778. package/esm/pn-parcel-tracker.entry.js.map +1 -1
  779. package/esm/pn-pex-pricefinder.entry.js +3 -3
  780. package/esm/pn-pex-pricefinder.entry.js.map +1 -1
  781. package/esm/pn-play-on-scroll.entry.js +1 -1
  782. package/esm/pn-product-card_3.entry.js +5 -5
  783. package/esm/pn-product-card_3.entry.js.map +1 -1
  784. package/esm/pn-product-pricelist-result.entry.js +4 -4
  785. package/esm/pn-product-pricelist-result.entry.js.map +1 -1
  786. package/esm/pn-product-pricelist.entry.js +6 -6
  787. package/esm/pn-product-pricelist.entry.js.map +1 -1
  788. package/esm/pn-product-tile-info_2.entry.js +4 -4
  789. package/esm/pn-product-tile-info_2.entry.js.map +1 -1
  790. package/esm/pn-product-tile.entry.js +3 -3
  791. package/esm/pn-product-tile.entry.js.map +1 -1
  792. package/esm/pn-profile-modal-customernumber.entry.js +3 -3
  793. package/esm/pn-profile-modal-customernumber.entry.js.map +1 -1
  794. package/esm/pn-profile-modal-profile.entry.js +6 -6
  795. package/esm/pn-profile-modal-profile.entry.js.map +1 -1
  796. package/esm/{pn-profile-modal-store-4655b124.js → pn-profile-modal-store-5d651bd5.js} +2 -2
  797. package/esm/{pn-profile-modal-store-4655b124.js.map → pn-profile-modal-store-5d651bd5.js.map} +1 -1
  798. package/esm/pn-profile-modal-type.entry.js +5 -5
  799. package/esm/pn-profile-modal-type.entry.js.map +1 -1
  800. package/esm/pn-profile-modal.entry.js +5 -5
  801. package/esm/pn-profile-modal.entry.js.map +1 -1
  802. package/esm/pn-profile-selector-option.entry.js +3 -3
  803. package/esm/pn-profile-selector-option.entry.js.map +1 -1
  804. package/esm/pn-profile-selector.entry.js +3 -3
  805. package/esm/pn-profile-selector.entry.js.map +1 -1
  806. package/esm/pn-proxio-findprice-result.entry.js +3 -3
  807. package/esm/pn-proxio-findprice-result.entry.js.map +1 -1
  808. package/esm/pn-proxio-findprice.entry.js +8 -7
  809. package/esm/pn-proxio-findprice.entry.js.map +1 -1
  810. package/esm/pn-proxio-pricegroup.entry.js +5 -4
  811. package/esm/pn-proxio-pricegroup.entry.js.map +1 -1
  812. package/esm/pn-proxio-productcard_4.entry.js +8 -8
  813. package/esm/pn-proxio-productcard_4.entry.js.map +1 -1
  814. package/esm/pn-qr-code-generator.entry.js +2941 -0
  815. package/esm/pn-qr-code-generator.entry.js.map +1 -0
  816. package/esm/pn-quick-cta.entry.js +2 -2
  817. package/esm/pn-quick-cta.entry.js.map +1 -1
  818. package/esm/pn-quote-card.entry.js +2 -2
  819. package/esm/pn-quote-card.entry.js.map +1 -1
  820. package/esm/pn-scroll_2.entry.js +2 -2
  821. package/esm/pn-scroll_2.entry.js.map +1 -1
  822. package/esm/pn-search.entry.js +50 -0
  823. package/esm/pn-search.entry.js.map +1 -0
  824. package/esm/pn-share-item.entry.js +2 -2
  825. package/esm/pn-share-item.entry.js.map +1 -1
  826. package/esm/pn-share.entry.js +2 -2
  827. package/esm/pn-share.entry.js.map +1 -1
  828. package/esm/pn-sidenav-level.entry.js +5 -5
  829. package/esm/pn-sidenav-level.entry.js.map +1 -1
  830. package/esm/pn-sidenav-link.entry.js +5 -5
  831. package/esm/pn-sidenav-link.entry.js.map +1 -1
  832. package/esm/{pn-sidenav-store-85bdb1e6.js → pn-sidenav-store-e2038d79.js} +2 -2
  833. package/esm/{pn-sidenav-store-85bdb1e6.js.map → pn-sidenav-store-e2038d79.js.map} +1 -1
  834. package/esm/pn-sidenav-togglebutton.entry.js +5 -5
  835. package/esm/pn-sidenav-togglebutton.entry.js.map +1 -1
  836. package/esm/pn-sidenav.entry.js +5 -5
  837. package/esm/pn-sidenav.entry.js.map +1 -1
  838. package/esm/pn-site-footer_3.entry.js +7 -7
  839. package/esm/pn-site-footer_3.entry.js.map +1 -1
  840. package/esm/pn-spotlight.entry.js +2 -2
  841. package/esm/pn-spotlight.entry.js.map +1 -1
  842. package/esm/pn-stats-info-data.entry.js +2 -2
  843. package/esm/pn-stats-info-data.entry.js.map +1 -1
  844. package/esm/pn-stats-info.entry.js +2 -2
  845. package/esm/pn-stats-info.entry.js.map +1 -1
  846. package/esm/pn-teaser-card.entry.js +5 -9
  847. package/esm/pn-teaser-card.entry.js.map +1 -1
  848. package/esm/pn-titletag.entry.js +3 -3
  849. package/esm/pn-titletag.entry.js.map +1 -1
  850. package/esm/pn-usp-promoter.entry.js +3 -3
  851. package/esm/pn-usp-promoter.entry.js.map +1 -1
  852. package/esm/pn-usp-simple.entry.js +52 -0
  853. package/esm/pn-usp-simple.entry.js.map +1 -0
  854. package/package.json +5 -3
  855. package/pn-market-web-components/index.esm.js +1 -1
  856. package/pn-market-web-components/index.esm.js.map +1 -1
  857. package/pn-market-web-components/p-015127bf.entry.js +2 -0
  858. package/pn-market-web-components/{p-c5772021.entry.js.map → p-015127bf.entry.js.map} +1 -1
  859. package/pn-market-web-components/p-04107723.entry.js +2 -0
  860. package/pn-market-web-components/p-04107723.entry.js.map +1 -0
  861. package/pn-market-web-components/p-08b473e0.entry.js +2 -0
  862. package/pn-market-web-components/{p-a38118be.entry.js.map → p-08b473e0.entry.js.map} +1 -1
  863. package/pn-market-web-components/p-0b5a125d.entry.js +2 -0
  864. package/pn-market-web-components/p-0b5a125d.entry.js.map +1 -0
  865. package/pn-market-web-components/p-0b920554.js +2 -0
  866. package/pn-market-web-components/p-0b920554.js.map +1 -0
  867. package/pn-market-web-components/p-0fc01d3f.entry.js +2 -0
  868. package/pn-market-web-components/{p-4fa5bc85.entry.js.map → p-0fc01d3f.entry.js.map} +1 -1
  869. package/pn-market-web-components/p-10776075.entry.js +2 -0
  870. package/pn-market-web-components/p-10776075.entry.js.map +1 -0
  871. package/pn-market-web-components/p-17c43a96.entry.js +2 -0
  872. package/pn-market-web-components/p-17c43a96.entry.js.map +1 -0
  873. package/pn-market-web-components/p-19bbac6d.entry.js +2 -0
  874. package/pn-market-web-components/{p-ea3d6f7e.entry.js.map → p-19bbac6d.entry.js.map} +1 -1
  875. package/pn-market-web-components/p-230ef9aa.entry.js +2 -0
  876. package/pn-market-web-components/{p-a419cd91.entry.js.map → p-230ef9aa.entry.js.map} +1 -1
  877. package/pn-market-web-components/p-268dc1fa.entry.js +2 -0
  878. package/pn-market-web-components/p-268dc1fa.entry.js.map +1 -0
  879. package/pn-market-web-components/p-28d2f7fa.entry.js +2 -0
  880. package/pn-market-web-components/p-28d2f7fa.entry.js.map +1 -0
  881. package/pn-market-web-components/p-292db484.entry.js +2 -0
  882. package/pn-market-web-components/{p-76e6708b.entry.js.map → p-292db484.entry.js.map} +1 -1
  883. package/pn-market-web-components/p-2a58d83b.entry.js +2 -0
  884. package/pn-market-web-components/{p-55643d76.entry.js.map → p-2a58d83b.entry.js.map} +1 -1
  885. package/pn-market-web-components/p-2c19edca.entry.js +2 -0
  886. package/pn-market-web-components/{p-72dbca40.entry.js.map → p-2c19edca.entry.js.map} +1 -1
  887. package/pn-market-web-components/p-2fd60147.entry.js +2 -0
  888. package/pn-market-web-components/p-2fd60147.entry.js.map +1 -0
  889. package/pn-market-web-components/p-3478f368.js +2 -0
  890. package/pn-market-web-components/p-3478f368.js.map +1 -0
  891. package/pn-market-web-components/p-34a98554.entry.js +2 -0
  892. package/pn-market-web-components/{p-cf39491b.entry.js.map → p-34a98554.entry.js.map} +1 -1
  893. package/pn-market-web-components/p-35847eda.entry.js +2 -0
  894. package/pn-market-web-components/{p-e6e012fb.entry.js.map → p-35847eda.entry.js.map} +1 -1
  895. package/pn-market-web-components/p-366fd15a.js +2 -0
  896. package/pn-market-web-components/p-366fd15a.js.map +1 -0
  897. package/pn-market-web-components/p-389a94e7.entry.js +2 -0
  898. package/pn-market-web-components/{p-190c6938.entry.js.map → p-389a94e7.entry.js.map} +1 -1
  899. package/pn-market-web-components/p-39b75c62.entry.js +2 -0
  900. package/pn-market-web-components/{p-530274ae.entry.js.map → p-39b75c62.entry.js.map} +1 -1
  901. package/pn-market-web-components/p-3d10bc37.entry.js +2 -0
  902. package/pn-market-web-components/{p-45d1e1be.entry.js.map → p-3d10bc37.entry.js.map} +1 -1
  903. package/pn-market-web-components/p-3e197670.entry.js +2 -0
  904. package/pn-market-web-components/{p-6a5f7dee.entry.js.map → p-3e197670.entry.js.map} +1 -1
  905. package/pn-market-web-components/p-40bce1b1.entry.js +2 -0
  906. package/pn-market-web-components/p-40bce1b1.entry.js.map +1 -0
  907. package/pn-market-web-components/p-41cdac85.entry.js +2 -0
  908. package/pn-market-web-components/{p-65ab3003.entry.js.map → p-41cdac85.entry.js.map} +1 -1
  909. package/pn-market-web-components/p-4aedb76c.entry.js +2 -0
  910. package/pn-market-web-components/{p-ea7b0d21.entry.js.map → p-4aedb76c.entry.js.map} +1 -1
  911. package/pn-market-web-components/p-4e924d13.entry.js +2 -0
  912. package/pn-market-web-components/p-4e924d13.entry.js.map +1 -0
  913. package/pn-market-web-components/p-4f639380.entry.js +2 -0
  914. package/pn-market-web-components/{p-aeeabb32.entry.js.map → p-4f639380.entry.js.map} +1 -1
  915. package/pn-market-web-components/p-51f136f3.entry.js +2 -0
  916. package/pn-market-web-components/p-51f136f3.entry.js.map +1 -0
  917. package/pn-market-web-components/p-542f949d.entry.js +2 -0
  918. package/pn-market-web-components/{p-77a35f5e.entry.js.map → p-542f949d.entry.js.map} +1 -1
  919. package/pn-market-web-components/p-5a981927.entry.js +2 -0
  920. package/pn-market-web-components/{p-b35cdbac.entry.js.map → p-5a981927.entry.js.map} +1 -1
  921. package/pn-market-web-components/p-5f4ccd8a.js +2 -0
  922. package/pn-market-web-components/p-5f4ccd8a.js.map +1 -0
  923. package/pn-market-web-components/p-60b77eed.entry.js +2 -0
  924. package/pn-market-web-components/{p-e916e99d.entry.js.map → p-60b77eed.entry.js.map} +1 -1
  925. package/pn-market-web-components/p-619f2143.entry.js +2 -0
  926. package/pn-market-web-components/{p-a6866467.entry.js.map → p-619f2143.entry.js.map} +1 -1
  927. package/pn-market-web-components/p-61bd81d7.entry.js +2 -0
  928. package/pn-market-web-components/{p-8c26b98d.entry.js.map → p-61bd81d7.entry.js.map} +1 -1
  929. package/pn-market-web-components/p-64851da0.entry.js +2 -0
  930. package/pn-market-web-components/{p-776f3d51.entry.js.map → p-64851da0.entry.js.map} +1 -1
  931. package/pn-market-web-components/p-659a4db5.entry.js +2 -0
  932. package/pn-market-web-components/{p-231b97e1.entry.js.map → p-659a4db5.entry.js.map} +1 -1
  933. package/pn-market-web-components/p-65a046be.entry.js +2 -0
  934. package/pn-market-web-components/{p-0ec8d040.entry.js.map → p-65a046be.entry.js.map} +1 -1
  935. package/pn-market-web-components/p-66da6e15.entry.js +2 -0
  936. package/pn-market-web-components/{p-62cabd1e.entry.js.map → p-66da6e15.entry.js.map} +1 -1
  937. package/pn-market-web-components/{p-65f243c1.js → p-6b1d045c.js} +2 -2
  938. package/pn-market-web-components/p-6b1d045c.js.map +1 -0
  939. package/pn-market-web-components/p-71db6836.entry.js +2 -0
  940. package/pn-market-web-components/{p-3fb8e665.entry.js.map → p-71db6836.entry.js.map} +1 -1
  941. package/pn-market-web-components/p-72828265.js +2 -0
  942. package/pn-market-web-components/p-72f57a04.entry.js +2 -0
  943. package/pn-market-web-components/{p-25d53df2.entry.js.map → p-72f57a04.entry.js.map} +1 -1
  944. package/pn-market-web-components/p-763a4e13.entry.js +2 -0
  945. package/pn-market-web-components/{p-fc157a1e.entry.js.map → p-763a4e13.entry.js.map} +1 -1
  946. package/pn-market-web-components/p-76c2c01f.js +2 -0
  947. package/pn-market-web-components/p-76c2c01f.js.map +1 -0
  948. package/pn-market-web-components/{p-e09a907b.js → p-793e1339.js} +2 -2
  949. package/pn-market-web-components/p-79e4715c.entry.js +2 -0
  950. package/pn-market-web-components/{p-6647d2c4.entry.js.map → p-79e4715c.entry.js.map} +1 -1
  951. package/pn-market-web-components/p-7b4f9fdf.entry.js +2 -0
  952. package/pn-market-web-components/{p-066e9db9.entry.js.map → p-7b4f9fdf.entry.js.map} +1 -1
  953. package/pn-market-web-components/p-7b7629c5.entry.js +2 -0
  954. package/pn-market-web-components/{p-24086c59.entry.js.map → p-7b7629c5.entry.js.map} +1 -1
  955. package/pn-market-web-components/p-7db6ef34.entry.js +2 -0
  956. package/pn-market-web-components/{p-4e3059dd.entry.js.map → p-7db6ef34.entry.js.map} +1 -1
  957. package/pn-market-web-components/p-809ed802.entry.js +2 -0
  958. package/pn-market-web-components/p-809ed802.entry.js.map +1 -0
  959. package/pn-market-web-components/p-82546a44.js +3 -0
  960. package/pn-market-web-components/p-82546a44.js.map +1 -0
  961. package/pn-market-web-components/p-84fc8e05.entry.js +2 -0
  962. package/pn-market-web-components/{p-25dfc349.entry.js.map → p-84fc8e05.entry.js.map} +1 -1
  963. package/pn-market-web-components/p-85b42b44.entry.js +2 -0
  964. package/pn-market-web-components/{p-e8278e9e.entry.js.map → p-85b42b44.entry.js.map} +1 -1
  965. package/pn-market-web-components/{p-2509d18d.js → p-8836de82.js} +2 -2
  966. package/pn-market-web-components/{p-560e5291.entry.js → p-8a651698.entry.js} +2 -2
  967. package/pn-market-web-components/p-8d78b631.js +2 -0
  968. package/pn-market-web-components/p-8d78b631.js.map +1 -0
  969. package/pn-market-web-components/p-8d874454.entry.js +2 -0
  970. package/pn-market-web-components/{p-b5a0275d.entry.js.map → p-8d874454.entry.js.map} +1 -1
  971. package/pn-market-web-components/p-8d98f709.entry.js +2 -0
  972. package/pn-market-web-components/{p-74fd7435.entry.js.map → p-8d98f709.entry.js.map} +1 -1
  973. package/pn-market-web-components/p-9088d3f5.entry.js +2 -0
  974. package/pn-market-web-components/{p-a72c2729.entry.js.map → p-9088d3f5.entry.js.map} +1 -1
  975. package/pn-market-web-components/p-920ce5f2.entry.js +2 -0
  976. package/pn-market-web-components/p-920ce5f2.entry.js.map +1 -0
  977. package/pn-market-web-components/{p-959a37d9.js → p-930e2943.js} +2 -2
  978. package/pn-market-web-components/p-9454075f.entry.js +2 -0
  979. package/pn-market-web-components/{p-45b8cadb.entry.js.map → p-9454075f.entry.js.map} +1 -1
  980. package/pn-market-web-components/p-95d32ab4.entry.js +2 -0
  981. package/pn-market-web-components/{p-758f1b53.entry.js.map → p-95d32ab4.entry.js.map} +1 -1
  982. package/pn-market-web-components/p-a079c496.js +2 -0
  983. package/pn-market-web-components/p-a079c496.js.map +1 -0
  984. package/pn-market-web-components/{p-eaee1dd6.entry.js → p-a73e4811.entry.js} +2 -2
  985. package/pn-market-web-components/{p-eaee1dd6.entry.js.map → p-a73e4811.entry.js.map} +1 -1
  986. package/pn-market-web-components/p-ad282b7c.entry.js +2 -0
  987. package/pn-market-web-components/{p-4d2ca281.entry.js.map → p-ad282b7c.entry.js.map} +1 -1
  988. package/pn-market-web-components/{p-155c2049.entry.js → p-ad9a7633.entry.js} +2 -2
  989. package/pn-market-web-components/p-b9590d81.entry.js +2 -0
  990. package/pn-market-web-components/{p-59549c74.entry.js.map → p-b9590d81.entry.js.map} +1 -1
  991. package/pn-market-web-components/p-c4e353b3.entry.js +2 -0
  992. package/pn-market-web-components/{p-5a1b6e6d.entry.js.map → p-c4e353b3.entry.js.map} +1 -1
  993. package/pn-market-web-components/p-c89cb749.entry.js +2 -0
  994. package/pn-market-web-components/{p-95519556.entry.js.map → p-c89cb749.entry.js.map} +1 -1
  995. package/pn-market-web-components/p-c9038b03.entry.js +2 -0
  996. package/pn-market-web-components/{p-64d0dbba.entry.js.map → p-c9038b03.entry.js.map} +1 -1
  997. package/pn-market-web-components/p-cbb1d57d.entry.js +2 -0
  998. package/pn-market-web-components/{p-6fdd5b5a.entry.js.map → p-cbb1d57d.entry.js.map} +1 -1
  999. package/pn-market-web-components/p-cc7c596e.entry.js +2 -0
  1000. package/pn-market-web-components/p-cc7c596e.entry.js.map +1 -0
  1001. package/pn-market-web-components/p-cda742ba.entry.js +2 -0
  1002. package/pn-market-web-components/p-cda742ba.entry.js.map +1 -0
  1003. package/pn-market-web-components/p-ce87ff8a.entry.js +2 -0
  1004. package/pn-market-web-components/{p-e2e3ac2f.entry.js.map → p-ce87ff8a.entry.js.map} +1 -1
  1005. package/pn-market-web-components/p-cf8a1fb9.js +2 -0
  1006. package/pn-market-web-components/p-cf8a1fb9.js.map +1 -0
  1007. package/pn-market-web-components/p-d17af75d.entry.js +2 -0
  1008. package/pn-market-web-components/{p-b693f78a.entry.js.map → p-d17af75d.entry.js.map} +1 -1
  1009. package/pn-market-web-components/p-d5c45da2.entry.js +2 -0
  1010. package/pn-market-web-components/{p-e5ae757f.entry.js.map → p-d5c45da2.entry.js.map} +1 -1
  1011. package/pn-market-web-components/p-d7170c0e.entry.js +2 -0
  1012. package/pn-market-web-components/{p-d0a085cc.entry.js.map → p-d7170c0e.entry.js.map} +1 -1
  1013. package/pn-market-web-components/p-d75a2f7c.entry.js +2 -0
  1014. package/pn-market-web-components/p-d75a2f7c.entry.js.map +1 -0
  1015. package/pn-market-web-components/p-daa74e60.entry.js +2 -0
  1016. package/pn-market-web-components/{p-7076038b.entry.js.map → p-daa74e60.entry.js.map} +1 -1
  1017. package/pn-market-web-components/p-dc2ee6f8.entry.js +2 -0
  1018. package/pn-market-web-components/p-dc2ee6f8.entry.js.map +1 -0
  1019. package/pn-market-web-components/p-e733f44f.entry.js +2 -0
  1020. package/pn-market-web-components/p-e733f44f.entry.js.map +1 -0
  1021. package/pn-market-web-components/p-e8622338.entry.js +2 -0
  1022. package/pn-market-web-components/{p-b9505c69.entry.js.map → p-e8622338.entry.js.map} +1 -1
  1023. package/pn-market-web-components/p-eb21f772.entry.js +2 -0
  1024. package/pn-market-web-components/p-eb21f772.entry.js.map +1 -0
  1025. package/pn-market-web-components/p-efab81a9.entry.js +2 -0
  1026. package/pn-market-web-components/p-efab81a9.entry.js.map +1 -0
  1027. package/pn-market-web-components/{p-278cda98.entry.js → p-f0df7694.entry.js} +4 -4
  1028. package/pn-market-web-components/{p-278cda98.entry.js.map → p-f0df7694.entry.js.map} +1 -1
  1029. package/pn-market-web-components/p-f21311ad.entry.js +2 -0
  1030. package/pn-market-web-components/{p-545c24c0.entry.js.map → p-f21311ad.entry.js.map} +1 -1
  1031. package/pn-market-web-components/p-f28059f4.entry.js +2 -0
  1032. package/pn-market-web-components/{p-856c235c.entry.js.map → p-f28059f4.entry.js.map} +1 -1
  1033. package/pn-market-web-components/p-f28d0971.entry.js +2 -0
  1034. package/pn-market-web-components/{p-54f3a3b6.entry.js.map → p-f28d0971.entry.js.map} +1 -1
  1035. package/pn-market-web-components/p-f4b14be8.entry.js +2 -0
  1036. package/pn-market-web-components/{p-1ec21bd6.entry.js.map → p-f4b14be8.entry.js.map} +1 -1
  1037. package/pn-market-web-components/p-f5d03222.entry.js +2 -0
  1038. package/pn-market-web-components/{p-90242f18.entry.js.map → p-f5d03222.entry.js.map} +1 -1
  1039. package/pn-market-web-components/{p-8af1b914.js → p-f9083b7a.js} +2 -2
  1040. package/pn-market-web-components/{p-cafe11a9.js → p-fb4cdf98.js} +2 -2
  1041. package/pn-market-web-components/p-fe466661.js +2 -0
  1042. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  1043. package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
  1044. package/types/components/cards/pn-teaser-card/pn-teaser-card.d.ts +1 -1
  1045. package/types/components/input/pn-address-autofill/pn-address-autofill.d.ts +2 -3
  1046. package/types/components/input/pn-address-autofill/translations.d.ts +3 -0
  1047. package/types/components/input/pn-marketweb-search/pn-marketweb-search.d.ts +1 -1
  1048. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.d.ts +0 -2
  1049. package/types/components/media/pn-media-block/pn-media-block.d.ts +1 -1
  1050. package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.d.ts +10 -0
  1051. package/types/components/widgets/pn-chat/pn-chat-message/pn-chat-message.stories.d.ts +7 -0
  1052. package/types/components/widgets/pn-chat/pn-chat-stories-constants.d.ts +164 -0
  1053. package/types/components/widgets/pn-chat/pn-chat.d.ts +72 -0
  1054. package/types/components/widgets/pn-chat/pn-chat.models.d.ts +22 -0
  1055. package/types/components/widgets/pn-chat/pn-chat.service.d.ts +26 -0
  1056. package/types/components/widgets/pn-chat/pn-chat.stories.d.ts +8 -0
  1057. package/types/components/widgets/pn-chat/translations.d.ts +77 -0
  1058. package/types/components/widgets/pn-chat/types.d.ts +68 -0
  1059. package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.d.ts +23 -0
  1060. package/types/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.stories.d.ts +5 -0
  1061. package/types/components/widgets/pn-level-up/pn-level-up.d.ts +43 -0
  1062. package/types/components/widgets/pn-level-up/pn-level-up.models.d.ts +22 -0
  1063. package/types/components/widgets/pn-level-up/pn-level-up.service.d.ts +16 -0
  1064. package/types/components/widgets/pn-level-up/pn-level-up.stories.d.ts +7 -0
  1065. package/types/components/widgets/pn-level-up/types.d.ts +1 -0
  1066. package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.d.ts +48 -0
  1067. package/types/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.stories.d.ts +7 -0
  1068. package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.d.ts +55 -0
  1069. package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.service.d.ts +11 -0
  1070. package/types/components/widgets/pn-marketweb-table/pn-marketweb-table.stories.d.ts +26 -0
  1071. package/types/components/widgets/pn-marketweb-table/translations.d.ts +72 -0
  1072. package/types/components/widgets/pn-marketweb-table/types.d.ts +38 -0
  1073. package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.d.ts +23 -0
  1074. package/types/components/widgets/pn-qr-code-generator/pn-qr-code-generator.stories.d.ts +5 -0
  1075. package/types/components/widgets/pn-search/pn-search.d.ts +29 -0
  1076. package/types/components/widgets/pn-search/pn-search.stories.d.ts +7 -0
  1077. package/types/components/widgets/pn-usp-simple/pn-usp-simple.d.ts +19 -0
  1078. package/types/components/widgets/pn-usp-simple/pn-usp-simple.stories.d.ts +7 -0
  1079. package/types/components.d.ts +393 -8
  1080. package/types/globals/HeadingTag.d.ts +1 -1
  1081. package/types/globals/LocalStorageService.d.ts +14 -0
  1082. package/types/globals/ScreensizeDetect.d.ts +29 -0
  1083. package/types/globals/types.d.ts +18 -0
  1084. package/types/utils/utils.d.ts +1 -0
  1085. package/umd/pn-marketweb-init.js +1 -1
  1086. package/umd/pn-marketweb-salesforce.js +1 -1
  1087. package/vscode-data.json +677 -3
  1088. package/cjs/FetchHelper-e951824f.js.map +0 -1
  1089. package/cjs/index-34e1c673.js.map +0 -1
  1090. package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js.map +0 -1
  1091. package/components/pn-marketweb-siteheader-login-mypage-button2.js +0 -38
  1092. package/components/pn-marketweb-siteheader-login-mypage-button2.js.map +0 -1
  1093. package/esm/FetchHelper-746f2bb6.js.map +0 -1
  1094. package/esm/index-51d67461.js.map +0 -1
  1095. package/esm/pn-marketweb-siteheader-login-button_5.entry.js.map +0 -1
  1096. package/pn-market-web-components/p-066e9db9.entry.js +0 -2
  1097. package/pn-market-web-components/p-0ec8d040.entry.js +0 -2
  1098. package/pn-market-web-components/p-13190b30.js +0 -2
  1099. package/pn-market-web-components/p-190c6938.entry.js +0 -2
  1100. package/pn-market-web-components/p-1ec21bd6.entry.js +0 -2
  1101. package/pn-market-web-components/p-231b97e1.entry.js +0 -2
  1102. package/pn-market-web-components/p-23d69d70.entry.js +0 -2
  1103. package/pn-market-web-components/p-23d69d70.entry.js.map +0 -1
  1104. package/pn-market-web-components/p-24086c59.entry.js +0 -2
  1105. package/pn-market-web-components/p-25d53df2.entry.js +0 -2
  1106. package/pn-market-web-components/p-25dfc349.entry.js +0 -2
  1107. package/pn-market-web-components/p-2b03a4e1.entry.js +0 -2
  1108. package/pn-market-web-components/p-2b03a4e1.entry.js.map +0 -1
  1109. package/pn-market-web-components/p-3fb8e665.entry.js +0 -2
  1110. package/pn-market-web-components/p-45b8cadb.entry.js +0 -2
  1111. package/pn-market-web-components/p-45d1e1be.entry.js +0 -2
  1112. package/pn-market-web-components/p-4d2ca281.entry.js +0 -2
  1113. package/pn-market-web-components/p-4e3059dd.entry.js +0 -2
  1114. package/pn-market-web-components/p-4fa5bc85.entry.js +0 -2
  1115. package/pn-market-web-components/p-530274ae.entry.js +0 -2
  1116. package/pn-market-web-components/p-545c24c0.entry.js +0 -2
  1117. package/pn-market-web-components/p-54f3a3b6.entry.js +0 -2
  1118. package/pn-market-web-components/p-55643d76.entry.js +0 -2
  1119. package/pn-market-web-components/p-572c4d81.entry.js +0 -2
  1120. package/pn-market-web-components/p-572c4d81.entry.js.map +0 -1
  1121. package/pn-market-web-components/p-59549c74.entry.js +0 -2
  1122. package/pn-market-web-components/p-59cb7166.entry.js +0 -2
  1123. package/pn-market-web-components/p-59cb7166.entry.js.map +0 -1
  1124. package/pn-market-web-components/p-5a1b6e6d.entry.js +0 -2
  1125. package/pn-market-web-components/p-5d06e48f.entry.js +0 -2
  1126. package/pn-market-web-components/p-5d06e48f.entry.js.map +0 -1
  1127. package/pn-market-web-components/p-62cabd1e.entry.js +0 -2
  1128. package/pn-market-web-components/p-64d0dbba.entry.js +0 -2
  1129. package/pn-market-web-components/p-652f97b9.js +0 -2
  1130. package/pn-market-web-components/p-65ab3003.entry.js +0 -2
  1131. package/pn-market-web-components/p-65f243c1.js.map +0 -1
  1132. package/pn-market-web-components/p-6647d2c4.entry.js +0 -2
  1133. package/pn-market-web-components/p-6a5f7dee.entry.js +0 -2
  1134. package/pn-market-web-components/p-6fdd5b5a.entry.js +0 -2
  1135. package/pn-market-web-components/p-7076038b.entry.js +0 -2
  1136. package/pn-market-web-components/p-725aba56.entry.js +0 -2
  1137. package/pn-market-web-components/p-725aba56.entry.js.map +0 -1
  1138. package/pn-market-web-components/p-72dbca40.entry.js +0 -2
  1139. package/pn-market-web-components/p-74fd7435.entry.js +0 -2
  1140. package/pn-market-web-components/p-758f1b53.entry.js +0 -2
  1141. package/pn-market-web-components/p-76e6708b.entry.js +0 -2
  1142. package/pn-market-web-components/p-776f3d51.entry.js +0 -2
  1143. package/pn-market-web-components/p-77a35f5e.entry.js +0 -2
  1144. package/pn-market-web-components/p-7c3091eb.entry.js +0 -2
  1145. package/pn-market-web-components/p-7c3091eb.entry.js.map +0 -1
  1146. package/pn-market-web-components/p-856c235c.entry.js +0 -2
  1147. package/pn-market-web-components/p-8c26b98d.entry.js +0 -2
  1148. package/pn-market-web-components/p-90242f18.entry.js +0 -2
  1149. package/pn-market-web-components/p-94a69959.entry.js +0 -2
  1150. package/pn-market-web-components/p-94a69959.entry.js.map +0 -1
  1151. package/pn-market-web-components/p-95519556.entry.js +0 -2
  1152. package/pn-market-web-components/p-a38118be.entry.js +0 -2
  1153. package/pn-market-web-components/p-a419cd91.entry.js +0 -2
  1154. package/pn-market-web-components/p-a54a298b.entry.js +0 -2
  1155. package/pn-market-web-components/p-a54a298b.entry.js.map +0 -1
  1156. package/pn-market-web-components/p-a6866467.entry.js +0 -2
  1157. package/pn-market-web-components/p-a72c2729.entry.js +0 -2
  1158. package/pn-market-web-components/p-aeeabb32.entry.js +0 -2
  1159. package/pn-market-web-components/p-b35cdbac.entry.js +0 -2
  1160. package/pn-market-web-components/p-b5a0275d.entry.js +0 -2
  1161. package/pn-market-web-components/p-b693f78a.entry.js +0 -2
  1162. package/pn-market-web-components/p-b9340e9c.entry.js +0 -2
  1163. package/pn-market-web-components/p-b9340e9c.entry.js.map +0 -1
  1164. package/pn-market-web-components/p-b9505c69.entry.js +0 -2
  1165. package/pn-market-web-components/p-bb1c965e.js +0 -3
  1166. package/pn-market-web-components/p-bb1c965e.js.map +0 -1
  1167. package/pn-market-web-components/p-c5772021.entry.js +0 -2
  1168. package/pn-market-web-components/p-cf39491b.entry.js +0 -2
  1169. package/pn-market-web-components/p-d0a085cc.entry.js +0 -2
  1170. package/pn-market-web-components/p-e2e3ac2f.entry.js +0 -2
  1171. package/pn-market-web-components/p-e5ae757f.entry.js +0 -2
  1172. package/pn-market-web-components/p-e6e012fb.entry.js +0 -2
  1173. package/pn-market-web-components/p-e8278e9e.entry.js +0 -2
  1174. package/pn-market-web-components/p-e916e99d.entry.js +0 -2
  1175. package/pn-market-web-components/p-ea3d6f7e.entry.js +0 -2
  1176. package/pn-market-web-components/p-ea7b0d21.entry.js +0 -2
  1177. package/pn-market-web-components/p-fc157a1e.entry.js +0 -2
  1178. /package/pn-market-web-components/{p-652f97b9.js.map → p-72828265.js.map} +0 -0
  1179. /package/pn-market-web-components/{p-e09a907b.js.map → p-793e1339.js.map} +0 -0
  1180. /package/pn-market-web-components/{p-2509d18d.js.map → p-8836de82.js.map} +0 -0
  1181. /package/pn-market-web-components/{p-560e5291.entry.js.map → p-8a651698.entry.js.map} +0 -0
  1182. /package/pn-market-web-components/{p-959a37d9.js.map → p-930e2943.js.map} +0 -0
  1183. /package/pn-market-web-components/{p-155c2049.entry.js.map → p-ad9a7633.entry.js.map} +0 -0
  1184. /package/pn-market-web-components/{p-8af1b914.js.map → p-f9083b7a.js.map} +0 -0
  1185. /package/pn-market-web-components/{p-cafe11a9.js.map → p-fb4cdf98.js.map} +0 -0
  1186. /package/pn-market-web-components/{p-13190b30.js.map → p-fe466661.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as e,g as t,h as o,d as i}from"./p-82546a44.js";import{s as n}from"./p-f9083b7a.js";import{a}from"./p-36b39340.js";import"./p-8836de82.js";const l="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-profile-modal{margin:1em auto;display:flex;flex-direction:column;min-width:42.4rem;max-width:38.4rem;width:100%;padding:1.6rem;border-radius:8px;background:#ffffff}.profilemodal-container{padding:3.2rem;border-radius:8px;box-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);border:0.1rem solid #f3f2f2;display:flex;flex-direction:column}.profilemodal-logo{display:none}.profilemodal-logo svg{display:block;margin:0 auto 2.4rem}.profilemodal-heading{text-align:center;font-weight:700}.profilemodal-content{margin:1.6rem 0 0}.profilemodal-content pn-segmented-control{transform:translateZ(0) translateX(-50%);left:50%}.profilemodal-cta{margin:1.6rem 0 0;transition:max-height 0.15s ease, opacity 0.15s ease;overflow:hidden;opacity:1}.profilemodal-cta[aria-hidden=true]{max-height:0;opacity:1}.profilemodal-cta>pn-button{width:100%}";const d=l;const r=class{constructor(t){e(this,t);this.heading=null;this.continueCtaText=null;this.choosenCompanyText=null;this.toText=null;this.chooseCustomerNumberText=null;this.isLoading=true}get hostElement(){return t(this)}componentWillLoad(){this.populateState();this.bindEvents()}populateState(){n.i18n.chooseCustomerNumberText=this.chooseCustomerNumberText;n.i18n.choosenCompanyText=this.choosenCompanyText;n.i18n.toText=this.toText;const e=this.hostElement.querySelector('pn-profile-modal-type[selected="true"]');if(e){n.selectedType=e.getAttribute("name")}}bindEvents(){const e=this.hostElement.querySelector("pn-segmented-control");if(e){e.addEventListener("change",this.onSegmentControlChange.bind(this))}}onSegmentControlChange(e){const t=e.target.value;const o=this.hostElement.querySelector(`[typeid="${t}"]`);if(o){const e=[...this.hostElement.querySelectorAll("pn-profile-modal-type")];e.forEach((e=>{e.setAttribute("selected",(e.getAttribute("typeid")===t)+"")}))}}onCTAClick(){if(!n.selectedUrl){console.log("no Url as been selected, will not continue")}}onUrlSelected(e){if(!e||!e.detail){return}n.selectedUrl=e.detail;const t=this.hostElement.querySelector(".profilemodal-cta pn-button");if(t){t.scrollIntoView({block:"start",inline:"nearest",behavior:"smooth"})}}render(){return o(i,{key:"cfdda32b80bb34f0474d02f259015ef573d4204d"},o("div",{key:"2a4fa8bb08866ac7639f6128766bbbc7a8c83d4a",class:"profilemodal-container"},o("div",{key:"22a58e5ffb7e1d916af69443a0b7bcd0c9fcf64d",class:"profilemodal-logo"},o("svg",{key:"30dd9d63884248e6d9b80ef4a2246b58860630f4",viewBox:"0 0 133 26",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"17.1rem",height:"3.2rem"},o("path",{key:"84a14c530eab18959357c5723ed263a6427b7247","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#00A0D6",d:"M132.749 0.333618V20.9198H126.976V19.3809C126.976 19.3809 125.475 21.4316 122.191 21.4316C117.381 21.4316 114.662 17.7015 114.662 13.0327C114.662 8.47612 117.776 4.7187 122.617 4.7187C125.589 4.7187 126.976 6.19924 126.976 6.19924V1.47206L132.749 0.333618ZM54.2322 1.67091H60.0055V5.20216H65.3564L62.7235 10.0999H60.0055V20.9198H54.2322V1.67091ZM28.2484 21.4023C32.8051 21.4023 37.6446 18.8974 37.6446 12.9187C37.6446 7.16616 32.9746 4.69042 28.4461 4.69042C23.8042 4.69042 19.049 7.25192 19.049 13.175C19.049 18.9549 23.7199 21.4023 28.2484 21.4023ZM28.3327 9.78608C30.2294 9.78608 31.5032 11.1243 31.5032 13.0902C31.5032 14.9392 30.2575 16.3076 28.3327 16.3076C26.437 16.3076 25.1351 14.9392 25.1351 13.0902C25.1351 11.1243 26.4089 9.78608 28.3327 9.78608ZM47.0708 10.8963C46.8158 10.8574 46.5804 10.8239 46.3639 10.7931C44.9938 10.5979 44.3827 10.5108 44.3827 9.87279C44.3827 9.24608 45.146 8.9888 46.6465 8.9888C49.1941 8.9888 51.4298 9.84357 51.4298 9.84357L52.4488 5.43022C52.4488 5.43022 49.9865 4.71869 46.7027 4.71869C41.1841 4.71869 38.2965 6.85422 38.2965 10.2705C38.2965 12.9187 39.8532 14.485 44.4108 15.0825C46.3355 15.3388 47.0427 15.4519 47.0427 16.1644C47.0427 16.8486 46.2784 17.0757 44.9484 17.0757C42.0608 17.0757 39.3437 15.8515 39.3437 15.8515L38.1832 20.4081C38.1832 20.4081 40.9003 21.375 44.4389 21.375C50.3826 21.375 53.1279 19.2668 53.1279 15.8223C53.1279 13.0902 51.6555 11.6087 47.0708 10.8963ZM76.1968 4.69042C72.8287 4.69042 71.6111 6.74018 71.6111 6.74018V5.20216H65.8369V20.9198H71.6111V12.8612C71.6111 10.8689 72.3483 9.95666 74.1297 9.95666C75.913 9.95666 76.1687 11.4381 76.1687 13.3173V20.9198H81.9982V11.2666C81.9982 6.93903 79.9339 4.69042 76.1968 4.69042ZM123.948 9.8153C125.843 9.8153 127.144 11.1818 127.144 13.0327C127.144 14.9958 125.87 16.335 123.948 16.335C122.051 16.335 120.778 14.9958 120.778 13.0327C120.778 11.1818 122.024 9.8153 123.948 9.8153ZM112.456 10.213C110.53 10.213 109.088 10.9537 109.088 13.3456V20.9198H103.313V5.20216H109.088V7.02479C109.088 7.02479 109.965 4.97409 113.191 4.97409C114.181 4.97409 114.55 5.14467 114.55 5.14467L114.408 10.4976C114.408 10.4976 113.643 10.213 112.456 10.213ZM11.9728 13.0902C11.9728 11.1243 10.699 9.78608 8.80235 9.78608C6.87853 9.78608 5.6038 11.1243 5.6038 13.0902C5.6038 14.9392 6.9057 16.3076 8.80235 16.3076C10.728 16.3076 11.9728 14.9392 11.9728 13.0902ZM10.1333 21.4023C14.9728 21.4023 18.0871 17.6468 18.0871 13.0902C18.0871 8.41958 15.3699 4.69042 10.5576 4.69042C7.27472 4.69042 5.77426 6.74018 5.77426 6.74018V5.20216H0V25.4453H5.77426V19.9227C5.77426 19.9227 7.16139 21.4023 10.1333 21.4023ZM95.7984 13.0902C95.7984 11.1243 94.5246 9.78608 92.6279 9.78608C90.7032 9.78608 89.4284 11.1243 89.4284 13.0902C89.4284 14.9392 90.7322 16.3076 92.6279 16.3076C94.5536 16.3076 95.7984 14.9392 95.7984 13.0902ZM92.5427 21.4023C97.0994 21.4023 101.94 18.8974 101.94 12.9187C101.94 7.16616 97.2698 4.69042 92.7413 4.69042C88.0984 4.69042 83.3442 7.25192 83.3442 13.175C83.3442 18.9549 88.0142 21.4023 92.5427 21.4023Z"}))),this.heading===""?null:o("div",{class:"profilemodal-heading"},this.heading),o("div",{key:"2ec735cc3c4d5280b3e482f80d224d1b87c3652a",class:"profilemodal-content"},o("slot",{key:"3523c9e2bb04f7d626720bee72a7a1581e54cb14"})),this.continueCtaText?o("div",{class:"profilemodal-cta","aria-hidden":!n.selectedUrl+""},o("pn-button",{onclick:this.onCTAClick,href:n.selectedUrl,icon:a},this.continueCtaText)):null))}};r.style=d;export{r as pn_profile_modal};
2
+ //# sourceMappingURL=p-c89cb749.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["pnProfileModalCss","PnProfileModalStyle0","PnProfileModal","componentWillLoad","this","populateState","bindEvents","state","i18n","chooseCustomerNumberText","choosenCompanyText","toText","selectedType","hostElement","querySelector","getAttribute","segmentControl","addEventListener","onSegmentControlChange","bind","e","contentId","target","value","content","types","querySelectorAll","forEach","type","setAttribute","onCTAClick","selectedUrl","console","log","onUrlSelected","detail","ctaBtn","scrollIntoView","block","inline","behavior","render","h","Host","key","class","viewBox","fill","xmlns","width","height","d","heading","continueCtaText","onclick","href","icon","arrow_right"],"sources":["src/components/profile/pn-profile-modal/pn-profile-modal.scss?tag=pn-profile-modal","src/components/profile/pn-profile-modal/pn-profile-modal.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-profile-modal {\n margin: 1em auto;\n display: flex;\n flex-direction: column;\n min-width: 42.4rem;\n max-width: 38.4rem;\n width: 100%;\n padding: 1.6rem;\n border-radius: 8px;\n background: $white;\n}\n\n.profilemodal-container {\n padding: 3.2rem;\n border-radius: 8px;\n box-shadow:\n 0 0.06rem 0.18rem rgba(0, 0, 0, 0.1),\n 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);\n border: 0.1rem solid $gray50;\n display: flex;\n flex-direction: column;\n}\n\n.profilemodal-logo {\n display: none;\n svg {\n display: block;\n margin: 0 auto 2.4rem;\n }\n}\n\n.profilemodal-heading {\n text-align: center;\n font-weight: 700;\n}\n\n.profilemodal-content {\n margin: 1.6rem 0 0;\n pn-segmented-control {\n transform: translateZ(0) translateX(-50%);\n left: 50%;\n }\n}\n\n.profilemodal-cta {\n margin: 1.6rem 0 0;\n transition:\n max-height 0.15s ease,\n opacity 0.15s ease;\n overflow: hidden;\n opacity: 1;\n &[aria-hidden='true'] {\n max-height: 0;\n opacity: 1;\n }\n > pn-button {\n width: 100%;\n }\n}\n","import { Component, Prop, h, State, Element, Listen, Watch, Host, Event, EventEmitter } from '@stencil/core';\n\nimport state from './pn-profile-modal-store';\nimport { arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n@Component({\n tag: 'pn-profile-modal',\n styleUrl: 'pn-profile-modal.scss',\n})\nexport class PnProfileModal {\n @Element() hostElement: Element;\n\n @Prop() heading: string = null;\n @Prop() continueCtaText: string = null;\n @Prop() choosenCompanyText: string = null;\n @Prop() toText: string = null;\n @Prop() chooseCustomerNumberText: string = null;\n\n @State() isLoading: boolean = true;\n\n componentWillLoad() {\n this.populateState();\n this.bindEvents();\n }\n populateState() {\n state.i18n.chooseCustomerNumberText = this.chooseCustomerNumberText;\n state.i18n.choosenCompanyText = this.choosenCompanyText;\n state.i18n.toText = this.toText;\n const selectedType = this.hostElement.querySelector('pn-profile-modal-type[selected=\"true\"]');\n if (selectedType) {\n state.selectedType = selectedType.getAttribute('name');\n }\n }\n bindEvents() {\n const segmentControl = this.hostElement.querySelector('pn-segmented-control');\n if (segmentControl) {\n segmentControl.addEventListener('change', this.onSegmentControlChange.bind(this));\n }\n }\n onSegmentControlChange(e) {\n const contentId = e.target.value;\n const content = this.hostElement.querySelector(`[typeid=\"${contentId}\"]`);\n if (content) {\n const types = [...this.hostElement.querySelectorAll('pn-profile-modal-type')];\n types.forEach(type => {\n type.setAttribute('selected', (type.getAttribute('typeid') === contentId) + '');\n });\n }\n }\n\n onCTAClick() {\n if (!state.selectedUrl) {\n console.log('no Url as been selected, will not continue');\n }\n }\n @Listen('urlSelected')\n onUrlSelected(e) {\n if (!e || !e.detail) {\n return;\n }\n state.selectedUrl = e.detail;\n const ctaBtn = this.hostElement.querySelector('.profilemodal-cta pn-button');\n if (ctaBtn) {\n ctaBtn.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"profilemodal-container\">\n <div class=\"profilemodal-logo\">\n <svg viewBox=\"0 0 133 26\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" width=\"17.1rem\" height=\"3.2rem\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n fill=\"#00A0D6\"\n d=\"M132.749 0.333618V20.9198H126.976V19.3809C126.976 19.3809 125.475 21.4316 122.191 21.4316C117.381 21.4316 114.662 17.7015 114.662 13.0327C114.662 8.47612 117.776 4.7187 122.617 4.7187C125.589 4.7187 126.976 6.19924 126.976 6.19924V1.47206L132.749 0.333618ZM54.2322 1.67091H60.0055V5.20216H65.3564L62.7235 10.0999H60.0055V20.9198H54.2322V1.67091ZM28.2484 21.4023C32.8051 21.4023 37.6446 18.8974 37.6446 12.9187C37.6446 7.16616 32.9746 4.69042 28.4461 4.69042C23.8042 4.69042 19.049 7.25192 19.049 13.175C19.049 18.9549 23.7199 21.4023 28.2484 21.4023ZM28.3327 9.78608C30.2294 9.78608 31.5032 11.1243 31.5032 13.0902C31.5032 14.9392 30.2575 16.3076 28.3327 16.3076C26.437 16.3076 25.1351 14.9392 25.1351 13.0902C25.1351 11.1243 26.4089 9.78608 28.3327 9.78608ZM47.0708 10.8963C46.8158 10.8574 46.5804 10.8239 46.3639 10.7931C44.9938 10.5979 44.3827 10.5108 44.3827 9.87279C44.3827 9.24608 45.146 8.9888 46.6465 8.9888C49.1941 8.9888 51.4298 9.84357 51.4298 9.84357L52.4488 5.43022C52.4488 5.43022 49.9865 4.71869 46.7027 4.71869C41.1841 4.71869 38.2965 6.85422 38.2965 10.2705C38.2965 12.9187 39.8532 14.485 44.4108 15.0825C46.3355 15.3388 47.0427 15.4519 47.0427 16.1644C47.0427 16.8486 46.2784 17.0757 44.9484 17.0757C42.0608 17.0757 39.3437 15.8515 39.3437 15.8515L38.1832 20.4081C38.1832 20.4081 40.9003 21.375 44.4389 21.375C50.3826 21.375 53.1279 19.2668 53.1279 15.8223C53.1279 13.0902 51.6555 11.6087 47.0708 10.8963ZM76.1968 4.69042C72.8287 4.69042 71.6111 6.74018 71.6111 6.74018V5.20216H65.8369V20.9198H71.6111V12.8612C71.6111 10.8689 72.3483 9.95666 74.1297 9.95666C75.913 9.95666 76.1687 11.4381 76.1687 13.3173V20.9198H81.9982V11.2666C81.9982 6.93903 79.9339 4.69042 76.1968 4.69042ZM123.948 9.8153C125.843 9.8153 127.144 11.1818 127.144 13.0327C127.144 14.9958 125.87 16.335 123.948 16.335C122.051 16.335 120.778 14.9958 120.778 13.0327C120.778 11.1818 122.024 9.8153 123.948 9.8153ZM112.456 10.213C110.53 10.213 109.088 10.9537 109.088 13.3456V20.9198H103.313V5.20216H109.088V7.02479C109.088 7.02479 109.965 4.97409 113.191 4.97409C114.181 4.97409 114.55 5.14467 114.55 5.14467L114.408 10.4976C114.408 10.4976 113.643 10.213 112.456 10.213ZM11.9728 13.0902C11.9728 11.1243 10.699 9.78608 8.80235 9.78608C6.87853 9.78608 5.6038 11.1243 5.6038 13.0902C5.6038 14.9392 6.9057 16.3076 8.80235 16.3076C10.728 16.3076 11.9728 14.9392 11.9728 13.0902ZM10.1333 21.4023C14.9728 21.4023 18.0871 17.6468 18.0871 13.0902C18.0871 8.41958 15.3699 4.69042 10.5576 4.69042C7.27472 4.69042 5.77426 6.74018 5.77426 6.74018V5.20216H0V25.4453H5.77426V19.9227C5.77426 19.9227 7.16139 21.4023 10.1333 21.4023ZM95.7984 13.0902C95.7984 11.1243 94.5246 9.78608 92.6279 9.78608C90.7032 9.78608 89.4284 11.1243 89.4284 13.0902C89.4284 14.9392 90.7322 16.3076 92.6279 16.3076C94.5536 16.3076 95.7984 14.9392 95.7984 13.0902ZM92.5427 21.4023C97.0994 21.4023 101.94 18.8974 101.94 12.9187C101.94 7.16616 97.2698 4.69042 92.7413 4.69042C88.0984 4.69042 83.3442 7.25192 83.3442 13.175C83.3442 18.9549 88.0142 21.4023 92.5427 21.4023Z\"\n ></path>\n </svg>\n </div>\n\n {this.heading === '' ? null : <div class=\"profilemodal-heading\">{this.heading}</div>}\n <div class=\"profilemodal-content\">\n <slot />\n </div>\n {this.continueCtaText ? (\n <div class=\"profilemodal-cta\" aria-hidden={!state.selectedUrl + ''}>\n <pn-button onclick={this.onCTAClick} href={state.selectedUrl} icon={arrow_right}>\n {this.continueCtaText}\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yJAAA,MAAMA,EAAoB,o7BAC1B,MAAAC,EAAeD,E,MCOFE,EAAc,M,sCAGC,K,qBACQ,K,wBACG,K,YACZ,K,8BACkB,K,eAEb,I,kCAE9B,iBAAAC,GACEC,KAAKC,gBACLD,KAAKE,Y,CAEP,aAAAD,GACEE,EAAMC,KAAKC,yBAA2BL,KAAKK,yBAC3CF,EAAMC,KAAKE,mBAAqBN,KAAKM,mBACrCH,EAAMC,KAAKG,OAASP,KAAKO,OACzB,MAAMC,EAAeR,KAAKS,YAAYC,cAAc,0CACpD,GAAIF,EAAc,CAChBL,EAAMK,aAAeA,EAAaG,aAAa,O,EAGnD,UAAAT,GACE,MAAMU,EAAiBZ,KAAKS,YAAYC,cAAc,wBACtD,GAAIE,EAAgB,CAClBA,EAAeC,iBAAiB,SAAUb,KAAKc,uBAAuBC,KAAKf,M,EAG/E,sBAAAc,CAAuBE,GACrB,MAAMC,EAAYD,EAAEE,OAAOC,MAC3B,MAAMC,EAAUpB,KAAKS,YAAYC,cAAc,YAAYO,OAC3D,GAAIG,EAAS,CACX,MAAMC,EAAQ,IAAIrB,KAAKS,YAAYa,iBAAiB,0BACpDD,EAAME,SAAQC,IACZA,EAAKC,aAAa,YAAaD,EAAKb,aAAa,YAAcM,GAAa,GAAG,G,EAKrF,UAAAS,GACE,IAAKvB,EAAMwB,YAAa,CACtBC,QAAQC,IAAI,6C,EAIhB,aAAAC,CAAcd,GACZ,IAAKA,IAAMA,EAAEe,OAAQ,CACnB,M,CAEF5B,EAAMwB,YAAcX,EAAEe,OACtB,MAAMC,EAAShC,KAAKS,YAAYC,cAAc,+BAC9C,GAAIsB,EAAQ,CACVA,EAAOC,eAAe,CAAEC,MAAO,QAASC,OAAQ,UAAWC,SAAU,U,EAIzE,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBACTH,EAAA,OAAAE,IAAA,2CAAKE,QAAQ,aAAaC,KAAK,OAAOC,MAAM,6BAA6BC,MAAM,UAAUC,OAAO,UAC9FR,EAAA,QAAAE,IAAA,uDACY,UAAS,YACT,UACVG,KAAK,UACLI,EAAE,68FAKP/C,KAAKgD,UAAY,GAAK,KAAOV,EAAA,OAAKG,MAAM,wBAAwBzC,KAAKgD,SACtEV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wBACTH,EAAA,QAAAE,IAAA,8CAEDxC,KAAKiD,gBACJX,EAAA,OAAKG,MAAM,mBAAkB,eAAetC,EAAMwB,YAAc,IAC9DW,EAAA,aAAWY,QAASlD,KAAK0B,WAAYyB,KAAMhD,EAAMwB,YAAayB,KAAMC,GACjErD,KAAKiD,kBAGR,M","ignoreList":[]}
1
+ {"version":3,"names":["pnProfileModalCss","PnProfileModalStyle0","PnProfileModal","componentWillLoad","this","populateState","bindEvents","state","i18n","chooseCustomerNumberText","choosenCompanyText","toText","selectedType","hostElement","querySelector","getAttribute","segmentControl","addEventListener","onSegmentControlChange","bind","e","contentId","target","value","content","types","querySelectorAll","forEach","type","setAttribute","onCTAClick","selectedUrl","console","log","onUrlSelected","detail","ctaBtn","scrollIntoView","block","inline","behavior","render","h","Host","key","class","viewBox","fill","xmlns","width","height","d","heading","continueCtaText","onclick","href","icon","arrow_right"],"sources":["src/components/profile/pn-profile-modal/pn-profile-modal.scss?tag=pn-profile-modal","src/components/profile/pn-profile-modal/pn-profile-modal.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-profile-modal {\n margin: 1em auto;\n display: flex;\n flex-direction: column;\n min-width: 42.4rem;\n max-width: 38.4rem;\n width: 100%;\n padding: 1.6rem;\n border-radius: 8px;\n background: $white;\n}\n\n.profilemodal-container {\n padding: 3.2rem;\n border-radius: 8px;\n box-shadow:\n 0 0.06rem 0.18rem rgba(0, 0, 0, 0.1),\n 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);\n border: 0.1rem solid $gray50;\n display: flex;\n flex-direction: column;\n}\n\n.profilemodal-logo {\n display: none;\n svg {\n display: block;\n margin: 0 auto 2.4rem;\n }\n}\n\n.profilemodal-heading {\n text-align: center;\n font-weight: 700;\n}\n\n.profilemodal-content {\n margin: 1.6rem 0 0;\n pn-segmented-control {\n transform: translateZ(0) translateX(-50%);\n left: 50%;\n }\n}\n\n.profilemodal-cta {\n margin: 1.6rem 0 0;\n transition:\n max-height 0.15s ease,\n opacity 0.15s ease;\n overflow: hidden;\n opacity: 1;\n &[aria-hidden='true'] {\n max-height: 0;\n opacity: 1;\n }\n > pn-button {\n width: 100%;\n }\n}\n","import { Component, Prop, h, State, Element, Listen, Watch, Host, Event, EventEmitter } from '@stencil/core';\n\nimport state from './pn-profile-modal-store';\nimport { arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n@Component({\n tag: 'pn-profile-modal',\n styleUrl: 'pn-profile-modal.scss',\n})\nexport class PnProfileModal {\n @Element() hostElement: Element;\n\n @Prop() heading: string = null;\n @Prop() continueCtaText: string = null;\n @Prop() choosenCompanyText: string = null;\n @Prop() toText: string = null;\n @Prop() chooseCustomerNumberText: string = null;\n\n @State() isLoading: boolean = true;\n\n componentWillLoad() {\n this.populateState();\n this.bindEvents();\n }\n populateState() {\n state.i18n.chooseCustomerNumberText = this.chooseCustomerNumberText;\n state.i18n.choosenCompanyText = this.choosenCompanyText;\n state.i18n.toText = this.toText;\n const selectedType = this.hostElement.querySelector('pn-profile-modal-type[selected=\"true\"]');\n if (selectedType) {\n state.selectedType = selectedType.getAttribute('name');\n }\n }\n bindEvents() {\n const segmentControl = this.hostElement.querySelector('pn-segmented-control');\n if (segmentControl) {\n segmentControl.addEventListener('change', this.onSegmentControlChange.bind(this));\n }\n }\n onSegmentControlChange(e) {\n const contentId = e.target.value;\n const content = this.hostElement.querySelector(`[typeid=\"${contentId}\"]`);\n if (content) {\n const types = [...this.hostElement.querySelectorAll('pn-profile-modal-type')];\n types.forEach(type => {\n type.setAttribute('selected', (type.getAttribute('typeid') === contentId) + '');\n });\n }\n }\n\n onCTAClick() {\n if (!state.selectedUrl) {\n console.log('no Url as been selected, will not continue');\n }\n }\n @Listen('urlSelected')\n onUrlSelected(e) {\n if (!e || !e.detail) {\n return;\n }\n state.selectedUrl = e.detail;\n const ctaBtn = this.hostElement.querySelector('.profilemodal-cta pn-button');\n if (ctaBtn) {\n ctaBtn.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });\n }\n }\n\n render() {\n return (\n <Host>\n <div class=\"profilemodal-container\">\n <div class=\"profilemodal-logo\">\n <svg viewBox=\"0 0 133 26\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" width=\"17.1rem\" height=\"3.2rem\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n fill=\"#00A0D6\"\n d=\"M132.749 0.333618V20.9198H126.976V19.3809C126.976 19.3809 125.475 21.4316 122.191 21.4316C117.381 21.4316 114.662 17.7015 114.662 13.0327C114.662 8.47612 117.776 4.7187 122.617 4.7187C125.589 4.7187 126.976 6.19924 126.976 6.19924V1.47206L132.749 0.333618ZM54.2322 1.67091H60.0055V5.20216H65.3564L62.7235 10.0999H60.0055V20.9198H54.2322V1.67091ZM28.2484 21.4023C32.8051 21.4023 37.6446 18.8974 37.6446 12.9187C37.6446 7.16616 32.9746 4.69042 28.4461 4.69042C23.8042 4.69042 19.049 7.25192 19.049 13.175C19.049 18.9549 23.7199 21.4023 28.2484 21.4023ZM28.3327 9.78608C30.2294 9.78608 31.5032 11.1243 31.5032 13.0902C31.5032 14.9392 30.2575 16.3076 28.3327 16.3076C26.437 16.3076 25.1351 14.9392 25.1351 13.0902C25.1351 11.1243 26.4089 9.78608 28.3327 9.78608ZM47.0708 10.8963C46.8158 10.8574 46.5804 10.8239 46.3639 10.7931C44.9938 10.5979 44.3827 10.5108 44.3827 9.87279C44.3827 9.24608 45.146 8.9888 46.6465 8.9888C49.1941 8.9888 51.4298 9.84357 51.4298 9.84357L52.4488 5.43022C52.4488 5.43022 49.9865 4.71869 46.7027 4.71869C41.1841 4.71869 38.2965 6.85422 38.2965 10.2705C38.2965 12.9187 39.8532 14.485 44.4108 15.0825C46.3355 15.3388 47.0427 15.4519 47.0427 16.1644C47.0427 16.8486 46.2784 17.0757 44.9484 17.0757C42.0608 17.0757 39.3437 15.8515 39.3437 15.8515L38.1832 20.4081C38.1832 20.4081 40.9003 21.375 44.4389 21.375C50.3826 21.375 53.1279 19.2668 53.1279 15.8223C53.1279 13.0902 51.6555 11.6087 47.0708 10.8963ZM76.1968 4.69042C72.8287 4.69042 71.6111 6.74018 71.6111 6.74018V5.20216H65.8369V20.9198H71.6111V12.8612C71.6111 10.8689 72.3483 9.95666 74.1297 9.95666C75.913 9.95666 76.1687 11.4381 76.1687 13.3173V20.9198H81.9982V11.2666C81.9982 6.93903 79.9339 4.69042 76.1968 4.69042ZM123.948 9.8153C125.843 9.8153 127.144 11.1818 127.144 13.0327C127.144 14.9958 125.87 16.335 123.948 16.335C122.051 16.335 120.778 14.9958 120.778 13.0327C120.778 11.1818 122.024 9.8153 123.948 9.8153ZM112.456 10.213C110.53 10.213 109.088 10.9537 109.088 13.3456V20.9198H103.313V5.20216H109.088V7.02479C109.088 7.02479 109.965 4.97409 113.191 4.97409C114.181 4.97409 114.55 5.14467 114.55 5.14467L114.408 10.4976C114.408 10.4976 113.643 10.213 112.456 10.213ZM11.9728 13.0902C11.9728 11.1243 10.699 9.78608 8.80235 9.78608C6.87853 9.78608 5.6038 11.1243 5.6038 13.0902C5.6038 14.9392 6.9057 16.3076 8.80235 16.3076C10.728 16.3076 11.9728 14.9392 11.9728 13.0902ZM10.1333 21.4023C14.9728 21.4023 18.0871 17.6468 18.0871 13.0902C18.0871 8.41958 15.3699 4.69042 10.5576 4.69042C7.27472 4.69042 5.77426 6.74018 5.77426 6.74018V5.20216H0V25.4453H5.77426V19.9227C5.77426 19.9227 7.16139 21.4023 10.1333 21.4023ZM95.7984 13.0902C95.7984 11.1243 94.5246 9.78608 92.6279 9.78608C90.7032 9.78608 89.4284 11.1243 89.4284 13.0902C89.4284 14.9392 90.7322 16.3076 92.6279 16.3076C94.5536 16.3076 95.7984 14.9392 95.7984 13.0902ZM92.5427 21.4023C97.0994 21.4023 101.94 18.8974 101.94 12.9187C101.94 7.16616 97.2698 4.69042 92.7413 4.69042C88.0984 4.69042 83.3442 7.25192 83.3442 13.175C83.3442 18.9549 88.0142 21.4023 92.5427 21.4023Z\"\n ></path>\n </svg>\n </div>\n\n {this.heading === '' ? null : <div class=\"profilemodal-heading\">{this.heading}</div>}\n <div class=\"profilemodal-content\">\n <slot />\n </div>\n {this.continueCtaText ? (\n <div class=\"profilemodal-cta\" aria-hidden={!state.selectedUrl + ''}>\n <pn-button onclick={this.onCTAClick} href={state.selectedUrl} icon={arrow_right}>\n {this.continueCtaText}\n </pn-button>\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"oJAAA,MAAMA,EAAoB,6vCAC1B,MAAAC,EAAeD,E,MCOFE,EAAc,M,sCAGC,K,qBACQ,K,wBACG,K,YACZ,K,8BACkB,K,eAEb,I,kCAE9B,iBAAAC,GACEC,KAAKC,gBACLD,KAAKE,Y,CAEP,aAAAD,GACEE,EAAMC,KAAKC,yBAA2BL,KAAKK,yBAC3CF,EAAMC,KAAKE,mBAAqBN,KAAKM,mBACrCH,EAAMC,KAAKG,OAASP,KAAKO,OACzB,MAAMC,EAAeR,KAAKS,YAAYC,cAAc,0CACpD,GAAIF,EAAc,CAChBL,EAAMK,aAAeA,EAAaG,aAAa,O,EAGnD,UAAAT,GACE,MAAMU,EAAiBZ,KAAKS,YAAYC,cAAc,wBACtD,GAAIE,EAAgB,CAClBA,EAAeC,iBAAiB,SAAUb,KAAKc,uBAAuBC,KAAKf,M,EAG/E,sBAAAc,CAAuBE,GACrB,MAAMC,EAAYD,EAAEE,OAAOC,MAC3B,MAAMC,EAAUpB,KAAKS,YAAYC,cAAc,YAAYO,OAC3D,GAAIG,EAAS,CACX,MAAMC,EAAQ,IAAIrB,KAAKS,YAAYa,iBAAiB,0BACpDD,EAAME,SAAQC,IACZA,EAAKC,aAAa,YAAaD,EAAKb,aAAa,YAAcM,GAAa,GAAG,G,EAKrF,UAAAS,GACE,IAAKvB,EAAMwB,YAAa,CACtBC,QAAQC,IAAI,6C,EAIhB,aAAAC,CAAcd,GACZ,IAAKA,IAAMA,EAAEe,OAAQ,CACnB,M,CAEF5B,EAAMwB,YAAcX,EAAEe,OACtB,MAAMC,EAAShC,KAAKS,YAAYC,cAAc,+BAC9C,GAAIsB,EAAQ,CACVA,EAAOC,eAAe,CAAEC,MAAO,QAASC,OAAQ,UAAWC,SAAU,U,EAIzE,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBACTH,EAAA,OAAAE,IAAA,2CAAKE,QAAQ,aAAaC,KAAK,OAAOC,MAAM,6BAA6BC,MAAM,UAAUC,OAAO,UAC9FR,EAAA,QAAAE,IAAA,uDACY,UAAS,YACT,UACVG,KAAK,UACLI,EAAE,68FAKP/C,KAAKgD,UAAY,GAAK,KAAOV,EAAA,OAAKG,MAAM,wBAAwBzC,KAAKgD,SACtEV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wBACTH,EAAA,QAAAE,IAAA,8CAEDxC,KAAKiD,gBACJX,EAAA,OAAKG,MAAM,mBAAkB,eAAetC,EAAMwB,YAAc,IAC9DW,EAAA,aAAWY,QAASlD,KAAK0B,WAAYyB,KAAMhD,EAAMwB,YAAayB,KAAMC,GACjErD,KAAKiD,kBAGR,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as i}from"./p-82546a44.js";import{a as t}from"./p-8644928d.js";import{s as a}from"./p-fb4cdf98.js";import"./p-8836de82.js";const n={sv:{componentheading:"Vad vill du skicka?",deliveryscopeheading:"Hit eller dit?",sizeheading:"Hur mycket väger det?",resultlistheading:"Några utvalda val",weightlabel:"Vikt",maxweightlabel:"Maxvikt",maxmeasurementlabel:"Maxvolym",senddirectcta:"Köp frakt via Skicka Direkt",stampshopcta:"Köp frimärken via vår webshop"},en:{componentheading:"What do you want to send?",deliveryscopeheading:"Here or there?",sizeheading:"How much does it weigh?",resultlistheading:"Some suitable options for you",weightlabel:"Weight",maxweightlabel:"Max weight",maxmeasurementlabel:"Maximum measurement",senddirectcta:"Buy shipping in Send Direct",stampshopcta:"Order home stamps from the webshop"},da:{componentheading:"Vad vill du skicka?",deliveryscopeheading:"Here or there?",sizeheading:"How much does it weigh?",resultlistheading:"Some suitable options for you",weightlabel:"Vægt",maxweightlabel:"Max vægt",maxmeasurementlabel:"Maks. Volumen",senddirectcta:"Buy shipping in Send Direct",stampshopcta:"Order home stamps from the webshop"},no:{componentheading:"Vad vill du skicka?",deliveryscopeheading:"Here or there?",sizeheading:"How much does it weigh?",resultlistheading:"Some suitable options for you",weightlabel:"Vekt",maxweightlabel:"Maks vekt",maxmeasurementlabel:"Maks volum",senddirectcta:"Buy shipping in Send Direct",stampshopcta:"Order home stamps from the webshop"},fi:{componentheading:"Vad vill du skicka?",deliveryscopeheading:"Here or there?",sizeheading:"How much does it weigh?",resultlistheading:"Some suitable options for you",weightlabel:"Paino",maxweightlabel:"Max paino",maxmeasurementlabel:"Max äänenvoimakkuus",senddirectcta:"Buy shipping in Send Direct",stampshopcta:"Order home stamps from the webshop"}};const s={se:{currency:"kr"},dk:{currency:"dk"},fi:{currency:" €"},no:{currency:"kr"}};const o=[{name:"Brev",value:"letter",illustration:"letterbox-reply-letter-plants"},{name:"Paket",value:"parcel",illustration:"tracking"}];const r={letter:[{name:"Sweden",value:"sweden",illustration:"letterboxes"},{name:"Abroad",value:"abroad",illustration:"character-box-letters-globe"}],parcel:[{name:"Sweden",value:"sweden",illustration:"letterboxes"},{name:"Within Europe",value:"withineurope",illustration:"character-box-letters-globe"},{name:"Outside Europe",value:"outsideeurope",illustration:"discover"}]};const l={letter:[{name:"50g",abbreviation:"g",value:50},{name:"100g",abbreviation:"g",value:100},{name:"250g",abbreviation:"g",value:250},{name:"500g",abbreviation:"g",value:500},{name:"1kg",abbreviation:"kg",value:1},{name:"2kg",abbreviation:"kg",value:2}],parcel:[{name:"1kg",abbreviation:"kg",value:1},{name:"2kg",abbreviation:"kg",value:2},{name:"3kg",abbreviation:"kg",value:3},{name:"4kg",abbreviation:"kg",value:4},{name:"5kg",abbreviation:"kg",value:5},{name:"6kg",abbreviation:"kg",value:6},{name:"7Kg",abbreviation:"kg",value:7},{name:"8kg",abbreviation:"kg",value:8},{name:"9kg",abbreviation:"kg",value:9},{name:"10kg",abbreviation:"kg",value:10},{name:"11kg",abbreviation:"kg",value:11},{name:"12kg",abbreviation:"kg",value:12},{name:"13kg",abbreviation:"kg",value:13},{name:"14kg",abbreviation:"kg",value:14},{name:"15kg",abbreviation:"kg",value:15},{name:"16kg",abbreviation:"kg",value:16},{name:"17kg",abbreviation:"kg",value:17},{name:"18kg",abbreviation:"kg",value:18},{name:"20kg",abbreviation:"kg",value:20}]};const h="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-find-service-and-price .findprice-form{max-width:50em;margin:0 auto}pn-find-service-and-price h2,pn-find-service-and-price .heading{text-align:center;font-size:1.5em;line-height:1.1;font-weight:bold;margin-bottom:1rem}pn-find-service-and-price .postagetypes,pn-find-service-and-price .deliveryscope{text-align:center;margin-bottom:3rem}pn-find-service-and-price .weightoption{display:flex;gap:1em}pn-find-service-and-price .weightoption-input{width:5em;position:relative}pn-find-service-and-price .weightoption-input input::-webkit-outer-spin-button,pn-find-service-and-price .weightoption-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}pn-find-service-and-price .weightoption-input-abbreviation{position:absolute;top:50%;transform:translateY(-50%);right:1.2em;margin-top:1.55rem;font-weight:500}pn-find-service-and-price .weightoption-range{flex-grow:1;align-self:flex-end;position:relative;top:0.5em}pn-find-service-and-price .weightoption-range input{width:calc(100% - 1.5em)}pn-find-service-and-price .weightoption-range datalist{width:100%;display:flex;justify-content:space-between;font-size:0.75em}pn-find-service-and-price .resultlist{margin:3em 0}";const p=h;const d=class{constructor(i){e(this,i);this.source="https://com-inte.postnord.com/globalassets/global/prices/sv-se-findprice.xlsx";this.language="sv";this.market="se";this.filteredItems=[];this.postagetype={value:"",name:"",icon:""};this.weight={value:0,name:""};this.weightvalue=0;this.deliveryscope={value:"",name:"",icon:""};this.sourceData={types:[],data:[]}}componentWillLoad(){this.setState();this.getDataSource()}async getDataSource(){const e=`?cache=${Math.floor(Math.random()*(1e4-1)+1)}`;const i=await fetch(this.source+e);const a=await i.blob();try{const e=await t(a);this.sourceData=e;this.filterItems()}catch(e){console.log("Unable to parse data")}}setState(){if(this.market){a.market=s[this.market]}if(this.language&&n[this.language]){a.i18n=n[this.language]}}filterItems(){if(!this.sourceData?.data){console.log("Data has not yet been loaded");return}if(!this.postagetype){return}const e=this.sourceData.data.filter((e=>e.what===this.postagetype.value));if(!this.deliveryscope){return}const i=e.filter((e=>e.deliveryscope===this.deliveryscope.value));if(!this.weight||!this.weight.value){return}const t=this.weight.abbreviation.toLocaleLowerCase()==="kg"&&this.postagetype.value==="letter"?this.weight.value*1e3:this.weight.value;let a=i.filter((e=>e.maxweight===t));if(a.length===0){a=i.filter((e=>e.maxweight>=t));if(a.length>0){const e=[...new Map(a.reverse().map((e=>[e["id"],e]))).values()];if(e.length>0){a=e}}}this.filteredItems=a}render(){return i("div",{key:"0de982c8ec40481b1a547375c6ebe90dd0793e68"},i("div",{key:"c91c7d40a40133f018332de72c9e2d01bb345be8",class:"findprice-form"},a.i18n.componentheading?i("h2",null,a.i18n.componentheading):null,i("div",{key:"2806ec049ae3cad22813d139b57526faea25300b",class:"postagetypes"},o.map((e=>i("pn-choice-button",{choiceid:e.value,value:e.value,name:"postagetype",type:"radio",checked:e.value===this.postagetype.value,onChange:()=>{this.postagetype=o.filter((i=>i.value===e.value))[0];this.deliveryscope={value:"",name:"",icon:""};this.weight={value:0,name:""};this.weightvalue=this.weight.value}},i("pn-illustration",{illustration:e.illustration})," ",e.name)))),this.postagetype.value&&r[this.postagetype.value]?i("div",null,a.i18n.deliveryscopeheading?i("div",{class:"heading"},a.i18n.deliveryscopeheading):null,i("div",{class:"deliveryscope"},r[this.postagetype.value].map((e=>i("pn-choice-button",{choiceid:this.postagetype.value+e.value,value:e.value,name:"deliveryscope",type:"radio",checked:e.value===this.deliveryscope.value,onChange:()=>{this.deliveryscope=r[this.postagetype.value].filter((i=>i.value===e.value))[0];if(this.weight.value===0){this.weight=l[this.postagetype.value][0];this.weightvalue=this.weight.value}}},i("pn-illustration",{illustration:e.illustration})," ",e.name))))):null,this.postagetype.value&&l[this.postagetype.value]&&this.deliveryscope.value?i("div",null,a.i18n.sizeheading?i("div",{class:"heading"},a.i18n.sizeheading):null,i("div",{class:"weightoption"},i("div",{class:"weightoption-input"},i("pn-input",{inputid:"weightvalue",name:"weightvalue",type:"number",label:a.i18n.weightlabel,value:this.weightvalue,onChange:e=>{if(e&&e.target&&e.target.value){const i=parseInt(e.target.value,10);if(!isNaN(i)){let e=l[this.postagetype.value].filter((e=>{let t=e.abbreviation==="kg"?e.value*1e3:e.value;return t>=i}));if(e&&e.length>0){this.weight=e[0];this.weightvalue=this.weight.value}}}}}),i("span",{class:"weightoption-input-abbreviation"},this.weight.abbreviation)),i("div",{class:"weightoption-range"},i("input",{type:"range",id:"weightrange",name:"weightrange",list:"weightlist",value:!this.weight.value?0:l[this.postagetype.value].findIndex((e=>e.value===this.weightvalue)),onChange:e=>{const i=e.target.value;this.weight=l[this.postagetype.value][i];this.weightvalue=this.weight.value},min:"0",max:l[this.postagetype.value].length-1}),i("datalist",{id:"weightlist"},l[this.postagetype.value].map(((e,t)=>{let a=e.name;if(l[this.postagetype.value].length>6){a=t%5===0||t===0||t===l[this.postagetype.value].length-1?e.name:""}return i("option",{value:t,...a?{label:a}:{}})})))))):null),this.filteredItems&&this.filteredItems.length>0?i("div",{class:"resultlist"},a.i18n.resultlistheading?i("div",{class:"heading"},a.i18n.resultlistheading):null,this.filteredItems.map((e=>i("div",null,i("pn-find-service-and-price-result",{item:e}))))):null)}static get watchers(){return{market:["setState"],language:["setState"],postagetype:["filterItems"],deliveryscope:["filterItems"],weightvalue:["filterItems"]}}};d.style=p;export{d as pn_find_service_and_price};
2
+ //# sourceMappingURL=p-c9038b03.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["translations","sv","componentheading","deliveryscopeheading","sizeheading","resultlistheading","weightlabel","maxweightlabel","maxmeasurementlabel","senddirectcta","stampshopcta","en","da","no","fi","markets","se","currency","dk","postagetypes","name","value","illustration","deliveryscopes","letter","parcel","weights","abbreviation","pnFindServiceAndPriceCss","PnFindServiceAndPriceStyle0","PnfindServiceAndPrice","icon","types","data","componentWillLoad","this","setState","getDataSource","cacheBusting","Math","floor","random","req","fetch","source","reqbody","blob","convertedData","convertFileFromStream","sourceData","filterItems","e","console","log","market","state","language","i18n","postagetype","typeData","filter","x","what","deliveryscope","deliveryScopeData","weight","comparisonWeight","toLocaleLowerCase","weightFilteredData","maxweight","length","uniqueWeightOptions","Map","reverse","map","item","values","filteredItems","render","h","key","class","choiceid","type","checked","onChange","weightvalue","inputid","label","target","weightNum","parseInt","isNaN","matchingWeights","weightInGrams","id","list","findIndex","min","max","weightindex","labelText"],"sources":["src/components/widgets/pn-find-service-and-price/pn-find-service-and-price-translations.ts","src/components/widgets/pn-find-service-and-price/data.js","src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.scss?tag=pn-find-service-and-price","src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.tsx"],"sourcesContent":["export const translations = {\n sv: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Hit eller dit?',\n sizeheading: 'Hur mycket väger det?',\n resultlistheading: 'Några utvalda val',\n weightlabel: 'Vikt',\n maxweightlabel: 'Maxvikt',\n maxmeasurementlabel: 'Maxvolym',\n senddirectcta: 'Köp frakt via Skicka Direkt',\n stampshopcta: 'Köp frimärken via vår webshop',\n },\n en: {\n componentheading: 'What do you want to send?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Weight',\n maxweightlabel: 'Max weight',\n maxmeasurementlabel: 'Maximum measurement',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n da: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Vægt',\n maxweightlabel: 'Max vægt',\n maxmeasurementlabel: 'Maks. Volumen',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n no: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Vekt',\n maxweightlabel: 'Maks vekt',\n maxmeasurementlabel: 'Maks volum',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n fi: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Paino',\n maxweightlabel: 'Max paino',\n maxmeasurementlabel: 'Max äänenvoimakkuus',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n};\n\nexport const markets = {\n se: {\n currency: 'kr',\n },\n dk: {\n currency: 'dk',\n },\n fi: {\n currency: ' €',\n },\n no: {\n currency: 'kr',\n },\n};\n","const postagetypes = [\n { name: 'Brev', value: 'letter', illustration: 'letterbox-reply-letter-plants' },\n { name: 'Paket', value: 'parcel', illustration: 'tracking' },\n];\n\nconst deliveryscopes = {\n letter: [\n { name: 'Sweden', value: 'sweden', illustration: 'letterboxes' },\n { name: 'Abroad', value: 'abroad', illustration: 'character-box-letters-globe' },\n ],\n parcel: [\n { name: 'Sweden', value: 'sweden', illustration: 'letterboxes' },\n { name: 'Within Europe', value: 'withineurope', illustration: 'character-box-letters-globe' },\n { name: 'Outside Europe', value: 'outsideeurope', illustration: 'discover' },\n ],\n};\n\nconst weights = {\n letter: [\n { name: '50g', abbreviation: 'g', value: 50 },\n { name: '100g', abbreviation: 'g', value: 100 },\n { name: '250g', abbreviation: 'g', value: 250 },\n { name: '500g', abbreviation: 'g', value: 500 },\n { name: '1kg', abbreviation: 'kg', value: 1 },\n { name: '2kg', abbreviation: 'kg', value: 2 },\n ],\n parcel: [\n { name: '1kg', abbreviation: 'kg', value: 1 },\n { name: '2kg', abbreviation: 'kg', value: 2 },\n { name: '3kg', abbreviation: 'kg', value: 3 },\n { name: '4kg', abbreviation: 'kg', value: 4 },\n { name: '5kg', abbreviation: 'kg', value: 5 },\n { name: '6kg', abbreviation: 'kg', value: 6 },\n { name: '7Kg', abbreviation: 'kg', value: 7 },\n { name: '8kg', abbreviation: 'kg', value: 8 },\n { name: '9kg', abbreviation: 'kg', value: 9 },\n { name: '10kg', abbreviation: 'kg', value: 10 },\n { name: '11kg', abbreviation: 'kg', value: 11 },\n { name: '12kg', abbreviation: 'kg', value: 12 },\n { name: '13kg', abbreviation: 'kg', value: 13 },\n { name: '14kg', abbreviation: 'kg', value: 14 },\n { name: '15kg', abbreviation: 'kg', value: 15 },\n { name: '16kg', abbreviation: 'kg', value: 16 },\n { name: '17kg', abbreviation: 'kg', value: 17 },\n { name: '18kg', abbreviation: 'kg', value: 18 },\n { name: '20kg', abbreviation: 'kg', value: 20 },\n ],\n};\n\nexport { postagetypes, weights, deliveryscopes };\n","@import '../../../globals/main.scss';\n\npn-find-service-and-price {\n .findprice-form {\n max-width: 50em;\n margin: 0 auto;\n }\n\n h2,\n .heading {\n text-align: center;\n font-size: 1.5em;\n line-height: 1.1;\n font-weight: bold;\n margin-bottom: 1rem;\n }\n .postagetypes,\n .deliveryscope {\n text-align: center;\n margin-bottom: 3rem;\n }\n\n .weightoption {\n display: flex;\n gap: 1em;\n }\n\n .weightoption-input {\n width: 5em;\n position: relative;\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n\n .weightoption-input-abbreviation {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 1.2em;\n margin-top: 1.55rem;\n font-weight: 500;\n }\n\n .weightoption-range {\n flex-grow: 1;\n align-self: flex-end;\n position: relative;\n top: 0.5em;\n input {\n width: calc(100% - 1.5em);\n }\n datalist {\n width: 100%;\n display: flex;\n justify-content: space-between;\n font-size: 0.75em;\n }\n }\n\n .resultlist {\n margin: 3em 0;\n }\n}\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-find-service-and-price-translations';\nimport { ProductPriceSourceData, ProductPriceItem } from '../../../globals/shared/productprice/product-price-types';\nimport {\n FindServiceAndPricePostageType,\n FindServiceAndPriceWeight,\n FindServiceAndPriceDeliveryScope,\n PnfindServiceAndPriceMarket,\n PnfindServiceAndPricei18n,\n} from './pn-find-service-and-price-types';\nimport { postagetypes, weights, deliveryscopes } from './data.js';\nimport { convertFileFromStream } from '../../../globals/shared/productprice/convert.js';\nimport { state } from './pn-find-service-and-price-store';\n\n@Component({\n tag: 'pn-find-service-and-price',\n styleUrl: 'pn-find-service-and-price.scss',\n})\nexport class PnfindServiceAndPrice {\n @Prop() source: string = 'https://com-inte.postnord.com/globalassets/global/prices/sv-se-findprice.xlsx';\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() postagetype: FindServiceAndPricePostageType = {\n value: '',\n name: '',\n icon: '',\n } as FindServiceAndPricePostageType;\n @State() weight: FindServiceAndPriceWeight = { value: 0, name: '' } as FindServiceAndPriceWeight;\n @State() weightvalue: number = 0;\n @State() deliveryscope: FindServiceAndPriceDeliveryScope = {\n value: '',\n name: '',\n icon: '',\n } as FindServiceAndPriceDeliveryScope;\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n\n componentWillLoad() {\n this.setState();\n this.getDataSource();\n\n // window.setTimeout(() => {\n // this.postagetype = postagetypes[0];\n // this.deliveryscope = deliveryscopes[this.postagetype.value][0];\n // this.weight = weights[this.postagetype.value][0];\n // this.weightvalue = this.weight.value;\n // }, 500)\n }\n\n async getDataSource() {\n const cacheBusting = `?cache=${Math.floor(Math.random() * (10000 - 1) + 1)}`;\n const req = await fetch(this.source + cacheBusting);\n const reqbody = await req.blob();\n try {\n const convertedData = await convertFileFromStream(reqbody);\n this.sourceData = convertedData;\n this.filterItems();\n } catch (e) {\n console.log('Unable to parse data');\n }\n }\n\n @Watch('market')\n @Watch('language')\n setState() {\n if (this.market) {\n state.market = markets[this.market] as PnfindServiceAndPriceMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindServiceAndPricei18n;\n }\n }\n\n @Watch('postagetype')\n @Watch('deliveryscope')\n @Watch('weightvalue')\n filterItems() {\n // this.debug = `Postagetype: ${this.postagetype.value}. <br/>Weight: ${ this.weight.value }`;\n if (!this.sourceData?.data) {\n console.log('Data has not yet been loaded');\n return;\n }\n if (!this.postagetype) {\n return;\n }\n const typeData = this.sourceData.data.filter(x => x.what === this.postagetype.value);\n if (!this.deliveryscope) {\n return;\n }\n const deliveryScopeData = typeData.filter(x => x.deliveryscope === this.deliveryscope.value);\n if (!this.weight || !this.weight.value) {\n return;\n }\n\n // For letters we use grams. Otherwise we use KG\n const comparisonWeight = this.weight.abbreviation.toLocaleLowerCase() === 'kg' && this.postagetype.value === 'letter' ? this.weight.value * 1000 : this.weight.value;\n\n let weightFilteredData = deliveryScopeData.filter(x => x.maxweight === comparisonWeight);\n\n // In parcels the maxwidths don't necessarily start at 1kg so we fetch any type below the user selected value\n if (weightFilteredData.length === 0) {\n weightFilteredData = deliveryScopeData.filter(x => x.maxweight >= comparisonWeight);\n if (weightFilteredData.length > 0) {\n // We reverse the result array since the map will take the last unique item instead of the first\n const uniqueWeightOptions = [...new Map(weightFilteredData.reverse().map(item => [item['id'], item])).values()];\n if (uniqueWeightOptions.length > 0) {\n weightFilteredData = uniqueWeightOptions;\n }\n }\n }\n\n this.filteredItems = weightFilteredData;\n }\n\n render() {\n return (\n <div>\n <div class=\"findprice-form\">\n {state.i18n.componentheading ? <h2>{state.i18n.componentheading}</h2> : null}\n <div class=\"postagetypes\">\n {postagetypes.map(postagetype => (\n <pn-choice-button\n choiceid={postagetype.value}\n value={postagetype.value}\n name=\"postagetype\"\n type=\"radio\"\n checked={postagetype.value === this.postagetype.value}\n onChange={() => {\n this.postagetype = (postagetypes as FindServiceAndPricePostageType[]).filter(x => x.value === postagetype.value)[0];\n this.deliveryscope = { value: '', name: '', icon: '' } as FindServiceAndPriceDeliveryScope;\n this.weight = { value: 0, name: '' } as FindServiceAndPriceWeight;\n this.weightvalue = this.weight.value;\n }}\n >\n <pn-illustration illustration={postagetype.illustration}></pn-illustration> {postagetype.name}\n </pn-choice-button>\n ))}\n </div>\n\n {this.postagetype.value && deliveryscopes[this.postagetype.value] ? (\n <div>\n {state.i18n.deliveryscopeheading ? <div class=\"heading\">{state.i18n.deliveryscopeheading}</div> : null}\n <div class=\"deliveryscope\">\n {deliveryscopes[this.postagetype.value].map(deliveryscope => (\n <pn-choice-button\n choiceid={this.postagetype.value + deliveryscope.value}\n value={deliveryscope.value}\n name=\"deliveryscope\"\n type=\"radio\"\n checked={deliveryscope.value === this.deliveryscope.value}\n onChange={() => {\n this.deliveryscope = (deliveryscopes[this.postagetype.value] as FindServiceAndPriceDeliveryScope[]).filter(x => x.value === deliveryscope.value)[0];\n if (this.weight.value === 0) {\n this.weight = weights[this.postagetype.value][0];\n this.weightvalue = this.weight.value;\n }\n }}\n >\n <pn-illustration illustration={deliveryscope.illustration}></pn-illustration> {deliveryscope.name}\n </pn-choice-button>\n ))}\n </div>\n </div>\n ) : null}\n\n {this.postagetype.value && weights[this.postagetype.value] && this.deliveryscope.value ? (\n <div>\n {state.i18n.sizeheading ? <div class=\"heading\">{state.i18n.sizeheading}</div> : null}\n <div class=\"weightoption\">\n <div class=\"weightoption-input\">\n <pn-input\n inputid=\"weightvalue\"\n name=\"weightvalue\"\n type=\"number\"\n label={state.i18n.weightlabel}\n value={this.weightvalue}\n onChange={e => {\n if (e && e.target && e.target.value) {\n const weightNum = parseInt(e.target.value, 10);\n if (!isNaN(weightNum)) {\n let matchingWeights = (weights[this.postagetype.value] as FindServiceAndPriceWeight[]).filter(x => {\n let weightInGrams = x.abbreviation === 'kg' ? x.value * 1000 : x.value;\n return weightInGrams >= weightNum;\n });\n if (matchingWeights && matchingWeights.length > 0) {\n this.weight = matchingWeights[0];\n this.weightvalue = this.weight.value;\n }\n }\n }\n }}\n ></pn-input>\n <span class=\"weightoption-input-abbreviation\">{this.weight.abbreviation}</span>\n </div>\n <div class=\"weightoption-range\">\n <input\n type=\"range\"\n id=\"weightrange\"\n name=\"weightrange\"\n list=\"weightlist\"\n value={!this.weight.value ? 0 : weights[this.postagetype.value].findIndex(x => x.value === this.weightvalue)}\n onChange={e => {\n const value = (e.target as HTMLInputElement).value;\n this.weight = weights[this.postagetype.value][value];\n this.weightvalue = this.weight.value;\n }}\n min=\"0\"\n // max={ weights[this.postagetype.value][weights[this.postagetype.value].length - 1].value }\n max={weights[this.postagetype.value].length - 1}\n />\n <datalist id=\"weightlist\">\n {weights[this.postagetype.value].map((weight, weightindex) => {\n let labelText = weight.name;\n if (weights[this.postagetype.value].length > 6) {\n labelText = weightindex % 5 === 0 || weightindex === 0 || weightindex === weights[this.postagetype.value].length - 1 ? weight.name : '';\n }\n return <option value={weightindex} {...(labelText ? { label: labelText } : {})}></option>;\n })}\n </datalist>\n </div>\n </div>\n </div>\n ) : null}\n </div>\n {this.filteredItems && this.filteredItems.length > 0 ? (\n <div class=\"resultlist\">\n {state.i18n.resultlistheading ? <div class=\"heading\">{state.i18n.resultlistheading}</div> : null}\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n <pn-find-service-and-price-result item={item}></pn-find-service-and-price-result>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["translations","sv","componentheading","deliveryscopeheading","sizeheading","resultlistheading","weightlabel","maxweightlabel","maxmeasurementlabel","senddirectcta","stampshopcta","en","da","no","fi","markets","se","currency","dk","postagetypes","name","value","illustration","deliveryscopes","letter","parcel","weights","abbreviation","pnFindServiceAndPriceCss","PnFindServiceAndPriceStyle0","PnfindServiceAndPrice","icon","types","data","componentWillLoad","this","setState","getDataSource","cacheBusting","Math","floor","random","req","fetch","source","reqbody","blob","convertedData","convertFileFromStream","sourceData","filterItems","e","console","log","market","state","language","i18n","postagetype","typeData","filter","x","what","deliveryscope","deliveryScopeData","weight","comparisonWeight","toLocaleLowerCase","weightFilteredData","maxweight","length","uniqueWeightOptions","Map","reverse","map","item","values","filteredItems","render","h","key","class","choiceid","type","checked","onChange","weightvalue","inputid","label","target","weightNum","parseInt","isNaN","matchingWeights","weightInGrams","id","list","findIndex","min","max","weightindex","labelText"],"sources":["src/components/widgets/pn-find-service-and-price/pn-find-service-and-price-translations.ts","src/components/widgets/pn-find-service-and-price/data.js","src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.scss?tag=pn-find-service-and-price","src/components/widgets/pn-find-service-and-price/pn-find-service-and-price.tsx"],"sourcesContent":["export const translations = {\n sv: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Hit eller dit?',\n sizeheading: 'Hur mycket väger det?',\n resultlistheading: 'Några utvalda val',\n weightlabel: 'Vikt',\n maxweightlabel: 'Maxvikt',\n maxmeasurementlabel: 'Maxvolym',\n senddirectcta: 'Köp frakt via Skicka Direkt',\n stampshopcta: 'Köp frimärken via vår webshop',\n },\n en: {\n componentheading: 'What do you want to send?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Weight',\n maxweightlabel: 'Max weight',\n maxmeasurementlabel: 'Maximum measurement',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n da: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Vægt',\n maxweightlabel: 'Max vægt',\n maxmeasurementlabel: 'Maks. Volumen',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n no: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Vekt',\n maxweightlabel: 'Maks vekt',\n maxmeasurementlabel: 'Maks volum',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n fi: {\n componentheading: 'Vad vill du skicka?',\n deliveryscopeheading: 'Here or there?',\n sizeheading: 'How much does it weigh?',\n resultlistheading: 'Some suitable options for you',\n weightlabel: 'Paino',\n maxweightlabel: 'Max paino',\n maxmeasurementlabel: 'Max äänenvoimakkuus',\n senddirectcta: 'Buy shipping in Send Direct',\n stampshopcta: 'Order home stamps from the webshop',\n },\n};\n\nexport const markets = {\n se: {\n currency: 'kr',\n },\n dk: {\n currency: 'dk',\n },\n fi: {\n currency: ' €',\n },\n no: {\n currency: 'kr',\n },\n};\n","const postagetypes = [\n { name: 'Brev', value: 'letter', illustration: 'letterbox-reply-letter-plants' },\n { name: 'Paket', value: 'parcel', illustration: 'tracking' },\n];\n\nconst deliveryscopes = {\n letter: [\n { name: 'Sweden', value: 'sweden', illustration: 'letterboxes' },\n { name: 'Abroad', value: 'abroad', illustration: 'character-box-letters-globe' },\n ],\n parcel: [\n { name: 'Sweden', value: 'sweden', illustration: 'letterboxes' },\n { name: 'Within Europe', value: 'withineurope', illustration: 'character-box-letters-globe' },\n { name: 'Outside Europe', value: 'outsideeurope', illustration: 'discover' },\n ],\n};\n\nconst weights = {\n letter: [\n { name: '50g', abbreviation: 'g', value: 50 },\n { name: '100g', abbreviation: 'g', value: 100 },\n { name: '250g', abbreviation: 'g', value: 250 },\n { name: '500g', abbreviation: 'g', value: 500 },\n { name: '1kg', abbreviation: 'kg', value: 1 },\n { name: '2kg', abbreviation: 'kg', value: 2 },\n ],\n parcel: [\n { name: '1kg', abbreviation: 'kg', value: 1 },\n { name: '2kg', abbreviation: 'kg', value: 2 },\n { name: '3kg', abbreviation: 'kg', value: 3 },\n { name: '4kg', abbreviation: 'kg', value: 4 },\n { name: '5kg', abbreviation: 'kg', value: 5 },\n { name: '6kg', abbreviation: 'kg', value: 6 },\n { name: '7Kg', abbreviation: 'kg', value: 7 },\n { name: '8kg', abbreviation: 'kg', value: 8 },\n { name: '9kg', abbreviation: 'kg', value: 9 },\n { name: '10kg', abbreviation: 'kg', value: 10 },\n { name: '11kg', abbreviation: 'kg', value: 11 },\n { name: '12kg', abbreviation: 'kg', value: 12 },\n { name: '13kg', abbreviation: 'kg', value: 13 },\n { name: '14kg', abbreviation: 'kg', value: 14 },\n { name: '15kg', abbreviation: 'kg', value: 15 },\n { name: '16kg', abbreviation: 'kg', value: 16 },\n { name: '17kg', abbreviation: 'kg', value: 17 },\n { name: '18kg', abbreviation: 'kg', value: 18 },\n { name: '20kg', abbreviation: 'kg', value: 20 },\n ],\n};\n\nexport { postagetypes, weights, deliveryscopes };\n","@import '../../../globals/main.scss';\n\npn-find-service-and-price {\n .findprice-form {\n max-width: 50em;\n margin: 0 auto;\n }\n\n h2,\n .heading {\n text-align: center;\n font-size: 1.5em;\n line-height: 1.1;\n font-weight: bold;\n margin-bottom: 1rem;\n }\n .postagetypes,\n .deliveryscope {\n text-align: center;\n margin-bottom: 3rem;\n }\n\n .weightoption {\n display: flex;\n gap: 1em;\n }\n\n .weightoption-input {\n width: 5em;\n position: relative;\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n\n .weightoption-input-abbreviation {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 1.2em;\n margin-top: 1.55rem;\n font-weight: 500;\n }\n\n .weightoption-range {\n flex-grow: 1;\n align-self: flex-end;\n position: relative;\n top: 0.5em;\n input {\n width: calc(100% - 1.5em);\n }\n datalist {\n width: 100%;\n display: flex;\n justify-content: space-between;\n font-size: 0.75em;\n }\n }\n\n .resultlist {\n margin: 3em 0;\n }\n}\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { translations, markets } from './pn-find-service-and-price-translations';\nimport { ProductPriceSourceData, ProductPriceItem } from '../../../globals/shared/productprice/product-price-types';\nimport {\n FindServiceAndPricePostageType,\n FindServiceAndPriceWeight,\n FindServiceAndPriceDeliveryScope,\n PnfindServiceAndPriceMarket,\n PnfindServiceAndPricei18n,\n} from './pn-find-service-and-price-types';\nimport { postagetypes, weights, deliveryscopes } from './data.js';\nimport { convertFileFromStream } from '../../../globals/shared/productprice/convert.js';\nimport { state } from './pn-find-service-and-price-store';\n\n@Component({\n tag: 'pn-find-service-and-price',\n styleUrl: 'pn-find-service-and-price.scss',\n})\nexport class PnfindServiceAndPrice {\n @Prop() source: string = 'https://com-inte.postnord.com/globalassets/global/prices/sv-se-findprice.xlsx';\n @Prop({ mutable: true }) language: string = 'sv';\n @Prop({ mutable: true }) market: string = 'se';\n\n @State() filteredItems: ProductPriceItem[] = [];\n @State() postagetype: FindServiceAndPricePostageType = {\n value: '',\n name: '',\n icon: '',\n } as FindServiceAndPricePostageType;\n @State() weight: FindServiceAndPriceWeight = { value: 0, name: '' } as FindServiceAndPriceWeight;\n @State() weightvalue: number = 0;\n @State() deliveryscope: FindServiceAndPriceDeliveryScope = {\n value: '',\n name: '',\n icon: '',\n } as FindServiceAndPriceDeliveryScope;\n @State() sourceData: ProductPriceSourceData = { types: [], data: [] };\n\n componentWillLoad() {\n this.setState();\n this.getDataSource();\n\n // window.setTimeout(() => {\n // this.postagetype = postagetypes[0];\n // this.deliveryscope = deliveryscopes[this.postagetype.value][0];\n // this.weight = weights[this.postagetype.value][0];\n // this.weightvalue = this.weight.value;\n // }, 500)\n }\n\n async getDataSource() {\n const cacheBusting = `?cache=${Math.floor(Math.random() * (10000 - 1) + 1)}`;\n const req = await fetch(this.source + cacheBusting);\n const reqbody = await req.blob();\n try {\n const convertedData = await convertFileFromStream(reqbody);\n this.sourceData = convertedData;\n this.filterItems();\n } catch (e) {\n console.log('Unable to parse data');\n }\n }\n\n @Watch('market')\n @Watch('language')\n setState() {\n if (this.market) {\n state.market = markets[this.market] as PnfindServiceAndPriceMarket;\n }\n if (this.language && translations[this.language]) {\n state.i18n = translations[this.language] as PnfindServiceAndPricei18n;\n }\n }\n\n @Watch('postagetype')\n @Watch('deliveryscope')\n @Watch('weightvalue')\n filterItems() {\n // this.debug = `Postagetype: ${this.postagetype.value}. <br/>Weight: ${ this.weight.value }`;\n if (!this.sourceData?.data) {\n console.log('Data has not yet been loaded');\n return;\n }\n if (!this.postagetype) {\n return;\n }\n const typeData = this.sourceData.data.filter(x => x.what === this.postagetype.value);\n if (!this.deliveryscope) {\n return;\n }\n const deliveryScopeData = typeData.filter(x => x.deliveryscope === this.deliveryscope.value);\n if (!this.weight || !this.weight.value) {\n return;\n }\n\n // For letters we use grams. Otherwise we use KG\n const comparisonWeight = this.weight.abbreviation.toLocaleLowerCase() === 'kg' && this.postagetype.value === 'letter' ? this.weight.value * 1000 : this.weight.value;\n\n let weightFilteredData = deliveryScopeData.filter(x => x.maxweight === comparisonWeight);\n\n // In parcels the maxwidths don't necessarily start at 1kg so we fetch any type below the user selected value\n if (weightFilteredData.length === 0) {\n weightFilteredData = deliveryScopeData.filter(x => x.maxweight >= comparisonWeight);\n if (weightFilteredData.length > 0) {\n // We reverse the result array since the map will take the last unique item instead of the first\n const uniqueWeightOptions = [...new Map(weightFilteredData.reverse().map(item => [item['id'], item])).values()];\n if (uniqueWeightOptions.length > 0) {\n weightFilteredData = uniqueWeightOptions;\n }\n }\n }\n\n this.filteredItems = weightFilteredData;\n }\n\n render() {\n return (\n <div>\n <div class=\"findprice-form\">\n {state.i18n.componentheading ? <h2>{state.i18n.componentheading}</h2> : null}\n <div class=\"postagetypes\">\n {postagetypes.map(postagetype => (\n <pn-choice-button\n choiceid={postagetype.value}\n value={postagetype.value}\n name=\"postagetype\"\n type=\"radio\"\n checked={postagetype.value === this.postagetype.value}\n onChange={() => {\n this.postagetype = (postagetypes as FindServiceAndPricePostageType[]).filter(x => x.value === postagetype.value)[0];\n this.deliveryscope = { value: '', name: '', icon: '' } as FindServiceAndPriceDeliveryScope;\n this.weight = { value: 0, name: '' } as FindServiceAndPriceWeight;\n this.weightvalue = this.weight.value;\n }}\n >\n <pn-illustration illustration={postagetype.illustration}></pn-illustration> {postagetype.name}\n </pn-choice-button>\n ))}\n </div>\n\n {this.postagetype.value && deliveryscopes[this.postagetype.value] ? (\n <div>\n {state.i18n.deliveryscopeheading ? <div class=\"heading\">{state.i18n.deliveryscopeheading}</div> : null}\n <div class=\"deliveryscope\">\n {deliveryscopes[this.postagetype.value].map(deliveryscope => (\n <pn-choice-button\n choiceid={this.postagetype.value + deliveryscope.value}\n value={deliveryscope.value}\n name=\"deliveryscope\"\n type=\"radio\"\n checked={deliveryscope.value === this.deliveryscope.value}\n onChange={() => {\n this.deliveryscope = (deliveryscopes[this.postagetype.value] as FindServiceAndPriceDeliveryScope[]).filter(x => x.value === deliveryscope.value)[0];\n if (this.weight.value === 0) {\n this.weight = weights[this.postagetype.value][0];\n this.weightvalue = this.weight.value;\n }\n }}\n >\n <pn-illustration illustration={deliveryscope.illustration}></pn-illustration> {deliveryscope.name}\n </pn-choice-button>\n ))}\n </div>\n </div>\n ) : null}\n\n {this.postagetype.value && weights[this.postagetype.value] && this.deliveryscope.value ? (\n <div>\n {state.i18n.sizeheading ? <div class=\"heading\">{state.i18n.sizeheading}</div> : null}\n <div class=\"weightoption\">\n <div class=\"weightoption-input\">\n <pn-input\n inputid=\"weightvalue\"\n name=\"weightvalue\"\n type=\"number\"\n label={state.i18n.weightlabel}\n value={this.weightvalue}\n onChange={e => {\n if (e && e.target && e.target.value) {\n const weightNum = parseInt(e.target.value, 10);\n if (!isNaN(weightNum)) {\n let matchingWeights = (weights[this.postagetype.value] as FindServiceAndPriceWeight[]).filter(x => {\n let weightInGrams = x.abbreviation === 'kg' ? x.value * 1000 : x.value;\n return weightInGrams >= weightNum;\n });\n if (matchingWeights && matchingWeights.length > 0) {\n this.weight = matchingWeights[0];\n this.weightvalue = this.weight.value;\n }\n }\n }\n }}\n ></pn-input>\n <span class=\"weightoption-input-abbreviation\">{this.weight.abbreviation}</span>\n </div>\n <div class=\"weightoption-range\">\n <input\n type=\"range\"\n id=\"weightrange\"\n name=\"weightrange\"\n list=\"weightlist\"\n value={!this.weight.value ? 0 : weights[this.postagetype.value].findIndex(x => x.value === this.weightvalue)}\n onChange={e => {\n const value = (e.target as HTMLInputElement).value;\n this.weight = weights[this.postagetype.value][value];\n this.weightvalue = this.weight.value;\n }}\n min=\"0\"\n // max={ weights[this.postagetype.value][weights[this.postagetype.value].length - 1].value }\n max={weights[this.postagetype.value].length - 1}\n />\n <datalist id=\"weightlist\">\n {weights[this.postagetype.value].map((weight, weightindex) => {\n let labelText = weight.name;\n if (weights[this.postagetype.value].length > 6) {\n labelText = weightindex % 5 === 0 || weightindex === 0 || weightindex === weights[this.postagetype.value].length - 1 ? weight.name : '';\n }\n return <option value={weightindex} {...(labelText ? { label: labelText } : {})}></option>;\n })}\n </datalist>\n </div>\n </div>\n </div>\n ) : null}\n </div>\n {this.filteredItems && this.filteredItems.length > 0 ? (\n <div class=\"resultlist\">\n {state.i18n.resultlistheading ? <div class=\"heading\">{state.i18n.resultlistheading}</div> : null}\n {this.filteredItems.map((item: ProductPriceItem) => (\n <div>\n <pn-find-service-and-price-result item={item}></pn-find-service-and-price-result>\n </div>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,d as n}from"./p-82546a44.js";import{a as i}from"./p-aca71066.js";import{o as d}from"./p-c40f1e9a.js";const o='pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-product-card{border:0.1rem solid #d3cecb;outline:none;background:#ffffff;box-shadow:0px 0.6px 1.8px rgba(0, 0, 0, 0.1), 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);display:flex;word-break:break-word;text-decoration:none;border-radius:0.8rem;position:relative;padding:11rem 2.4rem 2.4rem;margin-bottom:1.6rem}@media screen and (min-width: 36em){pn-product-card{padding:2.4rem}}pn-product-card [slot=title]{display:flex;width:100%;margin-bottom:0.8rem;gap:1.6rem;flex-direction:column;align-items:center}@media screen and (min-width: 36em){pn-product-card [slot=title]{flex-direction:row;align-items:inherit}}pn-product-card [slot=title] h2{width:100%}@media screen and (min-width: 36em){pn-product-card [slot=title] h2{width:auto}}pn-product-card [slot=title] h2>a{color:#000000}pn-product-card [slot=title] h2>a::after{content:"" !important}pn-product-card [slot=note]{margin-top:1em;margin-bottom:1em;font-size:0.8em}pn-product-card [slot=additionalUSP]{display:flex}pn-product-card [slot=additionalUSP] :first-child{margin-left:0em}pn-product-card [slot=additionalUSP] span{margin-left:1em;background:#d3cecb;color:#2d2013;border-radius:0.25em;width:fit-content;padding:0.3em;margin-top:0.5em;font-size:0.75em}pn-product-card>pn-illustration{min-width:8rem;width:8rem;height:8rem;align-self:center;position:absolute;top:1.6rem;transform:translateX(-50%);left:50%;box-shadow:0px 0.6px 1.8px rgba(0, 0, 0, 0.1), 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);border-radius:100%}@media screen and (min-width: 36em){pn-product-card>pn-illustration{box-shadow:none;top:1.6rem;right:1.6rem;left:auto;transform:none}}@media screen and (min-width: 48em){pn-product-card>pn-illustration{position:static;top:auto;right:auto;margin-right:3rem}}pn-product-card .cardcontent{display:flex;flex-direction:column;justify-content:center;flex-grow:1}@media screen and (min-width: 48em){pn-product-card .cardcontent{flex-direction:row;gap:1.6rem}}pn-product-card [slot=cardprice]{display:flex;flex-direction:column;justify-content:center;padding:0.6em;flex-grow:1}@media screen and (min-width: 36em){pn-product-card [slot=cardprice]{flex-direction:row;justify-content:space-between}}@media screen and (min-width: 48em){pn-product-card [slot=cardprice]{flex-direction:column;justify-content:center;align-items:flex-end}}pn-product-card [slot=mobiledownload]{margin-top:1rem;white-space:nowrap;text-align:center;display:flex;flex-direction:column}pn-product-card [slot=mobiledownload] #riktiga{order:4;margin-top:1em}pn-product-card [slot=mobiledownload] #riktiga>div>a::after{content:"" !important}pn-product-card [slot=mobiledownload] .riktigaAndroidImg{width:6em;margin:0.5em}pn-product-card [slot=mobiledownload] .riktigaAppleImg{width:5.6em;margin:0.5em}pn-product-card [slot=mobiledownload] a{text-decoration:none;color:#005d92}pn-product-card [slot=mobiledownload] a h3{text-decoration:underline}pn-product-card [slot=servicepoint]{flex-direction:column;justify-content:center;flex-grow:2;align-items:flex-end;text-align:center}@media screen and (min-width: 36em){pn-product-card [slot=servicepoint]{flex-direction:row;justify-content:space-between}}@media screen and (min-width: 48em){pn-product-card [slot=servicepoint]{flex-direction:column;justify-content:center;align-items:flex-end}}pn-product-card .details{display:flex;flex-direction:column;justify-content:space-between;width:100%}pn-product-card .info{display:flex;justify-content:space-between;flex-grow:1;flex-flow:wrap;padding:0 1em 0 0}pn-product-card .info>*{min-width:6em;margin:0.5em 1em 0.5em 0}';const r=o;const a=class{constructor(t){e(this,t)}render(){return t(n,{key:"a2f8575d2606b41f8193caa240cafa60311b5b6a"},t("slot",{key:"366f45aa43c58a724475a92c8a80a3bc387df54b",name:"illustration"}),t("div",{key:"f23a5bfa486d95027b47903a0f64b60195700a3d",class:"cardcontent"},t("div",{key:"15437a56af91702f4c88e8f67e5ad1ca09e05c15",class:"details"},t("slot",{key:"dbff885efc6c6068dee18a7009ebe32068863b5a",name:"title"}),t("slot",{key:"a1a9316b0cdc8b01abf584d2608363b70f740771",name:"content"}),t("div",{key:"f13e09bf06a66f2467af95f52de8632d55811c0d",class:"info"},t("slot",{key:"481d4e94eadf14f1045d8081b7d8abbdd41191a5"})),t("slot",{key:"9fe23bcb9d4ed92a3d602bca06cf39dd48aa19b4",name:"note"}),t("slot",{key:"a67b48193cc2fc9a1b8839e561e17abc5c480818",name:"additionalUSP"})),t("div",{key:"ff78e438332b1de3de8e2d6dbf1edbb4e3a9e550",class:"cardprice"},t("slot",{key:"d674cbd5a72b3e7a1e5058640b454b569d6928e9",name:"cardprice"}),t("slot",{key:"dad5658682e02baf50b6ad5cd753ab174fcd8f2c",name:"mobiledownload"}),t("slot",{key:"206ede97d7f344d39663d743d0a53d7cb38c1d8b",name:"servicepoint"}))))}};a.style=r;const c='pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-product-card-info{align-self:center}.cardinfocontent{display:flex;flex-direction:column;justify-content:space-between;flex-grow:1;font-size:0.875em;gap:1.6rem}@media screen and (min-width: 36em){.cardinfocontent{flex-direction:row}}.cardinfocontent>div p{margin:0.25em 0.25em 0 0}.cardinfocontent-item{margin-top:0.5em}[slot=formatPre]{font-family:"PostNordSans", "Verdana";margin:0.5em 3em 0 0}[slot=formatPre]>strong{font-weight:bold}.cardinfoprice{display:flex;font-size:1em;flex-direction:row;justify-content:center;flex-grow:1}';const p=c;const l=class{constructor(t){e(this,t);this.rulle=undefined;this.paket=undefined;this.label=undefined;this.text=undefined}render(){return this.label?t(n,null,t("div",{class:"cardinfocontent"},this.text?t("pre",{slot:"formatPre"},this.text):null)):t(n,null,t("div",{class:"cardinfocontent"},this.paket?t("div",{class:"cardinfocontent-item"},t("strong",null,"Maxmått"),this.paket.split("/").map((e=>e.split(":").length>1?t("p",null,t("strong",null,e.split(":")[0]+": ")," ",e.split(":")[1]):t("p",null,e)))):null,this.rulle?t("div",{class:"cardinfocontent-item"},t("strong",null,"Rulle"),this.rulle.split("/").map((e=>e.split(":").length>0?t("p",null,t("strong",null,e.split(":")[0]+": ")," ",e.split(":")[1]):t("p",null,e)))):null))}};t("pn-icon",{icon:i,small:"false",color:"black"});l.style=p;const s="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-product-card-price{margin-top:1rem;white-space:nowrap;text-align:center;display:flex;flex-direction:column}pn-product-card-price span:last-child{display:inline-block;margin-left:0.2em}pn-product-card-price+pn-product-card-price{margin-right:0}pn-product-card-price pn-icon{display:inline-block;align-self:center}pn-product-card-price .price{font-size:2.5em;font-weight:bold;order:1}pn-product-card-price pn-button{min-width:12.8em;font-size:1.25;order:2}@media screen and (min-width: 48em){pn-product-card-price pn-button{order:3;margin-bottom:1.6rem}}pn-product-card-price p{font-weight:lighter;font-size:0.875em;align-self:center;margin-top:0.8rem;order:3}@media screen and (min-width: 48em){pn-product-card-price p{order:2}}";const m=s;const f=class{constructor(t){e(this,t);this.label=undefined;this.amount=undefined;this.currency=undefined;this.note=undefined;this.url=undefined;this.service=undefined;this.linkid=undefined}render(){if(!this.amount){return}return this.url?t(n,{id:this.linkid},t("div",{class:"price"},this.amount?t("span",null,this.amount):null,this.currency?t("span",null," "+this.currency):null),this.note?t("p",null,this.note):null,this.label?t("pn-button",{id:"pricecta-"+this.linkid,small:"true",icon:d,appearance:"light",href:this.url,target:"_blank"},this.label):null):t(n,null,t("div",{class:"price"},this.amount?t("span",null,this.amount):null,this.currency?t("span",null,this.currency):null))}};f.style=m;export{a as pn_product_card,l as pn_product_card_info,f as pn_product_card_price};
2
+ //# sourceMappingURL=p-cbb1d57d.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["pnProductCardCss","PnProductCardStyle0","PnProductCard","render","h","Host","key","name","class","pnProductCardInfoCss","PnProductCardInfoStyle0","PnProductCardInfo","this","label","text","slot","paket","split","map","item","length","rulle","icon","align_center","small","color","pnProductCardPriceCss","PnProductCardPriceStyle0","PnProductCardPrice","amount","url","id","linkid","currency","note","open_in_new","appearance","href","target"],"sources":["src/components/widgets/pn-product-card/pn-product-card.scss?tag=pn-product-card","src/components/widgets/pn-product-card/pn-product-card.tsx","src/components/widgets/pn-product-card/pn-product-card-info.scss?tag=pn-product-card-info","src/components/widgets/pn-product-card/pn-product-card-info.tsx","src/components/widgets/pn-product-card/pn-product-card-price.scss?tag=pn-product-card-price","src/components/widgets/pn-product-card/pn-product-card-price.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n@import './pn-product-card-common.scss';\n\npn-product-card {\n border: 0.1rem solid $gray200;\n outline: none;\n background: $white;\n box-shadow:\n 0px 0.6px 1.8px rgba(0, 0, 0, 0.1),\n 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);\n display: flex;\n word-break: break-word;\n text-decoration: none;\n border-radius: 0.8rem;\n position: relative;\n padding: 11rem 2.4rem 2.4rem;\n margin-bottom: 1.6rem;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n padding: 2.4rem;\n }\n\n [slot='title'] {\n display: flex;\n width: 100%;\n margin-bottom: 0.8rem;\n gap: 1.6rem;\n flex-direction: column;\n align-items: center;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n align-items: inherit;\n }\n h2 {\n width: 100%;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n width: auto;\n }\n\n > a {\n color: $black;\n &::after {\n content: '' !important;\n }\n }\n }\n }\n\n [slot='note'] {\n margin-top: 1em;\n margin-bottom: 1em;\n font-size: 0.8em;\n }\n\n [slot='additionalUSP'] {\n display: flex;\n\n :first-child {\n margin-left: 0em;\n }\n\n span {\n margin-left: 1em;\n background: $gray200;\n color: $gray900;\n border-radius: 0.25em;\n width: fit-content;\n padding: 0.3em;\n margin-top: 0.5em;\n font-size: 0.75em;\n }\n }\n\n > pn-illustration {\n min-width: 8rem;\n width: 8rem;\n height: 8rem;\n align-self: center;\n position: absolute;\n top: 1.6rem;\n transform: translateX(-50%);\n left: 50%;\n box-shadow:\n 0px 0.6px 1.8px rgba(0, 0, 0, 0.1),\n 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);\n border-radius: 100%;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n box-shadow: none;\n top: 1.6rem;\n right: 1.6rem;\n left: auto;\n transform: none;\n }\n @media screen and (min-width: $productcard-media-tablet) {\n position: static;\n top: auto;\n right: auto;\n margin-right: 3rem;\n }\n }\n\n .cardcontent {\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex-grow: 1;\n @media screen and (min-width: $productcard-media-tablet) {\n flex-direction: row;\n gap: 1.6rem;\n }\n }\n\n [slot='cardprice'] {\n display: flex;\n // flex-wrap: wrap;\n flex-direction: column;\n justify-content: center;\n padding: 0.6em;\n flex-grow: 1;\n\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n justify-content: space-between;\n }\n\n @media screen and (min-width: $productcard-media-tablet) {\n flex-direction: column;\n justify-content: center;\n align-items: flex-end;\n }\n }\n\n [slot='mobiledownload'] {\n margin-top: 1rem;\n white-space: nowrap;\n text-align: center;\n\n display: flex;\n flex-direction: column;\n\n #riktiga {\n order: 4;\n margin-top: 1em;\n\n > div {\n > a {\n &::after {\n content: '' !important;\n }\n }\n }\n }\n .riktigaAndroidImg {\n width: 6em;\n margin: 0.5em;\n }\n\n .riktigaAppleImg {\n width: 5.6em;\n margin: 0.5em;\n }\n\n a {\n text-decoration: none;\n color: $blue700;\n h3 {\n text-decoration: underline;\n }\n }\n }\n [slot='servicepoint'] {\n // flex-wrap: wrap;\n flex-direction: column;\n justify-content: center;\n flex-grow: 2;\n align-items: flex-end;\n text-align: center;\n\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n justify-content: space-between;\n }\n\n @media screen and (min-width: $productcard-media-tablet) {\n flex-direction: column;\n justify-content: center;\n align-items: flex-end;\n }\n }\n\n .details {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n }\n\n .info {\n display: flex;\n justify-content: space-between;\n flex-grow: 1;\n flex-flow: wrap;\n\n > * {\n min-width: 6em;\n margin: 0.5em 1em 0.5em 0;\n }\n\n padding: 0 1em 0 0;\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'pn-product-card',\n styleUrl: 'pn-product-card.scss',\n})\nexport class PnProductCard {\n render() {\n return (\n <Host>\n <slot name=\"illustration\" />\n <div class=\"cardcontent\">\n <div class=\"details\">\n <slot name=\"title\" />\n <slot name=\"content\" />\n <div class=\"info\">\n <slot />\n </div>\n <slot name=\"note\" />\n <slot name=\"additionalUSP\" />\n </div>\n <div class=\"cardprice\">\n <slot name=\"cardprice\" />\n <slot name=\"mobiledownload\"></slot>\n <slot name=\"servicepoint\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-product-card-common.scss';\n\npn-product-card-info {\n align-self: center;\n}\n\n.cardinfocontent {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex-grow: 1;\n font-size: 0.875em;\n gap: 1.6rem;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n }\n > div p {\n margin: 0.25em 0.25em 0 0;\n }\n}\n\n.cardinfocontent-item {\n margin-top: 0.5em;\n}\n[slot='formatPre'] {\n font-family: 'PostNordSans', 'Verdana';\n > strong {\n font-weight: bold;\n }\n margin: 0.5em 3em 0 0;\n}\n\n.cardinfoprice {\n display: flex;\n font-size: 1em;\n flex-direction: row;\n justify-content: center;\n flex-grow: 1;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport { align_center } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-product-card-info',\n styleUrl: 'pn-product-card-info.scss',\n})\nexport class PnProductCardInfo {\n @Prop() rulle: string;\n @Prop() paket: string;\n @Prop() label: string;\n @Prop() text: string;\n\n render() {\n return this.label ? (\n <Host>\n <div class=\"cardinfocontent\">{this.text ? <pre slot=\"formatPre\">{this.text}</pre> : null}</div>\n </Host>\n ) : (\n <Host>\n <div class=\"cardinfocontent\">\n {this.paket ? (\n <div class=\"cardinfocontent-item\">\n <strong>Maxmått</strong>\n {this.paket.split('/').map(item =>\n item.split(':').length > 1 ? (\n <p>\n <strong>{item.split(':')[0] + ': '}</strong> {item.split(':')[1]}\n </p>\n ) : (\n <p>{item}</p>\n ),\n )}\n </div>\n ) : null}\n {this.rulle ? (\n <div class=\"cardinfocontent-item\">\n <strong>Rulle</strong>\n {this.rulle.split('/').map(item =>\n item.split(':').length > 0 ? (\n <p>\n <strong>{item.split(':')[0] + ': '}</strong> {item.split(':')[1]}\n </p>\n ) : (\n <p>{item}</p>\n ),\n )}\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n<pn-icon icon={align_center} small=\"false\" color=\"black\" />;\n","@import '../../../globals/main.scss';\n@import './pn-product-card-common.scss';\n\npn-product-card-price {\n margin-top: 1rem;\n white-space: nowrap;\n text-align: center;\n\n display: flex;\n flex-direction: column;\n\n span:last-child {\n display: inline-block;\n margin-left: 0.2em;\n }\n & + pn-product-card-price {\n margin-right: 0;\n }\n\n pn-icon {\n display: inline-block;\n align-self: center;\n }\n\n .price {\n font-size: 2.5em;\n font-weight: bold;\n order: 1;\n }\n pn-button {\n min-width: 12.8em;\n font-size: 1.25;\n order: 2;\n\n @media screen and (min-width: $productcard-media-tablet) {\n order: 3;\n margin-bottom: 1.6rem;\n }\n }\n\n p {\n font-weight: lighter;\n font-size: 0.875em;\n align-self: center;\n margin-top: 0.8rem;\n order: 3;\n @media screen and (min-width: $productcard-media-tablet) {\n order: 2;\n }\n }\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport { open_in_new } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-product-card-price',\n styleUrl: 'pn-product-card-price.scss',\n})\nexport class PnProductCardPrice {\n @Prop() label: string;\n @Prop() amount: string;\n @Prop() currency: string;\n @Prop() note: string;\n @Prop() url: string;\n @Prop() service: string;\n @Prop() linkid: string;\n\n render() {\n if (!this.amount) {\n return;\n }\n return this.url ? (\n <Host id={this.linkid}>\n <div class=\"price\">\n {this.amount ? <span>{this.amount}</span> : null}\n {this.currency ? <span>{' ' + this.currency}</span> : null}\n </div>\n {this.note ? <p>{this.note}</p> : null}\n {this.label ? (\n <pn-button id={'pricecta-' + this.linkid} small=\"true\" icon={open_in_new} appearance=\"light\" href={this.url} target=\"_blank\">\n {this.label}\n </pn-button>\n ) : null}\n </Host>\n ) : (\n <Host>\n <div class=\"price\">\n {this.amount ? <span>{this.amount}</span> : null}\n {this.currency ? <span>{this.currency}</span> : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"0HAAA,MAAMA,EAAmB,iiHACzB,MAAAC,EAAeD,E,MCKFE,EAAa,M,yBACxB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,iBACXH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,eACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,QAAAE,IAAA,2CAAMC,KAAK,UACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,YACXH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,QACTJ,EAAA,QAAAE,IAAA,8CAEFF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,SACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,mBAEbH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACTJ,EAAA,QAAAE,IAAA,2CAAMC,KAAK,cACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,mBACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,mB,aCxBvB,MAAME,EAAuB,ymBAC7B,MAAAC,EAAeD,E,MCMFE,EAAiB,M,4GAM5B,MAAAR,GACE,OAAOS,KAAKC,MACVT,EAACC,EAAI,KACHD,EAAA,OAAKI,MAAM,mBAAmBI,KAAKE,KAAOV,EAAA,OAAKW,KAAK,aAAaH,KAAKE,MAAc,OAGtFV,EAACC,EAAI,KACHD,EAAA,OAAKI,MAAM,mBACRI,KAAKI,MACJZ,EAAA,OAAKI,MAAM,wBACTJ,EAAA,yBACCQ,KAAKI,MAAMC,MAAM,KAAKC,KAAIC,GACzBA,EAAKF,MAAM,KAAKG,OAAS,EACvBhB,EAAA,SACEA,EAAA,cAASe,EAAKF,MAAM,KAAK,GAAK,MAAc,IAAEE,EAAKF,MAAM,KAAK,IAGhEb,EAAA,SAAIe,MAIR,KACHP,KAAKS,MACJjB,EAAA,OAAKI,MAAM,wBACTJ,EAAA,uBACCQ,KAAKS,MAAMJ,MAAM,KAAKC,KAAIC,GACzBA,EAAKF,MAAM,KAAKG,OAAS,EACvBhB,EAAA,SACEA,EAAA,cAASe,EAAKF,MAAM,KAAK,GAAK,MAAc,IAAEE,EAAKF,MAAM,KAAK,IAGhEb,EAAA,SAAIe,MAIR,M,GAMdf,EAAA,WAASkB,KAAMC,EAAcC,MAAM,QAAQC,MAAM,U,UCtDjD,MAAMC,EAAwB,4yBAC9B,MAAAC,EAAeD,E,MCMFE,EAAkB,M,gLAS7B,MAAAzB,GACE,IAAKS,KAAKiB,OAAQ,CAChB,M,CAEF,OAAOjB,KAAKkB,IACV1B,EAACC,EAAI,CAAC0B,GAAInB,KAAKoB,QACb5B,EAAA,OAAKI,MAAM,SACRI,KAAKiB,OAASzB,EAAA,YAAOQ,KAAKiB,QAAiB,KAC3CjB,KAAKqB,SAAW7B,EAAA,YAAO,IAAMQ,KAAKqB,UAAmB,MAEvDrB,KAAKsB,KAAO9B,EAAA,SAAIQ,KAAKsB,MAAY,KACjCtB,KAAKC,MACJT,EAAA,aAAW2B,GAAI,YAAcnB,KAAKoB,OAAQR,MAAM,OAAOF,KAAMa,EAAaC,WAAW,QAAQC,KAAMzB,KAAKkB,IAAKQ,OAAO,UACjH1B,KAAKC,OAEN,MAGNT,EAACC,EAAI,KACHD,EAAA,OAAKI,MAAM,SACRI,KAAKiB,OAASzB,EAAA,YAAOQ,KAAKiB,QAAiB,KAC3CjB,KAAKqB,SAAW7B,EAAA,YAAOQ,KAAKqB,UAAmB,M","ignoreList":[]}
1
+ {"version":3,"names":["pnProductCardCss","PnProductCardStyle0","PnProductCard","render","h","Host","key","name","class","pnProductCardInfoCss","PnProductCardInfoStyle0","PnProductCardInfo","this","label","text","slot","paket","split","map","item","length","rulle","icon","align_center","small","color","pnProductCardPriceCss","PnProductCardPriceStyle0","PnProductCardPrice","amount","url","id","linkid","currency","note","open_in_new","appearance","href","target"],"sources":["src/components/widgets/pn-product-card/pn-product-card.scss?tag=pn-product-card","src/components/widgets/pn-product-card/pn-product-card.tsx","src/components/widgets/pn-product-card/pn-product-card-info.scss?tag=pn-product-card-info","src/components/widgets/pn-product-card/pn-product-card-info.tsx","src/components/widgets/pn-product-card/pn-product-card-price.scss?tag=pn-product-card-price","src/components/widgets/pn-product-card/pn-product-card-price.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n@import './pn-product-card-common.scss';\n\npn-product-card {\n border: 0.1rem solid $gray200;\n outline: none;\n background: $white;\n box-shadow:\n 0px 0.6px 1.8px rgba(0, 0, 0, 0.1),\n 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);\n display: flex;\n word-break: break-word;\n text-decoration: none;\n border-radius: 0.8rem;\n position: relative;\n padding: 11rem 2.4rem 2.4rem;\n margin-bottom: 1.6rem;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n padding: 2.4rem;\n }\n\n [slot='title'] {\n display: flex;\n width: 100%;\n margin-bottom: 0.8rem;\n gap: 1.6rem;\n flex-direction: column;\n align-items: center;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n align-items: inherit;\n }\n h2 {\n width: 100%;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n width: auto;\n }\n\n > a {\n color: $black;\n &::after {\n content: '' !important;\n }\n }\n }\n }\n\n [slot='note'] {\n margin-top: 1em;\n margin-bottom: 1em;\n font-size: 0.8em;\n }\n\n [slot='additionalUSP'] {\n display: flex;\n\n :first-child {\n margin-left: 0em;\n }\n\n span {\n margin-left: 1em;\n background: $gray200;\n color: $gray900;\n border-radius: 0.25em;\n width: fit-content;\n padding: 0.3em;\n margin-top: 0.5em;\n font-size: 0.75em;\n }\n }\n\n > pn-illustration {\n min-width: 8rem;\n width: 8rem;\n height: 8rem;\n align-self: center;\n position: absolute;\n top: 1.6rem;\n transform: translateX(-50%);\n left: 50%;\n box-shadow:\n 0px 0.6px 1.8px rgba(0, 0, 0, 0.1),\n 0px 3.2px 7.2px rgba(0, 0, 0, 0.13);\n border-radius: 100%;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n box-shadow: none;\n top: 1.6rem;\n right: 1.6rem;\n left: auto;\n transform: none;\n }\n @media screen and (min-width: $productcard-media-tablet) {\n position: static;\n top: auto;\n right: auto;\n margin-right: 3rem;\n }\n }\n\n .cardcontent {\n display: flex;\n flex-direction: column;\n justify-content: center;\n flex-grow: 1;\n @media screen and (min-width: $productcard-media-tablet) {\n flex-direction: row;\n gap: 1.6rem;\n }\n }\n\n [slot='cardprice'] {\n display: flex;\n // flex-wrap: wrap;\n flex-direction: column;\n justify-content: center;\n padding: 0.6em;\n flex-grow: 1;\n\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n justify-content: space-between;\n }\n\n @media screen and (min-width: $productcard-media-tablet) {\n flex-direction: column;\n justify-content: center;\n align-items: flex-end;\n }\n }\n\n [slot='mobiledownload'] {\n margin-top: 1rem;\n white-space: nowrap;\n text-align: center;\n\n display: flex;\n flex-direction: column;\n\n #riktiga {\n order: 4;\n margin-top: 1em;\n\n > div {\n > a {\n &::after {\n content: '' !important;\n }\n }\n }\n }\n .riktigaAndroidImg {\n width: 6em;\n margin: 0.5em;\n }\n\n .riktigaAppleImg {\n width: 5.6em;\n margin: 0.5em;\n }\n\n a {\n text-decoration: none;\n color: $blue700;\n h3 {\n text-decoration: underline;\n }\n }\n }\n [slot='servicepoint'] {\n // flex-wrap: wrap;\n flex-direction: column;\n justify-content: center;\n flex-grow: 2;\n align-items: flex-end;\n text-align: center;\n\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n justify-content: space-between;\n }\n\n @media screen and (min-width: $productcard-media-tablet) {\n flex-direction: column;\n justify-content: center;\n align-items: flex-end;\n }\n }\n\n .details {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n }\n\n .info {\n display: flex;\n justify-content: space-between;\n flex-grow: 1;\n flex-flow: wrap;\n\n > * {\n min-width: 6em;\n margin: 0.5em 1em 0.5em 0;\n }\n\n padding: 0 1em 0 0;\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'pn-product-card',\n styleUrl: 'pn-product-card.scss',\n})\nexport class PnProductCard {\n render() {\n return (\n <Host>\n <slot name=\"illustration\" />\n <div class=\"cardcontent\">\n <div class=\"details\">\n <slot name=\"title\" />\n <slot name=\"content\" />\n <div class=\"info\">\n <slot />\n </div>\n <slot name=\"note\" />\n <slot name=\"additionalUSP\" />\n </div>\n <div class=\"cardprice\">\n <slot name=\"cardprice\" />\n <slot name=\"mobiledownload\"></slot>\n <slot name=\"servicepoint\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-product-card-common.scss';\n\npn-product-card-info {\n align-self: center;\n}\n\n.cardinfocontent {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex-grow: 1;\n font-size: 0.875em;\n gap: 1.6rem;\n @media screen and (min-width: $productcard-media-oversmallmobile) {\n flex-direction: row;\n }\n > div p {\n margin: 0.25em 0.25em 0 0;\n }\n}\n\n.cardinfocontent-item {\n margin-top: 0.5em;\n}\n[slot='formatPre'] {\n font-family: 'PostNordSans', 'Verdana';\n > strong {\n font-weight: bold;\n }\n margin: 0.5em 3em 0 0;\n}\n\n.cardinfoprice {\n display: flex;\n font-size: 1em;\n flex-direction: row;\n justify-content: center;\n flex-grow: 1;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport { align_center } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-product-card-info',\n styleUrl: 'pn-product-card-info.scss',\n})\nexport class PnProductCardInfo {\n @Prop() rulle: string;\n @Prop() paket: string;\n @Prop() label: string;\n @Prop() text: string;\n\n render() {\n return this.label ? (\n <Host>\n <div class=\"cardinfocontent\">{this.text ? <pre slot=\"formatPre\">{this.text}</pre> : null}</div>\n </Host>\n ) : (\n <Host>\n <div class=\"cardinfocontent\">\n {this.paket ? (\n <div class=\"cardinfocontent-item\">\n <strong>Maxmått</strong>\n {this.paket.split('/').map(item =>\n item.split(':').length > 1 ? (\n <p>\n <strong>{item.split(':')[0] + ': '}</strong> {item.split(':')[1]}\n </p>\n ) : (\n <p>{item}</p>\n ),\n )}\n </div>\n ) : null}\n {this.rulle ? (\n <div class=\"cardinfocontent-item\">\n <strong>Rulle</strong>\n {this.rulle.split('/').map(item =>\n item.split(':').length > 0 ? (\n <p>\n <strong>{item.split(':')[0] + ': '}</strong> {item.split(':')[1]}\n </p>\n ) : (\n <p>{item}</p>\n ),\n )}\n </div>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n<pn-icon icon={align_center} small=\"false\" color=\"black\" />;\n","@import '../../../globals/main.scss';\n@import './pn-product-card-common.scss';\n\npn-product-card-price {\n margin-top: 1rem;\n white-space: nowrap;\n text-align: center;\n\n display: flex;\n flex-direction: column;\n\n span:last-child {\n display: inline-block;\n margin-left: 0.2em;\n }\n & + pn-product-card-price {\n margin-right: 0;\n }\n\n pn-icon {\n display: inline-block;\n align-self: center;\n }\n\n .price {\n font-size: 2.5em;\n font-weight: bold;\n order: 1;\n }\n pn-button {\n min-width: 12.8em;\n font-size: 1.25;\n order: 2;\n\n @media screen and (min-width: $productcard-media-tablet) {\n order: 3;\n margin-bottom: 1.6rem;\n }\n }\n\n p {\n font-weight: lighter;\n font-size: 0.875em;\n align-self: center;\n margin-top: 0.8rem;\n order: 3;\n @media screen and (min-width: $productcard-media-tablet) {\n order: 2;\n }\n }\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport { open_in_new } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-product-card-price',\n styleUrl: 'pn-product-card-price.scss',\n})\nexport class PnProductCardPrice {\n @Prop() label: string;\n @Prop() amount: string;\n @Prop() currency: string;\n @Prop() note: string;\n @Prop() url: string;\n @Prop() service: string;\n @Prop() linkid: string;\n\n render() {\n if (!this.amount) {\n return;\n }\n return this.url ? (\n <Host id={this.linkid}>\n <div class=\"price\">\n {this.amount ? <span>{this.amount}</span> : null}\n {this.currency ? <span>{' ' + this.currency}</span> : null}\n </div>\n {this.note ? <p>{this.note}</p> : null}\n {this.label ? (\n <pn-button id={'pricecta-' + this.linkid} small=\"true\" icon={open_in_new} appearance=\"light\" href={this.url} target=\"_blank\">\n {this.label}\n </pn-button>\n ) : null}\n </Host>\n ) : (\n <Host>\n <div class=\"price\">\n {this.amount ? <span>{this.amount}</span> : null}\n {this.currency ? <span>{this.currency}</span> : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"0HAAA,MAAMA,EAAmB,02HACzB,MAAAC,EAAeD,E,MCKFE,EAAa,M,yBACxB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,iBACXH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,eACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACTJ,EAAA,QAAAE,IAAA,2CAAMC,KAAK,UACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,YACXH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,QACTJ,EAAA,QAAAE,IAAA,8CAEFF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,SACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,mBAEbH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACTJ,EAAA,QAAAE,IAAA,2CAAMC,KAAK,cACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,mBACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,mB,aCxBvB,MAAME,EAAuB,k7BAC7B,MAAAC,EAAeD,E,MCMFE,EAAiB,M,4GAM5B,MAAAR,GACE,OAAOS,KAAKC,MACVT,EAACC,EAAI,KACHD,EAAA,OAAKI,MAAM,mBAAmBI,KAAKE,KAAOV,EAAA,OAAKW,KAAK,aAAaH,KAAKE,MAAc,OAGtFV,EAACC,EAAI,KACHD,EAAA,OAAKI,MAAM,mBACRI,KAAKI,MACJZ,EAAA,OAAKI,MAAM,wBACTJ,EAAA,yBACCQ,KAAKI,MAAMC,MAAM,KAAKC,KAAIC,GACzBA,EAAKF,MAAM,KAAKG,OAAS,EACvBhB,EAAA,SACEA,EAAA,cAASe,EAAKF,MAAM,KAAK,GAAK,MAAc,IAAEE,EAAKF,MAAM,KAAK,IAGhEb,EAAA,SAAIe,MAIR,KACHP,KAAKS,MACJjB,EAAA,OAAKI,MAAM,wBACTJ,EAAA,uBACCQ,KAAKS,MAAMJ,MAAM,KAAKC,KAAIC,GACzBA,EAAKF,MAAM,KAAKG,OAAS,EACvBhB,EAAA,SACEA,EAAA,cAASe,EAAKF,MAAM,KAAK,GAAK,MAAc,IAAEE,EAAKF,MAAM,KAAK,IAGhEb,EAAA,SAAIe,MAIR,M,GAMdf,EAAA,WAASkB,KAAMC,EAAcC,MAAM,QAAQC,MAAM,U,UCtDjD,MAAMC,EAAwB,qnCAC9B,MAAAC,EAAeD,E,MCMFE,EAAkB,M,gLAS7B,MAAAzB,GACE,IAAKS,KAAKiB,OAAQ,CAChB,M,CAEF,OAAOjB,KAAKkB,IACV1B,EAACC,EAAI,CAAC0B,GAAInB,KAAKoB,QACb5B,EAAA,OAAKI,MAAM,SACRI,KAAKiB,OAASzB,EAAA,YAAOQ,KAAKiB,QAAiB,KAC3CjB,KAAKqB,SAAW7B,EAAA,YAAO,IAAMQ,KAAKqB,UAAmB,MAEvDrB,KAAKsB,KAAO9B,EAAA,SAAIQ,KAAKsB,MAAY,KACjCtB,KAAKC,MACJT,EAAA,aAAW2B,GAAI,YAAcnB,KAAKoB,OAAQR,MAAM,OAAOF,KAAMa,EAAaC,WAAW,QAAQC,KAAMzB,KAAKkB,IAAKQ,OAAO,UACjH1B,KAAKC,OAEN,MAGNT,EAACC,EAAI,KACHD,EAAA,OAAKI,MAAM,SACRI,KAAKiB,OAASzB,EAAA,YAAOQ,KAAKiB,QAAiB,KAC3CjB,KAAKqB,SAAW7B,EAAA,YAAOQ,KAAKqB,UAAmB,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,F as a,d as i}from"./p-82546a44.js";import{a as n}from"./p-36b39340.js";import{c as s}from"./p-366fd15a.js";import{m as h}from"./p-b2f2fbb6.js";import{L as r}from"./p-8d78b631.js";import{P as o}from"./p-a079c496.js";import"./p-3478f368.js";const l='<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M21 11.998a1 1 0 0 1-.577.908l-15 7a1 1 0 0 1-1.237-1.487l4.585-6.42-1.46-2.043A1 1 0 1 1 8.94 8.794l1.875 2.625a1 1 0 0 1 0 1.162l-2.788 3.903 9.599-4.48L6.58 6.909a1 1 0 1 1 .838-1.816l13 6a1 1 0 0 1 .581.906M5 4a1 1 0 0 1 1 1v.01a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1" clip-rule="evenodd"/></svg>';const c=l;const d='<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M12.388 2c5.522 0 10 4.477 10 10s-4.478 10-10 10H2l1.355-4.064-.798-3.987a8.8 8.8 0 0 1-.17-1.717V12c0-5.523 4.478-10 10-10m8 10a8 8 0 0 0-16 0v.232q0 .67.13 1.325l.902 4.507L4.775 20h7.612a8 8 0 0 0 8-8m-12.5-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m6 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m3-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3" clip-rule="evenodd"/></svg>';const p=d;const m={sv:{relatedContentAriaLabel:"Relaterat innehåll",chatMinimizedAriaLabel:"Chatten är minimerad",chatOpenedAriaLabel:"Chatten är öppen",minimizeChatAriaLabel:"Minimera chatten",closeChatAriaLabel:"Stäng chatten",openChatAriaLabel:"Öppna chatten",chatControlsAriaLabel:"Chattkontroller",chatMessagesAriaLabel:"Chattmeddelanden",sentMessageAriaLabel:"Meddelande skickat",writeChatMessagePlaceholder:"Skriv ett meddelande...",waitingForAnswerLabel:"Väntar på svar",sendButtonText:"Skicka",loadingText:"Laddar..."},en:{relatedContentAriaLabel:"Related content",chatMinimizedAriaLabel:"Chat is minimized",chatOpenedAriaLabel:"Chat is open",minimizeChatAriaLabel:"Minimize chat",closeChatAriaLabel:"Close chat",openChatAriaLabel:"Open chat",chatControlsAriaLabel:"Chat controls",chatMessagesAriaLabel:"Chat messages",sentMessageAriaLabel:"Message sent",writeChatMessagePlaceholder:"Type a message...",waitingForAnswerLabel:"Waiting for answer",sendButtonText:"Send",loadingText:"Loading..."},da:{relatedContentAriaLabel:"Relateret indhold",chatMinimizedAriaLabel:"Chatten er minimeret",chatOpenedAriaLabel:"Chatten er åben",minimizeChatAriaLabel:"Minimer chatten",closeChatAriaLabel:"Luk chatten",openChatAriaLabel:"Åbn chatten",chatControlsAriaLabel:"Chatkontroller",chatMessagesAriaLabel:"Chatbeskeder",sentMessageAriaLabel:"Besked sendt",writeChatMessagePlaceholder:"Skriv en besked...",waitingForAnswerLabel:"Venter på svar",sendButtonText:"Send",loadingText:"Indlæser..."},no:{relatedContentAriaLabel:"Relatert innhold",chatMinimizedAriaLabel:"Chatten er minimert",chatOpenedAriaLabel:"Chatten er åpen",minimizeChatAriaLabel:"Minimer chatten",closeChatAriaLabel:"Lukk chatten",openChatAriaLabel:"Åpne chatten",chatControlsAriaLabel:"Chatkontroller",chatMessagesAriaLabel:"Chatmeldinger",sentMessageAriaLabel:"Melding sendt",writeChatMessagePlaceholder:"Skriv en melding...",waitingForAnswerLabel:"Venter på svar",sendButtonText:"Send",loadingText:"Laster..."},fi:{relatedContentAriaLabel:"Aiheeseen liittyvä sisältö",chatMinimizedAriaLabel:"Keskustelu on pienennetty",chatOpenedAriaLabel:"Keskustelu on auki",minimizeChatAriaLabel:"Pienennä keskustelu",closeChatAriaLabel:"Sulje keskustelu",openChatAriaLabel:"Avaa keskustelu",chatControlsAriaLabel:"Keskustelun hallinta",chatMessagesAriaLabel:"Keskusteluviestit",sentMessageAriaLabel:"Viesti lähetetty",writeChatMessagePlaceholder:"Kirjoita viesti...",waitingForAnswerLabel:"Odotetaan vastausta",sendButtonText:"Lähetä",loadingText:"Ladataan..."}};const b="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}.pn-chat{display:flex;flex-direction:column;height:600px;width:100%;max-width:400px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);border-radius:1.6rem}@media (max-width: 768px){.pn-chat:not(.minimized){position:absolute;height:100dvh;width:100dvw;max-width:100%;top:0;left:0}.pn-chat.minimized{height:70px;border-radius:0.8rem 0.8rem 0 0}}@media (min-width: 768px) and (max-width: 1024px){.pn-chat{max-width:350px}}.pn-chat .chat-header{background-color:#005d92;color:#ffffff;padding:0.8rem;padding-left:1.6rem;display:flex;justify-content:space-between;align-items:center}@media (min-width: 768px){.pn-chat .chat-header{border-radius:1.6rem 1.6rem 0 0}}.pn-chat .chat-header .chat-controls{display:flex}.pn-chat .chat-header pn-button.minimize-btn button.pn-button{padding-bottom:0}.pn-chat .chat-header pn-button.minimize-btn button.pn-button .pn-button-content{align-items:flex-end}.pn-chat .chat-header #chat-title{margin:0;font-size:2rem;font-weight:400;line-height:1.4}.pn-chat .chat-main{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;gap:1.6rem;padding:1.6rem;padding-bottom:3.2rem;border-left:1px solid #d3cecb;border-right:1px solid #d3cecb;background-color:#ffffff}.pn-chat .chat-main.loading-chat-main{display:flex;justify-content:center;align-items:center;padding-bottom:1.6rem}.pn-chat .chat-loading-spinner{background-color:#005d92;width:4.8rem;height:4.8rem;border-radius:4.8rem;display:flex;align-items:center;justify-content:center}.pn-chat .chat-loading-content{color:#2d2013;font-size:1.6rem;font-weight:400}.pn-chat .chat-overview{text-align:center}.pn-chat .chat-messages{display:flex;flex-direction:column;gap:1.6rem;text-align:center}.pn-chat .card-container .slider-wrapper{margin:0}.pn-chat .card-container .slides-container{display:flex;gap:1rem}.pn-chat .card-container .slide:nth-child(even) [data-card]{width:calc(100% - 1rem)}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.95)}}.pn-chat .chat-footer{background:#ffffff;border:1px solid #d3cecb;border-top:none}.pn-chat .chat-footer .form{display:flex;gap:0.7rem;padding:1rem}.pn-chat .chat-input-container{display:flex;flex-grow:1;justify-content:space-between;gap:0.7rem;background:#f9f8f8;border-radius:6.4rem}.pn-chat .chat-input-container .chat-text-input{text-indent:0.8rem;border:none;background:transparent;width:100%;outline:0.2rem solid transparent;outline-offset:0.2rem}.pn-chat .chat-input-container .chat-text-input:focus{border-radius:6.4rem}.pn-chat .chat-input-container .chat-text-input:focus-visible{outline-color:#005d92}.pn-chat .chat-input-container .chat-disabled-button{display:flex;width:3.5em;min-height:3em;min-width:0;align-items:center;justify-content:center}.pn-chat.minimized{background:transparent;border:initial;box-shadow:initial;max-width:50px;max-height:50px;min-width:initial;min-height:initial;transform:scale(0.95);cursor:pointer}.pn-chat.minimized .minimize-btn,.pn-chat.minimized .close-btn{position:absolute;top:0;right:0;bottom:0;left:0}.pn-chat.minimized .minimize-btn button,.pn-chat.minimized .close-btn button{display:none}.pn-chat.minimized .chat-main,.pn-chat.minimized .chat-footer{display:none}.pn-chat.closed{display:none}.pn-chat .open-chat-btn .pn-button{width:5.6rem;height:5.6rem}.pn-chat .open-chat-btn .pn-icon svg{width:3.2rem;height:3.2rem}.pn-chat .indicator-icon{padding:0.2rem 0.8rem;margin-right:auto;margin-top:1rem;margin-bottom:2rem;visibility:hidden}@media (max-width: 768px){body.chat-open{overflow:hidden}}";const u=b;const f=class{constructor(t){e(this,t);this.endpoint=undefined;this.customerSegment=undefined;this.mainHeading="";this.relatedContentAriaLabel=undefined;this.chatMinimizedAriaLabel=undefined;this.chatOpenedAriaLabel=undefined;this.minimizeChatAriaLabel=undefined;this.closeChatAriaLabel=undefined;this.openChatAriaLabel=undefined;this.chatControlsAriaLabel=undefined;this.chatMessagesAriaLabel=undefined;this.sentMessageAriaLabel=undefined;this.writeChatMessagePlaceholder=undefined;this.waitingForAnswerLabel=undefined;this.sendButtonText=undefined;this.loadingText=undefined;this.carouselSlidesToShow=1;this.messages=undefined;this.language="sv";this.market="se";this.itemId="";this.pnChatId="00000000-0000-0000-0000-000000000000";this.forceOpen=false;this.isLoggedIn=false;this.message="";this.messagesData=undefined;this.isMinimized=true;this.isClosed=false;this.lastMessageId="";this.i18n=undefined}chatId;_defaultChatId="00000000-0000-0000-0000-000000000000";_defaultAlternativeChatId="1";chatLocalStorageKey="sf-chat-state";chatMessagesContainer;chatRef;inputRef;storage=new r;_chatService;_chatSegment="#chat";_forceClose=false;componentWillLoad(){this._forceClose=false;this._chatService=new o(this.endpoint,this.market,this.language);this.messagesData={header:{},messages:[]};let e=this.storage.get(this.chatLocalStorageKey);if(e&&e.isLoggedIn===!this.isLoggedIn){this.storage.remove(this.chatLocalStorageKey)}else if(e&&e.chatId){this.chatId=e?.chatId??this.chatId}this.setTranslations();setInterval((()=>{this.updateChat()}),1500)}setTranslations(){if(this.language&&m[this.language]){this.i18n=m[this.language]}}getTranslation(e){const t=this[e];if(t===undefined||t===null||t===""){return m[this.language]?.[e]??m["en"][e]}return t}async updateChat(){if(this.isMinimized||this.isClosed){return}let e=this.lastMessageId;await this._chatService.fetchMessages(this.chatId,this.messagesData).then((t=>{this.lastMessageId=this._chatService.GetLastMessageId(t?.messages,this.lastMessageId);let a=document.getElementsByClassName("pn-chat-before");let i=Array.from(a);t.messages.forEach((e=>{i.forEach((t=>{if(e.content!=null&&(t.textContent.trim()===e.content.trim()||t.textContent.trim().includes(e.content.trim()))){t.remove()}}));this.renderMessage(e)}));if(e!==this.lastMessageId){this._chatService.updateLastMessageId(this.chatId,this.lastMessageId);this.messagesData=t;t.messages.forEach((e=>{this.renderMessage(e)}))}}))}async setStartValues(){if(this._forceClose){this._forceClose=false;return}if((!this.chatId||this.chatId===this._defaultChatId||this.chatId===this._defaultAlternativeChatId)&&!this.isMinimized){this.chatId=await this._chatService.startChat(this.pnChatId,this.itemId);this.storage.set(this.chatLocalStorageKey,{chatId:this.chatId,isLoggedIn:this.isLoggedIn})}if(this.chatId){this.storage.set(this.chatLocalStorageKey,{chatId:this.chatId,isLoggedIn:this.isLoggedIn});await this.fetchMessages();this.lastMessageId=this._chatService.GetLastMessageId(this.messagesData.messages,this.lastMessageId)}}async fetchMessages(){await this._chatService.fetchMessages(this.chatId,this.messagesData).then((e=>{this.lastMessageId=this._chatService.GetLastMessageId(this.messagesData.messages,this.lastMessageId);this.messagesData=e;let t=document.getElementsByClassName("pn-chat-before");let a=Array.from(t);e.messages.forEach((e=>{a.forEach((t=>{if(t.textContent.trim()===e.content.trim()||t.textContent.trim().includes(e.content.trim())){t.remove()}}));this.renderMessage(e)}));return e}))}async handleSend(){if(!this.message?.trim()){return}let e=this.message;this.message="";this.createBeforeElement(e);let t=await this._chatService.sendMessage(e,this.itemId,this.chatId,this.lastMessageId,"Text");this.lastMessageId=t;this.lastMessageId=this._chatService.GetLastMessageId(this.messagesData.messages,this.lastMessageId);this.announceToScreenReader(this.getTranslation("sentMessageAriaLabel"))}groupMessages(){const e=[];let a=[];const i=()=>{if(a.length>0){const i={slides:a.map((e=>{const t=`\n <pn-chat-message customerSegment=${this.customerSegment} data-card role="article" category=${e.category}>\n <h2 class="card-heading">${e.heading}</h2>\n <p>${e.content}</p>\n ${e.buttons?.map((e=>`\n <pn-button\n href="${e.href}"\n class="${e.class}"\n appearance="${e.appearance}"\n variant="${e.variant}"\n small="${e.small}"\n role="button"\n >\n ${e.content}\n </pn-button>\n `)).join("")||""}\n </pn-chat-message>\n `;return t}))};e.push(t("pn-marketweb-carousel",{class:"card-container",nextButtonLabel:"Next",previousButtonLabel:"Previous",ariaNavigationLabel:this.getTranslation("relatedContentAriaLabel"),slidesToShow:this.carouselSlidesToShow,source:JSON.stringify(i)}));a=[]}};this.messagesData.messages.forEach(((t,n)=>{if(t.category==="Card"){a.push(t);if(n===this.messagesData.messages.length-1||this.messagesData.messages[n+1]?.category!=="Card"){i()}}else{i();e.push(this.renderMessage(t))}}));return e}handleKeyPress=e=>{if(e.key==="Enter"&&this.message.trim()){e.preventDefault();this.handleSend()}};handleSendMessage=e=>{if(this.message.trim()){e.preventDefault();this.handleSend()}};handleButtonKeyDown(e){if(e.key==="Enter"||e.key===" "){e.preventDefault();e.target.click()}}handleKeyDown(e){if(e.key==="Escape"&&this.isMinimized&&!this.isClosed){this.toggleChat()}}handleMessagesChange(e){if(e){this.handleSend()}}handleNewChatId(){this.chatId=this.pnChatId===this._defaultAlternativeChatId?this._defaultChatId:this.pnChatId;this.messagesData.messages=[];this.isMinimized=false;this.setStartValues()}handleSameChatId(){this.isMinimized=false}scrollToBottom(){const e=new MutationObserver(((e,t)=>{const a=document.getElementById("chat-main");if(a){setTimeout((()=>{a.scrollTo({top:a.scrollHeight,behavior:"smooth"})}),500);t.disconnect()}}));e.observe(document.body,{childList:true,subtree:true})}closeChat=()=>{this._forceClose=true;this.storage.remove(this.chatLocalStorageKey);this.chatId=null;this.pnChatId=this._defaultChatId;let e=document.getElementsByTagName("pn-chat")[0];e.setAttribute("item-id","");let t=window.location.href.includes(this._chatSegment);if(t){this.isMinimized=!this.isMinimized;this.announceToScreenReader(this.isMinimized?this.getTranslation("chatMinimizedAriaLabel"):this.getTranslation("chatOpenedAriaLabel"));document.body.classList.toggle("chat-open");window.location.href=window.location.href.split(this._chatSegment)[0]}else{this._forceClose=false;this.toggleChat()}};toggleChat=()=>{this.isMinimized=!this.isMinimized;this.announceToScreenReader(this.isMinimized?this.getTranslation("chatMinimizedAriaLabel"):this.getTranslation("chatOpenedAriaLabel"));document.body.classList.toggle("chat-open");if(!this.isMinimized&&!this.chatId){this.setStartValues()}};announceToScreenReader(e){const t=document.createElement("div");t.setAttribute("role","status");t.setAttribute("aria-live","polite");t.classList.add("sr-only");t.textContent=e;document.body.appendChild(t);setTimeout((()=>t.remove()),1e3)}renderMessage(e){switch(e.category){case"Bot":return this.renderBaseMessage(e);case"Button":return this.renderButtonMessage(e);case"ButtonResponse":return this.renderBaseMessage(e);case"Link":return this.renderLinkMessage(e);case"Card":return this.renderCardMessage(e);case"User":return this.renderBaseMessage(e);case"Agent":return this.renderAgentMessage(e);case"System":return this.renderBaseMessage(e)}}renderBaseMessage(e){return t("pn-chat-message",{customerSegment:this.customerSegment,category:e.category,agentName:"",role:"log","aria-live":"polite"},e.content)}renderAgentMessage(e){return t("pn-chat-message",{customerSegment:this.customerSegment,category:e.category,agentName:e.agentName,role:"log","aria-live":"polite"},e.content)}renderButtonMessage(e){let a={};if(e?.props){try{a=JSON.parse(e.props)}catch(e){console.error("Error parsing button props",e instanceof Error?e.message:"Unknown error")}}const i=()=>{if(a["data-action"]==="minimize"){this.toggleChat()}if(a["dataAction"]==="choice"&&a["dataOptionChoice"]){(async()=>{await this.handleSendChoice(a["dataOptionChoice"],e.content)})()}};return t("pn-chat-message",{customerSegment:this.customerSegment,category:e.category},t("pn-button",{class:e.class,role:"button",...a,onClick:i,onKeyDown:e=>this.handleButtonKeyDown(e)},e.content))}createBeforeElement(e){const t=this.chatMessagesContainer;const a=document.createElement("pn-chat-message");a.setAttribute("customerSegment",this.customerSegment);a.setAttribute("category","User");a.classList.add("pn-chat-before");a.textContent=e;t.appendChild(a);this.scrollToBottom();a.scrollIntoView()}async handleSendChoice(e,t){this.createBeforeElement(t);let a=await this._chatService.sendMessage(e,this.itemId,this.chatId,this.lastMessageId,"Choice");this.lastMessageId=a;this.lastMessageId=this._chatService.GetLastMessageId(this.messagesData.messages,this.lastMessageId);this.announceToScreenReader(this.getTranslation("sentMessageAriaLabel"))}renderLinkMessage(e){return t("pn-chat-message",{customerSegment:this.customerSegment,category:e.category},t("a",{href:e.href,role:"link",rel:"noopener noreferrer"},t("span",{class:"content"},e.content),t("pn-icon",{icon:n,color:"blue700","aria-hidden":"true",role:"presentation"})))}renderCardMessage(e){return t("pn-chat-message",{customerSegment:this.customerSegment,category:e.category,"data-card":true,role:"article"},t("h2",{class:"card-heading"},e.heading),t("p",null,e.content),e.buttons&&t("div",{class:"cta"},e.buttons?.map((e=>t("pn-button",{href:e.href,class:e.class,appearance:e.appearance,variant:e.variant,small:e.small,role:"button",onKeyDown:e=>this.handleButtonKeyDown(e)},e.content)))))}render(){const e="chat-main";const n="chat-input";const r=this.messagesData?.header.button;return t(i,{key:"0cf24e9474bc0e7e39ec51b8e9bf7646f4ac21d8",class:this.customerSegment},!this.isClosed&&this.messagesData&&t("div",{key:"f275614056e1f2df7972377ae3041ab690eae830",class:`pn-chat ${this.isMinimized?"minimized":""} ${this.isClosed?"closed":""}`,ref:e=>this.chatRef=e,role:"region","aria-label":this.mainHeading},!this.isMinimized&&t(a,{key:"8bc0f594242ab297bc95e091a95bd382c1ce0b31"},t("header",{key:"7a20b62deac0cb3fa34bf3abf7dba3f8eccb94e7",class:"chat-header",role:"banner"},t("h1",{key:"0dbe95cfd3ca8856fc95bfd3e0a6e970b87ec6df",id:"chat-title"},this.mainHeading),t("div",{key:"3c7ecf77edb890a351882a22a0910cdc8e2abc7b",class:"chat-controls",role:"toolbar","aria-label":this.getTranslation("chatControlsAriaLabel")},t("pn-button",{key:"564dd6d3c7234356f3805b4e0808411d97e41292",icon:h,"icon-only":"true",class:"minimize-btn",onClick:this.toggleChat,"aria-expanded":!this.isMinimized,"aria-controls":e,"aria-label":this.getTranslation("minimizeChatAriaLabel"),variant:"borderless",tooltip:this.getTranslation("minimizeChatAriaLabel")}),t("pn-button",{key:"5d2873c2409d3caa7887bf9b99de5f64b5c8af22",icon:s,"icon-only":"true",class:"close-btn",onClick:this.closeChat,"aria-expanded":!this.isMinimized,"aria-label":this.getTranslation("closeChatAriaLabel"),variant:"borderless",tooltip:this.getTranslation("closeChatAriaLabel")}))),(this.messagesData?.messages?.length??0)>0?t("main",{id:e,class:"chat-main",role:"main","aria-labelledby":"chat-title"},this.messagesData.header&&t("div",{class:"chat-overview"},t("div",{class:"body"},this.messagesData.header.body),r&&t("pn-button",{href:r.href,class:r.class,appearance:r.appearance,variant:r.variant,small:r.small,role:"button",onKeyDown:e=>this.handleButtonKeyDown(e)},r.content)),t("div",{ref:e=>this.chatMessagesContainer=e,class:"chat-messages",role:"log","aria-live":"polite","aria-label":this.getTranslation("chatMessagesAriaLabel")},this.groupMessages()),t("pn-icon",{class:"indicator-icon","aria-label":this.getTranslation("waitingForAnswerLabel"),role:"presentation"})):t("main",{id:e,class:"chat-main loading-chat-main",role:"main","aria-labelledby":"chat-title"},t("div",{class:"chat-loading-spinner"},t("pn-spinner",{light:"true",size:"1.5"})),t("span",{class:"chat-loading-content"},this.getTranslation("loadingText"))),t("footer",{key:"6d8a4b4e0ce587c39f307f5ad37dd7498eaaaa4a",class:"chat-footer",role:"contentinfo"},t("div",{key:"b2879f8c86f2d01cd9563d21d9303b2e4d649503",class:"form",role:"form","aria-labelledby":n},t("label",{key:"9af815bef9cf42c18379839844bcf0101bd3921e",htmlFor:n,class:"sr-only"},this.getTranslation("writeChatMessagePlaceholder")),t("div",{key:"97007d97f8fe0a7c5f8b8e9c25bbe20918679484",class:"chat-input-container"},t("input",{key:"6e156d7ad63763316d2be89b925099fa03984232",id:n,class:"chat-text-input",ref:e=>this.inputRef=e,type:"text",placeholder:this.getTranslation("writeChatMessagePlaceholder"),value:this.message,onInput:e=>this.message=e.target.value,onKeyPress:this.handleKeyPress,maxLength:3990}),!this.message.trim()?t("div",{class:"chat-disabled-button",role:"button","aria-label":this.getTranslation("sendButtonText"),"aria-disabled":"true",tabIndex:-1},t("pn-icon",{color:"gray400",icon:c})):t("pn-button",{"icon-only":"true",variant:"borderless",appearance:"light",icon:c,onClick:this.handleSendMessage,disabled:!this.message.trim(),"aria-label":this.getTranslation("sendButtonText"),tooltip:this.getTranslation("sendButtonText")}))))),this.isMinimized&&t("pn-button",{key:"98f1a01a3774b504c91e72279133f46d327c723f",icon:p,"icon-only":"true",class:"open-chat-btn",onClick:this.toggleChat,tooltip:this.getTranslation("openChatAriaLabel"),"aria-label":this.getTranslation("openChatAriaLabel"),"aria-expanded":!this.isMinimized})))}static get watchers(){return{messages:["handleMessagesChange"],pnChatId:["handleNewChatId"],forceOpen:["handleSameChatId"],isMinimized:["scrollToBottom"]}}};f.style=u;export{f as pn_chat};
2
+ //# sourceMappingURL=p-cc7c596e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icon","submit","talk_bubble","translations","sv","relatedContentAriaLabel","chatMinimizedAriaLabel","chatOpenedAriaLabel","minimizeChatAriaLabel","closeChatAriaLabel","openChatAriaLabel","chatControlsAriaLabel","chatMessagesAriaLabel","sentMessageAriaLabel","writeChatMessagePlaceholder","waitingForAnswerLabel","sendButtonText","loadingText","en","da","no","fi","pnChatCss","PnChatStyle0","PnChat","chatId","_defaultChatId","_defaultAlternativeChatId","chatLocalStorageKey","chatMessagesContainer","chatRef","inputRef","storage","LocalStorageService","_chatService","_chatSegment","_forceClose","componentWillLoad","this","PnChatService","endpoint","market","language","messagesData","header","messages","storageId","get","isLoggedIn","remove","setTranslations","setInterval","updateChat","i18n","getTranslation","key","value","undefined","isMinimized","isClosed","prevLastMessageId","lastMessageId","fetchMessages","then","newMessages","GetLastMessageId","htmlCollection","document","getElementsByClassName","elements","Array","from","forEach","message","element","content","textContent","trim","includes","renderMessage","updateLastMessageId","setStartValues","startChat","pnChatId","itemId","set","handleSend","createBeforeElement","responseId","sendMessage","announceToScreenReader","groupMessages","result","currentCardGroup","flushCardGroup","length","carouselData","slides","map","card","cardHtml","customerSegment","category","heading","buttons","button","href","class","appearance","variant","small","join","push","h","nextButtonLabel","previousButtonLabel","ariaNavigationLabel","slidesToShow","carouselSlidesToShow","source","JSON","stringify","index","handleKeyPress","event","preventDefault","handleSendMessage","handleButtonKeyDown","target","click","handleKeyDown","toggleChat","handleMessagesChange","newMessage","handleNewChatId","handleSameChatId","scrollToBottom","observer","MutationObserver","_","obs","chatMain","getElementById","setTimeout","scrollTo","top","scrollHeight","behavior","disconnect","observe","body","childList","subtree","closeChat","chatElement","getElementsByTagName","setAttribute","hasActiveShipmentInUrl","window","location","classList","toggle","split","announcement","createElement","add","appendChild","renderBaseMessage","renderButtonMessage","renderLinkMessage","renderCardMessage","renderAgentMessage","agentName","role","props","parse","error","console","Error","handleClick","handleSendChoice","onClick","onKeyDown","e","targetElement","chatMessage","scrollIntoView","choiceId","rel","arrow_right","color","render","mainId","inputId","headerButton","Host","ref","el","mainHeading","Fragment","id","minus","tooltip","close","light","size","htmlFor","type","placeholder","onInput","onKeyPress","maxLength","tabIndex","disabled"],"sources":["node_modules/pn-design-assets/pn-assets/icons/submit.js","node_modules/pn-design-assets/pn-assets/icons/talk_bubble.js","src/components/widgets/pn-chat/translations.ts","src/components/widgets/pn-chat/pn-chat.scss?tag=pn-chat","src/components/widgets/pn-chat/pn-chat.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M21 11.998a1 1 0 0 1-.577.908l-15 7a1 1 0 0 1-1.237-1.487l4.585-6.42-1.46-2.043A1 1 0 1 1 8.94 8.794l1.875 2.625a1 1 0 0 1 0 1.162l-2.788 3.903 9.599-4.48L6.58 6.909a1 1 0 1 1 .838-1.816l13 6a1 1 0 0 1 .581.906M5 4a1 1 0 0 1 1 1v.01a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1\" clip-rule=\"evenodd\"/></svg>';\nexport const submit = icon;\n","const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M12.388 2c5.522 0 10 4.477 10 10s-4.478 10-10 10H2l1.355-4.064-.798-3.987a8.8 8.8 0 0 1-.17-1.717V12c0-5.523 4.478-10 10-10m8 10a8 8 0 0 0-16 0v.232q0 .67.13 1.325l.902 4.507L4.775 20h7.612a8 8 0 0 0 8-8m-12.5-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3m6 1.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m3-1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3\" clip-rule=\"evenodd\"/></svg>';\nexport const talk_bubble = icon;\nexport const talkBubble = icon;\n","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};","@import '../../../globals/main.scss';\n$spacing: 1.6rem;\n\n.pn-chat {\n @media (max-width: 768px) {\n &:not(.minimized) {\n position: absolute;\n height: 100dvh;\n width: 100dvw;\n max-width: 100%;\n top: 0;\n left: 0;\n }\n\n &.minimized {\n height: 70px;\n border-radius: 0.8rem 0.8rem 0 0;\n }\n }\n\n @media (min-width: 768px) and (max-width: 1024px) {\n max-width: 350px;\n\n }\n\n display: flex;\n flex-direction: column;\n height: 600px;\n width: 100%;\n max-width: 400px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n border-radius: 1.6rem;\n\n .chat-header {\n background-color: $blue700;\n color: $white;\n padding: 0.8rem;\n padding-left: 1.6rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n @media (min-width: 768px) {\n border-radius: 1.6rem 1.6rem 0 0;\n }\n\n .chat-controls {\n display: flex;\n }\n\n pn-button.minimize-btn {\n button.pn-button {\n padding-bottom: 0;\n\n .pn-button-content {\n align-items: flex-end;\n }\n }\n }\n }\n\n .chat-header #chat-title {\n margin: 0;\n font-size: 2rem;\n font-weight: 400;\n line-height: 1.4;\n }\n\n .chat-main {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n overflow-y: auto;\n gap: $spacing;\n padding: $spacing;\n padding-bottom: $spacing * 2;\n border-left: 1px solid $gray200;\n border-right: 1px solid $gray200;\n background-color: $white;\n\n &.loading-chat-main {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-bottom: 1.6rem;\n }\n }\n\n .chat-loading-spinner {\n background-color: $blue700;\n width: 4.8rem;\n height: 4.8rem;\n border-radius: 4.8rem;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .chat-loading-content {\n color: $gray900;\n font-size: 1.6rem;\n font-weight: 400;\n }\n\n .chat-overview {\n text-align: center;\n }\n\n .chat-messages {\n display: flex;\n flex-direction: column;\n gap: $spacing;\n text-align: center;\n }\n\n .card-container {\n .slider-wrapper {\n margin: 0;\n }\n\n $card-gap: 1rem;\n\n .slides-container {\n display: flex;\n gap: $card-gap;\n }\n\n .slide:nth-child(even) [data-card] {\n width: calc(100% - $card-gap);\n }\n }\n\n @keyframes pulse {\n\n 0%,\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n\n 50% {\n opacity: 0.5;\n transform: scale(0.95);\n }\n }\n\n .chat-footer {\n background: $white;\n border: 1px solid $gray200;\n border-top: none;\n }\n\n .chat-footer .form {\n display: flex;\n gap: 0.7rem;\n padding: 1rem;\n }\n\n .chat-input-container {\n display: flex;\n flex-grow: 1;\n justify-content: space-between;\n gap: 0.7rem;\n background: $gray25;\n border-radius: 6.4rem;\n\n .chat-text-input {\n text-indent: 0.8rem;\n border: none;\n background: transparent;\n width: 100%;\n outline: 0.2rem solid transparent;\n outline-offset: 0.2rem;\n\n &:focus {\n border-radius: 6.4rem;\n }\n\n &:focus-visible {\n outline-color: $blue700;\n }\n }\n\n .chat-disabled-button {\n display: flex;\n width: 3.5em;\n min-height: 3em;\n min-width: 0;\n align-items: center;\n justify-content: center;\n }\n }\n\n &.minimized {\n background: transparent;\n border: initial;\n box-shadow: initial;\n max-width: 50px;\n max-height: 50px;\n min-width: initial;\n min-height: initial;\n transform: scale(0.95);\n\n cursor: pointer;\n\n .minimize-btn,\n .close-btn {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n button {\n display: none;\n }\n }\n\n .chat-main,\n .chat-footer {\n display: none;\n }\n }\n\n &.closed {\n display: none;\n }\n\n .open-chat-btn {\n .pn-button {\n width: 5.6rem;\n height: 5.6rem;\n }\n\n .pn-icon svg {\n width: 3.2rem;\n height: 3.2rem;\n }\n }\n\n .indicator-icon {\n padding: 0.2rem 0.8rem;\n margin-right: auto;\n margin-top: 1rem;\n margin-bottom: 2rem;\n visibility: hidden;\n }\n}\n\nbody.chat-open {\n @media (max-width: 768px) {\n overflow: hidden;\n }\n}","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}"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,g as a,h as t,d as n}from"./p-82546a44.js";import{H as r}from"./p-0b920554.js";const c="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}.block.teasercardblock a[data-block-clickable-link=true]{z-index:1}pn-teaser-card{width:100%;height:100%;display:flex}pn-teaser-card .pn-teaser-card__container{display:flex;flex-direction:column;justify-content:flex-start;border-radius:2.4rem;width:100%}pn-teaser-card .pn-teaser-card__container__image__container{width:100%;position:relative}pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]{clip-path:ellipse(100% 90% at 50% 0%);height:100%;overflow:hidden;border-top-left-radius:2.4rem;border-top-right-radius:2.4rem}pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]>picture>img{width:100%;height:auto;transition:0.4s ease-in-out;transform:scale(1);aspect-ratio:16/9;object-fit:cover;object-position:50% 0}pn-teaser-card .pn-teaser-card__container__content{display:flex;flex-direction:column;justify-content:space-between;flex:1 1 100%;gap:3.2rem;padding:2.4rem 2.4rem;padding-top:0}pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:2.4rem;line-height:2.64rem;margin-bottom:0}pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{padding-top:1.6rem;font-weight:400;font-size:1.6rem;line-height:2.24rem;margin-bottom:0}pn-teaser-card .pn-teaser-card__container__content__text__container__label{display:block;margin-bottom:1.6rem;font-weight:400;font-size:1.2rem;line-height:140%}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button{align-self:flex-end;width:100%}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button a:hover{text-decoration:none}pn-teaser-card .pn-teaser-card__container__content__cta>pn-button>button>.pn-button-bg,pn-teaser-card .pn-teaser-card__container__content__cta>pn-button>a>.pn-button-bg{transition:0.4s ease-in-out}@media screen and (min-width: 768px){pn-teaser-card .pn-teaser-card__container__content__cta>pn-button{width:fit-content}}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500;font-size:1.6rem;text-decoration:none;color:#005d92}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated pn-icon svg{transition:0.3s ease-in-out;position:relative;left:-0.3rem}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated pn-icon svg path{fill:#005d92}pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated[target=_blank]:not(.pn-button):after{display:none}pn-teaser-card[data-card-color=coral]>.pn-teaser-card__container{background-color:#fdefee}pn-teaser-card[data-card-color=green]>.pn-teaser-card__container{background-color:#dcf6e7}pn-teaser-card[data-card-color=blue]>.pn-teaser-card__container{background-color:#effbff}pn-teaser-card[data-card-color=blue50]>.pn-teaser-card__container{background-color:#e0f8ff}pn-teaser-card[data-card-color=blue400]>.pn-teaser-card__container{background-color:#00a0d6}pn-teaser-card[data-card-color=blue400]>.pn-teaser-card__container .pn-teaser-card__container__content__text__container__label,pn-teaser-card[data-card-color=blue400]>.pn-teaser-card__container .pn-teaser-card__container__content__text__container__heading,pn-teaser-card[data-card-color=blue400]>.pn-teaser-card__container .pn-teaser-card__container__content__text__container__preamble,pn-teaser-card[data-card-color=blue400]>.pn-teaser-card__container .pn-teaser-card__container__content__cta .secondary-link--animated{color:#ffffff}pn-teaser-card[data-card-color=blue400]>.pn-teaser-card__container .secondary-link--animated>pn-icon>svg>path{fill:#ffffff}pn-teaser-card[data-card-color=blue900]>.pn-teaser-card__container{background-color:#0d234b}pn-teaser-card[data-card-color=blue900]>.pn-teaser-card__container .pn-teaser-card__container__content__text__container__heading{color:#f06365}pn-teaser-card[data-card-color=blue900]>.pn-teaser-card__container .pn-teaser-card__container__content__text__container__label,pn-teaser-card[data-card-color=blue900]>.pn-teaser-card__container .pn-teaser-card__container__content__text__container__preamble,pn-teaser-card[data-card-color=blue900]>.pn-teaser-card__container .pn-teaser-card__container__content__cta .secondary-link--animated{color:#ffffff}pn-teaser-card[data-card-color=blue900]>.pn-teaser-card__container .secondary-link--animated>pn-icon>svg>path{fill:#ffffff}pn-teaser-card[data-card-color=white]>.pn-teaser-card__container{background-color:#ffffff}.teasercardlistblock .teasercardblock.has-bg{background-color:transparent;background:transparent}@media screen and (min-width: 1200px){.onequarterwidth:not(.familywrapperblock) .pn-teaser-card__container__content__text__container__label{margin-bottom:0.8rem}}.onethirdwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container--no-image,.onequarterwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:2.4rem}.onethirdwidth:not(.familywrapperblock) .pn-teaser-card__container__content__cta .secondary-link--animated,.onequarterwidth:not(.familywrapperblock) .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:2.4rem}@media screen and (min-width: 992px){.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500}}@media screen and (min-width: 1200px){.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:4rem}.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content{padding:0 4rem 4rem}.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:3.2rem;line-height:3.52rem}.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{font-weight:400;font-size:2rem;line-height:2.8rem}}@media screen and (min-width: 1640px){.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container--no-image{padding-top:5.6rem}.halfwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content{padding:0 5.6rem 5.6rem}}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:400}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container--no-image{width:auto;padding-top:2.4rem}@media screen and (min-width: 768px){.fullwidth:not(.familywrapperblock) pn-teaser-card{min-height:35rem}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__cta .secondary-link--animated{font-weight:500}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container{flex-direction:row}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content{align-self:center;gap:2.4rem;padding:3.2rem 3.2rem 3.2rem 2.4rem}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]{border-top-left-radius:2.4rem;border-bottom-left-radius:2.4rem;clip-path:ellipse(100% 100% at 0% 50%)}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__image__container>[slot=illustration]>picture>img{height:100%;object-fit:cover}}@media screen and (min-width: 1200px){.fullwidth:not(.familywrapperblock) pn-teaser-card{min-height:52rem}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content{padding:4rem 4rem 4rem 3.2rem}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__text__container__heading{font-weight:700;font-size:4.8rem;line-height:5.28rem}.fullwidth:not(.familywrapperblock) pn-teaser-card .pn-teaser-card__container__content__text__container__preamble{font-size:2rem;line-height:2.8rem}}@media screen and (min-width: 768px){.fullwidth:not(.familywrapperblock) pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container{flex-direction:row-reverse}.fullwidth:not(.familywrapperblock) pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__content{padding:3.2rem 2.4rem 3.2rem 3.2rem}.fullwidth:not(.familywrapperblock) pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__image__container>[slot=illustration]{border-bottom-right-radius:2.4rem;clip-path:ellipse(100% 100% at 100% 50%)}}@media screen and (min-width: 1200px){.fullwidth:not(.familywrapperblock) pn-teaser-card[data-card-alignment=right] .pn-teaser-card__container__content{padding:4rem 3.2rem 4rem 4rem}}pn-teaser-card.teaser-card--hover-effect:hover{cursor:pointer}pn-teaser-card.teaser-card--hover-effect:hover .pn-teaser-card__container__image__container [slot=illustration] picture>img{transform:scale(1.02);filter:brightness(0.85)}pn-teaser-card.teaser-card--hover-effect:hover .secondary-link--animated{text-decoration:underline}pn-teaser-card.teaser-card--hover-effect:hover .secondary-link--animated pn-icon svg{left:0}pn-teaser-card.teaser-card--hover-effect:hover pn-button button .pn-button-bg,pn-teaser-card.teaser-card--hover-effect:hover pn-button a .pn-button-bg{background-color:#0d234b}pn-teaser-card.teaser-card--hover-effect:hover[data-card-color=blue900] pn-button button .pn-button-bg,pn-teaser-card.teaser-card--hover-effect:hover[data-card-color=blue900] pn-button a .pn-button-bg{background-color:#00a0d6}";const o=c;const i=class{constructor(a){e(this,a);this.text=null;this.heading=null;this.label=null;this.headingLevel="h3";this.dataCardColor="coral";this.dataCardAlignment="left";this.hasCtaSlotContent=false;this.hasIllustrationSlot=true}get hostElement(){return a(this)}componentWillLoad(){this.hasCtaSlotContent=!!this.hostElement.querySelector('[slot="cta"]');this.hasIllustrationSlot=!!this.hostElement.querySelector('[slot="illustration"]')}render(){const e=this.label?.toUpperCase();return t(n,{key:"b5ee6a71383c676dff65be68bd2c583af8d4b73e"},t("slot",{key:"26f672cccdf0b4a647608dec90d9da91d5326f2e",name:"clickable-block-wrapper"}),t("div",{key:"664a86e96d02078ad7d3b9feec848620b08a64e7",class:"pn-teaser-card__container"},t("div",{key:"b2690687573bc1421b4087b25574aac4e1bf210e",class:`pn-teaser-card__container__image__container ${!this.hasIllustrationSlot?"pn-teaser-card__container__image__container--no-image":""}`},t("slot",{key:"92c205f97f90b35df8f34f6905ebb5f858ba3115",name:"illustration"})),t("div",{key:"f9b96157ea921c801f993133b0b4e7d785224a3b",class:"pn-teaser-card__container__content"},t("div",{key:"150b6993e403a65c3d75794554b39a2c4c073099",class:"pn-teaser-card__container__content__text__container"},e&&t("span",{key:"20973e8c988b6f3c5bed312ad6f5e339f22565f4",class:"pn-teaser-card__container__content__text__container__label"},e),this.heading&&t(r,{key:"64cdb89e6106839ef6bd7d6a6912c69bad4e1d85",level:this.headingLevel,cssClass:"pn-teaser-card__container__content__text__container__heading"},this.heading),t("p",{key:"7366108ac28438903a71cb89e6a4d70d3e5ef96a",class:"pn-teaser-card__container__content__text__container__preamble"},this.text)),this.hasCtaSlotContent&&t("div",{key:"dcee0ddb4c36f90e321db3c8817b444794851b93",class:"pn-teaser-card__container__content__cta"},t("slot",{key:"1aedb8f19e547e163676b76b502a155603c0b3ce",name:"cta"})))))}};i.style=o;export{i as pn_teaser_card};
2
+ //# sourceMappingURL=p-cda742ba.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pnTeaserCardCss","PnTeaserCardStyle0","PnTeaserCard","componentWillLoad","this","hasCtaSlotContent","hostElement","querySelector","hasIllustrationSlot","render","labelToCapitals","label","toUpperCase","h","Host","key","name","class","heading","HeadingTag","level","headingLevel","cssClass","text"],"sources":["src/components/cards/pn-teaser-card/pn-teaser-card.scss?tag=pn-teaser-card","src/components/cards/pn-teaser-card/pn-teaser-card.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n//making pn wrapping link clickable over card image\n.block.teasercardblock {\n a[data-block-clickable-link='true'] {\n z-index: 1;\n }\n}\n\n//mobile first\npn-teaser-card {\n width: 100%;\n height: 100%;\n display: flex;\n\n .pn-teaser-card__container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n border-radius: 2.4rem;\n width: 100%;\n }\n\n .pn-teaser-card__container__image__container {\n width: 100%;\n position: relative;\n\n & > [slot='illustration'] {\n clip-path: ellipse(100% 90% at 50% 0%);\n height: 100%;\n overflow: hidden;\n border-top-left-radius: 2.4rem;\n border-top-right-radius: 2.4rem;\n\n & > picture > img {\n width: 100%;\n height: auto;\n transition: 0.4s ease-in-out;\n transform: scale(1);\n aspect-ratio: 16/9;\n object-fit: cover;\n object-position: 50% 0;\n }\n }\n }\n\n .pn-teaser-card__container__content {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex: 1 1 100%;\n gap: 3.2rem;\n padding: 2.4rem 2.4rem;\n padding-top: 0;\n }\n\n .pn-teaser-card__container__content__text__container__heading {\n font-weight: 700;\n font-size: 2.4rem;\n line-height: 2.64rem;\n margin-bottom: 0;\n }\n\n .pn-teaser-card__container__content__text__container__preamble {\n padding-top: 1.6rem;\n font-weight: 400;\n font-size: 1.6rem;\n line-height: 2.24rem;\n margin-bottom: 0;\n }\n\n .pn-teaser-card__container__content__text__container__label {\n display: block;\n margin-bottom: 1.6rem;\n font-weight: 400;\n font-size: 1.2rem;\n line-height: 140%;\n }\n\n .pn-teaser-card__container__content__cta {\n & > pn-button {\n align-self: flex-end;\n width: 100%;\n\n & a:hover {\n text-decoration: none;\n }\n\n & > button,\n & > a {\n & > .pn-button-bg {\n transition: 0.4s ease-in-out;\n }\n }\n\n @media screen and (min-width: $min-width-md) {\n width: fit-content;\n }\n }\n\n .secondary-link--animated {\n font-weight: 500;\n font-size: 1.6rem;\n text-decoration: none;\n color: $blue700;\n\n pn-icon svg {\n transition: 0.3s ease-in-out;\n position: relative;\n left: -0.3rem;\n\n path {\n fill: $blue700;\n }\n }\n\n &[target='_blank']:not(.pn-button):after {\n display: none;\n }\n }\n }\n}\n\n//colors\npn-teaser-card[data-card-color='coral'] {\n & > .pn-teaser-card__container {\n background-color: $coral50;\n }\n}\n\npn-teaser-card[data-card-color='green'] {\n & > .pn-teaser-card__container {\n background-color: $green50;\n }\n}\n\npn-teaser-card[data-card-color='blue'] {\n & > .pn-teaser-card__container {\n background-color: $blue25;\n }\n}\n\npn-teaser-card[data-card-color='blue50'] {\n & > .pn-teaser-card__container {\n background-color: $blue50;\n }\n}\n\npn-teaser-card[data-card-color='blue400'] {\n & > .pn-teaser-card__container {\n background-color: $blue400;\n\n .pn-teaser-card__container__content__text__container__label,\n .pn-teaser-card__container__content__text__container__heading,\n .pn-teaser-card__container__content__text__container__preamble,\n .pn-teaser-card__container__content__cta .secondary-link--animated {\n color: $white;\n }\n\n .secondary-link--animated {\n & > pn-icon > svg > path {\n fill: $white;\n }\n }\n }\n}\n\npn-teaser-card[data-card-color='blue900'] {\n & > .pn-teaser-card__container {\n background-color: $blue900;\n .pn-teaser-card__container__content__text__container__heading {\n color: $coral400;\n }\n\n .pn-teaser-card__container__content__text__container__label,\n .pn-teaser-card__container__content__text__container__preamble,\n .pn-teaser-card__container__content__cta .secondary-link--animated {\n color: $white;\n }\n\n .secondary-link--animated {\n & > pn-icon > svg > path {\n fill: $white;\n }\n }\n }\n}\n\npn-teaser-card[data-card-color='white'] {\n & > .pn-teaser-card__container {\n background-color: $white;\n }\n}\n\n//color override when in a listblock\n.teasercardlistblock {\n .teasercardblock.has-bg {\n background-color: transparent;\n background: transparent;\n }\n}\n\n// variants\n\n.onequarterwidth:not(.familywrapperblock) {\n .pn-teaser-card__container__content__text__container__label {\n @media screen and (min-width: $min-width-xl) {\n margin-bottom: 0.8rem;\n }\n }\n}\n\n.onethirdwidth:not(.familywrapperblock),\n.onequarterwidth:not(.familywrapperblock) {\n & pn-teaser-card {\n .pn-teaser-card__container__image__container--no-image {\n padding-top: 2.4rem;\n }\n }\n\n .pn-teaser-card__container__content__cta {\n .secondary-link--animated {\n font-weight: 400;\n }\n }\n}\n\n.halfwidth:not(.familywrapperblock) {\n & pn-teaser-card {\n .pn-teaser-card__container__content__cta {\n .secondary-link--animated {\n font-weight: 400;\n }\n }\n\n .pn-teaser-card__container__image__container--no-image {\n padding-top: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-lg) {\n .pn-teaser-card__container__content__cta {\n .secondary-link--animated {\n font-weight: 500;\n }\n }\n }\n\n @media screen and (min-width: $min-width-xl) {\n .pn-teaser-card__container__image__container--no-image {\n padding-top: 4rem;\n }\n\n .pn-teaser-card__container__content {\n padding: 0 4rem 4rem;\n }\n\n .pn-teaser-card__container__content__text__container__heading {\n font-weight: 700;\n font-size: 3.2rem;\n line-height: 3.52rem;\n }\n\n .pn-teaser-card__container__content__text__container__preamble {\n font-weight: 400;\n font-size: 2rem;\n line-height: 2.8rem;\n }\n }\n\n @media screen and (min-width: $min-width-xxl) {\n .pn-teaser-card__container__image__container--no-image {\n padding-top: 5.6rem;\n }\n\n .pn-teaser-card__container__content {\n padding: 0 5.6rem 5.6rem;\n }\n }\n }\n}\n\n.fullwidth:not(.familywrapperblock) {\n & pn-teaser-card {\n .pn-teaser-card__container__content__cta {\n .secondary-link--animated {\n font-weight: 400;\n }\n }\n\n .pn-teaser-card__container__image__container--no-image {\n width: auto;\n padding-top: 2.4rem;\n }\n\n @media screen and (min-width: $min-width-md) {\n min-height: 35rem;\n\n .pn-teaser-card__container__content__cta {\n .secondary-link--animated {\n font-weight: 500;\n }\n }\n\n .pn-teaser-card__container {\n flex-direction: row;\n }\n\n .pn-teaser-card__container__content {\n align-self: center;\n gap: 2.4rem;\n padding: 3.2rem 3.2rem 3.2rem 2.4rem;\n }\n\n .pn-teaser-card__container__image__container {\n & > [slot='illustration'] {\n border-top-left-radius: 2.4rem;\n border-bottom-left-radius: 2.4rem;\n clip-path: ellipse(100% 100% at 0% 50%);\n\n & > picture > img {\n height: 100%;\n object-fit: cover;\n }\n }\n }\n }\n\n @media screen and (min-width: $min-width-xl) {\n min-height: 52rem;\n\n .pn-teaser-card__container__content {\n padding: 4rem 4rem 4rem 3.2rem;\n }\n\n .pn-teaser-card__container__content__text__container__heading {\n font-weight: 700;\n font-size: 4.8rem;\n line-height: 5.28rem;\n }\n\n .pn-teaser-card__container__content__text__container__preamble {\n font-size: 2rem;\n line-height: 2.8rem;\n }\n }\n }\n\n pn-teaser-card[data-card-alignment='right'] {\n @media screen and (min-width: $min-width-md) {\n .pn-teaser-card__container {\n flex-direction: row-reverse;\n }\n\n .pn-teaser-card__container__content {\n padding: 3.2rem 2.4rem 3.2rem 3.2rem;\n }\n\n .pn-teaser-card__container__image__container {\n & > [slot='illustration'] {\n border-bottom-right-radius: 2.4rem;\n clip-path: ellipse(100% 100% at 100% 50%);\n }\n }\n }\n\n @media screen and (min-width: $min-width-xl) {\n .pn-teaser-card__container__content {\n padding: 4rem 3.2rem 4rem 4rem;\n }\n }\n }\n}\n\n//effect class\npn-teaser-card.teaser-card--hover-effect {\n &:hover {\n cursor: pointer;\n .pn-teaser-card__container__image__container {\n & [slot='illustration'] {\n & picture > img {\n transform: scale(1.02);\n filter: brightness(0.85);\n }\n }\n }\n\n .secondary-link--animated {\n text-decoration: underline;\n\n pn-icon svg {\n left: 0;\n }\n }\n\n pn-button {\n button,\n a {\n .pn-button-bg {\n background-color: $blue900;\n }\n }\n }\n\n &[data-card-color='blue900'] {\n pn-button {\n button,\n a {\n .pn-button-bg {\n background-color: $blue400;\n }\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host } from \"@stencil/core\";\nimport { HeadingTag } from '@/globals/HeadingTag';\n\n@Component({\n tag: 'pn-teaser-card',\n styleUrl: 'pn-teaser-card.scss'\n})\nexport class PnTeaserCard {\n @Element() hostElement: HTMLElement;\n \n @Prop() text: string = null;\n @Prop() heading: string = null;\n @Prop() label?: string = null;\n @Prop() headingLevel?: string = 'h3';\n @Prop({ reflect: true }) dataCardColor: string = 'coral';\n @Prop({ reflect: true }) dataCardAlignment: string = 'left';\n\n @State() hasCtaSlotContent: boolean = false;\n @State() hasIllustrationSlot: boolean = true;\n\n componentWillLoad() {\n this.hasCtaSlotContent = !!this.hostElement.querySelector('[slot=\"cta\"]');\n this.hasIllustrationSlot = !!this.hostElement.querySelector('[slot=\"illustration\"]');\n }\n\n render() {\n const labelToCapitals = this.label?.toUpperCase();\n\n return (\n <Host>\n <slot name=\"clickable-block-wrapper\" />\n <div class=\"pn-teaser-card__container\">\n <div class={`pn-teaser-card__container__image__container ${!this.hasIllustrationSlot ? 'pn-teaser-card__container__image__container--no-image' : ''}`}>\n <slot name=\"illustration\" />\n </div>\n <div class=\"pn-teaser-card__container__content\">\n <div class=\"pn-teaser-card__container__content__text__container\">\n {labelToCapitals && <span class=\"pn-teaser-card__container__content__text__container__label\">{labelToCapitals}</span>}\n {this.heading && <HeadingTag level={this.headingLevel} cssClass=\"pn-teaser-card__container__content__text__container__heading\">\n {this.heading}\n </HeadingTag>}\n <p class=\"pn-teaser-card__container__content__text__container__preamble\">{this.text}</p>\n </div>\n {this.hasCtaSlotContent && (\n <div class=\"pn-teaser-card__container__content__cta\">\n <slot name=\"cta\" />\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,w3TACxB,MAAAC,EAAeD,E,MCMFE,EAAY,M,mCAGA,K,aACG,K,WACD,K,kBACO,K,mBACiB,Q,uBACI,O,uBAEf,M,yBACE,I,kCAExC,iBAAAC,GACEC,KAAKC,oBAAsBD,KAAKE,YAAYC,cAAc,gBAC1DH,KAAKI,sBAAwBJ,KAAKE,YAAYC,cAAc,wB,CAG9D,MAAAE,GACE,MAAMC,EAAkBN,KAAKO,OAAOC,cAEpC,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,4BACXH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,6BACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAO,gDAAgDb,KAAKI,oBAAsB,wDAA0D,MAC/IK,EAAA,QAAAE,IAAA,2CAAMC,KAAK,kBAEbH,EAAA,OAAAE,IAAA,2CAAKE,MAAM,sCACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,uDACRP,GAAmBG,EAAA,QAAAE,IAAA,2CAAME,MAAM,8DAA8DP,GAC7FN,KAAKc,SAAWL,EAACM,EAAU,CAAAJ,IAAA,2CAACK,MAAOhB,KAAKiB,aAAcC,SAAS,gEAC3DlB,KAAKc,SAEVL,EAAA,KAAAE,IAAA,2CAAGE,MAAM,iEAAiEb,KAAKmB,OAEhFnB,KAAKC,mBACJQ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,2CACTJ,EAAA,QAAAE,IAAA,2CAAMC,KAAK,W","ignoreList":[]}