@postnord/pn-marketweb-components 4.2.5 → 4.3.1

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 (511) hide show
  1. package/cjs/header-theme-a250bf67.js +245 -0
  2. package/cjs/header-theme-a250bf67.js.map +1 -0
  3. package/cjs/index-9a9efa1c.js +24 -16
  4. package/cjs/loader.cjs.js +1 -1
  5. package/cjs/pn-app-banner.cjs.entry.js +1 -1
  6. package/cjs/pn-breakpoints.cjs.entry.js +1 -1
  7. package/cjs/pn-chat-message_2.cjs.entry.js +2 -2
  8. package/cjs/pn-chat.cjs.entry.js +2 -2
  9. package/cjs/pn-customernumber-selector-option.cjs.entry.js +1 -1
  10. package/cjs/pn-customernumber-selector.cjs.entry.js +1 -1
  11. package/cjs/pn-find-price-result.cjs.entry.js +1 -1
  12. package/cjs/pn-find-price.cjs.entry.js +2 -2
  13. package/cjs/pn-find-service-and-price-result.cjs.entry.js +1 -1
  14. package/cjs/pn-find-service-and-price.cjs.entry.js +1 -1
  15. package/cjs/pn-hero-block-international.cjs.entry.js +1 -1
  16. package/cjs/pn-language-selector_13.cjs.entry.js +1519 -0
  17. package/cjs/pn-language-selector_13.cjs.entry.js.map +1 -0
  18. package/cjs/pn-level-up-modal.cjs.entry.js +1 -1
  19. package/cjs/pn-level-up.cjs.entry.js +2 -2
  20. package/cjs/pn-link-list.cjs.entry.js +1 -1
  21. package/cjs/pn-market-web-components.cjs.js +1 -1
  22. package/cjs/pn-marketweb-header-main-row_2.cjs.entry.js +222 -0
  23. package/cjs/pn-marketweb-header-main-row_2.cjs.entry.js.map +1 -0
  24. package/cjs/pn-marketweb-header-skeleton-loader.cjs.entry.js +23 -0
  25. package/cjs/pn-marketweb-header-skeleton-loader.cjs.entry.js.map +1 -0
  26. package/cjs/pn-marketweb-header-toggle.cjs.entry.js +46 -0
  27. package/cjs/pn-marketweb-header-toggle.cjs.entry.js.map +1 -0
  28. package/cjs/pn-marketweb-header.cjs.entry.js +1043 -0
  29. package/cjs/pn-marketweb-header.cjs.entry.js.map +1 -0
  30. package/cjs/pn-marketweb-icon.cjs.entry.js +1 -1
  31. package/cjs/{pn-marketweb-siteheader-login-linklist.cjs.entry.js → pn-marketweb-siteheader-login-button_2.cjs.entry.js} +44 -2
  32. package/cjs/pn-marketweb-siteheader-login-button_2.cjs.entry.js.map +1 -0
  33. package/cjs/pn-marketweb-siteheader-login-mypage-button.cjs.entry.js +1 -1
  34. package/cjs/pn-marketweb-siteheader.cjs.entry.js +7 -199
  35. package/cjs/pn-marketweb-siteheader.cjs.entry.js.map +1 -1
  36. package/cjs/pn-marketweb-table.cjs.entry.js +1 -1
  37. package/cjs/pn-media-block.cjs.entry.js +1 -1
  38. package/cjs/pn-pex-pricefinder.cjs.entry.js +1 -1
  39. package/cjs/pn-product-card_3.cjs.entry.js +1 -1
  40. package/cjs/pn-product-pricelist-result.cjs.entry.js +1 -1
  41. package/cjs/pn-product-pricelist.cjs.entry.js +2 -2
  42. package/cjs/pn-product-tile-info_2.cjs.entry.js +1 -1
  43. package/cjs/pn-product-tile.cjs.entry.js +1 -1
  44. package/cjs/pn-profile-modal-customernumber.cjs.entry.js +1 -1
  45. package/cjs/pn-profile-modal-profile.cjs.entry.js +2 -2
  46. package/cjs/pn-profile-modal-type.cjs.entry.js +1 -1
  47. package/cjs/pn-profile-modal.cjs.entry.js +1 -1
  48. package/cjs/pn-profile-selector-option.cjs.entry.js +1 -1
  49. package/cjs/pn-profile-selector.cjs.entry.js +1 -1
  50. package/cjs/pn-proxio-findprice-result.cjs.entry.js +1 -1
  51. package/cjs/pn-proxio-findprice.cjs.entry.js +3 -3
  52. package/cjs/pn-proxio-pricegroup.cjs.entry.js +1 -1
  53. package/cjs/pn-proxio-productcard_4.cjs.entry.js +3 -3
  54. package/cjs/pn-qr-code-generator.cjs.entry.js +1 -1
  55. package/cjs/pn-sidenav-level.cjs.entry.js +1 -1
  56. package/cjs/pn-sidenav-link.cjs.entry.js +1 -1
  57. package/cjs/pn-sidenav-togglebutton.cjs.entry.js +1 -1
  58. package/cjs/pn-sidenav.cjs.entry.js +1 -1
  59. package/cjs/pn-site-footer_3.cjs.entry.js +3 -3
  60. package/cjs/pn-titletag.cjs.entry.js +1 -1
  61. package/cjs/pn-usp-promoter.cjs.entry.js +1 -1
  62. package/cjs/translations-9510f11c.js +198 -0
  63. package/cjs/translations-9510f11c.js.map +1 -0
  64. package/collection/collection-manifest.json +5 -0
  65. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.css +204 -0
  66. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.js +658 -0
  67. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.js.map +1 -0
  68. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.css +217 -0
  69. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.js +20 -0
  70. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.js.map +1 -0
  71. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.css +115 -0
  72. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.js +520 -0
  73. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.js.map +1 -0
  74. package/collection/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.js +37 -0
  75. package/collection/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.js.map +1 -0
  76. package/collection/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.js +109 -0
  77. package/collection/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.js.map +1 -0
  78. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.css +225 -0
  79. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js +916 -0
  80. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js.map +1 -0
  81. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js +638 -0
  82. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js.map +1 -0
  83. package/collection/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.js +180 -0
  84. package/collection/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.js.map +1 -0
  85. package/collection/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.js +2 -0
  86. package/collection/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.js.map +1 -0
  87. package/collection/components/layout-components/pn-marketweb-header/utils/header-i18n.js +37 -0
  88. package/collection/components/layout-components/pn-marketweb-header/utils/header-i18n.js.map +1 -0
  89. package/collection/components/layout-components/pn-marketweb-header/utils/header-language.js +46 -0
  90. package/collection/components/layout-components/pn-marketweb-header/utils/header-language.js.map +1 -0
  91. package/collection/components/layout-components/pn-marketweb-header/utils/header-menu.js +36 -0
  92. package/collection/components/layout-components/pn-marketweb-header/utils/header-menu.js.map +1 -0
  93. package/collection/components/layout-components/pn-marketweb-header/utils/header-theme.js +48 -0
  94. package/collection/components/layout-components/pn-marketweb-header/utils/header-theme.js.map +1 -0
  95. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.js +101 -0
  96. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.js.map +1 -0
  97. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.js +63 -0
  98. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.js.map +1 -0
  99. package/collection/components/layout-components/pn-marketweb-header/utils/header-url.js +91 -0
  100. package/collection/components/layout-components/pn-marketweb-header/utils/header-url.js.map +1 -0
  101. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js +1 -1
  102. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +34 -12
  103. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js +1 -1
  104. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +36 -15
  105. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +27 -13
  106. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +29 -4
  107. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
  108. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types.js.map +1 -1
  109. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -1
  110. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
  111. package/collection/components/media/pn-media-block/pn-media-block.js +1 -1
  112. package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
  113. package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
  114. package/collection/components/minor/pn-swan/pn-swan.js +1 -1
  115. package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
  116. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +25 -12
  117. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -1
  118. package/collection/components/navigation/pn-language-selector/pn-language-selector.css +17 -5
  119. package/collection/components/navigation/pn-language-selector/pn-language-selector.js +22 -3
  120. package/collection/components/navigation/pn-language-selector/pn-language-selector.js.map +1 -1
  121. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +37 -17
  122. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
  123. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +81 -33
  124. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
  125. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +12 -2
  126. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
  127. package/collection/components/navigation/pn-mainnav/pn-mainnav.css +35 -22
  128. package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
  129. package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.css +80 -0
  130. package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.js +147 -0
  131. package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.js.map +1 -0
  132. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
  133. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
  134. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
  135. package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
  136. package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
  137. package/collection/components/navigation/pn-site-footer/pn-site-footer.js +1 -1
  138. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.css +16 -12
  139. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +1 -1
  140. package/collection/components/navigation/pn-site-selector/pn-site-selector.css +15 -0
  141. package/collection/components/navigation/pn-site-selector/pn-site-selector.js +22 -3
  142. package/collection/components/navigation/pn-site-selector/pn-site-selector.js.map +1 -1
  143. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
  144. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
  145. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +1 -1
  146. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +2 -2
  147. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
  148. package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
  149. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
  150. package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
  151. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
  152. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +1 -1
  153. package/collection/components/widgets/pn-chat/pn-chat.js +2 -2
  154. package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
  155. package/collection/components/widgets/pn-find-price/pn-find-price.js +2 -2
  156. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +1 -1
  157. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +1 -1
  158. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +1 -1
  159. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +1 -1
  160. package/collection/components/widgets/pn-level-up/pn-level-up.js +2 -2
  161. package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
  162. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +1 -1
  163. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +1 -1
  164. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
  165. package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
  166. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
  167. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
  168. package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
  169. package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
  170. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
  171. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
  172. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
  173. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +1 -1
  174. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
  175. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +1 -1
  176. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +1 -1
  177. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
  178. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.js +105 -0
  179. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.js.map +1 -0
  180. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.js +166 -0
  181. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.js.map +1 -0
  182. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.js +2 -0
  183. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.js.map +1 -0
  184. package/components/pn-app-banner.js +1 -1
  185. package/components/pn-breakpoints.js +1 -1
  186. package/components/pn-chat-message2.js +1 -1
  187. package/components/pn-chat.js +2 -2
  188. package/components/pn-customernumber-selector-option.js +1 -1
  189. package/components/pn-customernumber-selector.js +1 -1
  190. package/components/pn-find-price-result2.js +1 -1
  191. package/components/pn-find-price.js +2 -2
  192. package/components/pn-find-service-and-price-result2.js +1 -1
  193. package/components/pn-find-service-and-price.js +1 -1
  194. package/components/pn-hero-block-international.js +1 -1
  195. package/components/pn-language-selector-option2.js +2 -2
  196. package/components/pn-language-selector-option2.js.map +1 -1
  197. package/components/pn-language-selector2.js +4 -2
  198. package/components/pn-language-selector2.js.map +1 -1
  199. package/components/pn-level-up-modal2.js +1 -1
  200. package/components/pn-level-up.js +2 -2
  201. package/components/pn-link-list.js +1 -1
  202. package/components/pn-mainnav-level2.js +3 -3
  203. package/components/pn-mainnav-level2.js.map +1 -1
  204. package/components/pn-mainnav-link2.js +2 -2
  205. package/components/pn-mainnav-link2.js.map +1 -1
  206. package/components/pn-mainnav-list2.js +2 -2
  207. package/components/pn-mainnav-list2.js.map +1 -1
  208. package/components/pn-mainnav2.js +2 -2
  209. package/components/pn-mainnav2.js.map +1 -1
  210. package/components/pn-marketweb-carousel2.js +1 -1
  211. package/components/pn-marketweb-header-main-row.d.ts +11 -0
  212. package/components/pn-marketweb-header-main-row.js +8 -0
  213. package/components/pn-marketweb-header-main-row.js.map +1 -0
  214. package/components/pn-marketweb-header-main-row2.js +281 -0
  215. package/components/pn-marketweb-header-main-row2.js.map +1 -0
  216. package/components/pn-marketweb-header-shared.js +192 -0
  217. package/components/pn-marketweb-header-shared.js.map +1 -0
  218. package/components/pn-marketweb-header-skeleton-loader.d.ts +11 -0
  219. package/components/pn-marketweb-header-skeleton-loader.js +37 -0
  220. package/components/pn-marketweb-header-skeleton-loader.js.map +1 -0
  221. package/components/pn-marketweb-header-toggle.d.ts +11 -0
  222. package/components/pn-marketweb-header-toggle.js +8 -0
  223. package/components/pn-marketweb-header-toggle.js.map +1 -0
  224. package/components/pn-marketweb-header-toggle2.js +61 -0
  225. package/components/pn-marketweb-header-toggle2.js.map +1 -0
  226. package/components/pn-marketweb-header-top-row.d.ts +11 -0
  227. package/components/pn-marketweb-header-top-row.js +8 -0
  228. package/components/pn-marketweb-header-top-row.js.map +1 -0
  229. package/components/pn-marketweb-header-top-row2.js +238 -0
  230. package/components/pn-marketweb-header-top-row2.js.map +1 -0
  231. package/components/pn-marketweb-header.d.ts +11 -0
  232. package/components/pn-marketweb-header.js +1206 -0
  233. package/components/pn-marketweb-header.js.map +1 -0
  234. package/components/pn-marketweb-icon.js +1 -1
  235. package/components/pn-marketweb-siteheader-login-button2.js +1 -1
  236. package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
  237. package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
  238. package/components/pn-marketweb-siteheader-login-mypage-button.js +1 -1
  239. package/components/pn-marketweb-siteheader-login-profileselection2.js +1 -1
  240. package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
  241. package/components/pn-marketweb-siteheader-login2.js +4 -2
  242. package/components/pn-marketweb-siteheader-login2.js.map +1 -1
  243. package/components/pn-marketweb-siteheader-unified-login2.js +1 -1
  244. package/components/pn-marketweb-siteheader.js +5 -197
  245. package/components/pn-marketweb-siteheader.js.map +1 -1
  246. package/components/pn-marketweb-table.js +1 -1
  247. package/components/pn-media-block.js +1 -1
  248. package/components/pn-pex-pricefinder.js +1 -1
  249. package/components/pn-product-card2.js +1 -1
  250. package/components/pn-product-pricelist-result.js +1 -1
  251. package/components/pn-product-pricelist.js +2 -2
  252. package/components/pn-product-tile-info2.js +1 -1
  253. package/components/pn-product-tile.js +1 -1
  254. package/components/pn-profile-modal-customernumber.js +1 -1
  255. package/components/pn-profile-modal-profile.js +2 -2
  256. package/components/pn-profile-modal-type.js +1 -1
  257. package/components/pn-profile-modal.js +1 -1
  258. package/components/pn-profile-selector-option.js +1 -1
  259. package/components/pn-profile-selector.js +1 -1
  260. package/components/pn-proxio-findprice-result2.js +2 -2
  261. package/components/pn-proxio-findprice.js +3 -3
  262. package/components/pn-proxio-pricegroup.js +2 -2
  263. package/components/pn-proxio-productcard-description2.js +1 -1
  264. package/components/pn-proxio-productcard-information2.js +1 -1
  265. package/components/pn-proxio-productcard2.js +1 -1
  266. package/components/pn-qr-code-generator2.js +1 -1
  267. package/components/pn-sidenav-level.js +1 -1
  268. package/components/pn-sidenav-link.js +1 -1
  269. package/components/pn-sidenav-togglebutton.js +1 -1
  270. package/components/pn-sidenav.js +1 -1
  271. package/components/pn-site-footer-col2.js +1 -1
  272. package/components/pn-site-footer2.js +1 -1
  273. package/components/pn-site-selector-item2.js +2 -2
  274. package/components/pn-site-selector-item2.js.map +1 -1
  275. package/components/pn-site-selector2.js +4 -2
  276. package/components/pn-site-selector2.js.map +1 -1
  277. package/components/pn-swan2.js +1 -1
  278. package/components/pn-titletag2.js +1 -1
  279. package/components/pn-usp-promoter.js +1 -1
  280. package/components/translations.js +189 -14
  281. package/components/translations.js.map +1 -1
  282. package/components/translations2.js +21 -0
  283. package/components/translations2.js.map +1 -0
  284. package/esm/header-theme-d09b64c7.js +234 -0
  285. package/esm/header-theme-d09b64c7.js.map +1 -0
  286. package/esm/index-c0a4d8bd.js +24 -16
  287. package/esm/loader.js +1 -1
  288. package/esm/pn-app-banner.entry.js +1 -1
  289. package/esm/pn-breakpoints.entry.js +1 -1
  290. package/esm/pn-chat-message_2.entry.js +2 -2
  291. package/esm/pn-chat.entry.js +2 -2
  292. package/esm/pn-customernumber-selector-option.entry.js +1 -1
  293. package/esm/pn-customernumber-selector.entry.js +1 -1
  294. package/esm/pn-find-price-result.entry.js +1 -1
  295. package/esm/pn-find-price.entry.js +2 -2
  296. package/esm/pn-find-service-and-price-result.entry.js +1 -1
  297. package/esm/pn-find-service-and-price.entry.js +1 -1
  298. package/esm/pn-hero-block-international.entry.js +1 -1
  299. package/esm/{pn-language-selector_9.entry.js → pn-language-selector_13.entry.js} +381 -22
  300. package/esm/pn-language-selector_13.entry.js.map +1 -0
  301. package/esm/pn-level-up-modal.entry.js +1 -1
  302. package/esm/pn-level-up.entry.js +2 -2
  303. package/esm/pn-link-list.entry.js +1 -1
  304. package/esm/pn-market-web-components.js +1 -1
  305. package/esm/pn-marketweb-header-main-row_2.entry.js +217 -0
  306. package/esm/pn-marketweb-header-main-row_2.entry.js.map +1 -0
  307. package/esm/pn-marketweb-header-skeleton-loader.entry.js +19 -0
  308. package/esm/pn-marketweb-header-skeleton-loader.entry.js.map +1 -0
  309. package/esm/pn-marketweb-header-toggle.entry.js +42 -0
  310. package/esm/pn-marketweb-header-toggle.entry.js.map +1 -0
  311. package/esm/pn-marketweb-header.entry.js +1039 -0
  312. package/esm/pn-marketweb-header.entry.js.map +1 -0
  313. package/esm/pn-marketweb-icon.entry.js +1 -1
  314. package/esm/{pn-marketweb-siteheader-login-linklist.entry.js → pn-marketweb-siteheader-login-button_2.entry.js} +44 -3
  315. package/esm/pn-marketweb-siteheader-login-button_2.entry.js.map +1 -0
  316. package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +1 -1
  317. package/esm/pn-marketweb-siteheader.entry.js +5 -197
  318. package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
  319. package/esm/pn-marketweb-table.entry.js +1 -1
  320. package/esm/pn-media-block.entry.js +1 -1
  321. package/esm/pn-pex-pricefinder.entry.js +1 -1
  322. package/esm/pn-product-card_3.entry.js +1 -1
  323. package/esm/pn-product-pricelist-result.entry.js +1 -1
  324. package/esm/pn-product-pricelist.entry.js +2 -2
  325. package/esm/pn-product-tile-info_2.entry.js +1 -1
  326. package/esm/pn-product-tile.entry.js +1 -1
  327. package/esm/pn-profile-modal-customernumber.entry.js +1 -1
  328. package/esm/pn-profile-modal-profile.entry.js +2 -2
  329. package/esm/pn-profile-modal-type.entry.js +1 -1
  330. package/esm/pn-profile-modal.entry.js +1 -1
  331. package/esm/pn-profile-selector-option.entry.js +1 -1
  332. package/esm/pn-profile-selector.entry.js +1 -1
  333. package/esm/pn-proxio-findprice-result.entry.js +1 -1
  334. package/esm/pn-proxio-findprice.entry.js +3 -3
  335. package/esm/pn-proxio-pricegroup.entry.js +1 -1
  336. package/esm/pn-proxio-productcard_4.entry.js +3 -3
  337. package/esm/pn-qr-code-generator.entry.js +1 -1
  338. package/esm/pn-sidenav-level.entry.js +1 -1
  339. package/esm/pn-sidenav-link.entry.js +1 -1
  340. package/esm/pn-sidenav-togglebutton.entry.js +1 -1
  341. package/esm/pn-sidenav.entry.js +1 -1
  342. package/esm/pn-site-footer_3.entry.js +3 -3
  343. package/esm/pn-titletag.entry.js +1 -1
  344. package/esm/pn-usp-promoter.entry.js +1 -1
  345. package/esm/translations-d2f5804e.js +196 -0
  346. package/esm/translations-d2f5804e.js.map +1 -0
  347. package/package.json +13 -6
  348. package/pn-market-web-components/{p-4a164ef8.entry.js → p-03728b0b.entry.js} +2 -2
  349. package/pn-market-web-components/p-04f51418.js +2 -0
  350. package/pn-market-web-components/p-04f51418.js.map +1 -0
  351. package/pn-market-web-components/{p-e43a36e0.entry.js → p-067c1c2f.entry.js} +2 -2
  352. package/pn-market-web-components/{p-2616cdc1.entry.js → p-191c8cfc.entry.js} +2 -2
  353. package/pn-market-web-components/{p-ca003c1f.entry.js → p-1a91c313.entry.js} +2 -2
  354. package/pn-market-web-components/{p-ab1e3dc2.entry.js → p-1f8304be.entry.js} +2 -2
  355. package/pn-market-web-components/{p-a3f601cb.entry.js → p-24ffac0a.entry.js} +2 -2
  356. package/pn-market-web-components/p-3239c36b.entry.js +2 -0
  357. package/pn-market-web-components/p-3239c36b.entry.js.map +1 -0
  358. package/pn-market-web-components/{p-12cafd55.entry.js → p-3aa74418.entry.js} +2 -2
  359. package/pn-market-web-components/p-3d27faee.entry.js +2 -0
  360. package/pn-market-web-components/{p-9d0ca27b.entry.js.map → p-3d27faee.entry.js.map} +1 -1
  361. package/pn-market-web-components/p-3e25f431.entry.js +2 -0
  362. package/pn-market-web-components/p-3e25f431.entry.js.map +1 -0
  363. package/pn-market-web-components/{p-64f6691d.entry.js → p-42da7c5f.entry.js} +2 -2
  364. package/pn-market-web-components/{p-f0d423d0.entry.js → p-43748ca2.entry.js} +2 -2
  365. package/pn-market-web-components/{p-1c644b91.entry.js → p-466958a8.entry.js} +2 -2
  366. package/pn-market-web-components/{p-150da889.entry.js → p-4ab53d5d.entry.js} +2 -2
  367. package/pn-market-web-components/{p-118fe47d.entry.js → p-4d595345.entry.js} +2 -2
  368. package/pn-market-web-components/{p-0f6f715b.entry.js → p-4dac1980.entry.js} +2 -2
  369. package/pn-market-web-components/{p-a13f1f73.entry.js → p-4fcce83d.entry.js} +2 -2
  370. package/pn-market-web-components/{p-89fbca3b.entry.js → p-5a51d0b0.entry.js} +2 -2
  371. package/pn-market-web-components/{p-f4d2d0d3.entry.js → p-61346425.entry.js} +2 -2
  372. package/pn-market-web-components/{p-6e693269.entry.js → p-6b557670.entry.js} +2 -2
  373. package/pn-market-web-components/{p-e6d6a752.entry.js → p-70a71854.entry.js} +2 -2
  374. package/pn-market-web-components/p-75311d67.js +2 -0
  375. package/pn-market-web-components/p-75311d67.js.map +1 -0
  376. package/pn-market-web-components/p-756d8d95.entry.js +2 -0
  377. package/pn-market-web-components/p-756d8d95.entry.js.map +1 -0
  378. package/pn-market-web-components/{p-c0315c45.entry.js → p-76fb0c21.entry.js} +2 -2
  379. package/pn-market-web-components/{p-b2b2bae0.entry.js → p-81210644.entry.js} +2 -2
  380. package/pn-market-web-components/p-81e4d75b.entry.js +2 -0
  381. package/pn-market-web-components/p-81e4d75b.entry.js.map +1 -0
  382. package/pn-market-web-components/{p-d0f27361.entry.js → p-8382794b.entry.js} +2 -2
  383. package/pn-market-web-components/{p-8f25176b.entry.js → p-8519e39e.entry.js} +2 -2
  384. package/pn-market-web-components/p-8c26c1f2.entry.js +2 -0
  385. package/pn-market-web-components/p-8c26c1f2.entry.js.map +1 -0
  386. package/pn-market-web-components/{p-461c8792.entry.js → p-92b6477c.entry.js} +2 -2
  387. package/pn-market-web-components/{p-0d4d9d90.entry.js → p-9eab8192.entry.js} +2 -2
  388. package/pn-market-web-components/{p-40e632cc.entry.js → p-a3beee11.entry.js} +2 -2
  389. package/pn-market-web-components/{p-01fbf1ce.entry.js → p-a6935dc2.entry.js} +2 -2
  390. package/pn-market-web-components/{p-af646091.entry.js → p-a6dd3e4f.entry.js} +2 -2
  391. package/pn-market-web-components/{p-6d77e747.entry.js → p-af89c95a.entry.js} +2 -2
  392. package/pn-market-web-components/p-b318ff19.entry.js +2 -0
  393. package/pn-market-web-components/{p-0700cb4c.entry.js.map → p-b318ff19.entry.js.map} +1 -1
  394. package/pn-market-web-components/{p-c89f3d6b.entry.js → p-ba14b0ef.entry.js} +2 -2
  395. package/pn-market-web-components/{p-c7965104.entry.js → p-ba680948.entry.js} +2 -2
  396. package/pn-market-web-components/{p-11c6e458.entry.js → p-ba75bfdb.entry.js} +2 -2
  397. package/pn-market-web-components/{p-4149e715.entry.js → p-c186ec41.entry.js} +2 -2
  398. package/pn-market-web-components/{p-66c0c8dc.entry.js → p-c38707f9.entry.js} +2 -2
  399. package/pn-market-web-components/{p-671a8129.entry.js → p-c89cdd5a.entry.js} +2 -2
  400. package/pn-market-web-components/{p-4d848e18.entry.js → p-e8cd1608.entry.js} +2 -2
  401. package/pn-market-web-components/{p-4517a3d4.entry.js → p-ef090656.entry.js} +2 -2
  402. package/pn-market-web-components/p-f23ed5d2.entry.js +2 -0
  403. package/pn-market-web-components/p-f23ed5d2.entry.js.map +1 -0
  404. package/pn-market-web-components/{p-bd8ec517.entry.js → p-f3b4c13d.entry.js} +2 -2
  405. package/pn-market-web-components/{p-ff38b9a5.entry.js → p-f710445f.entry.js} +2 -2
  406. package/pn-market-web-components/{p-2e585ed5.entry.js → p-fcefe4a4.entry.js} +2 -2
  407. package/pn-market-web-components/p-fded22b7.entry.js +2 -0
  408. package/pn-market-web-components/p-fded22b7.entry.js.map +1 -0
  409. package/pn-market-web-components/{p-32bd2ff8.entry.js → p-ff6118f8.entry.js} +2 -2
  410. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  411. package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
  412. package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.d.ts +40 -0
  413. package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.d.ts +3 -0
  414. package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.d.ts +30 -0
  415. package/types/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.d.ts +48 -0
  416. package/types/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.d.ts +34 -0
  417. package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.d.ts +121 -0
  418. package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.d.ts +99 -0
  419. package/types/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.d.ts +108 -0
  420. package/types/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.d.ts +103 -0
  421. package/types/components/layout-components/pn-marketweb-header/utils/header-i18n.d.ts +16 -0
  422. package/types/components/layout-components/pn-marketweb-header/utils/header-language.d.ts +20 -0
  423. package/types/components/layout-components/pn-marketweb-header/utils/header-menu.d.ts +16 -0
  424. package/types/components/layout-components/pn-marketweb-header/utils/header-theme.d.ts +6 -0
  425. package/types/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.d.ts +49 -0
  426. package/types/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.d.ts +25 -0
  427. package/types/components/layout-components/pn-marketweb-header/utils/header-url.d.ts +41 -0
  428. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +2 -0
  429. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types.d.ts +1 -0
  430. package/types/components/navigation/pn-language-selector/pn-language-selector.d.ts +1 -0
  431. package/types/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.d.ts +25 -0
  432. package/types/components/navigation/pn-site-selector/pn-site-selector.d.ts +1 -0
  433. package/types/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.d.ts +1 -1
  434. package/types/components.d.ts +532 -2
  435. package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.d.ts +7 -0
  436. package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.d.ts +24 -0
  437. package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.d.ts +16 -0
  438. package/umd/pn-marketweb-init.js +1 -1
  439. package/umd/pn-marketweb-salesforce.js +1 -1
  440. package/vscode-data.json +421 -0
  441. package/cjs/pn-language-selector_9.cjs.entry.js +0 -1156
  442. package/cjs/pn-language-selector_9.cjs.entry.js.map +0 -1
  443. package/cjs/pn-mainnav-link.cjs.entry.js +0 -45
  444. package/cjs/pn-mainnav-link.cjs.entry.js.map +0 -1
  445. package/cjs/pn-mainnav-store-13aaa243.js +0 -22
  446. package/cjs/pn-mainnav-store-13aaa243.js.map +0 -1
  447. package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js +0 -366
  448. package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +0 -1
  449. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +0 -1
  450. package/esm/pn-language-selector_9.entry.js.map +0 -1
  451. package/esm/pn-mainnav-link.entry.js +0 -41
  452. package/esm/pn-mainnav-link.entry.js.map +0 -1
  453. package/esm/pn-mainnav-store-c98d831e.js +0 -19
  454. package/esm/pn-mainnav-store-c98d831e.js.map +0 -1
  455. package/esm/pn-marketweb-siteheader-login-button_4.entry.js +0 -359
  456. package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +0 -1
  457. package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +0 -1
  458. package/pn-market-web-components/p-022780ab.entry.js +0 -2
  459. package/pn-market-web-components/p-022780ab.entry.js.map +0 -1
  460. package/pn-market-web-components/p-0700cb4c.entry.js +0 -2
  461. package/pn-market-web-components/p-4bc6d49f.entry.js +0 -2
  462. package/pn-market-web-components/p-4bc6d49f.entry.js.map +0 -1
  463. package/pn-market-web-components/p-4c8bda8f.entry.js +0 -2
  464. package/pn-market-web-components/p-4c8bda8f.entry.js.map +0 -1
  465. package/pn-market-web-components/p-5090bb1d.entry.js +0 -2
  466. package/pn-market-web-components/p-5090bb1d.entry.js.map +0 -1
  467. package/pn-market-web-components/p-9d0ca27b.entry.js +0 -2
  468. package/pn-market-web-components/p-a30de538.entry.js +0 -2
  469. package/pn-market-web-components/p-a30de538.entry.js.map +0 -1
  470. package/pn-market-web-components/p-e3b2486a.js +0 -2
  471. package/pn-market-web-components/p-e3b2486a.js.map +0 -1
  472. /package/pn-market-web-components/{p-4a164ef8.entry.js.map → p-03728b0b.entry.js.map} +0 -0
  473. /package/pn-market-web-components/{p-e43a36e0.entry.js.map → p-067c1c2f.entry.js.map} +0 -0
  474. /package/pn-market-web-components/{p-2616cdc1.entry.js.map → p-191c8cfc.entry.js.map} +0 -0
  475. /package/pn-market-web-components/{p-ca003c1f.entry.js.map → p-1a91c313.entry.js.map} +0 -0
  476. /package/pn-market-web-components/{p-ab1e3dc2.entry.js.map → p-1f8304be.entry.js.map} +0 -0
  477. /package/pn-market-web-components/{p-a3f601cb.entry.js.map → p-24ffac0a.entry.js.map} +0 -0
  478. /package/pn-market-web-components/{p-12cafd55.entry.js.map → p-3aa74418.entry.js.map} +0 -0
  479. /package/pn-market-web-components/{p-64f6691d.entry.js.map → p-42da7c5f.entry.js.map} +0 -0
  480. /package/pn-market-web-components/{p-f0d423d0.entry.js.map → p-43748ca2.entry.js.map} +0 -0
  481. /package/pn-market-web-components/{p-1c644b91.entry.js.map → p-466958a8.entry.js.map} +0 -0
  482. /package/pn-market-web-components/{p-150da889.entry.js.map → p-4ab53d5d.entry.js.map} +0 -0
  483. /package/pn-market-web-components/{p-118fe47d.entry.js.map → p-4d595345.entry.js.map} +0 -0
  484. /package/pn-market-web-components/{p-0f6f715b.entry.js.map → p-4dac1980.entry.js.map} +0 -0
  485. /package/pn-market-web-components/{p-a13f1f73.entry.js.map → p-4fcce83d.entry.js.map} +0 -0
  486. /package/pn-market-web-components/{p-89fbca3b.entry.js.map → p-5a51d0b0.entry.js.map} +0 -0
  487. /package/pn-market-web-components/{p-f4d2d0d3.entry.js.map → p-61346425.entry.js.map} +0 -0
  488. /package/pn-market-web-components/{p-6e693269.entry.js.map → p-6b557670.entry.js.map} +0 -0
  489. /package/pn-market-web-components/{p-e6d6a752.entry.js.map → p-70a71854.entry.js.map} +0 -0
  490. /package/pn-market-web-components/{p-c0315c45.entry.js.map → p-76fb0c21.entry.js.map} +0 -0
  491. /package/pn-market-web-components/{p-b2b2bae0.entry.js.map → p-81210644.entry.js.map} +0 -0
  492. /package/pn-market-web-components/{p-d0f27361.entry.js.map → p-8382794b.entry.js.map} +0 -0
  493. /package/pn-market-web-components/{p-8f25176b.entry.js.map → p-8519e39e.entry.js.map} +0 -0
  494. /package/pn-market-web-components/{p-461c8792.entry.js.map → p-92b6477c.entry.js.map} +0 -0
  495. /package/pn-market-web-components/{p-0d4d9d90.entry.js.map → p-9eab8192.entry.js.map} +0 -0
  496. /package/pn-market-web-components/{p-40e632cc.entry.js.map → p-a3beee11.entry.js.map} +0 -0
  497. /package/pn-market-web-components/{p-01fbf1ce.entry.js.map → p-a6935dc2.entry.js.map} +0 -0
  498. /package/pn-market-web-components/{p-af646091.entry.js.map → p-a6dd3e4f.entry.js.map} +0 -0
  499. /package/pn-market-web-components/{p-6d77e747.entry.js.map → p-af89c95a.entry.js.map} +0 -0
  500. /package/pn-market-web-components/{p-c89f3d6b.entry.js.map → p-ba14b0ef.entry.js.map} +0 -0
  501. /package/pn-market-web-components/{p-c7965104.entry.js.map → p-ba680948.entry.js.map} +0 -0
  502. /package/pn-market-web-components/{p-11c6e458.entry.js.map → p-ba75bfdb.entry.js.map} +0 -0
  503. /package/pn-market-web-components/{p-4149e715.entry.js.map → p-c186ec41.entry.js.map} +0 -0
  504. /package/pn-market-web-components/{p-66c0c8dc.entry.js.map → p-c38707f9.entry.js.map} +0 -0
  505. /package/pn-market-web-components/{p-671a8129.entry.js.map → p-c89cdd5a.entry.js.map} +0 -0
  506. /package/pn-market-web-components/{p-4d848e18.entry.js.map → p-e8cd1608.entry.js.map} +0 -0
  507. /package/pn-market-web-components/{p-4517a3d4.entry.js.map → p-ef090656.entry.js.map} +0 -0
  508. /package/pn-market-web-components/{p-bd8ec517.entry.js.map → p-f3b4c13d.entry.js.map} +0 -0
  509. /package/pn-market-web-components/{p-ff38b9a5.entry.js.map → p-f710445f.entry.js.map} +0 -0
  510. /package/pn-market-web-components/{p-2e585ed5.entry.js.map → p-fcefe4a4.entry.js.map} +0 -0
  511. /package/pn-market-web-components/{p-32bd2ff8.entry.js.map → p-ff6118f8.entry.js.map} +0 -0
