@postnord/pn-marketweb-components 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/cjs/{FetchHelper-8d537d38.js → FetchHelper-dcfe4038.js} +122 -123
  2. package/cjs/FetchHelper-dcfe4038.js.map +1 -0
  3. package/cjs/loader.cjs.js +1 -1
  4. package/cjs/pn-address-autofill.cjs.entry.js +47 -49
  5. package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
  6. package/cjs/pn-animated-tile.cjs.entry.js +4 -4
  7. package/cjs/pn-animated-tile.cjs.entry.js.map +1 -1
  8. package/cjs/pn-app-banner.cjs.entry.js +15 -15
  9. package/cjs/pn-app-banner.cjs.entry.js.map +1 -1
  10. package/cjs/pn-bonus-progressbar-level.cjs.entry.js +1 -1
  11. package/cjs/pn-bonus-progressbar-level.cjs.entry.js.map +1 -1
  12. package/cjs/pn-bonus-progressbar.cjs.entry.js +1 -1
  13. package/cjs/pn-bonus-progressbar.cjs.entry.js.map +1 -1
  14. package/cjs/pn-breakpoints.cjs.entry.js +1 -1
  15. package/cjs/pn-breakpoints.cjs.entry.js.map +1 -1
  16. package/cjs/pn-chart.cjs.entry.js +47 -10
  17. package/cjs/pn-chart.cjs.entry.js.map +1 -1
  18. package/cjs/pn-charts-card.cjs.entry.js +7 -7
  19. package/cjs/pn-charts-card.cjs.entry.js.map +1 -1
  20. package/cjs/pn-choice-button.cjs.entry.js +1 -1
  21. package/cjs/pn-choice-button.cjs.entry.js.map +1 -1
  22. package/cjs/pn-cta-block.cjs.entry.js +1 -1
  23. package/cjs/pn-cta-block.cjs.entry.js.map +1 -1
  24. package/cjs/pn-customernumber-selector-option.cjs.entry.js +1 -1
  25. package/cjs/pn-customernumber-selector-option.cjs.entry.js.map +1 -1
  26. package/cjs/pn-customernumber-selector.cjs.entry.js +1 -1
  27. package/cjs/pn-customernumber-selector.cjs.entry.js.map +1 -1
  28. package/cjs/pn-date-and-time.cjs.entry.js +13 -15
  29. package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
  30. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +33 -36
  31. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
  32. package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js +13 -10
  33. package/cjs/pn-dropdown-with-multi-input-rows-row.cjs.entry.js.map +1 -1
  34. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +46 -40
  35. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
  36. package/cjs/pn-filter-checkbox.cjs.entry.js +2 -3
  37. package/cjs/pn-filter-checkbox.cjs.entry.js.map +1 -1
  38. package/cjs/pn-find-price.cjs.entry.js +1 -2
  39. package/cjs/pn-find-price.cjs.entry.js.map +1 -1
  40. package/cjs/pn-find-service-and-price.cjs.entry.js +2 -3
  41. package/cjs/pn-find-service-and-price.cjs.entry.js.map +1 -1
  42. package/cjs/pn-hero-block-international.cjs.entry.js +3 -3
  43. package/cjs/pn-hero-block-international.cjs.entry.js.map +1 -1
  44. package/cjs/pn-language-selector_9.cjs.entry.js +83 -79
  45. package/cjs/pn-language-selector_9.cjs.entry.js.map +1 -1
  46. package/cjs/pn-line-shape.cjs.entry.js +1 -1
  47. package/cjs/pn-line-shape.cjs.entry.js.map +1 -1
  48. package/cjs/pn-link-list.cjs.entry.js +33 -37
  49. package/cjs/pn-link-list.cjs.entry.js.map +1 -1
  50. package/cjs/pn-mainnav-link.cjs.entry.js +2 -2
  51. package/cjs/pn-mainnav-link.cjs.entry.js.map +1 -1
  52. package/cjs/pn-market-web-components.cjs.js +1 -1
  53. package/cjs/pn-marketweb-input.cjs.entry.js +1 -2
  54. package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
  55. package/cjs/pn-marketweb-search.cjs.entry.js +5 -1
  56. package/cjs/pn-marketweb-search.cjs.entry.js.map +1 -1
  57. package/cjs/pn-marketweb-sitefooter.cjs.entry.js +18 -24
  58. package/cjs/pn-marketweb-sitefooter.cjs.entry.js.map +1 -1
  59. package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js +17 -20
  60. package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js.map +1 -1
  61. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +5 -5
  62. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +1 -1
  63. package/cjs/pn-marketweb-siteheader.cjs.entry.js +22 -27
  64. package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
  65. package/cjs/pn-media-block.cjs.entry.js +31 -29
  66. package/cjs/pn-media-block.cjs.entry.js.map +1 -1
  67. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +37 -45
  68. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
  69. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +40 -34
  70. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
  71. package/cjs/pn-multiple-input.cjs.entry.js +9 -6
  72. package/cjs/pn-multiple-input.cjs.entry.js.map +1 -1
  73. package/cjs/pn-parcel-tracker.cjs.entry.js +1 -1
  74. package/cjs/pn-parcel-tracker.cjs.entry.js.map +1 -1
  75. package/cjs/pn-pex-pricefinder.cjs.entry.js +1 -1
  76. package/cjs/pn-pex-pricefinder.cjs.entry.js.map +1 -1
  77. package/cjs/pn-play-on-scroll.cjs.entry.js +19 -17
  78. package/cjs/pn-play-on-scroll.cjs.entry.js.map +1 -1
  79. package/cjs/pn-product-pricelist.cjs.entry.js +2 -3
  80. package/cjs/pn-product-pricelist.cjs.entry.js.map +1 -1
  81. package/cjs/pn-profile-modal-customernumber.cjs.entry.js +2 -1
  82. package/cjs/pn-profile-modal-customernumber.cjs.entry.js.map +1 -1
  83. package/cjs/pn-profile-modal-profile.cjs.entry.js +3 -1
  84. package/cjs/pn-profile-modal-profile.cjs.entry.js.map +1 -1
  85. package/cjs/pn-profile-modal-type.cjs.entry.js +1 -1
  86. package/cjs/pn-profile-modal-type.cjs.entry.js.map +1 -1
  87. package/cjs/pn-profile-modal.cjs.entry.js +1 -1
  88. package/cjs/pn-profile-modal.cjs.entry.js.map +1 -1
  89. package/cjs/pn-profile-selector-option.cjs.entry.js +1 -1
  90. package/cjs/pn-profile-selector-option.cjs.entry.js.map +1 -1
  91. package/cjs/pn-profile-selector.cjs.entry.js +1 -1
  92. package/cjs/pn-profile-selector.cjs.entry.js.map +1 -1
  93. package/cjs/pn-proxio-findprice-result.cjs.entry.js +8 -12
  94. package/cjs/pn-proxio-findprice-result.cjs.entry.js.map +1 -1
  95. package/cjs/pn-proxio-findprice.cjs.entry.js +16 -23
  96. package/cjs/pn-proxio-findprice.cjs.entry.js.map +1 -1
  97. package/cjs/pn-proxio-pricegroup.cjs.entry.js +9 -13
  98. package/cjs/pn-proxio-pricegroup.cjs.entry.js.map +1 -1
  99. package/cjs/pn-quick-cta.cjs.entry.js +1 -1
  100. package/cjs/pn-quick-cta.cjs.entry.js.map +1 -1
  101. package/cjs/pn-quote-card.cjs.entry.js +1 -1
  102. package/cjs/pn-quote-card.cjs.entry.js.map +1 -1
  103. package/cjs/pn-scroll_2.cjs.entry.js +16 -15
  104. package/cjs/pn-scroll_2.cjs.entry.js.map +1 -1
  105. package/cjs/pn-share-item.cjs.entry.js +1 -1
  106. package/cjs/pn-share-item.cjs.entry.js.map +1 -1
  107. package/cjs/pn-share.cjs.entry.js +1 -1
  108. package/cjs/pn-share.cjs.entry.js.map +1 -1
  109. package/cjs/pn-sidenav-level.cjs.entry.js +3 -4
  110. package/cjs/pn-sidenav-level.cjs.entry.js.map +1 -1
  111. package/cjs/pn-sidenav-link.cjs.entry.js +2 -2
  112. package/cjs/pn-sidenav-link.cjs.entry.js.map +1 -1
  113. package/cjs/pn-sidenav-togglebutton.cjs.entry.js +1 -1
  114. package/cjs/pn-sidenav-togglebutton.cjs.entry.js.map +1 -1
  115. package/cjs/pn-sidenav.cjs.entry.js +1 -1
  116. package/cjs/pn-sidenav.cjs.entry.js.map +1 -1
  117. package/cjs/pn-site-footer_3.cjs.entry.js +1 -1
  118. package/cjs/pn-site-footer_3.cjs.entry.js.map +1 -1
  119. package/cjs/pn-spotlight.cjs.entry.js +1 -1
  120. package/cjs/pn-spotlight.cjs.entry.js.map +1 -1
  121. package/cjs/pn-stats-info-data.cjs.entry.js +5 -5
  122. package/cjs/pn-stats-info-data.cjs.entry.js.map +1 -1
  123. package/cjs/pn-teaser-card.cjs.entry.js +2 -3
  124. package/cjs/pn-teaser-card.cjs.entry.js.map +1 -1
  125. package/cjs/pn-titletag.cjs.entry.js +1 -1
  126. package/cjs/pn-titletag.cjs.entry.js.map +1 -1
  127. package/cjs/pn-usp-promoter.cjs.entry.js +1 -1
  128. package/cjs/pn-usp-promoter.cjs.entry.js.map +1 -1
  129. package/collection/components/animation/pn-animated-tile/pn-animated-tile.js +4 -3
  130. package/collection/components/animation/pn-animated-tile/pn-animated-tile.js.map +1 -1
  131. package/collection/components/animation/pn-play-on-scroll/pn-play-on-scroll.js +19 -16
  132. package/collection/components/animation/pn-play-on-scroll/pn-play-on-scroll.js.map +1 -1
  133. package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.js +11 -9
  134. package/collection/components/animation/pn-play-on-scroll/pn-video-overlay/pn-video-overlay.js.map +1 -1
  135. package/collection/components/animation/pn-scroll/pn-scroll.js +5 -4
  136. package/collection/components/animation/pn-scroll/pn-scroll.js.map +1 -1
  137. package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.js +1 -0
  138. package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.js.map +1 -1
  139. package/collection/components/cards/pn-quote-card/pn-quote-card.js +1 -0
  140. package/collection/components/cards/pn-quote-card/pn-quote-card.js.map +1 -1
  141. package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +2 -2
  142. package/collection/components/cards/pn-teaser-card/pn-teaser-card.js.map +1 -1
  143. package/collection/components/charts/pn-chart/pn-chart-helper.js +32 -7
  144. package/collection/components/charts/pn-chart/pn-chart-helper.js.map +1 -1
  145. package/collection/components/charts/pn-chart/pn-chart.js +15 -2
  146. package/collection/components/charts/pn-chart/pn-chart.js.map +1 -1
  147. package/collection/components/charts/pn-charts-card/pn-charts-card.js +7 -6
  148. package/collection/components/charts/pn-charts-card/pn-charts-card.js.map +1 -1
  149. package/collection/components/cta/pn-cta-block/pn-cta-block.js +1 -0
  150. package/collection/components/cta/pn-cta-block/pn-cta-block.js.map +1 -1
  151. package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.js +1 -0
  152. package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.js.map +1 -1
  153. package/collection/components/cta/pn-quick-cta/pn-quick-cta.js +1 -0
  154. package/collection/components/cta/pn-quick-cta/pn-quick-cta.js.map +1 -1
  155. package/collection/components/cta/pn-share/pn-share-item.js +1 -0
  156. package/collection/components/cta/pn-share/pn-share-item.js.map +1 -1
  157. package/collection/components/cta/pn-share/pn-share.js +1 -0
  158. package/collection/components/cta/pn-share/pn-share.js.map +1 -1
  159. package/collection/components/cta/pn-spotlight/pn-spotlight.js +1 -0
  160. package/collection/components/cta/pn-spotlight/pn-spotlight.js.map +1 -1
  161. package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.js +5 -5
  162. package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.js.map +1 -1
  163. package/collection/components/input/pn-address-autofill/pn-address-autofill.js +46 -47
  164. package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
  165. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js +1 -0
  166. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js.map +1 -1
  167. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.js +1 -0
  168. package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.js.map +1 -1
  169. package/collection/components/input/pn-choice-button/pn-choice-button.js +1 -0
  170. package/collection/components/input/pn-choice-button/pn-choice-button.js.map +1 -1
  171. package/collection/components/input/pn-date-and-time/pn-date-and-time.js +13 -14
  172. package/collection/components/input/pn-date-and-time/pn-date-and-time.js.map +1 -1
  173. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +51 -35
  174. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
  175. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.stories.js +1 -1
  176. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.js +13 -9
  177. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows-row.js.map +1 -1
  178. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js +46 -39
  179. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js.map +1 -1
  180. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.stories.js +1 -1
  181. package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.js +2 -2
  182. package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.js.map +1 -1
  183. package/collection/components/input/pn-marketweb-input/pn-marketweb-input.js +1 -2
  184. package/collection/components/input/pn-marketweb-input/pn-marketweb-input.js.map +1 -1
  185. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +5 -0
  186. package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js.map +1 -1
  187. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js +37 -44
  188. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js.map +1 -1
  189. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js +40 -33
  190. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js.map +1 -1
  191. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.stories.js +1 -1
  192. package/collection/components/input/pn-multiple-input/pn-multiple-input.js +9 -5
  193. package/collection/components/input/pn-multiple-input/pn-multiple-input.js.map +1 -1
  194. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +17 -22
  195. package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js.map +1 -1
  196. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js +2 -0
  197. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js.map +1 -1
  198. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js +5 -4
  199. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js.map +1 -1
  200. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.js +6 -7
  201. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.js.map +1 -1
  202. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js +1 -0
  203. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js.map +1 -1
  204. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +7 -8
  205. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js.map +1 -1
  206. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +7 -6
  207. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
  208. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.js +3 -2
  209. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.js.map +1 -1
  210. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -0
  211. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js.map +1 -1
  212. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +21 -25
  213. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js.map +1 -1
  214. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js +5 -22
  215. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.stories.js.map +1 -1
  216. package/collection/components/media/pn-media-block/pn-media-block.js +31 -28
  217. package/collection/components/media/pn-media-block/pn-media-block.js.map +1 -1
  218. package/collection/components/minor/pn-app-banner/pn-app-banner.js +15 -14
  219. package/collection/components/minor/pn-app-banner/pn-app-banner.js.map +1 -1
  220. package/collection/components/minor/pn-swan/pn-swan.js +1 -0
  221. package/collection/components/minor/pn-swan/pn-swan.js.map +1 -1
  222. package/collection/components/minor/pn-titletag/pn-titletag.js +1 -0
  223. package/collection/components/minor/pn-titletag/pn-titletag.js.map +1 -1
  224. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -0
  225. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js.map +1 -1
  226. package/collection/components/navigation/pn-language-selector/pn-language-selector.js +4 -2
  227. package/collection/components/navigation/pn-language-selector/pn-language-selector.js.map +1 -1
  228. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -1
  229. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js.map +1 -1
  230. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +2 -1
  231. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js.map +1 -1
  232. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -0
  233. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js.map +1 -1
  234. package/collection/components/navigation/pn-mainnav/pn-mainnav.js +4 -0
  235. package/collection/components/navigation/pn-mainnav/pn-mainnav.js.map +1 -1
  236. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +3 -3
  237. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js.map +1 -1
  238. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +2 -1
  239. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js.map +1 -1
  240. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -0
  241. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js.map +1 -1
  242. package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -0
  243. package/collection/components/navigation/pn-sidenav/pn-sidenav.js.map +1 -1
  244. package/collection/components/navigation/pn-site-selector/pn-site-selector.js +1 -0
  245. package/collection/components/navigation/pn-site-selector/pn-site-selector.js.map +1 -1
  246. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -0
  247. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js.map +1 -1
  248. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -0
  249. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js.map +1 -1
  250. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +2 -0
  251. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js.map +1 -1
  252. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +3 -0
  253. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js.map +1 -1
  254. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -0
  255. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js.map +1 -1
  256. package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -0
  257. package/collection/components/profile/pn-profile-modal/pn-profile-modal.js.map +1 -1
  258. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -0
  259. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js.map +1 -1
  260. package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -0
  261. package/collection/components/profile/pn-profile-selector/pn-profile-selector.js.map +1 -1
  262. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -0
  263. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js.map +1 -1
  264. package/collection/components/widgets/pn-find-price/pn-find-price.js +1 -2
  265. package/collection/components/widgets/pn-find-price/pn-find-price.js.map +1 -1
  266. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +2 -3
  267. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js.map +1 -1
  268. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +3 -2
  269. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js.map +1 -1
  270. package/collection/components/widgets/pn-link-list/pn-link-list.js +33 -37
  271. package/collection/components/widgets/pn-link-list/pn-link-list.js.map +1 -1
  272. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -0
  273. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js.map +1 -1
  274. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -3
  275. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js.map +1 -1
  276. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +8 -12
  277. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js.map +1 -1
  278. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +15 -22
  279. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js.map +1 -1
  280. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +8 -12
  281. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js.map +1 -1
  282. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -0
  283. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js.map +1 -1
  284. package/collection/globals/FetchHelper.js +35 -35
  285. package/collection/globals/FetchHelper.js.map +1 -1
  286. package/collection/globals/MarketWebContextService.js +86 -87
  287. package/collection/globals/MarketWebContextService.js.map +1 -1
  288. package/collection/globals/MarketWebLoginManager.js +60 -61
  289. package/collection/globals/MarketWebLoginManager.js.map +1 -1
  290. package/components/FetchHelper.js +121 -122
  291. package/components/FetchHelper.js.map +1 -1
  292. package/components/pn-address-autofill.js +46 -48
  293. package/components/pn-address-autofill.js.map +1 -1
  294. package/components/pn-animated-tile.js +4 -4
  295. package/components/pn-animated-tile.js.map +1 -1
  296. package/components/pn-app-banner.js +15 -15
  297. package/components/pn-app-banner.js.map +1 -1
  298. package/components/pn-bonus-progressbar-level.js +1 -1
  299. package/components/pn-bonus-progressbar-level.js.map +1 -1
  300. package/components/pn-bonus-progressbar.js +1 -1
  301. package/components/pn-bonus-progressbar.js.map +1 -1
  302. package/components/pn-breakpoints.js +1 -1
  303. package/components/pn-breakpoints.js.map +1 -1
  304. package/components/pn-chart.js +47 -10
  305. package/components/pn-chart.js.map +1 -1
  306. package/components/pn-charts-card.js +7 -7
  307. package/components/pn-charts-card.js.map +1 -1
  308. package/components/pn-choice-button2.js +1 -1
  309. package/components/pn-choice-button2.js.map +1 -1
  310. package/components/pn-cta-block.js +1 -1
  311. package/components/pn-cta-block.js.map +1 -1
  312. package/components/pn-customernumber-selector-option.js +1 -1
  313. package/components/pn-customernumber-selector-option.js.map +1 -1
  314. package/components/pn-customernumber-selector.js +1 -1
  315. package/components/pn-customernumber-selector.js.map +1 -1
  316. package/components/pn-date-and-time.js +13 -15
  317. package/components/pn-date-and-time.js.map +1 -1
  318. package/components/pn-dropdown-choice-adds-row.js +34 -36
  319. package/components/pn-dropdown-choice-adds-row.js.map +1 -1
  320. package/components/pn-dropdown-with-multi-input-rows-row2.js +13 -10
  321. package/components/pn-dropdown-with-multi-input-rows-row2.js.map +1 -1
  322. package/components/pn-dropdown-with-multi-input-rows.js +46 -40
  323. package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
  324. package/components/pn-filter-checkbox2.js +2 -3
  325. package/components/pn-filter-checkbox2.js.map +1 -1
  326. package/components/pn-find-price.js +1 -2
  327. package/components/pn-find-price.js.map +1 -1
  328. package/components/pn-find-service-and-price.js +2 -3
  329. package/components/pn-find-service-and-price.js.map +1 -1
  330. package/components/pn-hero-block-international.js +3 -3
  331. package/components/pn-hero-block-international.js.map +1 -1
  332. package/components/pn-language-selector-option2.js +1 -0
  333. package/components/pn-language-selector-option2.js.map +1 -1
  334. package/components/pn-language-selector2.js +4 -3
  335. package/components/pn-language-selector2.js.map +1 -1
  336. package/components/pn-line-shape.js +1 -1
  337. package/components/pn-line-shape.js.map +1 -1
  338. package/components/pn-link-list.js +33 -37
  339. package/components/pn-link-list.js.map +1 -1
  340. package/components/pn-mainnav-level2.js +2 -2
  341. package/components/pn-mainnav-level2.js.map +1 -1
  342. package/components/pn-mainnav-link2.js +2 -2
  343. package/components/pn-mainnav-link2.js.map +1 -1
  344. package/components/pn-mainnav-list2.js +1 -1
  345. package/components/pn-mainnav-list2.js.map +1 -1
  346. package/components/pn-mainnav2.js +4 -1
  347. package/components/pn-mainnav2.js.map +1 -1
  348. package/components/pn-marketweb-input2.js +1 -2
  349. package/components/pn-marketweb-input2.js.map +1 -1
  350. package/components/pn-marketweb-search.js +5 -1
  351. package/components/pn-marketweb-search.js.map +1 -1
  352. package/components/pn-marketweb-sitefooter.js +17 -23
  353. package/components/pn-marketweb-sitefooter.js.map +1 -1
  354. package/components/pn-marketweb-siteheader-login-button2.js +2 -1
  355. package/components/pn-marketweb-siteheader-login-button2.js.map +1 -1
  356. package/components/pn-marketweb-siteheader-login-linklist2.js +5 -5
  357. package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
  358. package/components/pn-marketweb-siteheader-login-links2.js +6 -8
  359. package/components/pn-marketweb-siteheader-login-links2.js.map +1 -1
  360. package/components/pn-marketweb-siteheader-login-mypage-button2.js +1 -1
  361. package/components/pn-marketweb-siteheader-login-mypage-button2.js.map +1 -1
  362. package/components/pn-marketweb-siteheader-login-profileselection2.js +7 -9
  363. package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
  364. package/components/pn-marketweb-siteheader-login2.js +67 -68
  365. package/components/pn-marketweb-siteheader-login2.js.map +1 -1
  366. package/components/pn-marketweb-siteheader-search2.js +3 -3
  367. package/components/pn-marketweb-siteheader-search2.js.map +1 -1
  368. package/components/pn-marketweb-siteheader-unified-login2.js +1 -1
  369. package/components/pn-marketweb-siteheader-unified-login2.js.map +1 -1
  370. package/components/pn-marketweb-siteheader.js +21 -26
  371. package/components/pn-marketweb-siteheader.js.map +1 -1
  372. package/components/pn-media-block.js +31 -29
  373. package/components/pn-media-block.js.map +1 -1
  374. package/components/pn-multi-row-connected-dropdown-row2.js +37 -45
  375. package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
  376. package/components/pn-multi-row-connected-dropdown.js +40 -34
  377. package/components/pn-multi-row-connected-dropdown.js.map +1 -1
  378. package/components/pn-multiple-input.js +9 -6
  379. package/components/pn-multiple-input.js.map +1 -1
  380. package/components/pn-parcel-tracker.js +1 -1
  381. package/components/pn-parcel-tracker.js.map +1 -1
  382. package/components/pn-pex-pricefinder.js +1 -1
  383. package/components/pn-pex-pricefinder.js.map +1 -1
  384. package/components/pn-play-on-scroll2.js +19 -17
  385. package/components/pn-play-on-scroll2.js.map +1 -1
  386. package/components/pn-product-pricelist.js +2 -3
  387. package/components/pn-product-pricelist.js.map +1 -1
  388. package/components/pn-profile-modal-customernumber.js +2 -1
  389. package/components/pn-profile-modal-customernumber.js.map +1 -1
  390. package/components/pn-profile-modal-profile.js +3 -1
  391. package/components/pn-profile-modal-profile.js.map +1 -1
  392. package/components/pn-profile-modal-type.js +1 -1
  393. package/components/pn-profile-modal-type.js.map +1 -1
  394. package/components/pn-profile-modal.js +1 -1
  395. package/components/pn-profile-modal.js.map +1 -1
  396. package/components/pn-profile-selector-option.js +1 -1
  397. package/components/pn-profile-selector-option.js.map +1 -1
  398. package/components/pn-profile-selector.js +1 -1
  399. package/components/pn-profile-selector.js.map +1 -1
  400. package/components/pn-proxio-findprice-result2.js +8 -12
  401. package/components/pn-proxio-findprice-result2.js.map +1 -1
  402. package/components/pn-proxio-findprice.js +15 -22
  403. package/components/pn-proxio-findprice.js.map +1 -1
  404. package/components/pn-proxio-pricegroup.js +8 -12
  405. package/components/pn-proxio-pricegroup.js.map +1 -1
  406. package/components/pn-quick-cta.js +1 -1
  407. package/components/pn-quick-cta.js.map +1 -1
  408. package/components/pn-quote-card.js +1 -1
  409. package/components/pn-quote-card.js.map +1 -1
  410. package/components/pn-scroll2.js +5 -5
  411. package/components/pn-scroll2.js.map +1 -1
  412. package/components/pn-share-item2.js +1 -1
  413. package/components/pn-share-item2.js.map +1 -1
  414. package/components/pn-share.js +1 -1
  415. package/components/pn-share.js.map +1 -1
  416. package/components/pn-sidenav-level.js +3 -4
  417. package/components/pn-sidenav-level.js.map +1 -1
  418. package/components/pn-sidenav-link.js +2 -2
  419. package/components/pn-sidenav-link.js.map +1 -1
  420. package/components/pn-sidenav-togglebutton.js +1 -1
  421. package/components/pn-sidenav-togglebutton.js.map +1 -1
  422. package/components/pn-sidenav.js +1 -1
  423. package/components/pn-sidenav.js.map +1 -1
  424. package/components/pn-site-selector2.js +1 -1
  425. package/components/pn-site-selector2.js.map +1 -1
  426. package/components/pn-spotlight.js +1 -1
  427. package/components/pn-spotlight.js.map +1 -1
  428. package/components/pn-stats-info-data2.js +5 -5
  429. package/components/pn-stats-info-data2.js.map +1 -1
  430. package/components/pn-swan2.js +1 -1
  431. package/components/pn-swan2.js.map +1 -1
  432. package/components/pn-teaser-card.js +2 -3
  433. package/components/pn-teaser-card.js.map +1 -1
  434. package/components/pn-titletag2.js +1 -1
  435. package/components/pn-titletag2.js.map +1 -1
  436. package/components/pn-usp-promoter.js +1 -1
  437. package/components/pn-usp-promoter.js.map +1 -1
  438. package/components/pn-video-overlay2.js +11 -10
  439. package/components/pn-video-overlay2.js.map +1 -1
  440. package/esm/{FetchHelper-03b37a44.js → FetchHelper-da579b12.js} +122 -123
  441. package/esm/FetchHelper-da579b12.js.map +1 -0
  442. package/esm/loader.js +1 -1
  443. package/esm/pn-address-autofill.entry.js +48 -50
  444. package/esm/pn-address-autofill.entry.js.map +1 -1
  445. package/esm/pn-animated-tile.entry.js +5 -5
  446. package/esm/pn-animated-tile.entry.js.map +1 -1
  447. package/esm/pn-app-banner.entry.js +16 -16
  448. package/esm/pn-app-banner.entry.js.map +1 -1
  449. package/esm/pn-bonus-progressbar-level.entry.js +2 -2
  450. package/esm/pn-bonus-progressbar-level.entry.js.map +1 -1
  451. package/esm/pn-bonus-progressbar.entry.js +2 -2
  452. package/esm/pn-bonus-progressbar.entry.js.map +1 -1
  453. package/esm/pn-breakpoints.entry.js +2 -2
  454. package/esm/pn-breakpoints.entry.js.map +1 -1
  455. package/esm/pn-chart.entry.js +48 -11
  456. package/esm/pn-chart.entry.js.map +1 -1
  457. package/esm/pn-charts-card.entry.js +8 -8
  458. package/esm/pn-charts-card.entry.js.map +1 -1
  459. package/esm/pn-choice-button.entry.js +2 -2
  460. package/esm/pn-choice-button.entry.js.map +1 -1
  461. package/esm/pn-cta-block.entry.js +2 -2
  462. package/esm/pn-cta-block.entry.js.map +1 -1
  463. package/esm/pn-customernumber-selector-option.entry.js +2 -2
  464. package/esm/pn-customernumber-selector-option.entry.js.map +1 -1
  465. package/esm/pn-customernumber-selector.entry.js +2 -2
  466. package/esm/pn-customernumber-selector.entry.js.map +1 -1
  467. package/esm/pn-date-and-time.entry.js +14 -16
  468. package/esm/pn-date-and-time.entry.js.map +1 -1
  469. package/esm/pn-dropdown-choice-adds-row.entry.js +34 -37
  470. package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
  471. package/esm/pn-dropdown-with-multi-input-rows-row.entry.js +14 -11
  472. package/esm/pn-dropdown-with-multi-input-rows-row.entry.js.map +1 -1
  473. package/esm/pn-dropdown-with-multi-input-rows.entry.js +47 -41
  474. package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
  475. package/esm/pn-filter-checkbox.entry.js +3 -4
  476. package/esm/pn-filter-checkbox.entry.js.map +1 -1
  477. package/esm/pn-find-price.entry.js +1 -2
  478. package/esm/pn-find-price.entry.js.map +1 -1
  479. package/esm/pn-find-service-and-price.entry.js +2 -3
  480. package/esm/pn-find-service-and-price.entry.js.map +1 -1
  481. package/esm/pn-hero-block-international.entry.js +4 -4
  482. package/esm/pn-hero-block-international.entry.js.map +1 -1
  483. package/esm/pn-language-selector_9.entry.js +84 -80
  484. package/esm/pn-language-selector_9.entry.js.map +1 -1
  485. package/esm/pn-line-shape.entry.js +2 -2
  486. package/esm/pn-line-shape.entry.js.map +1 -1
  487. package/esm/pn-link-list.entry.js +33 -37
  488. package/esm/pn-link-list.entry.js.map +1 -1
  489. package/esm/pn-mainnav-link.entry.js +3 -3
  490. package/esm/pn-mainnav-link.entry.js.map +1 -1
  491. package/esm/pn-market-web-components.js +1 -1
  492. package/esm/pn-marketweb-input.entry.js +1 -2
  493. package/esm/pn-marketweb-input.entry.js.map +1 -1
  494. package/esm/pn-marketweb-search.entry.js +6 -2
  495. package/esm/pn-marketweb-search.entry.js.map +1 -1
  496. package/esm/pn-marketweb-sitefooter.entry.js +19 -25
  497. package/esm/pn-marketweb-sitefooter.entry.js.map +1 -1
  498. package/esm/pn-marketweb-siteheader-login-button_5.entry.js +18 -21
  499. package/esm/pn-marketweb-siteheader-login-button_5.entry.js.map +1 -1
  500. package/esm/pn-marketweb-siteheader-login-linklist.entry.js +6 -6
  501. package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +1 -1
  502. package/esm/pn-marketweb-siteheader.entry.js +23 -28
  503. package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
  504. package/esm/pn-media-block.entry.js +32 -30
  505. package/esm/pn-media-block.entry.js.map +1 -1
  506. package/esm/pn-multi-row-connected-dropdown-row.entry.js +38 -46
  507. package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
  508. package/esm/pn-multi-row-connected-dropdown.entry.js +41 -35
  509. package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
  510. package/esm/pn-multiple-input.entry.js +10 -7
  511. package/esm/pn-multiple-input.entry.js.map +1 -1
  512. package/esm/pn-parcel-tracker.entry.js +2 -2
  513. package/esm/pn-parcel-tracker.entry.js.map +1 -1
  514. package/esm/pn-pex-pricefinder.entry.js +2 -2
  515. package/esm/pn-pex-pricefinder.entry.js.map +1 -1
  516. package/esm/pn-play-on-scroll.entry.js +20 -18
  517. package/esm/pn-play-on-scroll.entry.js.map +1 -1
  518. package/esm/pn-product-pricelist.entry.js +2 -3
  519. package/esm/pn-product-pricelist.entry.js.map +1 -1
  520. package/esm/pn-profile-modal-customernumber.entry.js +3 -2
  521. package/esm/pn-profile-modal-customernumber.entry.js.map +1 -1
  522. package/esm/pn-profile-modal-profile.entry.js +4 -2
  523. package/esm/pn-profile-modal-profile.entry.js.map +1 -1
  524. package/esm/pn-profile-modal-type.entry.js +2 -2
  525. package/esm/pn-profile-modal-type.entry.js.map +1 -1
  526. package/esm/pn-profile-modal.entry.js +2 -2
  527. package/esm/pn-profile-modal.entry.js.map +1 -1
  528. package/esm/pn-profile-selector-option.entry.js +2 -2
  529. package/esm/pn-profile-selector-option.entry.js.map +1 -1
  530. package/esm/pn-profile-selector.entry.js +2 -2
  531. package/esm/pn-profile-selector.entry.js.map +1 -1
  532. package/esm/pn-proxio-findprice-result.entry.js +8 -12
  533. package/esm/pn-proxio-findprice-result.entry.js.map +1 -1
  534. package/esm/pn-proxio-findprice.entry.js +16 -23
  535. package/esm/pn-proxio-findprice.entry.js.map +1 -1
  536. package/esm/pn-proxio-pricegroup.entry.js +9 -13
  537. package/esm/pn-proxio-pricegroup.entry.js.map +1 -1
  538. package/esm/pn-quick-cta.entry.js +2 -2
  539. package/esm/pn-quick-cta.entry.js.map +1 -1
  540. package/esm/pn-quote-card.entry.js +2 -2
  541. package/esm/pn-quote-card.entry.js.map +1 -1
  542. package/esm/pn-scroll_2.entry.js +17 -16
  543. package/esm/pn-scroll_2.entry.js.map +1 -1
  544. package/esm/pn-share-item.entry.js +2 -2
  545. package/esm/pn-share-item.entry.js.map +1 -1
  546. package/esm/pn-share.entry.js +2 -2
  547. package/esm/pn-share.entry.js.map +1 -1
  548. package/esm/pn-sidenav-level.entry.js +4 -5
  549. package/esm/pn-sidenav-level.entry.js.map +1 -1
  550. package/esm/pn-sidenav-link.entry.js +3 -3
  551. package/esm/pn-sidenav-link.entry.js.map +1 -1
  552. package/esm/pn-sidenav-togglebutton.entry.js +2 -2
  553. package/esm/pn-sidenav-togglebutton.entry.js.map +1 -1
  554. package/esm/pn-sidenav.entry.js +2 -2
  555. package/esm/pn-sidenav.entry.js.map +1 -1
  556. package/esm/pn-site-footer_3.entry.js +1 -1
  557. package/esm/pn-site-footer_3.entry.js.map +1 -1
  558. package/esm/pn-spotlight.entry.js +2 -2
  559. package/esm/pn-spotlight.entry.js.map +1 -1
  560. package/esm/pn-stats-info-data.entry.js +5 -5
  561. package/esm/pn-stats-info-data.entry.js.map +1 -1
  562. package/esm/pn-teaser-card.entry.js +3 -4
  563. package/esm/pn-teaser-card.entry.js.map +1 -1
  564. package/esm/pn-titletag.entry.js +2 -2
  565. package/esm/pn-titletag.entry.js.map +1 -1
  566. package/esm/pn-usp-promoter.entry.js +2 -2
  567. package/esm/pn-usp-promoter.entry.js.map +1 -1
  568. package/package.json +1 -2
  569. package/pn-market-web-components/{p-8ca34ec3.entry.js → p-0247c553.entry.js} +2 -2
  570. package/pn-market-web-components/p-0247c553.entry.js.map +1 -0
  571. package/pn-market-web-components/{p-3f50be05.entry.js → p-09b9cc06.entry.js} +2 -2
  572. package/pn-market-web-components/{p-3f50be05.entry.js.map → p-09b9cc06.entry.js.map} +1 -1
  573. package/pn-market-web-components/{p-03dfc155.entry.js → p-0a522476.entry.js} +2 -2
  574. package/pn-market-web-components/{p-03dfc155.entry.js.map → p-0a522476.entry.js.map} +1 -1
  575. package/pn-market-web-components/{p-2b2b615e.entry.js → p-1317587f.entry.js} +4 -4
  576. package/pn-market-web-components/{p-2b2b615e.entry.js.map → p-1317587f.entry.js.map} +1 -1
  577. package/pn-market-web-components/p-1535a09f.entry.js +2 -0
  578. package/pn-market-web-components/p-1535a09f.entry.js.map +1 -0
  579. package/pn-market-web-components/{p-470ca6e7.entry.js → p-1578e02e.entry.js} +2 -2
  580. package/pn-market-web-components/{p-470ca6e7.entry.js.map → p-1578e02e.entry.js.map} +1 -1
  581. package/pn-market-web-components/p-16f70311.entry.js +2 -0
  582. package/pn-market-web-components/{p-b7a5fb1b.entry.js.map → p-16f70311.entry.js.map} +1 -1
  583. package/pn-market-web-components/{p-c8bbdd96.entry.js → p-190c671b.entry.js} +2 -2
  584. package/pn-market-web-components/{p-c8bbdd96.entry.js.map → p-190c671b.entry.js.map} +1 -1
  585. package/pn-market-web-components/{p-3e4208bb.entry.js → p-1bd5fa26.entry.js} +2 -2
  586. package/pn-market-web-components/{p-3e4208bb.entry.js.map → p-1bd5fa26.entry.js.map} +1 -1
  587. package/pn-market-web-components/{p-e74e962e.entry.js → p-2044eddc.entry.js} +2 -2
  588. package/pn-market-web-components/{p-e74e962e.entry.js.map → p-2044eddc.entry.js.map} +1 -1
  589. package/pn-market-web-components/p-370829c6.entry.js +2 -0
  590. package/pn-market-web-components/p-370829c6.entry.js.map +1 -0
  591. package/pn-market-web-components/p-391970af.entry.js +2 -0
  592. package/pn-market-web-components/p-391970af.entry.js.map +1 -0
  593. package/pn-market-web-components/{p-49fd7182.entry.js → p-40538914.entry.js} +2 -2
  594. package/pn-market-web-components/{p-49fd7182.entry.js.map → p-40538914.entry.js.map} +1 -1
  595. package/pn-market-web-components/{p-fa9ea740.entry.js → p-4372d10e.entry.js} +2 -2
  596. package/pn-market-web-components/p-4372d10e.entry.js.map +1 -0
  597. package/pn-market-web-components/p-4ea1409d.entry.js +2 -0
  598. package/pn-market-web-components/p-4ea1409d.entry.js.map +1 -0
  599. package/pn-market-web-components/{p-66981606.entry.js → p-56bd346e.entry.js} +2 -2
  600. package/pn-market-web-components/{p-66981606.entry.js.map → p-56bd346e.entry.js.map} +1 -1
  601. package/pn-market-web-components/p-586a1e3c.entry.js +2 -0
  602. package/pn-market-web-components/{p-f8eb860b.entry.js.map → p-586a1e3c.entry.js.map} +1 -1
  603. package/pn-market-web-components/{p-baa28521.entry.js → p-5a467ca6.entry.js} +2 -2
  604. package/pn-market-web-components/{p-baa28521.entry.js.map → p-5a467ca6.entry.js.map} +1 -1
  605. package/pn-market-web-components/p-5ac23b38.entry.js +2 -0
  606. package/pn-market-web-components/p-5ac23b38.entry.js.map +1 -0
  607. package/pn-market-web-components/{p-7fdc49d1.entry.js → p-63505736.entry.js} +2 -2
  608. package/pn-market-web-components/p-63505736.entry.js.map +1 -0
  609. package/pn-market-web-components/{p-3696ebf8.entry.js → p-67d862ac.entry.js} +2 -2
  610. package/pn-market-web-components/{p-3696ebf8.entry.js.map → p-67d862ac.entry.js.map} +1 -1
  611. package/pn-market-web-components/{p-3d3f0648.entry.js → p-68aa55f7.entry.js} +2 -2
  612. package/pn-market-web-components/{p-3d3f0648.entry.js.map → p-68aa55f7.entry.js.map} +1 -1
  613. package/pn-market-web-components/{p-d2109ea6.entry.js → p-6e9875e5.entry.js} +2 -2
  614. package/pn-market-web-components/p-6e9875e5.entry.js.map +1 -0
  615. package/pn-market-web-components/p-7021985c.entry.js +2 -0
  616. package/pn-market-web-components/{p-c64cb117.entry.js.map → p-7021985c.entry.js.map} +1 -1
  617. package/pn-market-web-components/{p-716165d2.entry.js → p-721598b8.entry.js} +2 -2
  618. package/pn-market-web-components/p-721598b8.entry.js.map +1 -0
  619. package/pn-market-web-components/p-73cef33c.js +2 -0
  620. package/pn-market-web-components/p-73cef33c.js.map +1 -0
  621. package/pn-market-web-components/p-74203d3e.entry.js +2 -0
  622. package/pn-market-web-components/{p-545ea4ef.entry.js.map → p-74203d3e.entry.js.map} +1 -1
  623. package/pn-market-web-components/p-781ef432.entry.js +2 -0
  624. package/pn-market-web-components/p-781ef432.entry.js.map +1 -0
  625. package/pn-market-web-components/{p-3a08299c.entry.js → p-78fbc88c.entry.js} +2 -2
  626. package/pn-market-web-components/{p-3a08299c.entry.js.map → p-78fbc88c.entry.js.map} +1 -1
  627. package/pn-market-web-components/{p-22a65c3e.entry.js → p-796ebfee.entry.js} +2 -2
  628. package/pn-market-web-components/p-796ebfee.entry.js.map +1 -0
  629. package/pn-market-web-components/p-7b05d7c7.entry.js +2 -0
  630. package/pn-market-web-components/p-7b05d7c7.entry.js.map +1 -0
  631. package/pn-market-web-components/{p-6b2009dc.entry.js → p-81b3e038.entry.js} +2 -2
  632. package/pn-market-web-components/{p-6b2009dc.entry.js.map → p-81b3e038.entry.js.map} +1 -1
  633. package/pn-market-web-components/p-828449da.entry.js +2 -0
  634. package/pn-market-web-components/{p-db2f3f6d.entry.js.map → p-828449da.entry.js.map} +1 -1
  635. package/pn-market-web-components/p-85d57c9d.entry.js +2 -0
  636. package/pn-market-web-components/p-85d57c9d.entry.js.map +1 -0
  637. package/pn-market-web-components/p-90ba1d8e.entry.js +2 -0
  638. package/pn-market-web-components/{p-655e6f71.entry.js.map → p-90ba1d8e.entry.js.map} +1 -1
  639. package/pn-market-web-components/{p-eee5ec0a.entry.js → p-931d3a9b.entry.js} +2 -2
  640. package/pn-market-web-components/{p-eee5ec0a.entry.js.map → p-931d3a9b.entry.js.map} +1 -1
  641. package/pn-market-web-components/{p-9a93bcd0.entry.js → p-95c10b7e.entry.js} +2 -2
  642. package/pn-market-web-components/{p-9a93bcd0.entry.js.map → p-95c10b7e.entry.js.map} +1 -1
  643. package/pn-market-web-components/{p-138ecede.entry.js → p-95e054fd.entry.js} +2 -2
  644. package/pn-market-web-components/{p-138ecede.entry.js.map → p-95e054fd.entry.js.map} +1 -1
  645. package/pn-market-web-components/p-9776a1c5.entry.js +2 -0
  646. package/pn-market-web-components/p-9776a1c5.entry.js.map +1 -0
  647. package/pn-market-web-components/{p-db2e2762.entry.js → p-9998c29d.entry.js} +2 -2
  648. package/pn-market-web-components/p-9998c29d.entry.js.map +1 -0
  649. package/pn-market-web-components/p-9a7abcee.entry.js +2 -0
  650. package/pn-market-web-components/p-9a7abcee.entry.js.map +1 -0
  651. package/pn-market-web-components/{p-0dca82de.entry.js → p-9be27d72.entry.js} +2 -2
  652. package/pn-market-web-components/{p-0dca82de.entry.js.map → p-9be27d72.entry.js.map} +1 -1
  653. package/pn-market-web-components/{p-48f6e683.entry.js → p-a8220c88.entry.js} +2 -2
  654. package/pn-market-web-components/{p-48f6e683.entry.js.map → p-a8220c88.entry.js.map} +1 -1
  655. package/pn-market-web-components/p-a9d2f528.entry.js +2 -0
  656. package/pn-market-web-components/p-a9d2f528.entry.js.map +1 -0
  657. package/pn-market-web-components/p-acbe60df.entry.js +2 -0
  658. package/pn-market-web-components/p-acbe60df.entry.js.map +1 -0
  659. package/pn-market-web-components/{p-5666f0e7.entry.js → p-ade7ffcf.entry.js} +2 -2
  660. package/pn-market-web-components/p-ade7ffcf.entry.js.map +1 -0
  661. package/pn-market-web-components/p-b2dcce7c.entry.js +2 -0
  662. package/pn-market-web-components/p-b2dcce7c.entry.js.map +1 -0
  663. package/pn-market-web-components/{p-10a3c6f4.entry.js → p-b765e4a9.entry.js} +2 -2
  664. package/pn-market-web-components/p-b765e4a9.entry.js.map +1 -0
  665. package/pn-market-web-components/{p-914e1d15.entry.js → p-c224d7c4.entry.js} +2 -2
  666. package/pn-market-web-components/p-c224d7c4.entry.js.map +1 -0
  667. package/pn-market-web-components/{p-787e20a1.entry.js → p-c5856c0b.entry.js} +2 -2
  668. package/pn-market-web-components/{p-787e20a1.entry.js.map → p-c5856c0b.entry.js.map} +1 -1
  669. package/pn-market-web-components/p-c696bedf.entry.js +2 -0
  670. package/pn-market-web-components/{p-012ee486.entry.js.map → p-c696bedf.entry.js.map} +1 -1
  671. package/pn-market-web-components/p-c9f21ea3.entry.js +2 -0
  672. package/pn-market-web-components/{p-03cb46c2.entry.js.map → p-c9f21ea3.entry.js.map} +1 -1
  673. package/pn-market-web-components/{p-87aa1f73.entry.js → p-d07cf4c8.entry.js} +2 -2
  674. package/pn-market-web-components/{p-87aa1f73.entry.js.map → p-d07cf4c8.entry.js.map} +1 -1
  675. package/pn-market-web-components/p-d40ff187.entry.js +2 -0
  676. package/pn-market-web-components/p-d40ff187.entry.js.map +1 -0
  677. package/pn-market-web-components/{p-f21fdae0.entry.js → p-e42f0fbe.entry.js} +2 -2
  678. package/pn-market-web-components/{p-f21fdae0.entry.js.map → p-e42f0fbe.entry.js.map} +1 -1
  679. package/pn-market-web-components/{p-4f2a7d41.entry.js → p-e4c7aaec.entry.js} +2 -2
  680. package/pn-market-web-components/{p-4f2a7d41.entry.js.map → p-e4c7aaec.entry.js.map} +1 -1
  681. package/pn-market-web-components/{p-107568aa.entry.js → p-e5345c69.entry.js} +2 -2
  682. package/pn-market-web-components/p-e5345c69.entry.js.map +1 -0
  683. package/pn-market-web-components/p-e9501c6f.entry.js +2 -0
  684. package/pn-market-web-components/p-e9501c6f.entry.js.map +1 -0
  685. package/pn-market-web-components/{p-fa3ccbfb.entry.js → p-ebaeee5e.entry.js} +2 -2
  686. package/pn-market-web-components/{p-fa3ccbfb.entry.js.map → p-ebaeee5e.entry.js.map} +1 -1
  687. package/pn-market-web-components/{p-9de267ec.entry.js → p-f2d0d0cc.entry.js} +2 -2
  688. package/pn-market-web-components/{p-9de267ec.entry.js.map → p-f2d0d0cc.entry.js.map} +1 -1
  689. package/pn-market-web-components/{p-da953848.entry.js → p-f62879f6.entry.js} +2 -2
  690. package/pn-market-web-components/p-f62879f6.entry.js.map +1 -0
  691. package/pn-market-web-components/{p-ec3fcbf9.entry.js → p-fbc07c7a.entry.js} +2 -2
  692. package/pn-market-web-components/{p-ec3fcbf9.entry.js.map → p-fbc07c7a.entry.js.map} +1 -1
  693. package/pn-market-web-components/p-fbe70284.entry.js +2 -0
  694. package/pn-market-web-components/{p-663e4bb8.entry.js.map → p-fbe70284.entry.js.map} +1 -1
  695. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  696. package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
  697. package/types/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.d.ts +1 -0
  698. package/types/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.d.ts +1 -1
  699. package/types/components.d.ts +2 -0
  700. package/umd/standalone-loader-salesforce.js +3 -3
  701. package/umd/standalone-loader.js +2 -2
  702. package/cjs/FetchHelper-8d537d38.js.map +0 -1
  703. package/esm/FetchHelper-03b37a44.js.map +0 -1
  704. package/pn-market-web-components/p-012ee486.entry.js +0 -2
  705. package/pn-market-web-components/p-03cb46c2.entry.js +0 -2
  706. package/pn-market-web-components/p-07253be3.entry.js +0 -2
  707. package/pn-market-web-components/p-07253be3.entry.js.map +0 -1
  708. package/pn-market-web-components/p-08a64973.entry.js +0 -2
  709. package/pn-market-web-components/p-08a64973.entry.js.map +0 -1
  710. package/pn-market-web-components/p-107568aa.entry.js.map +0 -1
  711. package/pn-market-web-components/p-10a3c6f4.entry.js.map +0 -1
  712. package/pn-market-web-components/p-161970d1.entry.js +0 -2
  713. package/pn-market-web-components/p-161970d1.entry.js.map +0 -1
  714. package/pn-market-web-components/p-22a65c3e.entry.js.map +0 -1
  715. package/pn-market-web-components/p-23916c49.entry.js +0 -2
  716. package/pn-market-web-components/p-23916c49.entry.js.map +0 -1
  717. package/pn-market-web-components/p-2ac83614.entry.js +0 -2
  718. package/pn-market-web-components/p-2ac83614.entry.js.map +0 -1
  719. package/pn-market-web-components/p-2fd40198.entry.js +0 -2
  720. package/pn-market-web-components/p-2fd40198.entry.js.map +0 -1
  721. package/pn-market-web-components/p-545ea4ef.entry.js +0 -2
  722. package/pn-market-web-components/p-5666f0e7.entry.js.map +0 -1
  723. package/pn-market-web-components/p-655e6f71.entry.js +0 -2
  724. package/pn-market-web-components/p-657957fc.entry.js +0 -2
  725. package/pn-market-web-components/p-657957fc.entry.js.map +0 -1
  726. package/pn-market-web-components/p-663e4bb8.entry.js +0 -2
  727. package/pn-market-web-components/p-67089fc8.entry.js +0 -2
  728. package/pn-market-web-components/p-67089fc8.entry.js.map +0 -1
  729. package/pn-market-web-components/p-716165d2.entry.js.map +0 -1
  730. package/pn-market-web-components/p-7fdc49d1.entry.js.map +0 -1
  731. package/pn-market-web-components/p-8ca34ec3.entry.js.map +0 -1
  732. package/pn-market-web-components/p-914e1d15.entry.js.map +0 -1
  733. package/pn-market-web-components/p-b7a5fb1b.entry.js +0 -2
  734. package/pn-market-web-components/p-be6e903e.entry.js +0 -2
  735. package/pn-market-web-components/p-be6e903e.entry.js.map +0 -1
  736. package/pn-market-web-components/p-bece6791.entry.js +0 -2
  737. package/pn-market-web-components/p-bece6791.entry.js.map +0 -1
  738. package/pn-market-web-components/p-c64cb117.entry.js +0 -2
  739. package/pn-market-web-components/p-c95def57.js +0 -2
  740. package/pn-market-web-components/p-c95def57.js.map +0 -1
  741. package/pn-market-web-components/p-d2109ea6.entry.js.map +0 -1
  742. package/pn-market-web-components/p-da0c533f.entry.js +0 -2
  743. package/pn-market-web-components/p-da0c533f.entry.js.map +0 -1
  744. package/pn-market-web-components/p-da953848.entry.js.map +0 -1
  745. package/pn-market-web-components/p-db2e2762.entry.js.map +0 -1
  746. package/pn-market-web-components/p-db2f3f6d.entry.js +0 -2
  747. package/pn-market-web-components/p-e0f4dc3d.entry.js +0 -2
  748. package/pn-market-web-components/p-e0f4dc3d.entry.js.map +0 -1
  749. package/pn-market-web-components/p-e8189227.entry.js +0 -2
  750. package/pn-market-web-components/p-e8189227.entry.js.map +0 -1
  751. package/pn-market-web-components/p-e9088d97.entry.js +0 -2
  752. package/pn-market-web-components/p-e9088d97.entry.js.map +0 -1
  753. package/pn-market-web-components/p-f8eb860b.entry.js +0 -2
  754. package/pn-market-web-components/p-fa9ea740.entry.js.map +0 -1
  755. package/pn-market-web-components/p-fd639f58.entry.js +0 -2
  756. package/pn-market-web-components/p-fd639f58.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"pn-marketweb-siteheader-login-profileselection2.js","mappings":"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","names":["headerState"],"sources":["src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.scss?tag=pn-marketweb-siteheader-login-profileselection","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login-profileselection {\n}\n\n.pn-marketweb-siteheader-login-profileselection-heading {\n display: block;\n padding: 0.5rem 0 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user,\n.pn-marketweb-siteheader-login-profileselection-currentprofile {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-name,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-name {\n line-height: 1;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-description,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-description {\n font-weight: 400;\n white-space: normal;\n word-break: break-all;\n color: $gray700;\n font-size: 0.75em;\n}\n\n.pn-marketweb-siteheader-login-profileselection-divider {\n height: 1rem;\n width: 100%;\n background: $blue400;\n position: relative;\n\n margin-left: -1em; // Negative positioning due to nav dropdown's padding\n margin-top: 1.6rem;\n margin-bottom: 1.6rem;\n border-radius: 0 0.6em 0.6em 0;\n padding: 0;\n &::after {\n content: '';\n width: 0.6em;\n height: 0.6em;\n border-radius: 50%;\n position: absolute;\n right: 0;\n top: 0;\n background: inherit;\n transform: translateX(calc(100% + 0.2em));\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption {\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-link {\n display: flex;\n background: $white;\n transition: background 0.15s ease-in-out;\n // width:100%;\n margin: 0 -1em; // Negative margin due to dropdown content padding\n padding: 0.6rem 1.6rem;\n text-decoration: none;\n color: $blue700;\n align-items: center;\n &:hover,\n &:focus,\n &:active {\n background: $gray50;\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-content {\n flex-grow: 1;\n}\n.pn-marketweb-siteheader-login-profileselection-profileoption-name {\n font-weight: 700;\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-description {\n font-weight: 400;\n white-space: normal;\n word-break: break-all;\n color: $gray700;\n font-size: 0.75em;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout {\n padding: 1.6rem;\n text-align: center;\n width: 100%;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout-link {\n display: inline-block;\n font-weight: 500;\n color: $blue700;\n text-decoration: none;\n &:hover,\n &:focus,\n &:active {\n text-decoration: underline;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nimport { IUserInfo } from '../../../globals/MarketWebLoginManager';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialog, LoginDialogLink, ProfileSelectorCustomerItem, ProfileSelectorOrganization, SiteHeaderI18N } from './pn-marketweb-siteheader-types';\nimport { arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-profileselection',\n styleUrl: 'pn-marketweb-siteheader-login-profileselection.scss',\n})\nexport class PnMarketwebSiteheaderLoginProfileselection {\n @Element() hostElement: HTMLElement;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n @Prop() endpoint: string = '';\n @Prop() loggedin: boolean = false;\n @Prop() idNamespace: string = '';\n @Prop() heading: string = null;\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n } as SiteHeaderI18N;\n\n @State() user: IUserInfo = null;\n\n @State() logoutLink: LoginDialogLink = null;\n @State() userName: string = null;\n @State() userEmail: string = '';\n\n @Prop({ mutable: true }) currentProfile: ProfileSelectorCustomerItem = null;\n @Prop({ mutable: true }) profileoptions: ProfileSelectorOrganization[] = [];\n\n componentWillLoad() {\n if (this.heading === null && this.i18n?.profileSelectionFlyoutHeading) {\n this.heading = this.i18n.profileSelectionFlyoutHeading;\n }\n this.init();\n }\n\n init() {\n this.updateUserInfo();\n this.adjustLoginLinks();\n this.fetchProfiles();\n }\n async fetchProfiles() {\n if (!this.loggedin || this.profileoptions.length > 0) {\n return;\n }\n let apiUrl = `${this.endpoint}${this.endpoint.lastIndexOf('/') > -1 && this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? '' : '/'}api/user/parentorganizations`;\n const req = await fetch(apiUrl);\n const reqdata = await req.json();\n const fallbackData = {\n loggedin: true,\n organizations: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '5564513603',\n id: 'dbba867d-1dff-3dbb-b420-c57b4b828b73',\n selected: true,\n profiles: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '20685482',\n id: 'f757ba28-9a73-15a2-f128-4b394d970f3f',\n ssid: '',\n selected: false,\n customerGroup: 'Business',\n },\n {\n name: 'ICA MAXI KUNGSBACKA',\n customerNumber: '20831191',\n id: '5aea41df-32b0-3f7e-2946-78598360177d',\n ssid: '259686',\n selected: true,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'Hem Livs i Kungsbacka AB',\n customerNumber: '5565271250',\n id: '97ca363c-40ef-cca9-7a3c-9e7f025567c2',\n selected: false,\n profiles: [\n {\n name: 'ICA KVANTUM KUNGSBACKA',\n customerNumber: '20831193',\n id: 'fbd61ffd-41c6-2206-b88e-cfef91e1dc39',\n ssid: '259691',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '5568902679',\n id: '7cb76a94-e1a5-5f57-58fd-bc563851b28e',\n selected: false,\n profiles: [\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '20831212',\n id: '3a2db017-b68f-6fa0-fe70-542c08cd97ce',\n ssid: '',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n ],\n };\n const data = window.location.href.indexOf('localhost:6008') !== -1 ? fallbackData : reqdata;\n\n if (!data || !data.organizations || !data.organizations.length) {\n return;\n }\n\n (data.organizations as ProfileSelectorOrganization[]).forEach(org => {\n if (org.selected === true && org.profiles) {\n const selectedProfile = org.profiles.filter(x => x.selected === true);\n if (selectedProfile && selectedProfile[0] && selectedProfile[0].customerGroup.toLocaleLowerCase() === 'agent' && selectedProfile[0].ssid) {\n org.customerNumber = selectedProfile[0].ssid;\n }\n } else {\n if (org.customerNumber.length === 10 && org.customerNumber.substring(0, 2) === '55') {\n org.customerNumber = org.customerNumber.substring(0, 6) + '-' + org.customerNumber.substring(6);\n }\n this.profileoptions.push(org);\n }\n });\n\n let currentProfileObj = data.organizations.filter(x => x.selected === true)[0];\n const userProfileOption = {\n name: this.userName,\n customerNumber: '',\n id: '',\n selected: !currentProfileObj,\n profiles: [],\n };\n if (!currentProfileObj) {\n currentProfileObj = userProfileOption;\n }\n\n if (currentProfileObj && currentProfileObj.name) {\n this.currentProfile = currentProfileObj;\n }\n this.profileoptions.push(userProfileOption);\n }\n adjustLoginLinks() {\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.href);\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 };\n\n if (this.loginDialog?.loggedInLinks) {\n this.loginDialog?.loggedInLinks.forEach(adjustLink);\n }\n\n this.logoutLink = this.loginDialog?.loggedInLinks.filter(x => x.isLogoutLink)[0] ?? null;\n }\n updateUserInfo() {\n const userInfo: IUserInfo = headerState.loginManager.getUserInfo();\n this.user = userInfo;\n if (!userInfo) {\n return;\n }\n if (userInfo && userInfo.email) {\n this.userEmail = userInfo.email;\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name;\n return;\n }\n if (userInfo && userInfo.family_name) {\n this.userName = userInfo.family_name;\n return;\n }\n if (userInfo && userInfo.username) {\n this.userName = userInfo.username;\n return;\n }\n }\n\n filterLogoutLink(loggedInLinks: LoginDialogLink[]): LoginDialogLink[] {\n return loggedInLinks.filter((link: LoginDialogLink) => !link.isLogoutLink);\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {};\n return (\n <Host {...hostElementAttribute}>\n {this.heading ? <strong class=\"pn-marketweb-siteheader-login-profileselection-heading\">{this.heading}</strong> : null}\n {this.currentProfile !== null && this.currentProfile.name ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-name\">{this.currentProfile.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-description\">\n {this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail}\n </div>\n </div>\n ) : null}\n\n <pn-marketweb-siteheader-login-linklist\n links={this.filterLogoutLink(this.loginDialog.loggedInLinks)}\n idNamespace={this.idNamespace}\n ></pn-marketweb-siteheader-login-linklist>\n\n <div class=\"pn-marketweb-siteheader-login-profileselection-divider\"></div>\n {this.profileoptions\n .filter(x => x.selected !== true)\n .map(organization => {\n let customerNumber = organization.profiles.length > 0 ? organization.profiles[0].customerNumber : organization.customerNumber;\n return (\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption\">\n {/* /api/user/setprofile? profile=xxxxx */}\n <a\n href={`${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${window.location.href}`}\n class=\"pn-marketweb-siteheader-login-profileselection-profileoption-link\"\n >\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-content\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-name\">{organization.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-description\">\n {organization.customerNumber ? organization.customerNumber : this.userEmail}\n </div>\n </div>\n <pn-icon icon={arrow_right} small=\"false\" color=\"blue700\"></pn-icon>\n </a>\n </div>\n );\n })}\n\n {this.logoutLink ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-logout\">\n {/* https://se-inte.postnord.com/UnifiedLogin/ExternalLoginCallback?returnUrl=https://se-inte.postnord.com/handla-online&profile=770e785b-702b-dc22-b1e9-4839eded4f83 */}\n <a\n href={this.logoutLink.href}\n rel=\"nofollower noopener\"\n id=\"pn-marketweb-header-logoutlink\"\n onClick={() => headerState.loginManager.clearUserData()}\n class=\"pn-marketweb-siteheader-login-profileselection-logout-link\"\n >\n {this.logoutLink.linkText}\n </a>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-marketweb-siteheader-login-profileselection2.js","mappings":"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","names":["headerState"],"sources":["src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.scss?tag=pn-marketweb-siteheader-login-profileselection","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login-profileselection {\n}\n\n.pn-marketweb-siteheader-login-profileselection-heading {\n display: block;\n padding: 0.5rem 0 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user,\n.pn-marketweb-siteheader-login-profileselection-currentprofile {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-name,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-name {\n line-height: 1;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-description,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-description {\n font-weight: 400;\n white-space: normal;\n word-break: break-all;\n color: $gray700;\n font-size: 0.75em;\n}\n\n.pn-marketweb-siteheader-login-profileselection-divider {\n height: 1rem;\n width: 100%;\n background: $blue400;\n position: relative;\n\n margin-left: -1em; // Negative positioning due to nav dropdown's padding\n margin-top: 1.6rem;\n margin-bottom: 1.6rem;\n border-radius: 0 0.6em 0.6em 0;\n padding: 0;\n &::after {\n content: '';\n width: 0.6em;\n height: 0.6em;\n border-radius: 50%;\n position: absolute;\n right: 0;\n top: 0;\n background: inherit;\n transform: translateX(calc(100% + 0.2em));\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption {\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-link {\n display: flex;\n background: $white;\n transition: background 0.15s ease-in-out;\n // width:100%;\n margin: 0 -1em; // Negative margin due to dropdown content padding\n padding: 0.6rem 1.6rem;\n text-decoration: none;\n color: $blue700;\n align-items: center;\n &:hover,\n &:focus,\n &:active {\n background: $gray50;\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-content {\n flex-grow: 1;\n}\n.pn-marketweb-siteheader-login-profileselection-profileoption-name {\n font-weight: 700;\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-description {\n font-weight: 400;\n white-space: normal;\n word-break: break-all;\n color: $gray700;\n font-size: 0.75em;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout {\n padding: 1.6rem;\n text-align: center;\n width: 100%;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout-link {\n display: inline-block;\n font-weight: 500;\n color: $blue700;\n text-decoration: none;\n &:hover,\n &:focus,\n &:active {\n text-decoration: underline;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nimport { IUserInfo } from '../../../globals/MarketWebLoginManager';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialog, LoginDialogLink, ProfileSelectorCustomerItem, ProfileSelectorOrganization, SiteHeaderI18N } from './pn-marketweb-siteheader-types';\nimport { arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-profileselection',\n styleUrl: 'pn-marketweb-siteheader-login-profileselection.scss',\n})\nexport class PnMarketwebSiteheaderLoginProfileselection {\n @Element() hostElement: HTMLElement;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n @Prop() endpoint: string = '';\n @Prop() loggedin: boolean = false;\n @Prop() idNamespace: string = '';\n @Prop() heading: string = null;\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n } as SiteHeaderI18N;\n\n @State() user: IUserInfo = null;\n\n @State() logoutLink: LoginDialogLink = null;\n @State() userName: string = null;\n @State() userEmail: string = '';\n\n @Prop({ mutable: true }) currentProfile: ProfileSelectorCustomerItem = null;\n @Prop({ mutable: true }) profileoptions: ProfileSelectorOrganization[] = [];\n\n componentWillLoad() {\n if (this.heading === null && this.i18n?.profileSelectionFlyoutHeading) {\n this.heading = this.i18n.profileSelectionFlyoutHeading;\n }\n this.init();\n }\n\n init() {\n this.updateUserInfo();\n this.adjustLoginLinks();\n this.fetchProfiles();\n }\n async fetchProfiles() {\n if (!this.loggedin || this.profileoptions.length > 0) {\n return;\n }\n let apiUrl = `${this.endpoint}${this.endpoint.lastIndexOf('/') > -1 && this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? '' : '/'}api/user/parentorganizations`;\n const req = await fetch(apiUrl);\n const reqdata = await req.json();\n const fallbackData = {\n loggedin: true,\n organizations: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '5564513603',\n id: 'dbba867d-1dff-3dbb-b420-c57b4b828b73',\n selected: true,\n profiles: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '20685482',\n id: 'f757ba28-9a73-15a2-f128-4b394d970f3f',\n ssid: '',\n selected: false,\n customerGroup: 'Business',\n },\n {\n name: 'ICA MAXI KUNGSBACKA',\n customerNumber: '20831191',\n id: '5aea41df-32b0-3f7e-2946-78598360177d',\n ssid: '259686',\n selected: true,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'Hem Livs i Kungsbacka AB',\n customerNumber: '5565271250',\n id: '97ca363c-40ef-cca9-7a3c-9e7f025567c2',\n selected: false,\n profiles: [\n {\n name: 'ICA KVANTUM KUNGSBACKA',\n customerNumber: '20831193',\n id: 'fbd61ffd-41c6-2206-b88e-cfef91e1dc39',\n ssid: '259691',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '5568902679',\n id: '7cb76a94-e1a5-5f57-58fd-bc563851b28e',\n selected: false,\n profiles: [\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '20831212',\n id: '3a2db017-b68f-6fa0-fe70-542c08cd97ce',\n ssid: '',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n ],\n };\n const data = window.location.href.indexOf('localhost:6008') !== -1 ? fallbackData : reqdata;\n\n if (!data || !data.organizations || !data.organizations.length) {\n return;\n }\n\n (data.organizations as ProfileSelectorOrganization[]).forEach(org => {\n if (org.selected === true && org.profiles) {\n const selectedProfile = org.profiles.filter(x => x.selected === true);\n if (selectedProfile && selectedProfile[0] && selectedProfile[0].customerGroup.toLocaleLowerCase() === 'agent' && selectedProfile[0].ssid) {\n org.customerNumber = selectedProfile[0].ssid;\n }\n } else {\n if (org.customerNumber.length === 10 && org.customerNumber.substring(0, 2) === '55') {\n org.customerNumber = org.customerNumber.substring(0, 6) + '-' + org.customerNumber.substring(6);\n }\n this.profileoptions.push(org);\n }\n });\n\n let currentProfileObj = data.organizations.filter(x => x.selected === true)[0];\n const userProfileOption = {\n name: this.userName,\n customerNumber: '',\n id: '',\n selected: !currentProfileObj,\n profiles: [],\n };\n if (!currentProfileObj) {\n currentProfileObj = userProfileOption;\n }\n\n if (currentProfileObj && currentProfileObj.name) {\n this.currentProfile = currentProfileObj;\n }\n this.profileoptions.push(userProfileOption);\n }\n adjustLoginLinks() {\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.href);\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 };\n\n if (this.loginDialog?.loggedInLinks) {\n this.loginDialog?.loggedInLinks.forEach(adjustLink);\n }\n\n this.logoutLink = this.loginDialog?.loggedInLinks.filter(x => x.isLogoutLink)[0] ?? null;\n }\n updateUserInfo() {\n const userInfo: IUserInfo = headerState.loginManager.getUserInfo();\n this.user = userInfo;\n if (!userInfo) {\n return;\n }\n if (userInfo && userInfo.email) {\n this.userEmail = userInfo.email;\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name;\n return;\n }\n if (userInfo && userInfo.family_name) {\n this.userName = userInfo.family_name;\n return;\n }\n if (userInfo && userInfo.username) {\n this.userName = userInfo.username;\n return;\n }\n }\n\n filterLogoutLink(loggedInLinks: LoginDialogLink[]): LoginDialogLink[] {\n return loggedInLinks.filter((link: LoginDialogLink) => !link.isLogoutLink);\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {};\n return (\n <Host {...hostElementAttribute}>\n {this.heading ? <strong class=\"pn-marketweb-siteheader-login-profileselection-heading\">{this.heading}</strong> : null}\n {this.currentProfile !== null && this.currentProfile.name ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-name\">{this.currentProfile.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-description\">\n {this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail}\n </div>\n </div>\n ) : null}\n\n <pn-marketweb-siteheader-login-linklist\n links={this.filterLogoutLink(this.loginDialog.loggedInLinks)}\n idNamespace={this.idNamespace}\n ></pn-marketweb-siteheader-login-linklist>\n\n <div class=\"pn-marketweb-siteheader-login-profileselection-divider\"></div>\n {this.profileoptions\n .filter(x => x.selected !== true)\n .map(organization => {\n let customerNumber = organization.profiles.length > 0 ? organization.profiles[0].customerNumber : organization.customerNumber;\n return (\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption\">\n {/* /api/user/setprofile? profile=xxxxx */}\n <a\n href={`${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${window.location.href}`}\n class=\"pn-marketweb-siteheader-login-profileselection-profileoption-link\"\n >\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-content\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-name\">{organization.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-description\">\n {organization.customerNumber ? organization.customerNumber : this.userEmail}\n </div>\n </div>\n <pn-icon icon={arrow_right} small=\"false\" color=\"blue700\"></pn-icon>\n </a>\n </div>\n );\n })}\n\n {this.logoutLink ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-logout\">\n {/* https://se-inte.postnord.com/UnifiedLogin/ExternalLoginCallback?returnUrl=https://se-inte.postnord.com/handla-online&profile=770e785b-702b-dc22-b1e9-4839eded4f83 */}\n <a\n href={this.logoutLink.href}\n rel=\"nofollower noopener\"\n id=\"pn-marketweb-header-logoutlink\"\n onClick={() => headerState.loginManager.clearUserData()}\n class=\"pn-marketweb-siteheader-login-profileselection-logout-link\"\n >\n {this.logoutLink.linkText}\n </a>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -10,72 +10,43 @@ const icon = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="
10
10
  const user = icon;
11
11
 
12
12
  class MarketWebLoginManager {
13
+ eventTarget = window ?? document?.body;
14
+ endpoint = '';
15
+ storagePrefix = 'pn-user';
16
+ checkUserLoggedInStateInterval = 0;
17
+ baseUrls = {
18
+ at: 'https://atportal.postnord.com/api/unified-login/backend',
19
+ prod: 'https://portal.postnord.com/api/unified-login/backend',
20
+ };
21
+ events = {
22
+ loginstatechange: 'loginstatechange',
23
+ };
24
+ endpoints = {
25
+ authorizationEndpoint: `/authorization`,
26
+ tokenExchangeEndpoint: `/token`,
27
+ userInfoEndpoint: `/user`,
28
+ logoutEndpoint: `/logout`,
29
+ };
30
+ keys = {
31
+ tokensource: 'tokensource',
32
+ token: 'token',
33
+ accessToken: 'accessToken',
34
+ user: 'user',
35
+ expire: 'expire',
36
+ expireDate: 'expiredate',
37
+ };
38
+ overridetokenValue = 'overridetokenValue';
39
+ siteUrl = window.location.origin;
40
+ abortSignalForLoginCheck = null;
41
+ loginCheckInProgress = false;
42
+ loginCheckTimer = null;
13
43
  constructor(options = null) {
14
- var _a;
15
- this.eventTarget = window !== null && window !== void 0 ? window : document === null || document === void 0 ? void 0 : document.body;
16
- this.endpoint = '';
17
- this.storagePrefix = 'pn-user';
18
- this.checkUserLoggedInStateInterval = 0;
19
- this.baseUrls = {
20
- at: 'https://atportal.postnord.com/api/unified-login/backend',
21
- prod: 'https://portal.postnord.com/api/unified-login/backend',
22
- };
23
- this.events = {
24
- loginstatechange: 'loginstatechange',
25
- };
26
- this.endpoints = {
27
- authorizationEndpoint: `/authorization`,
28
- tokenExchangeEndpoint: `/token`,
29
- userInfoEndpoint: `/user`,
30
- logoutEndpoint: `/logout`,
31
- };
32
- this.keys = {
33
- tokensource: 'tokensource',
34
- token: 'token',
35
- accessToken: 'accessToken',
36
- user: 'user',
37
- expire: 'expire',
38
- expireDate: 'expiredate',
39
- };
40
- this.overridetokenValue = 'overridetokenValue';
41
- this.siteUrl = window.location.origin;
42
- this.abortSignalForLoginCheck = null;
43
- this.loginCheckInProgress = false;
44
- this.loginCheckTimer = null;
45
- this.store = {
46
- get: (key) => {
47
- const value = window.sessionStorage.getItem(`${this.storagePrefix}-${key}`);
48
- if (!value) {
49
- return value;
50
- }
51
- if (value.indexOf('{') === 0) {
52
- try {
53
- return JSON.parse(value);
54
- }
55
- catch (e) { }
56
- }
57
- if (value.indexOf(',') !== -1) {
58
- return value.split(',');
59
- }
60
- return value;
61
- },
62
- set: (key, value) => {
63
- if (typeof value === 'object' && typeof value.length === 'undefined') {
64
- window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
65
- return;
66
- }
67
- window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);
68
- },
69
- remove: (key) => {
70
- window.sessionStorage.removeItem(`${this.storagePrefix}-${key}`);
71
- },
72
- };
73
44
  if (!options) {
74
45
  return;
75
46
  }
76
47
  this.eventTarget = options.eventTarget ? options.eventTarget : this.eventTarget;
77
48
  this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;
78
- (_a = this.storagePrefix) !== null && _a !== void 0 ? _a : (this.storagePrefix = options.storagePrefix);
49
+ this.storagePrefix ??= options.storagePrefix;
79
50
  this.checkUserLoggedInStateInterval =
80
51
  options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0 ? parseInt(options.checkUserLoggedInStateInterval + '', 10) : 0;
81
52
  if (options.userInfo) {
@@ -260,7 +231,7 @@ class MarketWebLoginManager {
260
231
  this.fetchUserInfo();
261
232
  }
262
233
  checkParameters() {
263
- if (!(window === null || window === void 0 ? void 0 : window.location)) {
234
+ if (!window?.location) {
264
235
  return;
265
236
  }
266
237
  const params = new URLSearchParams(window.location.search);
@@ -371,6 +342,34 @@ class MarketWebLoginManager {
371
342
  .join(''));
372
343
  return JSON.parse(jsonPayload);
373
344
  }
345
+ store = {
346
+ get: (key) => {
347
+ const value = window.sessionStorage.getItem(`${this.storagePrefix}-${key}`);
348
+ if (!value) {
349
+ return value;
350
+ }
351
+ if (value.indexOf('{') === 0) {
352
+ try {
353
+ return JSON.parse(value);
354
+ }
355
+ catch (e) { }
356
+ }
357
+ if (value.indexOf(',') !== -1) {
358
+ return value.split(',');
359
+ }
360
+ return value;
361
+ },
362
+ set: (key, value) => {
363
+ if (typeof value === 'object' && typeof value.length === 'undefined') {
364
+ window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
365
+ return;
366
+ }
367
+ window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);
368
+ },
369
+ remove: (key) => {
370
+ window.sessionStorage.removeItem(`${this.storagePrefix}-${key}`);
371
+ },
372
+ };
374
373
  }
375
374
 
376
375
  const pnMarketwebSiteheaderLoginCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-marketweb-siteheader-login{padding:1rem 0;max-height:5.2rem;position:relative}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content{max-width:350px;display:flex;flex-direction:column;gap:2.4rem;padding:4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content pn-button{width:100%}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content pn-marketweb-siteheader-unified-login::after{display:block;content:\"\";height:2px;background:#f9f8f8;width:100%;margin-top:2.4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span::before{display:block;content:\"\";height:2px;background:#f9f8f8;width:100%;margin-bottom:2.4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span{font-size:1.4rem;color:#2d2013}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a{text-decoration:none;color:#005d92}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a:hover{text-decoration:underline}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span *{margin-bottom:0}pn-marketweb-siteheader-login pn-button-dropdown{display:none}pn-marketweb-siteheader-login.hydrated pn-button-dropdown{display:block}";
@@ -381,7 +380,6 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
381
380
  super();
382
381
  this.__registerHost();
383
382
  this.loginStateChange = createEvent(this, "loginStateChange", 7);
384
- var _a;
385
383
  this.endpoint = '';
386
384
  this.token = '';
387
385
  this.i18n = {
@@ -406,9 +404,12 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
406
404
  this.checkUserLoggedInStateInterval = 0;
407
405
  this.environment = undefined;
408
406
  this.loginLinks = undefined;
409
- this.toggleButtonText = ((_a = this.loginDialog) === null || _a === void 0 ? void 0 : _a.loginMenuLinkText) ? this.loginDialog.loginMenuLinkText : '';
407
+ this.toggleButtonText = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';
410
408
  this.username = this.fullname;
411
409
  }
410
+ get hostElement() { return this; }
411
+ // Events
412
+ loginStateChange;
412
413
  componentWillLoad() {
413
414
  const userInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;
414
415
  state.loginManager = new MarketWebLoginManager({
@@ -437,8 +438,7 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
437
438
  this.adjustLoginLinks();
438
439
  }
439
440
  adjustLoginLinks() {
440
- var _a;
441
- if (!((_a = this.loginDialog) === null || _a === void 0 ? void 0 : _a.loginMenuLinks)) {
441
+ if (!this.loginDialog?.loginMenuLinks) {
442
442
  return;
443
443
  }
444
444
  const adjustLink = (link, i) => {
@@ -488,7 +488,7 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
488
488
  this.username = name;
489
489
  }
490
490
  if (userInfo && userInfo.given_name) {
491
- name = userInfo.given_name + ((userInfo === null || userInfo === void 0 ? void 0 : userInfo.family_name) ? ` ${userInfo === null || userInfo === void 0 ? void 0 : userInfo.family_name}` : '');
491
+ name = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');
492
492
  }
493
493
  if (!name && userInfo && userInfo.email) {
494
494
  name = userInfo.email;
@@ -529,9 +529,8 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
529
529
  hostElementAttribute.username = this.username;
530
530
  hostElementAttribute.loggedin = this.loggedin + '';
531
531
  }
532
- return (h(Host, Object.assign({}, hostElementAttribute), h("pn-button-dropdown", { label: this.toggleButtonText, icon: user, appearance: "light", variant: "borderless", class: "siteheader-logindialog" }, this.showUnifiedLogin && (h("pn-marketweb-siteheader-unified-login", { loggedIn: this.loggedin, myPageLabel: this.i18n.unifiedMyPagesButton, myPageUrl: "https://account.postnord.com/secure/profile", logInLabel: this.i18n.unifiedLoginButton })), this.loggedin && this.showProfileSelection ? (h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })) : (h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username, showUnifiedLogin: this.showUnifiedLogin })), !this.loggedin && h("span", { innerHTML: `${this.loginDialog.loginInfo}` }))));
532
+ return (h(Host, { ...hostElementAttribute }, h("pn-button-dropdown", { label: this.toggleButtonText, icon: user, appearance: "light", variant: "borderless", class: "siteheader-logindialog" }, this.showUnifiedLogin && (h("pn-marketweb-siteheader-unified-login", { loggedIn: this.loggedin, myPageLabel: this.i18n.unifiedMyPagesButton, myPageUrl: "https://account.postnord.com/secure/profile", logInLabel: this.i18n.unifiedLoginButton })), this.loggedin && this.showProfileSelection ? (h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })) : (h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username, showUnifiedLogin: this.showUnifiedLogin })), !this.loggedin && h("span", { innerHTML: `${this.loginDialog.loginInfo}` }))));
533
533
  }
