@postnord/pn-marketweb-components 4.3.4 → 4.3.5
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.
- package/cjs/pn-marketweb-header.cjs.entry.js +23 -3
- package/cjs/pn-marketweb-header.cjs.entry.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js +23 -3
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js.map +1 -1
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js +23 -0
- package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js.map +1 -1
- package/components/pn-marketweb-header.js +23 -3
- package/components/pn-marketweb-header.js.map +1 -1
- package/esm/pn-marketweb-header.entry.js +23 -3
- package/esm/pn-marketweb-header.entry.js.map +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/{p-5c6bdbdd.entry.js → p-fc06ab05.entry.js} +2 -2
- package/pn-market-web-components/p-fc06ab05.entry.js.map +1 -0
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.d.ts +1 -0
- package/types/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.d.ts +6 -0
- package/pn-market-web-components/p-5c6bdbdd.entry.js.map +0 -1
package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-marketweb-header.js","sourceRoot":"","sources":["../../../../src/components/layout-components/pn-marketweb-header/pn-marketweb-header.tsx"],"names":[],"mappings":"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","sourcesContent":["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 /** The index of the top menu toggle page item to force the theme and active toggle. It has the highest priority on selecting the theme and active toggler */\n @Prop() forceThemeAndToggle: HeaderMenuMode = -1;\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 get hasForcedThemeAndToggle(): boolean {\n return Number.isInteger(this.forceThemeAndToggle) && this.forceThemeAndToggle !== -1;\n }\n\n private validateMenuModeIndex(mode: HeaderMenuMode): HeaderMenuMode {\n const optionCount = this.vm?.menuModeOptions?.length ?? 0;\n\n if (!this.vm?.hasMenuSwitching || optionCount === 0) {\n return 0;\n }\n\n if (!Number.isInteger(mode) || mode < 0) {\n return 0;\n }\n\n return Math.min(mode, optionCount - 1);\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 (this.hasForcedThemeAndToggle) {\n this.activeMenuMode = this.validateMenuModeIndex(this.forceThemeAndToggle);\n this.hasResolvedInitialMenuMode = true;\n storeHeaderMenuMode(this.activeMenuMode);\n }\n else if (!result.vm?.hasMenuSwitching) {\n this.activeMenuMode = 0;\n this.hasResolvedInitialMenuMode = false;\n }\n else if (!this.hasResolvedInitialMenuMode) {\n this.activeMenuMode = this.validateMenuModeIndex(\n resolveInitialHeaderMenuMode(\n true,\n this.initialActiveMenuMode,\n )\n );\n this.hasResolvedInitialMenuMode = true;\n }\n else {\n this.activeMenuMode = this.validateMenuModeIndex(this.activeMenuMode);\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 if (this.hasForcedThemeAndToggle) {\n return;\n }\n\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=\"mobile-toprightend\" slot=\"mobile-toprightend\"></slot>\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}"]}
|
|
1
|
+
{"version":3,"file":"pn-marketweb-header.js","sourceRoot":"","sources":["../../../../src/components/layout-components/pn-marketweb-header/pn-marketweb-header.tsx"],"names":[],"mappings":"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","sourcesContent":["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 /** The index of the top menu toggle page item to force the theme and active toggle. It has the highest priority on selecting the theme and active toggler */\n @Prop() forceThemeAndToggle: HeaderMenuMode = -1;\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 get hasForcedThemeAndToggle(): boolean {\n return Number.isInteger(this.forceThemeAndToggle) && this.forceThemeAndToggle !== -1;\n }\n\n private get forcedMenuModeFromUrl(): HeaderMenuMode | null {\n if (typeof window === 'undefined') {\n return null;\n }\n\n const hash = window.location.hash ?? '';\n const match = hash.match(/^#ttm(?:=)?(\\d+)$/i);\n if (!match) {\n return null;\n }\n\n const parsedMode = Number.parseInt(match[1], 10);\n if (!Number.isInteger(parsedMode)) {\n return null;\n }\n\n return parsedMode;\n }\n\n private validateMenuModeIndex(mode: HeaderMenuMode): HeaderMenuMode {\n const optionCount = this.vm?.menuModeOptions?.length ?? 0;\n\n if (!this.vm?.hasMenuSwitching || optionCount === 0) {\n return 0;\n }\n\n if (!Number.isInteger(mode) || mode < 0) {\n return 0;\n }\n\n return Math.min(mode, optionCount - 1);\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 (this.forcedMenuModeFromUrl !== null) {\n this.activeMenuMode = this.validateMenuModeIndex(this.forcedMenuModeFromUrl);\n this.hasResolvedInitialMenuMode = true;\n storeHeaderMenuMode(this.activeMenuMode);\n }\n else if (this.hasForcedThemeAndToggle) {\n this.activeMenuMode = this.validateMenuModeIndex(this.forceThemeAndToggle);\n this.hasResolvedInitialMenuMode = true;\n storeHeaderMenuMode(this.activeMenuMode);\n }\n else if (!result.vm?.hasMenuSwitching) {\n this.activeMenuMode = 0;\n this.hasResolvedInitialMenuMode = false;\n }\n else if (!this.hasResolvedInitialMenuMode) {\n this.activeMenuMode = this.validateMenuModeIndex(\n resolveInitialHeaderMenuMode(\n true,\n this.initialActiveMenuMode,\n )\n );\n this.hasResolvedInitialMenuMode = true;\n }\n else {\n this.activeMenuMode = this.validateMenuModeIndex(this.activeMenuMode);\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 if (this.hasForcedThemeAndToggle) {\n return;\n }\n\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=\"mobile-toprightend\" slot=\"mobile-toprightend\"></slot>\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}"]}
|
package/collection/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.js
CHANGED
|
@@ -345,6 +345,10 @@ const meta = {
|
|
|
345
345
|
checkUserLoggedInStateInterval: { control: 'number' },
|
|
346
346
|
useMarketwebLogin: { control: 'boolean' },
|
|
347
347
|
navigateOnMenuToggle: { control: 'boolean' },
|
|
348
|
+
urlHash: {
|
|
349
|
+
control: 'text',
|
|
350
|
+
description: 'Optional URL hash applied in the Storybook preview iframe, e.g. #ttm1.',
|
|
351
|
+
},
|
|
348
352
|
useMockedResponse: { control: 'boolean' },
|
|
349
353
|
mockedResponse: {
|
|
350
354
|
control: 'object',
|
|
@@ -382,6 +386,11 @@ function createJsonResponse(body) {
|
|
|
382
386
|
function restoreOriginalFetch() {
|
|
383
387
|
window.fetch = ORIGINAL_FETCH;
|
|
384
388
|
}
|
|
389
|
+
function applyStoryUrlHash(urlHash) {
|
|
390
|
+
const hash = urlHash ?? '';
|
|
391
|
+
const nextUrl = `${window.location.pathname}${window.location.search}${hash}`;
|
|
392
|
+
window.history.replaceState(null, '', nextUrl);
|
|
393
|
+
}
|
|
385
394
|
/**
|
|
386
395
|
* Installs a fetch mock that intercepts header requests and returns the mocked
|
|
387
396
|
* backend envelope.
|
|
@@ -475,6 +484,7 @@ function createHeaderElement(args) {
|
|
|
475
484
|
*/
|
|
476
485
|
function renderHeaderStory(args) {
|
|
477
486
|
restoreOriginalFetch();
|
|
487
|
+
applyStoryUrlHash(args.urlHash);
|
|
478
488
|
if (args.useMockedResponse) {
|
|
479
489
|
installHeaderFetchMock(args.mockedResponse, args.endpoint);
|
|
480
490
|
}
|
|
@@ -529,6 +539,7 @@ const DEFAULT_ARGS = {
|
|
|
529
539
|
checkUserLoggedInStateInterval: 0,
|
|
530
540
|
useMarketwebLogin: false,
|
|
531
541
|
navigateOnMenuToggle: false,
|
|
542
|
+
urlHash: '',
|
|
532
543
|
useMockedResponse: true,
|
|
533
544
|
};
|
|
534
545
|
/**
|
|
@@ -608,6 +619,18 @@ export const ForceSecondModeAndTheme = {
|
|
|
608
619
|
mockedResponse: DEFAULT_MOCKED_RESPONSE,
|
|
609
620
|
},
|
|
610
621
|
};
|
|
622
|
+
/**
|
|
623
|
+
* URL hash should have highest precedence and override forceThemeAndToggle.
|
|
624
|
+
*/
|
|
625
|
+
export const HashForcesSecondModeOverForceThemeOne = {
|
|
626
|
+
render: args => renderHeaderStory(args),
|
|
627
|
+
args: {
|
|
628
|
+
...DEFAULT_ARGS,
|
|
629
|
+
forceThemeAndToggle: 0,
|
|
630
|
+
urlHash: '#ttm1',
|
|
631
|
+
mockedResponse: DEFAULT_MOCKED_RESPONSE,
|
|
632
|
+
},
|
|
633
|
+
};
|
|
611
634
|
/**
|
|
612
635
|
* Same baseline structure, but allow real navigation hrefs on mode change.
|
|
613
636
|
* Mostly useful for checking rendered links rather than interacting in Storybook.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-marketweb-header.stories.js","sourceRoot":"","sources":["../../../../src/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { shop } from 'pn-design-assets/pn-assets/icons';\n\nimport type {\n Meta,\n StoryObj,\n} from '@storybook/web-components';\n\nimport type {\n HeaderApiEnvelope,\n HeaderMenuMode,\n} from './types/pn-marketweb-header.types';\n\n/**\n * Story args for pn-marketweb-header.\n *\n * This story:\n * - renders the real pn-marketweb-header\n * - can optionally intercept its backend fetch call\n * - returns a mocked backend envelope when mocking is enabled\n * - lets the actual header component render and control its own menu switcher\n */\ninterface StoryArgs {\n market: string;\n language: string;\n initialActiveMenuMode: HeaderMenuMode;\n forceThemeAndToggle: HeaderMenuMode;\n menuThemes?: string;\n environment: 'production' | 'preproduction' | 'integration' | 'localhost';\n endpoint: string;\n pageId: string;\n siteid: string;\n userToken: string;\n userFullname: string;\n userLoggedin: boolean;\n hideSiteSelector: boolean;\n hideHomeMenuItem: boolean;\n hideLanguageSelector: boolean;\n hideSearch: boolean;\n hideLogin: boolean;\n showProfileSelection: boolean;\n showUnifiedLogin: boolean;\n siteDomainInUrls: boolean;\n autocompleteEndpoint: string;\n sessionForward: boolean;\n cache: boolean;\n searchPlaceholder: string;\n spaMode: boolean;\n checkUserLoggedInStateInterval: number;\n useMarketwebLogin: boolean;\n navigateOnMenuToggle: boolean;\n\n /**\n * Mocked backend response envelope.\n *\n * This should match the real backend response shape.\n */\n mockedResponse: HeaderApiEnvelope;\n\n /**\n * When true, Storybook intercepts the header fetch and returns mockedResponse.\n * When false, the real endpoint is used.\n */\n useMockedResponse: boolean;\n}\n\nconst ORIGINAL_FETCH = window.fetch.bind(window);\n\n/**\n * Create promoted menuitems for testing purposes\n */\nfunction createPromotedMenuItem(\n linkText: string,\n href: string,\n pageLink = href,\n openInNewWindow = false,\n) {\n return {\n linkText,\n pageLink,\n href,\n openInNewWindow,\n };\n}\n\n\n/**\n * Reusable menu item factory to keep stories compact.\n */\nfunction createMenuItem(\n name: string,\n href: string,\n id: string,\n children: any[] = [],\n level = 0,\n overrides: Record<string, any> = {},\n) {\n return {\n name,\n href,\n id,\n selected: false,\n open: false,\n children,\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: children.length > 0,\n linkTarget: '',\n trackingId: `${name.toLowerCase().replace(/\\s+/g, '-')}${id}`,\n level,\n isMegaMenuParent: level === 0,\n ...overrides,\n };\n}\n\nfunction createLeaf(\n name: string,\n href: string,\n id: string,\n level = 1,\n) {\n return createMenuItem(name, href, id, [], level, {\n isMegaMenuParent: false,\n });\n}\n\n/**\n * Creates a mocked backend envelope with the supplied top-level menu structure.\n *\n * Structure semantics used by the header:\n * - all items except the last = switchable root menus\n * - last item = shared/common root\n *\n * This mock is intentionally kept trimmed to match the current frontend\n * interfaces, while still preserving the real backend envelope shape.\n */\nfunction createMockedResponse(menuItems: any[]): HeaderApiEnvelope {\n return {\n value: {\n sitedefinition: {\n name: 'Postnord Sweden',\n url: 'https://localhost:51547/',\n },\n search: {\n formActionUrl: 'https://localhost:51547/sok/',\n AutocompleteEndpoint: 'https://localhost:51547/api/search/autocomplete',\n },\n languageSelectorViewModel: {\n currentLanguageNativeName: 'Svenska',\n languages: [\n {\n twoLetterISOLanguageName: 'en',\n nativeName: 'English',\n isCurrent: false,\n },\n {\n twoLetterISOLanguageName: 'sv',\n nativeName: 'Svenska',\n isCurrent: true,\n },\n {\n twoLetterISOLanguageName: 'da',\n nativeName: 'Dansk',\n isCurrent: false,\n },\n ],\n },\n siteSelectorViewModel: {\n siteSelectorButtonText: 'postnord.se',\n siteSelectorTitle: 'PostNord',\n currentSiteTitle: 'postnord.se',\n currentSiteDescription: 'Tjänster och verktyg för att skicka och ta emot din post',\n siteSelections: [\n {\n linkText: 'Portal',\n linkDescription: 'Hantera dina försändelser',\n href: 'https://portal.postnord.com/',\n pageLink: '/portal/',\n openInNewWindow: false,\n },\n {\n linkText: 'postnord.com',\n linkDescription: 'Information om PostNord Koncernen',\n href: 'https://com-inte.postnord.com/sv/',\n pageLink: 'https://com-inte.postnord.com/sv/',\n openInNewWindow: true,\n },\n ],\n },\n loginViewModel: {\n loginMenuLinks: [\n {\n linkText: 'Logga in',\n href: 'https://portal.postnord.com/login?language=sv',\n pageLink: '/login/',\n openInNewWindow: false,\n primaryLinkApperance: true,\n isLogoutLink: false,\n linkType: 'unified',\n },\n ],\n legacyLoginLinks: [\n {\n linkText: 'Logga in',\n href: 'https://portal.postnord.com/login?language=sv',\n pageLink: '/login/',\n openInNewWindow: false,\n primaryLinkApperance: true,\n isLogoutLink: false,\n },\n ],\n loggedInLinks: [\n {\n linkText: 'Logga ut',\n href: 'http://window.location.href/?logout',\n pageLink: '/logout',\n openInNewWindow: false,\n primaryLinkApperance: false,\n isLogoutLink: true,\n },\n ],\n overrideLoginMenu: false,\n loginMenuLinkText: 'Logga in',\n countryCode: 'SE',\n locale: 'sv',\n loginUrl: 'https://portal.postnord.com/login?language=sv',\n registerUrl: 'https://portal.postnord.com/createaccount?market=SE',\n loggedInButtonText: 'My PostNord',\n loginTitle: 'Logga in direkt på:',\n loginLinkText: 'Logga in',\n createLoginLinkText: 'Skapa nytt konto',\n loginInfo:\n '<p>Testing the login <a href=\"/link/0e1d8517b7344986b68152a9a0544460.aspx\">recommendation</a></p>',\n },\n mainMenu: {\n menuItems,\n },\n },\n formatters: [],\n contentTypes: [],\n declaredType: null,\n statusCode: 200,\n };\n}\n\n/**\n * Default structure:\n * - 2 switchable roots\n * - 1 shared/common root\n */\nconst DEFAULT_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createLeaf('Skicka', '/private/skicka/', 'private-send', 1),\n createLeaf('Ta emot', '/private/ta-emot/', 'private-receive', 1),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Business', '/business/', 'root-business', [\n createLeaf('Boka frakt', '/business/boka-frakt/', 'business-book', 1),\n createLeaf('Spåra', '/business/spåra/', 'business-track', 1),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Handla online', '/handla-online/', 'shared-shop', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n/**\n * 3 switchable roots + shared.\n */\nconst THREE_MODES_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createLeaf('Skicka', '/private/skicka/', 'private-send', 1),\n createLeaf('Ta emot', '/private/ta-emot/', 'private-receive', 1),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Business', '/business/', 'root-business', [\n createLeaf('Boka frakt', '/business/boka-frakt/', 'business-book', 1),\n createLeaf('Portal', '/business/portal/', 'business-portal', 1),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Partners', '/partners/', 'root-partners', [\n createLeaf('Integrationer', '/partners/integrationer/', 'partners-integrations', 1),\n createLeaf('API-dokumentation', '/partners/api/', 'partners-api', 1),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Om oss', '/om-oss/', 'shared-about', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n/**\n * One switchable root + shared.\n * Should not render a switcher because there is only one mode root.\n */\nconst ONE_MODE_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createLeaf('Skicka', '/private/skicka/', 'private-send', 1),\n createLeaf('Ta emot', '/private/ta-emot/', 'private-receive', 1),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Handla online', '/handla-online/', 'shared-shop', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n/**\n * Shared-only structure.\n * No switching should be available.\n */\nconst SHARED_ONLY_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Handla online', '/handla-online/', 'shared-shop', 1),\n createLeaf('Om oss', '/om-oss/', 'shared-about', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n\n/**\n * Switchable roots + shared, where visible menu items also contain sub-menu items.\n */\nconst NESTED_SUBMENU_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createMenuItem('Skicka', '/private/skicka/', 'private-send', [\n createLeaf('Inrikes', '/private/skicka/inrikes/', 'private-send-domestic', 2),\n createLeaf('Utrikes', '/private/skicka/utrikes/', 'private-send-international', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n promotedMenuItemsHeader: 'Populärt',\n promotedMenuItems: [\n createPromotedMenuItem(\n 'Skicka paket och brev',\n 'https://se-inte.postnord.com/kop-frakt/',\n '/link/ed3ac8e1d91241e98ca0c9cce544018e.aspx',\n ),\n createPromotedMenuItem(\n 'Sök brevlåda eller serviceställe',\n 'https://se-inte.postnord.com/vara-verktyg/sok-brevlada-eller-servicestalle/',\n '/link/1ecca245984d4ea99a4bd28390577d52.aspx',\n ),\n ],\n }),\n createMenuItem('Ta emot', '/private/ta-emot/', 'private-receive', [\n createLeaf('Paket', '/private/ta-emot/paket/', 'private-receive-packages', 2),\n createLeaf('Brev', '/private/ta-emot/brev/', 'private-receive-letters', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Business', '/business/', 'root-business', [\n createMenuItem('Boka frakt', '/business/boka-frakt/', 'business-book', [\n createLeaf('Inrikes företag', '/business/boka-frakt/inrikes/', 'business-book-domestic', 2),\n createLeaf('Utrikes företag', '/business/boka-frakt/utrikes/', 'business-book-international', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n createMenuItem('Spåra', '/business/spåra/', 'business-track', [\n createLeaf('Spåra paket', '/business/spåra/paket/', 'business-track-packages', 2),\n createLeaf('Spåra pall', '/business/spåra/pall/', 'business-track-pallets', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n promotedMenuItemsHeader: 'Populärt',\n promotedMenuItems: [\n createPromotedMenuItem(\n 'Skicka paket och brev',\n 'https://se-inte.postnord.com/kop-frakt/',\n '/link/ed3ac8e1d91241e98ca0c9cce544018e.aspx',\n ),\n createPromotedMenuItem(\n 'Sök brevlåda eller serviceställe',\n 'https://se-inte.postnord.com/vara-verktyg/sok-brevlada-eller-servicestalle/',\n '/link/1ecca245984d4ea99a4bd28390577d52.aspx',\n ),\n ],\n }),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createMenuItem('Kundservice', '/kundservice/', 'shared-support', [\n createLeaf('Vanliga frågor', '/kundservice/fragor/', 'shared-support-faq', 2),\n createLeaf('Kontakta oss', '/kundservice/kontakta-oss/', 'shared-support-contact', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n createMenuItem('Handla online', '/handla-online/', 'shared-shop', [\n createLeaf('Frimärken', '/handla-online/frimarken/', 'shared-shop-stamps', 2),\n createLeaf('Emballage', '/handla-online/emballage/', 'shared-shop-packaging', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\nconst meta: Meta<StoryArgs> = {\n title: 'Marketweb/Header/pn-marketweb-header',\n parameters: {\n layout: 'fullscreen',\n },\n argTypes: {\n market: { control: 'text' },\n language: { control: 'text' },\n initialActiveMenuMode: { control: 'number' },\n forceThemeAndToggle: { control: 'number' },\n environment: {\n control: 'select',\n options: ['production', 'preproduction', 'integration', 'localhost'],\n },\n endpoint: { control: 'text' },\n pageId: { control: 'text' },\n siteid: { control: 'text' },\n userToken: { control: 'text' },\n userFullname: { control: 'text' },\n userLoggedin: { control: 'boolean' },\n hideSiteSelector: { control: 'boolean' },\n hideHomeMenuItem: { control: 'boolean' },\n hideLanguageSelector: { control: 'boolean' },\n hideSearch: { control: 'boolean' },\n hideLogin: { control: 'boolean' },\n showProfileSelection: { control: 'boolean' },\n showUnifiedLogin: { control: 'boolean' },\n siteDomainInUrls: { control: 'boolean' },\n autocompleteEndpoint: { control: 'text' },\n sessionForward: { control: 'boolean' },\n cache: { control: 'boolean' },\n searchPlaceholder: { control: 'text' },\n spaMode: { control: 'boolean' },\n checkUserLoggedInStateInterval: { control: 'number' },\n useMarketwebLogin: { control: 'boolean' },\n navigateOnMenuToggle: { control: 'boolean' },\n useMockedResponse: { control: 'boolean' },\n mockedResponse: {\n control: 'object',\n description: 'Mocked backend response envelope.',\n },\n },\n};\n\nexport default meta;\ntype Story = StoryObj<StoryArgs>;\n\n/**\n * Creates a deep clone of JSON-like mocked data.\n * This avoids accidental mutation across renders.\n */\nfunction cloneJson<T>(value: T): T {\n return JSON.parse(JSON.stringify(value));\n}\n\n/**\n * Creates a deep clone of the mocked backend response envelope.\n *\n * The mocked response should match the real backend response shape.\n */\nfunction extractPayload(mockedResponse: HeaderApiEnvelope): HeaderApiEnvelope {\n return cloneJson(mockedResponse);\n}\n\n/**\n * Creates a fetch Response containing mocked JSON.\n */\nfunction createJsonResponse(body: unknown): Response {\n return new Response(JSON.stringify(body), {\n status: 200,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n}\n\nfunction restoreOriginalFetch(): void {\n window.fetch = ORIGINAL_FETCH;\n}\n\n/**\n * Installs a fetch mock that intercepts header requests and returns the mocked\n * backend envelope.\n *\n * The component still performs a normal fetch from its point of view.\n */\nfunction installHeaderFetchMock(mockedResponse: HeaderApiEnvelope, endpoint: string): void {\n window.fetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n const requestUrl =\n typeof input === 'string'\n ? input\n : input instanceof URL\n ? input.toString()\n : input.url;\n\n const normalizedEndpoint = endpoint.replace(/\\/$/, '');\n const isHeaderRequest =\n requestUrl.includes(`${normalizedEndpoint}/api/navigation/toggle-header`) ||\n requestUrl.includes('/api/navigation/toggle-header');\n\n if (isHeaderRequest) {\n const payload = extractPayload(mockedResponse);\n return createJsonResponse(payload);\n }\n\n return ORIGINAL_FETCH(input as any, init);\n };\n}\n\nfunction createTopRightEndButton(): HTMLAnchorElement {\n const button = document.createElement('a');\n button.setAttribute('slot', 'toprightend');\n button.setAttribute('style', 'align-self:center;justfit-content:center;position:relative;text-decoration:none;color:#005d92;');\n button.innerHTML = `<span>Varukorg</span><pn-icon icon='${shop}' color=\"blue700\" class=\"pn-icon\"></pn-icon>`;\n button.style.cursor = 'pointer';\n button.style.fontSize = '16px';\n return button;\n}\n\nfunction createMenuFooterCta(): HTMLAnchorElement {\n const link = document.createElement('a');\n link.setAttribute('slot', 'menu-footer-cta');\n link.setAttribute('href', '#');\n link.textContent = 'Footer CTA';\n link.style.display = 'inline-block';\n link.style.padding = '8px 12px';\n link.style.borderRadius = '6px';\n link.style.border = '1px solid #ccc';\n link.style.textDecoration = 'none';\n link.style.color = 'inherit';\n return link;\n}\n\n/**\n * Creates the actual header element and assigns props directly.\n *\n * This is important for boolean props like navigateOnMenuToggle.\n */\nfunction createHeaderElement(args: StoryArgs): HTMLElement {\n const header = document.createElement('pn-marketweb-header') as any;\n\n header.market = args.market;\n header.initialActiveMenuMode = args.initialActiveMenuMode;\n header.forceThemeAndToggle = args.forceThemeAndToggle;\n header.menuThemes = args.menuThemes;\n header.language = args.language;\n header.environment = args.environment;\n header.endpoint = args.endpoint;\n header.pageId = args.pageId;\n header.siteid = args.siteid;\n header.userToken = args.userToken;\n header.userFullname = args.userFullname;\n header.userLoggedin = args.userLoggedin;\n header.hideSiteSelector = args.hideSiteSelector;\n header.hideHomeMenuItem = args.hideHomeMenuItem;\n header.hideLanguageSelector = args.hideLanguageSelector;\n header.hideSearch = args.hideSearch;\n header.hideLogin = args.hideLogin;\n header.showProfileSelection = args.showProfileSelection;\n header.showUnifiedLogin = args.showUnifiedLogin;\n header.siteDomainInUrls = args.siteDomainInUrls;\n header.autocompleteEndpoint = args.autocompleteEndpoint;\n header.sessionForward = args.sessionForward;\n header.cache = args.cache;\n header.searchPlaceholder = args.searchPlaceholder;\n header.spaMode = args.spaMode;\n header.checkUserLoggedInStateInterval = args.checkUserLoggedInStateInterval;\n header.useMarketwebLogin = args.useMarketwebLogin;\n header.navigateOnMenuToggle = args.navigateOnMenuToggle;\n\n header.appendChild(createTopRightEndButton());\n header.appendChild(createMenuFooterCta());\n\n return header;\n}\n\n/**\n * Renders the Storybook shell and the header.\n *\n * This story intentionally does not include a fake menu switcher.\n * The real pn-marketweb-header should render its own switcher when the menu\n * structure supports multiple switchable root menus.\n */\nfunction renderHeaderStory(args: StoryArgs): HTMLElement {\n restoreOriginalFetch();\n\n if (args.useMockedResponse) {\n installHeaderFetchMock(args.mockedResponse, args.endpoint);\n }\n\n const root = document.createElement('div');\n root.style.minHeight = '100vh';\n root.style.background = '#f5f5f5';\n\n const header = createHeaderElement(args);\n root.appendChild(header);\n\n const main = document.createElement('main');\n main.style.padding = '32px';\n\n const title = document.createElement('h1');\n title.textContent = 'Storybook preview';\n title.style.marginTop = '0';\n\n const paragraph1 = document.createElement('p');\n paragraph1.textContent = args.useMockedResponse\n ? 'This story uses a mocked backend response.'\n : 'This story uses the real backend response from the configured endpoint.';\n\n const paragraph2 = document.createElement('p');\n paragraph2.innerHTML =\n 'In Storybook, <code>navigateOnMenuToggle</code> is disabled by default so you can inspect menu switching without leaving the preview.';\n\n main.appendChild(title);\n main.appendChild(paragraph1);\n main.appendChild(paragraph2);\n\n root.appendChild(main);\n\n return root;\n}\n\nconst DEFAULT_ARGS: Omit<StoryArgs, 'mockedResponse'> = {\n market: 'se',\n language: 'sv',\n environment: 'localhost',\n initialActiveMenuMode: 0,\n forceThemeAndToggle: -1,\n endpoint: 'https://storybook.local',\n pageId: '9',\n siteid: '',\n userToken: '',\n userFullname: '',\n userLoggedin: false,\n hideSiteSelector: false,\n hideHomeMenuItem: false,\n hideLanguageSelector: false,\n hideSearch: false,\n hideLogin: false,\n showProfileSelection: true,\n showUnifiedLogin: true,\n siteDomainInUrls: false,\n autocompleteEndpoint: '',\n sessionForward: false,\n cache: false,\n searchPlaceholder: 'Sök',\n spaMode: false,\n checkUserLoggedInStateInterval: 0,\n useMarketwebLogin: false,\n navigateOnMenuToggle: false,\n useMockedResponse: true,\n};\n\n/**\n * Baseline story:\n * - 2 switchable roots\n * - 1 shared root\n */\nexport const TwoModesWithShared: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Verifies that more than 2 switchable roots are supported.\n */\nexport const ThreeModesWithShared: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: THREE_MODES_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Only one mode root + shared.\n * The header should not render the menu switcher.\n */\nexport const OneModeWithShared: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: ONE_MODE_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Shared-only structure.\n * Useful for verifying fallback rendering when no switchable roots exist.\n */\nexport const SharedOnly: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: SHARED_ONLY_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but start on the second mode.\n */\nexport const StartOnSecondMode: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n initialActiveMenuMode: 1,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but force the first mode and its theme.\n */\nexport const ForceFirstModeAndTheme: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n forceThemeAndToggle: 0,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but force the second mode and its theme.\n */\nexport const ForceSecondModeAndTheme: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n forceThemeAndToggle: 1,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but allow real navigation hrefs on mode change.\n * Mostly useful for checking rendered links rather than interacting in Storybook.\n */\nexport const NavigationEnabled: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n navigateOnMenuToggle: true,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Smaller layout story while still using mocked data.\n */\nexport const Minimal: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n hideSiteSelector: true,\n hideLanguageSelector: true,\n hideLogin: true,\n showProfileSelection: false,\n showUnifiedLogin: false,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Menu items contain nested sub-menu items.\n */\nexport const NestedSubmenuItems: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: NESTED_SUBMENU_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Uses the real local CMS instead of Storybook fetch mocking.\n */\nexport const LocalCms: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n useMockedResponse: false,\n endpoint: 'https://localhost:51547',\n environment: 'localhost',\n pageId: '9',\n siteid: '',\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n\n/**\n * Uses the real integration CMS instead of Storybook fetch mocking. //FIXME: getting cors-safe data at the moment\n */\nexport const IntegrationCms: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n useMockedResponse: false,\n endpoint: 'https://se-inte.postnord.com',\n environment: 'integration',\n market: 'se',\n language: 'sv',\n pageId: '9',\n // userToken: '6ae6bde345eb68fc0102f4ba256f31e9151db31dc2ea4c23a51917c'\n\n },\n};"]}
|
|
1
|
+
{"version":3,"file":"pn-marketweb-header.stories.js","sourceRoot":"","sources":["../../../../src/components/layout-components/pn-marketweb-header/pn-marketweb-header.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { shop } from 'pn-design-assets/pn-assets/icons';\n\nimport type {\n Meta,\n StoryObj,\n} from '@storybook/web-components';\n\nimport type {\n HeaderApiEnvelope,\n HeaderMenuMode,\n} from './types/pn-marketweb-header.types';\n\n/**\n * Story args for pn-marketweb-header.\n *\n * This story:\n * - renders the real pn-marketweb-header\n * - can optionally intercept its backend fetch call\n * - returns a mocked backend envelope when mocking is enabled\n * - lets the actual header component render and control its own menu switcher\n */\ninterface StoryArgs {\n market: string;\n language: string;\n initialActiveMenuMode: HeaderMenuMode;\n forceThemeAndToggle: HeaderMenuMode;\n menuThemes?: string;\n environment: 'production' | 'preproduction' | 'integration' | 'localhost';\n endpoint: string;\n pageId: string;\n siteid: string;\n userToken: string;\n userFullname: string;\n userLoggedin: boolean;\n hideSiteSelector: boolean;\n hideHomeMenuItem: boolean;\n hideLanguageSelector: boolean;\n hideSearch: boolean;\n hideLogin: boolean;\n showProfileSelection: boolean;\n showUnifiedLogin: boolean;\n siteDomainInUrls: boolean;\n autocompleteEndpoint: string;\n sessionForward: boolean;\n cache: boolean;\n searchPlaceholder: string;\n spaMode: boolean;\n checkUserLoggedInStateInterval: number;\n useMarketwebLogin: boolean;\n navigateOnMenuToggle: boolean;\n\n /** Optional URL hash applied in the Storybook preview iframe, e.g. #ttm1. */\n urlHash?: string;\n\n /**\n * Mocked backend response envelope.\n *\n * This should match the real backend response shape.\n */\n mockedResponse: HeaderApiEnvelope;\n\n /**\n * When true, Storybook intercepts the header fetch and returns mockedResponse.\n * When false, the real endpoint is used.\n */\n useMockedResponse: boolean;\n}\n\nconst ORIGINAL_FETCH = window.fetch.bind(window);\n\n/**\n * Create promoted menuitems for testing purposes\n */\nfunction createPromotedMenuItem(\n linkText: string,\n href: string,\n pageLink = href,\n openInNewWindow = false,\n) {\n return {\n linkText,\n pageLink,\n href,\n openInNewWindow,\n };\n}\n\n\n/**\n * Reusable menu item factory to keep stories compact.\n */\nfunction createMenuItem(\n name: string,\n href: string,\n id: string,\n children: any[] = [],\n level = 0,\n overrides: Record<string, any> = {},\n) {\n return {\n name,\n href,\n id,\n selected: false,\n open: false,\n children,\n navigationHeading: '',\n promotedMenuItemsHeader: '',\n promotedMenuItems: [],\n hasChildren: children.length > 0,\n linkTarget: '',\n trackingId: `${name.toLowerCase().replace(/\\s+/g, '-')}${id}`,\n level,\n isMegaMenuParent: level === 0,\n ...overrides,\n };\n}\n\nfunction createLeaf(\n name: string,\n href: string,\n id: string,\n level = 1,\n) {\n return createMenuItem(name, href, id, [], level, {\n isMegaMenuParent: false,\n });\n}\n\n/**\n * Creates a mocked backend envelope with the supplied top-level menu structure.\n *\n * Structure semantics used by the header:\n * - all items except the last = switchable root menus\n * - last item = shared/common root\n *\n * This mock is intentionally kept trimmed to match the current frontend\n * interfaces, while still preserving the real backend envelope shape.\n */\nfunction createMockedResponse(menuItems: any[]): HeaderApiEnvelope {\n return {\n value: {\n sitedefinition: {\n name: 'Postnord Sweden',\n url: 'https://localhost:51547/',\n },\n search: {\n formActionUrl: 'https://localhost:51547/sok/',\n AutocompleteEndpoint: 'https://localhost:51547/api/search/autocomplete',\n },\n languageSelectorViewModel: {\n currentLanguageNativeName: 'Svenska',\n languages: [\n {\n twoLetterISOLanguageName: 'en',\n nativeName: 'English',\n isCurrent: false,\n },\n {\n twoLetterISOLanguageName: 'sv',\n nativeName: 'Svenska',\n isCurrent: true,\n },\n {\n twoLetterISOLanguageName: 'da',\n nativeName: 'Dansk',\n isCurrent: false,\n },\n ],\n },\n siteSelectorViewModel: {\n siteSelectorButtonText: 'postnord.se',\n siteSelectorTitle: 'PostNord',\n currentSiteTitle: 'postnord.se',\n currentSiteDescription: 'Tjänster och verktyg för att skicka och ta emot din post',\n siteSelections: [\n {\n linkText: 'Portal',\n linkDescription: 'Hantera dina försändelser',\n href: 'https://portal.postnord.com/',\n pageLink: '/portal/',\n openInNewWindow: false,\n },\n {\n linkText: 'postnord.com',\n linkDescription: 'Information om PostNord Koncernen',\n href: 'https://com-inte.postnord.com/sv/',\n pageLink: 'https://com-inte.postnord.com/sv/',\n openInNewWindow: true,\n },\n ],\n },\n loginViewModel: {\n loginMenuLinks: [\n {\n linkText: 'Logga in',\n href: 'https://portal.postnord.com/login?language=sv',\n pageLink: '/login/',\n openInNewWindow: false,\n primaryLinkApperance: true,\n isLogoutLink: false,\n linkType: 'unified',\n },\n ],\n legacyLoginLinks: [\n {\n linkText: 'Logga in',\n href: 'https://portal.postnord.com/login?language=sv',\n pageLink: '/login/',\n openInNewWindow: false,\n primaryLinkApperance: true,\n isLogoutLink: false,\n },\n ],\n loggedInLinks: [\n {\n linkText: 'Logga ut',\n href: 'http://window.location.href/?logout',\n pageLink: '/logout',\n openInNewWindow: false,\n primaryLinkApperance: false,\n isLogoutLink: true,\n },\n ],\n overrideLoginMenu: false,\n loginMenuLinkText: 'Logga in',\n countryCode: 'SE',\n locale: 'sv',\n loginUrl: 'https://portal.postnord.com/login?language=sv',\n registerUrl: 'https://portal.postnord.com/createaccount?market=SE',\n loggedInButtonText: 'My PostNord',\n loginTitle: 'Logga in direkt på:',\n loginLinkText: 'Logga in',\n createLoginLinkText: 'Skapa nytt konto',\n loginInfo:\n '<p>Testing the login <a href=\"/link/0e1d8517b7344986b68152a9a0544460.aspx\">recommendation</a></p>',\n },\n mainMenu: {\n menuItems,\n },\n },\n formatters: [],\n contentTypes: [],\n declaredType: null,\n statusCode: 200,\n };\n}\n\n/**\n * Default structure:\n * - 2 switchable roots\n * - 1 shared/common root\n */\nconst DEFAULT_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createLeaf('Skicka', '/private/skicka/', 'private-send', 1),\n createLeaf('Ta emot', '/private/ta-emot/', 'private-receive', 1),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Business', '/business/', 'root-business', [\n createLeaf('Boka frakt', '/business/boka-frakt/', 'business-book', 1),\n createLeaf('Spåra', '/business/spåra/', 'business-track', 1),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Handla online', '/handla-online/', 'shared-shop', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n/**\n * 3 switchable roots + shared.\n */\nconst THREE_MODES_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createLeaf('Skicka', '/private/skicka/', 'private-send', 1),\n createLeaf('Ta emot', '/private/ta-emot/', 'private-receive', 1),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Business', '/business/', 'root-business', [\n createLeaf('Boka frakt', '/business/boka-frakt/', 'business-book', 1),\n createLeaf('Portal', '/business/portal/', 'business-portal', 1),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Partners', '/partners/', 'root-partners', [\n createLeaf('Integrationer', '/partners/integrationer/', 'partners-integrations', 1),\n createLeaf('API-dokumentation', '/partners/api/', 'partners-api', 1),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Om oss', '/om-oss/', 'shared-about', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n/**\n * One switchable root + shared.\n * Should not render a switcher because there is only one mode root.\n */\nconst ONE_MODE_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createLeaf('Skicka', '/private/skicka/', 'private-send', 1),\n createLeaf('Ta emot', '/private/ta-emot/', 'private-receive', 1),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Handla online', '/handla-online/', 'shared-shop', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n/**\n * Shared-only structure.\n * No switching should be available.\n */\nconst SHARED_ONLY_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Shared', '/', 'root-shared', [\n createLeaf('Kundservice', '/kundservice/', 'shared-support', 1),\n createLeaf('Handla online', '/handla-online/', 'shared-shop', 1),\n createLeaf('Om oss', '/om-oss/', 'shared-about', 1),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\n\n/**\n * Switchable roots + shared, where visible menu items also contain sub-menu items.\n */\nconst NESTED_SUBMENU_MOCKED_RESPONSE = createMockedResponse([\n createMenuItem('Private', '/private/', 'root-private', [\n createMenuItem('Skicka', '/private/skicka/', 'private-send', [\n createLeaf('Inrikes', '/private/skicka/inrikes/', 'private-send-domestic', 2),\n createLeaf('Utrikes', '/private/skicka/utrikes/', 'private-send-international', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n promotedMenuItemsHeader: 'Populärt',\n promotedMenuItems: [\n createPromotedMenuItem(\n 'Skicka paket och brev',\n 'https://se-inte.postnord.com/kop-frakt/',\n '/link/ed3ac8e1d91241e98ca0c9cce544018e.aspx',\n ),\n createPromotedMenuItem(\n 'Sök brevlåda eller serviceställe',\n 'https://se-inte.postnord.com/vara-verktyg/sok-brevlada-eller-servicestalle/',\n '/link/1ecca245984d4ea99a4bd28390577d52.aspx',\n ),\n ],\n }),\n createMenuItem('Ta emot', '/private/ta-emot/', 'private-receive', [\n createLeaf('Paket', '/private/ta-emot/paket/', 'private-receive-packages', 2),\n createLeaf('Brev', '/private/ta-emot/brev/', 'private-receive-letters', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n ], 0, {\n toggleTheme: 'private',\n }),\n createMenuItem('Business', '/business/', 'root-business', [\n createMenuItem('Boka frakt', '/business/boka-frakt/', 'business-book', [\n createLeaf('Inrikes företag', '/business/boka-frakt/inrikes/', 'business-book-domestic', 2),\n createLeaf('Utrikes företag', '/business/boka-frakt/utrikes/', 'business-book-international', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n createMenuItem('Spåra', '/business/spåra/', 'business-track', [\n createLeaf('Spåra paket', '/business/spåra/paket/', 'business-track-packages', 2),\n createLeaf('Spåra pall', '/business/spåra/pall/', 'business-track-pallets', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n promotedMenuItemsHeader: 'Populärt',\n promotedMenuItems: [\n createPromotedMenuItem(\n 'Skicka paket och brev',\n 'https://se-inte.postnord.com/kop-frakt/',\n '/link/ed3ac8e1d91241e98ca0c9cce544018e.aspx',\n ),\n createPromotedMenuItem(\n 'Sök brevlåda eller serviceställe',\n 'https://se-inte.postnord.com/vara-verktyg/sok-brevlada-eller-servicestalle/',\n '/link/1ecca245984d4ea99a4bd28390577d52.aspx',\n ),\n ],\n }),\n ], 0, {\n toggleTheme: 'business',\n }),\n createMenuItem('Shared', '/', 'root-shared', [\n createMenuItem('Kundservice', '/kundservice/', 'shared-support', [\n createLeaf('Vanliga frågor', '/kundservice/fragor/', 'shared-support-faq', 2),\n createLeaf('Kontakta oss', '/kundservice/kontakta-oss/', 'shared-support-contact', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n createMenuItem('Handla online', '/handla-online/', 'shared-shop', [\n createLeaf('Frimärken', '/handla-online/frimarken/', 'shared-shop-stamps', 2),\n createLeaf('Emballage', '/handla-online/emballage/', 'shared-shop-packaging', 2),\n ], 1, {\n isMegaMenuParent: false,\n hasChildren: true,\n }),\n ], 0, {\n isMegaMenuParent: false,\n }),\n]);\n\nconst meta: Meta<StoryArgs> = {\n title: 'Marketweb/Header/pn-marketweb-header',\n parameters: {\n layout: 'fullscreen',\n },\n argTypes: {\n market: { control: 'text' },\n language: { control: 'text' },\n initialActiveMenuMode: { control: 'number' },\n forceThemeAndToggle: { control: 'number' },\n environment: {\n control: 'select',\n options: ['production', 'preproduction', 'integration', 'localhost'],\n },\n endpoint: { control: 'text' },\n pageId: { control: 'text' },\n siteid: { control: 'text' },\n userToken: { control: 'text' },\n userFullname: { control: 'text' },\n userLoggedin: { control: 'boolean' },\n hideSiteSelector: { control: 'boolean' },\n hideHomeMenuItem: { control: 'boolean' },\n hideLanguageSelector: { control: 'boolean' },\n hideSearch: { control: 'boolean' },\n hideLogin: { control: 'boolean' },\n showProfileSelection: { control: 'boolean' },\n showUnifiedLogin: { control: 'boolean' },\n siteDomainInUrls: { control: 'boolean' },\n autocompleteEndpoint: { control: 'text' },\n sessionForward: { control: 'boolean' },\n cache: { control: 'boolean' },\n searchPlaceholder: { control: 'text' },\n spaMode: { control: 'boolean' },\n checkUserLoggedInStateInterval: { control: 'number' },\n useMarketwebLogin: { control: 'boolean' },\n navigateOnMenuToggle: { control: 'boolean' },\n urlHash: {\n control: 'text',\n description: 'Optional URL hash applied in the Storybook preview iframe, e.g. #ttm1.',\n },\n useMockedResponse: { control: 'boolean' },\n mockedResponse: {\n control: 'object',\n description: 'Mocked backend response envelope.',\n },\n },\n};\n\nexport default meta;\ntype Story = StoryObj<StoryArgs>;\n\n/**\n * Creates a deep clone of JSON-like mocked data.\n * This avoids accidental mutation across renders.\n */\nfunction cloneJson<T>(value: T): T {\n return JSON.parse(JSON.stringify(value));\n}\n\n/**\n * Creates a deep clone of the mocked backend response envelope.\n *\n * The mocked response should match the real backend response shape.\n */\nfunction extractPayload(mockedResponse: HeaderApiEnvelope): HeaderApiEnvelope {\n return cloneJson(mockedResponse);\n}\n\n/**\n * Creates a fetch Response containing mocked JSON.\n */\nfunction createJsonResponse(body: unknown): Response {\n return new Response(JSON.stringify(body), {\n status: 200,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n}\n\nfunction restoreOriginalFetch(): void {\n window.fetch = ORIGINAL_FETCH;\n}\n\nfunction applyStoryUrlHash(urlHash?: string): void {\n const hash = urlHash ?? '';\n const nextUrl = `${window.location.pathname}${window.location.search}${hash}`;\n window.history.replaceState(null, '', nextUrl);\n}\n\n/**\n * Installs a fetch mock that intercepts header requests and returns the mocked\n * backend envelope.\n *\n * The component still performs a normal fetch from its point of view.\n */\nfunction installHeaderFetchMock(mockedResponse: HeaderApiEnvelope, endpoint: string): void {\n window.fetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n const requestUrl =\n typeof input === 'string'\n ? input\n : input instanceof URL\n ? input.toString()\n : input.url;\n\n const normalizedEndpoint = endpoint.replace(/\\/$/, '');\n const isHeaderRequest =\n requestUrl.includes(`${normalizedEndpoint}/api/navigation/toggle-header`) ||\n requestUrl.includes('/api/navigation/toggle-header');\n\n if (isHeaderRequest) {\n const payload = extractPayload(mockedResponse);\n return createJsonResponse(payload);\n }\n\n return ORIGINAL_FETCH(input as any, init);\n };\n}\n\nfunction createTopRightEndButton(): HTMLAnchorElement {\n const button = document.createElement('a');\n button.setAttribute('slot', 'toprightend');\n button.setAttribute('style', 'align-self:center;justfit-content:center;position:relative;text-decoration:none;color:#005d92;');\n button.innerHTML = `<span>Varukorg</span><pn-icon icon='${shop}' color=\"blue700\" class=\"pn-icon\"></pn-icon>`;\n button.style.cursor = 'pointer';\n button.style.fontSize = '16px';\n return button;\n}\n\nfunction createMenuFooterCta(): HTMLAnchorElement {\n const link = document.createElement('a');\n link.setAttribute('slot', 'menu-footer-cta');\n link.setAttribute('href', '#');\n link.textContent = 'Footer CTA';\n link.style.display = 'inline-block';\n link.style.padding = '8px 12px';\n link.style.borderRadius = '6px';\n link.style.border = '1px solid #ccc';\n link.style.textDecoration = 'none';\n link.style.color = 'inherit';\n return link;\n}\n\n/**\n * Creates the actual header element and assigns props directly.\n *\n * This is important for boolean props like navigateOnMenuToggle.\n */\nfunction createHeaderElement(args: StoryArgs): HTMLElement {\n const header = document.createElement('pn-marketweb-header') as any;\n\n header.market = args.market;\n header.initialActiveMenuMode = args.initialActiveMenuMode;\n header.forceThemeAndToggle = args.forceThemeAndToggle;\n header.menuThemes = args.menuThemes;\n header.language = args.language;\n header.environment = args.environment;\n header.endpoint = args.endpoint;\n header.pageId = args.pageId;\n header.siteid = args.siteid;\n header.userToken = args.userToken;\n header.userFullname = args.userFullname;\n header.userLoggedin = args.userLoggedin;\n header.hideSiteSelector = args.hideSiteSelector;\n header.hideHomeMenuItem = args.hideHomeMenuItem;\n header.hideLanguageSelector = args.hideLanguageSelector;\n header.hideSearch = args.hideSearch;\n header.hideLogin = args.hideLogin;\n header.showProfileSelection = args.showProfileSelection;\n header.showUnifiedLogin = args.showUnifiedLogin;\n header.siteDomainInUrls = args.siteDomainInUrls;\n header.autocompleteEndpoint = args.autocompleteEndpoint;\n header.sessionForward = args.sessionForward;\n header.cache = args.cache;\n header.searchPlaceholder = args.searchPlaceholder;\n header.spaMode = args.spaMode;\n header.checkUserLoggedInStateInterval = args.checkUserLoggedInStateInterval;\n header.useMarketwebLogin = args.useMarketwebLogin;\n header.navigateOnMenuToggle = args.navigateOnMenuToggle;\n\n header.appendChild(createTopRightEndButton());\n header.appendChild(createMenuFooterCta());\n\n return header;\n}\n\n/**\n * Renders the Storybook shell and the header.\n *\n * This story intentionally does not include a fake menu switcher.\n * The real pn-marketweb-header should render its own switcher when the menu\n * structure supports multiple switchable root menus.\n */\nfunction renderHeaderStory(args: StoryArgs): HTMLElement {\n restoreOriginalFetch();\n applyStoryUrlHash(args.urlHash);\n\n if (args.useMockedResponse) {\n installHeaderFetchMock(args.mockedResponse, args.endpoint);\n }\n\n const root = document.createElement('div');\n root.style.minHeight = '100vh';\n root.style.background = '#f5f5f5';\n\n const header = createHeaderElement(args);\n root.appendChild(header);\n\n const main = document.createElement('main');\n main.style.padding = '32px';\n\n const title = document.createElement('h1');\n title.textContent = 'Storybook preview';\n title.style.marginTop = '0';\n\n const paragraph1 = document.createElement('p');\n paragraph1.textContent = args.useMockedResponse\n ? 'This story uses a mocked backend response.'\n : 'This story uses the real backend response from the configured endpoint.';\n\n const paragraph2 = document.createElement('p');\n paragraph2.innerHTML =\n 'In Storybook, <code>navigateOnMenuToggle</code> is disabled by default so you can inspect menu switching without leaving the preview.';\n\n main.appendChild(title);\n main.appendChild(paragraph1);\n main.appendChild(paragraph2);\n\n root.appendChild(main);\n\n return root;\n}\n\nconst DEFAULT_ARGS: Omit<StoryArgs, 'mockedResponse'> = {\n market: 'se',\n language: 'sv',\n environment: 'localhost',\n initialActiveMenuMode: 0,\n forceThemeAndToggle: -1,\n endpoint: 'https://storybook.local',\n pageId: '9',\n siteid: '',\n userToken: '',\n userFullname: '',\n userLoggedin: false,\n hideSiteSelector: false,\n hideHomeMenuItem: false,\n hideLanguageSelector: false,\n hideSearch: false,\n hideLogin: false,\n showProfileSelection: true,\n showUnifiedLogin: true,\n siteDomainInUrls: false,\n autocompleteEndpoint: '',\n sessionForward: false,\n cache: false,\n searchPlaceholder: 'Sök',\n spaMode: false,\n checkUserLoggedInStateInterval: 0,\n useMarketwebLogin: false,\n navigateOnMenuToggle: false,\n urlHash: '',\n useMockedResponse: true,\n};\n\n/**\n * Baseline story:\n * - 2 switchable roots\n * - 1 shared root\n */\nexport const TwoModesWithShared: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Verifies that more than 2 switchable roots are supported.\n */\nexport const ThreeModesWithShared: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: THREE_MODES_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Only one mode root + shared.\n * The header should not render the menu switcher.\n */\nexport const OneModeWithShared: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: ONE_MODE_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Shared-only structure.\n * Useful for verifying fallback rendering when no switchable roots exist.\n */\nexport const SharedOnly: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: SHARED_ONLY_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but start on the second mode.\n */\nexport const StartOnSecondMode: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n initialActiveMenuMode: 1,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but force the first mode and its theme.\n */\nexport const ForceFirstModeAndTheme: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n forceThemeAndToggle: 0,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but force the second mode and its theme.\n */\nexport const ForceSecondModeAndTheme: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n forceThemeAndToggle: 1,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * URL hash should have highest precedence and override forceThemeAndToggle.\n */\nexport const HashForcesSecondModeOverForceThemeOne: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n forceThemeAndToggle: 0,\n urlHash: '#ttm1',\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Same baseline structure, but allow real navigation hrefs on mode change.\n * Mostly useful for checking rendered links rather than interacting in Storybook.\n */\nexport const NavigationEnabled: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n navigateOnMenuToggle: true,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Smaller layout story while still using mocked data.\n */\nexport const Minimal: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n hideSiteSelector: true,\n hideLanguageSelector: true,\n hideLogin: true,\n showProfileSelection: false,\n showUnifiedLogin: false,\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Menu items contain nested sub-menu items.\n */\nexport const NestedSubmenuItems: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n mockedResponse: NESTED_SUBMENU_MOCKED_RESPONSE,\n },\n};\n\n/**\n * Uses the real local CMS instead of Storybook fetch mocking.\n */\nexport const LocalCms: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n useMockedResponse: false,\n endpoint: 'https://localhost:51547',\n environment: 'localhost',\n pageId: '9',\n siteid: '',\n mockedResponse: DEFAULT_MOCKED_RESPONSE,\n },\n};\n\n\n/**\n * Uses the real integration CMS instead of Storybook fetch mocking. //FIXME: getting cors-safe data at the moment\n */\nexport const IntegrationCms: Story = {\n render: args => renderHeaderStory(args),\n args: {\n ...DEFAULT_ARGS,\n useMockedResponse: false,\n endpoint: 'https://se-inte.postnord.com',\n environment: 'integration',\n market: 'se',\n language: 'sv',\n pageId: '9',\n // userToken: '6ae6bde345eb68fc0102f4ba256f31e9151db31dc2ea4c23a51917c'\n\n },\n};"]}
|
|
@@ -887,6 +887,21 @@ const PnMarketwebHeader$1 = /*@__PURE__*/ proxyCustomElement(class PnMarketwebHe
|
|
|
887
887
|
get hasForcedThemeAndToggle() {
|
|
888
888
|
return Number.isInteger(this.forceThemeAndToggle) && this.forceThemeAndToggle !== -1;
|
|
889
889
|
}
|
|
890
|
+
get forcedMenuModeFromUrl() {
|
|
891
|
+
if (typeof window === 'undefined') {
|
|
892
|
+
return null;
|
|
893
|
+
}
|
|
894
|
+
const hash = window.location.hash ?? '';
|
|
895
|
+
const match = hash.match(/^#ttm(?:=)?(\d+)$/i);
|
|
896
|
+
if (!match) {
|
|
897
|
+
return null;
|
|
898
|
+
}
|
|
899
|
+
const parsedMode = Number.parseInt(match[1], 10);
|
|
900
|
+
if (!Number.isInteger(parsedMode)) {
|
|
901
|
+
return null;
|
|
902
|
+
}
|
|
903
|
+
return parsedMode;
|
|
904
|
+
}
|
|
890
905
|
validateMenuModeIndex(mode) {
|
|
891
906
|
const optionCount = this.vm?.menuModeOptions?.length ?? 0;
|
|
892
907
|
if (!this.vm?.hasMenuSwitching || optionCount === 0) {
|
|
@@ -960,7 +975,12 @@ const PnMarketwebHeader$1 = /*@__PURE__*/ proxyCustomElement(class PnMarketwebHe
|
|
|
960
975
|
this.vm = result.vm;
|
|
961
976
|
this.i18n = result.i18n;
|
|
962
977
|
this.status = result.status;
|
|
963
|
-
if (this.
|
|
978
|
+
if (this.forcedMenuModeFromUrl !== null) {
|
|
979
|
+
this.activeMenuMode = this.validateMenuModeIndex(this.forcedMenuModeFromUrl);
|
|
980
|
+
this.hasResolvedInitialMenuMode = true;
|
|
981
|
+
storeHeaderMenuMode(this.activeMenuMode);
|
|
982
|
+
}
|
|
983
|
+
else if (this.hasForcedThemeAndToggle) {
|
|
964
984
|
this.activeMenuMode = this.validateMenuModeIndex(this.forceThemeAndToggle);
|
|
965
985
|
this.hasResolvedInitialMenuMode = true;
|
|
966
986
|
storeHeaderMenuMode(this.activeMenuMode);
|
|
@@ -1058,9 +1078,9 @@ const PnMarketwebHeader$1 = /*@__PURE__*/ proxyCustomElement(class PnMarketwebHe
|
|
|
1058
1078
|
const menuGroups = vm
|
|
1059
1079
|
? this.getVisibleMenuGroups(vm)
|
|
1060
1080
|
: { primaryItems: [], sharedItems: [] };
|
|
1061
|
-
return (h(Host, { key: '
|
|
1081
|
+
return (h(Host, { key: 'a361493c4e5d00f6e7f43f021f5620e2db1ebb51', language: this.language ?? undefined, market: this.market ?? undefined, environment: this.environment ?? undefined, "data-status": this.status, "data-mode": this.activeMenuMode, "data-theme": activeTheme }, h("header", { key: '18cc409a710c06e486197f487937ac0f8f5e291b' }, vm && (h(Fragment, { key: 'e091a3aca5f2cffdc8b0206c387dc9a5a1082636' }, h("pn-marketweb-header-top-row", { key: '0d19aba5a76db68cd573f1279fdd02a65643e75a', vm: vm, i18n: i18n, language: this.language ?? undefined, siteid: this.siteid ?? undefined, endpoint: this.endpoint ?? undefined, environment: this.environment ?? undefined, userToken: this.userToken, userFullname: this.userFullname, userLoggedin: this.userLoggedin, hideSiteSelector: this.hideSiteSelector, hideLanguageSelector: this.hideLanguageSelector, hideSearch: this.hideSearch, hideLogin: this.hideLogin, showProfileSelection: this.showProfileSelection, showUnifiedLogin: this.showUnifiedLogin, spaMode: this.spaMode, checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval, useMarketwebLogin: this.useMarketwebLogin, activeMenuMode: this.activeMenuMode, theme: activeTheme, navigateOnMenuToggle: this.navigateOnMenuToggle, menuToggleChangeHandler: this.onMenuToggleChange, adjustSiteSelectorUrl: (href) => this.adjustSiteSelectorUrl(href), logoUrl: logoUrl }, h("slot", { key: 'ff06f0c88d917ce5982be413e544f4ac998a2b33', name: "header-top-left", slot: "header-top-left" }), h("slot", { key: '1b08ccda6550a41d42a4b6360bccb2f58e104864', name: "header-top-right-start", slot: "header-top-right-start" }), h("slot", { key: '84b0a7ce8be0d77ed696dd87fc3c6883ccf6a8d4', name: "toprightend", slot: "toprightend" })), h("slot", { key: '6643cb513225c1513c097a06cde4791280771574', name: "siteheader-menu-top-button" }), h("pn-marketweb-header-main-row", { key: '55a1fb96b970a6194a3f1295fbcfb1342e46c55f', vm: vm, i18n: i18n, market: this.market ?? undefined, language: this.language ?? undefined, siteid: this.siteid ?? undefined, hideSearch: this.hideSearch, hideLogin: this.hideLogin, hideLanguageSelector: this.hideLanguageSelector, hideSiteSelector: this.hideSiteSelector, minimizeSearch: this.minimizeSearch, activeMenuMode: this.activeMenuMode, theme: activeTheme, navigateOnMenuToggle: this.navigateOnMenuToggle, primaryItems: menuGroups.primaryItems, sharedItems: menuGroups.sharedItems, showMenuDivider: menuGroups.primaryItems.length > 0 && menuGroups.sharedItems.length > 0, userToken: this.userToken, userFullname: this.userFullname, userLoggedin: this.userLoggedin, endpoint: this.endpoint ?? undefined, environment: this.environment ?? undefined, showProfileSelection: this.showProfileSelection, showUnifiedLogin: this.showUnifiedLogin, checkUserLoggedInStateInterval: this.checkUserLoggedInStateInterval, useMarketwebLogin: this.useMarketwebLogin, spaMode: this.spaMode, menuToggleChangeHandler: this.onMenuToggleChange, mainNavRefHandler: (el) => {
|
|
1062
1082
|
this.mainNavEl = el;
|
|
1063
|
-
}, adjustSiteSelectorUrl: (href) => this.adjustSiteSelectorUrl(href), logoUrl: logoUrl }, h("slot", { key: '
|
|
1083
|
+
}, adjustSiteSelectorUrl: (href) => this.adjustSiteSelectorUrl(href), logoUrl: logoUrl }, h("slot", { key: 'eb25cc719fdc57b0b4da266dd9305013b4514b78', name: "mobile-toprightend", slot: "mobile-toprightend" }), h("slot", { key: '69ddaacba3c53b0722efcdfa694cd4913fae2fac', name: "header-bottom-button", slot: "header-bottom-button" }), h("slot", { key: '76c3a360b0d742a25192cb7d7041e82049e955d5', name: "menu-footer-cta", slot: "menu-footer-cta" })))))));
|
|
1064
1084
|
}
|
|
1065
1085
|
static get watchers() { return {
|
|
1066
1086
|
"language": ["onLanguageChange"],
|