@postnord/pn-marketweb-components 4.2.4 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) 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/pn-versa-card.cjs.entry.js +1 -1
  63. package/cjs/pn-versa-card.cjs.entry.js.map +1 -1
  64. package/cjs/translations-9510f11c.js +198 -0
  65. package/cjs/translations-9510f11c.js.map +1 -0
  66. package/collection/collection-manifest.json +5 -0
  67. package/collection/components/cards/pn-versa-card/pn-versa-card.css +27 -2
  68. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.css +204 -0
  69. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.js +658 -0
  70. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.js.map +1 -0
  71. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.css +217 -0
  72. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.js +20 -0
  73. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.js.map +1 -0
  74. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.css +115 -0
  75. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.js +520 -0
  76. package/collection/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.js.map +1 -0
  77. package/collection/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.js +37 -0
  78. package/collection/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.js.map +1 -0
  79. package/collection/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.js +109 -0
  80. package/collection/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.js.map +1 -0
  81. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.css +225 -0
  82. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js +916 -0
  83. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js.map +1 -0
  84. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js +638 -0
  85. package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js.map +1 -0
  86. package/collection/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.js +180 -0
  87. package/collection/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.js.map +1 -0
  88. package/collection/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.js +2 -0
  89. package/collection/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.js.map +1 -0
  90. package/collection/components/layout-components/pn-marketweb-header/utils/header-i18n.js +37 -0
  91. package/collection/components/layout-components/pn-marketweb-header/utils/header-i18n.js.map +1 -0
  92. package/collection/components/layout-components/pn-marketweb-header/utils/header-language.js +46 -0
  93. package/collection/components/layout-components/pn-marketweb-header/utils/header-language.js.map +1 -0
  94. package/collection/components/layout-components/pn-marketweb-header/utils/header-menu.js +36 -0
  95. package/collection/components/layout-components/pn-marketweb-header/utils/header-menu.js.map +1 -0
  96. package/collection/components/layout-components/pn-marketweb-header/utils/header-theme.js +48 -0
  97. package/collection/components/layout-components/pn-marketweb-header/utils/header-theme.js.map +1 -0
  98. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.js +101 -0
  99. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.js.map +1 -0
  100. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.js +63 -0
  101. package/collection/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.js.map +1 -0
  102. package/collection/components/layout-components/pn-marketweb-header/utils/header-url.js +91 -0
  103. package/collection/components/layout-components/pn-marketweb-header/utils/header-url.js.map +1 -0
  104. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js +1 -1
  105. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.css +34 -12
  106. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js +1 -1
  107. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.css +36 -15
  108. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.css +27 -13
  109. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +29 -4
  110. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js.map +1 -1
  111. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types.js.map +1 -1
  112. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +1 -1
  113. package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +4 -4
  114. package/collection/components/media/pn-media-block/pn-media-block.js +1 -1
  115. package/collection/components/minor/pn-app-banner/pn-app-banner.js +1 -1
  116. package/collection/components/minor/pn-marketweb-icon/pn-marketweb-icon.js +1 -1
  117. package/collection/components/minor/pn-swan/pn-swan.js +1 -1
  118. package/collection/components/minor/pn-titletag/pn-titletag.js +1 -1
  119. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.css +25 -12
  120. package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +1 -1
  121. package/collection/components/navigation/pn-language-selector/pn-language-selector.css +17 -5
  122. package/collection/components/navigation/pn-language-selector/pn-language-selector.js +22 -3
  123. package/collection/components/navigation/pn-language-selector/pn-language-selector.js.map +1 -1
  124. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.css +37 -17
  125. package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +2 -2
  126. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.css +81 -33
  127. package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +1 -1
  128. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.css +12 -2
  129. package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +1 -1
  130. package/collection/components/navigation/pn-mainnav/pn-mainnav.css +35 -22
  131. package/collection/components/navigation/pn-mainnav/pn-mainnav.js +1 -1
  132. package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.css +80 -0
  133. package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.js +147 -0
  134. package/collection/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.js.map +1 -0
  135. package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +1 -1
  136. package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +1 -1
  137. package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +1 -1
  138. package/collection/components/navigation/pn-sidenav/pn-sidenav.js +1 -1
  139. package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +1 -1
  140. package/collection/components/navigation/pn-site-footer/pn-site-footer.js +1 -1
  141. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.css +16 -12
  142. package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +1 -1
  143. package/collection/components/navigation/pn-site-selector/pn-site-selector.css +15 -0
  144. package/collection/components/navigation/pn-site-selector/pn-site-selector.js +22 -3
  145. package/collection/components/navigation/pn-site-selector/pn-site-selector.js.map +1 -1
  146. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +1 -1
  147. package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +1 -1
  148. package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +1 -1
  149. package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +2 -2
  150. package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +1 -1
  151. package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +1 -1
  152. package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +1 -1
  153. package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +1 -1
  154. package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +1 -1
  155. package/collection/components/widgets/pn-chat/pn-chat-message/pn-chat-message.js +1 -1
  156. package/collection/components/widgets/pn-chat/pn-chat.js +2 -2
  157. package/collection/components/widgets/pn-find-price/pn-find-price-result.js +1 -1
  158. package/collection/components/widgets/pn-find-price/pn-find-price.js +2 -2
  159. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +1 -1
  160. package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +1 -1
  161. package/collection/components/widgets/pn-hero-block-international/pn-hero-block-international.js +1 -1
  162. package/collection/components/widgets/pn-level-up/pn-level-up-modal/pn-level-up-modal.js +1 -1
  163. package/collection/components/widgets/pn-level-up/pn-level-up.js +2 -2
  164. package/collection/components/widgets/pn-link-list/pn-link-list.js +1 -1
  165. package/collection/components/widgets/pn-marketweb-carousel/pn-marketweb-carousel.js +1 -1
  166. package/collection/components/widgets/pn-marketweb-table/pn-marketweb-table.js +1 -1
  167. package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +1 -1
  168. package/collection/components/widgets/pn-product-card/pn-product-card.js +1 -1
  169. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +1 -1
  170. package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +2 -2
  171. package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +1 -1
  172. package/collection/components/widgets/pn-product-tile/pn-product-tile.js +1 -1
  173. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +1 -1
  174. package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +3 -3
  175. package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +1 -1
  176. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +1 -1
  177. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +1 -1
  178. package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +1 -1
  179. package/collection/components/widgets/pn-qr-code-generator/pn-qr-code-generator.js +1 -1
  180. package/collection/components/widgets/pn-usp-promoter/pn-usp-promoter.js +1 -1
  181. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.js +105 -0
  182. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.js.map +1 -0
  183. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.js +166 -0
  184. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.js.map +1 -0
  185. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.js +2 -0
  186. package/collection/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.js.map +1 -0
  187. package/components/pn-app-banner.js +1 -1
  188. package/components/pn-breakpoints.js +1 -1
  189. package/components/pn-chat-message2.js +1 -1
  190. package/components/pn-chat.js +2 -2
  191. package/components/pn-customernumber-selector-option.js +1 -1
  192. package/components/pn-customernumber-selector.js +1 -1
  193. package/components/pn-find-price-result2.js +1 -1
  194. package/components/pn-find-price.js +2 -2
  195. package/components/pn-find-service-and-price-result2.js +1 -1
  196. package/components/pn-find-service-and-price.js +1 -1
  197. package/components/pn-hero-block-international.js +1 -1
  198. package/components/pn-language-selector-option2.js +2 -2
  199. package/components/pn-language-selector-option2.js.map +1 -1
  200. package/components/pn-language-selector2.js +4 -2
  201. package/components/pn-language-selector2.js.map +1 -1
  202. package/components/pn-level-up-modal2.js +1 -1
  203. package/components/pn-level-up.js +2 -2
  204. package/components/pn-link-list.js +1 -1
  205. package/components/pn-mainnav-level2.js +3 -3
  206. package/components/pn-mainnav-level2.js.map +1 -1
  207. package/components/pn-mainnav-link2.js +2 -2
  208. package/components/pn-mainnav-link2.js.map +1 -1
  209. package/components/pn-mainnav-list2.js +2 -2
  210. package/components/pn-mainnav-list2.js.map +1 -1
  211. package/components/pn-mainnav2.js +2 -2
  212. package/components/pn-mainnav2.js.map +1 -1
  213. package/components/pn-marketweb-carousel2.js +1 -1
  214. package/components/pn-marketweb-header-main-row.d.ts +11 -0
  215. package/components/pn-marketweb-header-main-row.js +8 -0
  216. package/components/pn-marketweb-header-main-row.js.map +1 -0
  217. package/components/pn-marketweb-header-main-row2.js +281 -0
  218. package/components/pn-marketweb-header-main-row2.js.map +1 -0
  219. package/components/pn-marketweb-header-shared.js +192 -0
  220. package/components/pn-marketweb-header-shared.js.map +1 -0
  221. package/components/pn-marketweb-header-skeleton-loader.d.ts +11 -0
  222. package/components/pn-marketweb-header-skeleton-loader.js +37 -0
  223. package/components/pn-marketweb-header-skeleton-loader.js.map +1 -0
  224. package/components/pn-marketweb-header-toggle.d.ts +11 -0
  225. package/components/pn-marketweb-header-toggle.js +8 -0
  226. package/components/pn-marketweb-header-toggle.js.map +1 -0
  227. package/components/pn-marketweb-header-toggle2.js +61 -0
  228. package/components/pn-marketweb-header-toggle2.js.map +1 -0
  229. package/components/pn-marketweb-header-top-row.d.ts +11 -0
  230. package/components/pn-marketweb-header-top-row.js +8 -0
  231. package/components/pn-marketweb-header-top-row.js.map +1 -0
  232. package/components/pn-marketweb-header-top-row2.js +238 -0
  233. package/components/pn-marketweb-header-top-row2.js.map +1 -0
  234. package/components/pn-marketweb-header.d.ts +11 -0
  235. package/components/pn-marketweb-header.js +1206 -0
  236. package/components/pn-marketweb-header.js.map +1 -0
  237. package/components/pn-marketweb-icon.js +1 -1
  238. package/components/pn-marketweb-siteheader-login-button2.js +1 -1
  239. package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
  240. package/components/pn-marketweb-siteheader-login-linklist2.js.map +1 -1
  241. package/components/pn-marketweb-siteheader-login-mypage-button.js +1 -1
  242. package/components/pn-marketweb-siteheader-login-profileselection2.js +1 -1
  243. package/components/pn-marketweb-siteheader-login-profileselection2.js.map +1 -1
  244. package/components/pn-marketweb-siteheader-login2.js +4 -2
  245. package/components/pn-marketweb-siteheader-login2.js.map +1 -1
  246. package/components/pn-marketweb-siteheader-unified-login2.js +1 -1
  247. package/components/pn-marketweb-siteheader.js +5 -197
  248. package/components/pn-marketweb-siteheader.js.map +1 -1
  249. package/components/pn-marketweb-table.js +1 -1
  250. package/components/pn-media-block.js +1 -1
  251. package/components/pn-pex-pricefinder.js +1 -1
  252. package/components/pn-product-card2.js +1 -1
  253. package/components/pn-product-pricelist-result.js +1 -1
  254. package/components/pn-product-pricelist.js +2 -2
  255. package/components/pn-product-tile-info2.js +1 -1
  256. package/components/pn-product-tile.js +1 -1
  257. package/components/pn-profile-modal-customernumber.js +1 -1
  258. package/components/pn-profile-modal-profile.js +2 -2
  259. package/components/pn-profile-modal-type.js +1 -1
  260. package/components/pn-profile-modal.js +1 -1
  261. package/components/pn-profile-selector-option.js +1 -1
  262. package/components/pn-profile-selector.js +1 -1
  263. package/components/pn-proxio-findprice-result2.js +2 -2
  264. package/components/pn-proxio-findprice.js +3 -3
  265. package/components/pn-proxio-pricegroup.js +2 -2
  266. package/components/pn-proxio-productcard-description2.js +1 -1
  267. package/components/pn-proxio-productcard-information2.js +1 -1
  268. package/components/pn-proxio-productcard2.js +1 -1
  269. package/components/pn-qr-code-generator2.js +1 -1
  270. package/components/pn-sidenav-level.js +1 -1
  271. package/components/pn-sidenav-link.js +1 -1
  272. package/components/pn-sidenav-togglebutton.js +1 -1
  273. package/components/pn-sidenav.js +1 -1
  274. package/components/pn-site-footer-col2.js +1 -1
  275. package/components/pn-site-footer2.js +1 -1
  276. package/components/pn-site-selector-item2.js +2 -2
  277. package/components/pn-site-selector-item2.js.map +1 -1
  278. package/components/pn-site-selector2.js +4 -2
  279. package/components/pn-site-selector2.js.map +1 -1
  280. package/components/pn-swan2.js +1 -1
  281. package/components/pn-titletag2.js +1 -1
  282. package/components/pn-usp-promoter.js +1 -1
  283. package/components/pn-versa-card.js +1 -1
  284. package/components/pn-versa-card.js.map +1 -1
  285. package/components/translations.js +189 -14
  286. package/components/translations.js.map +1 -1
  287. package/components/translations2.js +21 -0
  288. package/components/translations2.js.map +1 -0
  289. package/esm/header-theme-d09b64c7.js +234 -0
  290. package/esm/header-theme-d09b64c7.js.map +1 -0
  291. package/esm/index-c0a4d8bd.js +24 -16
  292. package/esm/loader.js +1 -1
  293. package/esm/pn-app-banner.entry.js +1 -1
  294. package/esm/pn-breakpoints.entry.js +1 -1
  295. package/esm/pn-chat-message_2.entry.js +2 -2
  296. package/esm/pn-chat.entry.js +2 -2
  297. package/esm/pn-customernumber-selector-option.entry.js +1 -1
  298. package/esm/pn-customernumber-selector.entry.js +1 -1
  299. package/esm/pn-find-price-result.entry.js +1 -1
  300. package/esm/pn-find-price.entry.js +2 -2
  301. package/esm/pn-find-service-and-price-result.entry.js +1 -1
  302. package/esm/pn-find-service-and-price.entry.js +1 -1
  303. package/esm/pn-hero-block-international.entry.js +1 -1
  304. package/esm/{pn-language-selector_9.entry.js → pn-language-selector_13.entry.js} +381 -22
  305. package/esm/pn-language-selector_13.entry.js.map +1 -0
  306. package/esm/pn-level-up-modal.entry.js +1 -1
  307. package/esm/pn-level-up.entry.js +2 -2
  308. package/esm/pn-link-list.entry.js +1 -1
  309. package/esm/pn-market-web-components.js +1 -1
  310. package/esm/pn-marketweb-header-main-row_2.entry.js +217 -0
  311. package/esm/pn-marketweb-header-main-row_2.entry.js.map +1 -0
  312. package/esm/pn-marketweb-header-skeleton-loader.entry.js +19 -0
  313. package/esm/pn-marketweb-header-skeleton-loader.entry.js.map +1 -0
  314. package/esm/pn-marketweb-header-toggle.entry.js +42 -0
  315. package/esm/pn-marketweb-header-toggle.entry.js.map +1 -0
  316. package/esm/pn-marketweb-header.entry.js +1039 -0
  317. package/esm/pn-marketweb-header.entry.js.map +1 -0
  318. package/esm/pn-marketweb-icon.entry.js +1 -1
  319. package/esm/{pn-marketweb-siteheader-login-linklist.entry.js → pn-marketweb-siteheader-login-button_2.entry.js} +44 -3
  320. package/esm/pn-marketweb-siteheader-login-button_2.entry.js.map +1 -0
  321. package/esm/pn-marketweb-siteheader-login-mypage-button.entry.js +1 -1
  322. package/esm/pn-marketweb-siteheader.entry.js +5 -197
  323. package/esm/pn-marketweb-siteheader.entry.js.map +1 -1
  324. package/esm/pn-marketweb-table.entry.js +1 -1
  325. package/esm/pn-media-block.entry.js +1 -1
  326. package/esm/pn-pex-pricefinder.entry.js +1 -1
  327. package/esm/pn-product-card_3.entry.js +1 -1
  328. package/esm/pn-product-pricelist-result.entry.js +1 -1
  329. package/esm/pn-product-pricelist.entry.js +2 -2
  330. package/esm/pn-product-tile-info_2.entry.js +1 -1
  331. package/esm/pn-product-tile.entry.js +1 -1
  332. package/esm/pn-profile-modal-customernumber.entry.js +1 -1
  333. package/esm/pn-profile-modal-profile.entry.js +2 -2
  334. package/esm/pn-profile-modal-type.entry.js +1 -1
  335. package/esm/pn-profile-modal.entry.js +1 -1
  336. package/esm/pn-profile-selector-option.entry.js +1 -1
  337. package/esm/pn-profile-selector.entry.js +1 -1
  338. package/esm/pn-proxio-findprice-result.entry.js +1 -1
  339. package/esm/pn-proxio-findprice.entry.js +3 -3
  340. package/esm/pn-proxio-pricegroup.entry.js +1 -1
  341. package/esm/pn-proxio-productcard_4.entry.js +3 -3
  342. package/esm/pn-qr-code-generator.entry.js +1 -1
  343. package/esm/pn-sidenav-level.entry.js +1 -1
  344. package/esm/pn-sidenav-link.entry.js +1 -1
  345. package/esm/pn-sidenav-togglebutton.entry.js +1 -1
  346. package/esm/pn-sidenav.entry.js +1 -1
  347. package/esm/pn-site-footer_3.entry.js +3 -3
  348. package/esm/pn-titletag.entry.js +1 -1
  349. package/esm/pn-usp-promoter.entry.js +1 -1
  350. package/esm/pn-versa-card.entry.js +1 -1
  351. package/esm/pn-versa-card.entry.js.map +1 -1
  352. package/esm/translations-d2f5804e.js +196 -0
  353. package/esm/translations-d2f5804e.js.map +1 -0
  354. package/package.json +1 -1
  355. package/pn-market-web-components/{p-4a164ef8.entry.js → p-03728b0b.entry.js} +2 -2
  356. package/pn-market-web-components/p-04f51418.js +2 -0
  357. package/pn-market-web-components/p-04f51418.js.map +1 -0
  358. package/pn-market-web-components/{p-e43a36e0.entry.js → p-067c1c2f.entry.js} +2 -2
  359. package/pn-market-web-components/p-16570ed2.entry.js +2 -0
  360. package/pn-market-web-components/p-16570ed2.entry.js.map +1 -0
  361. package/pn-market-web-components/{p-2616cdc1.entry.js → p-191c8cfc.entry.js} +2 -2
  362. package/pn-market-web-components/{p-ca003c1f.entry.js → p-1a91c313.entry.js} +2 -2
  363. package/pn-market-web-components/{p-ab1e3dc2.entry.js → p-1f8304be.entry.js} +2 -2
  364. package/pn-market-web-components/{p-a3f601cb.entry.js → p-24ffac0a.entry.js} +2 -2
  365. package/pn-market-web-components/p-3239c36b.entry.js +2 -0
  366. package/pn-market-web-components/p-3239c36b.entry.js.map +1 -0
  367. package/pn-market-web-components/{p-12cafd55.entry.js → p-3aa74418.entry.js} +2 -2
  368. package/pn-market-web-components/p-3d27faee.entry.js +2 -0
  369. package/pn-market-web-components/{p-9d0ca27b.entry.js.map → p-3d27faee.entry.js.map} +1 -1
  370. package/pn-market-web-components/p-3e25f431.entry.js +2 -0
  371. package/pn-market-web-components/p-3e25f431.entry.js.map +1 -0
  372. package/pn-market-web-components/{p-64f6691d.entry.js → p-42da7c5f.entry.js} +2 -2
  373. package/pn-market-web-components/{p-f0d423d0.entry.js → p-43748ca2.entry.js} +2 -2
  374. package/pn-market-web-components/{p-1c644b91.entry.js → p-466958a8.entry.js} +2 -2
  375. package/pn-market-web-components/{p-150da889.entry.js → p-4ab53d5d.entry.js} +2 -2
  376. package/pn-market-web-components/{p-118fe47d.entry.js → p-4d595345.entry.js} +2 -2
  377. package/pn-market-web-components/{p-0f6f715b.entry.js → p-4dac1980.entry.js} +2 -2
  378. package/pn-market-web-components/{p-a13f1f73.entry.js → p-4fcce83d.entry.js} +2 -2
  379. package/pn-market-web-components/{p-89fbca3b.entry.js → p-5a51d0b0.entry.js} +2 -2
  380. package/pn-market-web-components/{p-f4d2d0d3.entry.js → p-61346425.entry.js} +2 -2
  381. package/pn-market-web-components/{p-6e693269.entry.js → p-6b557670.entry.js} +2 -2
  382. package/pn-market-web-components/{p-e6d6a752.entry.js → p-70a71854.entry.js} +2 -2
  383. package/pn-market-web-components/p-75311d67.js +2 -0
  384. package/pn-market-web-components/p-75311d67.js.map +1 -0
  385. package/pn-market-web-components/p-756d8d95.entry.js +2 -0
  386. package/pn-market-web-components/p-756d8d95.entry.js.map +1 -0
  387. package/pn-market-web-components/{p-c0315c45.entry.js → p-76fb0c21.entry.js} +2 -2
  388. package/pn-market-web-components/{p-b2b2bae0.entry.js → p-81210644.entry.js} +2 -2
  389. package/pn-market-web-components/p-81e4d75b.entry.js +2 -0
  390. package/pn-market-web-components/p-81e4d75b.entry.js.map +1 -0
  391. package/pn-market-web-components/{p-d0f27361.entry.js → p-8382794b.entry.js} +2 -2
  392. package/pn-market-web-components/{p-8f25176b.entry.js → p-8519e39e.entry.js} +2 -2
  393. package/pn-market-web-components/p-8c26c1f2.entry.js +2 -0
  394. package/pn-market-web-components/p-8c26c1f2.entry.js.map +1 -0
  395. package/pn-market-web-components/{p-461c8792.entry.js → p-92b6477c.entry.js} +2 -2
  396. package/pn-market-web-components/{p-0d4d9d90.entry.js → p-9eab8192.entry.js} +2 -2
  397. package/pn-market-web-components/{p-40e632cc.entry.js → p-a3beee11.entry.js} +2 -2
  398. package/pn-market-web-components/{p-01fbf1ce.entry.js → p-a6935dc2.entry.js} +2 -2
  399. package/pn-market-web-components/{p-af646091.entry.js → p-a6dd3e4f.entry.js} +2 -2
  400. package/pn-market-web-components/{p-6d77e747.entry.js → p-af89c95a.entry.js} +2 -2
  401. package/pn-market-web-components/p-b318ff19.entry.js +2 -0
  402. package/pn-market-web-components/{p-0700cb4c.entry.js.map → p-b318ff19.entry.js.map} +1 -1
  403. package/pn-market-web-components/{p-c89f3d6b.entry.js → p-ba14b0ef.entry.js} +2 -2
  404. package/pn-market-web-components/{p-c7965104.entry.js → p-ba680948.entry.js} +2 -2
  405. package/pn-market-web-components/{p-11c6e458.entry.js → p-ba75bfdb.entry.js} +2 -2
  406. package/pn-market-web-components/{p-4149e715.entry.js → p-c186ec41.entry.js} +2 -2
  407. package/pn-market-web-components/{p-66c0c8dc.entry.js → p-c38707f9.entry.js} +2 -2
  408. package/pn-market-web-components/{p-671a8129.entry.js → p-c89cdd5a.entry.js} +2 -2
  409. package/pn-market-web-components/{p-4d848e18.entry.js → p-e8cd1608.entry.js} +2 -2
  410. package/pn-market-web-components/{p-4517a3d4.entry.js → p-ef090656.entry.js} +2 -2
  411. package/pn-market-web-components/p-f23ed5d2.entry.js +2 -0
  412. package/pn-market-web-components/p-f23ed5d2.entry.js.map +1 -0
  413. package/pn-market-web-components/{p-bd8ec517.entry.js → p-f3b4c13d.entry.js} +2 -2
  414. package/pn-market-web-components/{p-ff38b9a5.entry.js → p-f710445f.entry.js} +2 -2
  415. package/pn-market-web-components/{p-2e585ed5.entry.js → p-fcefe4a4.entry.js} +2 -2
  416. package/pn-market-web-components/p-fded22b7.entry.js +2 -0
  417. package/pn-market-web-components/p-fded22b7.entry.js.map +1 -0
  418. package/pn-market-web-components/{p-32bd2ff8.entry.js → p-ff6118f8.entry.js} +2 -2
  419. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  420. package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
  421. package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-main-row.d.ts +40 -0
  422. package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-skeleton-loader.d.ts +3 -0
  423. package/types/components/layout-components/pn-marketweb-header/components/pn-marketweb-header-top-row.d.ts +30 -0
  424. package/types/components/layout-components/pn-marketweb-header/components/shared/pn-marketweb-header-shared.d.ts +48 -0
  425. package/types/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.d.ts +34 -0
  426. package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.d.ts +121 -0
  427. package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.d.ts +99 -0
  428. package/types/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.d.ts +108 -0
  429. package/types/components/layout-components/pn-marketweb-header/types/pn-marketweb-header.types.d.ts +103 -0
  430. package/types/components/layout-components/pn-marketweb-header/utils/header-i18n.d.ts +16 -0
  431. package/types/components/layout-components/pn-marketweb-header/utils/header-language.d.ts +20 -0
  432. package/types/components/layout-components/pn-marketweb-header/utils/header-menu.d.ts +16 -0
  433. package/types/components/layout-components/pn-marketweb-header/utils/header-theme.d.ts +6 -0
  434. package/types/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.d.ts +49 -0
  435. package/types/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.d.ts +25 -0
  436. package/types/components/layout-components/pn-marketweb-header/utils/header-url.d.ts +41 -0
  437. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.d.ts +2 -0
  438. package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types.d.ts +1 -0
  439. package/types/components/navigation/pn-language-selector/pn-language-selector.d.ts +1 -0
  440. package/types/components/navigation/pn-marketweb-header-toggle/pn-marketweb-header-toggle.d.ts +25 -0
  441. package/types/components/navigation/pn-site-selector/pn-site-selector.d.ts +1 -0
  442. package/types/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.d.ts +1 -1
  443. package/types/components.d.ts +532 -2
  444. package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.d.ts +7 -0
  445. package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.d.ts +24 -0
  446. package/types/services/pn-refined-marketweb-context/pn-refined-marketweb-context.types.d.ts +16 -0
  447. package/umd/pn-marketweb-init.js +1 -1
  448. package/umd/pn-marketweb-salesforce.js +1 -1
  449. package/vscode-data.json +421 -0
  450. package/cjs/pn-language-selector_9.cjs.entry.js +0 -1156
  451. package/cjs/pn-language-selector_9.cjs.entry.js.map +0 -1
  452. package/cjs/pn-mainnav-link.cjs.entry.js +0 -45
  453. package/cjs/pn-mainnav-link.cjs.entry.js.map +0 -1
  454. package/cjs/pn-mainnav-store-13aaa243.js +0 -22
  455. package/cjs/pn-mainnav-store-13aaa243.js.map +0 -1
  456. package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js +0 -366
  457. package/cjs/pn-marketweb-siteheader-login-button_4.cjs.entry.js.map +0 -1
  458. package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js.map +0 -1
  459. package/esm/pn-language-selector_9.entry.js.map +0 -1
  460. package/esm/pn-mainnav-link.entry.js +0 -41
  461. package/esm/pn-mainnav-link.entry.js.map +0 -1
  462. package/esm/pn-mainnav-store-c98d831e.js +0 -19
  463. package/esm/pn-mainnav-store-c98d831e.js.map +0 -1
  464. package/esm/pn-marketweb-siteheader-login-button_4.entry.js +0 -359
  465. package/esm/pn-marketweb-siteheader-login-button_4.entry.js.map +0 -1
  466. package/esm/pn-marketweb-siteheader-login-linklist.entry.js.map +0 -1
  467. package/pn-market-web-components/p-022780ab.entry.js +0 -2
  468. package/pn-market-web-components/p-022780ab.entry.js.map +0 -1
  469. package/pn-market-web-components/p-0700cb4c.entry.js +0 -2
  470. package/pn-market-web-components/p-3c69298b.entry.js +0 -2
  471. package/pn-market-web-components/p-3c69298b.entry.js.map +0 -1
  472. package/pn-market-web-components/p-4bc6d49f.entry.js +0 -2
  473. package/pn-market-web-components/p-4bc6d49f.entry.js.map +0 -1
  474. package/pn-market-web-components/p-4c8bda8f.entry.js +0 -2
  475. package/pn-market-web-components/p-4c8bda8f.entry.js.map +0 -1
  476. package/pn-market-web-components/p-5090bb1d.entry.js +0 -2
  477. package/pn-market-web-components/p-5090bb1d.entry.js.map +0 -1
  478. package/pn-market-web-components/p-9d0ca27b.entry.js +0 -2
  479. package/pn-market-web-components/p-a30de538.entry.js +0 -2
  480. package/pn-market-web-components/p-a30de538.entry.js.map +0 -1
  481. package/pn-market-web-components/p-e3b2486a.js +0 -2
  482. package/pn-market-web-components/p-e3b2486a.js.map +0 -1
  483. /package/pn-market-web-components/{p-4a164ef8.entry.js.map → p-03728b0b.entry.js.map} +0 -0
  484. /package/pn-market-web-components/{p-e43a36e0.entry.js.map → p-067c1c2f.entry.js.map} +0 -0
  485. /package/pn-market-web-components/{p-2616cdc1.entry.js.map → p-191c8cfc.entry.js.map} +0 -0
  486. /package/pn-market-web-components/{p-ca003c1f.entry.js.map → p-1a91c313.entry.js.map} +0 -0
  487. /package/pn-market-web-components/{p-ab1e3dc2.entry.js.map → p-1f8304be.entry.js.map} +0 -0
  488. /package/pn-market-web-components/{p-a3f601cb.entry.js.map → p-24ffac0a.entry.js.map} +0 -0
  489. /package/pn-market-web-components/{p-12cafd55.entry.js.map → p-3aa74418.entry.js.map} +0 -0
  490. /package/pn-market-web-components/{p-64f6691d.entry.js.map → p-42da7c5f.entry.js.map} +0 -0
  491. /package/pn-market-web-components/{p-f0d423d0.entry.js.map → p-43748ca2.entry.js.map} +0 -0
  492. /package/pn-market-web-components/{p-1c644b91.entry.js.map → p-466958a8.entry.js.map} +0 -0
  493. /package/pn-market-web-components/{p-150da889.entry.js.map → p-4ab53d5d.entry.js.map} +0 -0
  494. /package/pn-market-web-components/{p-118fe47d.entry.js.map → p-4d595345.entry.js.map} +0 -0
  495. /package/pn-market-web-components/{p-0f6f715b.entry.js.map → p-4dac1980.entry.js.map} +0 -0
  496. /package/pn-market-web-components/{p-a13f1f73.entry.js.map → p-4fcce83d.entry.js.map} +0 -0
  497. /package/pn-market-web-components/{p-89fbca3b.entry.js.map → p-5a51d0b0.entry.js.map} +0 -0
  498. /package/pn-market-web-components/{p-f4d2d0d3.entry.js.map → p-61346425.entry.js.map} +0 -0
  499. /package/pn-market-web-components/{p-6e693269.entry.js.map → p-6b557670.entry.js.map} +0 -0
  500. /package/pn-market-web-components/{p-e6d6a752.entry.js.map → p-70a71854.entry.js.map} +0 -0
  501. /package/pn-market-web-components/{p-c0315c45.entry.js.map → p-76fb0c21.entry.js.map} +0 -0
  502. /package/pn-market-web-components/{p-b2b2bae0.entry.js.map → p-81210644.entry.js.map} +0 -0
  503. /package/pn-market-web-components/{p-d0f27361.entry.js.map → p-8382794b.entry.js.map} +0 -0
  504. /package/pn-market-web-components/{p-8f25176b.entry.js.map → p-8519e39e.entry.js.map} +0 -0
  505. /package/pn-market-web-components/{p-461c8792.entry.js.map → p-92b6477c.entry.js.map} +0 -0
  506. /package/pn-market-web-components/{p-0d4d9d90.entry.js.map → p-9eab8192.entry.js.map} +0 -0
  507. /package/pn-market-web-components/{p-40e632cc.entry.js.map → p-a3beee11.entry.js.map} +0 -0
  508. /package/pn-market-web-components/{p-01fbf1ce.entry.js.map → p-a6935dc2.entry.js.map} +0 -0
  509. /package/pn-market-web-components/{p-af646091.entry.js.map → p-a6dd3e4f.entry.js.map} +0 -0
  510. /package/pn-market-web-components/{p-6d77e747.entry.js.map → p-af89c95a.entry.js.map} +0 -0
  511. /package/pn-market-web-components/{p-c89f3d6b.entry.js.map → p-ba14b0ef.entry.js.map} +0 -0
  512. /package/pn-market-web-components/{p-c7965104.entry.js.map → p-ba680948.entry.js.map} +0 -0
  513. /package/pn-market-web-components/{p-11c6e458.entry.js.map → p-ba75bfdb.entry.js.map} +0 -0
  514. /package/pn-market-web-components/{p-4149e715.entry.js.map → p-c186ec41.entry.js.map} +0 -0
  515. /package/pn-market-web-components/{p-66c0c8dc.entry.js.map → p-c38707f9.entry.js.map} +0 -0
  516. /package/pn-market-web-components/{p-671a8129.entry.js.map → p-c89cdd5a.entry.js.map} +0 -0
  517. /package/pn-market-web-components/{p-4d848e18.entry.js.map → p-e8cd1608.entry.js.map} +0 -0
  518. /package/pn-market-web-components/{p-4517a3d4.entry.js.map → p-ef090656.entry.js.map} +0 -0
  519. /package/pn-market-web-components/{p-bd8ec517.entry.js.map → p-f3b4c13d.entry.js.map} +0 -0
  520. /package/pn-market-web-components/{p-ff38b9a5.entry.js.map → p-f710445f.entry.js.map} +0 -0
  521. /package/pn-market-web-components/{p-2e585ed5.entry.js.map → p-fcefe4a4.entry.js.map} +0 -0
  522. /package/pn-market-web-components/{p-32bd2ff8.entry.js.map → p-ff6118f8.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"pn-marketweb-header.js","mappings":"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","names":["PnMarketwebHeader","headerState"],"sources":["src/services/pn-refined-marketweb-context/pn-refined-marketweb-context.constants.ts","src/services/pn-refined-marketweb-context/pn-refined-marketweb-context.service.ts","src/components/layout-components/pn-marketweb-header/utils/header-url.ts","src/components/layout-components/pn-marketweb-header/mapper/pn-marketweb-header.mapper.ts","src/components/layout-components/pn-marketweb-header/utils/header-i18n.ts","src/components/layout-components/pn-marketweb-header/services/pn-marketweb-header.service.ts","src/components/layout-components/pn-marketweb-header/utils/header-toggle-menu.storage.ts","src/components/layout-components/pn-marketweb-header/pn-marketweb-header.scss?tag=pn-marketweb-header","src/components/layout-components/pn-marketweb-header/pn-marketweb-header.tsx"],"sourcesContent":["import type {\n EnvironmentName,\n MarketConfig,\n MarketName,\n} from './pn-refined-marketweb-context.types';\n\nexport const ALLOWED_LANGUAGES = [\n 'sv',\n 'da',\n 'fi',\n 'no',\n 'en',\n 'de',\n 'zh',\n 'fr',\n 'es',\n 'it',\n 'nl',\n] as const;\n\nexport const ALLOWED_MARKETS: MarketName[] = [\n 'se',\n 'dk',\n 'fi',\n 'no',\n 'com',\n 'de',\n 'tpl',\n 'group',\n];\n\nexport const WWW_MARKETS: MarketName[] = [\n 'se',\n 'dk',\n 'fi',\n 'no',\n 'de',\n 'com',\n];\n\nexport const DEVELOPMENT_DOMAINS = [\n 'localhost',\n '.local',\n 'local.',\n '.dev',\n 'dev.',\n] as const;\n\nexport const MARKETS: Record<MarketName, MarketConfig> = {\n se: {\n fallbackLanguage: 'sv',\n integration: 'se-inte.postnord.com',\n preproduction: 'se-prep.postnord.com',\n production: 'se-prod.postnord.com',\n live: 'www.postnord.se',\n },\n dk: {\n fallbackLanguage: 'da',\n integration: 'dk-inte.postnord.com',\n preproduction: 'dk-prep.postnord.com',\n production: 'dk-prod.postnord.com',\n live: 'www.postnord.dk',\n },\n fi: {\n fallbackLanguage: 'fi',\n integration: 'fi-inte.postnord.com',\n preproduction: 'fi-prep.postnord.com',\n production: 'fi-prod.postnord.com',\n live: 'www.postnord.fi',\n },\n no: {\n fallbackLanguage: 'no',\n integration: 'no-inte.postnord.com',\n preproduction: 'no-prep.postnord.com',\n production: 'no-prod.postnord.com',\n live: 'www.postnord.no',\n },\n com: {\n fallbackLanguage: 'en',\n integration: 'com-inte.postnord.com',\n preproduction: 'com-prep.postnord.com',\n production: 'com-prod.postnord.com',\n live: 'www.postnord.com',\n },\n de: {\n fallbackLanguage: 'en',\n integration: 'de-inte.postnord.com',\n preproduction: 'de-prep.postnord.com',\n production: 'de-prod.postnord.com',\n live: 'www.postnord.de',\n },\n tpl: {\n fallbackLanguage: 'sv',\n integration: 'tpl-inte.postnord.com',\n preproduction: 'tpl-prep.postnord.com',\n production: 'tpl-prod.postnord.com',\n live: 'www.tpl.postnord.com',\n },\n group: {\n fallbackLanguage: 'en',\n integration: 'group-inte.postnord.com',\n preproduction: 'group-prep.postnord.com',\n production: 'group-prod.postnord.com',\n live: 'group.postnord.com',\n },\n};\n\nexport const ENVIRONMENT_ALIASES: Record<string, EnvironmentName> = {\n integration: 'integration',\n inte: 'integration',\n preproduction: 'preproduction',\n prep: 'preproduction',\n production: 'production',\n prod: 'production',\n};","import {\n ALLOWED_LANGUAGES,\n ALLOWED_MARKETS,\n DEVELOPMENT_DOMAINS,\n ENVIRONMENT_ALIASES,\n MARKETS,\n WWW_MARKETS,\n} from './pn-refined-marketweb-context.constants';\nimport type {\n EnvironmentInput,\n EnvironmentName,\n MarketName,\n MarketWebContext,\n} from './pn-refined-marketweb-context.types';\n\nexport class RefinedMarketWebContextService {\n private readonly href: string;\n private readonly doc?: Document;\n\n constructor(options?: {\n href?: string;\n doc?: Document;\n }) {\n this.href = options?.href ?? window.location.href;\n this.doc = options?.doc ?? document;\n }\n\n resolve(): MarketWebContext {\n const url = new URL(this.href);\n const market = this.resolveMarket(url);\n const environment = this.resolveEnvironment(url);\n const language = this.resolveLanguage(market);\n\n return {\n market,\n environment,\n language,\n };\n }\n\n getMarket(): MarketName {\n return this.resolve().market;\n }\n\n getEnvironmentName(): EnvironmentName {\n return this.resolve().environment;\n }\n\n getLanguage(): string {\n return this.resolve().language;\n }\n\n isDevEnvironment(): boolean {\n const hostname = new URL(this.href).hostname.toLowerCase();\n return DEVELOPMENT_DOMAINS.some(fragment => hostname.includes(fragment));\n }\n\n getEndpoint(environment: EnvironmentInput, market: MarketName): string {\n if (environment === 'localhost') {\n return '';\n }\n\n const currentHostname = new URL(this.href).hostname.toLowerCase();\n const config = MARKETS[market];\n\n if (environment === 'production' && currentHostname === config.live.toLowerCase()) {\n return `https://${config.live}`;\n }\n\n if (environment !== 'production' && currentHostname === config[environment].toLowerCase()) {\n return `https://${config[environment]}`;\n }\n\n if (environment === 'production') {\n if (WWW_MARKETS.includes(market)) {\n return `https://${config.live}`;\n }\n\n if (market === 'tpl') {\n return 'https://www.tpl.postnord.com';\n }\n\n return `https://${config.live}`;\n }\n\n return `https://${config[environment]}`;\n }\n\n private resolveEnvironment(url: URL): EnvironmentName {\n const hostname = url.hostname.toLowerCase();\n\n const matchedAlias = Object.keys(ENVIRONMENT_ALIASES).find(alias =>\n hostname.includes(`-${alias}`)\n );\n\n if (matchedAlias) {\n return ENVIRONMENT_ALIASES[matchedAlias];\n }\n\n const isKnownLiveHost = Object.values(MARKETS).some(\n config => config.live.toLowerCase() === hostname\n );\n\n if (isKnownLiveHost || hostname.includes('www.')) {\n return 'production';\n }\n\n return 'integration';\n }\n\n private resolveMarket(url: URL): MarketName {\n const hostname = url.hostname.toLowerCase();\n\n const fromLiveDomain = this.resolveMarketFromLiveDomain(hostname);\n if (fromLiveDomain) return fromLiveDomain;\n\n const fromEnvironmentHost = this.resolveMarketFromEnvironmentHost(hostname);\n if (fromEnvironmentHost) return fromEnvironmentHost;\n\n const fromPostnordSubdomain = this.resolveMarketFromPostnordSubdomain(hostname);\n if (fromPostnordSubdomain) return fromPostnordSubdomain;\n\n if (this.isDevEnvironment()) {\n const fromDevUrl = this.resolveMarketFromDevelopmentUrl(url);\n if (fromDevUrl) return fromDevUrl;\n }\n\n return 'se';\n }\n\n private resolveLanguage(market: MarketName): string {\n const candidates = [\n this.doc?.documentElement?.getAttribute('lang'),\n this.doc?.querySelector('meta[http-equiv=\"content-language\"]')?.getAttribute('content'),\n this.doc?.querySelector('meta[property=\"og:locale\"]')?.getAttribute('content'),\n this.doc?.querySelector('[lang]')?.getAttribute('lang'),\n ];\n\n for (const candidate of candidates) {\n const normalized = this.normalizeLanguage(candidate);\n if (normalized) {\n return normalized;\n }\n }\n\n return MARKETS[market].fallbackLanguage;\n }\n\n private normalizeLanguage(value?: string | null): string | undefined {\n if (!value) {\n return undefined;\n }\n\n const normalized = value.trim().toLowerCase().split(/[-_]/)[0];\n\n return ALLOWED_LANGUAGES.includes(\n normalized as (typeof ALLOWED_LANGUAGES)[number]\n )\n ? normalized\n : undefined;\n }\n\n private resolveMarketFromLiveDomain(hostname: string): MarketName | undefined {\n const matched = Object.entries(MARKETS).find(\n ([, config]) => config.live.toLowerCase() === hostname\n );\n\n return matched?.[0] as MarketName | undefined;\n }\n\n private resolveMarketFromEnvironmentHost(hostname: string): MarketName | undefined {\n const matched = Object.entries(MARKETS).find(([, config]) =>\n [config.integration, config.preproduction, config.production].some(\n envHost => envHost.toLowerCase() === hostname\n )\n );\n\n return matched?.[0] as MarketName | undefined;\n }\n\n private resolveMarketFromPostnordSubdomain(hostname: string): MarketName | undefined {\n if (hostname.includes('www')) {\n return undefined;\n }\n\n if (!hostname.includes('.postnord.')) {\n return undefined;\n }\n\n const postnordIndex = hostname.indexOf('.postnord.');\n const beforePostnord = hostname.substring(0, postnordIndex);\n const parts = beforePostnord.split('.').filter(Boolean);\n\n if (parts.length === 0) {\n return undefined;\n }\n\n const closestSubdomain = parts[parts.length - 1];\n return this.isMarketName(closestSubdomain) ? closestSubdomain : undefined;\n }\n\n private resolveMarketFromDevelopmentUrl(url: URL): MarketName | undefined {\n const target = `${url.hostname}${url.pathname}`.toLowerCase();\n\n const matchedMarket = ALLOWED_MARKETS.find(market => {\n const patterns = [\n `/${market}/`,\n `/${market}`,\n `.${market}.`,\n `.${market}/`,\n `${market}.`,\n ];\n\n return patterns.some(pattern => target.includes(pattern));\n });\n\n if (matchedMarket) {\n return matchedMarket;\n }\n\n const matchedByFallbackLanguage = Object.entries(MARKETS).find(([, config]) => {\n const language = config.fallbackLanguage.toLowerCase();\n const patterns = [\n `/${language}/`,\n `/${language}`,\n `.${language}.`,\n `.${language}/`,\n `${language}.`,\n ];\n\n return patterns.some(pattern => target.includes(pattern));\n });\n\n return matchedByFallbackLanguage?.[0] as MarketName | undefined;\n }\n\n private isMarketName(value: string): value is MarketName {\n return ALLOWED_MARKETS.includes(value as MarketName);\n }\n}","import {\n LoginDialog,\n MenuItem,\n MenuSiteDefinition,\n} from '../../pn-marketweb-siteheader/pn-marketweb-siteheader-types';\n\n/**\n * Removes duplicated language segments from generated URLs.\n *\n * Example:\n * /sv/sv/page -> /sv/page\n *\n * This protects against incorrectly concatenated site-domain-based URLs.\n */\nexport function removeDoubleLanguage(url: string, language: string): string {\n if (!language) {\n return url;\n }\n\n const languageSegment = language.toLowerCase() + '/';\n const doubleLanguageSegment = '/' + languageSegment + languageSegment;\n\n if (url.includes(doubleLanguageSegment)) {\n return url.replace(doubleLanguageSegment, '/' + languageSegment);\n }\n\n return url;\n}\n\n/**\n * Resolves a menu/login href to an absolute site-relative URL when needed.\n *\n * What it does:\n * - Leaves fully-qualified http/https URLs unchanged\n * - Prefixes relative URLs with the current site definition domain\n * - Cleans up accidental double language segments\n */\nexport function adjustHref(href: string, siteDefinition: MenuSiteDefinition, language: string): string {\n if (!href) {\n return href;\n }\n\n if (href.indexOf('http') === 0) {\n return href;\n }\n\n const siteUrl = siteDefinition?.url ?? '';\n const domainUrl =\n siteUrl.lastIndexOf('/') === siteUrl.length - 1\n ? siteUrl.substring(0, siteUrl.length - 1)\n : siteUrl;\n\n return removeDoubleLanguage(domainUrl + href, language);\n}\n\n/**\n * Recursively adjusts a menu item and all child menu items so that\n * relative URLs become site-domain-aware absolute URLs.\n *\n * This returns a new object rather than mutating the original API item.\n */\nexport function adjustMenuItemUrls(\n item: MenuItem,\n siteDefinition: MenuSiteDefinition,\n language: string,\n): MenuItem {\n return {\n ...item,\n href: adjustHref(item.href, siteDefinition, language),\n children: (item.children ?? []).map(child => adjustMenuItemUrls(child, siteDefinition, language)),\n };\n}\n\n/**\n * Adjusts login dialog links so that relative URLs are resolved against\n * the active site domain.\n *\n * This is used when siteDomainInUrls is enabled.\n */\nexport function adjustLoginDialogUrls(\n loginDialog: LoginDialog | null,\n siteDefinition: MenuSiteDefinition,\n language: string,\n): LoginDialog | null {\n if (!loginDialog) {\n return null;\n }\n\n return {\n ...loginDialog,\n loggedInLinks: (loginDialog.loggedInLinks ?? []).map(item => ({\n ...item,\n href: adjustHref(item.href, siteDefinition, language),\n })),\n loginMenuLinks: (loginDialog.loginMenuLinks ?? []).map(item => ({\n ...item,\n href: adjustHref(item.href, siteDefinition, language),\n })),\n };\n}\n\n/**\n * Navigates to the provided href when available.\n */\nexport function navigateToHref(href?: string | null): void {\n if (!href) {\n return;\n }\n\n window.location.href = href;\n}\n\n/**\n * Navigates to a menu item's href when available.\n */\nexport function navigateToMenuItem(item: MenuItem | null): void {\n navigateToHref(item?.href);\n}","import {\n HeaderApiPayload,\n HeaderMapperOptions,\n HeaderViewModel,\n} from '../types/pn-marketweb-header.types';\nimport { getLanguageOptions } from '../utils/header-language';\nimport { prependHomeMenuItem } from '../utils/header-menu';\nimport {\n buildMenuItemsForMode,\n extractToggleableMenuStructure,\n} from '../utils/header-toggle-menu';\nimport {\n adjustLoginDialogUrls,\n adjustMenuItemUrls,\n} from '../utils/header-url';\n\n/**\n * Maps backend header data into the internal renderable view model.\n *\n * This mapper is the normalization boundary between the backend header payload\n * and the UI-facing header view model.\n *\n * Top-level menu interpretation:\n * - all items except the last = switchable root menus\n * - last item = shared/common root\n *\n * These semantics are inferred by position, not by stable backend identifiers.\n *\n * Responsibilities\n * ----------------\n * - normalize top-level backend payload sections\n * - optionally adjust relative URLs against the site domain\n * - detect whether the backend menu supports menu switching\n * - preserve the raw normalized menu structure for the wrapper component\n * - prepare a flat `menuItems` list for simpler rendering paths\n *\n * Important\n * ---------\n * - The switchable root items themselves are not intended to be rendered as\n * visible main navigation entries\n * - Visible navigation is derived from:\n * - active root children\n * - plus shared/common root children\n * - If only a shared/common root exists, its children are rendered flat\n * - The wrapper component may choose either:\n * - `menuItems` for flat rendering\n * - or `rawMenuItems` + menu helpers for grouped rendering\n */\nexport function mapHeaderDataToViewModel(\n data: HeaderApiPayload,\n options: HeaderMapperOptions,\n): HeaderViewModel {\n if (!data || typeof data !== 'object') {\n return {\n siteDefinition: null,\n menuItems: [],\n search: null,\n siteSelector: null,\n languageSelector: null,\n languageOptions: [],\n loginDialog: null,\n homePageLink: '/',\n hasMenuSwitching: false,\n menuModeOptions: [],\n defaultMenuMode: 0,\n rawMenuItems: [],\n };\n }\n\n const siteDefinition = data.sitedefinition ?? null;\n\n /**\n * Keep a normalized copy of the backend menu structure.\n *\n * This raw structure is preserved because the wrapper component may need the\n * original top-level roots in order to:\n * - switch active menu mode\n * - render grouped navigation\n * - resolve mode navigation targets\n *\n * Top-level semantics are positional:\n * - all items except the last = switchable root menus\n * - last item = shared/common root\n */\n const rawMenuItems = (data.mainMenu?.menuItems ?? []).map(item =>\n options.siteDomainInUrls\n ? adjustMenuItemUrls(item, siteDefinition, options.language)\n : { ...item },\n );\n\n const toggleStructure = extractToggleableMenuStructure(rawMenuItems);\n\n /**\n * `menuItems` is kept as a flat convenience list for render paths that do\n * not need to reason about root menus explicitly.\n *\n * This flat list contains:\n * - active-mode primary items when switchable roots exist\n * - plus shared/common items\n *\n * If only a shared/common root exists, its children are rendered flat.\n */\n let menuItems = buildMenuItemsForMode(toggleStructure, 0);\n\n menuItems = prependHomeMenuItem(\n menuItems,\n options.i18n,\n siteDefinition?.url ?? '/',\n options.hideHomeMenuItem,\n );\n\n const search = {\n ...(data.search ?? {}),\n AutocompleteEndpoint: options.autocompleteEndpoint ?? '',\n };\n\n const siteSelector = data.siteSelectorViewModel ?? null;\n const languageSelector = data.languageSelectorViewModel ?? null;\n const languageOptions = getLanguageOptions(languageSelector);\n\n const loginDialog = options.siteDomainInUrls\n ? adjustLoginDialogUrls(data.loginViewModel ?? null, siteDefinition, options.language)\n : data.loginViewModel ?? null;\n\n return {\n siteDefinition,\n menuItems,\n search,\n siteSelector,\n languageSelector,\n languageOptions,\n loginDialog,\n homePageLink: siteDefinition?.url ?? document.location.hostname,\n hasMenuSwitching: toggleStructure.hasMenuSwitching,\n menuModeOptions: toggleStructure.menuModeOptions,\n defaultMenuMode: 0,\n rawMenuItems,\n };\n}","import {\n SiteHeaderI18N,\n} from '../../pn-marketweb-siteheader/pn-marketweb-siteheader-types';\nimport { translations } from '../../pn-marketweb-siteheader/translations';\n\n/**\n * Safe fallback i18n object used before translations have been resolved,\n * or if a language is missing from the translation table.\n */\nexport const defaultHeaderI18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n unifiedLoginButton: '',\n unifiedMyPagesButton: '',\n home: 'Home',\n};\n\n/**\n * Resolves the i18n object for the current language and applies overrides.\n *\n * What it does:\n * - Looks up translation values for the selected language\n * - Falls back to a safe default object if the language is missing\n * - Allows the search placeholder to be overridden by a prop\n * - Ensures \"home\" always has a non-empty fallback value\n */\nexport function resolveHeaderTranslations(language?: string, searchPlaceholder?: string): SiteHeaderI18N {\n const resolved = (language && translations[language]) ? translations[language] : defaultHeaderI18n;\n\n return {\n ...defaultHeaderI18n,\n ...resolved,\n searchplaceholder: searchPlaceholder || resolved.searchplaceholder || '',\n home: resolved.home && resolved.home.trim() !== '' ? resolved.home : 'Home',\n };\n}","import { FetchHelper } from '../../../../globals/FetchHelper';\nimport {\n RefinedMarketWebContextService,\n} from '../../../../services/pn-refined-marketweb-context/pn-refined-marketweb-context.service';\nimport type {\n EnvironmentName,\n MarketName,\n} from '../../../../services/pn-refined-marketweb-context/pn-refined-marketweb-context.types';\nimport type {\n SiteHeaderI18N,\n} from '../../pn-marketweb-siteheader/pn-marketweb-siteheader-types';\nimport { mapHeaderDataToViewModel } from '../mapper/pn-marketweb-header.mapper';\nimport type {\n HeaderApiEnvelope,\n HeaderApiPayload,\n HeaderContext,\n HeaderMenuMode,\n HeaderViewModel,\n} from '../types/pn-marketweb-header.types';\nimport {\n defaultHeaderI18n,\n resolveHeaderTranslations,\n} from '../utils/header-i18n';\n\n/**\n * Input used when resolving/fetching/building header state.\n */\nexport interface LoadHeaderStateInput {\n market?: MarketName | null;\n language?: string | null;\n environment?: EnvironmentName | null;\n endpoint?: string | null;\n pageId?: string;\n cache?: boolean;\n hideHomeMenuItem: boolean;\n siteDomainInUrls: boolean;\n autocompleteEndpoint: string;\n searchPlaceholder: string;\n}\n\n/**\n * Result returned from service orchestration methods.\n */\nexport interface HeaderStateResult {\n context: HeaderContext;\n rawHeaderData: HeaderApiPayload | null;\n vm: HeaderViewModel | null;\n i18n: SiteHeaderI18N;\n status: 'ready' | 'error';\n /**\n * The currently active menu mode used by the wrapper component.\n *\n * This is preserved by the service during remaps, but the effective initial\n * value is resolved by the component layer.\n */\n activeMenuMode: HeaderMenuMode;\n}\n\n/**\n * Service responsible for:\n * - resolving the effective header context\n * - building the fetch URL for the header endpoint\n * - loading header data from the backend\n * - mapping backend data into a renderable header state\n *\n * This service uses the refined context service as the source of truth\n * for market/language/environment resolution.\n */\nexport class PnMarketwebHeaderService {\n /**\n * Fixed backend path for loading header data.\n * This is appended to the resolved endpoint domain.\n */\n private endpointPath = '/api/navigation/toggle-header';\n\n constructor(\n private fetchHelper: FetchHelper,\n private href: string = window.location.href,\n private doc: Document = document,\n ) { }\n\n /**\n * Resolves the effective header context.\n *\n * What it does:\n * - uses the RefinedMarketWebContextService to resolve context from the current URL/document\n * - lets explicit input values override resolved values when provided\n * - resolves endpoint from environment + market when endpoint is not explicitly passed in\n * - keeps pageId as part of the final header request context\n */\n private async resolveContext(input: {\n market?: MarketName | null;\n language?: string | null;\n environment?: EnvironmentName | null;\n endpoint?: string | null;\n pageId?: string;\n }): Promise<HeaderContext> {\n const contextService = new RefinedMarketWebContextService({\n href: this.href,\n doc: this.doc,\n });\n\n const resolvedContext = contextService.resolve();\n\n const market = input.market ?? resolvedContext.market;\n const language = input.language ?? resolvedContext.language;\n const environment = input.environment ?? resolvedContext.environment;\n\n const endpoint =\n input.endpoint && input.endpoint.trim() !== ''\n ? input.endpoint\n : contextService.getEndpoint(environment, market);\n\n return {\n market,\n language,\n environment,\n endpoint,\n pageId: input.pageId ?? '',\n };\n }\n\n /**\n * Builds the final request URL used to fetch header JSON.\n *\n * What it does:\n * - removes a trailing slash from the endpoint base if needed\n * - appends the fixed header endpoint path\n * - adds query parameters for market, language and current page\n */\n private buildFetchUrl(context: HeaderContext): string {\n const endpointBase =\n context.endpoint.lastIndexOf('/') === context.endpoint.length - 1\n ? context.endpoint.substring(0, context.endpoint.length - 1)\n : context.endpoint;\n\n return `${endpointBase}${this.endpointPath}?market=${context.market}&language=${context.language}&currentPage=${context.pageId ?? ''}`;\n }\n\n /**\n * Fetches header data from the backend.\n *\n * Returns null when required context is missing.\n */\n private async fetchHeaderData(context: HeaderContext, cache = false): Promise<HeaderApiPayload | null> {\n if (!context.market || !context.language || context.endpoint == null) {\n return null;\n }\n\n const fetchUrl = this.buildFetchUrl(context);\n\n const response = await this.fetchHelper.fetchJson(\n fetchUrl,\n { mode: 'cors' },\n cache,\n ) as HeaderApiEnvelope | HeaderApiPayload | null;\n\n if (!response) {\n return null;\n }\n\n return 'value' in response ? response.value : response;\n }\n\n /**\n * Builds i18n for the current language + presentation overrides.\n */\n private resolveI18n(language?: string | null, searchPlaceholder = ''): SiteHeaderI18N {\n if (!language) {\n return defaultHeaderI18n;\n }\n\n return resolveHeaderTranslations(language, searchPlaceholder);\n }\n\n /**\n * Maps raw header data into the current UI view model.\n */\n private mapViewModel(\n rawHeaderData: HeaderApiPayload,\n input: {\n language?: string | null;\n hideHomeMenuItem: boolean;\n siteDomainInUrls: boolean;\n autocompleteEndpoint: string;\n i18n: SiteHeaderI18N;\n },\n ): HeaderViewModel {\n return mapHeaderDataToViewModel(rawHeaderData, {\n language: input.language ?? undefined,\n hideHomeMenuItem: input.hideHomeMenuItem,\n siteDomainInUrls: input.siteDomainInUrls,\n autocompleteEndpoint: input.autocompleteEndpoint,\n i18n: input.i18n,\n });\n }\n\n /**\n * Resolves context, fetches backend data and builds the final header state.\n */\n public async loadHeaderState(input: LoadHeaderStateInput): Promise<HeaderStateResult> {\n const context = await this.resolveContext({\n market: input.market,\n language: input.language,\n environment: input.environment,\n endpoint: input.endpoint,\n pageId: input.pageId,\n });\n\n const i18n = this.resolveI18n(context.language, input.searchPlaceholder);\n const rawHeaderData = await this.fetchHeaderData(context, input.cache ?? false);\n\n\n if (!rawHeaderData) {\n return {\n context,\n rawHeaderData: null,\n vm: null,\n i18n,\n status: 'error',\n activeMenuMode: 0, /* default to first mode */\n };\n }\n\n const vm = this.mapViewModel(rawHeaderData, {\n language: context.language,\n hideHomeMenuItem: input.hideHomeMenuItem,\n siteDomainInUrls: input.siteDomainInUrls,\n autocompleteEndpoint: input.autocompleteEndpoint,\n i18n,\n });\n\n return {\n context,\n rawHeaderData,\n vm,\n i18n,\n status: 'ready',\n activeMenuMode: vm.defaultMenuMode\n };\n }\n\n /**\n * Rebuilds the UI state from already-fetched raw backend data.\n * Use this when presentation-only inputs change and a refetch is not needed.\n */\n public remapHeaderState(input: {\n context: HeaderContext;\n rawHeaderData: HeaderApiPayload | null;\n language?: string | null;\n hideHomeMenuItem: boolean;\n siteDomainInUrls: boolean;\n autocompleteEndpoint: string;\n searchPlaceholder: string;\n currentActiveMenuMode: HeaderMenuMode;\n }): HeaderStateResult {\n const i18n = this.resolveI18n(input.language ?? input.context.language, input.searchPlaceholder);\n\n if (!input.rawHeaderData) {\n return {\n context: input.context,\n rawHeaderData: null,\n vm: null,\n i18n,\n status: 'error',\n activeMenuMode: input.currentActiveMenuMode,\n };\n }\n\n const vm = this.mapViewModel(input.rawHeaderData, {\n language: input.language ?? input.context.language,\n hideHomeMenuItem: input.hideHomeMenuItem,\n siteDomainInUrls: input.siteDomainInUrls,\n autocompleteEndpoint: input.autocompleteEndpoint,\n i18n,\n });\n\n return {\n context: input.context,\n rawHeaderData: input.rawHeaderData,\n vm,\n i18n,\n status: 'ready',\n activeMenuMode: input.currentActiveMenuMode,\n };\n }\n}","import type { HeaderMenuMode } from '../types/pn-marketweb-header.types';\n\nconst STORAGE_KEY = 'pn-marketweb-header:menu-mode';\n\n/**\n * Returns the previously selected menu mode from localStorage.\n *\n * Returns null if:\n * - nothing is stored\n * - value is invalid\n * - storage is unavailable\n */\nexport function getStoredHeaderMenuMode(): HeaderMenuMode | null {\n if (typeof window === 'undefined') {\n return null;\n }\n\n try {\n const value = window.localStorage.getItem(STORAGE_KEY);\n\n if (value == null) {\n return null;\n }\n\n const parsed = Number(value);\n if (Number.isInteger(parsed) && parsed >= 0) {\n return parsed;\n }\n } catch {\n // intentionally ignored\n }\n\n return null;\n}\n\n/**\n * Persists the selected menu mode in localStorage.\n *\n * Storage failures are intentionally ignored.\n */\nexport function storeHeaderMenuMode(mode: HeaderMenuMode): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n try {\n window.localStorage.setItem(STORAGE_KEY, String(mode));\n } catch {\n // intentionally ignored\n }\n}\n\n/**\n * Resolves the effective initial menu mode.\n *\n * Priority:\n * 1. Stored user preference\n * 2. Server-provided initial mode\n * 3. Fallback to first mode (index 0)\n */\nexport function resolveInitialHeaderMenuMode(\n hasMenuSwitching: boolean,\n initialActiveMenuMode?: HeaderMenuMode | null,\n): HeaderMenuMode {\n if (!hasMenuSwitching) {\n return 0;\n }\n\n const storedMode = getStoredHeaderMenuMode();\n if (typeof storedMode === 'number') {\n return storedMode;\n }\n\n return initialActiveMenuMode ?? 0;\n}","@import \"../../../globals/main.scss\";\n@import \"./../pn-marketweb-siteheader/pn-marketweb-siteheader-common.scss\";\n\n// -----------------------------------------------------------------------------\n// Internal layout constants\n// -----------------------------------------------------------------------------\n$siteheader-breakpoint-tablet: 769px;\n$siteheader-breakpoint-desktop: 1024px;\n\n$siteheader-z-header: 1000;\n$siteheader-z-logo: 1;\n\n$siteheader-row-padding-inline: 1.6rem;\n\n$siteheader-row-min-height-mobile: 2em;\n$siteheader-row-min-height-tablet: 3.2em;\n$siteheader-row-main-min-height-mobile: 5.6rem;\n$siteheader-row-main-min-height-tablet: 3.2em;\n\n$siteheader-logo-link-max-height: 6.4rem;\n\n$siteheader-search-max-width: 30rem;\n$siteheader-search-min-width: 23.3rem;\n\n$siteheader-border-width: 0.1rem;\n$siteheader-border-radius: 0.8rem;\n\n// -----------------------------------------------------------------------------\n// Root tokens\n// -----------------------------------------------------------------------------\npn-marketweb-header {\n display: block;\n background-color: var(--siteheader-bg, #{$white});\n color: var(--siteheader-text-color, #{$black});\n\n // shell\n --siteheader-bg: #{$white};\n --siteheader-text-color: #{$black};\n --siteheader-shadow: #{$siteheader-shadow-elevation8}; \n --siteheader-row-border-color: #{$gray50};\n --siteheader-row-padding-inline: #{$siteheader-row-padding-inline};\n --siteheader-row-min-height: #{$siteheader-row-min-height-mobile};\n --siteheader-row-main-min-height: #{$siteheader-row-main-min-height-mobile};\n\n // row surfaces\n --siteheader-top-row-bg: transparent;\n --siteheader-top-row-border-color: #{$gray50};\n --siteheader-top-text-color: #{$black};\n --siteheader-top-link-color: #{$black};\n --siteheader-top-icon-fill: currentColor;\n\n --siteheader-main-row-bg-mobile: #{$white};\n --siteheader-main-row-bg-tablet: #{$white};\n\n //siteheader logo\n --siteheader-logo-color: #{$blue400};\n\n //mainnav\n --siteheader-mainnav-top-position-mobile:3.5em;\n\n // menulinks\n --siteheader-mainnav-link-hover-effect-color: #{$blue50};\n\n // third-party button/dropdown hooks\n --siteheader-button-font-weight: 400;\n --siteheader-button-padding: 0.5rem;\n --siteheader-button-radius: #{$siteheader-border-radius};\n --siteheader-button-hover-bg: #{$blue50};\n --siteheader-button-hover-text-color: #{$black};\n\n // new-header-only toggle hooks\n --siteheader-toggle-color: #{$blue700};\n --siteheader-toggle-hover-color: #{$black};\n --siteheader-toggle-active-color: #{$black};\n --siteheader-toggle-active-underline-color: #{$blue400};\n\n // shared child hooks\n --siteheader-mainnav-divider-color: #{$gray200};\n\n // search hooks\n --siteheader-search-max-width: #{$siteheader-search-max-width};\n --siteheader-search-min-width: #{$siteheader-search-min-width};\n --siteheader-search-input-bg: #{$white};\n --siteheader-search-input-color: #{$black};\n --siteheader-search-placeholder-color: #{$black};\n --siteheader-search-button-bg: #{$white};\n --siteheader-search-icon-fill: currentColor; \n}\n\n// -----------------------------------------------------------------------------\n// Global page state\n// -----------------------------------------------------------------------------\nbody[data-siteheader-menuopen=\"true\"] {\n max-height: 100vh;\n overflow: hidden;\n}\n\n@media screen and (min-width: $siteheader-breakpoint-desktop) {\n body[data-siteheader-menuopen=\"true\"] {\n max-height: initial;\n overflow: initial;\n }\n}\n\n// -----------------------------------------------------------------------------\n// Parent structure\n// -----------------------------------------------------------------------------\npn-marketweb-header {\n header {\n position: relative;\n z-index: $siteheader-z-header;\n display: flex;\n flex-direction: column;\n background-color: var(--siteheader-bg, #{$white});\n color: var(--siteheader-text-color, #{$black});\n box-shadow: var(--siteheader-shadow, #{$siteheader-shadow-elevation8});\n }\n\n .siteheader-row {\n display: flex;\n flex-flow: row;\n align-items: center;\n width: 100%;\n min-height: var(--siteheader-row-min-height, #{$siteheader-row-min-height-mobile});\n padding-inline: var(--siteheader-row-padding-inline, #{$siteheader-row-padding-inline});\n\n &:not(:last-child) {\n border-bottom: $siteheader-border-width solid var(--siteheader-row-border-color, #{$gray50});\n }\n }\n\n .siteheader-row-top {\n display: none;\n }\n\n .siteheader-row-main {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n max-width: 100%;\n min-height: var(--siteheader-row-main-min-height, #{$siteheader-row-main-min-height-mobile});\n padding-inline: var(--siteheader-row-padding-inline, #{$siteheader-row-padding-inline});\n overflow: visible;\n }\n\n .siteheader-logocontainer {\n display: flex;\n align-items: center; \n z-index: $siteheader-z-logo;\n }\n\n .siteheader-logolink {\n display: flex;\n align-items: center;\n height: 100%;\n max-height: $siteheader-logo-link-max-height;\n\n &:hover,\n &:focus,\n &:active {\n box-shadow: none;\n text-decoration: none;\n }\n }\n\n .siteheader-logo {\n display: block;\n color:var(--siteheader-logo-color);\n }\n\n .siteheader-row>pn-marketweb-siteheader-search {\n display: none;\n }\n\n pn-spinner {\n display: none;\n }\n\n pn-button-dropdown:not(.hydrated) {\n .pn-button-dropdown-container {\n display: none;\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n// Third-party component overrides\n// -----------------------------------------------------------------------------\npn-marketweb-header {\n .siteheader-row pn-button {\n button:hover {\n color: var(--siteheader-button-hover-text-color, #{$black});\n\n .pn-button-bg,\n .pn-button-bg::after {\n background-color: var(--siteheader-button-hover-bg, #{$blue50});\n }\n }\n }\n\n pn-button {\n button {\n font-weight: var(--siteheader-button-font-weight, 400) !important;\n padding: var(--siteheader-button-padding, 0.5rem) !important;\n\n .pn-button-bg::after {\n border-radius: var(--siteheader-button-radius, #{$siteheader-border-radius}) !important;\n }\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n// Tablet and up\n// -----------------------------------------------------------------------------\n@media screen and (min-width: $siteheader-breakpoint-tablet) {\n pn-marketweb-header {\n --siteheader-row-min-height: #{$siteheader-row-min-height-tablet};\n --siteheader-row-main-min-height: #{$siteheader-row-main-min-height-tablet};\n\n .siteheader-row {\n justify-content: space-between;\n }\n\n .siteheader-row-top {\n display: flex;\n } \n\n .siteheader-row>pn-marketweb-siteheader-search {\n display: block;\n width: 100%;\n min-width: var(--siteheader-search-min-width, #{$siteheader-search-min-width});\n max-width: var(--siteheader-search-max-width, #{$siteheader-search-max-width});\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n// Desktop\n// -----------------------------------------------------------------------------\n@media screen and (min-width: $siteheader-breakpoint-desktop) {\n pn-marketweb-header {\n .siteheader-row-main {\n margin-top: auto;\n overflow: visible;\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n// Themes\n// -----------------------------------------------------------------------------\n\npn-marketweb-header[data-theme=\"business\"]{\n\n --siteheader-bg: #{$blue900};\n --siteheader-text-color: #{$white};\n --siteheader-row-border-color: #{$blue900};\n\n --siteheader-top-row-bg: #{$blue900};\n --siteheader-top-row-border-color: #{$blue900};\n --siteheader-top-text-color: #{$white};\n --siteheader-top-link-color: #{$white};\n --siteheader-top-icon-fill: #{$white};\n\n --siteheader-main-row-bg-mobile: #{$blue900};\n --siteheader-main-row-bg-tablet: #{$white};\n\n --siteheader-button-hover-bg: #{$white};\n --siteheader-button-hover-text-color: #{$black};\n\n //siteheader-logo\n --siteheader-logo-color: #{$blue400};\n\n //siteheader cart hooks ------------------------------------------------------ \n --siteheader-cart-countindicator-color: #{$black};\n --siteheader-cart-icon-color: #{$white};\n --siteheader-cart-countindicator-background: #{$white};\n --siteheader-cart-link-color:#{$white};\n\n //siteheader-toggle hooks------------------------------------------------------\n --siteheader-toggle-color: #{$white};\n --siteheader-toggle-hover-color: #{$white};\n --siteheader-toggle-active-color: #{$white};\n --siteheader-toggle-active-underline-color: #{$white};\n\n // search hooks----------------------------------------------------------------\n --siteheader-search-input-bg: #{$white};\n --siteheader-search-input-color: #{$blue900};\n --siteheader-search-placeholder-color: #{$blue900};\n --siteheader-search-button-bg: #{$white};\n --siteheader-search-icon-fill: #{$blue900};\n\n //mainnav list----------------------------------------------------------------\n --siteheader-mainnav-list-heading-color: #{$black};\n\n //mainnav links----------------------------------------------------------------\n --siteheader-mainnav-link-hover-effect-color: #{$blue900};\n --siteheader-mainnav-link-active-effect-color: #{$blue900};\n\n //mainnav-level----------------------------------------------------------------\n --siteheader-mainnav-level-2-border-top-left-radius-desktop: 0;\n --siteheader-mainnav-level-2-border-top-right-radius-desktop: 0;\n\n //mainnav-links---------------------------------------------------------------- \n // darker hover / active \n --siteheader-mainnav-link-active-desktop-color: #{$blue900};\n // stronger indicator\n --siteheader-mainnav-link-level1-indicator-color: #{$blue900};\n --siteheader-mainnav-link-level1-indicator-active-color: #{$blue900};\n\n // optional: slightly darker separators\n --siteheader-mainnav-link-level1-border-bottom: 0.1rem solid #{$gray100};\n --siteheader-mainnav-link-level2-border-bottom: 0.1rem solid #{$gray100};\n\n // ---------------------------------------------------------------------------\n // Profile selection (login dropdown)\n // ---------------------------------------------------------------------------\n --siteheader-login-profileselection-heading-color: #{$black};\n --siteheader-login-profileselection-user-name-color: #{$black};\n --siteheader-login-profileselection-description-color: #{$gray700};\n --siteheader-login-profileselection-divider-background: #{$blue700};\n --siteheader-login-profileselection-profileoption-link-background: #{$white};\n\n //siteheader-login-linklist---------------------------------------------------\n --siteheader-login-linklist-heading-color: #{$black};\n\n}","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { FetchHelper } from '../../../globals/FetchHelper';\nimport type {\n EnvironmentName,\n MarketName,\n} from '../../../services/pn-refined-marketweb-context/pn-refined-marketweb-context.types';\nimport {\n state as headerState,\n} from '../pn-marketweb-siteheader/pn-marketweb-siteheader-store';\nimport {\n MenuItem,\n SiteHeaderI18N,\n} from '../pn-marketweb-siteheader/pn-marketweb-siteheader-types';\nimport {\n HeaderStateResult,\n PnMarketwebHeaderService,\n} from './services/pn-marketweb-header.service';\nimport type {\n HeaderApiPayload,\n HeaderMenuMode,\n HeaderViewModel,\n} from './types/pn-marketweb-header.types';\nimport { defaultHeaderI18n } from './utils/header-i18n';\nimport { prependHomeMenuItem } from './utils/header-menu';\nimport {\n type HeaderTheme,\n resolveHeaderMenuThemes,\n} from './utils/header-theme';\nimport {\n extractToggleableMenuStructure,\n getToggleRootForMenuItems,\n getVisibleMenuGroupsForMode,\n} from './utils/header-toggle-menu';\nimport {\n resolveInitialHeaderMenuMode,\n storeHeaderMenuMode,\n} from './utils/header-toggle-menu.storage';\nimport { navigateToMenuItem } from './utils/header-url';\n\n/**\n * New marketweb header wrapper.\n *\n * Responsibilities:\n * - resolve runtime context\n * - fetch header data\n * - map backend data into a renderable view model\n * - render the layout using existing leaf/header components\n * - owns the active menu mode when a switchable menu structure exists\n */\n@Component({\n tag: 'pn-marketweb-header',\n styleUrl: 'pn-marketweb-header.scss',\n})\nexport class PnMarketwebHeader {\n @Element() hostElement: HTMLElement;\n\n @Prop() initialActiveMenuMode: HeaderMenuMode = 0;\n\n /** Optional menu theme labels, e.g. ['Business', 'Private']. passed in as a sting via cms */\n @Prop() menuThemes?: string;\n\n /** Market to use for the header. Falls back to refined context resolution when omitted. */\n @Prop({ mutable: true, reflect: true }) market: MarketName | null = null;\n\n /** Language to use for the header. Falls back to refined context resolution when omitted. */\n @Prop({ mutable: true, reflect: true }) language: string | null = null;\n\n /** Environment to use for the header. Falls back to refined context resolution when omitted. */\n @Prop({ mutable: true, reflect: true }) environment: EnvironmentName | null = null;\n\n /** Explicit endpoint override. When omitted it is resolved from market + environment. */\n @Prop() endpoint: string | null = null;\n\n /** Current site id (guid), forwarded into the search component. */\n @Prop() siteid: string | null = null;\n\n /** Current page id forwarded to the header backend endpoint. */\n @Prop() pageId: string = '';\n\n /** Access token passed from backend. */\n @Prop() userToken: string = '';\n\n /** User full name from backend. */\n @Prop() userFullname: string = '';\n\n /** User logged in state from backend. */\n @Prop({ reflect: true }) userLoggedin: boolean = false;\n\n /** Hides the site selector when true. */\n @Prop({ reflect: true }) hideSiteSelector: boolean = false;\n\n /** Hides the generated home menu item when true. */\n @Prop({ reflect: true }) hideHomeMenuItem: boolean = false;\n\n /** Hides the language selector when true. */\n @Prop({ reflect: true }) hideLanguageSelector: boolean = false;\n\n /** Hides search when true. */\n @Prop({ reflect: true }) hideSearch: boolean = false;\n\n /** Hides login when true. */\n @Prop({ reflect: true }) hideLogin: boolean = false;\n\n /** Enables profile selection presentation in the login component. */\n @Prop({ reflect: true }) showProfileSelection: boolean = false;\n\n /** Enables unified login presentation in the login component. */\n @Prop() showUnifiedLogin: boolean = false;\n\n /** Adjust relative URLs against the site domain when true. */\n @Prop() siteDomainInUrls: boolean = false;\n\n /** Autocomplete endpoint forwarded into the search view model. */\n @Prop() autocompleteEndpoint: string = '';\n\n /** Whether session forwarding should be attempted after login state changes. */\n @Prop() sessionForward: boolean = false;\n\n /** Enables cached requests in FetchHelper when true. */\n @Prop() cache: boolean = false;\n\n /** Optional override for translated search placeholder text. */\n @Prop() searchPlaceholder: string = '';\n\n /** When true, language selector options should not navigate directly by URL. */\n @Prop() spaMode: boolean = false;\n\n /** Interval forwarded to the login component for login state checks. */\n @Prop() checkUserLoggedInStateInterval: number = 0;\n\n /** Enables marketweb login mode in the login component. */\n @Prop() useMarketwebLogin: boolean = false;\n\n /** When true, changing menu mode navigates to the selected root href. */\n @Prop() navigateOnMenuToggle: boolean = true;\n\n /** The mapped UI state used for rendering the header. */\n @State() vm: HeaderViewModel | null = null;\n\n /** Current translations for the active language. */\n @State() i18n: SiteHeaderI18N = defaultHeaderI18n;\n\n /** Simple loading state for the wrapper. */\n @State() status: 'idle' | 'loading' | 'ready' | 'error' = 'loading';\n\n /** Whether the main search should collapse to a compact version. */\n @State() minimizeSearch: boolean = false;\n\n /** Internal login state used for special link handling. */\n @State() loggedIn: boolean = false;\n\n /** Active menu mode when the backend structure supports menu switching. */\n @State() activeMenuMode: HeaderMenuMode = 0;\n\n /** Guard used to prevent watchers from reloading during initial setup. */\n private isInitializing = false;\n\n /** Cached raw backend payload so UI-only prop changes can remap without refetching. */\n private rawHeaderData: HeaderApiPayload | null = null;\n\n /** Main nav element reference used for overflow calculation. */\n private mainNavEl?: HTMLElement;\n\n /** Emitted when the language changes. */\n @Event() changeLanguage: EventEmitter<string>;\n\n /** Emitted when the market changes. */\n @Event() changeMarket: EventEmitter<MarketName>;\n\n /** Shared helper for backend requests. */\n private fetchHelper = new FetchHelper('marketweb-header');\n\n /** Service for context resolution and header-data fetching. */\n private headerService = new PnMarketwebHeaderService(this.fetchHelper);\n\n private hasResolvedInitialMenuMode = false;\n\n async componentWillLoad() {\n await this.loadHeader();\n }\n\n @Listen('setLanguage')\n onLanguageSelectorChange(e: CustomEvent<string>) {\n this.language = e.detail;\n window.dispatchEvent(new CustomEvent('marketweb-languagechange', { detail: this.language }));\n }\n\n @Watch('language')\n async onLanguageChange() {\n if (this.isInitializing || !this.language) {\n return;\n }\n\n this.changeLanguage.emit(this.language);\n await this.loadHeader();\n }\n\n @Watch('market')\n async onMarketChange() {\n if (this.isInitializing || !this.market) {\n return;\n }\n\n this.changeMarket.emit(this.market);\n await this.loadHeader();\n }\n\n @Watch('environment')\n async onEnvironmentChange() {\n if (this.isInitializing || !this.environment) {\n return;\n }\n\n await this.loadHeader();\n }\n\n @Watch('endpoint')\n async onEndpointChange() {\n if (this.isInitializing) {\n return;\n }\n\n await this.loadHeader();\n }\n\n @Watch('pageId')\n async onPageIdChange() {\n if (this.isInitializing) {\n return;\n }\n\n await this.loadHeader();\n }\n\n @Watch('hideHomeMenuItem')\n @Watch('siteDomainInUrls')\n @Watch('autocompleteEndpoint')\n @Watch('searchPlaceholder')\n onPresentationInputChange() {\n if (this.isInitializing) {\n return;\n }\n\n this.remapViewModel();\n }\n\n @Listen('loginStateChange')\n onLoginStateChange(e: CustomEvent<{ loggedIn?: boolean; token?: string }>) {\n if (typeof e.detail?.loggedIn === 'boolean') {\n this.loggedIn = e.detail.loggedIn;\n }\n\n if (e.detail?.loggedIn && e.detail?.token && this.sessionForward) {\n try {\n // fetch('/api/userprofile/sync?token=' + e.detail.token);\n } catch {\n // ignored intentionally\n }\n }\n }\n\n @Listen('resize', { target: 'window' })\n handleResize() {\n requestAnimationFrame(() => {\n this.checkMenuOverflow();\n });\n }\n\n private get menuThemeList(): HeaderTheme[] {\n return resolveHeaderMenuThemes(\n this.menuThemes,\n this.vm?.menuModeOptions\n );\n }\n\n\n private get logoUrl(): string {\n return this.vm?.menuModeOptions?.[this.activeMenuMode]?.href ?? '/';\n }\n\n private async loadHeader() {\n this.status = 'loading';\n this.isInitializing = true;\n\n try {\n const result = await this.headerService.loadHeaderState({\n market: this.market,\n language: this.language,\n environment: this.environment,\n endpoint: this.endpoint,\n pageId: this.pageId,\n cache: this.cache,\n hideHomeMenuItem: this.hideHomeMenuItem,\n siteDomainInUrls: this.siteDomainInUrls,\n autocompleteEndpoint: this.autocompleteEndpoint,\n searchPlaceholder: this.searchPlaceholder,\n });\n\n this.applyHeaderState(result);\n\n requestAnimationFrame(() => {\n this.checkMenuOverflow();\n });\n } catch (error) {\n console.error('[pn-marketweb-header] Failed to load header', error);\n this.rawHeaderData = null;\n this.vm = null;\n this.status = 'error';\n } finally {\n this.isInitializing = false;\n }\n }\n\n private remapViewModel() {\n const context = {\n market: this.market,\n language: this.language,\n environment: this.environment,\n endpoint: this.endpoint,\n pageId: this.pageId ?? '',\n };\n\n const result = this.headerService.remapHeaderState({\n context,\n rawHeaderData: this.rawHeaderData,\n language: this.language,\n hideHomeMenuItem: this.hideHomeMenuItem,\n siteDomainInUrls: this.siteDomainInUrls,\n autocompleteEndpoint: this.autocompleteEndpoint,\n searchPlaceholder: this.searchPlaceholder,\n currentActiveMenuMode: this.activeMenuMode,\n });\n\n this.applyHeaderState(result);\n\n requestAnimationFrame(() => {\n this.checkMenuOverflow();\n });\n }\n\n private applyHeaderState(result: HeaderStateResult) {\n this.market = result.context.market;\n this.language = result.context.language;\n this.environment = result.context.environment;\n this.endpoint = result.context.endpoint;\n\n this.rawHeaderData = result.rawHeaderData;\n this.vm = result.vm;\n this.i18n = result.i18n;\n this.status = result.status;\n\n if (!result.vm?.hasMenuSwitching) {\n this.activeMenuMode = 0;\n this.hasResolvedInitialMenuMode = false;\n } else if (!this.hasResolvedInitialMenuMode) {\n this.activeMenuMode = resolveInitialHeaderMenuMode(\n true,\n this.initialActiveMenuMode,\n );\n this.hasResolvedInitialMenuMode = true;\n }\n\n if (headerState.loginManager && result.vm?.siteDefinition?.url) {\n headerState.loginManager.setSiteUrl(result.vm.siteDefinition.url);\n }\n }\n\n private checkMenuOverflow() {\n const mainNavEl = this.mainNavEl;\n if (!mainNavEl) {\n return;\n }\n\n const firstMenuLevel = mainNavEl.querySelector('pn-mainnav-level') as HTMLElement | null;\n if (!firstMenuLevel) {\n return;\n }\n\n const navContainer = firstMenuLevel.parentElement;\n if (!navContainer) {\n return;\n }\n\n const availableWidth = navContainer.clientWidth;\n const requiredWidth = firstMenuLevel.scrollWidth;\n\n this.minimizeSearch = requiredWidth > availableWidth;\n }\n\n private isUserLoggedIn() {\n return this.loggedIn || this.userLoggedin;\n }\n\n private adjustSiteSelectorUrl(href: string): string {\n if (!this.isUserLoggedIn()) {\n return href;\n }\n\n const loginDomains = ['portal.postnord.com'];\n const matchedHref = loginDomains.some(domain => href.includes(domain));\n\n if (!matchedHref) {\n return href;\n }\n\n if (headerState.loginManager) {\n return headerState.loginManager.getLoginUrl(href);\n }\n\n return href;\n }\n\n private onMenuToggleChange = (e: CustomEvent<HeaderMenuMode>) => {\n const nextMode = e.detail;\n\n if (nextMode === this.activeMenuMode) {\n return;\n }\n\n this.activeMenuMode = nextMode;\n storeHeaderMenuMode(nextMode);\n\n if (!this.navigateOnMenuToggle || !this.vm?.rawMenuItems.length) {\n return;\n }\n\n const targetRoot = getToggleRootForMenuItems(this.vm.rawMenuItems, nextMode);\n navigateToMenuItem(targetRoot);\n };\n\n private getVisibleMenuGroups(vm: HeaderViewModel): {\n primaryItems: MenuItem[];\n sharedItems: MenuItem[];\n } {\n if (!vm.rawMenuItems.length) {\n return {\n primaryItems: vm.menuItems,\n sharedItems: [],\n };\n }\n\n const structure = extractToggleableMenuStructure(vm.rawMenuItems);\n\n if (structure.modeRoots.length === 0) {\n return {\n primaryItems: vm.menuItems,\n sharedItems: [],\n };\n }\n\n const groups = getVisibleMenuGroupsForMode(vm.rawMenuItems, this.activeMenuMode);\n\n return {\n primaryItems: prependHomeMenuItem(\n groups.primaryItems,\n this.i18n,\n vm.siteDefinition?.url ?? '/',\n this.hideHomeMenuItem,\n ),\n sharedItems: groups.sharedItems,\n };\n }\n\n\n\n\n render() {\n const vm = this.vm;\n const i18n = this.i18n;\n\n const activeTheme: HeaderTheme =\n this.menuThemeList[this.activeMenuMode] ?? 'private';\n\n const logoUrl = this.logoUrl;\n\n const menuGroups = vm\n ? this.getVisibleMenuGroups(vm)\n : { primaryItems: [] as MenuItem[], sharedItems: [] as MenuItem[] };\n\n\n return (\n <Host\n language={this.language ?? undefined}\n market={this.market ?? undefined}\n environment={this.environment ?? undefined}\n data-status={this.status}\n data-mode={this.activeMenuMode}\n data-theme={activeTheme}\n >\n <header>\n {vm && (\n <Fragment>\n <pn-marketweb-header-top-row\n vm={vm}\n i18n={i18n}\n language={this.language ?? undefined}\n siteid={this.siteid ?? undefined}\n endpoint={this.endpoint ?? undefined}\n environment={this.environment ?? undefined}\n userToken={this.userToken}\n userFullname={this.userFullname}\n userLoggedin={this.userLoggedin}\n hideSiteSelector={this.hideSiteSelector}\n hideLanguageSelector={this.hideLanguageSelector}\n hideSearch={this.hideSearch}\n hideLogin={this.hideLogin}\n showProfileSelection={this.showProfileSelection}\n showUnifiedLogin={this.showUnifiedLogin}\n spaMode={this.spaMode}\n checkUserLoggedInStateInterval={this.checkUserLoggedInStateInterval}\n useMarketwebLogin={this.useMarketwebLogin}\n activeMenuMode={this.activeMenuMode}\n theme={activeTheme}\n navigateOnMenuToggle={this.navigateOnMenuToggle}\n menuToggleChangeHandler={this.onMenuToggleChange}\n adjustSiteSelectorUrl={(href: string) => this.adjustSiteSelectorUrl(href)}\n logoUrl={logoUrl}\n >\n <slot name=\"header-top-left\" slot=\"header-top-left\"></slot>\n <slot name=\"header-top-right-start\" slot=\"header-top-right-start\"></slot>\n <slot name=\"toprightend\" slot=\"toprightend\"></slot>\n </pn-marketweb-header-top-row>\n\n <slot name=\"siteheader-menu-top-button\"></slot>\n\n <pn-marketweb-header-main-row\n vm={vm}\n i18n={i18n}\n market={this.market ?? undefined}\n language={this.language ?? undefined}\n siteid={this.siteid ?? undefined}\n hideSearch={this.hideSearch}\n hideLogin={this.hideLogin}\n hideLanguageSelector={this.hideLanguageSelector}\n hideSiteSelector={this.hideSiteSelector}\n minimizeSearch={this.minimizeSearch}\n activeMenuMode={this.activeMenuMode}\n theme={activeTheme}\n navigateOnMenuToggle={this.navigateOnMenuToggle}\n primaryItems={menuGroups.primaryItems}\n sharedItems={menuGroups.sharedItems}\n showMenuDivider={menuGroups.primaryItems.length > 0 && menuGroups.sharedItems.length > 0}\n userToken={this.userToken}\n userFullname={this.userFullname}\n userLoggedin={this.userLoggedin}\n endpoint={this.endpoint ?? undefined}\n environment={this.environment ?? undefined}\n showProfileSelection={this.showProfileSelection}\n showUnifiedLogin={this.showUnifiedLogin}\n checkUserLoggedInStateInterval={this.checkUserLoggedInStateInterval}\n useMarketwebLogin={this.useMarketwebLogin}\n spaMode={this.spaMode}\n menuToggleChangeHandler={this.onMenuToggleChange}\n mainNavRefHandler={(el: HTMLElement | undefined) => {\n this.mainNavEl = el;\n }}\n adjustSiteSelectorUrl={(href: string) => this.adjustSiteSelectorUrl(href)}\n logoUrl={logoUrl}\n >\n <slot name=\"header-bottom-button\" slot=\"header-bottom-button\"></slot>\n <slot name=\"menu-footer-cta\" slot=\"menu-footer-cta\"></slot>\n </pn-marketweb-header-main-row>\n\n </Fragment>\n )}\n </header>\n </Host>\n );\n }\n}"],"version":3}