534
- get hostElement() { return this; }
535
534
  static get watchers() { return {
536
535
  "i18n": ["init"],
537
536
  "loginDialog": ["init"]
@@ -1 +1 @@
1
- {"file":"pn-marketweb-siteheader-login2.js","mappings":"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","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/user.js","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"],"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=\"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","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 // 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.'];\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.sessionStorage.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.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));\n return;\n }\n window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);\n },\n remove: (key: string) => {\n window.sessionStorage.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 // 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.href);\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\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 && (\n <pn-marketweb-siteheader-unified-login\n loggedIn={this.loggedin}\n myPageLabel={this.i18n.unifiedMyPagesButton}\n myPageUrl=\"https://account.postnord.com/secure/profile\"\n logInLabel={this.i18n.unifiedLoginButton}\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 && <span innerHTML={`${this.loginDialog.loginInfo}`} />}\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-marketweb-siteheader-login2.js","mappings":";;;;;;;;AAAA,MAAM,IAAI,GAAG,0xBAA0xB,CAAC;AACjyB,MAAM,IAAI,GAAG,IAAI;;ACDxB,MAAM,qBAAqB;IACzB,WAAW,GAAgB,MAAM,IAAI,QAAQ,EAAE,IAAI,CAAC;IACpD,QAAQ,GAAW,EAAE,CAAC;IACtB,aAAa,GAAW,SAAS,CAAC;IAClC,8BAA8B,GAAW,CAAC,CAAC;IAC3C,QAAQ,GAAG;QACT,EAAE,EAAE,yDAAyD;QAC7D,IAAI,EAAE,uDAAuD;KAC9D,CAAC;IACF,MAAM,GAAG;QACP,gBAAgB,EAAE,kBAAkB;KACrC,CAAC;IACF,SAAS,GAAG;QACV,qBAAqB,EAAE,gBAAgB;QACvC,qBAAqB,EAAE,QAAQ;QAC/B,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,SAAS;KAC1B,CAAC;IACF,IAAI,GAAG;QACL,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,YAAY;KACzB,CAAC;IACF,kBAAkB,GAAG,oBAAoB,CAAC;IAC1C,OAAO,GAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACzC,wBAAwB,GAAG,IAAI,CAAC;IAChC,oBAAoB,GAAG,KAAK,CAAC;IAC7B,eAAe,GAAG,IAAI,CAAC;IAEvB,YAAY,UAAyC,IAAI;QACvD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAChF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7G,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,8BAA8B;YACjC,OAAO,CAAC,8BAA8B,IAAI,OAAO,CAAC,8BAA8B,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,8BAA8B,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEvJ,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;SACzD;KACF;IACD,IAAI,CAAC,kBAA2B,IAAI;QAClC,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtE,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,IAAI,CAAC,8BAA8B,GAAG,CAAC,EAAE;gBAC3C,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;SACF;KACF;IACD,UAAU,CAAC,OAAO;QAChB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;KACF;IACD,qBAAqB;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,MAAM,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE;gBACvC,IAAI,CAAC,wBAAwB,GAAG,IAAI,eAAe,EAAE,CAAC;aACvD;YACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;gBACxC,IAAI,CAAC,uBAAuB,EAAE;qBAC3B,IAAI,CAAC,SAAQ,CAAC;qBACd,KAAK,CAAC,SAAQ,CAAC,CAAC;aACpB,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;SACzC;KACF;IAED,MAAM,uBAAuB;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE;;YAE5B,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC1D,OAAO;SACR;QACD,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC9D,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,wBAAwB,GAAG,IAAI,eAAe,EAAE,CAAC;SACvD;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,MAAM,SAAS,GAAgB;YAC7B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,QAAQ,EAAE,kBAAkB;gBAC5B,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE;aACjC;SACF,CAAC;QACF,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE;YAC5E,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;SAC/D;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;QAClG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;;YAE3B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;YACtF,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;;;YAGhB,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YACjC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;YACtF,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;KACnC;IACD,UAAU;QACR,IAAI,CAAC,aAAa,EAAE,CAAC;;QAGrB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,UAAU,GAAI,IAAI,CAAC,WAA2B,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YACtG,IAAI,UAAU,EAAE;gBACb,UAAgC,CAAC,KAAK,EAAE,CAAC;gBAC1C,OAAO;aACR;SACF;;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;KAC3D;IAED,UAAU,CAAC,QAAQ,GAAG,KAAK;QACzB,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAClG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,kBAAkB,EAAE;YAC9E,UAAU,GAAG,IAAI,CAAC;SACnB;QACD,OAAO,UAAU,CAAC;KACnB;IAED,aAAa,CAAC,QAAgB,EAAE,EAAE,WAAW,GAAG,UAAU;QACxD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE;YACvC,OAAO;SACR;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,qBAAqB,CAAC,cAAsB,UAAU;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,kBAAkB,KAAK,WAAW,EAAE;YACtC,OAAO;SACR;;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,WAAW,CAAC,YAAY,GAAG,EAAE;QAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzC,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;QACzD,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,mBAAmB,YAAY,EAAE,CAAC;KACrG;IAED,YAAY,CAAC,QAAQ,GAAG,EAAE;QACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE;;YAE/C,OAAO,QAAQ,CAAC;SACjB;QACD,IAAI,YAAY,GAAG,QAAQ;aACxB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACrB,OAAO,CAAC,+BAA+B,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC9D,OAAO,CAAC,gCAAgC,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE,GAAE;QACd,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO,IAAI,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC3D,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,kBAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC;QACjK,MAAM,SAAS,GAAG,GAAG,OAAO,cAAc,eAAe,EAAE,CAAC;QAE5D,OAAO,SAAS,CAAC;KAClB;IAED,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAc,CAAC;SACpD;KACF;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IAEO,eAAe;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACrE,IAAI,GAAG,GAAG,UAAU,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IACO,aAAa;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,EAAE;YACjF,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,eAAe;QACrB,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;YACrB,OAAO;SACR;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAE9C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACzC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;gBAC3E,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnF,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aAC7E,CAAC,CAAC;SACJ;KACF;IAEO,MAAM,aAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,kBAAkB,EAAE;YAC/D,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACxE,OAAO;SACR;QACD,MAAM,SAAS,GAAgB;YAC7B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,QAAQ,EAAE,kBAAkB;gBAC5B,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,KAAK;aACvB;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YAC3B,IAAI;gBACF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;gBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBACvC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,OAAO;iBACR;gBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;gBAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5F,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;aACpD;SACF;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;IACD,aAAa;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACzC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9C;IACD,MAAM,aAAa,CAAC,WAAW;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,gBAAgB,WAAW,EAAE,CAAC,CAAC;QACvH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IACO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,CAAC,aAAa,CAC5B,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;SAC1B,CAAC,CACH,CAAC;KACH;IACO,UAAU;QAChB,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtF,IAAI,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAChG,QAAQ,GAAG,IAAI,CAAC;SACjB;QACD,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC3B;IAEO,aAAa,CAAC,OAAe;QACnC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QACD,IAAI,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,WAAW,GAAG,kBAAkB,CAClC,IAAI,CAAC,MAAM,CAAC;aACT,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,UAAU,CAAC;YACd,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KAChC;IAED,KAAK,GAAG;QACN,GAAG,EAAE,CAAC,GAAW;YACf,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,KAAK,CAAC;aACd;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC5B,IAAI;oBACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC1B;gBAAC,OAAO,CAAC,EAAE,GAAE;aACf;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACzB;YACD,OAAO,KAAK,CAAC;SACd;QACD,GAAG,EAAE,CAAC,GAAW,EAAE,KAAU;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE;gBACpE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,OAAO;aACR;YACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;SACtE;QACD,MAAM,EAAE,CAAC,GAAW;YAClB,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;SAClE;KACF,CAAC;;;AChYJ,MAAM,6BAA6B,GAAG,qlDAAqlD,CAAC;AAC5nD,yCAAe,6BAA6B;;MCU/B,0BAA0B;;;;;wBAGV,EAAE;qBAEL,EAAE;oBACK;YAC7B,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,EAAE;YACpB,cAAc,EAAE,EAAE;YAClB,gBAAgB,EAAE,EAAE;YACpB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;YACnB,6BAA6B,EAAE,EAAE;YACjC,kBAAkB,EAAE,EAAE;YACtB,oBAAoB,EAAE,EAAE;SACP;uBAEO,EAAE;0BACE,IAAI;2BAGkB,IAAI;wBAG7B,EAAE;wBACD,KAAK;oCAGwB,KAAK;gCAG1B,KAAK;8CAGU,CAAC;;;gCAMhB,IAAI,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,EAAE;wBAErF,IAAI,CAAC,QAAQ;;;;IAGhC,gBAAgB,CAAe;IAExC,iBAAiB;QACf,MAAM,QAAQ,GAAc,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAClGA,KAAW,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAA0B;YAC5C,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,QAAQ;SACT,CAAC,CAAC;QACHA,KAAW,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAGA,KAAW,CAAC,YAAY,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,EAAE;YACdA,KAAW,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SAC/D;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE;;YAE1BA,KAAW,CAAC,YAAY,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAACA,KAAW,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAID,MAAM,IAAI;QACRA,KAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IACD,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE;YACrC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7G;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,IAAI,GAAGA,KAAW,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACzB,IAAI,CAAC,IAAI,GAAGA,KAAW,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBACnD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC3B;YACD,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC3B;YACD,OAAO,IAAI,CAAC;SACb,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClF,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACjF;QACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG;YAClC;gBACE,IAAI,EAAEA,KAAW,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACrE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;gBACxC,eAAe,EAAE,KAAK;gBACtB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;gBACnB,oBAAoB,EAAE,IAAI;aAC3B;YACD;gBACE,IAAI,EAAEA,KAAW,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;gBACxE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB;gBAC9C,eAAe,EAAE,KAAK;gBACtB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,KAAK;aAC5B;SACF,CAAC;KACH;IAED,WAAW;QACT,MAAM,QAAQ,GAAGA,KAAW,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACxD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;YACnC,IAAI,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,EAAE,WAAW,GAAG,IAAI,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;SACzF;QAED,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE;YACvC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;aAC7D;SACF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;SAC5D;KACF;IAED,kBAAkB,CAAC,CAAc;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAEA,KAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;KACF;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QAED,IAAI,oBAAoB,GAAG;YACzB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9C,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpD;QACD,QACE,EAAC,IAAI,OAAK,oBAAoB,IAC5B,0BAAoB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAC,OAAO,EAAC,OAAO,EAAC,YAAY,EAAC,KAAK,EAAC,wBAAwB,IACjI,IAAI,CAAC,gBAAgB,KACpB,6CACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAC3C,SAAS,EAAC,6CAA6C,EACvD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,GACxC,CACH,EACA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,IACzC,sDACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACyB,KAElD,2CACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACF,CACxC,EACA,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAM,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,GAAI,CACpD,CAChB,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/user.js","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"],"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=\"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","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 // 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.'];\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.sessionStorage.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.sessionStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));\n return;\n }\n window.sessionStorage.setItem(`${this.storagePrefix}-${key}`, value);\n },\n remove: (key: string) => {\n window.sessionStorage.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 // 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.href);\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\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 && (\n <pn-marketweb-siteheader-unified-login\n loggedIn={this.loggedin}\n myPageLabel={this.i18n.unifiedMyPagesButton}\n myPageUrl=\"https://account.postnord.com/secure/profile\"\n logInLabel={this.i18n.unifiedLoginButton}\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 && <span innerHTML={`${this.loginDialog.loginInfo}`} />}\n </pn-button-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -26,6 +26,7 @@ const PnMarketwebSiteheaderSearch = /*@__PURE__*/ proxyCustomElement(class PnMar
26
26
  this.icononly = true;
27
27
  this.autoCompleteOptions = [];
28
28
  }
