@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 @@
1
+ {"version":3,"names":["icon","angle_small_right","globe","user","translations","sv","heading","en","da","no","fi","de","zh","fr","es","nl","it","tr","pl","pt","pnLanguageSelectorCss","PnLanguageSelectorStyle0","PnlanguageSelector","setLanguage","componentWillLoad","this","setInitialSelectedLanguageName","setTranslations","componentDidLoad","initialize","setSelectedLanguageName","addEventBindingsToOptions","window","Intl","value","langs","DisplayNames","type","languageName","of","selectedLanguageName","charAt","toUpperCase","slice","options","apply","hostElement","querySelectorAll","map","option","removeEventListener","event","onSetCurrentLanguage","detail","addEventListener","getAttribute","code","name","emit","i18n","onValueChange","components","forEach","component","isSelected","setAttribute","render","h","Host","key","label","appearance","variant","class","role","pnLanguageSelectorOptionCss","PnLanguageSelectorOptionStyle0","PnlanguageSelectorOption","spanEl","setCurrentLanguage","onOptionClick","currentlanguage","url","current","selected","onClick","bind","ref","el","lang","href","target","menuHomeButton","menuGoBackButton","mainMenuButton","menuStartButton","navLabel","pnMainnavCss","PnMainnavStyle0","PnMainnav","menuLanguageChange","marketChange","menuOpenChange","init","document","_onClickOutside","setMarket","clickedOutside","contains","state","openLevel","language","market","onLanguageChange","setMenuOpenState","openMenu","onOpenMenuLevelChange","navigationId","close","bars","color","currentLevel","id","pnMainnavLevelCss","PnMainnavLevelStyle0","PnMainnavLevel","setState","onChange","onChangeOpenLevel","listCount","length","parentElm","parentElement","tagName","toLowerCase","level","parentName","parentHref","parentLinkId","parentLinkName","replace","levelId","onOpen","requestAnimationFrame","levelClientRect","getClientRects","navElm","navClientRect","right","innerWidth","levelParentRect","left","width","alignment","isOpen","htmlFor","arrow_left","linkid","pnMainnavListCss","PnMainnavListStyle0","PnMainnavList","linkCount","MarketWebLoginManager","eventTarget","body","endpoint","storagePrefix","checkUserLoggedInStateInterval","baseUrls","at","prod","events","loginstatechange","endpoints","authorizationEndpoint","tokenExchangeEndpoint","userInfoEndpoint","logoutEndpoint","keys","tokensource","token","accessToken","expire","expireDate","overridetokenValue","siteUrl","location","origin","abortSignalForLoginCheck","loginCheckInProgress","loginCheckTimer","constructor","protocol","host","parseInt","userInfo","store","set","registerToken","checkParameters","checkPNTopbar","checkExpireTime","get","fetchUserInfo","loginStateChange","initiateLoggedInCheck","setSiteUrl","isLoggedIn","AbortController","setInterval","doExternalLoggedInCheck","then","catch","navigator","onLine","getToken","clearInterval","abort","reqConfig","method","headers","Accept","Authorization","response","fetch","getBaseUrl","status","console","log","LogoutUser","ok","data","json","clearUserData","logoutLink","querySelector","click","currentPageHref","getLogoutUrl","override","tokenSource","invalidateTokenOfType","currentToken","currentTokenSource","getLoginUrl","redirectPage","currentPage","linkHref","indexOf","rootUrl","URL","e","addSlash","lastIndexOf","secondLogoutUrl","logoutUrl","getUserInfo","getEventTarget","now","Date","Math","floor","info","params","URLSearchParams","search","oneTimeCode","exchangeToken","currentHref","paramPrefix","newUrl","history","replaceState","innerText","idToken","expiryTime","parseUserInfo","error","remove","getAccessToken","dispatchEvent","CustomEvent","atEnvironments","useATEnv","filter","x","hostname","base64Url","split","base64","jsonPayload","decodeURIComponent","atob","c","charCodeAt","toString","join","JSON","parse","localStorage","getItem","setItem","stringify","removeItem","pnMarketwebSiteheaderLoginCss","PnMarketwebSiteheaderLoginStyle0","PnMarketwebSiteheaderLogin","searchlabel","searchplaceholder","searchbuttontext","profileSelectionFlyoutHeading","unifiedLoginButton","unifiedMyPagesButton","loginDialog","loginMenuLinkText","fullname","loggedin","given_name","headerState","loginManager","emitEvents","onLoginStateChange","setUserName","setToggleButtonText","adjustLoginLinks","loginMenuLinks","adjustLink","link","i","isLogoutLink","pageLink","linkType","primaryLinkApperance","loggedInLinks","legacyLoginLinks","loginUrl","linkText","loginLinkText","openInNewWindow","registerUrl","createLoginLinkText","username","family_name","email","toggleButtonText","loggedInButtonText","loggedIn","hostElementAttribute","showUnifiedLogin","logInLabel","useMarketwebLogin","environment","showProfileSelection","idNamespace","loginInfo","innerHTML","createStore","searchValue","autocompleteSuggestions","requestAbortController","pnMarketwebSiteheaderSearchCss","PnMarketwebSiteheaderSearchStyle0","PnMarketwebSiteheaderSearch","onSearchValueUpdate","getAutocomplete","prefix","AutocompleteEndpoint","autoCompleteOptions","setAutocompleteSuggestions","autocompleteUrl","siteid","req","signal","warn","hits","suggestions","item","query","componentDidRender","inputSearchElm","formActionUrl","hideSearch","autocompleteAttribute","list","showOnlyLink","tooltip","action","button","icononly","placeholder","onUpdate","onSearch","form","submit","primary","languageData","navlabel","pnSiteSelectorCss","PnSiteSelectorStyle0","PnSiteSelector","buttontext","angle_small_down","pnSiteSelectorItemCss","PnSiteSelectorItemStyle0","PnSiteSelectorItem","newwindow","rel","description"],"sources":["node_modules/pn-design-assets/pn-assets/icons/angle_small_right.js","node_modules/pn-design-assets/pn-assets/icons/globe.js","node_modules/pn-design-assets/pn-assets/icons/user.js","src/components/navigation/pn-language-selector/translations.ts","src/components/navigation/pn-language-selector/pn-language-selector.scss?tag=pn-language-selector","src/components/navigation/pn-language-selector/pn-language-selector.tsx","src/components/navigation/pn-language-selector/pn-language-selector-option.scss?tag=pn-language-selector-option","src/components/navigation/pn-language-selector/pn-language-selector-option.tsx","src/components/navigation/pn-mainnav/translations.ts","src/components/navigation/pn-mainnav/pn-mainnav.scss?tag=pn-mainnav","src/components/navigation/pn-mainnav/pn-mainnav.tsx","src/components/navigation/pn-mainnav/pn-mainnav-level.scss?tag=pn-mainnav-level","src/components/navigation/pn-mainnav/pn-mainnav-level.tsx","src/components/navigation/pn-mainnav/pn-mainnav-list.scss?tag=pn-mainnav-list","src/components/navigation/pn-mainnav/pn-mainnav-list.tsx","src/globals/MarketWebLoginManager.ts","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.scss?tag=pn-marketweb-siteheader-login","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.tsx","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search-store.tsx","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.scss?tag=pn-marketweb-siteheader-search","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.tsx","src/components/navigation/pn-site-selector/pn-site-selector-i18n.js","src/components/navigation/pn-site-selector/pn-site-selector.scss?tag=pn-site-selector","src/components/navigation/pn-site-selector/pn-site-selector.tsx","src/components/navigation/pn-site-selector/pn-site-selector-item.scss?tag=pn-site-selector-item","src/components/navigation/pn-site-selector/pn-site-selector-item.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=\"M16.707 11.293a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L14.586 12 9.293 6.707a1 1 0 0 1 1.414-1.414z\" clip-rule=\"evenodd\"/></svg>';\nexport const angle_small_right = icon;\nexport const angleSmallRight = 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=\"M4.252 10A8 8 0 0 0 4 12c0 .69.088 1.36.252 2h3.166a13.8 13.8 0 0 1 0-4zm.818-2h2.795a13.6 13.6 0 0 1 1.719-3.629A8.02 8.02 0 0 0 5.07 8M12 4.48A11.7 11.7 0 0 0 9.972 8h4.056A11.7 11.7 0 0 0 12 4.48M14.557 10H9.443a11.8 11.8 0 0 0 0 4h5.114a11.8 11.8 0 0 0 0-4m2.025 4a13.8 13.8 0 0 0 0-4h3.166c.165.64.252 1.31.252 2s-.087 1.36-.252 2zm-2.554 2H9.972A11.7 11.7 0 0 0 12 19.52 11.7 11.7 0 0 0 14.028 16m-4.444 3.629A13.6 13.6 0 0 1 7.864 16H5.07a8.02 8.02 0 0 0 4.514 3.629m4.832 0A13.6 13.6 0 0 0 16.136 16h2.794a8.02 8.02 0 0 1-4.514 3.629M18.93 8h-2.795a13.6 13.6 0 0 0-1.719-3.629A8.02 8.02 0 0 1 18.93 8M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12\" clip-rule=\"evenodd\"/></svg>';\nexport const globe = 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=\"M7.5 7.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0M12 5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.928 20.372a1 1 0 0 1-1.856-.743l.883.353a82 82 0 0 1-.883-.354v-.002l.001-.002.003-.007.008-.018a4 4 0 0 1 .114-.25c.078-.161.193-.383.35-.645.315-.523.8-1.217 1.495-1.911C6.444 15.39 8.688 14 12 14s5.556 1.391 6.957 2.793a10 10 0 0 1 1.494 1.911 8 8 0 0 1 .44.837q.016.036.025.058l.008.018.003.007.001.004-.883.354.883-.353a1 1 0 0 1-1.856.744v.001l.001.001v-.002a2 2 0 0 0-.07-.15 6 6 0 0 0-.267-.49 8 8 0 0 0-1.193-1.526C16.444 17.11 14.688 16 12 16s-4.444 1.109-5.543 2.207a8 8 0 0 0-1.193 1.526 6 6 0 0 0-.336.64m0 0-.001.003zm14.144.001\" clip-rule=\"evenodd\"/></svg>';\nexport const user = icon;\n","export const translations = {\n 'sv': {\n heading: 'Språk',\n },\n 'en': {\n heading: 'Language',\n },\n 'da': {\n heading: 'Sprog',\n },\n 'no': {\n heading: 'Språk',\n },\n 'fi': {\n heading: 'Kieli',\n },\n 'de': {\n heading: 'Sprache',\n },\n 'zh': {\n heading: '语言',\n },\n 'fr': {\n heading: 'Langue',\n },\n 'es': {\n heading: 'Idioma',\n },\n 'nl': {\n heading: 'Spraak',\n },\n 'it': {\n heading: 'Idioma',\n },\n 'tr': {\n heading: 'Dil',\n },\n 'pl': {\n heading: 'Język',\n },\n 'pt': {\n heading: 'Linguagem',\n },\n 'pt-BR': {\n heading: 'Linguagem',\n },\n};\n","@import '../../../globals/main.scss';\n@import './pn-language-common.scss';\npn-language-selector {\n max-height: 5.2rem;\n}\n.languageselector {\n position: relative;\n}\n\n.languageselector-togglebtn {\n cursor: pointer;\n border: 0;\n padding: 0.64rem 0;\n background-color: $white;\n color: $blue700;\n font-size: 1.6rem;\n &:hover,\n &:focus,\n &:active {\n color: $blue900;\n text-decoration: underline;\n }\n svg {\n width: 1.9rem;\n height: 1.9rem;\n }\n}\n\n.languageselector-nav {\n}\n\n.languageselector-title {\n padding: 0.8rem 1.6rem;\n display: flex;\n align-items: center;\n}\n\n.languageselector-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n","import { Component, Prop, h, State, Host, Watch, Element, Event, EventEmitter } from '@stencil/core';\nimport { LanguageSelectori18n, LanguageSelectorOption } from './pn-language-selector-types';\nimport { translations } from './translations';\nimport { globe } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-language-selector',\n styleUrl: 'pn-language-selector.scss',\n})\nexport class PnlanguageSelector {\n @Element() hostElement: HTMLElement;\n /* Current language code */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @State() selectedLanguageName = '';\n @State() options: LanguageSelectorOption[] = [];\n @State() i18n: LanguageSelectori18n;\n\n // Events\n @Event() setLanguage: EventEmitter;\n\n componentWillLoad() {\n this.setInitialSelectedLanguageName();\n this.setTranslations();\n }\n\n componentDidLoad() {\n this.initialize();\n }\n\n initialize() {\n this.setSelectedLanguageName();\n this.addEventBindingsToOptions();\n }\n\n setInitialSelectedLanguageName() {\n if (!window.Intl || !this.value) {\n return;\n }\n const langs = new (Intl as any).DisplayNames([this.value], { type: 'language' });\n if (!langs) {\n return;\n }\n const languageName = langs.of(this.value);\n if (!languageName) {\n return;\n }\n this.selectedLanguageName = languageName.charAt(0).toUpperCase() + languageName.slice(1);\n }\n\n addEventBindingsToOptions() {\n const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option')) as HTMLElement[];\n options.map((option: HTMLElement) => {\n option.removeEventListener('setCurrentLanguage', (event: CustomEvent) => {\n this.onSetCurrentLanguage(event.detail as LanguageSelectorOption);\n });\n // Bind event listener for when a user change language\n option.addEventListener('setCurrentLanguage', (event: CustomEvent) => {\n this.onSetCurrentLanguage(event.detail as LanguageSelectorOption);\n });\n });\n }\n\n @Watch('value')\n setSelectedLanguageName() {\n const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option')) as HTMLElement[];\n options.map((option: HTMLElement) => {\n // Set current label of language selector\n if (option.getAttribute('code') == this.value) {\n // || option.getAttribute(\"selected\") == \"true\"\n this.selectedLanguageName = option.getAttribute('name');\n }\n });\n }\n\n onSetCurrentLanguage(option: LanguageSelectorOption) {\n this.value = option.code;\n this.selectedLanguageName = option.name;\n this.setLanguage.emit(this.value);\n }\n\n @Watch('value')\n setTranslations() {\n if (translations[this.value]) {\n this.i18n = translations[this.value] as LanguageSelectori18n;\n }\n }\n\n @Watch('value')\n onValueChange() {\n const components = this.hostElement.querySelectorAll('pn-language-selector-option') ?? [];\n components.forEach(component => {\n // Pass values as props into slotted components\n // component.setAttribute(\"current-language\", this.value);\n const isSelected = (component.getAttribute('code') === this.value) + '';\n if (component.getAttribute('selected') + '' !== isSelected) {\n component.setAttribute('selected', isSelected);\n }\n });\n }\n\n render() {\n return (\n <Host value={this.value}>\n <pn-button-dropdown label={this.selectedLanguageName} icon={globe} appearance=\"light\" variant=\"borderless\">\n <div class=\"languageselector-nav\" aria-label={this.i18n.heading}>\n <strong class=\"languageselector-title\">{this.i18n.heading}</strong>\n <div class=\"languageselector-list\" role=\"list\">\n <slot />\n </div>\n </div>\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-language-common.scss';\n\npn-language-selector-option {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.languageselector-button,\n.languageselector-link {\n width: 100%;\n padding: 1.1rem 1.6rem 1.1rem 1.4rem;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n border: 0;\n cursor: pointer;\n background-color: $white;\n color: $blue700;\n font-size: 1.6rem;\n font-weight: bold;\n border-radius: 0;\n &:hover,\n &:focus,\n &:active {\n color: $blue900;\n text-decoration: underline;\n box-shadow: none;\n background-color: $gray50;\n color: $blue700;\n outline: none;\n }\n}\n\n.languageselector-itemtext {\n display: inline-block;\n margin-left: 1rem;\n}\n\n.languageselector-radio-outer {\n background: #fff;\n border: 0.1em solid $gray200;\n border-radius: 50%;\n height: 1.5em;\n width: 1.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n transition:\n border 0.2s ease-in-out,\n background-color 0.2s ease-in-out,\n box-shadow 0.1s;\n cursor: pointer;\n\n &:focus > &,\n &:active > & {\n box-shadow:\n 0 0 0 0.1rem white,\n 0 0 0 0.3rem $blue700;\n }\n &:hover > & {\n border: 0.1rem solid $blue700;\n background: $blue50;\n }\n [selected='true'] & {\n border: 0.1rem solid $blue700;\n }\n}\n\n.languageselector-radio-inner {\n transform: scale(0);\n height: 1em;\n width: 1em;\n background-color: $blue700;\n border-radius: 50%;\n transform-origin: center center;\n transition: transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92);\n\n [selected='true'] & {\n transform: scale(1);\n }\n}\n","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\nimport { LanguageSelectorOption } from './pn-language-selector-types';\n\n@Component({\n tag: 'pn-language-selector-option',\n styleUrl: 'pn-language-selector-option.scss',\n})\nexport class PnlanguageSelectorOption {\n /** What you write in the comment block above each prop is what ends up in the description fields in the prop table in the documentation */\n @Prop() name: string = '';\n @Prop() code: string = '';\n @Prop() url: string = '';\n @Prop() selected: boolean = false;\n @Prop() currentLanguage: string;\n\n private spanEl!: HTMLElement;\n\n @Event() setCurrentLanguage: EventEmitter;\n onOptionClick() {\n const currentlanguage: LanguageSelectorOption = {\n name: this.name,\n code: this.code,\n url: this.url,\n current: true,\n };\n this.setCurrentLanguage.emit(currentlanguage);\n }\n\n componentDidLoad() {\n if (this.spanEl) {\n this.spanEl.setAttribute(\"xml:lang\", this.code);\n }\n }\n\n render() {\n return (\n <Host role=\"listitem\" selected={this.selected + ''} code={this.code} name={this.name}>\n {!this.url ? (\n <button class=\"languageselector-button\" data-langcode={this.code} onClick={this.onOptionClick.bind(this)}>\n <span class=\"languageselector-radio-outer\">\n <span class=\"languageselector-radio-inner\"></span>\n </span>\n <span ref={(el) => (this.spanEl = el as HTMLElement)} lang={this.code} class=\"languageselector-itemtext\">\n {this.name} - {this.code}\n </span>\n </button>\n ) : (\n <a href={this.url} target=\"_self\" class=\"languageselector-link\" data-langcode={this.code}>\n <span class=\"languageselector-radio-outer\">\n <span class=\"languageselector-radio-inner\"></span>\n </span>\n <span ref={(el) => (this.spanEl = el as HTMLElement)} lang={this.code} class=\"languageselector-itemtext\">\n {this.name} - {this.code}\n </span>\n </a>\n )}\n </Host>\n );\n }\n}\n","export const translations = {\n 'sv': {\n menuHomeButton: 'Hem',\n menuGoBackButton: 'Gå tillbaka',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n navLabel: 'Huvudnavigation',\n },\n 'en': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'da': {\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbage',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Hovednavigation',\n },\n 'no': {\n menuHomeButton: 'Hjem',\n menuGoBackButton: 'Gå tilbake',\n mainMenuButton: 'Meny',\n menuStartButton: 'Start',\n navLabel: 'Hovednavigasjon',\n },\n 'de': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Geh zurück',\n mainMenuButton: 'Menü',\n menuStartButton: 'Start',\n navLabel: 'Hauptnavigation',\n },\n 'zh': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'it': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'nl': {\n menuHomeButton: 'Home',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'tr': {\n menuHomeButton: 'Anasayfa',\n menuGoBackButton: 'Geri git',\n mainMenuButton: 'Menü',\n menuStartButton: 'Başlat',\n navLabel: 'Ana gezinme',\n },\n 'pt': {\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Go back',\n mainMenuButton: 'Menu',\n menuStartButton: 'Start',\n navLabel: 'Main navigation',\n },\n 'pl': {\n menuHomeButton: 'Strona główna',\n menuGoBackButton: 'Powrót',\n mainMenuButton: 'Menu',\n menuStartButton: 'Początek',\n navLabel: 'Menu główne systemu',\n },\n 'pt-BR': {\n menuHomeButton: 'Página inicial',\n menuGoBackButton: 'Voltar',\n mainMenuButton: 'Menu',\n menuStartButton: 'Iniciar',\n navLabel: 'Navegação principal',\n },\n};\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav {\n display: flex;\n flex-flow: row-reverse;\n position: relative;\n width: 100%;\n min-height: 5.1rem;\n\n @media screen and (min-width: $mobilenav-media-tablet) {\n flex-flow: row;\n }\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n flex-flow: column;\n }\n\n [slot='footer'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n }\n }\n > nav {\n height: auto;\n width: 100vw;\n background-color: $white;\n z-index: 2;\n transform: translateX(100vw);\n transition: transform 0.2s 0s;\n transition-property: transform, visibility;\n display: flex;\n flex-flow: column;\n visibility: hidden;\n position: fixed;\n top: 3em;\n bottom: 0;\n left: 0;\n @media screen and (min-width: $mobilenav-media-tablet) {\n top: 6.5em;\n }\n\n &[data-menu-open='true'] {\n visibility: visible;\n transform: translateX(0);\n }\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n flex-flow: row-reverse;\n top: 0;\n position: static;\n // overflow: visible;\n height: auto;\n width: 100%;\n justify-content: space-between;\n visibility: visible;\n transform: translateX(0);\n }\n\n a {\n text-decoration: none;\n }\n\n button {\n cursor: pointer;\n }\n }\n}\n\n.mainnav-toggle {\n display: flex;\n align-items: center;\n align-self: center;\n // @media screen and (min-width: $mobilenav-media-tablet) {\n // align-self: center;\n // }\n // @media screen and (min-width: $mobilenav-media-smalldesktop) {\n // align-self: center;\n // }\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n }\n > button {\n display: flex;\n align-items: center;\n background-color: $blue700;\n color: $white;\n border-radius: 2.4rem;\n border: none;\n padding: 0.6rem 1.6rem;\n cursor: pointer;\n font-size: 1.6rem;\n\n &:focus {\n outline: 0;\n }\n\n pn-icon {\n margin-left: 0.8rem;\n display: block;\n }\n\n svg {\n display: block;\n margin: -0.2rem -0.5rem -0.2rem 0;\n height: 1.9rem;\n width: 1.9rem;\n }\n }\n}\n","import { Component, Prop, h, Host, Listen, Event, EventEmitter, Element } from '@stencil/core';\nimport { translations } from './translations';\nimport { Menui18n } from './types';\nimport state from './pn-mainnav-store';\nimport { close, bars } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-mainnav',\n styleUrl: 'pn-mainnav.scss',\n shadow: false,\n})\nexport class PnMainnav {\n @Element() hostElement: HTMLElement;\n /** Specifies which market we want to fetch navigation for (se,dk,fi,no,com) */\n @Prop() market: string = 'se';\n /** Specifies which language we want to show navigation in (sv,da,fi,no,en) */\n @Prop() language: string = 'sv';\n /** Specifies which endpoint we should read information from */\n @Prop() navigationId: string = 'mainnav';\n /** Specifies which endpoint we should read information from */\n @Prop({ mutable: true }) openMenu: boolean = false;\n /** Sets the label of the navigation (Required if multiple nav elements are on a page) */\n @Prop() navLabel: string = '';\n\n @Event() menuLanguageChange: EventEmitter; // Could not use language change since it's a existing window event\n @Event() marketChange: EventEmitter;\n @Event() menuOpenChange: EventEmitter;\n\n componentWillLoad() {\n this.init();\n document.removeEventListener('mousedown', this._onClickOutside.bind(this));\n document.addEventListener('mousedown', this._onClickOutside.bind(this));\n }\n\n async init() {\n this.setLanguage();\n this.setMarket();\n }\n\n private _onClickOutside(event) {\n const clickedOutside = !this.hostElement.contains(event.target);\n if (clickedOutside) {\n state.openLevel = '';\n }\n }\n\n @Listen('language')\n setLanguage() {\n this.menuLanguageChange.emit(this.language);\n }\n\n @Listen('market')\n setMarket() {\n this.marketChange.emit(this.market);\n }\n\n @Listen('menuLanguageChange')\n onLanguageChange(event) {\n if (translations[event.detail]) {\n state.i18n = translations[event.detail] as Menui18n;\n if (!this.navLabel) {\n this.navLabel = state.i18n.navLabel;\n }\n }\n }\n\n @Listen('setmenuopenstate')\n setMenuOpenState() {\n state.openMenu = !state.openMenu;\n this.menuOpenChange.emit(state.openMenu);\n }\n\n @Listen('openMenuLevelChange')\n onOpenMenuLevelChange(event) {\n state.openLevel = event.detail;\n }\n\n render() {\n return (\n <Host>\n <div class=\"mainnav-toggle\">\n <button aria-controls={this.navigationId} aria-expanded={state.openMenu + ''} onClick={this.setMenuOpenState.bind(this)}>\n {state.i18n.mainMenuButton}\n <pn-icon icon={state.openMenu ? close : bars} color=\"white\"></pn-icon>\n </button>\n </div>\n <nav class=\"mainnav\" aria-label={this.navLabel} data-menu-open={state.openMenu + ''} data-menu-currentlevel={state.currentLevel} id={this.navigationId}>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav-level {\n display: block;\n &:not(.hydrated) {\n max-height: 5.6rem;\n overflow: hidden;\n }\n &[data-level='1'] {\n width: 100%;\n right: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n flex: 1;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n width: auto;\n overflow: initial;\n\n // Only works for blink/webkit\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n &[data-level='2'] {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100vw;\n padding: 0;\n background-color: $white;\n z-index: 1;\n transform: translateX(100vw);\n transition: transform 0.2s 0s;\n transition-property: transform, visibility;\n overflow: scroll;\n visibility: hidden;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n left: 0;\n top: calc(100% + 1rem);\n bottom: auto;\n border-radius: 1.6rem;\n width: auto;\n padding: 1.6rem 1.6rem 0 1.6rem;\n -webkit-box-shadow: $mainmenu-shadow-elevation8;\n -moz-box-shadow: $mainmenu-shadow-elevation8;\n box-shadow: $mainmenu-shadow-elevation8;\n height: auto;\n z-index: 3;\n display: none;\n\n &[data-menuitem-rightaligned='true'] {\n // right-align next-to-last menu-pop-up on desktop (last is hidden mobile-action-menu)\n right: 0;\n left: unset;\n }\n }\n\n @media screen and (max-height: $mobilenav-media-phoneheight) {\n -ms-overflow-style: none; // IE and Edge\n scrollbar-width: none; // Firefox\n\n &::-webkit-scrollbar {\n // Chrome, Safari and Opera\n display: none;\n }\n }\n\n &[aria-hidden='false'] {\n transform: translateX(0);\n visibility: visible;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: block;\n overflow: visible;\n\n &:not([data-level-listcount='1']) {\n display: grid;\n grid-template-columns: minmax(12em, 20em) 1fr;\n grid-template-rows: auto auto;\n gap: 0px 1.6rem;\n grid-template-areas:\n 'top top'\n 'left right';\n }\n }\n }\n &[data-level-alignment='left'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n right: 0;\n left: unset;\n }\n }\n &[data-level-alignment='center'] {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n a {\n color: $blue700;\n text-decoration: none;\n }\n }\n [slot='top'] {\n display: flex;\n @media screen and (min-width: $mobilenav-media-tablet) {\n display: none;\n }\n }\n\n [slot='footer'] {\n [data-menu-currentlevel='2'] & {\n display: none;\n overscroll-behavior: contain;\n }\n }\n}\n\n.mainnav-level-header {\n grid-area: top;\n > label {\n position: absolute;\n width: 0.1rem;\n height: 0.1rem;\n padding: 0;\n margin: -0.1rem;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n white-space: nowrap;\n }\n > button {\n display: block;\n position: relative;\n border: none;\n background-color: transparent;\n color: $blue700;\n padding: 2.4rem 0 2.4rem 6.2rem;\n width: 100%;\n text-align: left;\n\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: none;\n speak: none;\n }\n\n > pn-icon {\n speak: none;\n position: absolute;\n height: 2.4rem;\n width: 2.4rem;\n left: 3rem;\n top: 50%;\n transform: translateY(-50%);\n }\n }\n\n [data-level='2'] & {\n > pn-mainnav-link > a {\n font-size: 2.4rem;\n }\n }\n}\n","import { Component, State, h, Host, Element, Watch, Prop } from '@stencil/core';\nimport { state, onChange } from './pn-mainnav-store';\nimport { arrow_left } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-mainnav-level',\n styleUrl: 'pn-mainnav-level.scss',\n shadow: false,\n})\nexport class PnMainnavLevel {\n @Element() hostElement: HTMLElement;\n @Prop({ reflect: true, mutable: true }) label: string = '';\n @State() level: number = 1;\n @State() levelId: string = '';\n @State() isOpen: boolean = false;\n @State() parentName: string = '';\n @State() parentHref: string = '';\n @State() parentLinkId: string = '';\n @State() listCount: number = 0;\n @State() alignment: string = 'right';\n\n async componentWillLoad() {\n this.setState();\n onChange('openLevel', () => {\n this.onChangeOpenLevel();\n });\n }\n\n @Watch('label')\n setState() {\n this.listCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-list').length;\n const parentElm = this.hostElement.parentElement;\n if (parentElm.tagName.toLowerCase() !== 'nav') {\n this.level = 2;\n }\n if (parentElm.tagName.toLowerCase() === 'pn-mainnav-link') {\n this.parentName = parentElm.getAttribute('name') + '';\n if ((!this.label && this.parentName) || this.label !== this.parentName) {\n this.label = this.parentName;\n }\n this.parentHref = parentElm.getAttribute('href') + '';\n this.parentLinkId = parentElm.getAttribute('linkid') + '';\n const parentLinkName = this.parentName.toLowerCase().replace(/\\W/gi, '_');\n this.levelId = `mainnav-lvl${this.level}-${parentLinkName}`;\n }\n }\n\n @Watch('isOpen')\n onOpen() {\n if (this.level === 2) {\n requestAnimationFrame(() => {\n const levelClientRect = this.hostElement.getClientRects()[0];\n if (!levelClientRect) {\n return;\n }\n\n const navElm = this.hostElement.parentElement.parentElement.parentElement.parentElement;\n if (navElm && navElm.tagName.toLowerCase() === 'nav') {\n const navClientRect = navElm.getClientRects()[0];\n if (!navClientRect) {\n return;\n }\n\n if (levelClientRect.right > window.innerWidth) {\n const levelParentRect = this.hostElement.parentElement.getClientRects()[0];\n if (levelParentRect.left - levelClientRect.width < 0) {\n this.alignment = 'center';\n } else {\n this.alignment = 'left';\n }\n }\n }\n });\n }\n }\n onChangeOpenLevel() {\n this.isOpen = state.openLevel === this.levelId;\n state.currentLevel = this.level;\n }\n\n render() {\n return (\n <Host\n {...(this.level > 1 && this.levelId ? { 'aria-hidden': !this.isOpen + '' } : {})}\n data-level-listcount={this.listCount + ''}\n data-level-alignment={this.alignment}\n data-level={this.level + ''}\n {...(this.levelId ? { id: this.levelId } : {})}\n >\n {this.level > 1 ? (\n <div class=\"mainnav-level-header\">\n <label htmlFor={this.levelId}>{state.i18n.menuGoBackButton}</label>\n <button\n class=\"secondlevel-backbtn\"\n onClick={() => {\n state.openLevel = '';\n state.currentLevel = 1;\n }}\n aria-expanded={(state.openLevel === this.levelId) + ''}\n >\n <pn-icon icon={arrow_left} color=\"blue700\" />\n {state.i18n.menuStartButton}\n </button>\n {this.parentHref && this.label ? <pn-mainnav-link href={this.parentHref} name={this.label} linkid={this.parentLinkId}></pn-mainnav-link> : null}\n </div>\n ) : null}\n <slot name=\"top\"></slot>\n <slot></slot>\n <slot name=\"additional\"></slot>\n <slot name=\"footer\"></slot>\n </Host>\n );\n }\n}\n","@import './pn-mainnav-common.scss';\n@import '../../../globals/main.scss';\n\npn-mainnav-list {\n display: block;\n overflow: visible;\n list-style: none;\n margin: 0;\n padding: 0;\n grid-area: right;\n\n + pn-mainnav-list {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n grid-area: left;\n border-right: 0.1rem solid $gray200;\n margin-bottom: 1.6rem;\n margin-right: -0.7rem;\n padding-right: 0.7rem;\n }\n }\n\n [data-level='1'] > & {\n // height: 100%;\n overflow: scroll;\n -webkit-overflow-scrolling: touch;\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n height: 100%;\n display: flex;\n flex-flow: row;\n overflow: visible;\n padding: 0;\n }\n }\n\n &[data-navlist-showcolumns='true'] {\n [data-level='2'] > & {\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n column-count: 2;\n column-gap: 1.6rem;\n padding-bottom: 1.6rem;\n }\n }\n }\n}\n\n.mainnav-list-heading {\n display: none;\n font-weight: bold;\n column-span: all;\n font-size: 1.8rem;\n padding: 1.4rem 1.4rem 1.4rem 4.8rem;\n @media screen and (min-width: $mobilenav-media-abovemobilemode) {\n display: block;\n padding: 0 1.4rem 1.4rem 1.4rem;\n }\n}\n","import { Component, h, Host, State, Element, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pn-mainnav-list',\n styleUrl: 'pn-mainnav-list.scss',\n shadow: false,\n})\nexport class PnMainnavList {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = '';\n @State() linkCount: number = 0;\n\n componentWillLoad() {\n this.linkCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-link').length;\n }\n\n render() {\n return (\n <Host class=\"mainnav-list\" role=\"list\" data-navlist-itemcount={this.linkCount + ''} data-navlist-showcolumns={(this.linkCount >= 8) + ''}>\n {this.heading ? <div class=\"mainnav-list-heading\">{this.heading}</div> : null}\n <slot></slot>\n </Host>\n );\n }\n}\n","class MarketWebLoginManager {\n eventTarget: EventTarget = window ?? document?.body;\n endpoint: String = '';\n storagePrefix: String = 'pn-user';\n checkUserLoggedInStateInterval: number = 0;\n baseUrls = {\n at: 'https://atportal.postnord.com/api/unified-login/backend',\n prod: 'https://portal.postnord.com/api/unified-login/backend',\n };\n events = {\n loginstatechange: 'loginstatechange',\n };\n endpoints = {\n authorizationEndpoint: `/authorization`,\n tokenExchangeEndpoint: `/token`,\n userInfoEndpoint: `/user`,\n logoutEndpoint: `/logout`,\n };\n keys = {\n tokensource: 'tokensource',\n token: 'token',\n accessToken: 'accessToken',\n user: 'user',\n expire: 'expire',\n expireDate: 'expiredate',\n };\n overridetokenValue = 'overridetokenValue';\n siteUrl: String = window.location.origin;\n abortSignalForLoginCheck = null;\n loginCheckInProgress = false;\n loginCheckTimer = null;\n\n constructor(options: IMarketWebLoginManagerOptions = null) {\n if (!options) {\n return;\n }\n this.eventTarget = options.eventTarget ? options.eventTarget : this.eventTarget;\n this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;\n this.storagePrefix ??= options.storagePrefix;\n this.checkUserLoggedInStateInterval =\n options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0 ? parseInt(options.checkUserLoggedInStateInterval + '', 10) : 0;\n\n if (options.userInfo) {\n this.store.set(this.keys.user, options.userInfo);\n this.registerToken(this.overridetokenValue, 'override');\n }\n }\n init(checkParameters: boolean = true) {\n if (checkParameters) {\n this.checkParameters();\n this.checkPNTopbar();\n this.checkExpireTime();\n\n if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {\n this.fetchUserInfo();\n }\n\n this.loginStateChange();\n\n if (this.checkUserLoggedInStateInterval > 0) {\n this.initiateLoggedInCheck();\n }\n }\n }\n setSiteUrl(siteUrl) {\n if (siteUrl) {\n this.siteUrl = siteUrl;\n }\n }\n initiateLoggedInCheck() {\n if (this.isLoggedIn()) {\n if (window && window['AbortController']) {\n this.abortSignalForLoginCheck = new AbortController();\n }\n this.loginCheckTimer = window.setInterval(() => {\n this.doExternalLoggedInCheck()\n .then(() => {})\n .catch(() => {});\n }, this.checkUserLoggedInStateInterval);\n }\n }\n\n async doExternalLoggedInCheck() {\n if (!window.navigator.onLine) {\n // Don't check if the user is not online\n return;\n }\n if (!this.getToken()) {\n window.clearInterval(this.checkUserLoggedInStateInterval);\n return;\n }\n if (this.loginCheckInProgress && this.abortSignalForLoginCheck) {\n this.abortSignalForLoginCheck.abort();\n this.abortSignalForLoginCheck = new AbortController();\n }\n this.loginCheckInProgress = true;\n const reqConfig: RequestInit = {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Authorization': this.getToken(),\n },\n };\n if (this.abortSignalForLoginCheck && this.abortSignalForLoginCheck['signal']) {\n reqConfig['signal'] = this.abortSignalForLoginCheck['signal'];\n }\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);\n if (response.status === 409) {\n // This is a status the API returns if a user has been logged out\n window.clearInterval(this.checkUserLoggedInStateInterval);\n console.log('Cleared out user data due to bad response from authentication endpoint');\n this.LogoutUser();\n return;\n }\n if (!response.ok) {\n // The response was \"bad\". This could be due to bad connectivity or something else.\n // We'll ignore it so we don't unecessarily log users out or have them loose state if they're switching connection\n return;\n }\n const data = await response.json();\n if (!data || !data['accessToken']) {\n window.clearInterval(this.checkUserLoggedInStateInterval);\n console.log('Cleared out user data due to bad response from authentication endpoint');\n this.LogoutUser();\n }\n this.loginCheckInProgress = false;\n }\n LogoutUser() {\n this.clearUserData();\n\n // Log out user\n if (this.eventTarget) {\n const logoutLink = (this.eventTarget as HTMLElement).querySelector('#pn-marketweb-header-logoutlink');\n if (logoutLink) {\n (logoutLink as HTMLAnchorElement).click();\n return;\n }\n }\n\n this.loginStateChange();\n \n // If no logout link was found, attempt to change URL to redirect link\n const currentPageHref = window.location.href;\n window.location.href = this.getLogoutUrl(currentPageHref);\n }\n\n isLoggedIn(override = false) {\n if (override) {\n return override;\n }\n\n let isLoggedIn = this.store.get(this.keys.token) && this.store.get(this.keys.user) ? true : false;\n if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {\n isLoggedIn = true;\n }\n return isLoggedIn;\n }\n\n registerToken(token: string = '', tokenSource = 'frontend') {\n if (!token || token === this.getToken()) {\n return;\n }\n this.clearUserData();\n this.store.set(this.keys.tokensource, tokenSource);\n this.store.set(this.keys.token, token);\n this.fetchUserInfo();\n }\n\n invalidateTokenOfType(tokenSource: string = 'frontend') {\n const currentToken = this.store.get(this.keys.token);\n if (!currentToken) {\n return;\n }\n const currentTokenSource = this.store.get(this.keys.tokensource);\n if (currentTokenSource !== tokenSource) {\n return;\n }\n // If we have a token and the source is set then we will invalidate the user data\n this.clearUserData();\n }\n\n getLoginUrl(redirectPage = '') {\n const currentPage = window.location.href;\n redirectPage = redirectPage ? redirectPage : currentPage;\n return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;\n }\n\n getLogoutUrl(linkHref = '') {\n if (linkHref.indexOf('logout?logoutUrl') !== -1) {\n // Link has already been formatted.\n return linkHref;\n }\n let redirectPage = linkHref\n .replace('logout', '')\n .replace('http://window.location.href/?', window.location.href)\n .replace('https://window.location.href/?', window.location.href);\n let rootUrl = this.siteUrl;\n try {\n const url = new URL(this.siteUrl + '');\n rootUrl = url.origin;\n } catch (e) {}\n const addSlash = rootUrl.lastIndexOf('/') !== rootUrl.length - 1;\n const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';\n const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;\n const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;\n\n return logoutUrl;\n }\n\n getUserInfo() {\n if (this.isLoggedIn()) {\n return this.store.get(this.keys.user) as IUserInfo;\n }\n }\n\n getEventTarget() {\n return this.eventTarget;\n }\n\n private checkExpireTime() {\n const expire = this.store.get(this.keys.expire);\n if (!expire) {\n return;\n }\n const now = new Date();\n const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));\n if (now > expireDate) {\n console.info('Login time has expired');\n this.clearUserData();\n this.loginStateChange();\n }\n }\n private checkPNTopbar() {\n if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {\n return;\n }\n\n this.store.set(this.keys.token, window['pnTopbar']['session_id']);\n this.fetchUserInfo();\n }\n\n private checkParameters() {\n if (!window?.location) {\n return;\n }\n\n const params = new URLSearchParams(window.location.search);\n if (params.get('oneTimeCode')) {\n const oneTimeCode = params.get('oneTimeCode');\n\n this.exchangeToken(oneTimeCode).then(() => {\n const currentHref = window.location.href;\n const paramPrefix = currentHref.indexOf('?oneTimeCode') !== -1 ? '?' : '&';\n const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');\n history.replaceState({}, document.querySelector('title').innerText, newUrl);\n });\n }\n }\n\n private async fetchUserInfo() {\n const token = this.store.get(this.keys.token);\n if (this.store.get(this.keys.token) === this.overridetokenValue) {\n console.info('Did not fetch user data since it was set by an override');\n return;\n }\n const reqConfig: RequestInit = {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'Authorization': token,\n },\n };\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);\n const data = await response.json();\n if (data && data['idToken']) {\n try {\n const { idToken, expiryTime, accessToken } = data;\n const userInfo = this.parseUserInfo(idToken);\n if (!userInfo) {\n console.error('Userdata is not valid');\n this.clearUserData();\n return;\n }\n this.store.set(this.keys.user, userInfo);\n // 10 Min early expire\n this.store.set(this.keys.accessToken, accessToken);\n this.store.set(this.keys.expire, expiryTime);\n this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));\n this.loginStateChange();\n } catch (e) {\n console.error('Unable to get user information', e);\n }\n } else {\n console.error('Unable to get user information. Clearing login state');\n this.clearUserData();\n }\n }\n clearUserData() {\n this.store.remove(this.keys.user);\n this.store.remove(this.keys.tokensource);\n this.store.remove(this.keys.accessToken);\n this.store.remove(this.keys.token);\n this.store.remove(this.keys.expire);\n this.store.remove(this.keys.expireDate);\n }\n getToken() {\n return this.store.get(this.keys.token);\n }\n getAccessToken() {\n return this.store.get(this.keys.accessToken);\n }\n async exchangeToken(oneTimeCode) {\n this.clearUserData();\n const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);\n const { token } = await response.json();\n if (typeof token === 'string' && token) {\n this.store.set(this.keys.token, token);\n }\n this.fetchUserInfo();\n }\n private loginStateChange() {\n if (!this.eventTarget) {\n return;\n }\n this.eventTarget.dispatchEvent(\n new CustomEvent(this.events.loginstatechange, {\n detail: this.isLoggedIn(),\n }),\n );\n }\n private getBaseUrl() {\n const atEnvironments = ['localhost', 'integration.', 'inte.', 'local.','prep.'];\n let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;\n if (['devportal.postnord.com', 'atportal.postnord.com'].indexOf(window.location.hostname) !== -1) {\n useATEnv = true;\n }\n if (useATEnv) {\n return this.baseUrls.at;\n }\n return this.baseUrls.prod;\n }\n\n private parseUserInfo(idToken: string) {\n if (!idToken) {\n return null;\n }\n var base64Url = idToken.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(''),\n );\n return JSON.parse(jsonPayload);\n }\n\n store = {\n get: (key: string) => {\n const value = window.localStorage.getItem(`${this.storagePrefix}-${key}`);\n if (!value) {\n return value;\n }\n if (value.indexOf('{') === 0) {\n try {\n return JSON.parse(value);\n } catch (e) {}\n }\n if (value.indexOf(',') !== -1) {\n return value.split(',');\n }\n return value;\n },\n set: (key: string, value: any) => {\n if (typeof value === 'object' && typeof value.length === 'undefined') {\n window.localStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));\n return;\n }\n window.localStorage.setItem(`${this.storagePrefix}-${key}`, value);\n },\n remove: (key: string) => {\n window.localStorage.removeItem(`${this.storagePrefix}-${key}`);\n },\n };\n}\n\ninterface IMarketWebLoginManagerOptions {\n eventTarget?: EventTarget;\n endpoint?: String;\n storagePrefix?: String;\n userInfo?: IUserInfo;\n checkUserLoggedInStateInterval?: number;\n}\n\ninterface IUserInfo {\n acr?: string;\n ams?: string[];\n at_hash?: string;\n aud?: string;\n auth_time?: number;\n created_at?: number;\n email?: string;\n email_verifier?: true;\n emails?: IUserInfoEmail[];\n exp?: number;\n family_name?: string;\n given_name?: string;\n iat?: number;\n iss?: string;\n jti?: string;\n nonce?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n phone_number_verified_at?: string;\n phone_numbers?: IUserInfoPhonenumber[];\n rat?: number;\n sid?: string;\n sub?: string;\n uas_status?: number;\n userId?: string;\n username?: string;\n}\n\ninterface IUserInfoEmail {\n email: string;\n verifiet_at: number;\n}\ninterface IUserInfoPhonenumber {\n phone_number: string;\n verifiet_at: string;\n}\n\nexport { MarketWebLoginManager, IMarketWebLoginManagerOptions, IUserInfo };\n","@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login {\n padding: 1rem 0;\n max-height: 5.2rem;\n position: relative;\n // Example of how we could indicate username in smaller viewports\n // .siteheader-topright & {\n // &[username] {\n // &:hover {\n // &::after {\n // content:attr(username);\n // display: block;\n // position:absolute;\n // z-index: 4;\n // background:$white;\n // border:.1rem solid $blue700;\n // border-radius: .8rem;\n // padding:0.5rem 0.9rem;\n // margin-top: 0.8rem;\n // left: 50%;\n // transform: translateX(-50%);\n // @media screen and (min-width: $siteheader-media-smalldesktop) {\n // content:\"\";\n // display:none;\n // }\n // }\n // }\n // }\n // }\n\n pn-button-dropdown {\n .pn-button-dropdown-container {\n .pn-button-dropdown-content {\n max-width: 350px;\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n padding: 4rem;\n\n pn-button {\n width: 100%;\n }\n\n pn-marketweb-siteheader-unified-login {\n &::after {\n display: block;\n content: '';\n height: 2px;\n background: $gray25;\n width: 100%;\n margin-top: 2.4rem;\n }\n }\n\n span {\n &::before {\n display: block;\n content: '';\n height: 2px;\n background: $gray25;\n width: 100%;\n\n margin-bottom: 2.4rem;\n }\n }\n\n span {\n font-size: 1.4rem;\n color: $gray900;\n\n a {\n text-decoration: none;\n color: $blue700;\n &:hover {\n text-decoration: underline;\n }\n }\n\n * {\n margin-bottom: 0;\n }\n }\n }\n }\n }\n\n pn-button-dropdown {\n display: none;\n }\n &.hydrated {\n pn-button-dropdown {\n display: block;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { IUserInfo, MarketWebLoginManager } from '../../../globals/MarketWebLoginManager';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialog, SiteHeaderI18N } from './pn-marketweb-siteheader-types';\nimport { user } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login',\n styleUrl: 'pn-marketweb-siteheader-login.scss',\n})\nexport class PnMarketwebSiteheaderLogin {\n @Element() hostElement: HTMLElement;\n /** Specifies which endpoint domain we should load from */\n @Prop() endpoint: string = '';\n /** Access token passed from backend */\n @Prop() token: string = '';\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n unifiedLoginButton: '',\n unifiedMyPagesButton: '',\n } as SiteHeaderI18N;\n\n @Prop() siteUrl: string = '';\n @Prop() emitEvents: boolean = true;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n\n /** User Fullname */\n @Prop() fullname: string = '';\n @Prop() loggedin: boolean = false;\n\n /** If this is selected we will show the new profile selection dropdown instead of the login version */\n @Prop({ mutable: true }) showProfileSelection: boolean = false;\n\n /** if this is selected we will show the unifiedlogin button along with new look for dropdown */\n @Prop() showUnifiedLogin: boolean = false;\n\n /** Continiously check if a user is logged in **/\n @Prop({}) checkUserLoggedInStateInterval: number = 0;\n\n @Prop() environment?: string;\n\n @State() loginLinks: [];\n\n @State() toggleButtonText: string = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';\n\n @State() username: string = this.fullname;\n\n @Prop() useMarketwebLogin: boolean;\n\n // Events\n @Event() loginStateChange: EventEmitter;\n\n componentWillLoad() {\n const userInfo: IUserInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;\n headerState.loginManager = new MarketWebLoginManager({\n endpoint: this.endpoint,\n eventTarget: this.hostElement as EventTarget,\n checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval,\n userInfo,\n });\n headerState.loginManager.setSiteUrl(this.siteUrl);\n this.hostElement['loginmanager'] = headerState.loginManager;\n if (this.token) {\n headerState.loginManager.registerToken(this.token, 'backend');\n } else if (this.emitEvents) {\n // The primary login instance\n headerState.loginManager.invalidateTokenOfType('backend');\n }\n this.hostElement.addEventListener(headerState.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));\n this.init();\n this.setUserName();\n this.setToggleButtonText();\n }\n\n @Watch('i18n')\n @Watch('loginDialog')\n async init() {\n headerState.loginManager.init(this.emitEvents);\n this.setToggleButtonText();\n this.adjustLoginLinks();\n }\n adjustLoginLinks() {\n if (!this.loginDialog?.loginMenuLinks) {\n return;\n }\n\n const adjustLink = (link, i) => {\n if (!link.isLogoutLink) {\n link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;\n }\n if (link.isLogoutLink) {\n link.href = headerState.loginManager.getLogoutUrl(link.pageLink);\n }\n\n if (i === 0 && !link.href) {\n link.href = headerState.loginManager.getLoginUrl();\n link.linkType = 'primary';\n }\n if (link.primaryLinkApperance && !link.linkType) {\n link.linkType = 'primary';\n }\n return link;\n };\n if (this.loginDialog) {\n this.loginDialog.loginMenuLinks = this.loginDialog.loginMenuLinks.map(adjustLink);\n this.loginDialog.loggedInLinks = this.loginDialog.loggedInLinks.map(adjustLink);\n }\n this.loginDialog.legacyLoginLinks = [\n {\n href: headerState.loginManager.getLoginUrl(this.loginDialog.loginUrl),\n linkText: this.loginDialog.loginLinkText,\n openInNewWindow: false,\n isLogoutLink: false,\n pageLink: null,\n linkType: 'primary',\n primaryLinkApperance: true,\n },\n {\n href: headerState.loginManager.getLoginUrl(this.loginDialog.registerUrl),\n linkText: this.loginDialog.createLoginLinkText,\n openInNewWindow: false,\n isLogoutLink: false,\n pageLink: null,\n primaryLinkApperance: false,\n },\n ];\n }\n\n setUserName() {\n const userInfo = headerState.loginManager.getUserInfo();\n let name = '';\n if (!this.loggedin || !userInfo) {\n this.username = name;\n }\n if (userInfo && userInfo.given_name) {\n name = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n\n if (!name && userInfo && userInfo.email) {\n name = userInfo.email;\n }\n if (!name && this.fullname) {\n name = this.fullname;\n }\n\n this.username = name;\n\n this.adjustLoginLinks();\n }\n\n setToggleButtonText() {\n if (this.loggedin) {\n this.toggleButtonText = this.username;\n if (!this.toggleButtonText) {\n this.toggleButtonText = this.loginDialog.loggedInButtonText;\n }\n } else {\n this.toggleButtonText = this.loginDialog.loginMenuLinkText;\n }\n }\n\n onLoginStateChange(e: CustomEvent) {\n if (this.loggedin !== e.detail && this.emitEvents) {\n this.loggedin = e.detail;\n this.loginStateChange.emit({ loggedIn: this.loggedin, token: headerState.loginManager.getToken() });\n this.setUserName();\n this.setToggleButtonText();\n }\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {\n username: null,\n loggedin: 'false',\n };\n if (this.username) {\n hostElementAttribute.username = this.username;\n hostElementAttribute.loggedin = this.loggedin + '';\n }\n return (\n <Host {...hostElementAttribute}>\n <pn-button-dropdown label={this.toggleButtonText} icon={user} appearance=\"light\" variant=\"borderless\" class=\"siteheader-logindialog\">\n {this.showUnifiedLogin && !this.loggedin && (\n <pn-marketweb-siteheader-unified-login\n loggedIn={this.loggedin}\n logInLabel={this.i18n.unifiedLoginButton}\n useMarketwebLogin={this.useMarketwebLogin}\n environment={this.environment}\n />\n )}\n {this.loggedin && this.showProfileSelection ? (\n <pn-marketweb-siteheader-login-profileselection\n loginDialog={this.loginDialog}\n loggedin={this.loggedin}\n i18n={this.i18n}\n idNamespace={this.emitEvents ? '1' : '2'}\n endpoint={this.endpoint}\n ></pn-marketweb-siteheader-login-profileselection>\n ) : (\n <pn-marketweb-siteheader-login-links\n loginDialog={this.loginDialog}\n loggedin={this.loggedin}\n idNamespace={this.emitEvents ? '1' : '2'}\n username={this.username}\n showUnifiedLogin={this.showUnifiedLogin}\n ></pn-marketweb-siteheader-login-links>\n )}\n {!this.loggedin && this.loginDialog?.loginInfo && ( <span innerHTML={`${this.loginDialog.loginInfo}`} />)}\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","import { createStore } from '@stencil/store';\n// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store\n\nconst { state, onChange } = createStore({\n searchValue: '',\n autocompleteSuggestions: {},\n requestAbortController: new AbortController(),\n});\n\nexport { state, onChange };\nexport default state;\n","@import '../../../globals/main.scss';\n@import './pn-marketweb-siteheader-common.scss';\n\n.siteheader-search {\n a {\n display: none;\n @media screen and (min-width: $siteheader-media-tablet) {\n display: block;\n }\n }\n pn-search-field > .input-container button {\n background: $white;\n }\n pn-search-field.button-icon pn-button,\n pn-button {\n display: inline-flex;\n button {\n align-self: center;\n padding: 0;\n height: 2.3em;\n width: 2.4em;\n line-height: 0;\n min-height: unset;\n min-width: initial;\n }\n pn-icon {\n margin-left: 0;\n }\n .pn-button-tooltip {\n line-height: initial !important;\n }\n }\n form {\n justify-content: flex-end;\n align-items: stretch;\n width: auto;\n flex: none;\n display: flex;\n padding: 0;\n margin: 0 0 0 0.4rem;\n position: relative;\n flex-direction: column;\n @media screen and (min-width: $siteheader-media-tablet) {\n }\n @media screen and (min-width: $siteheader-media-smalldesktop) {\n margin-right: 1.6rem;\n }\n pn-search-field {\n min-width: 13.5em;\n .input-container {\n align-self: center;\n }\n input {\n height: auto;\n min-height: 1em;\n padding: 0.6em 0.75em;\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State } from '@stencil/core';\nimport { SiteHeaderSearch } from './pn-marketweb-siteheader-types';\nimport { state, onChange } from './pn-marketweb-siteheader-search-store';\nimport { search } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-search',\n styleUrl: 'pn-marketweb-siteheader-search.scss',\n})\nexport class PnMarketwebSiteheaderSearch {\n @Element() hostElement: Element;\n\n // Language options\n @Prop() i18n: any;\n\n // Display option, show only link\n @Prop({ mutable: true }) showOnlyLink: boolean = false;\n // Hide search option\n @Prop({ mutable: true }) hideSearch: boolean = false;\n /** Specifies which language we want to show (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = null;\n\n /** Specifies the current site id (guid)*/\n @Prop() siteid: string = null;\n\n // Search data\n @Prop({ mutable: true }) search: SiteHeaderSearch = {};\n\n // Is this the primary instance?\n @Prop() primary: boolean = false;\n\n // Only Show icon as search button?\n @Prop() icononly: boolean = true;\n\n // Autocomplete options\n @State() autoCompleteOptions: string[] = [];\n\n onSearchValueUpdate() {\n this.getAutocomplete(state.searchValue);\n }\n\n async getAutocomplete(prefix) {\n if (!this.search.AutocompleteEndpoint || prefix.length < 2) {\n this.autoCompleteOptions = [];\n return;\n }\n if (state.autocompleteSuggestions[prefix]) {\n this.setAutocompleteSuggestions(state.autocompleteSuggestions[prefix]);\n return;\n }\n\n let autocompleteUrl = `${this.search.AutocompleteEndpoint}?prefix=${prefix}&size=10`;\n if (this.language || this.siteid) {\n autocompleteUrl += `&tags=`;\n if (this.language) {\n autocompleteUrl += `language:${this.language}`;\n }\n if (this.language && this.siteid) {\n autocompleteUrl += `,`;\n }\n if (this.siteid) {\n autocompleteUrl += `siteid:${this.siteid}`;\n }\n }\n const req = await fetch(autocompleteUrl, { signal: state.requestAbortController.signal }).catch(e => {\n console.warn('Unable to fetch autocomplete suggestions', e);\n });\n if (!req) {\n return;\n }\n const data = await req.json();\n if (!data || !data.hits || !data.hits.length) {\n return;\n }\n const suggestions = data.hits\n .filter(item => item.type === 'editorial')\n .map(item => {\n return item.query;\n });\n\n // Store query in store\n state.autocompleteSuggestions[prefix] = suggestions;\n this.setAutocompleteSuggestions(suggestions);\n }\n\n setAutocompleteSuggestions(suggestions) {\n if (typeof suggestions !== 'object' || typeof suggestions.length !== 'number' || suggestions.length === 0) {\n return;\n }\n this.autoCompleteOptions = suggestions;\n }\n componentWillLoad() {\n onChange('searchValue', () => {\n this.onSearchValueUpdate();\n });\n }\n\n componentDidRender() {\n const inputSearchElm = this.hostElement.querySelector('pn-search-field input:not([list])');\n if (inputSearchElm && this.search.AutocompleteEndpoint) {\n inputSearchElm.setAttribute('list', 'siteheader-search-autocomplete');\n }\n }\n\n render() {\n if (!this.search.formActionUrl || this.hideSearch) {\n return;\n }\n const autocompleteAttribute = this.search.AutocompleteEndpoint ? { list: 'siteheader-search-autocomplete' } : {};\n return (\n <div class=\"siteheader-search\">\n {this.showOnlyLink ? (\n <pn-button href={this.search.formActionUrl} appearance=\"light\" icon={search} tooltip={this.i18n.searchlabel} />\n ) : (\n <form method=\"get\" action={this.search.formActionUrl} role=\"search\">\n <pn-search-field\n {...autocompleteAttribute}\n label={this.i18n.searchlabel}\n name=\"q\"\n button={this.icononly ? 'icon' : null}\n button-label={'Search'}\n placeholder={this.i18n.searchplaceholder}\n onUpdate={(e: CustomEvent) => {\n state.searchValue = e.detail;\n }}\n onSearch={() => {\n const form = this.hostElement.querySelector('form') as HTMLFormElement;\n if (form) {\n form.submit();\n }\n }}\n />\n\n {this.primary && this.search.AutocompleteEndpoint ? (\n <datalist id=\"siteheader-search-autocomplete\">\n {this.autoCompleteOptions.map(item => (\n <option>{item}</option>\n ))}\n </datalist>\n ) : null}\n </form>\n )}\n </div>\n );\n }\n}\n","export default {\n sv: {\n navlabel: 'Webbplatsväljare',\n },\n en: {\n navlabel: 'Website selector',\n },\n da: {\n navlabel: 'Webstedsvælger',\n },\n no: {\n navlabel: 'Nettstedsvelger',\n },\n fi: {\n navlabel: 'Verkkosivun valitsin',\n },\n de: {\n navlabel: 'Website-Selektor',\n },\n};\n","@import '../../../globals/main.scss';\n@import './pn-site-selector-common.scss';\n\npn-site-selector {\n display: flex;\n position: relative;\n justify-content: center;\n max-height: 5.2rem;\n\n @media screen and (min-width: $siteselector-media-desktop) {\n display: block;\n }\n}\n\n.siteselector-heading {\n display: block;\n padding: 0;\n margin-bottom: 1.6rem;\n\n @media screen and (min-width: $siteselector-media-desktop) {\n display: flex;\n align-items: center;\n margin-top: 0.8rem;\n }\n}\n\n.siteselector-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n","import { Component, Prop, h, State, Element, Host } from '@stencil/core';\nimport { SiteSelectori18n } from './pn-site-selector-types';\nimport languageData from './pn-site-selector-i18n';\nimport { angle_small_down } from 'pn-design-assets/pn-assets/icons.js';\n@Component({\n tag: 'pn-site-selector',\n styleUrl: 'pn-site-selector.scss',\n})\nexport class PnSiteSelector {\n @Element() hostElement: HTMLElement;\n\n /* Site selector Button text */\n @Prop({ mutable: true, reflect: true }) buttontext: string = 'postnord';\n /* Site selector flyout title */\n @Prop({ mutable: true, reflect: true }) heading: string = 'PostNord';\n /** Specifies which language we want to show navigation in (sv,da,fi,no,en) */\n @Prop({ mutable: true, reflect: true }) language: string = 'sv';\n @State() i18n: SiteSelectori18n = { navlabel: 'Site selector' };\n\n componentWillLoad() {\n this.setLanguage();\n }\n\n setLanguage() {\n if (languageData[this.language]) {\n this.i18n = languageData[this.language] as SiteSelectori18n;\n }\n }\n\n render() {\n return (\n <Host>\n <pn-button-dropdown label={this.buttontext} icon={angle_small_down} appearance=\"light\" variant=\"borderless\">\n <div class=\"siteselector-nav\" aria-label={this.i18n.navlabel}>\n {this.heading ? <strong class=\"siteselector-heading\">{this.heading}</strong> : null}\n <div role=\"menu\" class=\"siteselector-list\">\n <slot />\n </div>\n </div>\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n","@import '../../../globals/main.scss';\n@import './pn-site-selector-common.scss';\n\npn-site-selector-item {\n display: block;\n > div,\n > a {\n padding: 0.8rem 0;\n display: flex;\n flex-flow: column;\n position: relative;\n }\n}\n\n.siteselector-item-link {\n border-radius: 0;\n text-decoration: none;\n color: $blue700;\n flex-direction: row;\n\n &:hover,\n &:focus {\n background-color: $gray50;\n color: $blue700;\n text-decoration: underline;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n background-color: $gray50;\n color: $blue400;\n outline: none;\n }\n > span {\n flex-grow: 1;\n }\n pn-icon {\n right: 3.2rem;\n height: 1.9rem;\n width: 1.9rem;\n align-self: center;\n\n svg {\n width: 100%;\n height: auto;\n }\n }\n}\n.siteselector-item-title {\n display: block;\n}\n\n.siteselector-item-description {\n color: $gray900;\n font-size: 1.28rem;\n\n a:hover > &,\n a:focus > & {\n background-color: $gray50;\n color: $blue700;\n text-decoration: underline;\n outline: none;\n }\n\n a:active > & {\n background-color: $gray50;\n color: $blue400;\n outline: none;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport { angle_small_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-site-selector-item',\n styleUrl: 'pn-site-selector-item.scss',\n})\nexport class PnSiteSelectorItem {\n /* Link URL */\n @Prop() url: string = '';\n\n /* Link title */\n @Prop() heading: string = '';\n\n /* Link description */\n @Prop() description: string = '';\n\n /* Open link in new window */\n @Prop() newwindow: boolean = false;\n\n render() {\n return (\n <Host role=\"menuitem\">\n {this.url ? (\n <a class=\"siteselector-item-link\" href={this.url} target={this.newwindow ? '_blank' : 'self'} rel={this.newwindow ? 'nofollow noopener' : ''}>\n <span>\n {this.heading && <span class=\"siteselector-item-title\">{this.heading}</span>}\n {this.description && <small class=\"siteselector-item-description\">{this.description}</small>}\n </span>\n <pn-icon icon={angle_small_right} color=\"blue700\" />\n </a>\n ) : (\n <div>\n {this.heading && <span class=\"siteselector-item-title\">{this.heading}</span>}\n {this.description && <small class=\"siteselector-item-description\">{this.description}</small>}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,g as i,h as t,d as a}from"./p-82546a44.js";const l={sv:{heading:"Prisindikation med PEX Bud",labelFrom:"Från postkod",labelTo:"Till postkod",zipPlaceholder:"Ex. 12831",labelWeight:"Vikt (i kilo)",weightPlaceholder:"Ex. 1000",labelWhen:"När",submitButtonText:"Beräkna pris"},en:{heading:"Calculate price with PEX Bud",labelFrom:"From zip",labelTo:"To zip",zipPlaceholder:"Ex. 12831",labelWeight:"Weight (in kilo)",weightPlaceholder:"Ex. 1000",labelWhen:"When",submitButtonText:"Calculate price"}};const n='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 120 120"><g clip-path="url(#PEX-truck_svg__a)"><path fill="#8EDDF9" d="M0 60C0 26.863 26.863 0 60 0s60 26.863 60 60-26.863 60-60 60S0 93.137 0 60"/><path fill="#0D234B" fill-rule="evenodd" d="M-8 114.461c0-.311.253-.564.564-.564h278.872a.565.565 0 0 1 0 1.128H-7.436a.564.564 0 0 1-.564-.564" clip-rule="evenodd"/><path fill="#000" d="M95.087 114.912c6.804 0 12.319-5.515 12.319-12.319s-5.515-12.32-12.319-12.32c-6.803 0-12.319 5.516-12.319 12.32s5.516 12.319 12.32 12.319"/><path fill="#D3CECB" d="M174.689 105.436H65.757V22h98.463c5.776 0 10.469 4.693 10.469 10.469z"/><path fill="#F3F2F2" d="M133.67 105.436H25.416V32.469C25.416 26.693 30.108 22 35.885 22h97.83v83.436z"/><path fill="#2D2013" d="M65.983 105.436H25.416V32.469C25.416 26.693 30.108 22 35.885 22h94.672z"/><path fill="#000" d="M233.486 106.429H21.264v-4.242a3.235 3.235 0 0 1 3.249-3.249h205.769a3.235 3.235 0 0 1 3.249 3.249v4.242z"/><path fill="#5E554A" fill-rule="evenodd" d="M30.56 88.763h-5.144v-1.128h5.144c1.906 0 3.316 1.715 3.316 3.632 0 1.968-1.415 3.633-3.316 3.633h-5.144v-1.128h5.144c1.167 0 2.188-1.043 2.188-2.505 0-1.422-1.026-2.504-2.188-2.504" clip-rule="evenodd"/><path fill="#00A0D6" d="M63.995 98.848 123.334 22h9.431L73.381 98.938z"/><path fill="#A7A6A6" d="m62.597 22 9.521.045 21.795 28.203-4.783 6.137zM97.706 67.486l4.647-6.092 28.925 37.454-9.295.09z"/><path fill="#000" d="M70.764 105.436H39.493v-3.43c0-8.618 6.994-15.658 15.658-15.658 8.619 0 15.658 6.995 15.658 15.658v3.43z"/><path fill="#000" d="M55.108 114.912c6.804 0 12.32-5.515 12.32-12.319s-5.516-12.32-12.32-12.32c-6.803 0-12.319 5.516-12.319 12.32s5.515 12.319 12.32 12.319"/><path fill="#5E554A" d="M55.017 107.647a5.054 5.054 0 1 0 0-10.108 5.054 5.054 0 0 0 0 10.108"/><path fill="#fff" d="M58.583 58.595h-6.498v1.354h6.498z"/><path fill="#fff" d="M49.466 52.144v14.71h11.19v-1.353H51V53.497h9.386v-1.353zM36.154 66.854v-14.71h5.912c3.52 0 5.234 1.398 5.234 4.286 0 2.979-1.715 4.468-5.234 4.468h-3.294v-1.354h3.294c2.617 0 3.79-.948 3.79-3.068 0-2.076-1.173-2.979-3.79-2.979h-4.378v13.357z"/><path fill="#1798D5" d="m61.877 66.854 11.551-14.71h1.805l-11.506 14.71z"/><path fill="#fff" d="m61.605 52.099 1.85.045 4.241 5.37-.902 1.173zM68.42 60.808l.902-1.128 5.64 7.175h-1.805zM60.522 70.735c0 .586-.406.993-.948.993-.36 0-.496-.18-.496-.18l-.045-.046v.722h-.677v-2.437h.677v.226l.045-.045s.18-.226.587-.226c.496-.045.857.361.857.993m-.722 0c0-.27-.18-.406-.406-.406a.404.404 0 0 0-.406.406c0 .225.18.406.406.406s.406-.18.406-.406m3.068-.045c0 .722-.541.992-1.128.992-.496 0-1.083-.27-1.083-.992s.542-.993 1.129-.993c.541 0 1.082.316 1.082.993m-.676.045c0-.27-.18-.406-.407-.406a.404.404 0 0 0-.406.406c0 .225.18.406.407.406.225 0 .406-.18.406-.406m1.85-.27h-.09c-.181-.046-.271-.046-.271-.136 0-.136.18-.136.316-.136.27 0 .496.09.586.09l.09-.496c-.09 0-.36-.09-.676-.09-.632 0-.993.226-.993.677 0 .316.225.496.722.586.225.046.36.046.36.136 0 .135-.135.135-.27.135-.316 0-.587-.09-.677-.135l-.135.496c.09.045.36.09.722.09.677 0 1.038-.225 1.038-.676 0-.226-.09-.452-.722-.542m1.58-1.13h-.678v2.302h.677V70.33h.361l.316-.542h-.632v-.451zM74.466 69.2v2.482h-.677v-.226l-.045.046s-.18.225-.542.225c-.541 0-.902-.406-.902-.993 0-.586.406-.992.947-.992.361 0 .497.18.497.18l.045.045v-.631zm-.632 1.49a.404.404 0 0 0-.406-.407.404.404 0 0 0-.406.406c0 .271.18.406.406.406.27.046.406-.135.406-.406M70.72 70.69c0 .722-.54.992-1.127.992-.497 0-1.083-.27-1.083-.993 0-.721.541-.992 1.128-.992.541 0 1.083.316 1.083.992m-.676.045c0-.271-.18-.406-.406-.406a.404.404 0 0 0-.406.406c0 .225.18.406.406.406.225 0 .406-.18.406-.406M72.028 70.33c.09 0 .18 0 .226.044v-.586h-.136c-.36 0-.496.225-.496.225l-.045.09v-.315H70.9v1.895h.677v-.903c0-.316.18-.45.451-.45M67.607 69.697c-.406 0-.541.225-.541.225l-.045.09v-.27h-.677v1.895h.677v-.948c0-.27.09-.36.316-.36.27 0 .27.225.27.45v.903h.677V70.51q0-.812-.677-.812"/></g><defs><clipPath id="PEX-truck_svg__a"><path fill="#fff" d="M0 60C0 26.863 26.863 0 60 0s60 26.863 60 60-26.863 60-60 60S0 93.137 0 60"/></clipPath></defs></svg>';const r=n;const d="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}}.pex-pricefinder-top{display:flex;align-items:center}.pex-pricefinder-top pn-illustration{width:5.5rem;height:5.5rem;margin-right:1.6rem}.pex-pricefinder-form{margin:1.6rem 0 0 0;padding:0;border:0}.pex-pricefinder-form fieldset{margin:0;padding:0;border:0}.pex-pricefinder-form fieldset+fieldset{margin-top:1.6rem}.pex-pricefinder-form fieldset>div{display:flex;align-items:center;gap:1em}.pex-pricefinder-form fieldset>div>*{flex-grow:1;width:100%}.pex-pricefinder-form pn-button{align-self:end;margin-left:auto}.pex-pricefinder-form .datepicker{display:inline-flex;flex-direction:column}.pex-pricefinder-form .datepicker label{margin-bottom:0.4rem;color:#5e554a;font-size:0.875em;display:flex;justify-content:space-between;align-items:flex-end;cursor:pointer;transition:color 0.2s}.pex-pricefinder-form .datepicker pn-date-picker{width:100%}.pex-pricefinder-response{margin-top:2.4rem;text-align:center;font-size:2.4em}";const h=d;const c=class{constructor(i){e(this,i);this.language="sv";this.currency="Kr";this.apiUrl="/api/pex/order";this.i18n=l.sv;this.fromzip=null;this.tozip=null;this.weight=1;this.when="";this.response=null}get hostElement(){return i(this)}componentWillLoad(){this.init()}async init(){this.setInitialTime();this.checkParameters();this.setLanguage()}setInitialTime(){const e=new Date;e.setHours(e.getHours()+1);e.setMinutes(0);const i=e.toLocaleString("sv",{timeZoneName:"short"}).split(" ");this.when=`${i[0]}T${i[1].substring(0,5)}`}checkParameters(){const e=new URLSearchParams(window.location.href);if(!e){return}const i=["fromzip","tozip","weight","when"];i.forEach((i=>{if(e.get(i)){this[i]=e.get(i)}}))}setLanguage(){if(l[this.language]){this.i18n=l[this.language]}}onSubmit(e){e.preventDefault();const i=new FormData(e.target);const t=this.compileRequestQuery(i);this.fetchResult(t)}compileRequestQuery(e){let i={from:e.get("fromzip"),to:e.get("tozip"),weight:e.get("weight"),when:e.get("when")};if(!i.when){i.when=this.hostElement.querySelector("input.date-input").value}if(!e.get("fromzip")||!e.get("tozip")||!e.get("weight")){console.error("Form data is not compliant");return}return i}async fetchResult(e){this.response=null;const i=new URLSearchParams(e);const t=await fetch(`${this.apiUrl}?${i.toString()}`,{method:"get",headers:{"Content-Type":"application/json"}}).catch(this.onFetchError.bind(this));let a=await t.json().catch(this.onFetchError.bind(this));if(!a){a=await(await import("./p-4c30e4d5.js")).default}if(a){this.response=a}}onFetchError(e){console.error("onFetchError(error",e)}render(){return t(a,{key:"2c8bd5a159723de16eaed0ba66384165e7372606"},t("div",{key:"b7a392d3431dd431e490c30dc27dfd8c63c2765c",class:"pex-pricefinder-top"},t("pn-illustration",{key:"aaa8d7a175c74148dfd362e02ea8996990aec242",illustration:r}),t("h2",{key:"554b1c1b51bdb3716b169a101b45829862a1b2c2"},this.i18n.heading)),t("form",{key:"bf111300617c799079feb661973c5d3f28c4b8ca",method:"get",action:"",class:"pex-pricefinder-form",onSubmit:this.onSubmit.bind(this)},t("fieldset",{key:"a6196f2d243cd28a6e2060c3b3095f6e0ec20aea"},t("div",{key:"c54a5281124e6e11b37537aed89a14c35e62eb8a"},t("pn-input",{key:"6244e8cfd31566d995524c97a7efc72b93551330",type:"number",label:this.i18n.labelFrom,inputid:"fromzip",name:"fromzip",placeholder:this.i18n.zipPlaceholder,required:true,value:this.fromzip}),t("pn-input",{key:"aa0121fc0fb1d39d4234fbb81eb964f8550ca46e",type:"number",label:this.i18n.labelTo,inputid:"tozip",name:"tozip",placeholder:this.i18n.zipPlaceholder,required:true,value:this.tozip}))),t("fieldset",{key:"b563ba77878a72669e32fa51c6af8e8f2c686937"},t("div",{key:"a968da28258c8d753e1cbd0dd8b0f4e72027219d"},t("pn-input",{key:"adb40ae7b8bd43adbba6bb412aaccdb7fe7b215f",type:"number",label:this.i18n.labelWeight,inputid:"weight",name:"weight",placeholder:this.i18n.weightPlaceholder,required:true,value:this.weight}),t("div",{key:"a5366a5529218da25ac408a93afbcf5957afb1ab",class:"datepicker"},t("label",{key:"d424b95a1e4e83ce492f4892f4dccf4964ef85aa",htmlFor:"when"},this.i18n.labelWhen),t("pn-marketweb-input",{key:"3776e0d4236fa8ea0668408d5499c4ef7dca9313",inputid:"when",name:"when",type:"datetime-local",min:(new Date).toISOString().split("T")[0],value:this.when})))),t("fieldset",{key:"0abfe99084a02884781693b66e34748ecd6d74e8"},t("div",{key:"ed92ea6b6e09486f1a29c67e0aa65415eade22fa"},t("pn-button",{key:"d48193747555f09e50985a80b4bd8429905b234e",type:"submit"},this.i18n.submitButtonText)))),this.response?t("div",{class:"pex-pricefinder-response"},t("strong",null,this.response.data.value," ",this.currency)):null)}};c.style=h;export{c as pn_pex_pricefinder};
2
+ //# sourceMappingURL=p-41cdac85.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["translations","sv","heading","labelFrom","labelTo","zipPlaceholder","labelWeight","weightPlaceholder","labelWhen","submitButtonText","en","illustration","PEX_truck","pnPexPricefinderCss","PnPexPricefinderStyle0","PnPexPricefinder","componentWillLoad","this","init","setInitialTime","checkParameters","setLanguage","initialTime","Date","setHours","getHours","setMinutes","splitTime","toLocaleString","timeZoneName","split","when","substring","params","URLSearchParams","window","location","href","paramKeys","forEach","key","get","language","i18n","onSubmit","e","preventDefault","formData","FormData","target","requestQuery","compileRequestQuery","fetchResult","query","from","to","weight","hostElement","querySelector","value","console","error","response","req","fetch","apiUrl","toString","method","headers","catch","onFetchError","bind","json","import","default","render","h","Host","class","action","type","label","inputid","name","placeholder","required","fromzip","tozip","htmlFor","min","toISOString","data","currency"],"sources":["src/components/widgets/pn-pex-pricefinder/translations.ts","node_modules/pn-design-assets/pn-assets/illustrations/PEX_truck.js","src/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.scss?tag=pn-pex-pricefinder","src/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.tsx"],"sourcesContent":["export const translations = {\n sv: {\n heading: 'Prisindikation med PEX Bud',\n labelFrom: 'Från postkod',\n labelTo: 'Till postkod',\n zipPlaceholder: 'Ex. 12831',\n labelWeight: 'Vikt (i kilo)',\n weightPlaceholder: 'Ex. 1000',\n labelWhen: 'När',\n submitButtonText: 'Beräkna pris',\n },\n en: {\n heading: 'Calculate price with PEX Bud',\n labelFrom: 'From zip',\n labelTo: 'To zip',\n zipPlaceholder: 'Ex. 12831',\n labelWeight: 'Weight (in kilo)',\n weightPlaceholder: 'Ex. 1000',\n labelWhen: 'When',\n submitButtonText: 'Calculate price',\n },\n};\n","const illustration = '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 120 120\"><g clip-path=\"url(#PEX-truck_svg__a)\"><path fill=\"#8EDDF9\" d=\"M0 60C0 26.863 26.863 0 60 0s60 26.863 60 60-26.863 60-60 60S0 93.137 0 60\"/><path fill=\"#0D234B\" fill-rule=\"evenodd\" d=\"M-8 114.461c0-.311.253-.564.564-.564h278.872a.565.565 0 0 1 0 1.128H-7.436a.564.564 0 0 1-.564-.564\" clip-rule=\"evenodd\"/><path fill=\"#000\" d=\"M95.087 114.912c6.804 0 12.319-5.515 12.319-12.319s-5.515-12.32-12.319-12.32c-6.803 0-12.319 5.516-12.319 12.32s5.516 12.319 12.32 12.319\"/><path fill=\"#D3CECB\" d=\"M174.689 105.436H65.757V22h98.463c5.776 0 10.469 4.693 10.469 10.469z\"/><path fill=\"#F3F2F2\" d=\"M133.67 105.436H25.416V32.469C25.416 26.693 30.108 22 35.885 22h97.83v83.436z\"/><path fill=\"#2D2013\" d=\"M65.983 105.436H25.416V32.469C25.416 26.693 30.108 22 35.885 22h94.672z\"/><path fill=\"#000\" d=\"M233.486 106.429H21.264v-4.242a3.235 3.235 0 0 1 3.249-3.249h205.769a3.235 3.235 0 0 1 3.249 3.249v4.242z\"/><path fill=\"#5E554A\" fill-rule=\"evenodd\" d=\"M30.56 88.763h-5.144v-1.128h5.144c1.906 0 3.316 1.715 3.316 3.632 0 1.968-1.415 3.633-3.316 3.633h-5.144v-1.128h5.144c1.167 0 2.188-1.043 2.188-2.505 0-1.422-1.026-2.504-2.188-2.504\" clip-rule=\"evenodd\"/><path fill=\"#00A0D6\" d=\"M63.995 98.848 123.334 22h9.431L73.381 98.938z\"/><path fill=\"#A7A6A6\" d=\"m62.597 22 9.521.045 21.795 28.203-4.783 6.137zM97.706 67.486l4.647-6.092 28.925 37.454-9.295.09z\"/><path fill=\"#000\" d=\"M70.764 105.436H39.493v-3.43c0-8.618 6.994-15.658 15.658-15.658 8.619 0 15.658 6.995 15.658 15.658v3.43z\"/><path fill=\"#000\" d=\"M55.108 114.912c6.804 0 12.32-5.515 12.32-12.319s-5.516-12.32-12.32-12.32c-6.803 0-12.319 5.516-12.319 12.32s5.515 12.319 12.32 12.319\"/><path fill=\"#5E554A\" d=\"M55.017 107.647a5.054 5.054 0 1 0 0-10.108 5.054 5.054 0 0 0 0 10.108\"/><path fill=\"#fff\" d=\"M58.583 58.595h-6.498v1.354h6.498z\"/><path fill=\"#fff\" d=\"M49.466 52.144v14.71h11.19v-1.353H51V53.497h9.386v-1.353zM36.154 66.854v-14.71h5.912c3.52 0 5.234 1.398 5.234 4.286 0 2.979-1.715 4.468-5.234 4.468h-3.294v-1.354h3.294c2.617 0 3.79-.948 3.79-3.068 0-2.076-1.173-2.979-3.79-2.979h-4.378v13.357z\"/><path fill=\"#1798D5\" d=\"m61.877 66.854 11.551-14.71h1.805l-11.506 14.71z\"/><path fill=\"#fff\" d=\"m61.605 52.099 1.85.045 4.241 5.37-.902 1.173zM68.42 60.808l.902-1.128 5.64 7.175h-1.805zM60.522 70.735c0 .586-.406.993-.948.993-.36 0-.496-.18-.496-.18l-.045-.046v.722h-.677v-2.437h.677v.226l.045-.045s.18-.226.587-.226c.496-.045.857.361.857.993m-.722 0c0-.27-.18-.406-.406-.406a.404.404 0 0 0-.406.406c0 .225.18.406.406.406s.406-.18.406-.406m3.068-.045c0 .722-.541.992-1.128.992-.496 0-1.083-.27-1.083-.992s.542-.993 1.129-.993c.541 0 1.082.316 1.082.993m-.676.045c0-.27-.18-.406-.407-.406a.404.404 0 0 0-.406.406c0 .225.18.406.407.406.225 0 .406-.18.406-.406m1.85-.27h-.09c-.181-.046-.271-.046-.271-.136 0-.136.18-.136.316-.136.27 0 .496.09.586.09l.09-.496c-.09 0-.36-.09-.676-.09-.632 0-.993.226-.993.677 0 .316.225.496.722.586.225.046.36.046.36.136 0 .135-.135.135-.27.135-.316 0-.587-.09-.677-.135l-.135.496c.09.045.36.09.722.09.677 0 1.038-.225 1.038-.676 0-.226-.09-.452-.722-.542m1.58-1.13h-.678v2.302h.677V70.33h.361l.316-.542h-.632v-.451zM74.466 69.2v2.482h-.677v-.226l-.045.046s-.18.225-.542.225c-.541 0-.902-.406-.902-.993 0-.586.406-.992.947-.992.361 0 .497.18.497.18l.045.045v-.631zm-.632 1.49a.404.404 0 0 0-.406-.407.404.404 0 0 0-.406.406c0 .271.18.406.406.406.27.046.406-.135.406-.406M70.72 70.69c0 .722-.54.992-1.127.992-.497 0-1.083-.27-1.083-.993 0-.721.541-.992 1.128-.992.541 0 1.083.316 1.083.992m-.676.045c0-.271-.18-.406-.406-.406a.404.404 0 0 0-.406.406c0 .225.18.406.406.406.225 0 .406-.18.406-.406M72.028 70.33c.09 0 .18 0 .226.044v-.586h-.136c-.36 0-.496.225-.496.225l-.045.09v-.315H70.9v1.895h.677v-.903c0-.316.18-.45.451-.45M67.607 69.697c-.406 0-.541.225-.541.225l-.045.09v-.27h-.677v1.895h.677v-.948c0-.27.09-.36.316-.36.27 0 .27.225.27.45v.903h.677V70.51q0-.812-.677-.812\"/></g><defs><clipPath id=\"PEX-truck_svg__a\"><path fill=\"#fff\" d=\"M0 60C0 26.863 26.863 0 60 0s60 26.863 60 60-26.863 60-60 60S0 93.137 0 60\"/></clipPath></defs></svg>';\nexport const PEX_truck = illustration;\nexport const pEXTruck = illustration;\n","@import '../../../globals/main.scss';\n\npn-pex-pricefinder {\n}\n\n.pex-pricefinder-top {\n display: flex;\n align-items: center;\n pn-illustration {\n width: 5.5rem;\n height: 5.5rem;\n margin-right: 1.6rem;\n }\n}\n\n.pex-pricefinder-form {\n margin: 1.6rem 0 0 0;\n padding: 0;\n border: 0;\n fieldset {\n margin: 0;\n padding: 0;\n border: 0;\n & + fieldset {\n margin-top: 1.6rem;\n }\n > div {\n display: flex;\n align-items: center;\n gap: 1em;\n > * {\n flex-grow: 1;\n width: 100%;\n }\n }\n }\n pn-button {\n align-self: end;\n margin-left: auto;\n }\n .datepicker {\n display: inline-flex;\n flex-direction: column;\n label {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n cursor: pointer;\n transition: color 0.2s;\n }\n pn-date-picker {\n width: 100%;\n }\n }\n}\n\n.pex-pricefinder-response {\n margin-top: 2.4rem;\n text-align: center;\n font-size: 2.4em;\n}\n","import { Component, h, Host, Element, Prop, State, Listen } from '@stencil/core';\nimport { translations } from './translations';\nimport { PexPriceFinderi18n, PexPriceFinderResponse } from './types';\nimport { PEX_truck } from 'pn-design-assets/pn-assets/illustrations.js';\n\n@Component({\n tag: 'pn-pex-pricefinder',\n styleUrl: 'pn-pex-pricefinder.scss',\n})\nexport class PnPexPricefinder {\n @Element() hostElement: HTMLElement;\n /** Specifies which language we want to show component in (sv,da,fi,no,en) */\n @Prop() language: string = 'sv';\n /** Currency (Kr, €)*/\n @Prop() currency: string = 'Kr';\n /** API Url */\n @Prop() apiUrl: string = '/api/pex/order';\n\n @State() i18n: PexPriceFinderi18n = translations.sv;\n\n @State() fromzip: number = null;\n @State() tozip: number = null;\n @State() weight: number = 1;\n\n @State() when: string = '';\n\n @State() response: PexPriceFinderResponse = null;\n\n componentWillLoad() {\n this.init();\n }\n\n async init() {\n this.setInitialTime();\n this.checkParameters();\n this.setLanguage();\n }\n\n setInitialTime() {\n const initialTime = new Date();\n initialTime.setHours(initialTime.getHours() + 1);\n initialTime.setMinutes(0);\n const splitTime = initialTime.toLocaleString('sv', { timeZoneName: 'short' }).split(' ');\n this.when = `${splitTime[0]}T${splitTime[1].substring(0, 5)}`;\n }\n\n checkParameters() {\n const params = new URLSearchParams(window.location.href);\n if (!params) {\n return;\n }\n const paramKeys = ['fromzip', 'tozip', 'weight', 'when'];\n paramKeys.forEach(key => {\n if (params.get(key)) {\n this[key] = params.get(key);\n }\n });\n }\n\n @Listen('language')\n setLanguage() {\n if (translations[this.language]) {\n this.i18n = translations[this.language] as PexPriceFinderi18n;\n }\n }\n\n onSubmit(e) {\n e.preventDefault();\n const formData = new FormData(e.target);\n const requestQuery = this.compileRequestQuery(formData);\n this.fetchResult(requestQuery);\n }\n\n compileRequestQuery(formData: FormData) {\n let query = {\n from: formData.get('fromzip'),\n to: formData.get('tozip'),\n weight: formData.get('weight'),\n when: formData.get('when'),\n };\n if (!query.when) {\n query.when = (this.hostElement.querySelector('input.date-input') as HTMLInputElement).value;\n }\n if (!formData.get('fromzip') || !formData.get('tozip') || !formData.get('weight')) {\n console.error('Form data is not compliant');\n return;\n }\n return query;\n }\n\n async fetchResult(query: any) {\n this.response = null;\n const params = new URLSearchParams(query);\n const req = await fetch(`${this.apiUrl}?${params.toString()}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n },\n }).catch(this.onFetchError.bind(this));\n let response = await req.json().catch(this.onFetchError.bind(this));\n if (!response) {\n response = await (await import('./mockresponse.json')).default;\n }\n if (response) {\n this.response = response as PexPriceFinderResponse;\n }\n }\n\n onFetchError(error) {\n console.error('onFetchError(error', error);\n }\n\n render() {\n return (\n <Host>\n <div class=\"pex-pricefinder-top\">\n <pn-illustration illustration={PEX_truck} />\n <h2>{this.i18n.heading}</h2>\n </div>\n <form method=\"get\" action=\"\" class=\"pex-pricefinder-form\" onSubmit={this.onSubmit.bind(this)}>\n <fieldset>\n <div>\n <pn-input type=\"number\" label={this.i18n.labelFrom} inputid=\"fromzip\" name=\"fromzip\" placeholder={this.i18n.zipPlaceholder} required value={this.fromzip}></pn-input>\n <pn-input type=\"number\" label={this.i18n.labelTo} inputid=\"tozip\" name=\"tozip\" placeholder={this.i18n.zipPlaceholder} required value={this.tozip}></pn-input>\n </div>\n </fieldset>\n <fieldset>\n <div>\n <pn-input\n type=\"number\"\n label={this.i18n.labelWeight}\n inputid=\"weight\"\n name=\"weight\"\n placeholder={this.i18n.weightPlaceholder}\n required\n value={this.weight}\n ></pn-input>\n <div class=\"datepicker\">\n <label htmlFor=\"when\">{this.i18n.labelWhen}</label>\n <pn-marketweb-input inputid=\"when\" name=\"when\" type=\"datetime-local\" min={new Date().toISOString().split('T')[0]} value={this.when}></pn-marketweb-input>\n </div>\n </div>\n </fieldset>\n <fieldset>\n <div>\n <pn-button type=\"submit\">{this.i18n.submitButtonText}</pn-button>\n </div>\n </fieldset>\n </form>\n {this.response ? (\n <div class=\"pex-pricefinder-response\">\n <strong>\n {this.response.data.value} {this.currency}\n </strong>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["translations","sv","heading","labelFrom","labelTo","zipPlaceholder","labelWeight","weightPlaceholder","labelWhen","submitButtonText","en","illustration","PEX_truck","pnPexPricefinderCss","PnPexPricefinderStyle0","PnPexPricefinder","componentWillLoad","this","init","setInitialTime","checkParameters","setLanguage","initialTime","Date","setHours","getHours","setMinutes","splitTime","toLocaleString","timeZoneName","split","when","substring","params","URLSearchParams","window","location","href","paramKeys","forEach","key","get","language","i18n","onSubmit","e","preventDefault","formData","FormData","target","requestQuery","compileRequestQuery","fetchResult","query","from","to","weight","hostElement","querySelector","value","console","error","response","req","fetch","apiUrl","toString","method","headers","catch","onFetchError","bind","json","import","default","render","h","Host","class","action","type","label","inputid","name","placeholder","required","fromzip","tozip","htmlFor","min","toISOString","data","currency"],"sources":["src/components/widgets/pn-pex-pricefinder/translations.ts","node_modules/pn-design-assets/pn-assets/illustrations/PEX_truck.js","src/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.scss?tag=pn-pex-pricefinder","src/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.tsx"],"sourcesContent":["export const translations = {\n sv: {\n heading: 'Prisindikation med PEX Bud',\n labelFrom: 'Från postkod',\n labelTo: 'Till postkod',\n zipPlaceholder: 'Ex. 12831',\n labelWeight: 'Vikt (i kilo)',\n weightPlaceholder: 'Ex. 1000',\n labelWhen: 'När',\n submitButtonText: 'Beräkna pris',\n },\n en: {\n heading: 'Calculate price with PEX Bud',\n labelFrom: 'From zip',\n labelTo: 'To zip',\n zipPlaceholder: 'Ex. 12831',\n labelWeight: 'Weight (in kilo)',\n weightPlaceholder: 'Ex. 1000',\n labelWhen: 'When',\n submitButtonText: 'Calculate price',\n },\n};\n","const illustration = '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 120 120\"><g clip-path=\"url(#PEX-truck_svg__a)\"><path fill=\"#8EDDF9\" d=\"M0 60C0 26.863 26.863 0 60 0s60 26.863 60 60-26.863 60-60 60S0 93.137 0 60\"/><path fill=\"#0D234B\" fill-rule=\"evenodd\" d=\"M-8 114.461c0-.311.253-.564.564-.564h278.872a.565.565 0 0 1 0 1.128H-7.436a.564.564 0 0 1-.564-.564\" clip-rule=\"evenodd\"/><path fill=\"#000\" d=\"M95.087 114.912c6.804 0 12.319-5.515 12.319-12.319s-5.515-12.32-12.319-12.32c-6.803 0-12.319 5.516-12.319 12.32s5.516 12.319 12.32 12.319\"/><path fill=\"#D3CECB\" d=\"M174.689 105.436H65.757V22h98.463c5.776 0 10.469 4.693 10.469 10.469z\"/><path fill=\"#F3F2F2\" d=\"M133.67 105.436H25.416V32.469C25.416 26.693 30.108 22 35.885 22h97.83v83.436z\"/><path fill=\"#2D2013\" d=\"M65.983 105.436H25.416V32.469C25.416 26.693 30.108 22 35.885 22h94.672z\"/><path fill=\"#000\" d=\"M233.486 106.429H21.264v-4.242a3.235 3.235 0 0 1 3.249-3.249h205.769a3.235 3.235 0 0 1 3.249 3.249v4.242z\"/><path fill=\"#5E554A\" fill-rule=\"evenodd\" d=\"M30.56 88.763h-5.144v-1.128h5.144c1.906 0 3.316 1.715 3.316 3.632 0 1.968-1.415 3.633-3.316 3.633h-5.144v-1.128h5.144c1.167 0 2.188-1.043 2.188-2.505 0-1.422-1.026-2.504-2.188-2.504\" clip-rule=\"evenodd\"/><path fill=\"#00A0D6\" d=\"M63.995 98.848 123.334 22h9.431L73.381 98.938z\"/><path fill=\"#A7A6A6\" d=\"m62.597 22 9.521.045 21.795 28.203-4.783 6.137zM97.706 67.486l4.647-6.092 28.925 37.454-9.295.09z\"/><path fill=\"#000\" d=\"M70.764 105.436H39.493v-3.43c0-8.618 6.994-15.658 15.658-15.658 8.619 0 15.658 6.995 15.658 15.658v3.43z\"/><path fill=\"#000\" d=\"M55.108 114.912c6.804 0 12.32-5.515 12.32-12.319s-5.516-12.32-12.32-12.32c-6.803 0-12.319 5.516-12.319 12.32s5.515 12.319 12.32 12.319\"/><path fill=\"#5E554A\" d=\"M55.017 107.647a5.054 5.054 0 1 0 0-10.108 5.054 5.054 0 0 0 0 10.108\"/><path fill=\"#fff\" d=\"M58.583 58.595h-6.498v1.354h6.498z\"/><path fill=\"#fff\" d=\"M49.466 52.144v14.71h11.19v-1.353H51V53.497h9.386v-1.353zM36.154 66.854v-14.71h5.912c3.52 0 5.234 1.398 5.234 4.286 0 2.979-1.715 4.468-5.234 4.468h-3.294v-1.354h3.294c2.617 0 3.79-.948 3.79-3.068 0-2.076-1.173-2.979-3.79-2.979h-4.378v13.357z\"/><path fill=\"#1798D5\" d=\"m61.877 66.854 11.551-14.71h1.805l-11.506 14.71z\"/><path fill=\"#fff\" d=\"m61.605 52.099 1.85.045 4.241 5.37-.902 1.173zM68.42 60.808l.902-1.128 5.64 7.175h-1.805zM60.522 70.735c0 .586-.406.993-.948.993-.36 0-.496-.18-.496-.18l-.045-.046v.722h-.677v-2.437h.677v.226l.045-.045s.18-.226.587-.226c.496-.045.857.361.857.993m-.722 0c0-.27-.18-.406-.406-.406a.404.404 0 0 0-.406.406c0 .225.18.406.406.406s.406-.18.406-.406m3.068-.045c0 .722-.541.992-1.128.992-.496 0-1.083-.27-1.083-.992s.542-.993 1.129-.993c.541 0 1.082.316 1.082.993m-.676.045c0-.27-.18-.406-.407-.406a.404.404 0 0 0-.406.406c0 .225.18.406.407.406.225 0 .406-.18.406-.406m1.85-.27h-.09c-.181-.046-.271-.046-.271-.136 0-.136.18-.136.316-.136.27 0 .496.09.586.09l.09-.496c-.09 0-.36-.09-.676-.09-.632 0-.993.226-.993.677 0 .316.225.496.722.586.225.046.36.046.36.136 0 .135-.135.135-.27.135-.316 0-.587-.09-.677-.135l-.135.496c.09.045.36.09.722.09.677 0 1.038-.225 1.038-.676 0-.226-.09-.452-.722-.542m1.58-1.13h-.678v2.302h.677V70.33h.361l.316-.542h-.632v-.451zM74.466 69.2v2.482h-.677v-.226l-.045.046s-.18.225-.542.225c-.541 0-.902-.406-.902-.993 0-.586.406-.992.947-.992.361 0 .497.18.497.18l.045.045v-.631zm-.632 1.49a.404.404 0 0 0-.406-.407.404.404 0 0 0-.406.406c0 .271.18.406.406.406.27.046.406-.135.406-.406M70.72 70.69c0 .722-.54.992-1.127.992-.497 0-1.083-.27-1.083-.993 0-.721.541-.992 1.128-.992.541 0 1.083.316 1.083.992m-.676.045c0-.271-.18-.406-.406-.406a.404.404 0 0 0-.406.406c0 .225.18.406.406.406.225 0 .406-.18.406-.406M72.028 70.33c.09 0 .18 0 .226.044v-.586h-.136c-.36 0-.496.225-.496.225l-.045.09v-.315H70.9v1.895h.677v-.903c0-.316.18-.45.451-.45M67.607 69.697c-.406 0-.541.225-.541.225l-.045.09v-.27h-.677v1.895h.677v-.948c0-.27.09-.36.316-.36.27 0 .27.225.27.45v.903h.677V70.51q0-.812-.677-.812\"/></g><defs><clipPath id=\"PEX-truck_svg__a\"><path fill=\"#fff\" d=\"M0 60C0 26.863 26.863 0 60 0s60 26.863 60 60-26.863 60-60 60S0 93.137 0 60\"/></clipPath></defs></svg>';\nexport const PEX_truck = illustration;\nexport const pEXTruck = illustration;\n","@import '../../../globals/main.scss';\n\npn-pex-pricefinder {\n}\n\n.pex-pricefinder-top {\n display: flex;\n align-items: center;\n pn-illustration {\n width: 5.5rem;\n height: 5.5rem;\n margin-right: 1.6rem;\n }\n}\n\n.pex-pricefinder-form {\n margin: 1.6rem 0 0 0;\n padding: 0;\n border: 0;\n fieldset {\n margin: 0;\n padding: 0;\n border: 0;\n & + fieldset {\n margin-top: 1.6rem;\n }\n > div {\n display: flex;\n align-items: center;\n gap: 1em;\n > * {\n flex-grow: 1;\n width: 100%;\n }\n }\n }\n pn-button {\n align-self: end;\n margin-left: auto;\n }\n .datepicker {\n display: inline-flex;\n flex-direction: column;\n label {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n cursor: pointer;\n transition: color 0.2s;\n }\n pn-date-picker {\n width: 100%;\n }\n }\n}\n\n.pex-pricefinder-response {\n margin-top: 2.4rem;\n text-align: center;\n font-size: 2.4em;\n}\n","import { Component, h, Host, Element, Prop, State, Listen } from '@stencil/core';\nimport { translations } from './translations';\nimport { PexPriceFinderi18n, PexPriceFinderResponse } from './types';\nimport { PEX_truck } from 'pn-design-assets/pn-assets/illustrations.js';\n\n@Component({\n tag: 'pn-pex-pricefinder',\n styleUrl: 'pn-pex-pricefinder.scss',\n})\nexport class PnPexPricefinder {\n @Element() hostElement: HTMLElement;\n /** Specifies which language we want to show component in (sv,da,fi,no,en) */\n @Prop() language: string = 'sv';\n /** Currency (Kr, €)*/\n @Prop() currency: string = 'Kr';\n /** API Url */\n @Prop() apiUrl: string = '/api/pex/order';\n\n @State() i18n: PexPriceFinderi18n = translations.sv;\n\n @State() fromzip: number = null;\n @State() tozip: number = null;\n @State() weight: number = 1;\n\n @State() when: string = '';\n\n @State() response: PexPriceFinderResponse = null;\n\n componentWillLoad() {\n this.init();\n }\n\n async init() {\n this.setInitialTime();\n this.checkParameters();\n this.setLanguage();\n }\n\n setInitialTime() {\n const initialTime = new Date();\n initialTime.setHours(initialTime.getHours() + 1);\n initialTime.setMinutes(0);\n const splitTime = initialTime.toLocaleString('sv', { timeZoneName: 'short' }).split(' ');\n this.when = `${splitTime[0]}T${splitTime[1].substring(0, 5)}`;\n }\n\n checkParameters() {\n const params = new URLSearchParams(window.location.href);\n if (!params) {\n return;\n }\n const paramKeys = ['fromzip', 'tozip', 'weight', 'when'];\n paramKeys.forEach(key => {\n if (params.get(key)) {\n this[key] = params.get(key);\n }\n });\n }\n\n @Listen('language')\n setLanguage() {\n if (translations[this.language]) {\n this.i18n = translations[this.language] as PexPriceFinderi18n;\n }\n }\n\n onSubmit(e) {\n e.preventDefault();\n const formData = new FormData(e.target);\n const requestQuery = this.compileRequestQuery(formData);\n this.fetchResult(requestQuery);\n }\n\n compileRequestQuery(formData: FormData) {\n let query = {\n from: formData.get('fromzip'),\n to: formData.get('tozip'),\n weight: formData.get('weight'),\n when: formData.get('when'),\n };\n if (!query.when) {\n query.when = (this.hostElement.querySelector('input.date-input') as HTMLInputElement).value;\n }\n if (!formData.get('fromzip') || !formData.get('tozip') || !formData.get('weight')) {\n console.error('Form data is not compliant');\n return;\n }\n return query;\n }\n\n async fetchResult(query: any) {\n this.response = null;\n const params = new URLSearchParams(query);\n const req = await fetch(`${this.apiUrl}?${params.toString()}`, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n },\n }).catch(this.onFetchError.bind(this));\n let response = await req.json().catch(this.onFetchError.bind(this));\n if (!response) {\n response = await (await import('./mockresponse.json')).default;\n }\n if (response) {\n this.response = response as PexPriceFinderResponse;\n }\n }\n\n onFetchError(error) {\n console.error('onFetchError(error', error);\n }\n\n render() {\n return (\n <Host>\n <div class=\"pex-pricefinder-top\">\n <pn-illustration illustration={PEX_truck} />\n <h2>{this.i18n.heading}</h2>\n </div>\n <form method=\"get\" action=\"\" class=\"pex-pricefinder-form\" onSubmit={this.onSubmit.bind(this)}>\n <fieldset>\n <div>\n <pn-input type=\"number\" label={this.i18n.labelFrom} inputid=\"fromzip\" name=\"fromzip\" placeholder={this.i18n.zipPlaceholder} required value={this.fromzip}></pn-input>\n <pn-input type=\"number\" label={this.i18n.labelTo} inputid=\"tozip\" name=\"tozip\" placeholder={this.i18n.zipPlaceholder} required value={this.tozip}></pn-input>\n </div>\n </fieldset>\n <fieldset>\n <div>\n <pn-input\n type=\"number\"\n label={this.i18n.labelWeight}\n inputid=\"weight\"\n name=\"weight\"\n placeholder={this.i18n.weightPlaceholder}\n required\n value={this.weight}\n ></pn-input>\n <div class=\"datepicker\">\n <label htmlFor=\"when\">{this.i18n.labelWhen}</label>\n <pn-marketweb-input inputid=\"when\" name=\"when\" type=\"datetime-local\" min={new Date().toISOString().split('T')[0]} value={this.when}></pn-marketweb-input>\n </div>\n </div>\n </fieldset>\n <fieldset>\n <div>\n <pn-button type=\"submit\">{this.i18n.submitButtonText}</pn-button>\n </div>\n </fieldset>\n </form>\n {this.response ? (\n <div class=\"pex-pricefinder-response\">\n <strong>\n {this.response.data.value} {this.currency}\n </strong>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"mappings":"yDAAO,MAAMA,EAAe,CAC1BC,GAAI,CACFC,QAAS,6BACTC,UAAW,eACXC,QAAS,eACTC,eAAgB,YAChBC,YAAa,gBACbC,kBAAmB,WACnBC,UAAW,MACXC,iBAAkB,gBAEpBC,GAAI,CACFR,QAAS,+BACTC,UAAW,WACXC,QAAS,SACTC,eAAgB,YAChBC,YAAa,mBACbC,kBAAmB,WACnBC,UAAW,OACXC,iBAAkB,oBCnBtB,MAAME,EAAe,0/HACd,MAAMC,EAAYD,ECDzB,MAAME,EAAsB,qzCAC5B,MAAAC,EAAeD,E,MCQFE,EAAgB,M,uCAGA,K,cAEA,K,YAEF,iB,UAEWf,EAAaC,G,aAEtB,K,WACF,K,YACC,E,UAEF,G,cAEoB,I,kCAE5C,iBAAAe,GACEC,KAAKC,M,CAGP,UAAMA,GACJD,KAAKE,iBACLF,KAAKG,kBACLH,KAAKI,a,CAGP,cAAAF,GACE,MAAMG,EAAc,IAAIC,KACxBD,EAAYE,SAASF,EAAYG,WAAa,GAC9CH,EAAYI,WAAW,GACvB,MAAMC,EAAYL,EAAYM,eAAe,KAAM,CAAEC,aAAc,UAAWC,MAAM,KACpFb,KAAKc,KAAO,GAAGJ,EAAU,MAAMA,EAAU,GAAGK,UAAU,EAAG,I,CAG3D,eAAAZ,GACE,MAAMa,EAAS,IAAIC,gBAAgBC,OAAOC,SAASC,MACnD,IAAKJ,EAAQ,CACX,M,CAEF,MAAMK,EAAY,CAAC,UAAW,QAAS,SAAU,QACjDA,EAAUC,SAAQC,IAChB,GAAIP,EAAOQ,IAAID,GAAM,CACnBvB,KAAKuB,GAAOP,EAAOQ,IAAID,E,KAM7B,WAAAnB,GACE,GAAIrB,EAAaiB,KAAKyB,UAAW,CAC/BzB,KAAK0B,KAAO3C,EAAaiB,KAAKyB,S,EAIlC,QAAAE,CAASC,GACPA,EAAEC,iBACF,MAAMC,EAAW,IAAIC,SAASH,EAAEI,QAChC,MAAMC,EAAejC,KAAKkC,oBAAoBJ,GAC9C9B,KAAKmC,YAAYF,E,CAGnB,mBAAAC,CAAoBJ,GAClB,IAAIM,EAAQ,CACVC,KAAMP,EAASN,IAAI,WACnBc,GAAIR,EAASN,IAAI,SACjBe,OAAQT,EAASN,IAAI,UACrBV,KAAMgB,EAASN,IAAI,SAErB,IAAKY,EAAMtB,KAAM,CACfsB,EAAMtB,KAAQd,KAAKwC,YAAYC,cAAc,oBAAyCC,K,CAExF,IAAKZ,EAASN,IAAI,aAAeM,EAASN,IAAI,WAAaM,EAASN,IAAI,UAAW,CACjFmB,QAAQC,MAAM,8BACd,M,CAEF,OAAOR,C,CAGT,iBAAMD,CAAYC,GAChBpC,KAAK6C,SAAW,KAChB,MAAM7B,EAAS,IAAIC,gBAAgBmB,GACnC,MAAMU,QAAYC,MAAM,GAAG/C,KAAKgD,UAAUhC,EAAOiC,aAAc,CAC7DC,OAAQ,MACRC,QAAS,CACP,eAAgB,sBAEjBC,MAAMpD,KAAKqD,aAAaC,KAAKtD,OAChC,IAAI6C,QAAiBC,EAAIS,OAAOH,MAAMpD,KAAKqD,aAAaC,KAAKtD,OAC7D,IAAK6C,EAAU,CACbA,cAAwBW,OAAO,oBAAwBC,O,CAEzD,GAAIZ,EAAU,CACZ7C,KAAK6C,SAAWA,C,EAIpB,YAAAQ,CAAaT,GACXD,QAAQC,MAAM,qBAAsBA,E,CAGtC,MAAAc,GACE,OACEC,EAACC,EAAI,CAAArC,IAAA,4CACHoC,EAAA,OAAApC,IAAA,2CAAKsC,MAAM,uBACTF,EAAA,mBAAApC,IAAA,2CAAiB7B,aAAcC,IAC/BgE,EAAA,MAAApC,IAAA,4CAAKvB,KAAK0B,KAAKzC,UAEjB0E,EAAA,QAAApC,IAAA,2CAAM2B,OAAO,MAAMY,OAAO,GAAGD,MAAM,uBAAuBlC,SAAU3B,KAAK2B,SAAS2B,KAAKtD,OACrF2D,EAAA,YAAApC,IAAA,4CACEoC,EAAA,OAAApC,IAAA,4CACEoC,EAAA,YAAApC,IAAA,2CAAUwC,KAAK,SAASC,MAAOhE,KAAK0B,KAAKxC,UAAW+E,QAAQ,UAAUC,KAAK,UAAUC,YAAanE,KAAK0B,KAAKtC,eAAgBgF,SAAQ,KAAC1B,MAAO1C,KAAKqE,UACjJV,EAAA,YAAApC,IAAA,2CAAUwC,KAAK,SAASC,MAAOhE,KAAK0B,KAAKvC,QAAS8E,QAAQ,QAAQC,KAAK,QAAQC,YAAanE,KAAK0B,KAAKtC,eAAgBgF,SAAQ,KAAC1B,MAAO1C,KAAKsE,UAG/IX,EAAA,YAAApC,IAAA,4CACEoC,EAAA,OAAApC,IAAA,4CACEoC,EAAA,YAAApC,IAAA,2CACEwC,KAAK,SACLC,MAAOhE,KAAK0B,KAAKrC,YACjB4E,QAAQ,SACRC,KAAK,SACLC,YAAanE,KAAK0B,KAAKpC,kBACvB8E,SAAQ,KACR1B,MAAO1C,KAAKuC,SAEdoB,EAAA,OAAApC,IAAA,2CAAKsC,MAAM,cACTF,EAAA,SAAApC,IAAA,2CAAOgD,QAAQ,QAAQvE,KAAK0B,KAAKnC,WACjCoE,EAAA,sBAAApC,IAAA,2CAAoB0C,QAAQ,OAAOC,KAAK,OAAOH,KAAK,iBAAiBS,KAAK,IAAIlE,MAAOmE,cAAc5D,MAAM,KAAK,GAAI6B,MAAO1C,KAAKc,UAIpI6C,EAAA,YAAApC,IAAA,4CACEoC,EAAA,OAAApC,IAAA,4CACEoC,EAAA,aAAApC,IAAA,2CAAWwC,KAAK,UAAU/D,KAAK0B,KAAKlC,qBAIzCQ,KAAK6C,SACJc,EAAA,OAAKE,MAAM,4BACTF,EAAA,cACG3D,KAAK6C,SAAS6B,KAAKhC,MAAK,IAAG1C,KAAK2E,WAGnC,K","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,g as t,h as i,d as s}from"./p-82546a44.js";import{s as n,o as a}from"./p-72828265.js";import"./p-8836de82.js";const d='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-sidenav-level{display:block;flex-basis:100%}pn-sidenav-level[data-level="2"]{padding-left:2.5em;overflow:hidden;transition:max-height ease 0.2s;max-height:40em}pn-sidenav-level[data-level="2"][aria-hidden=true]{max-height:0}';const h=d;const o=class{constructor(t){e(this,t);this.level=1;this.levelId="";this.isOpen=false;this.parentName="";this.parentHref="";this.parentLinkId="";this.alignment="right"}get hostElement(){return t(this)}async componentWillLoad(){const e=this.hostElement.parentElement;if(e.tagName.toLowerCase()!=="nav"){this.level=2}if(e.tagName.toLowerCase()==="pn-sidenav-link"){this.parentName=e.getAttribute("name")+"";this.parentHref=e.getAttribute("href")+"";this.parentLinkId=e.getAttribute("linkid")+"";const t=this.parentName.toLowerCase().replace(/\W/gi,"_");this.levelId=`sidenav-lvl${this.level}-${t}`;if(e.getAttribute("current")+""==="true"){n.openLevel=this.levelId;this.onChangeOpenLevel()}}a("openLevel",(()=>{this.onChangeOpenLevel()}))}onOpen(){}onChangeOpenLevel(){this.isOpen=n.openLevel===this.levelId}render(){const e={"aria-hidden":this.level>1?!this.isOpen+"":null,"data-level":this.level+"",id:this.levelId??""};return i(s,{key:"6610edd66828a070c1027c4fd2d18b0ca70da14d",...e,"data-asdfasdf":this.isOpen},i("slot",{key:"e5753cd6edf435fbc81e05864a7e225ca671c7ff"}))}static get watchers(){return{isOpen:["onOpen"]}}};o.style=h;export{o as pn_sidenav_level};
2
+ //# sourceMappingURL=p-4aedb76c.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["pnSidenavLevelCss","PnSidenavLevelStyle0","PnSidenavLevel","componentWillLoad","parent","this","hostElement","parentElement","tagName","toLowerCase","level","parentName","getAttribute","parentHref","parentLinkId","parentLinkName","replace","levelId","state","openLevel","onChangeOpenLevel","onChange","onOpen","isOpen","render","attributes","id","h","Host","key"],"sources":["src/components/navigation/pn-sidenav/pn-sidenav-level.scss?tag=pn-sidenav-level","src/components/navigation/pn-sidenav/pn-sidenav-level.tsx"],"sourcesContent":["@import './pn-sidenav-common.scss';\n@import '../../../globals/main.scss';\n\npn-sidenav-level {\n display: block;\n flex-basis: 100%;\n &[data-level='2'] {\n padding-left: 2.5em;\n overflow: hidden;\n transition: max-height ease 0.2s;\n max-height: 40em;\n &[aria-hidden='true'] {\n max-height: 0;\n }\n }\n}\n","import { Component, State, h, Host, Element, Watch } from '@stencil/core';\nimport { state, onChange } from './pn-sidenav-store';\n\n@Component({\n tag: 'pn-sidenav-level',\n styleUrl: 'pn-sidenav-level.scss',\n shadow: false,\n})\nexport class PnSidenavLevel {\n @Element() hostElement: HTMLElement;\n @State() level: number = 1;\n @State() levelId: string = '';\n @State() isOpen: boolean = false;\n @State() parentName: string = '';\n @State() parentHref: string = '';\n @State() parentLinkId: string = '';\n @State() alignment: string = 'right';\n\n async componentWillLoad() {\n const parent = this.hostElement.parentElement;\n if (parent.tagName.toLowerCase() !== 'nav') {\n this.level = 2;\n }\n if (parent.tagName.toLowerCase() === 'pn-sidenav-link') {\n this.parentName = parent.getAttribute('name') + '';\n this.parentHref = parent.getAttribute('href') + '';\n this.parentLinkId = parent.getAttribute('linkid') + '';\n const parentLinkName = this.parentName.toLowerCase().replace(/\\W/gi, '_');\n this.levelId = `sidenav-lvl${this.level}-${parentLinkName}`;\n\n if (parent.getAttribute('current') + '' === 'true') {\n state.openLevel = this.levelId;\n this.onChangeOpenLevel();\n }\n }\n onChange('openLevel', () => {\n this.onChangeOpenLevel();\n });\n }\n\n @Watch('isOpen')\n onOpen() {}\n onChangeOpenLevel() {\n this.isOpen = state.openLevel === this.levelId;\n }\n\n render() {\n const attributes = {\n 'aria-hidden': this.level > 1 ? !this.isOpen + '' : null,\n 'data-level': this.level + '',\n 'id': this.levelId ?? '',\n };\n return (\n <Host {...attributes} data-asdfasdf={this.isOpen}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAoB,qTAC1B,MAAAC,EAAeD,E,MCOFE,EAAc,M,oCAEA,E,aACE,G,YACA,M,gBACG,G,gBACA,G,kBACE,G,eACH,O,kCAE7B,uBAAMC,GACJ,MAAMC,EAASC,KAAKC,YAAYC,cAChC,GAAIH,EAAOI,QAAQC,gBAAkB,MAAO,CAC1CJ,KAAKK,MAAQ,C,CAEf,GAAIN,EAAOI,QAAQC,gBAAkB,kBAAmB,CACtDJ,KAAKM,WAAaP,EAAOQ,aAAa,QAAU,GAChDP,KAAKQ,WAAaT,EAAOQ,aAAa,QAAU,GAChDP,KAAKS,aAAeV,EAAOQ,aAAa,UAAY,GACpD,MAAMG,EAAiBV,KAAKM,WAAWF,cAAcO,QAAQ,OAAQ,KACrEX,KAAKY,QAAU,cAAcZ,KAAKK,SAASK,IAE3C,GAAIX,EAAOQ,aAAa,WAAa,KAAO,OAAQ,CAClDM,EAAMC,UAAYd,KAAKY,QACvBZ,KAAKe,mB,EAGTC,EAAS,aAAa,KACpBhB,KAAKe,mBAAmB,G,CAK5B,MAAAE,GAAM,CACN,iBAAAF,GACEf,KAAKkB,OAASL,EAAMC,YAAcd,KAAKY,O,CAGzC,MAAAO,GACE,MAAMC,EAAa,CACjB,cAAepB,KAAKK,MAAQ,GAAKL,KAAKkB,OAAS,GAAK,KACpD,aAAclB,KAAKK,MAAQ,GAC3BgB,GAAMrB,KAAKY,SAAW,IAExB,OACEU,EAACC,EAAI,CAAAC,IAAA,8CAAKJ,EAAU,gBAAiBpB,KAAKkB,QACxCI,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
1
+ {"version":3,"names":["pnSidenavLevelCss","PnSidenavLevelStyle0","PnSidenavLevel","componentWillLoad","parent","this","hostElement","parentElement","tagName","toLowerCase","level","parentName","getAttribute","parentHref","parentLinkId","parentLinkName","replace","levelId","state","openLevel","onChangeOpenLevel","onChange","onOpen","isOpen","render","attributes","id","h","Host","key"],"sources":["src/components/navigation/pn-sidenav/pn-sidenav-level.scss?tag=pn-sidenav-level","src/components/navigation/pn-sidenav/pn-sidenav-level.tsx"],"sourcesContent":["@import './pn-sidenav-common.scss';\n@import '../../../globals/main.scss';\n\npn-sidenav-level {\n display: block;\n flex-basis: 100%;\n &[data-level='2'] {\n padding-left: 2.5em;\n overflow: hidden;\n transition: max-height ease 0.2s;\n max-height: 40em;\n &[aria-hidden='true'] {\n max-height: 0;\n }\n }\n}\n","import { Component, State, h, Host, Element, Watch } from '@stencil/core';\nimport { state, onChange } from './pn-sidenav-store';\n\n@Component({\n tag: 'pn-sidenav-level',\n styleUrl: 'pn-sidenav-level.scss',\n shadow: false,\n})\nexport class PnSidenavLevel {\n @Element() hostElement: HTMLElement;\n @State() level: number = 1;\n @State() levelId: string = '';\n @State() isOpen: boolean = false;\n @State() parentName: string = '';\n @State() parentHref: string = '';\n @State() parentLinkId: string = '';\n @State() alignment: string = 'right';\n\n async componentWillLoad() {\n const parent = this.hostElement.parentElement;\n if (parent.tagName.toLowerCase() !== 'nav') {\n this.level = 2;\n }\n if (parent.tagName.toLowerCase() === 'pn-sidenav-link') {\n this.parentName = parent.getAttribute('name') + '';\n this.parentHref = parent.getAttribute('href') + '';\n this.parentLinkId = parent.getAttribute('linkid') + '';\n const parentLinkName = this.parentName.toLowerCase().replace(/\\W/gi, '_');\n this.levelId = `sidenav-lvl${this.level}-${parentLinkName}`;\n\n if (parent.getAttribute('current') + '' === 'true') {\n state.openLevel = this.levelId;\n this.onChangeOpenLevel();\n }\n }\n onChange('openLevel', () => {\n this.onChangeOpenLevel();\n });\n }\n\n @Watch('isOpen')\n onOpen() {}\n onChangeOpenLevel() {\n this.isOpen = state.openLevel === this.levelId;\n }\n\n render() {\n const attributes = {\n 'aria-hidden': this.level > 1 ? !this.isOpen + '' : null,\n 'data-level': this.level + '',\n 'id': this.levelId ?? '',\n };\n return (\n <Host {...attributes} data-asdfasdf={this.isOpen}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAoB,8nBAC1B,MAAAC,EAAeD,E,MCOFE,EAAc,M,oCAEA,E,aACE,G,YACA,M,gBACG,G,gBACA,G,kBACE,G,eACH,O,kCAE7B,uBAAMC,GACJ,MAAMC,EAASC,KAAKC,YAAYC,cAChC,GAAIH,EAAOI,QAAQC,gBAAkB,MAAO,CAC1CJ,KAAKK,MAAQ,C,CAEf,GAAIN,EAAOI,QAAQC,gBAAkB,kBAAmB,CACtDJ,KAAKM,WAAaP,EAAOQ,aAAa,QAAU,GAChDP,KAAKQ,WAAaT,EAAOQ,aAAa,QAAU,GAChDP,KAAKS,aAAeV,EAAOQ,aAAa,UAAY,GACpD,MAAMG,EAAiBV,KAAKM,WAAWF,cAAcO,QAAQ,OAAQ,KACrEX,KAAKY,QAAU,cAAcZ,KAAKK,SAASK,IAE3C,GAAIX,EAAOQ,aAAa,WAAa,KAAO,OAAQ,CAClDM,EAAMC,UAAYd,KAAKY,QACvBZ,KAAKe,mB,EAGTC,EAAS,aAAa,KACpBhB,KAAKe,mBAAmB,G,CAK5B,MAAAE,GAAM,CACN,iBAAAF,GACEf,KAAKkB,OAASL,EAAMC,YAAcd,KAAKY,O,CAGzC,MAAAO,GACE,MAAMC,EAAa,CACjB,cAAepB,KAAKK,MAAQ,GAAKL,KAAKkB,OAAS,GAAK,KACpD,aAAclB,KAAKK,MAAQ,GAC3BgB,GAAMrB,KAAKY,SAAW,IAExB,OACEU,EAACC,EAAI,CAAAC,IAAA,8CAAKJ,EAAU,gBAAiBpB,KAAKkB,QACxCI,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as n}from"./p-82546a44.js";var e={};var r=function(){return typeof Promise==="function"&&Promise.prototype&&Promise.prototype.then};var o={};var i={};let s;const c=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];i.getSymbolSize=function t(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17};i.getSymbolTotalCodewords=function t(n){return c[n]};i.getBCHDigit=function(t){let n=0;while(t!==0){n++;t>>>=1}return n};i.setToSJISFunction=function t(n){if(typeof n!=="function"){throw new Error('"toSJISFunc" is not a valid function.')}s=n};i.isKanjiModeEnabled=function(){return typeof s!=="undefined"};i.toSJIS=function t(n){return s(n)};var u={};(function(t){t.L={bit:1};t.M={bit:0};t.Q={bit:3};t.H={bit:2};function n(n){if(typeof n!=="string"){throw new Error("Param is not a string")}const e=n.toLowerCase();switch(e){case"l":case"low":return t.L;case"m":case"medium":return t.M;case"q":case"quartile":return t.Q;case"h":case"high":return t.H;default:throw new Error("Unknown EC Level: "+n)}}t.isValid=function t(n){return n&&typeof n.bit!=="undefined"&&n.bit>=0&&n.bit<4};t.from=function e(r,o){if(t.isValid(r)){return r}try{return n(r)}catch(t){return o}}})(u);function f(){this.buffer=[];this.length=0}f.prototype={get:function(t){const n=Math.floor(t/8);return(this.buffer[n]>>>7-t%8&1)===1},put:function(t,n){for(let e=0;e<n;e++){this.putBit((t>>>n-e-1&1)===1)}},getLengthInBits:function(){return this.length},putBit:function(t){const n=Math.floor(this.length/8);if(this.buffer.length<=n){this.buffer.push(0)}if(t){this.buffer[n]|=128>>>this.length%8}this.length++}};var a=f;function l(t){if(!t||t<1){throw new Error("BitMatrix size must be defined and greater than 0")}this.size=t;this.data=new Uint8Array(t*t);this.reservedBit=new Uint8Array(t*t)}l.prototype.set=function(t,n,e,r){const o=t*this.size+n;this.data[o]=e;if(r)this.reservedBit[o]=true};l.prototype.get=function(t,n){return this.data[t*this.size+n]};l.prototype.xor=function(t,n,e){this.data[t*this.size+n]^=e};l.prototype.isReserved=function(t,n){return this.reservedBit[t*this.size+n]};var h=l;var d={};(function(t){const n=i.getSymbolSize;t.getRowColCoords=function t(e){if(e===1)return[];const r=Math.floor(e/7)+2;const o=n(e);const i=o===145?26:Math.ceil((o-13)/(2*r-2))*2;const s=[o-7];for(let t=1;t<r-1;t++){s[t]=s[t-1]-i}s.push(6);return s.reverse()};t.getPositions=function n(e){const r=[];const o=t.getRowColCoords(e);const i=o.length;for(let t=0;t<i;t++){for(let n=0;n<i;n++){if(t===0&&n===0||t===0&&n===i-1||t===i-1&&n===0){continue}r.push([o[t],o[n]])}}return r}})(d);var w={};const p=i.getSymbolSize;const g=7;w.getPositions=function t(n){const e=p(n);return[[0,0],[e-g,0],[0,e-g]]};var v={};(function(t){t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const n={N1:3,N2:3,N3:40,N4:10};t.isValid=function t(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7};t.from=function n(e){return t.isValid(e)?parseInt(e,10):undefined};t.getPenaltyN1=function t(e){const r=e.size;let o=0;let i=0;let s=0;let c=null;let u=null;for(let t=0;t<r;t++){i=s=0;c=u=null;for(let f=0;f<r;f++){let r=e.get(t,f);if(r===c){i++}else{if(i>=5)o+=n.N1+(i-5);c=r;i=1}r=e.get(f,t);if(r===u){s++}else{if(s>=5)o+=n.N1+(s-5);u=r;s=1}}if(i>=5)o+=n.N1+(i-5);if(s>=5)o+=n.N1+(s-5)}return o};t.getPenaltyN2=function t(e){const r=e.size;let o=0;for(let t=0;t<r-1;t++){for(let n=0;n<r-1;n++){const r=e.get(t,n)+e.get(t,n+1)+e.get(t+1,n)+e.get(t+1,n+1);if(r===4||r===0)o++}}return o*n.N2};t.getPenaltyN3=function t(e){const r=e.size;let o=0;let i=0;let s=0;for(let t=0;t<r;t++){i=s=0;for(let n=0;n<r;n++){i=i<<1&2047|e.get(t,n);if(n>=10&&(i===1488||i===93))o++;s=s<<1&2047|e.get(n,t);if(n>=10&&(s===1488||s===93))o++}}return o*n.N3};t.getPenaltyN4=function t(e){let r=0;const o=e.data.length;for(let t=0;t<o;t++)r+=e.data[t];const i=Math.abs(Math.ceil(r*100/o/5)-10);return i*n.N4};function e(n,e,r){switch(n){case t.Patterns.PATTERN000:return(e+r)%2===0;case t.Patterns.PATTERN001:return e%2===0;case t.Patterns.PATTERN010:return r%3===0;case t.Patterns.PATTERN011:return(e+r)%3===0;case t.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2===0;case t.Patterns.PATTERN101:return e*r%2+e*r%3===0;case t.Patterns.PATTERN110:return(e*r%2+e*r%3)%2===0;case t.Patterns.PATTERN111:return(e*r%3+(e+r)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}}t.applyMask=function t(n,r){const o=r.size;for(let t=0;t<o;t++){for(let i=0;i<o;i++){if(r.isReserved(i,t))continue;r.xor(i,t,e(n,i,t))}}};t.getBestMask=function n(e,r){const o=Object.keys(t.Patterns).length;let i=0;let s=Infinity;for(let n=0;n<o;n++){r(n);t.applyMask(n,e);const o=t.getPenaltyN1(e)+t.getPenaltyN2(e)+t.getPenaltyN3(e)+t.getPenaltyN4(e);t.applyMask(n,e);if(o<s){s=o;i=n}}return i}})(v);var m={};const b=u;const y=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81];const E=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];m.getBlocksCount=function t(n,e){switch(e){case b.L:return y[(n-1)*4+0];case b.M:return y[(n-1)*4+1];case b.Q:return y[(n-1)*4+2];case b.H:return y[(n-1)*4+3];default:return undefined}};m.getTotalCodewordsCount=function t(n,e){switch(e){case b.L:return E[(n-1)*4+0];case b.M:return E[(n-1)*4+1];case b.Q:return E[(n-1)*4+2];case b.H:return E[(n-1)*4+3];default:return undefined}};var A={};var x={};const M=new Uint8Array(512);const k=new Uint8Array(256);(function t(){let n=1;for(let t=0;t<255;t++){M[t]=n;k[n]=t;n<<=1;if(n&256){n^=285}}for(let t=255;t<512;t++){M[t]=M[t-255]}})();x.log=function t(n){if(n<1)throw new Error("log("+n+")");return k[n]};x.exp=function t(n){return M[n]};x.mul=function t(n,e){if(n===0||e===0)return 0;return M[k[n]+k[e]]};(function(t){const n=x;t.mul=function t(e,r){const o=new Uint8Array(e.length+r.length-1);for(let t=0;t<e.length;t++){for(let i=0;i<r.length;i++){o[t+i]^=n.mul(e[t],r[i])}}return o};t.mod=function t(e,r){let o=new Uint8Array(e);while(o.length-r.length>=0){const t=o[0];for(let e=0;e<r.length;e++){o[e]^=n.mul(r[e],t)}let e=0;while(e<o.length&&o[e]===0)e++;o=o.slice(e)}return o};t.generateECPolynomial=function e(r){let o=new Uint8Array([1]);for(let e=0;e<r;e++){o=t.mul(o,new Uint8Array([1,n.exp(e)]))}return o}})(A);const R=A;function T(t){this.genPoly=undefined;this.degree=t;if(this.degree)this.initialize(this.degree)}T.prototype.initialize=function t(n){this.degree=n;this.genPoly=R.generateECPolynomial(this.degree)};T.prototype.encode=function t(n){if(!this.genPoly){throw new Error("Encoder not initialized")}const e=new Uint8Array(n.length+this.degree);e.set(n);const r=R.mod(e,this.genPoly);const o=this.degree-r.length;if(o>0){const t=new Uint8Array(this.degree);t.set(r,o);return t}return r};var I=T;var N={};var _={};var P={};P.isValid=function t(n){return!isNaN(n)&&n>=1&&n<=40};var U={};const q="[0-9]+";const C="[A-Z $%*+\\-./:]+";let F="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|"+"[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|"+"[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|"+"[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";F=F.replace(/u/g,"\\u");const B="(?:(?![A-Z0-9 $%*+\\-./:]|"+F+")(?:.|[\r\n]))+";U.KANJI=new RegExp(F,"g");U.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");U.BYTE=new RegExp(B,"g");U.NUMERIC=new RegExp(q,"g");U.ALPHANUMERIC=new RegExp(C,"g");const Q=new RegExp("^"+F+"$");const $=new RegExp("^"+q+"$");const S=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");U.testKanji=function t(n){return Q.test(n)};U.testNumeric=function t(n){return $.test(n)};U.testAlphanumeric=function t(n){return S.test(n)};(function(t){const n=P;const e=U;t.NUMERIC={id:"Numeric",bit:1<<0,ccBits:[10,12,14]};t.ALPHANUMERIC={id:"Alphanumeric",bit:1<<1,ccBits:[9,11,13]};t.BYTE={id:"Byte",bit:1<<2,ccBits:[8,16,16]};t.KANJI={id:"Kanji",bit:1<<3,ccBits:[8,10,12]};t.MIXED={bit:-1};t.getCharCountIndicator=function t(e,r){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!n.isValid(r)){throw new Error("Invalid version: "+r)}if(r>=1&&r<10)return e.ccBits[0];else if(r<27)return e.ccBits[1];return e.ccBits[2]};t.getBestModeForData=function n(r){if(e.testNumeric(r))return t.NUMERIC;else if(e.testAlphanumeric(r))return t.ALPHANUMERIC;else if(e.testKanji(r))return t.KANJI;else return t.BYTE};t.toString=function t(n){if(n&&n.id)return n.id;throw new Error("Invalid mode")};t.isValid=function t(n){return n&&n.bit&&n.ccBits};function r(n){if(typeof n!=="string"){throw new Error("Param is not a string")}const e=n.toLowerCase();switch(e){case"numeric":return t.NUMERIC;case"alphanumeric":return t.ALPHANUMERIC;case"kanji":return t.KANJI;case"byte":return t.BYTE;default:throw new Error("Unknown mode: "+n)}}t.from=function n(e,o){if(t.isValid(e)){return e}try{return r(e)}catch(t){return o}}})(_);(function(t){const n=i;const e=m;const r=u;const o=_;const s=P;const c=1<<12|1<<11|1<<10|1<<9|1<<8|1<<5|1<<2|1<<0;const f=n.getBCHDigit(c);function a(n,e,r){for(let o=1;o<=40;o++){if(e<=t.getCapacity(o,r,n)){return o}}return undefined}function l(t,n){return o.getCharCountIndicator(t,n)+4}function h(t,n){let e=0;t.forEach((function(t){const r=l(t.mode,n);e+=r+t.getBitsLength()}));return e}function d(n,e){for(let r=1;r<=40;r++){const i=h(n,r);if(i<=t.getCapacity(r,e,o.MIXED)){return r}}return undefined}t.from=function t(n,e){if(s.isValid(n)){return parseInt(n,10)}return e};t.getCapacity=function t(r,i,c){if(!s.isValid(r)){throw new Error("Invalid QR Code version")}if(typeof c==="undefined")c=o.BYTE;const u=n.getSymbolTotalCodewords(r);const f=e.getTotalCodewordsCount(r,i);const a=(u-f)*8;if(c===o.MIXED)return a;const h=a-l(c,r);switch(c){case o.NUMERIC:return Math.floor(h/10*3);case o.ALPHANUMERIC:return Math.floor(h/11*2);case o.KANJI:return Math.floor(h/13);case o.BYTE:default:return Math.floor(h/8)}};t.getBestVersionForData=function t(n,e){let o;const i=r.from(e,r.M);if(Array.isArray(n)){if(n.length>1){return d(n,i)}if(n.length===0){return 1}o=n[0]}else{o=n}return a(o.mode,o.getLength(),i)};t.getEncodedBits=function t(e){if(!s.isValid(e)||e<7){throw new Error("Invalid QR Code version")}let r=e<<12;while(n.getBCHDigit(r)-f>=0){r^=c<<n.getBCHDigit(r)-f}return e<<12|r}})(N);var L={};const Z=i;const j=1<<10|1<<8|1<<5|1<<4|1<<2|1<<1|1<<0;const z=1<<14|1<<12|1<<10|1<<4|1<<1;const D=Z.getBCHDigit(j);L.getEncodedBits=function t(n,e){const r=n.bit<<3|e;let o=r<<10;while(Z.getBCHDigit(o)-D>=0){o^=j<<Z.getBCHDigit(o)-D}return(r<<10|o)^z};var H={};const J=_;function O(t){this.mode=J.NUMERIC;this.data=t.toString()}O.getBitsLength=function t(n){return 10*Math.floor(n/3)+(n%3?n%3*3+1:0)};O.prototype.getLength=function t(){return this.data.length};O.prototype.getBitsLength=function t(){return O.getBitsLength(this.data.length)};O.prototype.write=function t(n){let e,r,o;for(e=0;e+3<=this.data.length;e+=3){r=this.data.substr(e,3);o=parseInt(r,10);n.put(o,10)}const i=this.data.length-e;if(i>0){r=this.data.substr(e);o=parseInt(r,10);n.put(o,i*3+1)}};var W=O;const K=_;const Y=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function G(t){this.mode=K.ALPHANUMERIC;this.data=t}G.getBitsLength=function t(n){return 11*Math.floor(n/2)+6*(n%2)};G.prototype.getLength=function t(){return this.data.length};G.prototype.getBitsLength=function t(){return G.getBitsLength(this.data.length)};G.prototype.write=function t(n){let e;for(e=0;e+2<=this.data.length;e+=2){let t=Y.indexOf(this.data[e])*45;t+=Y.indexOf(this.data[e+1]);n.put(t,11)}if(this.data.length%2){n.put(Y.indexOf(this.data[e]),6)}};var V=G;const X=_;function tt(t){this.mode=X.BYTE;if(typeof t==="string"){this.data=(new TextEncoder).encode(t)}else{this.data=new Uint8Array(t)}}tt.getBitsLength=function t(n){return n*8};tt.prototype.getLength=function t(){return this.data.length};tt.prototype.getBitsLength=function t(){return tt.getBitsLength(this.data.length)};tt.prototype.write=function(t){for(let n=0,e=this.data.length;n<e;n++){t.put(this.data[n],8)}};var nt=tt;const et=_;const rt=i;function ot(t){this.mode=et.KANJI;this.data=t}ot.getBitsLength=function t(n){return n*13};ot.prototype.getLength=function t(){return this.data.length};ot.prototype.getBitsLength=function t(){return ot.getBitsLength(this.data.length)};ot.prototype.write=function(t){let n;for(n=0;n<this.data.length;n++){let e=rt.toSJIS(this.data[n]);if(e>=33088&&e<=40956){e-=33088}else if(e>=57408&&e<=60351){e-=49472}else{throw new Error("Invalid SJIS character: "+this.data[n]+"\n"+"Make sure your charset is UTF-8")}e=(e>>>8&255)*192+(e&255);t.put(e,13)}};var it=ot;var st={exports:{}};(function(t){var n={single_source_shortest_paths:function(t,e,r){var o={};var i={};i[e]=0;var s=n.PriorityQueue.make();s.push(e,0);var c,u,f,a,l,h,d,w,p;while(!s.empty()){c=s.pop();u=c.value;a=c.cost;l=t[u]||{};for(f in l){if(l.hasOwnProperty(f)){h=l[f];d=a+h;w=i[f];p=typeof i[f]==="undefined";if(p||w>d){i[f]=d;s.push(f,d);o[f]=u}}}}if(typeof r!=="undefined"&&typeof i[r]==="undefined"){var g=["Could not find a path from ",e," to ",r,"."].join("");throw new Error(g)}return o},extract_shortest_path_from_predecessor_list:function(t,n){var e=[];var r=n;while(r){e.push(r);r=t[r]}e.reverse();return e},find_path:function(t,e,r){var o=n.single_source_shortest_paths(t,e,r);return n.extract_shortest_path_from_predecessor_list(o,r)},PriorityQueue:{make:function(t){var e=n.PriorityQueue,r={},o;t=t||{};for(o in e){if(e.hasOwnProperty(o)){r[o]=e[o]}}r.queue=[];r.sorter=t.sorter||e.default_sorter;return r},default_sorter:function(t,n){return t.cost-n.cost},push:function(t,n){var e={value:t,cost:n};this.queue.push(e);this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};{t.exports=n}})(st);(function(t){const n=_;const e=W;const r=V;const o=nt;const s=it;const c=U;const u=i;const f=st.exports;function a(t){return unescape(encodeURIComponent(t)).length}function l(t,n,e){const r=[];let o;while((o=t.exec(e))!==null){r.push({data:o[0],index:o.index,mode:n,length:o[0].length})}return r}function h(t){const e=l(c.NUMERIC,n.NUMERIC,t);const r=l(c.ALPHANUMERIC,n.ALPHANUMERIC,t);let o;let i;if(u.isKanjiModeEnabled()){o=l(c.BYTE,n.BYTE,t);i=l(c.KANJI,n.KANJI,t)}else{o=l(c.BYTE_KANJI,n.BYTE,t);i=[]}const s=e.concat(r,o,i);return s.sort((function(t,n){return t.index-n.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function d(t,i){switch(i){case n.NUMERIC:return e.getBitsLength(t);case n.ALPHANUMERIC:return r.getBitsLength(t);case n.KANJI:return s.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function w(t){return t.reduce((function(t,n){const e=t.length-1>=0?t[t.length-1]:null;if(e&&e.mode===n.mode){t[t.length-1].data+=n.data;return t}t.push(n);return t}),[])}function p(t){const e=[];for(let r=0;r<t.length;r++){const o=t[r];switch(o.mode){case n.NUMERIC:e.push([o,{data:o.data,mode:n.ALPHANUMERIC,length:o.length},{data:o.data,mode:n.BYTE,length:o.length}]);break;case n.ALPHANUMERIC:e.push([o,{data:o.data,mode:n.BYTE,length:o.length}]);break;case n.KANJI:e.push([o,{data:o.data,mode:n.BYTE,length:a(o.data)}]);break;case n.BYTE:e.push([{data:o.data,mode:n.BYTE,length:a(o.data)}])}}return e}function g(t,e){const r={};const o={start:{}};let i=["start"];for(let s=0;s<t.length;s++){const c=t[s];const u=[];for(let t=0;t<c.length;t++){const f=c[t];const a=""+s+t;u.push(a);r[a]={node:f,lastCount:0};o[a]={};for(let t=0;t<i.length;t++){const s=i[t];if(r[s]&&r[s].node.mode===f.mode){o[s][a]=d(r[s].lastCount+f.length,f.mode)-d(r[s].lastCount,f.mode);r[s].lastCount+=f.length}else{if(r[s])r[s].lastCount=f.length;o[s][a]=d(f.length,f.mode)+4+n.getCharCountIndicator(f.mode,e)}}}i=u}for(let t=0;t<i.length;t++){o[i[t]].end=0}return{map:o,table:r}}function v(t,i){let c;const f=n.getBestModeForData(t);c=n.from(i,f);if(c!==n.BYTE&&c.bit<f.bit){throw new Error('"'+t+'"'+" cannot be encoded with mode "+n.toString(c)+".\n Suggested mode is: "+n.toString(f))}if(c===n.KANJI&&!u.isKanjiModeEnabled()){c=n.BYTE}switch(c){case n.NUMERIC:return new e(t);case n.ALPHANUMERIC:return new r(t);case n.KANJI:return new s(t);case n.BYTE:return new o(t)}}t.fromArray=function t(n){return n.reduce((function(t,n){if(typeof n==="string"){t.push(v(n,null))}else if(n.data){t.push(v(n.data,n.mode))}return t}),[])};t.fromString=function n(e,r){const o=h(e,u.isKanjiModeEnabled());const i=p(o);const s=g(i,r);const c=f.find_path(s.map,"start","end");const a=[];for(let t=1;t<c.length-1;t++){a.push(s.table[c[t]].node)}return t.fromArray(w(a))};t.rawSplit=function n(e){return t.fromArray(h(e,u.isKanjiModeEnabled()))}})(H);const ct=i;const ut=u;const ft=a;const at=h;const lt=d;const ht=w;const dt=v;const wt=m;const pt=I;const gt=N;const vt=L;const mt=_;const bt=H;function yt(t,n){const e=t.size;const r=ht.getPositions(n);for(let n=0;n<r.length;n++){const o=r[n][0];const i=r[n][1];for(let n=-1;n<=7;n++){if(o+n<=-1||e<=o+n)continue;for(let r=-1;r<=7;r++){if(i+r<=-1||e<=i+r)continue;if(n>=0&&n<=6&&(r===0||r===6)||r>=0&&r<=6&&(n===0||n===6)||n>=2&&n<=4&&r>=2&&r<=4){t.set(o+n,i+r,true,true)}else{t.set(o+n,i+r,false,true)}}}}}function Et(t){const n=t.size;for(let e=8;e<n-8;e++){const n=e%2===0;t.set(e,6,n,true);t.set(6,e,n,true)}}function At(t,n){const e=lt.getPositions(n);for(let n=0;n<e.length;n++){const r=e[n][0];const o=e[n][1];for(let n=-2;n<=2;n++){for(let e=-2;e<=2;e++){if(n===-2||n===2||e===-2||e===2||n===0&&e===0){t.set(r+n,o+e,true,true)}else{t.set(r+n,o+e,false,true)}}}}}function xt(t,n){const e=t.size;const r=gt.getEncodedBits(n);let o,i,s;for(let n=0;n<18;n++){o=Math.floor(n/3);i=n%3+e-8-3;s=(r>>n&1)===1;t.set(o,i,s,true);t.set(i,o,s,true)}}function Mt(t,n,e){const r=t.size;const o=vt.getEncodedBits(n,e);let i,s;for(i=0;i<15;i++){s=(o>>i&1)===1;if(i<6){t.set(i,8,s,true)}else if(i<8){t.set(i+1,8,s,true)}else{t.set(r-15+i,8,s,true)}if(i<8){t.set(8,r-i-1,s,true)}else if(i<9){t.set(8,15-i-1+1,s,true)}else{t.set(8,15-i-1,s,true)}}t.set(r-8,8,1,true)}function kt(t,n){const e=t.size;let r=-1;let o=e-1;let i=7;let s=0;for(let c=e-1;c>0;c-=2){if(c===6)c--;while(true){for(let e=0;e<2;e++){if(!t.isReserved(o,c-e)){let r=false;if(s<n.length){r=(n[s]>>>i&1)===1}t.set(o,c-e,r);i--;if(i===-1){s++;i=7}}}o+=r;if(o<0||e<=o){o-=r;r=-r;break}}}}function Rt(t,n,e){const r=new ft;e.forEach((function(n){r.put(n.mode.bit,4);r.put(n.getLength(),mt.getCharCountIndicator(n.mode,t));n.write(r)}));const o=ct.getSymbolTotalCodewords(t);const i=wt.getTotalCodewordsCount(t,n);const s=(o-i)*8;if(r.getLengthInBits()+4<=s){r.put(0,4)}while(r.getLengthInBits()%8!==0){r.putBit(0)}const c=(s-r.getLengthInBits())/8;for(let t=0;t<c;t++){r.put(t%2?17:236,8)}return Tt(r,t,n)}function Tt(t,n,e){const r=ct.getSymbolTotalCodewords(n);const o=wt.getTotalCodewordsCount(n,e);const i=r-o;const s=wt.getBlocksCount(n,e);const c=r%s;const u=s-c;const f=Math.floor(r/s);const a=Math.floor(i/s);const l=a+1;const h=f-a;const d=new pt(h);let w=0;const p=new Array(s);const g=new Array(s);let v=0;const m=new Uint8Array(t.buffer);for(let t=0;t<s;t++){const n=t<u?a:l;p[t]=m.slice(w,w+n);g[t]=d.encode(p[t]);w+=n;v=Math.max(v,n)}const b=new Uint8Array(r);let y=0;let E,A;for(E=0;E<v;E++){for(A=0;A<s;A++){if(E<p[A].length){b[y++]=p[A][E]}}}for(E=0;E<h;E++){for(A=0;A<s;A++){b[y++]=g[A][E]}}return b}function It(t,n,e,r){let o;if(Array.isArray(t)){o=bt.fromArray(t)}else if(typeof t==="string"){let r=n;if(!r){const n=bt.rawSplit(t);r=gt.getBestVersionForData(n,e)}o=bt.fromString(t,r||40)}else{throw new Error("Invalid data")}const i=gt.getBestVersionForData(o,e);if(!i){throw new Error("The amount of data is too big to be stored in a QR Code")}if(!n){n=i}else if(n<i){throw new Error("\n"+"The chosen QR Code version cannot contain this amount of data.\n"+"Minimum version required to store current data is: "+i+".\n")}const s=Rt(n,e,o);const c=ct.getSymbolSize(n);const u=new at(c);yt(u,n);Et(u);At(u,n);Mt(u,e,0);if(n>=7){xt(u,n)}kt(u,s);if(isNaN(r)){r=dt.getBestMask(u,Mt.bind(null,u,e))}dt.applyMask(r,u);Mt(u,e,r);return{modules:u,version:n,errorCorrectionLevel:e,maskPattern:r,segments:o}}o.create=function t(n,e){if(typeof n==="undefined"||n===""){throw new Error("No input text")}let r=ut.M;let o;let i;if(typeof e!=="undefined"){r=ut.from(e.errorCorrectionLevel,ut.M);o=gt.from(e.version);i=dt.from(e.maskPattern);if(e.toSJISFunc){ct.setToSJISFunction(e.toSJISFunc)}}return It(n,o,r,i)};var Nt={};var _t={};(function(t){function n(t){if(typeof t==="number"){t=t.toString()}if(typeof t!=="string"){throw new Error("Color should be defined as hex string")}let n=t.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8){throw new Error("Invalid hex color: "+t)}if(n.length===3||n.length===4){n=Array.prototype.concat.apply([],n.map((function(t){return[t,t]})))}if(n.length===6)n.push("F","F");const e=parseInt(n.join(""),16);return{r:e>>24&255,g:e>>16&255,b:e>>8&255,a:e&255,hex:"#"+n.slice(0,6).join("")}}t.getOptions=function t(e){if(!e)e={};if(!e.color)e.color={};const r=typeof e.margin==="undefined"||e.margin===null||e.margin<0?4:e.margin;const o=e.width&&e.width>=21?e.width:undefined;const i=e.scale||4;return{width:o,scale:o?4:i,margin:r,color:{dark:n(e.color.dark||"#000000ff"),light:n(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}};t.getScale=function t(n,e){return e.width&&e.width>=n+e.margin*2?e.width/(n+e.margin*2):e.scale};t.getImageWidth=function n(e,r){const o=t.getScale(e,r);return Math.floor((e+r.margin*2)*o)};t.qrToImageData=function n(e,r,o){const i=r.modules.size;const s=r.modules.data;const c=t.getScale(i,o);const u=Math.floor((i+o.margin*2)*c);const f=o.margin*c;const a=[o.color.light,o.color.dark];for(let t=0;t<u;t++){for(let n=0;n<u;n++){let r=(t*u+n)*4;let l=o.color.light;if(t>=f&&n>=f&&t<u-f&&n<u-f){const e=Math.floor((t-f)/c);const r=Math.floor((n-f)/c);l=a[s[e*i+r]?1:0]}e[r++]=l.r;e[r++]=l.g;e[r++]=l.b;e[r]=l.a}}}})(_t);(function(t){const n=_t;function e(t,n,e){t.clearRect(0,0,n.width,n.height);if(!n.style)n.style={};n.height=e;n.width=e;n.style.height=e+"px";n.style.width=e+"px"}function r(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}t.render=function t(o,i,s){let c=s;let u=i;if(typeof c==="undefined"&&(!i||!i.getContext)){c=i;i=undefined}if(!i){u=r()}c=n.getOptions(c);const f=n.getImageWidth(o.modules.size,c);const a=u.getContext("2d");const l=a.createImageData(f,f);n.qrToImageData(l.data,o,c);e(a,u,f);a.putImageData(l,0,0);return u};t.renderToDataURL=function n(e,r,o){let i=o;if(typeof i==="undefined"&&(!r||!r.getContext)){i=r;r=undefined}if(!i)i={};const s=t.render(e,r,i);const c=i.type||"image/png";const u=i.rendererOpts||{};return s.toDataURL(c,u.quality)}})(Nt);var Pt={};const Ut=_t;function qt(t,n){const e=t.a/255;const r=n+'="'+t.hex+'"';return e<1?r+" "+n+'-opacity="'+e.toFixed(2).slice(1)+'"':r}function Ct(t,n,e){let r=t+n;if(typeof e!=="undefined")r+=" "+e;return r}function Ft(t,n,e){let r="";let o=0;let i=false;let s=0;for(let c=0;c<t.length;c++){const u=Math.floor(c%n);const f=Math.floor(c/n);if(!u&&!i)i=true;if(t[c]){s++;if(!(c>0&&u>0&&t[c-1])){r+=i?Ct("M",u+e,.5+f+e):Ct("m",o,0);o=0;i=false}if(!(u+1<n&&t[c+1])){r+=Ct("h",s);s=0}}else{o++}}return r}Pt.render=function t(n,e,r){const o=Ut.getOptions(e);const i=n.modules.size;const s=n.modules.data;const c=i+o.margin*2;const u=!o.color.light.a?"":"<path "+qt(o.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>';const f="<path "+qt(o.color.dark,"stroke")+' d="'+Ft(s,i,o.margin)+'"/>';const a='viewBox="'+"0 0 "+c+" "+c+'"';const l=!o.width?"":'width="'+o.width+'" height="'+o.width+'" ';const h='<svg xmlns="http://www.w3.org/2000/svg" '+l+a+' shape-rendering="crispEdges">'+u+f+"</svg>\n";if(typeof r==="function"){r(null,h)}return h};const Bt=r;const Qt=o;const $t=Nt;const St=Pt;function Lt(t,n,e,r,o){const i=[].slice.call(arguments,1);const s=i.length;const c=typeof i[s-1]==="function";if(!c&&!Bt()){throw new Error("Callback required as last argument")}if(c){if(s<2){throw new Error("Too few arguments provided")}if(s===2){o=e;e=n;n=r=undefined}else if(s===3){if(n.getContext&&typeof o==="undefined"){o=r;r=undefined}else{o=r;r=e;e=n;n=undefined}}}else{if(s<1){throw new Error("Too few arguments provided")}if(s===1){e=n;n=r=undefined}else if(s===2&&!n.getContext){r=e;e=n;n=undefined}return new Promise((function(o,i){try{const i=Qt.create(e,r);o(t(i,n,r))}catch(t){i(t)}}))}try{const i=Qt.create(e,r);o(null,t(i,n,r))}catch(t){o(t)}}e.create=Qt.create;e.toCanvas=Lt.bind(null,$t.render);e.toDataURL=Lt.bind(null,$t.renderToDataURL);e.toString=Lt.bind(null,(function(t,n,e){return St.render(t,e)}));const Zt="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-qr-code-generator{display:block;text-align:center}pn-qr-code-generator canvas{border:1px solid #d3cecb;transition:filter 0.3s ease;width:20rem;height:20rem}pn-qr-code-generator canvas.outdated{filter:grayscale(100%)}pn-qr-code-generator .timer{margin-top:1rem;text-align:center;font-size:1.4rem;color:#2d2013}pn-qr-code-generator .outdated-message{color:#a70707}pn-qr-code-generator .qr-button__wrapper{background:transparent;border:none;padding:0;width:20rem;height:20rem}pn-qr-code-generator .qr-button__wrapper:focus,pn-qr-code-generator .qr-button__wrapper:focus-visible{outline-color:#005d92}";const jt=Zt;const zt=class{constructor(n){t(this,n);this.url=undefined;this.countdownSeconds=-1;this.outdatedMessage=undefined;this.expiresInMessage=undefined;this.updateCodeEverySecond=true;this.ariaLabel=undefined;this.remainingSeconds=undefined;this.isOutdated=false;this.isFullscreen=false}canvasRef;timer;urlWithSegment;gray900="#2d2013";blackHex="#000";whiteHex="#fff";componentWillLoad(){this.urlWithSegment=this.url+"#";this.remainingSeconds=this.countdownSeconds}componentDidLoad(){this.generateQRCode();if(this.countdownSeconds!==-1){this.startCountdown()}}generateQRCode(t=""){if(this.url&&this.canvasRef){this.urlWithSegment+=t;e.toCanvas(this.canvasRef,this.urlWithSegment,{width:200,color:{dark:this.isOutdated?this.gray900:this.blackHex,light:this.isOutdated?this.gray900:this.whiteHex}},(t=>{if(t)console.error(t)}))}}startCountdown(){this.timer=setInterval((()=>{if(this.remainingSeconds>0){this.remainingSeconds--;this.generateQRCode("p")}else{clearInterval(this.timer);this.isOutdated=true;this.generateQRCode()}}),1e3)}disconnectedCallback(){clearInterval(this.timer)}render(){return n("div",{key:"e0bc37a181c7787812bbd052877cf1c0ecffe4c9"},n("button",{key:"6486b7b7e94493ba8cf32d6cef7e9224c119a8ea",class:"qr-button__wrapper","aria-label":this.ariaLabel},n("canvas",{key:"e66b827b3a7b92b3cf250e73b0dade3675fad9b7",class:this.isOutdated?"outdated":"",ref:t=>this.canvasRef=t})),this.countdownSeconds!==-1&&n("div",{key:"122ba7328a26fb6116ffc5b6c9b3a4cdcc24b8a2",class:"timer"},this.isOutdated&&n("span",{key:"da1c41fe27834b3fdfcc08f456ab0f53e13a9a12",class:"outdated-message"},this.outdatedMessage),!this.isOutdated&&this.expiresInMessage&&n("span",{key:"c6515a6aa7491e02267f82f55abac7388ed68d15"},this.expiresInMessage," ",this.remainingSeconds)))}static get watchers(){return{url:["generateQRCode"]}}};zt.style=jt;export{zt as pn_qr_code_generator};
2
+ //# sourceMappingURL=p-4e924d13.entry.js.map