@@ -0,0 +1,1519 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-9a9efa1c.js');
6
+ const index$1 = require('./index-a8de2b09.js');
7
+ const bars = require('./bars-3fdeb31f.js');
8
+ const close = require('./close-9e014a80.js');
9
+ const arrow_left = require('./arrow_left-71879efe.js');
10
+ const angle_small_down = require('./angle_small_down-f00f19b1.js');
11
+ const arrow_right = require('./arrow_right-66958158.js');
12
+ const open_in_new = require('./open_in_new-03e5ca56.js');
13
+ const pnMarketwebSiteheaderStore = require('./pn-marketweb-siteheader-store-7548aafe.js');
14
+ const search = require('./search-3785cc26.js');
15
+
16
+ const icon$2 = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M16.707 11.293a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414-1.414L14.586 12 9.293 6.707a1 1 0 0 1 1.414-1.414z" clip-rule="evenodd"/></svg>';
17
+ const angle_small_right = icon$2;
18
+
19
+ const icon$1 = '<svg class="pn-icon-svg" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#000" fill-rule="evenodd" d="M4.252 10A8 8 0 0 0 4 12c0 .69.088 1.36.252 2h3.166a13.8 13.8 0 0 1 0-4zm.818-2h2.795a13.6 13.6 0 0 1 1.719-3.629A8.02 8.02 0 0 0 5.07 8M12 4.48A11.7 11.7 0 0 0 9.972 8h4.056A11.7 11.7 0 0 0 12 4.48M14.557 10H9.443a11.8 11.8 0 0 0 0 4h5.114a11.8 11.8 0 0 0 0-4m2.025 4a13.8 13.8 0 0 0 0-4h3.166c.165.64.252 1.31.252 2s-.087 1.36-.252 2zm-2.554 2H9.972A11.7 11.7 0 0 0 12 19.52 11.7 11.7 0 0 0 14.028 16m-4.444 3.629A13.6 13.6 0 0 1 7.864 16H5.07a8.02 8.02 0 0 0 4.514 3.629m4.832 0A13.6 13.6 0 0 0 16.136 16h2.794a8.02 8.02 0 0 1-4.514 3.629M18.93 8h-2.795a13.6 13.6 0 0 0-1.719-3.629A8.02 8.02 0 0 1 18.93 8M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12" clip-rule="evenodd"/></svg>';
20
+ const globe = icon$1;
21
+
22
+ 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>';
23
+ const user = icon;
24
+
25
+ const translations$1 = {
26
+ 'sv': {
27
+ heading: 'Språk',
28
+ },
29
+ 'en': {
30
+ heading: 'Language',
31
+ },
32
+ 'da': {
33
+ heading: 'Sprog',
34
+ },
35
+ 'no': {
36
+ heading: 'Språk',
37
+ },
38
+ 'fi': {
39
+ heading: 'Kieli',
40
+ },
41
+ 'de': {
42
+ heading: 'Sprache',
43
+ },
44
+ 'zh': {
45
+ heading: '语言',
46
+ },
47
+ 'fr': {
48
+ heading: 'Langue',
49
+ },
50
+ 'es': {
51
+ heading: 'Idioma',
52
+ },
53
+ 'nl': {
54
+ heading: 'Spraak',
55
+ },
56
+ 'it': {
57
+ heading: 'Idioma',
58
+ },
59
+ 'tr': {
60
+ heading: 'Dil',
61
+ },
62
+ 'pl': {
63
+ heading: 'Język',
64
+ },
65
+ 'pt': {
66
+ heading: 'Linguagem',
67
+ },
68
+ 'pt-BR': {
69
+ heading: 'Linguagem',
70
+ },
71
+ };
72
+
73
+ const pnLanguageSelectorCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-language-selector{--languageselector-toggle-color:#005d92;--languageselector-toggle-hover-color:#0d234b;--languageselector-toggle-background-color:#ffffff;--languageselector-title-color:#2d2013}pn-language-selector{max-height:5.2rem}.languageselector{position:relative}.languageselector-togglebtn{cursor:pointer;border:0;padding:0.64rem 0;background-color:var(--languageselector-toggle-background-color);color:var(--languageselector-toggle-color);font-size:1.6rem}.languageselector-togglebtn:hover,.languageselector-togglebtn:focus,.languageselector-togglebtn:active{color:var(--languageselector-toggle-hover-color);text-decoration:underline}.languageselector-togglebtn svg{width:1.9rem;height:1.9rem}.languageselector-title{display:flex;align-items:center;padding:0.8rem 1.6rem;color:var(--languageselector-title-color)}.languageselector-list{list-style:none;margin:0;padding:0}pn-language-selector[appearance=dark] button:hover pn-icon svg path{fill:#000000}";
74
+ const PnLanguageSelectorStyle0 = pnLanguageSelectorCss;
75
+
76
+ const PnlanguageSelector = class {
77
+ constructor(hostRef) {
78
+ index.registerInstance(this, hostRef);
79
+ this.setLanguage = index.createEvent(this, "setLanguage", 7);
80
+ this.value = '';
81
+ this.appearance = 'light';
82
+ this.selectedLanguageName = '';
83
+ this.options = [];
84
+ this.i18n = undefined;
85
+ }
86
+ get hostElement() { return index.getElement(this); }
87
+ // Events
88
+ setLanguage;
89
+ componentWillLoad() {
90
+ this.setInitialSelectedLanguageName();
91
+ this.setTranslations();
92
+ }
93
+ componentDidLoad() {
94
+ this.initialize();
95
+ }
96
+ initialize() {
97
+ this.setSelectedLanguageName();
98
+ this.addEventBindingsToOptions();
99
+ }
100
+ setInitialSelectedLanguageName() {
101
+ if (!window.Intl || !this.value) {
102
+ return;
103
+ }
104
+ const langs = new Intl.DisplayNames([this.value], { type: 'language' });
105
+ if (!langs) {
106
+ return;
107
+ }
108
+ const languageName = langs.of(this.value);
109
+ if (!languageName) {
110
+ return;
111
+ }
112
+ this.selectedLanguageName = languageName.charAt(0).toUpperCase() + languageName.slice(1);
113
+ }
114
+ addEventBindingsToOptions() {
115
+ const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option'));
116
+ options.map((option) => {
117
+ option.removeEventListener('setCurrentLanguage', (event) => {
118
+ this.onSetCurrentLanguage(event.detail);
119
+ });
120
+ // Bind event listener for when a user change language
121
+ option.addEventListener('setCurrentLanguage', (event) => {
122
+ this.onSetCurrentLanguage(event.detail);
123
+ });
124
+ });
125
+ }
126
+ setSelectedLanguageName() {
127
+ const options = [].slice.apply(this.hostElement.querySelectorAll('pn-language-selector-option'));
128
+ options.map((option) => {
129
+ // Set current label of language selector
130
+ if (option.getAttribute('code') == this.value) {
131
+ // || option.getAttribute("selected") == "true"
132
+ this.selectedLanguageName = option.getAttribute('name');
133
+ }
134
+ });
135
+ }
136
+ onSetCurrentLanguage(option) {
137
+ this.value = option.code;
138
+ this.selectedLanguageName = option.name;
139
+ this.setLanguage.emit(this.value);
140
+ }
141
+ setTranslations() {
142
+ if (translations$1[this.value]) {
143
+ this.i18n = translations$1[this.value];
144
+ }
145
+ }
146
+ onValueChange() {
147
+ const components = this.hostElement.querySelectorAll('pn-language-selector-option') ?? [];
148
+ components.forEach(component => {
149
+ // Pass values as props into slotted components
150
+ // component.setAttribute("current-language", this.value);
151
+ const isSelected = (component.getAttribute('code') === this.value) + '';
152
+ if (component.getAttribute('selected') + '' !== isSelected) {
153
+ component.setAttribute('selected', isSelected);
154
+ }
155
+ });
156
+ }
157
+ render() {
158
+ return (index.h(index.Host, { key: '0ba1347ccc5175441a315db338775b9bcdabd7fc', value: this.value }, index.h("pn-button-dropdown", { key: '466f22c72836797e50ab8e90771b01231f288b84', label: this.selectedLanguageName, icon: globe, appearance: this.appearance, variant: "borderless", "aria-label": this.i18n.heading }, index.h("div", { key: '42dd5303f4118e72c6a6e5590ba66d094119c5b5', class: "languageselector-nav" }, index.h("strong", { key: '0e31f50c574d3a9c232a87f5fce335e543e04d10', class: "languageselector-title" }, this.i18n.heading), index.h("div", { key: 'e88f8090964f716ec4ac98393ddc6f89e4790575', class: "languageselector-list", role: "list" }, index.h("slot", { key: '67bf04a16414148371a8a7b56d67ede2c248a395' }))))));
159
+ }
160
+ static get watchers() { return {
161
+ "value": ["setSelectedLanguageName", "setTranslations", "onValueChange"]
162
+ }; }
163
+ };
164
+ PnlanguageSelector.style = PnLanguageSelectorStyle0;
165
+
166
+ const pnLanguageSelectorOptionCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-language-selector-option{--languageselector-option-background-color:#ffffff;--languageselector-option-color:#005d92;--languageselector-option-hover-background-color:#f3f2f2;--languageselector-option-hover-color:#005d92;--languageselector-option-radio-outer-background-color:#ffffff;--languageselector-option-radio-outer-border-color:#d3cecb;--languageselector-option-radio-outer-hover-background-color:#e0f8ff;--languageselector-option-radio-outer-hover-border-color:#005d92;--languageselector-option-radio-outer-selected-border-color:#005d92;--languageselector-option-radio-inner-background-color:#005d92;--languageselector-option-radio-focus-ring-color:#005d92}pn-language-selector-option{margin:0;padding:0;list-style:none}.languageselector-button,.languageselector-link{width:100%;padding:1.1rem 1.6rem 1.1rem 1.4rem;display:flex;align-items:center;position:relative;text-decoration:none;border:0;cursor:pointer;background-color:var(--languageselector-option-background-color);color:var(--languageselector-option-color);font-size:1.6rem;font-weight:bold;border-radius:0}.languageselector-button:hover,.languageselector-button:focus,.languageselector-button:active,.languageselector-link:hover,.languageselector-link:focus,.languageselector-link:active{text-decoration:underline;box-shadow:none;background-color:var(--languageselector-option-hover-background-color);color:var(--languageselector-option-hover-color);outline:none}.languageselector-itemtext{display:inline-block;margin-left:1rem}.languageselector-radio-outer{background:var(--languageselector-option-radio-outer-background-color);border:0.1em solid var(--languageselector-option-radio-outer-border-color);border-radius:50%;height:1.5em;width:1.5em;display:flex;justify-content:center;align-items:center;transition:border 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.1s;cursor:pointer}.languageselector-radio-outer:focus>.languageselector-radio-outer,.languageselector-radio-outer:active>.languageselector-radio-outer{box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem var(--languageselector-option-radio-focus-ring-color)}.languageselector-radio-outer:hover>.languageselector-radio-outer{border:0.1rem solid var(--languageselector-option-radio-outer-hover-border-color);background:var(--languageselector-option-radio-outer-hover-background-color)}[selected=true] .languageselector-radio-outer{border:0.1rem solid var(--languageselector-option-radio-outer-selected-border-color)}.languageselector-radio-inner{transform:scale(0);height:1em;width:1em;background-color:var(--languageselector-option-radio-inner-background-color);border-radius:50%;transform-origin:center center;transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}[selected=true] .languageselector-radio-inner{transform:scale(1)}";
167
+ const PnLanguageSelectorOptionStyle0 = pnLanguageSelectorOptionCss;
168
+
169
+ const PnlanguageSelectorOption = class {
170
+ constructor(hostRef) {
171
+ index.registerInstance(this, hostRef);
172
+ this.setCurrentLanguage = index.createEvent(this, "setCurrentLanguage", 7);
173
+ this.name = '';
174
+ this.code = '';
175
+ this.url = '';
176
+ this.selected = false;
177
+ this.currentLanguage = undefined;
178
+ }
179
+ spanEl;
180
+ setCurrentLanguage;
181
+ onOptionClick() {
182
+ const currentlanguage = {
183
+ name: this.name,
184
+ code: this.code,
185
+ url: this.url,
186
+ current: true,
187
+ };
188
+ this.setCurrentLanguage.emit(currentlanguage);
189
+ }
190
+ componentDidLoad() {
191
+ if (this.spanEl) {
192
+ this.spanEl.setAttribute("xml:lang", this.code);
193
+ }
194
+ }
195
+ render() {
196
+ return (index.h(index.Host, { key: 'e51472e1c8226270ed869445dbbe59084758f73f', role: "listitem", selected: this.selected + '', code: this.code, name: this.name }, !this.url ? (index.h("button", { class: "languageselector-button", "data-langcode": this.code, onClick: this.onOptionClick.bind(this) }, index.h("span", { class: "languageselector-radio-outer" }, index.h("span", { class: "languageselector-radio-inner" })), index.h("span", { ref: (el) => (this.spanEl = el), lang: this.code, class: "languageselector-itemtext" }, this.name, " - ", this.code))) : (index.h("a", { href: this.url, target: "_self", class: "languageselector-link", "data-langcode": this.code }, index.h("span", { class: "languageselector-radio-outer" }, index.h("span", { class: "languageselector-radio-inner" })), index.h("span", { ref: (el) => (this.spanEl = el), lang: this.code, class: "languageselector-itemtext" }, this.name, " - ", this.code)))));
197
+ }
198
+ };
199
+ PnlanguageSelectorOption.style = PnLanguageSelectorOptionStyle0;
200
+
201
+ const translations = {
202
+ 'sv': {
203
+ menuHomeButton: 'Hem',
204
+ menuGoBackButton: 'Gå tillbaka',
205
+ mainMenuButton: 'Meny',
206
+ menuStartButton: 'Start',
207
+ navLabel: 'Huvudnavigation',
208
+ },
209
+ 'en': {
210
+ menuHomeButton: 'Home',
211
+ menuGoBackButton: 'Go back',
212
+ mainMenuButton: 'Menu',
213
+ menuStartButton: 'Start',
214
+ navLabel: 'Main navigation',
215
+ },
216
+ 'da': {
217
+ menuHomeButton: 'Hjem',
218
+ menuGoBackButton: 'Gå tilbage',
219
+ mainMenuButton: 'Menu',
220
+ menuStartButton: 'Start',
221
+ navLabel: 'Hovednavigation',
222
+ },
223
+ 'no': {
224
+ menuHomeButton: 'Hjem',
225
+ menuGoBackButton: 'Gå tilbake',
226
+ mainMenuButton: 'Meny',
227
+ menuStartButton: 'Start',
228
+ navLabel: 'Hovednavigasjon',
229
+ },
230
+ 'de': {
231
+ menuHomeButton: 'Home',
232
+ menuGoBackButton: 'Geh zurück',
233
+ mainMenuButton: 'Menü',
234
+ menuStartButton: 'Start',
235
+ navLabel: 'Hauptnavigation',
236
+ },
237
+ 'zh': {
238
+ menuHomeButton: 'Home',
239
+ menuGoBackButton: 'Go back',
240
+ mainMenuButton: 'Menu',
241
+ menuStartButton: 'Start',
242
+ navLabel: 'Main navigation',
243
+ },
244
+ 'it': {
245
+ menuHomeButton: 'Home',
246
+ menuGoBackButton: 'Go back',
247
+ mainMenuButton: 'Menu',
248
+ menuStartButton: 'Start',
249
+ navLabel: 'Main navigation',
250
+ },
251
+ 'nl': {
252
+ menuHomeButton: 'Home',
253
+ menuGoBackButton: 'Go back',
254
+ mainMenuButton: 'Menu',
255
+ menuStartButton: 'Start',
256
+ navLabel: 'Main navigation',
257
+ },
258
+ 'tr': {
259
+ menuHomeButton: 'Anasayfa',
260
+ menuGoBackButton: 'Geri git',
261
+ mainMenuButton: 'Menü',
262
+ menuStartButton: 'Başlat',
263
+ navLabel: 'Ana gezinme',
264
+ },
265
+ 'pt': {
266
+ menuHomeButton: 'Página inicial',
267
+ menuGoBackButton: 'Go back',
268
+ mainMenuButton: 'Menu',
269
+ menuStartButton: 'Start',
270
+ navLabel: 'Main navigation',
271
+ },
272
+ 'pl': {
273
+ menuHomeButton: 'Strona główna',
274
+ menuGoBackButton: 'Powrót',
275
+ mainMenuButton: 'Menu',
276
+ menuStartButton: 'Początek',
277
+ navLabel: 'Menu główne systemu',
278
+ },
279
+ 'pt-BR': {
280
+ menuHomeButton: 'Página inicial',
281
+ menuGoBackButton: 'Voltar',
282
+ mainMenuButton: 'Menu',
283
+ menuStartButton: 'Iniciar',
284
+ navLabel: 'Navegação principal',
285
+ },
286
+ };
287
+
288
+ // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
289
+ const { state: state$1, onChange: onChange$1 } = index$1.createStore({
290
+ openLevel: '',
291
+ currentLevel: 1,
292
+ openMenu: false,
293
+ i18n: {
294
+ menuHomeButton: '',
295
+ menuGoBackButton: '',
296
+ mainMenuButton: '',
297
+ menuStartButton: '',
298
+ navLabel: '',
299
+ },
300
+ });
301
+
302
+ const pnMainnavCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav{--mainnav-nav-background-color:#ffffff;--mainnav-toggle-background-color:#005d92;--mainnav-toggle-text-color:#ffffff;--mainnav-toggle-border-radius:2.4rem;--mainnav-toggle-padding:0.6rem 1.6rem;--mainnav-toggle-font-size:1.6rem;--mainnav-top-position:var(--siteheader-mainnav-top-position-mobile,3em)}pn-mainnav{display:flex;flex-flow:row-reverse;position:relative;width:100%;min-height:5.1rem}@media screen and (min-width: 48em){pn-mainnav{flex-flow:row}}@media screen and (min-width: 64em){pn-mainnav{flex-flow:column}}@media screen and (min-width: 64em){pn-mainnav [slot=footer]{display:none}}pn-mainnav>nav{display:flex;flex-flow:column;position:fixed;top:var(--mainnav-top-position);bottom:0;left:0;width:100vw;height:auto;background-color:var(--mainnav-nav-background-color);z-index:2;visibility:hidden;transform:translateX(100vw);transition:transform 0.2s 0s;transition-property:transform, visibility}@media screen and (min-width: 48em){pn-mainnav>nav{top:6.5em}}@media screen and (min-width: 64em){pn-mainnav>nav{flex-flow:row-reverse;position:static;top:0;width:100%;height:auto;justify-content:space-between;visibility:visible;transform:translateX(0)}}pn-mainnav>nav a{text-decoration:none}pn-mainnav>nav button{cursor:pointer}.mainnav-toggle{display:flex;align-items:center;align-self:center}@media screen and (min-width: 64em){.mainnav-toggle{display:none}}.mainnav-toggle>button{display:flex;align-items:center;background-color:var(--mainnav-toggle-background-color);color:var(--mainnav-toggle-text-color);border:none;border-radius:var(--mainnav-toggle-border-radius);padding:var(--mainnav-toggle-padding);cursor:pointer;font-size:var(--mainnav-toggle-font-size)}.mainnav-toggle>button:focus{outline:0}.mainnav-toggle>button pn-icon{display:block;margin-left:0.8rem}.mainnav-toggle>button svg{display:block;margin:-0.2rem -0.5rem -0.2rem 0;width:1.9rem;height:1.9rem}pn-mainnav>nav[data-menu-open=true]{visibility:visible;transform:translateX(0)}";
303
+ const PnMainnavStyle0 = pnMainnavCss;
304
+
305
+ const PnMainnav = class {
306
+ constructor(hostRef) {
307
+ index.registerInstance(this, hostRef);
308
+ this.menuLanguageChange = index.createEvent(this, "menuLanguageChange", 7);
309
+ this.marketChange = index.createEvent(this, "marketChange", 7);
310
+ this.menuOpenChange = index.createEvent(this, "menuOpenChange", 7);
311
+ this.market = 'se';
312
+ this.language = 'sv';
313
+ this.navigationId = 'mainnav';
314
+ this.openMenu = false;
315
+ this.navLabel = '';
316
+ }
317
+ get hostElement() { return index.getElement(this); }
318
+ menuLanguageChange; // Could not use language change since it's a existing window event
319
+ marketChange;
320
+ menuOpenChange;
321
+ componentWillLoad() {
322
+ this.init();
323
+ document.removeEventListener('mousedown', this._onClickOutside.bind(this));
324
+ document.addEventListener('mousedown', this._onClickOutside.bind(this));
325
+ }
326
+ async init() {
327
+ this.setLanguage();
328
+ this.setMarket();
329
+ }
330
+ _onClickOutside(event) {
331
+ const clickedOutside = !this.hostElement.contains(event.target);
332
+ if (clickedOutside) {
333
+ state$1.openLevel = '';
334
+ }
335
+ }
336
+ setLanguage() {
337
+ this.menuLanguageChange.emit(this.language);
338
+ }
339
+ setMarket() {
340
+ this.marketChange.emit(this.market);
341
+ }
342
+ onLanguageChange(event) {
343
+ if (translations[event.detail]) {
344
+ state$1.i18n = translations[event.detail];
345
+ if (!this.navLabel) {
346
+ this.navLabel = state$1.i18n.navLabel;
347
+ }
348
+ }
349
+ }
350
+ setMenuOpenState() {
351
+ state$1.openMenu = !state$1.openMenu;
352
+ this.menuOpenChange.emit(state$1.openMenu);
353
+ }
354
+ onOpenMenuLevelChange(event) {
355
+ state$1.openLevel = event.detail;
356
+ }
357
+ render() {
358
+ return (index.h(index.Host, { key: '1b30fcc03e3f10d965469b31cdb62617cdc16c8b' }, index.h("div", { key: 'df334e4a7a9c9a34a2dddebab2d5b5f9d815e8c0', class: "mainnav-toggle" }, index.h("button", { key: '094bcd9687a0dfe49de1cf442ec18d766e97b998', "aria-controls": this.navigationId, "aria-expanded": state$1.openMenu + '', onClick: this.setMenuOpenState.bind(this) }, state$1.i18n.mainMenuButton, index.h("pn-icon", { key: '92d31dd8f0842406ac92ca0930b4862e64805ae2', icon: state$1.openMenu ? close.close : bars.bars, color: "white" }))), index.h("nav", { key: 'c583056ed35ca91dc776e2a4f7d568a353c0f27d', class: "mainnav", "aria-label": this.navLabel, "data-menu-open": state$1.openMenu + '', "data-menu-currentlevel": state$1.currentLevel, id: this.navigationId }, index.h("slot", { key: 'e66850f10c8b2d2963d93b4fc9bfead91be77777' }))));
359
+ }
360
+ };
361
+ PnMainnav.style = PnMainnavStyle0;
362
+
363
+ const pnMainnavLevelCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav-level{--mainnav-level-bg:#ffffff;--mainnav-level-link-color:#005d92;--mainnav-level-2-border-top-left-radius-desktop:var(--siteheader-mainnav-level-2-border-top-left-radius-desktop, 1rem);--mainnav-level-2-border-top-right-radius-desktop:var(--siteheader-mainnav-level-2-border-top-right-radius-desktop, 1rem);--mainnav-level-2-border-bottom-right-radius-desktop:var(--siteheader-mainnav-level-2-border-bottom-right-radius-desktop, 1rem);--mainnav-level-2-border-bottom-left-radius-desktop:var(--siteheader-mainnav-level-2-border-bottom-left-radius-desktop, 1rem);--mainnav-level-2-shadow:0 0.06rem 0.18rem rgba(0, 0, 0, 0.1), 0 0.32rem 0.72rem rgba(0, 0, 0, 0.13);--mainnav-level-header-button-color:#005d92;--mainnav-level-header-link-font-size:2.4rem;--mainnav-level-header-icon-size:2.4rem}pn-mainnav-level{display:block}pn-mainnav-level:not(.hydrated){max-height:5.6rem;overflow:hidden}pn-mainnav-level[data-level=\"1\"]{width:100%;right:0;overflow-y:scroll;overflow-x:hidden;flex:1}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"1\"]{width:auto;overflow:initial}pn-mainnav-level[data-level=\"1\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"]{position:absolute;top:0;bottom:0;left:0;width:100vw;padding:0;background-color:var(--mainnav-level-bg);z-index:1;transform:translateX(100vw);transition:transform 0.2s 0s;transition-property:transform, visibility;overflow:scroll;visibility:hidden}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]{top:calc(100% + 1rem);bottom:auto;width:auto;height:auto;padding:1.6rem 1.6rem 0 1.6rem;border-top-left-radius:var(--mainnav-level-2-border-top-left-radius-desktop);border-top-right-radius:var(--mainnav-level-2-border-top-right-radius-desktop);border-bottom-right-radius:var(--mainnav-level-2-border-bottom-right-radius-desktop);border-bottom-left-radius:var(--mainnav-level-2-border-bottom-left-radius-desktop);display:none;z-index:3;box-shadow:var(--mainnav-level-2-shadow)}pn-mainnav-level[data-level=\"2\"][data-menuitem-rightaligned=true]{right:0;left:unset}}@media screen and (max-height: 33.125em){pn-mainnav-level[data-level=\"2\"]{-ms-overflow-style:none;scrollbar-width:none}pn-mainnav-level[data-level=\"2\"]::-webkit-scrollbar{display:none}}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{transform:translateX(0);visibility:visible}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][aria-hidden=false]{display:block;overflow:visible}pn-mainnav-level[data-level=\"2\"][aria-hidden=false]:not([data-level-listcount=\"1\"]){display:grid;grid-template-columns:minmax(12em, 20em) 1fr;grid-template-rows:auto auto;gap:0 1.6rem;grid-template-areas:\"top top\" \"left right\"}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=left]{right:0;left:unset}}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"][data-level-alignment=center]{left:50%;transform:translateX(-50%)}}pn-mainnav-level[data-level=\"2\"] a{color:var(--mainnav-level-link-color);text-decoration:none}pn-mainnav-level [slot=top]{display:flex}@media screen and (min-width: 48em){pn-mainnav-level [slot=top]{display:none}}[data-menu-currentlevel=\"2\"] pn-mainnav-level [slot=footer]{display:none;overscroll-behavior:contain}.mainnav-level-header{grid-area:top}.mainnav-level-header>label{position:absolute;width:0.1rem;height:0.1rem;padding:0;margin:-0.1rem;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap}.mainnav-level-header>button{display:block;position:relative;width:100%;padding:2.4rem 0 2.4rem 6.2rem;border:none;background-color:transparent;color:var(--mainnav-level-header-button-color);text-align:left}@media screen and (min-width: 64em){.mainnav-level-header>button{display:none;speak:none}}.mainnav-level-header>button>pn-icon{speak:none;position:absolute;top:50%;left:3rem;width:var(--mainnav-level-header-icon-size);height:var(--mainnav-level-header-icon-size);transform:translateY(-50%)}[data-level=\"2\"] .mainnav-level-header>pn-mainnav-link>a{font-size:var(--mainnav-level-header-link-font-size)}";
364
+ const PnMainnavLevelStyle0 = pnMainnavLevelCss;
365
+
366
+ const PnMainnavLevel = class {
367
+ constructor(hostRef) {
368
+ index.registerInstance(this, hostRef);
369
+ this.label = '';
370
+ this.level = 1;
371
+ this.levelId = '';
372
+ this.isOpen = false;
373
+ this.parentName = '';
374
+ this.parentHref = '';
375
+ this.parentLinkId = '';
376
+ this.listCount = 0;
377
+ this.alignment = 'right';
378
+ }
379
+ get hostElement() { return index.getElement(this); }
380
+ async componentWillLoad() {
381
+ this.setState();
382
+ onChange$1('openLevel', () => {
383
+ this.onChangeOpenLevel();
384
+ });
385
+ }
386
+ setState() {
387
+ this.listCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-list').length;
388
+ const parentElm = this.hostElement.parentElement;
389
+ if (parentElm.tagName.toLowerCase() !== 'nav') {
390
+ this.level = 2;
391
+ }
392
+ if (parentElm.tagName.toLowerCase() === 'pn-mainnav-link') {
393
+ this.parentName = parentElm.getAttribute('name') + '';
394
+ if ((!this.label && this.parentName) || this.label !== this.parentName) {
395
+ this.label = this.parentName;
396
+ }
397
+ this.parentHref = parentElm.getAttribute('href') + '';
398
+ this.parentLinkId = parentElm.getAttribute('linkid') + '';
399
+ const parentLinkName = this.parentName.toLowerCase().replace(/\W/gi, '_');
400
+ this.levelId = `mainnav-lvl${this.level}-${parentLinkName}`;
401
+ }
402
+ }
403
+ onOpen() {
404
+ if (this.level === 2) {
405
+ requestAnimationFrame(() => {
406
+ const levelClientRect = this.hostElement.getClientRects()[0];
407
+ if (!levelClientRect) {
408
+ return;
409
+ }
410
+ const navElm = this.hostElement.parentElement.parentElement.parentElement.parentElement;
411
+ if (navElm && navElm.tagName.toLowerCase() === 'nav') {
412
+ const navClientRect = navElm.getClientRects()[0];
413
+ if (!navClientRect) {
414
+ return;
415
+ }
416
+ if (levelClientRect.right > window.innerWidth) {
417
+ const levelParentRect = this.hostElement.parentElement.getClientRects()[0];
418
+ if (levelParentRect.left - levelClientRect.width < 0) {
419
+ this.alignment = 'center';
420
+ }
421
+ else {
422
+ this.alignment = 'left';
423
+ }
424
+ }
425
+ }
426
+ });
427
+ }
428
+ }
429
+ onChangeOpenLevel() {
430
+ this.isOpen = state$1.openLevel === this.levelId;
431
+ state$1.currentLevel = this.level;
432
+ }
433
+ render() {
434
+ return (index.h(index.Host, { key: 'ac243e3360d377e5d6324117225f2f8a769c43f5', ...(this.level > 1 && this.levelId ? { 'aria-hidden': !this.isOpen + '' } : {}), "data-level-listcount": this.listCount + '', "data-level-alignment": this.alignment, "data-level": this.level + '', ...(this.levelId ? { id: this.levelId } : {}) }, this.level > 1 ? (index.h("div", { class: "mainnav-level-header" }, index.h("label", { htmlFor: this.levelId }, state$1.i18n.menuGoBackButton), index.h("button", { class: "secondlevel-backbtn", onClick: () => {
435
+ state$1.openLevel = '';
436
+ state$1.currentLevel = 1;
437
+ }, "aria-expanded": (state$1.openLevel === this.levelId) + '' }, index.h("pn-icon", { icon: arrow_left.arrow_left, color: "blue700" }), state$1.i18n.menuStartButton), this.parentHref && this.label ? index.h("pn-mainnav-link", { href: this.parentHref, name: this.label, linkid: this.parentLinkId }) : null)) : null, index.h("slot", { key: '824623c0a89c4c15a23e866f90adf24584dee75e', name: "top" }), index.h("slot", { key: '9da0b6a172b8bcf943f31d72080c0a635284bbb9' }), index.h("slot", { key: '6bded6f5615ad6bbb6f721add8c558974f2fde3e', name: "additional" }), index.h("slot", { key: '02a3446012d0d132a805a207972c7034a3d8a4cf', name: "footer" })));
438
+ }
439
+ static get watchers() { return {
440
+ "label": ["setState"],
441
+ "isOpen": ["onOpen"]
442
+ }; }
443
+ };
444
+ PnMainnavLevel.style = PnMainnavLevelStyle0;
445
+
446
+ const pnMainnavLinkCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav-link{--mainnav-link-active-desktop-color:var(--siteheader-mainnav-link-active-desktop-color, #005d92);--mainnav-link-level1-indicator-color:var(--siteheader-mainnav-link-level1-indicator-color, #00a0d6);--mainnav-link-level1-indicator-active-color:var(--siteheader-mainnav-link-level1-indicator-active-color, #8eddf9);--mainnav-link-level1-first-border-top:0.1rem solid #f3f2f2;--mainnav-link-level1-border-bottom:var(--siteheader-mainnav-link-level1-border-bottom, 0.1rem solid #f3f2f2);--mainnav-link-level2-border-bottom:var(--siteheader-mainnav-link-level2-border-bottom, 0.1rem solid #f3f2f2)}pn-mainnav-link{display:block}pn-mainnav-link button,pn-mainnav-link a{position:relative;display:flex;align-items:center;border:0 none;background-color:transparent;color:#005d92;font-weight:normal}pn-mainnav-link button:hover,pn-mainnav-link button:focus,pn-mainnav-link a:hover,pn-mainnav-link a:focus{background-color:#ffffff;color:#005d92;outline:0;box-shadow:none}pn-mainnav-link button:active,pn-mainnav-link a:active{background-color:#f3f2f2;color:#00a0d6;box-shadow:none}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link{position:relative;height:100%;padding-left:0;scroll-snap-align:center}}[data-level=\"1\"] pn-mainnav-link:first-child{border-top:var(--mainnav-link-level1-first-border-top)}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link:first-child{border:0}}[data-level=\"1\"] pn-mainnav-link>button,[data-level=\"1\"] pn-mainnav-link>a{width:100%;height:auto;padding:1.9rem 0 1.9rem 3rem;border-bottom:var(--mainnav-link-level1-border-bottom);font-size:2rem}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button,[data-level=\"1\"] pn-mainnav-link>a{position:relative;height:100%;overflow:hidden;padding:1.6rem 1.6rem;border:0;outline:0;white-space:nowrap;font-size:1.6rem;font-weight:normal}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button::before,[data-level=\"1\"] pn-mainnav-link>a::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:0.5em;background-color:var(--mainnav-link-level1-indicator-color);border-radius:0.5em 0.5em 0 0;transform:translateY(100%);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:hover::before,[data-level=\"1\"] pn-mainnav-link>button:focus::before,[data-level=\"1\"] pn-mainnav-link>a:hover::before,[data-level=\"1\"] pn-mainnav-link>a:focus::before{transform:translateY(0)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:active,[data-level=\"1\"] pn-mainnav-link>a:active{color:var(--mainnav-link-active-desktop-color);outline:0;box-shadow:none}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:active::before,[data-level=\"1\"] pn-mainnav-link>a:active::before{background-color:var(--mainnav-link-level1-indicator-active-color);transform:translateY(0)}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button:hover,[data-level=\"1\"] pn-mainnav-link>button:focus,[data-level=\"1\"] pn-mainnav-link>a:hover,[data-level=\"1\"] pn-mainnav-link>a:focus{text-decoration:none}}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link>button[aria-expanded=true]::before,[data-level=\"1\"] pn-mainnav-link>a[aria-expanded=true]::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:0.5em;background-color:var(--mainnav-link-level1-indicator-color);border-radius:0.5em 0.5em 0 0;transform:translateY(0);transition:transform 0.1s cubic-bezier(0.64, 0.01, 0.67, 0.92)}}[data-level=\"1\"] pn-mainnav-link [aria-expanded=true] .first-level_icon{transform:rotateX(180deg)}[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_icon{display:none;width:1.92rem;height:1.92rem;transition:0.25s linear transform}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_icon{display:block}}[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow{display:block;position:absolute;top:50%;right:2.4rem;width:2.4rem;height:2.4rem;transform:translateY(-50%)}@media screen and (min-width: 64em){[data-level=\"1\"] pn-mainnav-link pn-icon.first-level_arrow{display:none}}[data-level=\"1\"] pn-mainnav-link pn-icon svg{width:100%;height:100%;pointer-events:none;speak:none}@media screen and (min-width: 64em){pn-mainnav-level[data-level=\"2\"]:not([data-level-listcount=\"1\"]) pn-mainnav-list:last-child pn-mainnav-link>a{min-width:unset}}[data-level=\"2\"] pn-mainnav-link{position:static;display:inline-block;width:100%;height:auto}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link{margin-bottom:1.6rem;padding-left:0}}[data-level=\"2\"] pn-mainnav-link>a{padding:2.2rem 0 2.2rem 3rem;border-bottom:var(--mainnav-link-level2-border-bottom);white-space:normal;font-size:1.6rem}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a{min-width:16em;padding:1.4rem 1.6rem;border:0;border-radius:1rem}}[data-level=\"2\"] pn-mainnav-link>a:hover{background-color:#ffffff;color:#005d92}[data-level=\"2\"] pn-mainnav-link>a:hover,[data-level=\"2\"] pn-mainnav-link>a:focus{box-shadow:none}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a:hover,[data-level=\"2\"] pn-mainnav-link>a:focus{background-color:#f3f2f2;color:#005d92;text-decoration:underline;outline:0}}[data-level=\"2\"] pn-mainnav-link>a:hover::before,[data-level=\"2\"] pn-mainnav-link>a:focus::before{content:none}[data-level=\"2\"] pn-mainnav-link>a:active{box-shadow:none}@media screen and (min-width: 64em){[data-level=\"2\"] pn-mainnav-link>a:active{background-color:#f3f2f2;color:#00a0d6;outline:0}}[data-level=\"2\"] pn-mainnav-link>a:active::before{content:none}[data-level=\"2\"] pn-mainnav-link pn-icon{display:inline-block;width:1.5rem;height:1.5rem;min-width:1.5rem;margin-left:0.2em}[data-level=\"2\"] pn-mainnav-link pn-icon svg{width:100%;height:100%;pointer-events:none;speak:none}";
447
+ const PnMainnavLinkStyle0 = pnMainnavLinkCss;
448
+
449
+ const PnMainnavLink = class {
450
+ constructor(hostRef) {
451
+ index.registerInstance(this, hostRef);
452
+ this.name = '';
453
+ this.href = '';
454
+ this.target = '';
455
+ this.linkid = '';
456
+ this.levelId = '';
457
+ this.open = false;
458
+ this.hasChildren = false;
459
+ }
460
+ get hostElement() { return index.getElement(this); }
461
+ componentWillLoad() {
462
+ this.hasChildren = this.hostElement.querySelectorAll('pn-mainnav-level').length > 0;
463
+ if (this.hasChildren && this.name) {
464
+ const safeLevelName = this.name.toLowerCase().replace(/\W/gi, '_');
465
+ this.levelId = `mainnav-lvl${2}-${safeLevelName}`;
466
+ }
467
+ }
468
+ setOpenMenuLevel() {
469
+ state$1.openLevel = state$1.openLevel + '' === this.levelId + '' ? '' : this.levelId;
470
+ }
471
+ render() {
472
+ return (index.h(index.Host, { key: '3c93d6d6fa93518b592e3a91f7a19b8875d8a786', role: "listitem", name: this.name, href: this.href, linkid: this.linkid }, this.hasChildren ? (index.h("button", { onClick: this.setOpenMenuLevel.bind(this), "aria-controls": this.levelId, "aria-expanded": (state$1.openLevel + '' === this.levelId + '') + '', "aria-haspopup": "true" }, this.name, index.h("pn-icon", { class: "first-level_icon", icon: angle_small_down.angle_small_down, color: "blue700" }), index.h("pn-icon", { class: "first-level_arrow", icon: arrow_right.arrow_right, color: "blue700" }))) : (index.h("a", { href: this.href, ...(this.target ? { target: this.target } : {}), ...(this.target === '_blank' ? { rel: 'nofollow noopener' } : {}), ...(this.linkid ? { id: this.linkid } : {}) }, this.name, this.target === '_blank' ? index.h("pn-icon", { icon: open_in_new.open_in_new, color: "blue700" }) : null)), index.h("slot", { key: '365a480af84435a0d0ae0c9c95cf5461410f539f' })));
473
+ }
474
+ };
475
+ PnMainnavLink.style = PnMainnavLinkStyle0;
476
+
477
+ const pnMainnavListCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-mainnav-list{--mainnav-list-secondary-border-right:0.1rem solid #d3cecb;--mainnav-list-heading-font-size:1.8rem;--mainnav-list-heading-color:var(--siteheader-mainnav-list-heading-color, #000000)}pn-mainnav-list{display:block;overflow:visible;list-style:none;margin:0;padding:0;grid-area:right}@media screen and (min-width: 64em){pn-mainnav-list+pn-mainnav-list{grid-area:left;border-right:var(--mainnav-list-secondary-border-right);margin-bottom:1.6rem;margin-right:-0.7rem;padding-right:0.7rem}}[data-level=\"1\"]>pn-mainnav-list{overflow:scroll;-webkit-overflow-scrolling:touch}@media screen and (min-width: 64em){[data-level=\"1\"]>pn-mainnav-list{height:100%;display:flex;flex-flow:row;overflow:visible;padding:0}}@media screen and (min-width: 64em){[data-level=\"2\"]>pn-mainnav-list[data-navlist-showcolumns=true]{column-count:2;column-gap:1.6rem;padding-bottom:1.6rem}}.mainnav-list-heading{display:none;font-weight:bold;column-span:all;font-size:var(--mainnav-list-heading-font-size);padding:1.4rem 1.4rem 1.4rem 4.8rem;color:var(--mainnav-list-heading-color)}@media screen and (min-width: 64em){.mainnav-list-heading{display:block;padding:0 1.4rem 1.4rem 1.4rem}}";
478
+ const PnMainnavListStyle0 = pnMainnavListCss;
479
+
480
+ const PnMainnavList = class {
481
+ constructor(hostRef) {
482
+ index.registerInstance(this, hostRef);
483
+ this.heading = '';
484
+ this.linkCount = 0;
485
+ }
486
+ get hostElement() { return index.getElement(this); }
487
+ componentWillLoad() {
488
+ this.linkCount = this.hostElement.querySelectorAll(':scope > pn-mainnav-link').length;
489
+ }
490
+ render() {
491
+ return (index.h(index.Host, { key: '3f433037d2fc867c74a1f5759fadb2f4fffd2c57', class: "mainnav-list", role: "list", "data-navlist-itemcount": this.linkCount + '', "data-navlist-showcolumns": (this.linkCount >= 8) + '' }, this.heading ? index.h("div", { class: "mainnav-list-heading" }, this.heading) : null, index.h("slot", { key: '52fd5e61c361e7660f43780fbdf8050835cc7c16' })));
492
+ }
493
+ };
494
+ PnMainnavList.style = PnMainnavListStyle0;
495
+
496
+ class MarketWebLoginManager {
497
+ eventTarget = window ?? document?.body;
498
+ endpoint = '';
499
+ storagePrefix = 'pn-user';
500
+ checkUserLoggedInStateInterval = 0;
501
+ baseUrls = {
502
+ at: 'https://atportal.postnord.com/api/unified-login/backend',
503
+ prod: 'https://portal.postnord.com/api/unified-login/backend',
504
+ };
505
+ events = {
506
+ loginstatechange: 'loginstatechange',
507
+ };
508
+ endpoints = {
509
+ authorizationEndpoint: `/authorization`,
510
+ tokenExchangeEndpoint: `/token`,
511
+ userInfoEndpoint: `/user`,
512
+ logoutEndpoint: `/logout`,
513
+ };
514
+ keys = {
515
+ tokensource: 'tokensource',
516
+ token: 'token',
517
+ accessToken: 'accessToken',
518
+ user: 'user',
519
+ expire: 'expire',
520
+ expireDate: 'expiredate',
521
+ };
522
+ overridetokenValue = 'overridetokenValue';
523
+ siteUrl = window.location.origin;
524
+ abortSignalForLoginCheck = null;
525
+ loginCheckInProgress = false;
526
+ loginCheckTimer = null;
527
+ constructor(options = null) {
528
+ if (!options) {
529
+ return;
530
+ }
531
+ this.eventTarget = options.eventTarget ? options.eventTarget : this.eventTarget;
532
+ this.endpoint = options.endpoint ? options.endpoint : `${window.location.protocol}//${window.location.host}`;
533
+ this.storagePrefix ??= options.storagePrefix;
534
+ this.checkUserLoggedInStateInterval =
535
+ options.checkUserLoggedInStateInterval && options.checkUserLoggedInStateInterval > 0 ? parseInt(options.checkUserLoggedInStateInterval + '', 10) : 0;
536
+ if (options.userInfo) {
537
+ this.store.set(this.keys.user, options.userInfo);
538
+ this.registerToken(this.overridetokenValue, 'override');
539
+ }
540
+ }
541
+ init(checkParameters = true) {
542
+ if (checkParameters) {
543
+ this.checkParameters();
544
+ this.checkPNTopbar();
545
+ this.checkExpireTime();
546
+ if (this.store.get(this.keys.token) && !this.store.get(this.keys.user)) {
547
+ this.fetchUserInfo();
548
+ }
549
+ this.loginStateChange();
550
+ if (this.checkUserLoggedInStateInterval > 0) {
551
+ this.initiateLoggedInCheck();
552
+ }
553
+ }
554
+ }
555
+ setSiteUrl(siteUrl) {
556
+ if (siteUrl) {
557
+ this.siteUrl = siteUrl;
558
+ }
559
+ }
560
+ initiateLoggedInCheck() {
561
+ if (this.isLoggedIn()) {
562
+ if (window && window['AbortController']) {
563
+ this.abortSignalForLoginCheck = new AbortController();
564
+ }
565
+ this.loginCheckTimer = window.setInterval(() => {
566
+ this.doExternalLoggedInCheck()
567
+ .then(() => { })
568
+ .catch(() => { });
569
+ }, this.checkUserLoggedInStateInterval);
570
+ }
571
+ }
572
+ async doExternalLoggedInCheck() {
573
+ if (!window.navigator.onLine) {
574
+ // Don't check if the user is not online
575
+ return;
576
+ }
577
+ if (!this.getToken()) {
578
+ window.clearInterval(this.checkUserLoggedInStateInterval);
579
+ return;
580
+ }
581
+ if (this.loginCheckInProgress && this.abortSignalForLoginCheck) {
582
+ this.abortSignalForLoginCheck.abort();
583
+ this.abortSignalForLoginCheck = new AbortController();
584
+ }
585
+ this.loginCheckInProgress = true;
586
+ const reqConfig = {
587
+ method: 'GET',
588
+ headers: {
589
+ 'Accept': 'application/json',
590
+ 'Content-Type': 'application/json',
591
+ 'Authorization': this.getToken(),
592
+ },
593
+ };
594
+ if (this.abortSignalForLoginCheck && this.abortSignalForLoginCheck['signal']) {
595
+ reqConfig['signal'] = this.abortSignalForLoginCheck['signal'];
596
+ }
597
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
598
+ if (response.status === 409) {
599
+ // This is a status the API returns if a user has been logged out
600
+ window.clearInterval(this.checkUserLoggedInStateInterval);
601
+ console.log('Cleared out user data due to bad response from authentication endpoint');
602
+ this.LogoutUser();
603
+ return;
604
+ }
605
+ if (!response.ok) {
606
+ // The response was "bad". This could be due to bad connectivity or something else.
607
+ // We'll ignore it so we don't unecessarily log users out or have them loose state if they're switching connection
608
+ return;
609
+ }
610
+ const data = await response.json();
611
+ if (!data || !data['accessToken']) {
612
+ window.clearInterval(this.checkUserLoggedInStateInterval);
613
+ console.log('Cleared out user data due to bad response from authentication endpoint');
614
+ this.LogoutUser();
615
+ }
616
+ this.loginCheckInProgress = false;
617
+ }
618
+ LogoutUser() {
619
+ this.clearUserData();
620
+ // Log out user
621
+ if (this.eventTarget) {
622
+ const logoutLink = this.eventTarget.querySelector('#pn-marketweb-header-logoutlink');
623
+ if (logoutLink) {
624
+ logoutLink.click();
625
+ return;
626
+ }
627
+ }
628
+ this.loginStateChange();
629
+ // If no logout link was found, attempt to change URL to redirect link
630
+ const currentPageHref = window.location.href;
631
+ window.location.href = this.getLogoutUrl(currentPageHref);
632
+ }
633
+ isLoggedIn(override = false) {
634
+ if (override) {
635
+ return override;
636
+ }
637
+ let isLoggedIn = this.store.get(this.keys.token) && this.store.get(this.keys.user) ? true : false;
638
+ if (!isLoggedIn && this.store.get(this.keys.token) === this.overridetokenValue) {
639
+ isLoggedIn = true;
640
+ }
641
+ return isLoggedIn;
642
+ }
643
+ registerToken(token = '', tokenSource = 'frontend') {
644
+ if (!token || token === this.getToken()) {
645
+ return;
646
+ }
647
+ this.clearUserData();
648
+ this.store.set(this.keys.tokensource, tokenSource);
649
+ this.store.set(this.keys.token, token);
650
+ this.fetchUserInfo();
651
+ }
652
+ invalidateTokenOfType(tokenSource = 'frontend') {
653
+ const currentToken = this.store.get(this.keys.token);
654
+ if (!currentToken) {
655
+ return;
656
+ }
657
+ const currentTokenSource = this.store.get(this.keys.tokensource);
658
+ if (currentTokenSource !== tokenSource) {
659
+ return;
660
+ }
661
+ // If we have a token and the source is set then we will invalidate the user data
662
+ this.clearUserData();
663
+ }
664
+ getLoginUrl(redirectPage = '') {
665
+ const currentPage = window.location.href;
666
+ redirectPage = redirectPage ? redirectPage : currentPage;
667
+ return `${this.getBaseUrl()}${this.endpoints.authorizationEndpoint}?redirectionUrl=${redirectPage}`;
668
+ }
669
+ getLogoutUrl(linkHref = '') {
670
+ if (linkHref.indexOf('logout?logoutUrl') !== -1) {
671
+ // Link has already been formatted.
672
+ return linkHref;
673
+ }
674
+ let redirectPage = linkHref
675
+ .replace('logout', '')
676
+ .replace('http://window.location.href/?', window.location.href)
677
+ .replace('https://window.location.href/?', window.location.href);
678
+ let rootUrl = this.siteUrl;
679
+ try {
680
+ const url = new URL(this.siteUrl + '');
681
+ rootUrl = url.origin;
682
+ }
683
+ catch (e) { }
684
+ const addSlash = rootUrl.lastIndexOf('/') !== rootUrl.length - 1;
685
+ const siteUrl = rootUrl + (addSlash ? '/' : '') + 'logout';
686
+ const secondLogoutUrl = `${this.getBaseUrl()}${this.endpoints.logoutEndpoint}?authorization=${this.store.get(this.keys.token)}%26redirectionUrl=${redirectPage}`;
687
+ const logoutUrl = `${siteUrl}?logoutUrl=${secondLogoutUrl}`;
688
+ return logoutUrl;
689
+ }
690
+ getUserInfo() {
691
+ if (this.isLoggedIn()) {
692
+ return this.store.get(this.keys.user);
693
+ }
694
+ }
695
+ getEventTarget() {
696
+ return this.eventTarget;
697
+ }
698
+ checkExpireTime() {
699
+ const expire = this.store.get(this.keys.expire);
700
+ if (!expire) {
701
+ return;
702
+ }
703
+ const now = new Date();
704
+ const expireDate = new Date(Math.floor(parseInt(expire, 10) * 1000));
705
+ if (now > expireDate) {
706
+ console.info('Login time has expired');
707
+ this.clearUserData();
708
+ this.loginStateChange();
709
+ }
710
+ }
711
+ checkPNTopbar() {
712
+ if (this.isLoggedIn() || !window['pnTopbar'] || !window['pnTopbar']['session_id']) {
713
+ return;
714
+ }
715
+ this.store.set(this.keys.token, window['pnTopbar']['session_id']);
716
+ this.fetchUserInfo();
717
+ }
718
+ checkParameters() {
719
+ if (!window?.location) {
720
+ return;
721
+ }
722
+ const params = new URLSearchParams(window.location.search);
723
+ if (params.get('oneTimeCode')) {
724
+ const oneTimeCode = params.get('oneTimeCode');
725
+ this.exchangeToken(oneTimeCode).then(() => {
726
+ const currentHref = window.location.href;
727
+ const paramPrefix = currentHref.indexOf('?oneTimeCode') !== -1 ? '?' : '&';
728
+ const newUrl = currentHref.replace(`${paramPrefix}oneTimeCode=${oneTimeCode}`, '');
729
+ history.replaceState({}, document.querySelector('title').innerText, newUrl);
730
+ });
731
+ }
732
+ }
733
+ async fetchUserInfo() {
734
+ const token = this.store.get(this.keys.token);
735
+ if (this.store.get(this.keys.token) === this.overridetokenValue) {
736
+ console.info('Did not fetch user data since it was set by an override');
737
+ return;
738
+ }
739
+ const reqConfig = {
740
+ method: 'GET',
741
+ headers: {
742
+ 'Accept': 'application/json',
743
+ 'Content-Type': 'application/json',
744
+ 'Authorization': token,
745
+ },
746
+ };
747
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.userInfoEndpoint}`, reqConfig);
748
+ const data = await response.json();
749
+ if (data && data['idToken']) {
750
+ try {
751
+ const { idToken, expiryTime, accessToken } = data;
752
+ const userInfo = this.parseUserInfo(idToken);
753
+ if (!userInfo) {
754
+ console.error('Userdata is not valid');
755
+ this.clearUserData();
756
+ return;
757
+ }
758
+ this.store.set(this.keys.user, userInfo);
759
+ // 10 Min early expire
760
+ this.store.set(this.keys.accessToken, accessToken);
761
+ this.store.set(this.keys.expire, expiryTime);
762
+ this.store.set(this.keys.expireDate, new Date(Math.floor(parseInt(expiryTime, 10) * 1000)));
763
+ this.loginStateChange();
764
+ }
765
+ catch (e) {
766
+ console.error('Unable to get user information', e);
767
+ }
768
+ }
769
+ else {
770
+ console.error('Unable to get user information. Clearing login state');
771
+ this.clearUserData();
772
+ }
773
+ }
774
+ clearUserData() {
775
+ this.store.remove(this.keys.user);
776
+ this.store.remove(this.keys.tokensource);
777
+ this.store.remove(this.keys.accessToken);
778
+ this.store.remove(this.keys.token);
779
+ this.store.remove(this.keys.expire);
780
+ this.store.remove(this.keys.expireDate);
781
+ }
782
+ getToken() {
783
+ return this.store.get(this.keys.token);
784
+ }
785
+ getAccessToken() {
786
+ return this.store.get(this.keys.accessToken);
787
+ }
788
+ async exchangeToken(oneTimeCode) {
789
+ this.clearUserData();
790
+ const response = await fetch(`${this.getBaseUrl()}${this.endpoints.tokenExchangeEndpoint}?oneTimeCode=${oneTimeCode}`);
791
+ const { token } = await response.json();
792
+ if (typeof token === 'string' && token) {
793
+ this.store.set(this.keys.token, token);
794
+ }
795
+ this.fetchUserInfo();
796
+ }
797
+ loginStateChange() {
798
+ if (!this.eventTarget) {
799
+ return;
800
+ }
801
+ this.eventTarget.dispatchEvent(new CustomEvent(this.events.loginstatechange, {
802
+ detail: this.isLoggedIn(),
803
+ }));
804
+ }
805
+ getBaseUrl() {
806
+ const atEnvironments = ['localhost', 'integration.', 'inte.', 'local.', 'prep.'];
807
+ let useATEnv = atEnvironments.filter(x => this.endpoint.indexOf(x) !== -1).length > 0;
808
+ if (['devportal.postnord.com', 'atportal.postnord.com'].indexOf(window.location.hostname) !== -1) {
809
+ useATEnv = true;
810
+ }
811
+ if (useATEnv) {
812
+ return this.baseUrls.at;
813
+ }
814
+ return this.baseUrls.prod;
815
+ }
816
+ parseUserInfo(idToken) {
817
+ if (!idToken) {
818
+ return null;
819
+ }
820
+ var base64Url = idToken.split('.')[1];
821
+ var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
822
+ var jsonPayload = decodeURIComponent(atob(base64)
823
+ .split('')
824
+ .map(function (c) {
825
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
826
+ })
827
+ .join(''));
828
+ return JSON.parse(jsonPayload);
829
+ }
830
+ store = {
831
+ get: (key) => {
832
+ const value = window.localStorage.getItem(`${this.storagePrefix}-${key}`);
833
+ if (!value) {
834
+ return value;
835
+ }
836
+ if (value.indexOf('{') === 0) {
837
+ try {
838
+ return JSON.parse(value);
839
+ }
840
+ catch (e) { }
841
+ }
842
+ if (value.indexOf(',') !== -1) {
843
+ return value.split(',');
844
+ }
845
+ return value;
846
+ },
847
+ set: (key, value) => {
848
+ if (typeof value === 'object' && typeof value.length === 'undefined') {
849
+ window.localStorage.setItem(`${this.storagePrefix}-${key}`, JSON.stringify(value));
850
+ return;
851
+ }
852
+ window.localStorage.setItem(`${this.storagePrefix}-${key}`, value);
853
+ },
854
+ remove: (key) => {
855
+ window.localStorage.removeItem(`${this.storagePrefix}-${key}`);
856
+ },
857
+ };
858
+ }
859
+
860
+ const pnMarketwebSiteheaderLoginCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-marketweb-siteheader-login{--login-dropdown-divider-background:var(--siteheader-login-dropdown-divider-background,\n #f9f8f8);--login-dropdown-text-color:var(--siteheader-login-dropdown-text-color,\n #2d2013);--login-dropdown-link-color:var(--siteheader-login-dropdown-link-color,\n #005d92);--login-dropdown-link-hover-decoration:var(--siteheader-login-dropdown-link-hover-decoration,\n underline);--login-dark-icon-hover-fill:var(--siteheader-login-dark-icon-hover-fill,\n #000000);padding:1rem 0;max-height:5.2rem;position:relative}pn-marketweb-siteheader-login pn-button-dropdown{display:none}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:\"\";width:100%;height:2px;margin-top:2.4rem;background:var(--login-dropdown-divider-background)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span{font-size:1.4rem;color:var(--login-dropdown-text-color)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span::before{display:block;content:\"\";width:100%;height:2px;margin-bottom:2.4rem;background:var(--login-dropdown-divider-background)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a{text-decoration:none;color:var(--login-dropdown-link-color)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a:hover{text-decoration:var(--login-dropdown-link-hover-decoration)}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span *{margin-bottom:0}pn-marketweb-siteheader-login.hydrated pn-button-dropdown{display:block}pn-marketweb-siteheader-login[appearance=dark] button:hover pn-icon svg path{fill:var(--login-dark-icon-hover-fill)}";
861
+ const PnMarketwebSiteheaderLoginStyle0 = pnMarketwebSiteheaderLoginCss;
862
+
863
+ const PnMarketwebSiteheaderLogin = class {
864
+ constructor(hostRef) {
865
+ index.registerInstance(this, hostRef);
866
+ this.loginStateChange = index.createEvent(this, "loginStateChange", 7);
867
+ this.endpoint = '';
868
+ this.token = '';
869
+ this.i18n = {
870
+ searchlabel: '',
871
+ searchplaceholder: '',
872
+ searchbuttontext: '',
873
+ menuHomeButton: '',
874
+ menuGoBackButton: '',
875
+ mainMenuButton: '',
876
+ menuStartButton: '',
877
+ profileSelectionFlyoutHeading: '',
878
+ unifiedLoginButton: '',
879
+ unifiedMyPagesButton: '',
880
+ };
881
+ this.siteUrl = '';
882
+ this.emitEvents = true;
883
+ this.loginDialog = null;
884
+ this.fullname = '';
885
+ this.loggedin = false;
886
+ this.showProfileSelection = false;
887
+ this.showUnifiedLogin = false;
888
+ this.checkUserLoggedInStateInterval = 0;
889
+ this.environment = undefined;
890
+ this.appearance = 'light';
891
+ this.loginLinks = undefined;
892
+ this.toggleButtonText = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';
893
+ this.username = this.fullname;
894
+ this.useMarketwebLogin = undefined;
895
+ }
896
+ get hostElement() { return index.getElement(this); }
897
+ // Events
898
+ loginStateChange;
899
+ componentWillLoad() {
900
+ const userInfo = this.loggedin && this.fullname ? { given_name: this.fullname } : null;
901
+ pnMarketwebSiteheaderStore.state.loginManager = new MarketWebLoginManager({
902
+ endpoint: this.endpoint,
903
+ eventTarget: this.hostElement,
904
+ checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval,
905
+ userInfo,
906
+ });
907
+ pnMarketwebSiteheaderStore.state.loginManager.setSiteUrl(this.siteUrl);
908
+ this.hostElement['loginmanager'] = pnMarketwebSiteheaderStore.state.loginManager;
909
+ if (this.token) {
910
+ pnMarketwebSiteheaderStore.state.loginManager.registerToken(this.token, 'backend');
911
+ }
912
+ else if (this.emitEvents) {
913
+ // The primary login instance
914
+ pnMarketwebSiteheaderStore.state.loginManager.invalidateTokenOfType('backend');
915
+ }
916
+ this.hostElement.addEventListener(pnMarketwebSiteheaderStore.state.loginManager.events.loginstatechange, this.onLoginStateChange.bind(this));
917
+ this.init();
918
+ this.setUserName();
919
+ this.setToggleButtonText();
920
+ }
921
+ async init() {
922
+ pnMarketwebSiteheaderStore.state.loginManager.init(this.emitEvents);
923
+ this.setToggleButtonText();
924
+ this.adjustLoginLinks();
925
+ }
926
+ adjustLoginLinks() {
927
+ if (!this.loginDialog?.loginMenuLinks) {
928
+ return;
929
+ }
930
+ const adjustLink = (link, i) => {
931
+ if (!link.isLogoutLink) {
932
+ link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;
933
+ }
934
+ if (link.isLogoutLink) {
935
+ link.href = pnMarketwebSiteheaderStore.state.loginManager.getLogoutUrl(link.pageLink);
936
+ }
937
+ if (i === 0 && !link.href) {
938
+ link.href = pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl();
939
+ link.linkType = 'primary';
940
+ }
941
+ if (link.primaryLinkApperance && !link.linkType) {
942
+ link.linkType = 'primary';
943
+ }
944
+ return link;
945
+ };
946
+ if (this.loginDialog) {
947
+ this.loginDialog.loginMenuLinks = this.loginDialog.loginMenuLinks.map(adjustLink);
948
+ this.loginDialog.loggedInLinks = this.loginDialog.loggedInLinks.map(adjustLink);
949
+ }
950
+ this.loginDialog.legacyLoginLinks = [
951
+ {
952
+ href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.loginUrl),
953
+ linkText: this.loginDialog.loginLinkText,
954
+ openInNewWindow: false,
955
+ isLogoutLink: false,
956
+ pageLink: null,
957
+ linkType: 'primary',
958
+ primaryLinkApperance: true,
959
+ },
960
+ {
961
+ href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.registerUrl),
962
+ linkText: this.loginDialog.createLoginLinkText,
963
+ openInNewWindow: false,
964
+ isLogoutLink: false,
965
+ pageLink: null,
966
+ primaryLinkApperance: false,
967
+ },
968
+ ];
969
+ }
970
+ setUserName() {
971
+ const userInfo = pnMarketwebSiteheaderStore.state.loginManager.getUserInfo();
972
+ let name = '';
973
+ if (!this.loggedin || !userInfo) {
974
+ this.username = name;
975
+ }
976
+ if (userInfo && userInfo.given_name) {
977
+ name = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');
978
+ }
979
+ if (!name && userInfo && userInfo.email) {
980
+ name = userInfo.email;
981
+ }
982
+ if (!name && this.fullname) {
983
+ name = this.fullname;
984
+ }
985
+ this.username = name;
986
+ this.adjustLoginLinks();
987
+ }
988
+ setToggleButtonText() {
989
+ if (this.loggedin) {
990
+ this.toggleButtonText = this.username;
991
+ if (!this.toggleButtonText) {
992
+ this.toggleButtonText = this.loginDialog.loggedInButtonText;
993
+ }
994
+ }
995
+ else {
996
+ this.toggleButtonText = this.loginDialog.loginMenuLinkText;
997
+ }
998
+ }
999
+ onLoginStateChange(e) {
1000
+ if (this.loggedin !== e.detail && this.emitEvents) {
1001
+ this.loggedin = e.detail;
1002
+ this.loginStateChange.emit({ loggedIn: this.loggedin, token: pnMarketwebSiteheaderStore.state.loginManager.getToken() });
1003
+ this.setUserName();
1004
+ this.setToggleButtonText();
1005
+ }
1006
+ }
1007
+ render() {
1008
+ if (!this.loginDialog) {
1009
+ return;
1010
+ }
1011
+ let hostElementAttribute = {
1012
+ username: null,
1013
+ loggedin: 'false',
1014
+ };
1015
+ if (this.username) {
1016
+ hostElementAttribute.username = this.username;
1017
+ hostElementAttribute.loggedin = this.loggedin + '';
1018
+ }
1019
+ return (index.h(index.Host, { ...hostElementAttribute }, index.h("pn-button-dropdown", { label: this.toggleButtonText, icon: user, appearance: this.appearance, variant: "borderless", class: "siteheader-logindialog" }, this.showUnifiedLogin && !this.loggedin && (index.h("pn-marketweb-siteheader-unified-login", { loggedIn: this.loggedin, logInLabel: this.i18n.unifiedLoginButton, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })), this.loggedin && this.showProfileSelection ? (index.h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })) : (index.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 && this.loginDialog?.loginInfo && (index.h("span", { innerHTML: `${this.loginDialog.loginInfo}` })))));
1020
+ }
1021
+ static get watchers() { return {
1022
+ "i18n": ["init"],
1023
+ "loginDialog": ["init"]
1024
+ }; }
1025
+ };
1026
+ PnMarketwebSiteheaderLogin.style = PnMarketwebSiteheaderLoginStyle0;
1027
+
1028
+ const pnMarketwebSiteheaderLoginLinksCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}";
1029
+ const PnMarketwebSiteheaderLoginLinksStyle0 = pnMarketwebSiteheaderLoginLinksCss;
1030
+
1031
+ const PnMarketwebSiteheaderLoginLinks = class {
1032
+ constructor(hostRef) {
1033
+ index.registerInstance(this, hostRef);
1034
+ this.loginDialog = null;
1035
+ this.idNamespace = '';
1036
+ this.loggedin = false;
1037
+ this.username = '';
1038
+ this.showUnifiedLogin = false;
1039
+ }
1040
+ get hostElement() { return index.getElement(this); }
1041
+ componentWillLoad() {
1042
+ this.init();
1043
+ }
1044
+ async init() {
1045
+ this.adjustLoginLinks();
1046
+ }
1047
+ adjustLoginLinks() {
1048
+ if (!this.loginDialog) {
1049
+ return;
1050
+ }
1051
+ const adjustLink = (link, i) => {
1052
+ if (!link.isLogoutLink) {
1053
+ link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;
1054
+ }
1055
+ if (link.isLogoutLink) {
1056
+ link.href = pnMarketwebSiteheaderStore.state.loginManager.getLogoutUrl(link.href);
1057
+ }
1058
+ link.href = link.href.replace('window.location.href', window.location.href);
1059
+ if (i === 0 && !link.href) {
1060
+ link.href = pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl();
1061
+ link.linkType = 'primary';
1062
+ }
1063
+ if (link.primaryLinkApperance && !link.linkType) {
1064
+ link.linkType = 'primary';
1065
+ }
1066
+ };
1067
+ if (this.loginDialog?.loginMenuLinks) {
1068
+ this.loginDialog?.loginMenuLinks.forEach(adjustLink);
1069
+ }
1070
+ if (this.loginDialog?.loggedInLinks) {
1071
+ this.loginDialog?.loggedInLinks.forEach(adjustLink);
1072
+ }
1073
+ this.loginDialog.legacyLoginLinks = [
1074
+ {
1075
+ href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.loginUrl),
1076
+ linkText: this.loginDialog.loginLinkText,
1077
+ openInNewWindow: false,
1078
+ isLogoutLink: false,
1079
+ pageLink: null,
1080
+ linkType: 'primary',
1081
+ primaryLinkApperance: true,
1082
+ },
1083
+ {
1084
+ href: pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl(this.loginDialog.registerUrl),
1085
+ linkText: this.loginDialog.createLoginLinkText,
1086
+ openInNewWindow: false,
1087
+ isLogoutLink: false,
1088
+ pageLink: null,
1089
+ primaryLinkApperance: false,
1090
+ },
1091
+ ];
1092
+ }
1093
+ render() {
1094
+ if (!this.loginDialog) {
1095
+ return;
1096
+ }
1097
+ let hostElementAttribute = {
1098
+ username: null,
1099
+ loggedin: false,
1100
+ };
1101
+ if (this.username) {
1102
+ hostElementAttribute.username = this.username;
1103
+ hostElementAttribute.loggedin = this.loggedin;
1104
+ }
1105
+ return (index.h(index.Host, { ...hostElementAttribute }, !this.loginDialog.overrideLoginMenu ? (index.h("div", { "data-loggedin": this.loggedin + '' }, this.loggedin ? (index.h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loggedInLinks, idNamespace: this.idNamespace })) : (index.h("div", null, this.loginDialog.loginMenuLinks?.length > 0 ? (index.h("pn-marketweb-siteheader-login-linklist", { heading: this.loginDialog.loginTitle, links: this.loginDialog.loginMenuLinks, idNamespace: this.idNamespace, showUnifiedLogin: this.showUnifiedLogin })) : (index.h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.legacyLoginLinks, idNamespace: this.idNamespace })))))) : null, this.loginDialog.overrideLoginMenu ? (index.h("pn-marketweb-siteheader-login-linklist", { links: this.loginDialog.loginMenuLinks, idNamespace: this.idNamespace })) : null));
1106
+ }
1107
+ static get watchers() { return {
1108
+ "loginDialog": ["init"]
1109
+ }; }
1110
+ };
1111
+ PnMarketwebSiteheaderLoginLinks.style = PnMarketwebSiteheaderLoginLinksStyle0;
1112
+
1113
+ const pnMarketwebSiteheaderLoginProfileselectionCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-marketweb-siteheader-login-profileselection{--login-profileselection-heading-color:var(--siteheader-login-profileselection-heading-color,\n inherit);--login-profileselection-description-color:var(--siteheader-login-profileselection-description-color,\n #5e554a);--login-profileselection-user-name-color:var(--siteheader-login-profileselection-user-name-color,\n inherit);--login-profileselection-divider-background:var(--siteheader-login-profileselection-divider-background,\n #00a0d6);--login-profileselection-profileoption-link-background:var(--siteheader-login-profileselection-profileoption-link-background,\n #ffffff);--login-profileselection-profileoption-link-color:var(--siteheader-login-profileselection-profileoption-link-color,\n #005d92);--login-profileselection-profileoption-link-hover-background:var(--siteheader-login-profileselection-profileoption-link-hover-background,\n #f3f2f2);--login-profileselection-logout-link-color:var(--siteheader-login-profileselection-logout-link-color,\n #005d92)}.pn-marketweb-siteheader-login-profileselection-heading{display:block;padding:0.5rem 0 1rem;color:var(--login-profileselection-heading-color)}.pn-marketweb-siteheader-login-profileselection-user,.pn-marketweb-siteheader-login-profileselection-currentprofile{margin-top:1rem;margin-bottom:1rem}.pn-marketweb-siteheader-login-profileselection-user-name,.pn-marketweb-siteheader-login-profileselection-currentprofile-name{line-height:1;color:var(--login-profileselection-user-name-color)}.pn-marketweb-siteheader-login-profileselection-user-description,.pn-marketweb-siteheader-login-profileselection-currentprofile-description{font-weight:400;white-space:normal;word-break:break-all;color:var(--login-profileselection-description-color);font-size:0.75em}.pn-marketweb-siteheader-login-profileselection-divider{position:relative;width:100%;height:1rem;background:var(--login-profileselection-divider-background);margin-left:-1em;margin-top:1.6rem;margin-bottom:1.6rem;border-radius:0 0.6em 0.6em 0;padding:0}.pn-marketweb-siteheader-login-profileselection-divider::after{content:\"\";position:absolute;right:0;top:0;width:0.6em;height:0.6em;border-radius:50%;background:inherit;transform:translateX(calc(100% + 0.2em))}.pn-marketweb-siteheader-login-profileselection-profileoption-link{display:flex;align-items:center;margin:0 -1em;padding:0.6rem 1.6rem;background:var(--login-profileselection-profileoption-link-background);color:var(--login-profileselection-profileoption-link-color);text-decoration:none;transition:background 0.15s ease-in-out}.pn-marketweb-siteheader-login-profileselection-profileoption-link:hover,.pn-marketweb-siteheader-login-profileselection-profileoption-link:focus,.pn-marketweb-siteheader-login-profileselection-profileoption-link:active{background:var(--login-profileselection-profileoption-link-hover-background)}.pn-marketweb-siteheader-login-profileselection-profileoption-content{flex-grow:1}.pn-marketweb-siteheader-login-profileselection-profileoption-name{font-weight:700}.pn-marketweb-siteheader-login-profileselection-profileoption-description{font-weight:400;white-space:normal;word-break:break-all;color:var(--login-profileselection-description-color);font-size:0.75em}.pn-marketweb-siteheader-login-profileselection-logout{width:100%;padding:1.6rem;text-align:center}.pn-marketweb-siteheader-login-profileselection-logout-link{display:inline-block;font-weight:500;color:var(--login-profileselection-logout-link-color);text-decoration:none}.pn-marketweb-siteheader-login-profileselection-logout-link:hover,.pn-marketweb-siteheader-login-profileselection-logout-link:focus,.pn-marketweb-siteheader-login-profileselection-logout-link:active{text-decoration:underline}";
1114
+ const PnMarketwebSiteheaderLoginProfileselectionStyle0 = pnMarketwebSiteheaderLoginProfileselectionCss;
1115
+
1116
+ const PnMarketwebSiteheaderLoginProfileselection = class {
1117
+ constructor(hostRef) {
1118
+ index.registerInstance(this, hostRef);
1119
+ this.loginDialog = null;
1120
+ this.endpoint = '';
1121
+ this.loggedin = false;
1122
+ this.idNamespace = '';
1123
+ this.heading = null;
1124
+ this.i18n = {
1125
+ searchlabel: '',
1126
+ searchplaceholder: '',
1127
+ searchbuttontext: '',
1128
+ menuHomeButton: '',
1129
+ menuGoBackButton: '',
1130
+ mainMenuButton: '',
1131
+ menuStartButton: '',
1132
+ profileSelectionFlyoutHeading: '',
1133
+ };
1134
+ this.user = null;
1135
+ this.logoutLink = null;
1136
+ this.userName = null;
1137
+ this.userEmail = '';
1138
+ this.currentProfile = null;
1139
+ this.profileoptions = [];
1140
+ }
1141
+ get hostElement() { return index.getElement(this); }
1142
+ componentWillLoad() {
1143
+ if (this.heading === null && this.i18n?.profileSelectionFlyoutHeading) {
1144
+ this.heading = this.i18n.profileSelectionFlyoutHeading;
1145
+ }
1146
+ this.init();
1147
+ }
1148
+ init() {
1149
+ this.updateUserInfo();
1150
+ this.adjustLoginLinks();
1151
+ this.fetchProfiles();
1152
+ }
1153
+ async fetchProfiles() {
1154
+ if (!this.loggedin || this.profileoptions.length > 0) {
1155
+ return;
1156
+ }
1157
+ let apiUrl = `${this.endpoint}${this.endpoint.lastIndexOf('/') > -1 && this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? '' : '/'}api/user/parentorganizations`;
1158
+ const req = await fetch(apiUrl);
1159
+ const reqdata = await req.json();
1160
+ const fallbackData = {
1161
+ loggedin: true,
1162
+ organizations: [
1163
+ {
1164
+ name: 'Forsheda Livs AB',
1165
+ customerNumber: '5564513603',
1166
+ id: 'dbba867d-1dff-3dbb-b420-c57b4b828b73',
1167
+ selected: true,
1168
+ profiles: [
1169
+ {
1170
+ name: 'Forsheda Livs AB',
1171
+ customerNumber: '20685482',
1172
+ id: 'f757ba28-9a73-15a2-f128-4b394d970f3f',
1173
+ ssid: '',
1174
+ selected: false,
1175
+ customerGroup: 'Business',
1176
+ },
1177
+ {
1178
+ name: 'ICA MAXI KUNGSBACKA',
1179
+ customerNumber: '20831191',
1180
+ id: '5aea41df-32b0-3f7e-2946-78598360177d',
1181
+ ssid: '259686',
1182
+ selected: true,
1183
+ customerGroup: 'Agent',
1184
+ },
1185
+ ],
1186
+ },
1187
+ {
1188
+ name: 'Hem Livs i Kungsbacka AB',
1189
+ customerNumber: '5565271250',
1190
+ id: '97ca363c-40ef-cca9-7a3c-9e7f025567c2',
1191
+ selected: false,
1192
+ profiles: [
1193
+ {
1194
+ name: 'ICA KVANTUM KUNGSBACKA',
1195
+ customerNumber: '20831193',
1196
+ id: 'fbd61ffd-41c6-2206-b88e-cfef91e1dc39',
1197
+ ssid: '259691',
1198
+ selected: false,
1199
+ customerGroup: 'Agent',
1200
+ },
1201
+ ],
1202
+ },
1203
+ {
1204
+ name: 'ICA SUPERMARKET TORGET',
1205
+ customerNumber: '5568902679',
1206
+ id: '7cb76a94-e1a5-5f57-58fd-bc563851b28e',
1207
+ selected: false,
1208
+ profiles: [
1209
+ {
1210
+ name: 'ICA SUPERMARKET TORGET',
1211
+ customerNumber: '20831212',
1212
+ id: '3a2db017-b68f-6fa0-fe70-542c08cd97ce',
1213
+ ssid: '',
1214
+ selected: false,
1215
+ customerGroup: 'Agent',
1216
+ },
1217
+ ],
1218
+ },
1219
+ ],
1220
+ };
1221
+ const data = window.location.href.indexOf('localhost:6008') !== -1 ? fallbackData : reqdata;
1222
+ if (!data || !data.organizations || !data.organizations.length) {
1223
+ this.heading = ""; //this is to not get "logged in as" text when its private account
1224
+ return;
1225
+ }
1226
+ data.organizations.forEach(org => {
1227
+ if (org.selected === true && org.profiles) {
1228
+ const selectedProfile = org.profiles.filter(x => x.selected === true);
1229
+ if (selectedProfile && selectedProfile[0] && selectedProfile[0].customerGroup.toLocaleLowerCase() === 'agent' && selectedProfile[0].ssid) {
1230
+ org.customerNumber = selectedProfile[0].ssid;
1231
+ }
1232
+ }
1233
+ else {
1234
+ if (org.customerNumber.length === 10 && org.customerNumber.substring(0, 2) === '55') {
1235
+ org.customerNumber = org.customerNumber.substring(0, 6) + '-' + org.customerNumber.substring(6);
1236
+ }
1237
+ this.profileoptions.push(org);
1238
+ }
1239
+ });
1240
+ let currentProfileObj = data.organizations.filter(x => x.selected === true)[0];
1241
+ const userProfileOption = {
1242
+ name: this.userName,
1243
+ customerNumber: '',
1244
+ id: '',
1245
+ selected: !currentProfileObj,
1246
+ profiles: [],
1247
+ };
1248
+ if (!currentProfileObj) {
1249
+ currentProfileObj = userProfileOption;
1250
+ }
1251
+ if (currentProfileObj && currentProfileObj.name) {
1252
+ this.currentProfile = currentProfileObj;
1253
+ }
1254
+ this.profileoptions.push(userProfileOption);
1255
+ }
1256
+ adjustLoginLinks() {
1257
+ const adjustLink = (link, i) => {
1258
+ if (!link.isLogoutLink) {
1259
+ link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;
1260
+ }
1261
+ if (link.isLogoutLink) {
1262
+ link.href = pnMarketwebSiteheaderStore.state.loginManager.getLogoutUrl(link.href);
1263
+ }
1264
+ if (i === 0 && !link.href) {
1265
+ link.href = pnMarketwebSiteheaderStore.state.loginManager.getLoginUrl();
1266
+ link.linkType = 'primary';
1267
+ }
1268
+ if (link.primaryLinkApperance && !link.linkType) {
1269
+ link.linkType = 'primary';
1270
+ }
1271
+ };
1272
+ if (this.loginDialog?.loggedInLinks) {
1273
+ this.loginDialog?.loggedInLinks.forEach(adjustLink);
1274
+ }
1275
+ this.logoutLink = this.loginDialog?.loggedInLinks.filter(x => x.isLogoutLink)[0] ?? null;
1276
+ }
1277
+ updateUserInfo() {
1278
+ const userInfo = pnMarketwebSiteheaderStore.state.loginManager.getUserInfo();
1279
+ this.user = userInfo;
1280
+ if (!userInfo) {
1281
+ return;
1282
+ }
1283
+ if (userInfo && userInfo.email) {
1284
+ this.userEmail = userInfo.email;
1285
+ }
1286
+ if (userInfo && userInfo.given_name) {
1287
+ this.userName = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');
1288
+ }
1289
+ if (userInfo && userInfo.given_name) {
1290
+ this.userName = userInfo.given_name;
1291
+ return;
1292
+ }
1293
+ if (userInfo && userInfo.family_name) {
1294
+ this.userName = userInfo.family_name;
1295
+ return;
1296
+ }
1297
+ if (userInfo && userInfo.username) {
1298
+ this.userName = userInfo.username;
1299
+ return;
1300
+ }
1301
+ }
1302
+ filterLogoutLink(loggedInLinks) {
1303
+ return loggedInLinks.filter((link) => !link.isLogoutLink);
1304
+ }
1305
+ render() {
1306
+ if (!this.loginDialog) {
1307
+ return;
1308
+ }
1309
+ let hostElementAttribute = {};
1310
+ return (index.h(index.Host, { ...hostElementAttribute }, this.heading ? index.h("strong", { class: "pn-marketweb-siteheader-login-profileselection-heading" }, this.heading) : null, this.currentProfile !== null && this.currentProfile.name ? (index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile" }, index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile-name" }, this.currentProfile.name), index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-currentprofile-description" }, this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail))) : null, index.h("pn-marketweb-siteheader-login-linklist", { links: this.filterLogoutLink(this.loginDialog.loggedInLinks), idNamespace: this.idNamespace }), index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-divider" }), this.profileoptions
1311
+ .filter(x => x.selected !== true)
1312
+ .map(organization => {
1313
+ let customerNumber = organization.profiles.length > 0 ? organization.profiles[0].customerNumber : organization.customerNumber;
1314
+ return (index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption" }, index.h("a", { href: `${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${encodeURIComponent(window.location.href)}`, class: "pn-marketweb-siteheader-login-profileselection-profileoption-link" }, index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-content" }, index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-name" }, organization.name), index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-profileoption-description" }, organization.customerNumber ? organization.customerNumber : this.userEmail)), index.h("pn-icon", { icon: arrow_right.arrow_right, small: "false", color: "blue700" }))));
1315
+ }), this.logoutLink ? (index.h("div", { class: "pn-marketweb-siteheader-login-profileselection-logout" }, index.h("a", { href: this.logoutLink.href, rel: "nofollower noopener", id: "pn-marketweb-header-logoutlink", onClick: () => pnMarketwebSiteheaderStore.state.loginManager.clearUserData(), class: "pn-marketweb-siteheader-login-profileselection-logout-link" }, this.logoutLink.linkText))) : null));
1316
+ }
1317
+ };
1318
+ PnMarketwebSiteheaderLoginProfileselection.style = PnMarketwebSiteheaderLoginProfileselectionStyle0;
1319
+
1320
+ // Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store
1321
+ const { state, onChange } = index$1.createStore({
1322
+ searchValue: '',
1323
+ autocompleteSuggestions: {},
1324
+ requestAbortController: new AbortController(),
1325
+ });
1326
+
1327
+ const pnMarketwebSiteheaderSearchCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}.siteheader-search a{display:none}@media screen and (min-width: 48em){.siteheader-search a{display:block}}.siteheader-search pn-search-field>.input-container button{background:#ffffff}.siteheader-search pn-search-field.button-icon pn-button,.siteheader-search pn-button{display:inline-flex}.siteheader-search pn-search-field.button-icon pn-button button,.siteheader-search pn-button button{align-self:center;padding:0;height:2.3em;width:2.4em;line-height:0;min-height:unset;min-width:initial}.siteheader-search pn-search-field.button-icon pn-button pn-icon,.siteheader-search pn-button pn-icon{margin-left:0}.siteheader-search pn-search-field.button-icon pn-button .pn-button-tooltip,.siteheader-search pn-button .pn-button-tooltip{line-height:initial !important}.siteheader-search form{justify-content:flex-end;align-items:stretch;width:auto;flex:none;display:flex;padding:0;margin:0 0 0 0.4rem;position:relative;flex-direction:column}@media screen and (min-width: 60em){.siteheader-search form{margin-right:1.6rem}}.siteheader-search form pn-search-field{min-width:13.5em}.siteheader-search form pn-search-field .input-container{align-self:center}.siteheader-search form pn-search-field input{height:auto;min-height:1em;padding:0.6em 0.75em}";
1328
+ const PnMarketwebSiteheaderSearchStyle0 = pnMarketwebSiteheaderSearchCss;
1329
+
1330
+ const PnMarketwebSiteheaderSearch = class {
1331
+ constructor(hostRef) {
1332
+ index.registerInstance(this, hostRef);
1333
+ this.i18n = undefined;
1334
+ this.showOnlyLink = false;
1335
+ this.hideSearch = false;
1336
+ this.language = null;
1337
+ this.siteid = null;
1338
+ this.search = {};
1339
+ this.primary = false;
1340
+ this.icononly = true;
1341
+ this.autoCompleteOptions = [];
1342
+ }
1343
+ get hostElement() { return index.getElement(this); }
1344
+ onSearchValueUpdate() {
1345
+ this.getAutocomplete(state.searchValue);
1346
+ }
1347
+ async getAutocomplete(prefix) {
1348
+ if (!this.search.AutocompleteEndpoint || prefix.length < 2) {
1349
+ this.autoCompleteOptions = [];
1350
+ return;
1351
+ }
1352
+ if (state.autocompleteSuggestions[prefix]) {
1353
+ this.setAutocompleteSuggestions(state.autocompleteSuggestions[prefix]);
1354
+ return;
1355
+ }
1356
+ let autocompleteUrl = `${this.search.AutocompleteEndpoint}?prefix=${prefix}&size=10`;
1357
+ if (this.language || this.siteid) {
1358
+ autocompleteUrl += `&tags=`;
1359
+ if (this.language) {
1360
+ autocompleteUrl += `language:${this.language}`;
1361
+ }
1362
+ if (this.language && this.siteid) {
1363
+ autocompleteUrl += `,`;
1364
+ }
1365
+ if (this.siteid) {
1366
+ autocompleteUrl += `siteid:${this.siteid}`;
1367
+ }
1368
+ }
1369
+ const req = await fetch(autocompleteUrl, { signal: state.requestAbortController.signal }).catch(e => {
1370
+ console.warn('Unable to fetch autocomplete suggestions', e);
1371
+ });
1372
+ if (!req) {
1373
+ return;
1374
+ }
1375
+ const data = await req.json();
1376
+ if (!data || !data.hits || !data.hits.length) {
1377
+ return;
1378
+ }
1379
+ const suggestions = data.hits
1380
+ .filter(item => item.type === 'editorial')
1381
+ .map(item => {
1382
+ return item.query;
1383
+ });
1384
+ // Store query in store
1385
+ state.autocompleteSuggestions[prefix] = suggestions;
1386
+ this.setAutocompleteSuggestions(suggestions);
1387
+ }
1388
+ setAutocompleteSuggestions(suggestions) {
1389
+ if (typeof suggestions !== 'object' || typeof suggestions.length !== 'number' || suggestions.length === 0) {
1390
+ return;
1391
+ }
1392
+ this.autoCompleteOptions = suggestions;
1393
+ }
1394
+ componentWillLoad() {
1395
+ onChange('searchValue', () => {
1396
+ this.onSearchValueUpdate();
1397
+ });
1398
+ }
1399
+ componentDidRender() {
1400
+ const inputSearchElm = this.hostElement.querySelector('pn-search-field input:not([list])');
1401
+ if (inputSearchElm && this.search.AutocompleteEndpoint) {
1402
+ inputSearchElm.setAttribute('list', 'siteheader-search-autocomplete');
1403
+ }
1404
+ }
1405
+ render() {
1406
+ if (!this.search.formActionUrl || this.hideSearch) {
1407
+ return;
1408
+ }
1409
+ const autocompleteAttribute = this.search.AutocompleteEndpoint ? { list: 'siteheader-search-autocomplete' } : {};
1410
+ return (index.h("div", { class: "siteheader-search" }, this.showOnlyLink ? (index.h("pn-button", { href: this.search.formActionUrl, appearance: "light", icon: search.search, tooltip: this.i18n.searchlabel })) : (index.h("form", { method: "get", action: this.search.formActionUrl, role: "search" }, index.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) => {
1411
+ state.searchValue = e.detail;
1412
+ }, onSearch: () => {
1413
+ const form = this.hostElement.querySelector('form');
1414
+ if (form) {
1415
+ form.submit();
1416
+ }
1417
+ } }), this.primary && this.search.AutocompleteEndpoint ? (index.h("datalist", { id: "siteheader-search-autocomplete" }, this.autoCompleteOptions.map(item => (index.h("option", null, item))))) : null))));
1418
+ }
1419
+ };
1420
+ PnMarketwebSiteheaderSearch.style = PnMarketwebSiteheaderSearchStyle0;
1421
+
1422
+ const pnMarketwebSiteheaderUnifiedLoginCss = "";
1423
+ const PnMarketwebSiteheaderUnifiedLoginStyle0 = pnMarketwebSiteheaderUnifiedLoginCss;
1424
+
1425
+ const PnMarketwebSiteheaderUnifiedLogin = class {
1426
+ constructor(hostRef) {
1427
+ index.registerInstance(this, hostRef);
1428
+ this.loggedIn = false;
1429
+ this.logInLabel = undefined;
1430
+ this.useMarketwebLogin = undefined;
1431
+ this.environment = undefined;
1432
+ }
1433
+ get hostElement() { return index.getElement(this); }
1434
+ render() {
1435
+ return (index.h(index.Host, { key: 'd81058f7099d93c9849656245c16fdfd4fcdece0' }, index.h("pn-marketweb-siteheader-login-button", { key: 'af6260b3550aae26428b37da4fb8a59964422bc2', label: this.logInLabel, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })));
1436
+ }
1437
+ };
1438
+ PnMarketwebSiteheaderUnifiedLogin.style = PnMarketwebSiteheaderUnifiedLoginStyle0;
1439
+
1440
+ const languageData = {
1441
+ sv: {
1442
+ navlabel: 'Webbplatsväljare',
1443
+ },
1444
+ en: {
1445
+ navlabel: 'Website selector',
1446
+ },
1447
+ da: {
1448
+ navlabel: 'Webstedsvælger',
1449
+ },
1450
+ no: {
1451
+ navlabel: 'Nettstedsvelger',
1452
+ },
1453
+ fi: {
1454
+ navlabel: 'Verkkosivun valitsin',
1455
+ },
1456
+ de: {
1457
+ navlabel: 'Website-Selektor',
1458
+ },
1459
+ };
1460
+
1461
+ const pnSiteSelectorCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-site-selector{--siteselector-heading-color:#000000;--siteselector-description-color:#2d2013;--siteselector-hover-background-color:#f3f2f2;--siteselector-hover-text-color:#005d92;--siteselector-active-text-color:#00a0d6;--siteselector-item-title-color:#2d2013;--siteselector-item-link-color:#005d92}pn-site-selector{display:flex;position:relative;justify-content:center;max-height:5.2rem}@media screen and (min-width: 75em){pn-site-selector{display:block}}.siteselector-heading{display:block;padding:0;margin-bottom:1.6rem;color:var(--siteselector-heading-color)}@media screen and (min-width: 75em){.siteselector-heading{display:flex;align-items:center;margin-top:0.8rem}}.siteselector-list{list-style:none;margin:0;padding:0}pn-site-selector[appearance=dark] button:hover pn-icon svg path{fill:#000000}";
1462
+ const PnSiteSelectorStyle0 = pnSiteSelectorCss;
1463
+
1464
+ const PnSiteSelector = class {
1465
+ constructor(hostRef) {
1466
+ index.registerInstance(this, hostRef);
1467
+ this.buttontext = 'postnord';
1468
+ this.heading = 'PostNord';
1469
+ this.language = 'sv';
1470
+ this.appearance = 'light';
1471
+ this.i18n = { navlabel: 'Site selector' };
1472
+ }
1473
+ get hostElement() { return index.getElement(this); }
1474
+ componentWillLoad() {
1475
+ this.setLanguage();
1476
+ }
1477
+ setLanguage() {
1478
+ if (languageData[this.language]) {
1479
+ this.i18n = languageData[this.language];
1480
+ }
1481
+ }
1482
+ render() {
1483
+ return (index.h(index.Host, { key: '1d9cc3cce9bb2027f283caf8840fe3baa7c14620' }, index.h("pn-button-dropdown", { key: 'c17f136afd75a52357d3bda51f3179c8b268b45e', label: this.buttontext, icon: angle_small_down.angle_small_down, appearance: this.appearance, variant: "borderless", "aria-label": this.i18n.navlabel }, index.h("div", { key: 'e2277aca85845be920d549296891dec083dcce46', class: "siteselector-nav" }, this.heading ? index.h("strong", { class: "siteselector-heading" }, this.heading) : null, index.h("div", { key: 'aec39d635074a4ef1ceca6b78799eba5d79df7d8', role: "menu", class: "siteselector-list" }, index.h("slot", { key: 'e618c3870e6ddbbd178997ce569b25203114c11a' }))))));
1484
+ }
1485
+ };
1486
+ PnSiteSelector.style = PnSiteSelectorStyle0;
1487
+
1488
+ const pnSiteSelectorItemCss = "pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@media screen and (max-width: 767px){.sr-only-mobile{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}}pn-site-selector-item{display:block}pn-site-selector-item>div,pn-site-selector-item>a{display:flex;flex-flow:column;position:relative;padding:0.8rem 0}.siteselector-item-link{border-radius:0;text-decoration:none;color:var(--siteselector-item-link-color, #005d92);flex-direction:row}.siteselector-item-link:hover,.siteselector-item-link:focus{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-hover-text-color, #005d92);text-decoration:underline;outline:none;box-shadow:none}.siteselector-item-link:active{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-active-text-color, #00a0d6);outline:none}.siteselector-item-link>span{flex-grow:1}.siteselector-item-link pn-icon{right:3.2rem;width:1.9rem;height:1.9rem;align-self:center}.siteselector-item-link pn-icon svg{width:100%;height:auto}.siteselector-item-title{display:block}.siteselector-item-title:not(.siteselector-item-link .siteselector-item-title){color:var(--siteselector-item-title-color, #2d2013)}.siteselector-item-description{color:var(--siteselector-description-color, #2d2013);font-size:1.28rem}a:hover>.siteselector-item-description,a:focus>.siteselector-item-description{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-hover-text-color, #005d92);text-decoration:underline;outline:none}a:active>.siteselector-item-description{background-color:var(--siteselector-hover-background-color, #f3f2f2);color:var(--siteselector-active-text-color, #00a0d6);outline:none}";
1489
+ const PnSiteSelectorItemStyle0 = pnSiteSelectorItemCss;
1490
+
1491
+ const PnSiteSelectorItem = class {
1492
+ constructor(hostRef) {
1493
+ index.registerInstance(this, hostRef);
1494
+ this.url = '';
1495
+ this.heading = '';
1496
+ this.description = '';
1497
+ this.newwindow = false;
1498
+ }
1499
+ render() {
1500
+ return (index.h(index.Host, { key: 'fe45b2c19b9df40b7d762832dde4d09e65f3a677', role: "menuitem" }, this.url ? (index.h("a", { class: "siteselector-item-link", href: this.url, target: this.newwindow ? '_blank' : 'self', rel: this.newwindow ? 'nofollow noopener' : '' }, index.h("span", null, this.heading && index.h("span", { class: "siteselector-item-title" }, this.heading), this.description && index.h("small", { class: "siteselector-item-description" }, this.description)), index.h("pn-icon", { icon: angle_small_right, color: "blue700" }))) : (index.h("div", null, this.heading && index.h("span", { class: "siteselector-item-title" }, this.heading), this.description && index.h("small", { class: "siteselector-item-description" }, this.description)))));
1501
+ }
1502
+ };
1503
+ PnSiteSelectorItem.style = PnSiteSelectorItemStyle0;
1504
+
1505
+ exports.pn_language_selector = PnlanguageSelector;
1506
+ exports.pn_language_selector_option = PnlanguageSelectorOption;
1507
+ exports.pn_mainnav = PnMainnav;
1508
+ exports.pn_mainnav_level = PnMainnavLevel;
1509
+ exports.pn_mainnav_link = PnMainnavLink;
1510
+ exports.pn_mainnav_list = PnMainnavList;
1511
+ exports.pn_marketweb_siteheader_login = PnMarketwebSiteheaderLogin;
1512
+ exports.pn_marketweb_siteheader_login_links = PnMarketwebSiteheaderLoginLinks;
1513
+ exports.pn_marketweb_siteheader_login_profileselection = PnMarketwebSiteheaderLoginProfileselection;
1514
+ exports.pn_marketweb_siteheader_search = PnMarketwebSiteheaderSearch;
1515
+ exports.pn_marketweb_siteheader_unified_login = PnMarketwebSiteheaderUnifiedLogin;
1516
+ exports.pn_site_selector = PnSiteSelector;
1517
+ exports.pn_site_selector_item = PnSiteSelectorItem;
1518
+
1519
+ //# sourceMappingURL=pn-language-selector_13.cjs.entry.js.map