29
+ get hostElement() { return this; }
29
30
  onSearchValueUpdate() {
30
31
  this.getAutocomplete(state.searchValue);
31
32
  }
@@ -92,16 +93,15 @@ const PnMarketwebSiteheaderSearch = /*@__PURE__*/ proxyCustomElement(class PnMar
92
93
  return;
93
94
  }
94
95
  const autocompleteAttribute = this.search.AutocompleteEndpoint ? { list: 'siteheader-search-autocomplete' } : {};
95
- return (h("div", { class: "siteheader-search" }, this.showOnlyLink ? (h("pn-button", { href: this.search.formActionUrl, appearance: "light", icon: search, tooltip: this.i18n.searchlabel })) : (h("form", { method: "get", action: this.search.formActionUrl, role: "search" }, h("pn-search-field", Object.assign({}, autocompleteAttribute, { label: this.i18n.searchlabel, name: "q", button: this.icononly ? 'icon' : null, "button-label": 'Search', placeholder: this.i18n.searchplaceholder, onUpdate: (e) => {
96
+ return (h("div", { class: "siteheader-search" }, this.showOnlyLink ? (h("pn-button", { href: this.search.formActionUrl, appearance: "light", icon: search, tooltip: this.i18n.searchlabel })) : (h("form", { method: "get", action: this.search.formActionUrl, role: "search" }, h("pn-search-field", { ...autocompleteAttribute, label: this.i18n.searchlabel, name: "q", button: this.icononly ? 'icon' : null, "button-label": 'Search', placeholder: this.i18n.searchplaceholder, onUpdate: (e) => {
96
97
  state.searchValue = e.detail;
97
98
  }, onSearch: () => {
98
99
  const form = this.hostElement.querySelector('form');
99
100
  if (form) {
100
101
  form.submit();
101
102
  }
102
- } })), this.primary && this.search.AutocompleteEndpoint ? (h("datalist", { id: "siteheader-search-autocomplete" }, this.autoCompleteOptions.map(item => (h("option", null, item))))) : null))));
103
+ } }), this.primary && this.search.AutocompleteEndpoint ? (h("datalist", { id: "siteheader-search-autocomplete" }, this.autoCompleteOptions.map(item => (h("option", null, item))))) : null))));
103
104
  }