@@ -12,7 +12,7 @@ const PnmarketwebIcon = /*@__PURE__*/ proxyCustomElement(class PnmarketwebIcon e
12
12
  this.color = 'black';
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: '1902cdd8bc0e26bb263bbd0335ef1105af51fa26' }, h("pn-icon", { key: 'cb3cdbf78ccf0c86d1f20baacaf6b717cd84a419', icon: this.symbol, color: this.color, small: this.small })));
15
+ return (h(Host, { key: '8b042e6f231d91df5e6a248b1478a867dd1c93b6' }, h("pn-icon", { key: '24b0baebd09c83f203418f05e2e442375b1ebb1b', icon: this.symbol, color: this.color, small: this.small })));
16
16
  }
17
17
  static get style() { return PnMarketwebIconStyle0; }
18
18
  }, [0, "pn-marketweb-icon", {
@@ -37,7 +37,7 @@ const PnMarketwebSiteheaderLoginButton = /*@__PURE__*/ proxyCustomElement(class
37
37
  return navigationUrl;
38
38
  }
39
39
  render() {
40
- return (h(Host, { key: '9851d49c77b44d630cddd1bbb32bbb9a8d79a99f' }, h("pn-button", { key: '48e7f40c6633213f5ba1ae5a56d93addc668ea75', href: this.nagivateToLoginUrl() }, this.label)));
40
+ return (h(Host, { key: '0cffb1a2af16a85f88b3a5dbe992c65c2cfda95f' }, h("pn-button", { key: 'bc5fd64d3f2d12a253cd725cbbb710466fdca6ab', href: this.nagivateToLoginUrl() }, this.label)));
41
41
  }
42
42
  static get style() { return PnMarketwebSiteheaderLoginButtonStyle0; }
43
43
  }, [0, "pn-marketweb-siteheader-login-button", {
@@ -10,7 +10,7 @@ const { state, onChange } = createStore({
10
10
  loginManager: null,
11
11
  });
12
12
 
13
- const pnMarketwebSiteheaderLoginLinklistCss = "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-linklist{display:flex;flex-direction:column}pn-marketweb-siteheader-login-linklist .pn-marketweb-siteheader-login-linklist-heading{font-weight:500;font-size:1.6rem;margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist strong{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul{list-style-type:none;padding:0;margin:0}pn-marketweb-siteheader-login-linklist ul>li{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul>li a:not(.pn-button){color:#005d92}pn-marketweb-siteheader-login-linklist ul>li a{text-decoration:none;font-size:1.6rem;line-height:1.5;font-weight:500}pn-marketweb-siteheader-login-linklist ul>li pn-icon{padding-left:0.8rem}pn-marketweb-siteheader-login-linklist ul>li pn-icon svg>path{fill:#005d92 !important}pn-marketweb-siteheader-login-linklist ul>li:hover a{color:#0d234b;text-decoration:underline}pn-marketweb-siteheader-login-linklist ul>li:hover pn-icon svg>path{fill:#0d234b !important}pn-marketweb-siteheader-login-linklist ul>li:last-of-type{margin-bottom:0}";
13
+ const pnMarketwebSiteheaderLoginLinklistCss = "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-linklist{--login-linklist-heading-color:var(--siteheader-login-linklist-heading-color, inherit);--login-linklist-link-color:var(--siteheader-login-linklist-link-color, #005d92);--login-linklist-link-hover-color:var(--siteheader-login-linklist-link-hover-color, #0d234b);--login-linklist-button-link-color:var(--siteheader-login-linklist-button-link-color, #ffffff);--login-linklist-icon-color:var(--siteheader-login-linklist-icon-color, #005d92);--login-linklist-icon-hover-color:var(--siteheader-login-linklist-icon-hover-color, #0d234b)}pn-marketweb-siteheader-login-linklist{display:flex;flex-direction:column}.pn-marketweb-siteheader-login-linklist-heading{font-weight:500;font-size:1.6rem;margin-bottom:2.4rem;color:var(--login-linklist-heading-color)}pn-marketweb-siteheader-login-linklist strong{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul{list-style-type:none;padding:0;margin:0}pn-marketweb-siteheader-login-linklist ul>li{margin-bottom:2.4rem}pn-marketweb-siteheader-login-linklist ul>li:last-of-type{margin-bottom:0}pn-marketweb-siteheader-login-linklist ul>li a{text-decoration:none;font-size:1.6rem;line-height:1.5;font-weight:500}pn-marketweb-siteheader-login-linklist ul>li a:hover{color:var(--login-linklist-button-link-color)}pn-marketweb-siteheader-login-linklist ul>li a:not(.pn-button){color:var(--login-linklist-link-color)}pn-marketweb-siteheader-login-linklist ul>li:hover a:not(.pn-button){color:var(--login-linklist-link-hover-color);text-decoration:underline}pn-marketweb-siteheader-login-linklist ul>li pn-icon{padding-left:0.8rem}pn-marketweb-siteheader-login-linklist ul>li pn-icon svg>path{fill:var(--login-linklist-icon-color) !important}pn-marketweb-siteheader-login-linklist ul>li:hover pn-icon svg>path{fill:var(--login-linklist-icon-hover-color) !important}";
14
14
  const PnMarketwebSiteheaderLoginLinklistStyle0 = pnMarketwebSiteheaderLoginLinklistCss;
15
15
 
16
16
  const PnMarketwebSiteheaderLoginLinklist = /*@__PURE__*/ proxyCustomElement(class PnMarketwebSiteheaderLoginLinklist extends HTMLElement {
@@ -1 +1 @@
1
- {"file":"pn-marketweb-siteheader-login-linklist2.js","mappings":"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","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/transfer.js","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-store.tsx","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.scss?tag=pn-marketweb-siteheader-login-linklist","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M21.78 11.375a1 1 0 0 1 0 1.25l-4 5a1 1 0 1 1-1.56-1.25L18.92 13H7a1 1 0 1 1 0-2h11.92l-2.7-3.375a1 1 0 1 1 1.56-1.25zM11 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z\" clip-rule=\"evenodd\"/></svg>';\nexport const transfer = icon;\n","import { createStore } from '@stencil/store';\n// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store\n\nconst { state, onChange } = createStore({\n loginManager: null,\n});\n\nexport { state, onChange };\nexport default state;\n","@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login-linklist {\n display: flex;\n flex-direction: column;\n\n .pn-marketweb-siteheader-login-linklist-heading {\n font-weight: 500;\n font-size: 1.6rem;\n margin-bottom: 2.4rem;\n }\n \n strong {\n margin-bottom: 2.4rem;\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n }\n\n ul > li {\n margin-bottom: 2.4rem;\n a:not(.pn-button) {\n color: $blue700;\n }\n\n a {\n text-decoration: none;\n font-size: 1.6rem;\n line-height: 1.5;\n font-weight: 500;\n }\n\n pn-icon {\n padding-left: 0.8rem;\n svg > path {\n fill: $blue700 !important;\n }\n }\n\n &:hover {\n a {\n color: $blue900;\n text-decoration: underline;\n }\n\n pn-icon {\n svg > path {\n fill: $blue900 !important;\n }\n }\n }\n\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n}","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialogLink } from './pn-marketweb-siteheader-types';\nimport { arrow_right, transfer } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-linklist',\n styleUrl: 'pn-marketweb-siteheader-login-linklist.scss',\n})\nexport class PnMarketwebSiteheaderLoginLinklist {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = null;\n @Prop() links: LoginDialogLink[] = [];\n @Prop() idNamespace: string = '';\n @Prop() showUnifiedLogin: boolean = false;\n\n componentWillLoad() {}\n\n uniqueId(text: string) {\n return 'loginlink-' + text.replace(/[^A-Za-z0-9.\\\\\\/]/gim, '') + '-' + this.idNamespace;\n }\n\n linkAppearanceAttributes(link) {\n let attributes = {};\n if (link.linkType) {\n switch (link.linkType) {\n case 'primary':\n attributes = {\n appearance: '',\n variant: '',\n };\n break;\n case 'secondary':\n attributes = {\n appearance: 'light',\n variant: 'outlined',\n };\n break;\n case 'regularlink':\n default:\n attributes = {\n appearance: 'light',\n variant: 'borderless',\n icon: arrow_right,\n };\n break;\n }\n return attributes;\n }\n if (!link.linkType) {\n attributes = {\n appearance: link.primaryLinkApperance ? 'dark' : 'light',\n };\n }\n return attributes;\n }\n\n renderListAsButtons(link) {\n return (\n <li>\n <pn-button\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n {...this.linkAppearanceAttributes(link)}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n </pn-button>\n </li>\n );\n }\n\n renderListAsLinks(link) {\n return (\n <li>\n <a\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n {link.isLogoutLink ? <pn-icon icon={transfer}></pn-icon> : <pn-icon icon={arrow_right}></pn-icon>}\n </a>\n </li>\n );\n }\n\n render() {\n if (!this.links || this.links.length === 0) {\n return;\n }\n return (\n <Host>\n {this.heading ? <p class=\"pn-marketweb-siteheader-login-linklist-heading\">{this.heading}</p> : null}\n <ul>\n {this.links.map(link => {\n {\n return this.showUnifiedLogin ? this.renderListAsLinks(link) : this.renderListAsButtons(link);\n }\n })}\n </ul>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-marketweb-siteheader-login-linklist2.js","mappings":"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","names":["headerState"],"sources":["node_modules/pn-design-assets/pn-assets/icons/transfer.js","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-store.tsx","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.scss?tag=pn-marketweb-siteheader-login-linklist","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M21.78 11.375a1 1 0 0 1 0 1.25l-4 5a1 1 0 1 1-1.56-1.25L18.92 13H7a1 1 0 1 1 0-2h11.92l-2.7-3.375a1 1 0 1 1 1.56-1.25zM11 3a3 3 0 0 1 3 3v2a1 1 0 1 1-2 0V6a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 1 1 2 0v2a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3z\" clip-rule=\"evenodd\"/></svg>';\nexport const transfer = icon;\n","import { createStore } from '@stencil/store';\n// Read more about how stencil stores work here: https://stenciljs.com/docs/stencil-store\n\nconst { state, onChange } = createStore({\n loginManager: null,\n});\n\nexport { state, onChange };\nexport default state;\n","@import '../../../globals/main.scss';\n@import './pn-marketweb-siteheader-common.scss';\n\n// -----------------------------------------------------------------------------\n// Internal layout / visual constants (SCSS only)\n// -----------------------------------------------------------------------------\n$login-linklist-heading-font-weight: 500;\n$login-linklist-heading-font-size: 1.6rem;\n$login-linklist-heading-margin-bottom: 2.4rem;\n\n$login-linklist-strong-margin-bottom: 2.4rem;\n\n$login-linklist-list-item-margin-bottom: 2.4rem;\n\n$login-linklist-link-font-size: 1.6rem;\n$login-linklist-link-line-height: 1.5;\n$login-linklist-link-font-weight: 500;\n\n$login-linklist-icon-padding-left: 0.8rem;\n\n// -----------------------------------------------------------------------------\n// Component token defaults (CSS vars - only real override surface)\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login-linklist {\n --login-linklist-heading-color: var(--siteheader-login-linklist-heading-color, inherit);\n\n --login-linklist-link-color: var(--siteheader-login-linklist-link-color, #{$blue700});\n --login-linklist-link-hover-color: var(--siteheader-login-linklist-link-hover-color, #{$blue900});\n\n --login-linklist-button-link-color: var(--siteheader-login-linklist-button-link-color, #{$white});\n\n --login-linklist-icon-color: var(--siteheader-login-linklist-icon-color, #{$blue700});\n --login-linklist-icon-hover-color: var(--siteheader-login-linklist-icon-hover-color, #{$blue900});\n}\n\n// -----------------------------------------------------------------------------\n// Host shell / layout\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login-linklist {\n display: flex;\n flex-direction: column;\n}\n\n// -----------------------------------------------------------------------------\n// Heading\n// -----------------------------------------------------------------------------\n.pn-marketweb-siteheader-login-linklist-heading {\n font-weight: $login-linklist-heading-font-weight;\n font-size: $login-linklist-heading-font-size;\n margin-bottom: $login-linklist-heading-margin-bottom;\n color: var(--login-linklist-heading-color);\n}\n\npn-marketweb-siteheader-login-linklist strong {\n margin-bottom: $login-linklist-strong-margin-bottom;\n}\n\n// -----------------------------------------------------------------------------\n// List structure\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login-linklist ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n}\n\npn-marketweb-siteheader-login-linklist ul>li {\n margin-bottom: $login-linklist-list-item-margin-bottom;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n}\n\n// -----------------------------------------------------------------------------\n// Links\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login-linklist ul>li a {\n text-decoration: none;\n font-size: $login-linklist-link-font-size;\n line-height: $login-linklist-link-line-height;\n font-weight: $login-linklist-link-font-weight;\n\n &:hover {\n color:var(--login-linklist-button-link-color);\n }\n}\n\npn-marketweb-siteheader-login-linklist ul>li a:not(.pn-button) {\n color: var(--login-linklist-link-color);\n}\n\npn-marketweb-siteheader-login-linklist ul>li:hover a:not(.pn-button) {\n color: var(--login-linklist-link-hover-color);\n text-decoration: underline;\n}\n\n// -----------------------------------------------------------------------------\n// Icons\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login-linklist ul>li pn-icon {\n padding-left: $login-linklist-icon-padding-left;\n\n svg>path {\n fill: var(--login-linklist-icon-color) !important;\n }\n}\n\npn-marketweb-siteheader-login-linklist ul>li:hover pn-icon {\n svg>path {\n fill: var(--login-linklist-icon-hover-color) !important;\n }\n}","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialogLink } from './pn-marketweb-siteheader-types';\nimport { arrow_right, transfer } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-linklist',\n styleUrl: 'pn-marketweb-siteheader-login-linklist.scss',\n})\nexport class PnMarketwebSiteheaderLoginLinklist {\n @Element() hostElement: HTMLElement;\n\n @Prop() heading: string = null;\n @Prop() links: LoginDialogLink[] = [];\n @Prop() idNamespace: string = '';\n @Prop() showUnifiedLogin: boolean = false;\n\n componentWillLoad() {}\n\n uniqueId(text: string) {\n return 'loginlink-' + text.replace(/[^A-Za-z0-9.\\\\\\/]/gim, '') + '-' + this.idNamespace;\n }\n\n linkAppearanceAttributes(link) {\n let attributes = {};\n if (link.linkType) {\n switch (link.linkType) {\n case 'primary':\n attributes = {\n appearance: '',\n variant: '',\n };\n break;\n case 'secondary':\n attributes = {\n appearance: 'light',\n variant: 'outlined',\n };\n break;\n case 'regularlink':\n default:\n attributes = {\n appearance: 'light',\n variant: 'borderless',\n icon: arrow_right,\n };\n break;\n }\n return attributes;\n }\n if (!link.linkType) {\n attributes = {\n appearance: link.primaryLinkApperance ? 'dark' : 'light',\n };\n }\n return attributes;\n }\n\n renderListAsButtons(link) {\n return (\n <li>\n <pn-button\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n {...this.linkAppearanceAttributes(link)}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n </pn-button>\n </li>\n );\n }\n\n renderListAsLinks(link) {\n return (\n <li>\n <a\n href={link.href}\n id={this.uniqueId(link.linkText)}\n {...(link.openInNewWindow && { target: '_blank' })}\n onClick={() => {\n if (link.isLogoutLink) {\n headerState.loginManager.clearUserData();\n }\n }}\n >\n {link.linkText}\n {link.isLogoutLink ? <pn-icon icon={transfer}></pn-icon> : <pn-icon icon={arrow_right}></pn-icon>}\n </a>\n </li>\n );\n }\n\n render() {\n if (!this.links || this.links.length === 0) {\n return;\n }\n return (\n <Host>\n {this.heading ? <p class=\"pn-marketweb-siteheader-login-linklist-heading\">{this.heading}</p> : null}\n <ul>\n {this.links.map(link => {\n {\n return this.showUnifiedLogin ? this.renderListAsLinks(link) : this.renderListAsButtons(link);\n }\n })}\n </ul>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -12,7 +12,7 @@ const PnMarketwebSiteheaderLoginMypageButton$1 = /*@__PURE__*/ proxyCustomElemen
12
12
  }
13
13
  get hostElement() { return this; }
14
14
  render() {
15
- return (h(Host, { key: '35dc38e3b181c223a3b5325e8ad4408b078cf9c9' }, h("pn-button", { key: 'daeeac6b7da9a0ad3424cefe30614c83f638ac66', href: this.myPageUrl }, this.label)));
15
+ return (h(Host, { key: 'c124432d15ec5bdf0aa2bbeb4354f6ecf2bce080' }, h("pn-button", { key: 'a5dd43d7ed7d03ca1cbe6ac6ff467cb75da83082', href: this.myPageUrl }, this.label)));
16
16
  }
17
17
  static get style() { return PnMarketwebSiteheaderLoginMypageButtonStyle0; }
18
18
  }, [0, "pn-marketweb-siteheader-login-mypage-button", {
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { s as state, d as defineCustomElement$1 } from './pn-marketweb-siteheader-login-linklist2.js';
3
3
  import { a as arrow_right } from './arrow_right.js';
4
4
 
5
- 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-heading{display:block;padding:0.5rem 0 1rem}.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}.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:#5e554a;font-size:0.75em}.pn-marketweb-siteheader-login-profileselection-divider{height:1rem;width:100%;background:#00a0d6;position:relative;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:\"\";width:0.6em;height:0.6em;border-radius:50%;position:absolute;right:0;top:0;background:inherit;transform:translateX(calc(100% + 0.2em))}.pn-marketweb-siteheader-login-profileselection-profileoption-link{display:flex;background:#ffffff;transition:background 0.15s ease-in-out;margin:0 -1em;padding:0.6rem 1.6rem;text-decoration:none;color:#005d92;align-items:center}.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:#f3f2f2}.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:#5e554a;font-size:0.75em}.pn-marketweb-siteheader-login-profileselection-logout{padding:1.6rem;text-align:center;width:100%}.pn-marketweb-siteheader-login-profileselection-logout-link{display:inline-block;font-weight:500;color:#005d92;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}";
5
+ 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}";
6
6
  const PnMarketwebSiteheaderLoginProfileselectionStyle0 = pnMarketwebSiteheaderLoginProfileselectionCss;
7
7
 
8
8
  const PnMarketwebSiteheaderLoginProfileselection = /*@__PURE__*/ proxyCustomElement(class PnMarketwebSiteheaderLoginProfileselection extends HTMLElement {
@@ -1 +1 @@
1
- {"file":"pn-marketweb-siteheader-login-profileselection2.js","mappings":"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","names":["headerState"],"sources":["src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.scss?tag=pn-marketweb-siteheader-login-profileselection","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\n@import './pn-marketweb-siteheader-common.scss';\n\npn-marketweb-siteheader-login-profileselection {\n}\n\n.pn-marketweb-siteheader-login-profileselection-heading {\n display: block;\n padding: 0.5rem 0 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user,\n.pn-marketweb-siteheader-login-profileselection-currentprofile {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-name,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-name {\n line-height: 1;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-description,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-description {\n font-weight: 400;\n white-space: normal;\n word-break: break-all;\n color: $gray700;\n font-size: 0.75em;\n}\n\n.pn-marketweb-siteheader-login-profileselection-divider {\n height: 1rem;\n width: 100%;\n background: $blue400;\n position: relative;\n\n margin-left: -1em; // Negative positioning due to nav dropdown's padding\n margin-top: 1.6rem;\n margin-bottom: 1.6rem;\n border-radius: 0 0.6em 0.6em 0;\n padding: 0;\n &::after {\n content: '';\n width: 0.6em;\n height: 0.6em;\n border-radius: 50%;\n position: absolute;\n right: 0;\n top: 0;\n background: inherit;\n transform: translateX(calc(100% + 0.2em));\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption {\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-link {\n display: flex;\n background: $white;\n transition: background 0.15s ease-in-out;\n // width:100%;\n margin: 0 -1em; // Negative margin due to dropdown content padding\n padding: 0.6rem 1.6rem;\n text-decoration: none;\n color: $blue700;\n align-items: center;\n &:hover,\n &:focus,\n &:active {\n background: $gray50;\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-content {\n flex-grow: 1;\n}\n.pn-marketweb-siteheader-login-profileselection-profileoption-name {\n font-weight: 700;\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-description {\n font-weight: 400;\n white-space: normal;\n word-break: break-all;\n color: $gray700;\n font-size: 0.75em;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout {\n padding: 1.6rem;\n text-align: center;\n width: 100%;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout-link {\n display: inline-block;\n font-weight: 500;\n color: $blue700;\n text-decoration: none;\n &:hover,\n &:focus,\n &:active {\n text-decoration: underline;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nimport { IUserInfo } from '../../../globals/MarketWebLoginManager';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialog, LoginDialogLink, ProfileSelectorCustomerItem, ProfileSelectorOrganization, SiteHeaderI18N } from './pn-marketweb-siteheader-types';\nimport { arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-profileselection',\n styleUrl: 'pn-marketweb-siteheader-login-profileselection.scss',\n})\nexport class PnMarketwebSiteheaderLoginProfileselection {\n @Element() hostElement: HTMLElement;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n @Prop() endpoint: string = '';\n @Prop() loggedin: boolean = false;\n @Prop() idNamespace: string = '';\n @Prop() heading: string = null;\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n } as SiteHeaderI18N;\n\n @State() user: IUserInfo = null;\n\n @State() logoutLink: LoginDialogLink = null;\n @State() userName: string = null;\n @State() userEmail: string = '';\n\n @Prop({ mutable: true }) currentProfile: ProfileSelectorCustomerItem = null;\n @Prop({ mutable: true }) profileoptions: ProfileSelectorOrganization[] = [];\n\n componentWillLoad() {\n if (this.heading === null && this.i18n?.profileSelectionFlyoutHeading) {\n this.heading = this.i18n.profileSelectionFlyoutHeading;\n }\n this.init();\n }\n\n init() {\n this.updateUserInfo();\n this.adjustLoginLinks();\n this.fetchProfiles();\n }\n async fetchProfiles() {\n if (!this.loggedin || this.profileoptions.length > 0) {\n return;\n }\n let apiUrl = `${this.endpoint}${this.endpoint.lastIndexOf('/') > -1 && this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? '' : '/'}api/user/parentorganizations`;\n const req = await fetch(apiUrl);\n const reqdata = await req.json();\n const fallbackData = {\n loggedin: true,\n organizations: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '5564513603',\n id: 'dbba867d-1dff-3dbb-b420-c57b4b828b73',\n selected: true,\n profiles: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '20685482',\n id: 'f757ba28-9a73-15a2-f128-4b394d970f3f',\n ssid: '',\n selected: false,\n customerGroup: 'Business',\n },\n {\n name: 'ICA MAXI KUNGSBACKA',\n customerNumber: '20831191',\n id: '5aea41df-32b0-3f7e-2946-78598360177d',\n ssid: '259686',\n selected: true,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'Hem Livs i Kungsbacka AB',\n customerNumber: '5565271250',\n id: '97ca363c-40ef-cca9-7a3c-9e7f025567c2',\n selected: false,\n profiles: [\n {\n name: 'ICA KVANTUM KUNGSBACKA',\n customerNumber: '20831193',\n id: 'fbd61ffd-41c6-2206-b88e-cfef91e1dc39',\n ssid: '259691',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '5568902679',\n id: '7cb76a94-e1a5-5f57-58fd-bc563851b28e',\n selected: false,\n profiles: [\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '20831212',\n id: '3a2db017-b68f-6fa0-fe70-542c08cd97ce',\n ssid: '',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n ],\n };\n const data = window.location.href.indexOf('localhost:6008') !== -1 ? fallbackData : reqdata;\n\n if (!data || !data.organizations || !data.organizations.length) {\n this.heading = \"\"; //this is to not get \"logged in as\" text when its private account\n return;\n }\n\n (data.organizations as ProfileSelectorOrganization[]).forEach(org => {\n if (org.selected === true && org.profiles) {\n const selectedProfile = org.profiles.filter(x => x.selected === true);\n if (selectedProfile && selectedProfile[0] && selectedProfile[0].customerGroup.toLocaleLowerCase() === 'agent' && selectedProfile[0].ssid) {\n org.customerNumber = selectedProfile[0].ssid;\n }\n } else {\n if (org.customerNumber.length === 10 && org.customerNumber.substring(0, 2) === '55') {\n org.customerNumber = org.customerNumber.substring(0, 6) + '-' + org.customerNumber.substring(6);\n }\n this.profileoptions.push(org);\n }\n });\n\n let currentProfileObj = data.organizations.filter(x => x.selected === true)[0];\n const userProfileOption = {\n name: this.userName,\n customerNumber: '',\n id: '',\n selected: !currentProfileObj,\n profiles: [],\n };\n if (!currentProfileObj) {\n currentProfileObj = userProfileOption;\n }\n\n if (currentProfileObj && currentProfileObj.name) {\n this.currentProfile = currentProfileObj;\n }\n this.profileoptions.push(userProfileOption);\n }\n adjustLoginLinks() {\n const adjustLink = (link, i) => {\n if (!link.isLogoutLink) {\n link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;\n }\n if (link.isLogoutLink) {\n link.href = headerState.loginManager.getLogoutUrl(link.href);\n }\n\n if (i === 0 && !link.href) {\n link.href = headerState.loginManager.getLoginUrl();\n link.linkType = 'primary';\n }\n if (link.primaryLinkApperance && !link.linkType) {\n link.linkType = 'primary';\n }\n };\n\n if (this.loginDialog?.loggedInLinks) {\n this.loginDialog?.loggedInLinks.forEach(adjustLink);\n }\n\n this.logoutLink = this.loginDialog?.loggedInLinks.filter(x => x.isLogoutLink)[0] ?? null;\n }\n updateUserInfo() {\n const userInfo: IUserInfo = headerState.loginManager.getUserInfo();\n this.user = userInfo;\n if (!userInfo) {\n return;\n }\n if (userInfo && userInfo.email) {\n this.userEmail = userInfo.email;\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name;\n return;\n }\n if (userInfo && userInfo.family_name) {\n this.userName = userInfo.family_name;\n return;\n }\n if (userInfo && userInfo.username) {\n this.userName = userInfo.username;\n return;\n }\n }\n\n filterLogoutLink(loggedInLinks: LoginDialogLink[]): LoginDialogLink[] {\n return loggedInLinks.filter((link: LoginDialogLink) => !link.isLogoutLink);\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {};\n return (\n <Host {...hostElementAttribute}>\n {this.heading ? <strong class=\"pn-marketweb-siteheader-login-profileselection-heading\">{this.heading}</strong> : null}\n {this.currentProfile !== null && this.currentProfile.name ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-name\">{this.currentProfile.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-description\">\n {this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail}\n </div>\n </div>\n ) : null}\n\n <pn-marketweb-siteheader-login-linklist\n links={this.filterLogoutLink(this.loginDialog.loggedInLinks)}\n idNamespace={this.idNamespace}\n ></pn-marketweb-siteheader-login-linklist>\n\n <div class=\"pn-marketweb-siteheader-login-profileselection-divider\"></div>\n {this.profileoptions\n .filter(x => x.selected !== true)\n .map(organization => {\n let customerNumber = organization.profiles.length > 0 ? organization.profiles[0].customerNumber : organization.customerNumber;\n return (\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption\">\n {/* /api/user/setprofile? profile=xxxxx */}\n <a\n href={`${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${encodeURIComponent(window.location.href)}`}\n class=\"pn-marketweb-siteheader-login-profileselection-profileoption-link\"\n >\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-content\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-name\">{organization.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-description\">\n {organization.customerNumber ? organization.customerNumber : this.userEmail}\n </div>\n </div>\n <pn-icon icon={arrow_right} small=\"false\" color=\"blue700\"></pn-icon>\n </a>\n </div>\n );\n })}\n\n {this.logoutLink ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-logout\">\n {/* https://se-inte.postnord.com/UnifiedLogin/ExternalLoginCallback?returnUrl=https://se-inte.postnord.com/handla-online&profile=770e785b-702b-dc22-b1e9-4839eded4f83 */}\n <a\n href={this.logoutLink.href}\n rel=\"nofollower noopener\"\n id=\"pn-marketweb-header-logoutlink\"\n onClick={() => headerState.loginManager.clearUserData()}\n class=\"pn-marketweb-siteheader-login-profileselection-logout-link\"\n >\n {this.logoutLink.linkText}\n </a>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-marketweb-siteheader-login-profileselection2.js","mappings":"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","names":["headerState"],"sources":["src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.scss?tag=pn-marketweb-siteheader-login-profileselection","src/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n@import './pn-marketweb-siteheader-common.scss';\n\n// -----------------------------------------------------------------------------\n// Internal layout / visual constants (SCSS only)\n// -----------------------------------------------------------------------------\n$login-profileselection-description-font-weight: 400;\n$login-profileselection-description-font-size: 0.75em;\n\n$login-profileselection-divider-dot-size: 0.6em;\n$login-profileselection-divider-dot-offset: 0.2em;\n\n$login-profileselection-profileoption-link-padding: 0.6rem 1.6rem;\n$login-profileselection-profileoption-link-transition: background 0.15s ease-in-out;\n\n// -----------------------------------------------------------------------------\n// Component token defaults (CSS vars - only real override surface)\n// -----------------------------------------------------------------------------\npn-marketweb-siteheader-login-profileselection {\n --login-profileselection-heading-color: var(--siteheader-login-profileselection-heading-color,\n inherit);\n --login-profileselection-description-color: var(--siteheader-login-profileselection-description-color,\n #{$gray700});\n --login-profileselection-user-name-color: var(--siteheader-login-profileselection-user-name-color,\n inherit);\n --login-profileselection-divider-background: var(--siteheader-login-profileselection-divider-background,\n #{$blue400});\n --login-profileselection-profileoption-link-background: var(--siteheader-login-profileselection-profileoption-link-background,\n #{$white});\n --login-profileselection-profileoption-link-color: var(--siteheader-login-profileselection-profileoption-link-color,\n #{$blue700});\n --login-profileselection-profileoption-link-hover-background: var(--siteheader-login-profileselection-profileoption-link-hover-background,\n #{$gray50});\n --login-profileselection-logout-link-color: var(--siteheader-login-profileselection-logout-link-color,\n #{$blue700});\n}\n\n// -----------------------------------------------------------------------------\n// Heading\n// -----------------------------------------------------------------------------\n.pn-marketweb-siteheader-login-profileselection-heading {\n display: block;\n padding: 0.5rem 0 1rem;\n color:var(--login-profileselection-heading-color);\n}\n\n// -----------------------------------------------------------------------------\n// User / current profile sections\n// -----------------------------------------------------------------------------\n.pn-marketweb-siteheader-login-profileselection-user,\n.pn-marketweb-siteheader-login-profileselection-currentprofile {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-name,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-name {\n line-height: 1;\n color: var(--login-profileselection-user-name-color);\n}\n\n.pn-marketweb-siteheader-login-profileselection-user-description,\n.pn-marketweb-siteheader-login-profileselection-currentprofile-description {\n font-weight: $login-profileselection-description-font-weight;\n white-space: normal;\n word-break: break-all;\n color: var(--login-profileselection-description-color);\n font-size: $login-profileselection-description-font-size;\n}\n\n// -----------------------------------------------------------------------------\n// Divider\n// -----------------------------------------------------------------------------\n.pn-marketweb-siteheader-login-profileselection-divider {\n position: relative;\n width: 100%;\n height: 1rem;\n background: var(--login-profileselection-divider-background);\n\n margin-left: -1em; // Negative positioning due to nav dropdown's padding\n margin-top: 1.6rem;\n margin-bottom: 1.6rem;\n border-radius: 0 0.6em 0.6em 0;\n padding: 0;\n\n &::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n width: $login-profileselection-divider-dot-size;\n height: $login-profileselection-divider-dot-size;\n border-radius: 50%;\n background: inherit;\n transform: translateX(calc(100% + #{$login-profileselection-divider-dot-offset}));\n }\n}\n\n// -----------------------------------------------------------------------------\n// Profile options\n// -----------------------------------------------------------------------------\n.pn-marketweb-siteheader-login-profileselection-profileoption-link {\n display: flex;\n align-items: center;\n margin: 0 -1em; // Negative margin due to dropdown content padding\n padding: $login-profileselection-profileoption-link-padding;\n background: var(--login-profileselection-profileoption-link-background);\n color: var(--login-profileselection-profileoption-link-color);\n text-decoration: none;\n transition: $login-profileselection-profileoption-link-transition;\n\n &:hover,\n &:focus,\n &:active {\n background: var(--login-profileselection-profileoption-link-hover-background);\n }\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-content {\n flex-grow: 1;\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-name {\n font-weight: 700;\n}\n\n.pn-marketweb-siteheader-login-profileselection-profileoption-description {\n font-weight: $login-profileselection-description-font-weight;\n white-space: normal;\n word-break: break-all;\n color: var(--login-profileselection-description-color);\n font-size: $login-profileselection-description-font-size;\n}\n\n// -----------------------------------------------------------------------------\n// Logout\n// -----------------------------------------------------------------------------\n.pn-marketweb-siteheader-login-profileselection-logout {\n width: 100%;\n padding: 1.6rem;\n text-align: center;\n}\n\n.pn-marketweb-siteheader-login-profileselection-logout-link {\n display: inline-block;\n font-weight: 500;\n color: var(--login-profileselection-logout-link-color);\n text-decoration: none;\n\n &:hover,\n &:focus,\n &:active {\n text-decoration: underline;\n }\n}","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nimport { IUserInfo } from '../../../globals/MarketWebLoginManager';\nimport { state as headerState } from './pn-marketweb-siteheader-store';\nimport { LoginDialog, LoginDialogLink, ProfileSelectorCustomerItem, ProfileSelectorOrganization, SiteHeaderI18N } from './pn-marketweb-siteheader-types';\nimport { arrow_right } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-marketweb-siteheader-login-profileselection',\n styleUrl: 'pn-marketweb-siteheader-login-profileselection.scss',\n})\nexport class PnMarketwebSiteheaderLoginProfileselection {\n @Element() hostElement: HTMLElement;\n\n // Login dialog\n @Prop({ mutable: true }) loginDialog: LoginDialog = null;\n @Prop() endpoint: string = '';\n @Prop() loggedin: boolean = false;\n @Prop() idNamespace: string = '';\n @Prop() heading: string = null;\n @Prop() i18n: SiteHeaderI18N = {\n searchlabel: '',\n searchplaceholder: '',\n searchbuttontext: '',\n menuHomeButton: '',\n menuGoBackButton: '',\n mainMenuButton: '',\n menuStartButton: '',\n profileSelectionFlyoutHeading: '',\n } as SiteHeaderI18N;\n\n @State() user: IUserInfo = null;\n\n @State() logoutLink: LoginDialogLink = null;\n @State() userName: string = null;\n @State() userEmail: string = '';\n\n @Prop({ mutable: true }) currentProfile: ProfileSelectorCustomerItem = null;\n @Prop({ mutable: true }) profileoptions: ProfileSelectorOrganization[] = [];\n\n componentWillLoad() {\n if (this.heading === null && this.i18n?.profileSelectionFlyoutHeading) {\n this.heading = this.i18n.profileSelectionFlyoutHeading;\n }\n this.init();\n }\n\n init() {\n this.updateUserInfo();\n this.adjustLoginLinks();\n this.fetchProfiles();\n }\n async fetchProfiles() {\n if (!this.loggedin || this.profileoptions.length > 0) {\n return;\n }\n let apiUrl = `${this.endpoint}${this.endpoint.lastIndexOf('/') > -1 && this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? '' : '/'}api/user/parentorganizations`;\n const req = await fetch(apiUrl);\n const reqdata = await req.json();\n const fallbackData = {\n loggedin: true,\n organizations: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '5564513603',\n id: 'dbba867d-1dff-3dbb-b420-c57b4b828b73',\n selected: true,\n profiles: [\n {\n name: 'Forsheda Livs AB',\n customerNumber: '20685482',\n id: 'f757ba28-9a73-15a2-f128-4b394d970f3f',\n ssid: '',\n selected: false,\n customerGroup: 'Business',\n },\n {\n name: 'ICA MAXI KUNGSBACKA',\n customerNumber: '20831191',\n id: '5aea41df-32b0-3f7e-2946-78598360177d',\n ssid: '259686',\n selected: true,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'Hem Livs i Kungsbacka AB',\n customerNumber: '5565271250',\n id: '97ca363c-40ef-cca9-7a3c-9e7f025567c2',\n selected: false,\n profiles: [\n {\n name: 'ICA KVANTUM KUNGSBACKA',\n customerNumber: '20831193',\n id: 'fbd61ffd-41c6-2206-b88e-cfef91e1dc39',\n ssid: '259691',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '5568902679',\n id: '7cb76a94-e1a5-5f57-58fd-bc563851b28e',\n selected: false,\n profiles: [\n {\n name: 'ICA SUPERMARKET TORGET',\n customerNumber: '20831212',\n id: '3a2db017-b68f-6fa0-fe70-542c08cd97ce',\n ssid: '',\n selected: false,\n customerGroup: 'Agent',\n },\n ],\n },\n ],\n };\n const data = window.location.href.indexOf('localhost:6008') !== -1 ? fallbackData : reqdata;\n\n if (!data || !data.organizations || !data.organizations.length) {\n this.heading = \"\"; //this is to not get \"logged in as\" text when its private account\n return;\n }\n\n (data.organizations as ProfileSelectorOrganization[]).forEach(org => {\n if (org.selected === true && org.profiles) {\n const selectedProfile = org.profiles.filter(x => x.selected === true);\n if (selectedProfile && selectedProfile[0] && selectedProfile[0].customerGroup.toLocaleLowerCase() === 'agent' && selectedProfile[0].ssid) {\n org.customerNumber = selectedProfile[0].ssid;\n }\n } else {\n if (org.customerNumber.length === 10 && org.customerNumber.substring(0, 2) === '55') {\n org.customerNumber = org.customerNumber.substring(0, 6) + '-' + org.customerNumber.substring(6);\n }\n this.profileoptions.push(org);\n }\n });\n\n let currentProfileObj = data.organizations.filter(x => x.selected === true)[0];\n const userProfileOption = {\n name: this.userName,\n customerNumber: '',\n id: '',\n selected: !currentProfileObj,\n profiles: [],\n };\n if (!currentProfileObj) {\n currentProfileObj = userProfileOption;\n }\n\n if (currentProfileObj && currentProfileObj.name) {\n this.currentProfile = currentProfileObj;\n }\n this.profileoptions.push(userProfileOption);\n }\n adjustLoginLinks() {\n const adjustLink = (link, i) => {\n if (!link.isLogoutLink) {\n link.isLogoutLink = link.pageLink.indexOf('location.href') !== -1 && link.pageLink.indexOf('logout') !== -1;\n }\n if (link.isLogoutLink) {\n link.href = headerState.loginManager.getLogoutUrl(link.href);\n }\n\n if (i === 0 && !link.href) {\n link.href = headerState.loginManager.getLoginUrl();\n link.linkType = 'primary';\n }\n if (link.primaryLinkApperance && !link.linkType) {\n link.linkType = 'primary';\n }\n };\n\n if (this.loginDialog?.loggedInLinks) {\n this.loginDialog?.loggedInLinks.forEach(adjustLink);\n }\n\n this.logoutLink = this.loginDialog?.loggedInLinks.filter(x => x.isLogoutLink)[0] ?? null;\n }\n updateUserInfo() {\n const userInfo: IUserInfo = headerState.loginManager.getUserInfo();\n this.user = userInfo;\n if (!userInfo) {\n return;\n }\n if (userInfo && userInfo.email) {\n this.userEmail = userInfo.email;\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name + (userInfo?.family_name ? ` ${userInfo?.family_name}` : '');\n }\n if (userInfo && userInfo.given_name) {\n this.userName = userInfo.given_name;\n return;\n }\n if (userInfo && userInfo.family_name) {\n this.userName = userInfo.family_name;\n return;\n }\n if (userInfo && userInfo.username) {\n this.userName = userInfo.username;\n return;\n }\n }\n\n filterLogoutLink(loggedInLinks: LoginDialogLink[]): LoginDialogLink[] {\n return loggedInLinks.filter((link: LoginDialogLink) => !link.isLogoutLink);\n }\n\n render() {\n if (!this.loginDialog) {\n return;\n }\n\n let hostElementAttribute = {};\n return (\n <Host {...hostElementAttribute}>\n {this.heading ? <strong class=\"pn-marketweb-siteheader-login-profileselection-heading\">{this.heading}</strong> : null}\n {this.currentProfile !== null && this.currentProfile.name ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-name\">{this.currentProfile.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-currentprofile-description\">\n {this.currentProfile.customerNumber ? this.currentProfile.customerNumber : this.userEmail}\n </div>\n </div>\n ) : null}\n\n <pn-marketweb-siteheader-login-linklist\n links={this.filterLogoutLink(this.loginDialog.loggedInLinks)}\n idNamespace={this.idNamespace}\n ></pn-marketweb-siteheader-login-linklist>\n\n <div class=\"pn-marketweb-siteheader-login-profileselection-divider\"></div>\n {this.profileoptions\n .filter(x => x.selected !== true)\n .map(organization => {\n let customerNumber = organization.profiles.length > 0 ? organization.profiles[0].customerNumber : organization.customerNumber;\n return (\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption\">\n {/* /api/user/setprofile? profile=xxxxx */}\n <a\n href={`${this.endpoint}/api/user/setprofile?customernumber=${customerNumber}&returnUrl=${encodeURIComponent(window.location.href)}`}\n class=\"pn-marketweb-siteheader-login-profileselection-profileoption-link\"\n >\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-content\">\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-name\">{organization.name}</div>\n <div class=\"pn-marketweb-siteheader-login-profileselection-profileoption-description\">\n {organization.customerNumber ? organization.customerNumber : this.userEmail}\n </div>\n </div>\n <pn-icon icon={arrow_right} small=\"false\" color=\"blue700\"></pn-icon>\n </a>\n </div>\n );\n })}\n\n {this.logoutLink ? (\n <div class=\"pn-marketweb-siteheader-login-profileselection-logout\">\n {/* https://se-inte.postnord.com/UnifiedLogin/ExternalLoginCallback?returnUrl=https://se-inte.postnord.com/handla-online&profile=770e785b-702b-dc22-b1e9-4839eded4f83 */}\n <a\n href={this.logoutLink.href}\n rel=\"nofollower noopener\"\n id=\"pn-marketweb-header-logoutlink\"\n onClick={() => headerState.loginManager.clearUserData()}\n class=\"pn-marketweb-siteheader-login-profileselection-logout-link\"\n >\n {this.logoutLink.linkText}\n </a>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -372,7 +372,7 @@ class MarketWebLoginManager {
372
372
  };
373
373
  }
374
374
 
375
- 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{padding:1rem 0;max-height:5.2rem;position:relative}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content{max-width:350px;display:flex;flex-direction:column;gap:2.4rem;padding:4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content pn-button{width:100%}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content pn-marketweb-siteheader-unified-login::after{display:block;content:\"\";height:2px;background:#f9f8f8;width:100%;margin-top:2.4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span::before{display:block;content:\"\";height:2px;background:#f9f8f8;width:100%;margin-bottom:2.4rem}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span{font-size:1.4rem;color:#2d2013}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a{text-decoration:none;color:#005d92}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span a:hover{text-decoration:underline}pn-marketweb-siteheader-login pn-button-dropdown .pn-button-dropdown-container .pn-button-dropdown-content span *{margin-bottom:0}pn-marketweb-siteheader-login pn-button-dropdown{display:none}pn-marketweb-siteheader-login.hydrated pn-button-dropdown{display:block}";
375
+ 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)}";
376
376
  const PnMarketwebSiteheaderLoginStyle0 = pnMarketwebSiteheaderLoginCss;
377
377
 
378
378
  const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMarketwebSiteheaderLogin extends HTMLElement {
@@ -403,6 +403,7 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
403
403
  this.showUnifiedLogin = false;
404
404
  this.checkUserLoggedInStateInterval = 0;
405
405
  this.environment = undefined;
406
+ this.appearance = 'light';
406
407
  this.loginLinks = undefined;
407
408
  this.toggleButtonText = this.loginDialog?.loginMenuLinkText ? this.loginDialog.loginMenuLinkText : '';
408
409
  this.username = this.fullname;
@@ -531,7 +532,7 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
531
532
  hostElementAttribute.username = this.username;
532
533
  hostElementAttribute.loggedin = this.loggedin + '';
533
534
  }
534
- return (h(Host, { ...hostElementAttribute }, h("pn-button-dropdown", { label: this.toggleButtonText, icon: user, appearance: "light", variant: "borderless", class: "siteheader-logindialog" }, this.showUnifiedLogin && !this.loggedin && (h("pn-marketweb-siteheader-unified-login", { loggedIn: this.loggedin, logInLabel: this.i18n.unifiedLoginButton, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })), this.loggedin && this.showProfileSelection ? (h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })) : (h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username, showUnifiedLogin: this.showUnifiedLogin })), !this.loggedin && this.loginDialog?.loginInfo && (h("span", { innerHTML: `${this.loginDialog.loginInfo}` })))));
535
+ return (h(Host, { ...hostElementAttribute }, h("pn-button-dropdown", { label: this.toggleButtonText, icon: user, appearance: this.appearance, variant: "borderless", class: "siteheader-logindialog" }, this.showUnifiedLogin && !this.loggedin && (h("pn-marketweb-siteheader-unified-login", { loggedIn: this.loggedin, logInLabel: this.i18n.unifiedLoginButton, useMarketwebLogin: this.useMarketwebLogin, environment: this.environment })), this.loggedin && this.showProfileSelection ? (h("pn-marketweb-siteheader-login-profileselection", { loginDialog: this.loginDialog, loggedin: this.loggedin, i18n: this.i18n, idNamespace: this.emitEvents ? '1' : '2', endpoint: this.endpoint })) : (h("pn-marketweb-siteheader-login-links", { loginDialog: this.loginDialog, loggedin: this.loggedin, idNamespace: this.emitEvents ? '1' : '2', username: this.username, showUnifiedLogin: this.showUnifiedLogin })), !this.loggedin && this.loginDialog?.loginInfo && (h("span", { innerHTML: `${this.loginDialog.loginInfo}` })))));
535
536
  }
536
537
  static get watchers() { return {
537
538
  "i18n": ["init"],
@@ -551,6 +552,7 @@ const PnMarketwebSiteheaderLogin = /*@__PURE__*/ proxyCustomElement(class PnMark
551
552
  "showUnifiedLogin": [4, "show-unified-login"],
552
553
  "checkUserLoggedInStateInterval": [2, "check-user-logged-in-state-interval"],
553
554
  "environment": [1],
555
+ "appearance": [1537],
554
556
  "useMarketwebLogin": [4, "use-marketweb-login"],
555
557
  "loginLinks": [32],
556
558
  "toggleButtonText": [32],