104
- get hostElement() { return this; }
105
105
  static get style() { return PnMarketwebSiteheaderSearchStyle0; }
106
106
  }, [0, "pn-marketweb-siteheader-search", {
107
107
  "i18n": [8, "i-1-8n"],
@@ -1 +1 @@
1
- {"file":"pn-marketweb-siteheader-search2.js","mappings":"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","names":[],"sources":["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"],"sourcesContent":["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"],"version":3}
1
+ {"file":"pn-marketweb-siteheader-search2.js","mappings":"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","names":[],"sources":["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"],"sourcesContent":["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"],"version":3}
@@ -14,10 +14,10 @@ const PnMarketwebSiteheaderUnifiedLogin = /*@__PURE__*/ proxyCustomElement(class
14
14
  this.myPageUrl = undefined;
15
15
  this.logInLabel = undefined;
16
16
  }
17
+ get hostElement() { return this; }
17
18
  render() {
18
19
  return (h(Host, { key: '458e5de23d33889976b5d892f75a22a1248b693f' }, this.loggedIn ? (h("pn-marketweb-siteheader-login-mypage-button", { label: this.myPageLabel, myPageUrl: this.myPageUrl })) : (h("pn-marketweb-siteheader-login-button", { label: this.logInLabel }))));
19
20
  }
20
- get hostElement() { return this; }
21
21
  static get style() { return PnMarketwebSiteheaderUnifiedLoginStyle0; }
22
22
  }, [0, "pn-marketweb-siteheader-unified-login", {
23
23
  "loggedIn": [4, "logged-in"],