@entur-partner/common 8.0.5 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"common.esm.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu/useOutsideClick.ts","../src/UserMenu/components/CustomOverflowMenu.tsx","../src/UserMenu/components/CustomOverflowMenuItem.tsx","../src/UserMenu/components/LanguageSwitchMenuItem.tsx","../src/UserMenu/components/VersionMenuItem.tsx","../src/UserMenu/components/UserMenuItem.tsx","../src/UserMenu/components/LogOutMenuItem.tsx","../src/UserMenu/index.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx","../src/PageTitle.tsx"],"sourcesContent":["import './Box.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype StyleSpacing =\n | 'none'\n | 'extraSmall2'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7'\n | 'extraLarge8'\n | 'extraLarge9';\n\ntype StyleMargin = StyleSpacing | 'auto';\n\ntype StyleDisplay = 'block' | 'flex' | 'inline' | 'inline-block';\ntype StyleJustifyContent = 'center' | 'space-between' | 'start' | 'end';\ntype StyleAlignItems = 'center' | 'start' | 'end' | 'stretch' | 'baseline';\n\ntype StyleMaxWidth =\n | 'none'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'full';\ntype StyleWidth = 'auto' | 'full';\n\nexport type StyleBackground = 'blue' | 'lavender' | 'white' | 'blue70';\nexport type StyleColor = 'blue' | 'lavender' | 'white' | 'black';\n\ntype StyleFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\ntype StyleFlexWrap = 'wrap' | 'nowrap' | 'wrap-reverse';\n\nexport type ResponsiveStyleSpacing =\n | StyleSpacing\n | [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n | StyleMargin\n | [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n | StyleDisplay\n | [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n | StyleJustifyContent\n | [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n | StyleAlignItems\n | [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n | StyleMaxWidth\n | [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n | StyleWidth\n | [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n | StyleFlexDirection\n | [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n | StyleFlexWrap\n | [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n className?: string;\n as?: React.ElementType;\n [key: string]: any;\n children: ReactNode;\n\n contrast?: boolean;\n\n paddingTop?: ResponsiveStyleSpacing;\n paddingRight?: ResponsiveStyleSpacing;\n paddingBottom?: ResponsiveStyleSpacing;\n paddingLeft?: ResponsiveStyleSpacing;\n paddingX?: ResponsiveStyleSpacing;\n paddingY?: ResponsiveStyleSpacing;\n padding?: ResponsiveStyleSpacing;\n\n marginTop?: ResponsiveStyleMargin;\n marginRight?: ResponsiveStyleMargin;\n marginBottom?: ResponsiveStyleMargin;\n marginLeft?: ResponsiveStyleMargin;\n marginX?: ResponsiveStyleMargin;\n marginY?: ResponsiveStyleMargin;\n margin?: ResponsiveStyleMargin;\n\n display?: ResponsiveStyleDisplay;\n justifyContent?: ResponsiveStyleJustifyContent;\n alignItems?: ResponsiveStyleAlignItems;\n\n maxWidth?: ResponsiveStyleMaxWidth;\n width?: ResponsiveStyleWidth;\n background?: StyleBackground;\n color?: StyleColor;\n\n flexDirection?: ResponsiveStyleFlexDirection;\n flexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n if (Array.isArray(prop)) {\n const classes = [];\n prop[0] && classes.push(prefix + prop[0]);\n prop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n prop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n return classes;\n }\n return [prefix + prop];\n}\n\nexport const Box = ({\n as: Component = 'div',\n children,\n contrast,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n paddingX,\n paddingY,\n padding,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n margin,\n display,\n justifyContent,\n alignItems,\n maxWidth,\n width,\n background,\n color,\n flexDirection,\n flexWrap,\n className,\n ...rest\n}: BoxProps) => {\n const classes = [];\n const resolvedPaddingTop = paddingTop || paddingY || padding;\n const resolvedPaddingBottom = paddingBottom || paddingY || padding;\n const resolvedPaddingLeft = paddingLeft || paddingX || padding;\n const resolvedPaddingRight = paddingRight || paddingX || padding;\n\n const resolvedMarginTop = marginTop || marginY || margin;\n const resolvedMarginBottom = marginBottom || marginY || margin;\n const resolvedMarginLeft = marginLeft || marginX || margin;\n const resolvedMarginRight = marginRight || marginX || margin;\n\n contrast && classes.push('eds-contrast');\n resolvedPaddingTop &&\n classes.push(...responsiveProp('eps-pt-', resolvedPaddingTop));\n resolvedPaddingBottom &&\n classes.push(...responsiveProp('eps-pb-', resolvedPaddingBottom));\n resolvedPaddingLeft &&\n classes.push(...responsiveProp('eps-pl-', resolvedPaddingLeft));\n resolvedPaddingRight &&\n classes.push(...responsiveProp('eps-pr-', resolvedPaddingRight));\n resolvedMarginTop &&\n classes.push(...responsiveProp('eps-mt-', resolvedMarginTop));\n resolvedMarginBottom &&\n classes.push(...responsiveProp('eps-mb-', resolvedMarginBottom));\n resolvedMarginLeft &&\n classes.push(...responsiveProp('eps-ml-', resolvedMarginLeft));\n resolvedMarginRight &&\n classes.push(...responsiveProp('eps-mr-', resolvedMarginRight));\n\n display && classes.push(...responsiveProp('eps-', display));\n justifyContent &&\n classes.push(...responsiveProp('eps-justify-', justifyContent));\n if (alignItems) {\n classes.push(...responsiveProp('eps-items-', alignItems));\n }\n\n maxWidth && classes.push(...responsiveProp('eps-max-w-', maxWidth));\n width && classes.push(...responsiveProp('eps-w-', width));\n\n color && classes.push(`eps-color-${color}`);\n background && classes.push(`eps-bg-${background}`);\n\n flexDirection && classes.push(...responsiveProp('eps-flex-', flexDirection));\n flexWrap && classes.push(...responsiveProp('eps-flex-wrap-', flexWrap));\n\n const classList = cx(classes, className);\n\n return (\n <Component className={classList} {...rest}>\n {children}\n </Component>\n );\n};\n","import React, { ReactNode, Children } from 'react';\n\nimport { ResponsiveStyleSpacing, Box } from './Box';\n\nexport interface StackProps {\n className?: string;\n children: ReactNode;\n space: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n const stackItems = Children.toArray(children);\n if (stackItems.length <= 1) {\n return <>{stackItems}</>;\n }\n\n return (\n <div className={className}>\n {stackItems.map((child, index) =>\n index === stackItems.length - 1 ? (\n <div key={index}>{child}</div>\n ) : (\n <Box paddingBottom={space} key={index}>\n {child}\n </Box>\n )\n )}\n </div>\n );\n};\n","import './ActionBar.scss';\nimport React, { ReactNode } from 'react';\n\nexport interface ActionBarProps {\n children: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n return (\n <>\n <div className=\"eps-action-bar-padding\" />\n <div className=\"eps-action-bar\">{children}</div>\n </>\n );\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import './LinkButton.scss';\n\nimport React, { ReactNode } from 'react';\nimport { Link } from '@entur/typography';\nimport cx from 'classnames';\n\nexport interface LinkButtonProps {\n children: ReactNode;\n className?: string;\n [key: string]: any;\n}\n\nexport const LinkButton = ({\n children,\n className,\n ...rest\n}: LinkButtonProps) => (\n <Link {...rest} as=\"button\" className={cx('eps-link-button', className)}>\n {children}\n </Link>\n);\n","/// <reference types=\"vite/client\" />\nimport React, { ReactNode } from 'react';\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n return (\n import.meta.env[`VITE_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`VITE_APP_${flag}`) === 'true'\n );\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n return featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n /** Visible if flag exist, hidden if not.*/\n children: ReactNode;\n /** Case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix. */\n flag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n const feature = useFeatureToggle(flag);\n if (feature) {\n return <>{children}</>;\n }\n return null;\n};\n","export enum Environment {\n Local = 'local',\n Development = 'dev',\n Staging = 'staging',\n Production = 'prod',\n}\n\nconst environmentColors: Record<\n Exclude<Environment, Environment.Production>,\n string\n> = {\n [Environment.Local]: '#B482FB',\n [Environment.Development]: '#5AC39A',\n [Environment.Staging]: '#FFCA28',\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n environment: Exclude<Environment, Environment.Production>\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n [Environment.Local]: 'Local',\n [Environment.Development]: 'Dev',\n [Environment.Staging]: 'Staging',\n [Environment.Production]: 'Prod',\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n humanReadableEnvironment[environment];\n","import './EnturPartnerLogo.scss';\n\nimport React, { FC } from 'react';\nimport classnames from 'classnames';\n\nimport { Environment, getColorForEnvironment } from './environment';\n\ninterface LogoProps {\n title: string;\n className?: string;\n accentColor?: string;\n [key: string]: any;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n title,\n accentColor = '#FF5959',\n ...rest\n}) => {\n return (\n <svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n <title>{title}</title>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#FFF\"\n d=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n />\n <path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z\"\n />\n <g fill={accentColor}>\n <path d=\"M141.051 23.448h5.628c4.185 0 5.989-1.984 5.989-4.942 0-2.742-1.515-4.618-5.989-4.618h-5.628v9.56zm0 3.067v9.776h-3.571V10.75h9.632c6.674 0 9.127 3.211 9.127 7.54 0 4.979-3.102 8.226-9.2 8.226h-5.988zM169.695 28.715c-1.371-.288-2.958-.505-4.401-.505-2.85 0-4.041 1.263-4.041 3.139s1.407 2.706 3.463 2.706c2.49 0 4.979-1.443 4.979-4.221v-1.119zm-4.293-2.958c1.551 0 3.174.253 4.293.469v-.83c0-2.525-1.154-3.896-4.33-3.896-2.164 0-3.824.866-4.942 2.092l-2.02-2.272c1.732-1.66 3.644-2.598 7.07-2.598 5.052 0 7.469 1.876 7.469 7.215v10.354h-3.211V34.02h-.108c-1.082 1.767-3.211 2.705-5.592 2.705-3.32 0-6.241-1.66-6.241-5.303 0-3.103 1.912-5.664 7.612-5.664zM178.965 19.191h3.211v2.886h.108c.938-1.984 2.922-3.355 5.231-3.355.47 0 .938.036 1.335.144l-.144 3.14a6.77 6.77 0 00-1.552-.181c-3.246 0-4.798 2.633-4.798 5.483v8.983h-3.39v-17.1zM199.961 36.291h-1.912c-4.004 0-5.988-.938-5.988-5.772v-8.55h-2.778V19.19h2.778v-4.654h3.355v4.654h4.473v2.778h-4.473v7.973c0 3.427 1.587 3.535 3.319 3.535h1.226v2.814zM219.767 36.291h-3.391V26.84c0-2.778-1.083-5.375-4.257-5.375-3.14 0-5.268 2.597-5.268 6.169v8.658h-3.391v-17.1h3.32v2.814h.143c.794-1.623 3.067-3.283 5.99-3.283 4.941 0 6.854 3.644 6.854 8.081v9.488zM227.847 26.262h10.57c0-2.597-2.272-4.726-5.087-4.726-2.922 0-5.014 1.948-5.483 4.726zm-.036 2.453c.397 3.355 2.633 5.195 5.844 5.195 2.778 0 4.618-1.623 5.484-2.67l2.164 1.804c-1.37 1.913-4.365 3.716-8.045 3.716-4.942 0-8.73-3.535-8.73-8.55 0-5.195 3.752-9.488 8.983-9.488 5.303 0 8.009 4.365 8.009 8.19 0 .649-.036 1.226-.072 1.803H227.81zM246.245 19.191h3.21v2.886h.109c.938-1.984 2.922-3.355 5.231-3.355.469 0 .938.036 1.335.144l-.145 3.14a6.77 6.77 0 00-1.551-.181c-3.247 0-4.798 2.633-4.798 5.483v8.983h-3.391v-17.1z\" />\n </g>\n </g>\n </svg>\n );\n};\n\ninterface EnturPartnerLogoProps {\n altText: string;\n as?: 'div' | React.ElementType;\n className?: string;\n environment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n as: Component = 'nav',\n className,\n altText,\n environment,\n}) => {\n const classList = classnames(['eps-logo-wrapper', className]);\n\n return (\n <Component className={classList}>\n <EnturPartnerLogoSvg\n title={altText}\n className=\"logo\"\n accentColor={\n environment !== undefined && environment !== Environment.Production\n ? getColorForEnvironment(environment)\n : undefined\n }\n />\n </Component>\n );\n};\n","import './Menu.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface MenuProps {\n children: ReactNode;\n as?: 'div' | React.ElementType;\n className?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n as: Component = 'nav',\n className,\n children,\n}) => {\n const classList = classnames(['eds-contrast', 'eps-menu', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import './Content.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface ContentProps {\n children: ReactNode;\n as?: 'main' | React.ElementType;\n className?: string;\n}\nexport const Content: FC<ContentProps> = ({\n as: Component = 'main',\n className,\n children,\n}) => {\n const classList = classnames(['eps-content', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import React from 'react';\n\nexport function useOutsideClick(\n ref: React.RefObject<HTMLDivElement>,\n buttonRef: React.RefObject<HTMLButtonElement>,\n handler: () => void\n) {\n React.useEffect(() => {\n const listener = (event: Event) => {\n if (\n elementContainsEventTarget(ref.current, event) ||\n elementContainsEventTarget(buttonRef.current, event)\n ) {\n return;\n }\n\n handler();\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, buttonRef, handler]);\n}\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n if (!element) {\n return false;\n }\n\n if (element.contains(event.target as Node)) {\n return true;\n }\n\n // For elements inside a Shadow DOM we need to check the composedPath\n if (event.composed && event.composedPath) {\n const contains = event.composedPath().find((target) => {\n if (target === window) {\n return false;\n }\n return element.contains(target as Node);\n });\n return !!contains;\n }\n\n return false;\n}\n","import '../index.scss';\n\nimport React from 'react';\nimport cx from 'classnames';\nimport { DownArrowIcon, UserIcon } from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\n\nimport {\n Environment,\n getColorForEnvironment,\n getHumanReadableEnvironment,\n} from '../../environment';\nimport { useOutsideClick } from '../useOutsideClick';\n\nexport const CustomOverflowMenu: React.FC<{\n className?: string;\n children: React.ReactNode;\n userName: string;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n environment?: Environment;\n}> = ({\n className,\n children,\n userName,\n open,\n onOpenChange,\n environment,\n ...rest\n}) => {\n const overflowItemsClasses = cx('eps-overflow-menu__group', {\n 'eps-overflow-menu__group--open': open,\n });\n const overflowContentRef = React.useRef<HTMLDivElement>(null);\n const overflowMenuTriggerRef = React.useRef<HTMLButtonElement>(null);\n useOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n onOpenChange(false)\n );\n return (\n <div>\n <SecondaryButton\n className={cx('eps-overflow-menu__button', className)}\n onClick={() => onOpenChange(open ? false : true)}\n aria-haspopup={true}\n role=\"button\"\n aria-expanded={open}\n ref={overflowMenuTriggerRef}\n {...rest}\n >\n <div className=\"eps-overflow-menu__button-contents\">\n <span className=\"eds-overflow-menu__user-icon\">\n <UserIcon inline />\n </span>\n <Heading6 margin=\"none\" as=\"span\">\n {userName}\n {environment !== undefined &&\n environment !== Environment.Production && (\n <span style={{ color: getColorForEnvironment(environment) }}>\n {' '}\n ({getHumanReadableEnvironment(environment)})\n </span>\n )}\n </Heading6>\n <span className=\"eps-arrow-icon\">\n <DownArrowIcon inline />\n </span>\n </div>\n </SecondaryButton>\n {open && (\n <div\n className={overflowItemsClasses}\n role=\"menu\"\n ref={overflowContentRef}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport cx from 'classnames';\n\nexport const CustomOverflowMenuItem: React.FC<\n React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n> = (props) => {\n return (\n <button\n className={cx(props.className, 'eps-overflow-menu__item')}\n role=\"menuitem\"\n {...props}\n />\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport { NorwayIcon, UKIcon } from '@entur/icons';\n\nimport { useFeatureToggle } from '../../FeatureToggle';\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n language: string;\n onLanguageChange: (language: string) => void;\n setOpen: (open: boolean) => void;\n name: string;\n};\n\nexport const LanguageSwitchMenuItem = ({\n language,\n onLanguageChange,\n setOpen,\n name,\n}: Props) => {\n const useB47LanguageKey = useFeatureToggle('USE_BCP-47_LANGUAGE_KEY');\n const norwegianLanguageKey = useB47LanguageKey ? 'nb-NO' : 'nb';\n const englishLanguageKey = useB47LanguageKey ? 'en-GB' : 'en';\n\n return (\n <>\n {language === englishLanguageKey ? (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange(norwegianLanguageKey);\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <NorwayIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n ) : (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange(englishLanguageKey);\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <UKIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n )}\n </>\n );\n};\n","import React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ChannelsIcon } from '@entur/icons';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\nexport const VersionMenuItem: React.FC<{\n title: string;\n setOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n const navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n navigate('/app-version');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n </span>\n {title}\n </CustomOverflowMenuItem>\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport { UserIcon } from '@entur/icons';\nimport { Link } from 'react-router-dom';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n name: string;\n setOpen: (open: boolean) => void;\n onNavigateToMyProfile: () => void;\n};\n\nexport const UserMenuItem = ({\n name,\n setOpen,\n onNavigateToMyProfile,\n}: Props) => {\n return (\n <Link to=\"/permission-admin/my-profile\" style={{ textDecoration: 'none' }}>\n <CustomOverflowMenuItem\n onClick={() => {\n setOpen(false);\n onNavigateToMyProfile();\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <UserIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n </Link>\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport { LogOutIcon } from '@entur/icons';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n name: string;\n setOpen: (open: boolean) => void;\n onLogout: () => void;\n};\n\nexport const LogOutMenuItem = ({ name, setOpen, onLogout }: Props) => {\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n onLogout();\n setOpen(false);\n }}\n data-testid=\"user-menu-logout\"\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <LogOutIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n );\n};\n","import './index.scss';\n\nimport React, { FC, useState } from 'react';\nimport cx from 'classnames';\n\nimport { Environment } from '../environment';\nimport { CustomOverflowMenu } from './components/CustomOverflowMenu';\nimport { LanguageSwitchMenuItem } from './components/LanguageSwitchMenuItem';\nimport { VersionMenuItem } from './components/VersionMenuItem';\nimport { UserMenuItem } from './components/UserMenuItem';\nimport { LogOutMenuItem } from './components/LogOutMenuItem';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n appVersion?: string;\n myProfile?: string;\n };\n onLogout: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n environment?: Environment;\n showVersionItem?: boolean;\n showMyProfileItem?: boolean;\n onNavigateToMyProfile: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n userName,\n language,\n environment,\n showVersionItem,\n showMyProfileItem,\n onNavigateToMyProfile,\n}) => {\n const triggerClassList = cx(['eps-user-menu__trigger-button', className]);\n const [open, setOpen] = useState(false);\n\n return (\n <div id=\"eps-user-menu\">\n <CustomOverflowMenu\n open={open}\n onOpenChange={setOpen}\n className={triggerClassList}\n userName={userName}\n environment={environment}\n >\n <div id=\"eps-overflow-menu\">\n <LanguageSwitchMenuItem\n name={messages.switchLanguage}\n language={language}\n onLanguageChange={onLanguageChange}\n setOpen={setOpen}\n />\n {showVersionItem && messages.appVersion && (\n <VersionMenuItem title={messages.appVersion} setOpen={setOpen} />\n )}\n {showMyProfileItem && messages.myProfile && (\n <UserMenuItem\n name={messages.myProfile}\n setOpen={setOpen}\n onNavigateToMyProfile={onNavigateToMyProfile}\n />\n )}\n <LogOutMenuItem\n name={messages.logout}\n setOpen={setOpen}\n onLogout={onLogout}\n />\n </div>\n </CustomOverflowMenu>\n </div>\n );\n};\n","import React, { FC, useEffect, useState } from 'react';\nimport { SearchableDropdown } from '@entur/dropdown';\n\ninterface Organisation {\n name: string;\n id: string;\n}\n\ninterface OrganisationDropDownProps {\n label: string;\n onChange: (id: string) => void;\n organisations: Organisation[];\n selectedOrganisationId?: string;\n [key: string]: any;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n label,\n organisations,\n onChange: handleChange,\n selectedOrganisationId,\n ...rest\n}) => {\n const [selectedOrganisation, setSelectedOrganisation] =\n useState<Organisation>();\n\n useEffect(() => {\n setSelectedOrganisation(\n organisations.find((org) => org.id === selectedOrganisationId)\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedOrganisationId]);\n\n return (\n <SearchableDropdown\n label={label}\n items={[\n ...organisations\n .sort((a, b) => a.name.localeCompare(b.name, 'nb'))\n .map((organisation) => {\n return {\n value: organisation.id,\n label: organisation.name,\n };\n }),\n ]}\n selectedItem={\n selectedOrganisation\n ? {\n value: selectedOrganisation.id,\n label: selectedOrganisation.name,\n }\n : null\n }\n onChange={(selectedValue) => {\n if (selectedValue) {\n handleChange(selectedValue.value);\n }\n }}\n clearable={false}\n {...rest}\n />\n );\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from 'react';\n\ninterface TypedEventListener<T extends Event> {\n (evt: T): void;\n}\n\nexport function useEventListener<T extends Event = Event>(\n eventName: string,\n handler: TypedEventListener<T>,\n element: WindowEventHandlers = window\n) {\n const savedHandler = useRef<TypedEventListener<T>>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = ((event: T): void =>\n savedHandler.current?.(event)) as EventListener;\n\n element.addEventListener(eventName, eventListener);\n\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n","import './LanguageSelect.scss';\n\nimport React, { FC } from 'react';\nimport { SegmentedControl, SegmentedChoice } from '@entur/form';\nimport cx from 'classnames';\nimport { assertIsDefined } from '@entur-partner/util';\n\nexport type LanguageKey = 'nob' | 'nno' | 'eng';\n\nexport interface LanguageOption {\n value: LanguageKey;\n label: string;\n required: boolean;\n}\n\nexport interface LanguageSelectProps {\n language: string;\n options: LanguageOption[];\n className?: string;\n onChange: (language: string) => void;\n [key: string]: any;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n language,\n options,\n className,\n onChange,\n ...rest\n}) => {\n const classNames = cx('eps-language-select', className);\n return (\n <div {...rest} className={classNames}>\n <SegmentedControl\n onChange={(language) => {\n assertIsDefined(language);\n onChange(language);\n }}\n selectedValue={language}\n >\n {options.map((option) => (\n <SegmentedChoice key={option.value} value={option.value}>\n {option.label}\n {option.required && <span className=\"asterisk-margin\">{'*'}</span>}\n </SegmentedChoice>\n ))}\n </SegmentedControl>\n </div>\n );\n};\n","import React, { ChangeEvent } from 'react';\nimport { VariantType } from '@entur/form';\nimport { ExpandablePanel } from '@entur/expand';\n\nimport { LanguageKey, LanguageOption } from './LanguageSelect';\nimport { Stack } from './Stack';\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n title: string;\n inputComponent: React.ElementType;\n languages: LanguageOption[];\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n name: string;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n [key: string]: any;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n title,\n inputComponent: InputComponent,\n languages,\n values,\n onChange,\n name,\n variant,\n feedback,\n ...rest\n}: ExpandableMultiLanguageInputProps) => {\n const handleOnChange = (language: LanguageKey, value?: string) => {\n const changes = { ...values };\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map(({ value: langKey, label, required }) => (\n <InputComponent\n data-testid={`multi-lang-input-${name}-${langKey}`}\n key={title + langKey}\n label={required ? label + '*' : label}\n variant={variant && variant(langKey)}\n feedback={feedback && feedback(langKey)}\n name={name}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleOnChange(langKey, e.target.value);\n }}\n value={values[langKey] || ''}\n {...rest}\n />\n ))}\n </Stack>\n </ExpandablePanel>\n );\n};\n","import './MultiLanguageInput.scss';\n\nimport React, { FC, useState, ChangeEvent, FocusEvent } from 'react';\nimport cx from 'classnames';\nimport { VariantType } from '@entur/form';\n\nimport { Stack } from './Stack';\nimport { LanguageSelect, LanguageOption } from './LanguageSelect';\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n className?: string;\n onBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n inputComponent: React.ElementType;\n values: { [key: string]: string };\n languages: LanguageOption[];\n onChange: (values: Values) => void;\n name: string;\n alertLevel?: VariantType;\n alertLabel?: string;\n label?: string;\n defaultLanguage?: string;\n [key: string]: any;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n className,\n inputComponent: InputComponent,\n alertLabel,\n alertLevel,\n name,\n languages,\n values,\n onChange,\n defaultLanguage = 'nob',\n label = '',\n onBlur = () => {},\n ...rest\n}) => {\n const [language, setLanguage] = useState(defaultLanguage);\n const classNames = cx('multi-language-input', className);\n const currentValue = values[language];\n\n const handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n e.persist();\n const currentTarget = e.currentTarget;\n setTimeout(() => {\n if (currentTarget && !currentTarget.contains(document.activeElement)) {\n onBlur(e);\n }\n }, 0);\n };\n\n const handleLanguageChange = (language: string) => {\n setLanguage(language);\n };\n\n const handleOnChange = (value?: string) => {\n const changes = Object.assign({}, values);\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <div\n className={classNames}\n tabIndex={0}\n onBlur={handleOnBlur}\n data-testid={`multi-lang-input-${name}`}\n >\n <Stack space=\"extraSmall\">\n <LanguageSelect\n language={language}\n options={languages}\n onChange={(lang) => handleLanguageChange(lang)}\n />\n <InputComponent\n label={label}\n variant={alertLevel}\n feedback={alertLabel}\n name={name}\n className=\"language-item\"\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(e.target.value)\n }\n value={currentValue || ''}\n {...rest}\n />\n </Stack>\n </div>\n );\n};\n","import './Unbutton.scss';\n\nimport React, { FC } from 'react';\nimport { Button, ButtonProps } from '@entur/button';\nimport cx from 'classnames';\n\ninterface UnbuttonProps extends Omit<ButtonProps<any>, 'variant'> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n children,\n className,\n ...rest\n}) => (\n <Button variant=\"primary\" {...rest} className={cx('eps-unbutton', className)}>\n {children}\n </Button>\n);\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","import React, { ReactNode, Component, ErrorInfo } from 'react';\nimport { BannerAlertBox } from '@entur/alert';\nimport { PrimaryButton } from '@entur/button';\nimport { Paragraph } from '@entur/typography';\n\nimport { isFunction } from './helpers';\nimport { Box } from './Box';\n\ntype FallbackOptions = {\n retry: () => void;\n error: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n handleError?: (error: Error, errorInfo: ErrorInfo) => void;\n fallback: ReactNode | RenderProp;\n children: ReactNode;\n};\n\ntype State = {\n error: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n \"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: Error): State {\n return {\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n // React always logs in development\n this.props.handleError?.(error, errorInfo);\n }\n\n render() {\n const { error } = this.state;\n const { fallback, children } = this.props;\n\n if (error) {\n if (isFunction<RenderProp>(fallback)) {\n return fallback({ retry: () => this.setState({ error: null }), error });\n } else if (\n error.name === 'NotFoundError' &&\n error.message === newAppVersionErrorMessage\n ) {\n return <RefreshBannerInfo />;\n }\n\n return fallback;\n }\n\n return children;\n }\n}\n\nexport const LANGUAGE_STORAGE_KEY = 'EP::locale';\n\nfunction RefreshBannerInfo() {\n // Taken from ./app-shell/src/storage.ts\n const language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n const isNorwegian = language === 'nb';\n return (\n <Box maxWidth=\"large\">\n <BannerAlertBox\n variant=\"info\"\n title={\n isNorwegian\n ? 'En ny versjon av nettsiden er tilgjengelig.'\n : 'A new version of the website is available.'\n }\n >\n <Box paddingBottom=\"medium\">\n <Paragraph margin=\"none\">\n {isNorwegian ? 'Vennligst oppdater.' : 'Please refresh.'}\n </Paragraph>\n </Box>\n <PrimaryButton onClick={() => window.location.reload()}>\n {isNorwegian ? 'Oppdater' : 'Refresh'}\n </PrimaryButton>\n </BannerAlertBox>\n </Box>\n );\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { FC, ReactNode } from 'react';\nimport { useBlocker, useInRouterContext } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\nimport { assertIsDefined } from '@entur-partner/util';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n assertIsDefined(\n useInRouterContext() ? true : undefined,\n `RouteLeavingGuard must be used within a data router.`\n );\n\n const blocker = useBlocker(\n ({ currentLocation, nextLocation }) =>\n currentLocation.pathname !== nextLocation.pathname &&\n shouldBlockNavigation(nextLocation)\n );\n\n return (\n <ConfirmModal\n onDismiss={() => {\n if (blocker.state === 'blocked') {\n blocker.reset();\n }\n }}\n open={blocker.state === 'blocked'}\n onConfirm={() => {\n if (blocker.state === 'blocked') {\n blocker.proceed();\n }\n }}\n {...rest}\n >\n {children}\n </ConfirmModal>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\nimport { splitUrlPath } from '@entur-partner/util';\n\nexport interface BreadcrumbsProps {\n pathname: string;\n onBreadcrumbLookup: (path: string) => string | undefined;\n prependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n prependBreadcrumbItem,\n pathname,\n onBreadcrumbLookup,\n}) => {\n const paths: string[] = splitUrlPath(pathname);\n\n const breadcrumbs = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined);\n\n const breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n const isLast = i === breadcrumbs.length - 1;\n if (isLast) {\n return (\n <BreadcrumbItem key={path} as={'span'}>\n {title}\n </BreadcrumbItem>\n );\n }\n return (\n <BreadcrumbItem key={path} as={Link} to={path}>\n {title}\n </BreadcrumbItem>\n );\n });\n\n if (prependBreadcrumbItem) {\n return (\n <BreadcrumbNavigation>\n {[prependBreadcrumbItem, ...breadcrumbElements]}\n </BreadcrumbNavigation>\n );\n }\n\n return <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import React, { FC } from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport { Link as A } from '@entur/typography';\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n return (\n <A {...props} as={RouterLink}>\n {props.children}\n </A>\n );\n};\n","import './Text.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { StyleColor, responsiveProp, Box } from './Box';\n\ntype StyleFontSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4';\n\ntype StyleFontWeight = 'body' | 'heading';\n\ntype StyleLineHeight =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7';\n\nexport type ResponsiveStyleFontSize =\n | StyleFontSize\n | [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n | StyleLineHeight\n | [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n className?: string;\n as?: React.ElementType;\n children: ReactNode;\n\n fontSize?: ResponsiveStyleFontSize;\n lineHeight?: ResponsiveStyleLineHeight;\n color?: StyleColor;\n fontWeight?: StyleFontWeight;\n\n [key: string]: any;\n}\n\nexport const Text = ({\n as: component = 'span',\n children,\n fontSize,\n color,\n lineHeight,\n fontWeight,\n className,\n ...rest\n}: TextProps) => {\n const classes = [];\n\n fontSize && classes.push(...responsiveProp('eps-font-size-', fontSize));\n lineHeight && classes.push(...responsiveProp('eps-line-height-', lineHeight));\n fontWeight && classes.push('eps-font-weight-' + fontWeight);\n\n const classList = cx(classes, className);\n\n return (\n <Box as={component} color={color} className={classList} {...rest}>\n {children}\n </Box>\n );\n};\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { splitUrlPath } from '@entur-partner/util';\n\ntype Props = {\n readonly pathname: string;\n readonly onBreadcrumbLookup: (path: string) => string | undefined;\n};\n\n/**\n * This component changes page title by using helmet and current path. It will translate subpaths, join them with a dash\n * and display it on browser tab.\n *\n * @param Props.pathname - The current path from react-router-dom.useLocation()\n * @param Props.onBreadcrumbLookup - A function that takes a path and returns a i18n translated string or undefined\n * @returns A Helmet component with updated title\n */\nexport function PageTitle({ pathname, onBreadcrumbLookup }: Props) {\n const paths: string[] = splitUrlPath(pathname);\n\n const pageTitles = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined)\n .map(({ title }) => title)\n .reverse()\n .join(' | ');\n\n return (\n <Helmet>\n <title>{pageTitles} | Entur Partner</title>\n </Helmet>\n );\n}\n"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","_ref","_ref$as","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","_objectWithoutPropertiesLoose","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","React","createElement","_extends","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","_ref2","ActionBar","_ref3","LinkButton","Link","featureFlag","flag","_window$localStorage","_window$localStorage2","import","meta","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","classnames","undefined","Menu","Content","useOutsideClick","ref","buttonRef","handler","useEffect","listener","event","elementContainsEventTarget","current","document","addEventListener","removeEventListener","element","contains","target","composed","composedPath","find","CustomOverflowMenu","userName","open","onOpenChange","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","SecondaryButton","onClick","role","UserIcon","inline","Heading6","style","DownArrowIcon","CustomOverflowMenuItem","props","LanguageSwitchMenuItem","language","onLanguageChange","setOpen","name","useB47LanguageKey","norwegianLanguageKey","englishLanguageKey","NorwayIcon","size","UKIcon","VersionMenuItem","navigate","useNavigate","ChannelsIcon","UserMenuItem","onNavigateToMyProfile","to","textDecoration","LogOutMenuItem","onLogout","LogOutIcon","UserMenu","messages","showVersionItem","showMyProfileItem","triggerClassList","_useState","useState","id","switchLanguage","appVersion","myProfile","logout","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","setSelectedOrganisation","org","SearchableDropdown","items","concat","sort","a","b","localeCompare","organisation","value","selectedItem","selectedValue","clearable","useEventListener","eventName","savedHandler","isSupported","eventListener","LanguageSelect","options","classNames","SegmentedControl","assertIsDefined","option","SegmentedChoice","required","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","variant","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","e","MultiLanguageInput","alertLabel","alertLevel","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","newAppVersionErrorMessage","ErrorBoundary","_Component","_this","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","retry","setState","message","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","isNorwegian","BannerAlertBox","Paragraph","PrimaryButton","location","reload","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","_ref$isOpen","isOpen","_ref$size","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","ButtonGroup","cancel","confirm","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","pathname","reset","proceed","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","filter","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight","PageTitle","pageTitles","reverse","join","Helmet"],"mappings":"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"}
1
+ {"version":3,"file":"common.esm.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu/useOutsideClick.ts","../src/UserMenu/components/CustomOverflowMenu.tsx","../src/UserMenu/components/CustomOverflowMenuItem.tsx","../src/UserMenu/components/LanguageSwitchMenuItem.tsx","../src/UserMenu/components/VersionMenuItem.tsx","../src/UserMenu/components/UserMenuItem.tsx","../src/UserMenu/components/LogOutMenuItem.tsx","../src/UserMenu/index.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx","../src/PageTitle.tsx"],"sourcesContent":["import './Box.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype StyleSpacing =\n | 'none'\n | 'extraSmall2'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7'\n | 'extraLarge8'\n | 'extraLarge9';\n\ntype StyleMargin = StyleSpacing | 'auto';\n\ntype StyleDisplay = 'block' | 'flex' | 'inline' | 'inline-block';\ntype StyleJustifyContent = 'center' | 'space-between' | 'start' | 'end';\ntype StyleAlignItems = 'center' | 'start' | 'end' | 'stretch' | 'baseline';\n\ntype StyleMaxWidth =\n | 'none'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'full';\ntype StyleWidth = 'auto' | 'full';\n\nexport type StyleBackground = 'blue' | 'lavender' | 'white' | 'blue70';\nexport type StyleColor = 'blue' | 'lavender' | 'white' | 'black';\n\ntype StyleFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\ntype StyleFlexWrap = 'wrap' | 'nowrap' | 'wrap-reverse';\n\nexport type ResponsiveStyleSpacing =\n | StyleSpacing\n | [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n | StyleMargin\n | [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n | StyleDisplay\n | [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n | StyleJustifyContent\n | [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n | StyleAlignItems\n | [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n | StyleMaxWidth\n | [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n | StyleWidth\n | [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n | StyleFlexDirection\n | [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n | StyleFlexWrap\n | [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n className?: string;\n as?: React.ElementType;\n [key: string]: any;\n children: ReactNode;\n\n contrast?: boolean;\n\n paddingTop?: ResponsiveStyleSpacing;\n paddingRight?: ResponsiveStyleSpacing;\n paddingBottom?: ResponsiveStyleSpacing;\n paddingLeft?: ResponsiveStyleSpacing;\n paddingX?: ResponsiveStyleSpacing;\n paddingY?: ResponsiveStyleSpacing;\n padding?: ResponsiveStyleSpacing;\n\n marginTop?: ResponsiveStyleMargin;\n marginRight?: ResponsiveStyleMargin;\n marginBottom?: ResponsiveStyleMargin;\n marginLeft?: ResponsiveStyleMargin;\n marginX?: ResponsiveStyleMargin;\n marginY?: ResponsiveStyleMargin;\n margin?: ResponsiveStyleMargin;\n\n display?: ResponsiveStyleDisplay;\n justifyContent?: ResponsiveStyleJustifyContent;\n alignItems?: ResponsiveStyleAlignItems;\n\n maxWidth?: ResponsiveStyleMaxWidth;\n width?: ResponsiveStyleWidth;\n background?: StyleBackground;\n color?: StyleColor;\n\n flexDirection?: ResponsiveStyleFlexDirection;\n flexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n if (Array.isArray(prop)) {\n const classes = [];\n prop[0] && classes.push(prefix + prop[0]);\n prop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n prop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n return classes;\n }\n return [prefix + prop];\n}\n\nexport const Box = ({\n as: Component = 'div',\n children,\n contrast,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n paddingX,\n paddingY,\n padding,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n margin,\n display,\n justifyContent,\n alignItems,\n maxWidth,\n width,\n background,\n color,\n flexDirection,\n flexWrap,\n className,\n ...rest\n}: BoxProps) => {\n const classes = [];\n const resolvedPaddingTop = paddingTop || paddingY || padding;\n const resolvedPaddingBottom = paddingBottom || paddingY || padding;\n const resolvedPaddingLeft = paddingLeft || paddingX || padding;\n const resolvedPaddingRight = paddingRight || paddingX || padding;\n\n const resolvedMarginTop = marginTop || marginY || margin;\n const resolvedMarginBottom = marginBottom || marginY || margin;\n const resolvedMarginLeft = marginLeft || marginX || margin;\n const resolvedMarginRight = marginRight || marginX || margin;\n\n contrast && classes.push('eds-contrast');\n resolvedPaddingTop &&\n classes.push(...responsiveProp('eps-pt-', resolvedPaddingTop));\n resolvedPaddingBottom &&\n classes.push(...responsiveProp('eps-pb-', resolvedPaddingBottom));\n resolvedPaddingLeft &&\n classes.push(...responsiveProp('eps-pl-', resolvedPaddingLeft));\n resolvedPaddingRight &&\n classes.push(...responsiveProp('eps-pr-', resolvedPaddingRight));\n resolvedMarginTop &&\n classes.push(...responsiveProp('eps-mt-', resolvedMarginTop));\n resolvedMarginBottom &&\n classes.push(...responsiveProp('eps-mb-', resolvedMarginBottom));\n resolvedMarginLeft &&\n classes.push(...responsiveProp('eps-ml-', resolvedMarginLeft));\n resolvedMarginRight &&\n classes.push(...responsiveProp('eps-mr-', resolvedMarginRight));\n\n display && classes.push(...responsiveProp('eps-', display));\n justifyContent &&\n classes.push(...responsiveProp('eps-justify-', justifyContent));\n if (alignItems) {\n classes.push(...responsiveProp('eps-items-', alignItems));\n }\n\n maxWidth && classes.push(...responsiveProp('eps-max-w-', maxWidth));\n width && classes.push(...responsiveProp('eps-w-', width));\n\n color && classes.push(`eps-color-${color}`);\n background && classes.push(`eps-bg-${background}`);\n\n flexDirection && classes.push(...responsiveProp('eps-flex-', flexDirection));\n flexWrap && classes.push(...responsiveProp('eps-flex-wrap-', flexWrap));\n\n const classList = cx(classes, className);\n\n return (\n <Component className={classList} {...rest}>\n {children}\n </Component>\n );\n};\n","import React, { ReactNode, Children } from 'react';\n\nimport { ResponsiveStyleSpacing, Box } from './Box';\n\nexport interface StackProps {\n className?: string;\n children: ReactNode;\n space: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n const stackItems = Children.toArray(children);\n if (stackItems.length <= 1) {\n return <>{stackItems}</>;\n }\n\n return (\n <div className={className}>\n {stackItems.map((child, index) =>\n index === stackItems.length - 1 ? (\n <div key={index}>{child}</div>\n ) : (\n <Box paddingBottom={space} key={index}>\n {child}\n </Box>\n )\n )}\n </div>\n );\n};\n","import './ActionBar.scss';\nimport React, { ReactNode } from 'react';\n\nexport interface ActionBarProps {\n children: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n return (\n <>\n <div className=\"eps-action-bar-padding\" />\n <div className=\"eps-action-bar\">{children}</div>\n </>\n );\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import './LinkButton.scss';\n\nimport React, { ReactNode } from 'react';\nimport { Link } from '@entur/typography';\nimport cx from 'classnames';\n\nexport interface LinkButtonProps {\n children: ReactNode;\n className?: string;\n [key: string]: any;\n}\n\nexport const LinkButton = ({\n children,\n className,\n ...rest\n}: LinkButtonProps) => (\n <Link {...rest} as=\"button\" className={cx('eps-link-button', className)}>\n {children}\n </Link>\n);\n","/// <reference types=\"vite/client\" />\nimport React, { ReactNode } from 'react';\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n return (\n import.meta.env[`VITE_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`VITE_APP_${flag}`) === 'true'\n );\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n return featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n /** Visible if flag exist, hidden if not.*/\n children: ReactNode;\n /** Case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix. */\n flag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n const feature = useFeatureToggle(flag);\n if (feature) {\n return <>{children}</>;\n }\n return null;\n};\n","export enum Environment {\n Local = 'local',\n Development = 'dev',\n Staging = 'staging',\n Production = 'prod',\n}\n\nconst environmentColors: Record<\n Exclude<Environment, Environment.Production>,\n string\n> = {\n [Environment.Local]: '#B482FB',\n [Environment.Development]: '#5AC39A',\n [Environment.Staging]: '#FFCA28',\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n environment: Exclude<Environment, Environment.Production>\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n [Environment.Local]: 'Local',\n [Environment.Development]: 'Dev',\n [Environment.Staging]: 'Staging',\n [Environment.Production]: 'Prod',\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n humanReadableEnvironment[environment];\n","import './EnturPartnerLogo.scss';\n\nimport React, { FC } from 'react';\nimport classnames from 'classnames';\n\nimport { Environment, getColorForEnvironment } from './environment';\n\ninterface LogoProps {\n title: string;\n className?: string;\n accentColor?: string;\n [key: string]: any;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n title,\n accentColor = '#FF5959',\n ...rest\n}) => {\n return (\n <svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n <title>{title}</title>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#FFF\"\n d=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n />\n <path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z\"\n />\n <g fill={accentColor}>\n <path d=\"M141.051 23.448h5.628c4.185 0 5.989-1.984 5.989-4.942 0-2.742-1.515-4.618-5.989-4.618h-5.628v9.56zm0 3.067v9.776h-3.571V10.75h9.632c6.674 0 9.127 3.211 9.127 7.54 0 4.979-3.102 8.226-9.2 8.226h-5.988zM169.695 28.715c-1.371-.288-2.958-.505-4.401-.505-2.85 0-4.041 1.263-4.041 3.139s1.407 2.706 3.463 2.706c2.49 0 4.979-1.443 4.979-4.221v-1.119zm-4.293-2.958c1.551 0 3.174.253 4.293.469v-.83c0-2.525-1.154-3.896-4.33-3.896-2.164 0-3.824.866-4.942 2.092l-2.02-2.272c1.732-1.66 3.644-2.598 7.07-2.598 5.052 0 7.469 1.876 7.469 7.215v10.354h-3.211V34.02h-.108c-1.082 1.767-3.211 2.705-5.592 2.705-3.32 0-6.241-1.66-6.241-5.303 0-3.103 1.912-5.664 7.612-5.664zM178.965 19.191h3.211v2.886h.108c.938-1.984 2.922-3.355 5.231-3.355.47 0 .938.036 1.335.144l-.144 3.14a6.77 6.77 0 00-1.552-.181c-3.246 0-4.798 2.633-4.798 5.483v8.983h-3.39v-17.1zM199.961 36.291h-1.912c-4.004 0-5.988-.938-5.988-5.772v-8.55h-2.778V19.19h2.778v-4.654h3.355v4.654h4.473v2.778h-4.473v7.973c0 3.427 1.587 3.535 3.319 3.535h1.226v2.814zM219.767 36.291h-3.391V26.84c0-2.778-1.083-5.375-4.257-5.375-3.14 0-5.268 2.597-5.268 6.169v8.658h-3.391v-17.1h3.32v2.814h.143c.794-1.623 3.067-3.283 5.99-3.283 4.941 0 6.854 3.644 6.854 8.081v9.488zM227.847 26.262h10.57c0-2.597-2.272-4.726-5.087-4.726-2.922 0-5.014 1.948-5.483 4.726zm-.036 2.453c.397 3.355 2.633 5.195 5.844 5.195 2.778 0 4.618-1.623 5.484-2.67l2.164 1.804c-1.37 1.913-4.365 3.716-8.045 3.716-4.942 0-8.73-3.535-8.73-8.55 0-5.195 3.752-9.488 8.983-9.488 5.303 0 8.009 4.365 8.009 8.19 0 .649-.036 1.226-.072 1.803H227.81zM246.245 19.191h3.21v2.886h.109c.938-1.984 2.922-3.355 5.231-3.355.469 0 .938.036 1.335.144l-.145 3.14a6.77 6.77 0 00-1.551-.181c-3.247 0-4.798 2.633-4.798 5.483v8.983h-3.391v-17.1z\" />\n </g>\n </g>\n </svg>\n );\n};\n\ninterface EnturPartnerLogoProps {\n altText: string;\n as?: 'div' | React.ElementType;\n className?: string;\n environment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n as: Component = 'nav',\n className,\n altText,\n environment,\n}) => {\n const classList = classnames(['eps-logo-wrapper', className]);\n\n return (\n <Component className={classList}>\n <EnturPartnerLogoSvg\n title={altText}\n className=\"logo\"\n accentColor={\n environment !== undefined && environment !== Environment.Production\n ? getColorForEnvironment(environment)\n : undefined\n }\n />\n </Component>\n );\n};\n","import './Menu.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface MenuProps {\n children: ReactNode;\n as?: 'div' | React.ElementType;\n className?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n as: Component = 'nav',\n className,\n children,\n}) => {\n const classList = classnames(['eds-contrast', 'eps-menu', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import './Content.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface ContentProps {\n children: ReactNode;\n as?: 'main' | React.ElementType;\n className?: string;\n}\nexport const Content: FC<ContentProps> = ({\n as: Component = 'main',\n className,\n children,\n}) => {\n const classList = classnames(['eps-content', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import React from 'react';\n\nexport function useOutsideClick(\n ref: React.RefObject<HTMLDivElement>,\n buttonRef: React.RefObject<HTMLButtonElement>,\n handler: () => void\n) {\n React.useEffect(() => {\n const listener = (event: Event) => {\n if (\n elementContainsEventTarget(ref.current, event) ||\n elementContainsEventTarget(buttonRef.current, event)\n ) {\n return;\n }\n\n handler();\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, buttonRef, handler]);\n}\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n if (!element) {\n return false;\n }\n\n if (element.contains(event.target as Node)) {\n return true;\n }\n\n // For elements inside a Shadow DOM we need to check the composedPath\n if (event.composed && event.composedPath) {\n const contains = event.composedPath().find((target) => {\n if (target === window) {\n return false;\n }\n return element.contains(target as Node);\n });\n return !!contains;\n }\n\n return false;\n}\n","import '../index.scss';\n\nimport React from 'react';\nimport cx from 'classnames';\nimport { DownArrowIcon, UserIcon } from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\n\nimport {\n Environment,\n getColorForEnvironment,\n getHumanReadableEnvironment,\n} from '../../environment';\nimport { useOutsideClick } from '../useOutsideClick';\n\nexport const CustomOverflowMenu: React.FC<{\n className?: string;\n children: React.ReactNode;\n userName: string;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n environment?: Environment;\n}> = ({\n className,\n children,\n userName,\n open,\n onOpenChange,\n environment,\n ...rest\n}) => {\n const overflowItemsClasses = cx('eps-overflow-menu__group', {\n 'eps-overflow-menu__group--open': open,\n });\n const overflowContentRef = React.useRef<HTMLDivElement>(null);\n const overflowMenuTriggerRef = React.useRef<HTMLButtonElement>(null);\n useOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n onOpenChange(false)\n );\n return (\n <div>\n <SecondaryButton\n className={cx('eps-overflow-menu__button', className)}\n onClick={() => onOpenChange(open ? false : true)}\n aria-haspopup={true}\n role=\"button\"\n aria-expanded={open}\n ref={overflowMenuTriggerRef}\n {...rest}\n >\n <div className=\"eps-overflow-menu__button-contents\">\n <span className=\"eds-overflow-menu__user-icon\">\n <UserIcon inline />\n </span>\n <Heading6 margin=\"none\" as=\"span\">\n {userName}\n {environment !== undefined &&\n environment !== Environment.Production && (\n <span style={{ color: getColorForEnvironment(environment) }}>\n {' '}\n ({getHumanReadableEnvironment(environment)})\n </span>\n )}\n </Heading6>\n <span className=\"eps-arrow-icon\">\n <DownArrowIcon inline />\n </span>\n </div>\n </SecondaryButton>\n {open && (\n <div\n className={overflowItemsClasses}\n role=\"menu\"\n ref={overflowContentRef}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport cx from 'classnames';\n\nexport const CustomOverflowMenuItem: React.FC<\n React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n> = (props) => {\n return (\n <button\n className={cx(props.className, 'eps-overflow-menu__item')}\n role=\"menuitem\"\n {...props}\n />\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport { NorwayIcon, UKIcon } from '@entur/icons';\n\nimport { useFeatureToggle } from '../../FeatureToggle';\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n language: string;\n onLanguageChange: (language: string) => void;\n setOpen: (open: boolean) => void;\n name: string;\n};\n\nexport const LanguageSwitchMenuItem = ({\n language,\n onLanguageChange,\n setOpen,\n name,\n}: Props) => {\n const useB47LanguageKey = useFeatureToggle('USE_BCP-47_LANGUAGE_KEY');\n const norwegianLanguageKey = useB47LanguageKey ? 'nb-NO' : 'nb';\n const englishLanguageKey = useB47LanguageKey ? 'en-GB' : 'en';\n\n return (\n <>\n {language === englishLanguageKey ? (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange(norwegianLanguageKey);\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <NorwayIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n ) : (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange(englishLanguageKey);\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <UKIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n )}\n </>\n );\n};\n","import React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ChannelsIcon } from '@entur/icons';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\nexport const VersionMenuItem: React.FC<{\n title: string;\n setOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n const navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n navigate('/app-version');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n </span>\n {title}\n </CustomOverflowMenuItem>\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport { UserIcon } from '@entur/icons';\nimport { Link } from 'react-router-dom';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n name: string;\n setOpen: (open: boolean) => void;\n onNavigateToMyProfile: () => void;\n};\n\nexport const UserMenuItem = ({\n name,\n setOpen,\n onNavigateToMyProfile,\n}: Props) => {\n return (\n <Link to=\"/permission-admin/my-profile\" style={{ textDecoration: 'none' }}>\n <CustomOverflowMenuItem\n onClick={() => {\n setOpen(false);\n onNavigateToMyProfile();\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <UserIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n </Link>\n );\n};\n","import '../index.scss';\n\nimport React from 'react';\nimport { LogOutIcon } from '@entur/icons';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n name: string;\n setOpen: (open: boolean) => void;\n onLogout: () => void;\n};\n\nexport const LogOutMenuItem = ({ name, setOpen, onLogout }: Props) => {\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n onLogout();\n setOpen(false);\n }}\n data-testid=\"user-menu-logout\"\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <LogOutIcon size=\"1rem\" inline />\n </span>\n {name}\n </CustomOverflowMenuItem>\n );\n};\n","import './index.scss';\n\nimport React, { FC, useState } from 'react';\nimport cx from 'classnames';\n\nimport { Environment } from '../environment';\nimport { CustomOverflowMenu } from './components/CustomOverflowMenu';\nimport { LanguageSwitchMenuItem } from './components/LanguageSwitchMenuItem';\nimport { VersionMenuItem } from './components/VersionMenuItem';\nimport { UserMenuItem } from './components/UserMenuItem';\nimport { LogOutMenuItem } from './components/LogOutMenuItem';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n appVersion?: string;\n myProfile?: string;\n };\n onLogout: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n environment?: Environment;\n showVersionItem?: boolean;\n showMyProfileItem?: boolean;\n onNavigateToMyProfile: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n userName,\n language,\n environment,\n showVersionItem,\n showMyProfileItem,\n onNavigateToMyProfile,\n}) => {\n const triggerClassList = cx(['eps-user-menu__trigger-button', className]);\n const [open, setOpen] = useState(false);\n\n return (\n <div id=\"eps-user-menu\">\n <CustomOverflowMenu\n open={open}\n onOpenChange={setOpen}\n className={triggerClassList}\n userName={userName}\n environment={environment}\n >\n <div id=\"eps-overflow-menu\">\n <LanguageSwitchMenuItem\n name={messages.switchLanguage}\n language={language}\n onLanguageChange={onLanguageChange}\n setOpen={setOpen}\n />\n {showVersionItem && messages.appVersion && (\n <VersionMenuItem title={messages.appVersion} setOpen={setOpen} />\n )}\n {showMyProfileItem && messages.myProfile && (\n <UserMenuItem\n name={messages.myProfile}\n setOpen={setOpen}\n onNavigateToMyProfile={onNavigateToMyProfile}\n />\n )}\n <LogOutMenuItem\n name={messages.logout}\n setOpen={setOpen}\n onLogout={onLogout}\n />\n </div>\n </CustomOverflowMenu>\n </div>\n );\n};\n","import React, { FC, useEffect, useState } from 'react';\nimport { SearchableDropdown } from '@entur/dropdown';\n\ninterface OrganisationV3 {\n organisationId: number;\n tradingName: string;\n}\n\ninterface OrganisationDropDownProps {\n label: string;\n onChange: (organisationId: number) => void;\n organisations: OrganisationV3[];\n selectedOrganisationId?: number;\n [key: string]: any;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n label,\n organisations,\n onChange: handleChange,\n selectedOrganisationId,\n ...rest\n}) => {\n const [selectedOrganisation, setSelectedOrganisation] =\n useState<OrganisationV3>();\n\n useEffect(() => {\n setSelectedOrganisation(\n organisations.find((org) => org.organisationId === selectedOrganisationId)\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedOrganisationId]);\n\n return (\n <SearchableDropdown\n label={label}\n items={[\n ...organisations\n .sort((a, b) => a.tradingName.localeCompare(b.tradingName, 'nb'))\n .map((organisation) => {\n return {\n value: organisation.organisationId,\n label: organisation.tradingName,\n };\n }),\n ]}\n selectedItem={\n selectedOrganisation\n ? {\n value: selectedOrganisation.organisationId,\n label: selectedOrganisation.tradingName,\n }\n : null\n }\n onChange={(selectedValue) => {\n if (selectedValue) {\n handleChange(selectedValue.value);\n }\n }}\n clearable={false}\n {...rest}\n />\n );\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from 'react';\n\ninterface TypedEventListener<T extends Event> {\n (evt: T): void;\n}\n\nexport function useEventListener<T extends Event = Event>(\n eventName: string,\n handler: TypedEventListener<T>,\n element: WindowEventHandlers = window\n) {\n const savedHandler = useRef<TypedEventListener<T>>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = ((event: T): void =>\n savedHandler.current?.(event)) as EventListener;\n\n element.addEventListener(eventName, eventListener);\n\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n","import './LanguageSelect.scss';\n\nimport React, { FC } from 'react';\nimport { SegmentedControl, SegmentedChoice } from '@entur/form';\nimport cx from 'classnames';\nimport { assertIsDefined } from '@entur-partner/util';\n\nexport type LanguageKey = 'nob' | 'nno' | 'eng';\n\nexport interface LanguageOption {\n value: LanguageKey;\n label: string;\n required: boolean;\n}\n\nexport interface LanguageSelectProps {\n language: string;\n options: LanguageOption[];\n className?: string;\n onChange: (language: string) => void;\n [key: string]: any;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n language,\n options,\n className,\n onChange,\n ...rest\n}) => {\n const classNames = cx('eps-language-select', className);\n return (\n <div {...rest} className={classNames}>\n <SegmentedControl\n onChange={(language) => {\n assertIsDefined(language);\n onChange(language);\n }}\n selectedValue={language}\n >\n {options.map((option) => (\n <SegmentedChoice key={option.value} value={option.value}>\n {option.label}\n {option.required && <span className=\"asterisk-margin\">{'*'}</span>}\n </SegmentedChoice>\n ))}\n </SegmentedControl>\n </div>\n );\n};\n","import React, { ChangeEvent } from 'react';\nimport { VariantType } from '@entur/form';\nimport { ExpandablePanel } from '@entur/expand';\n\nimport { LanguageKey, LanguageOption } from './LanguageSelect';\nimport { Stack } from './Stack';\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n title: string;\n inputComponent: React.ElementType;\n languages: LanguageOption[];\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n name: string;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n [key: string]: any;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n title,\n inputComponent: InputComponent,\n languages,\n values,\n onChange,\n name,\n variant,\n feedback,\n ...rest\n}: ExpandableMultiLanguageInputProps) => {\n const handleOnChange = (language: LanguageKey, value?: string) => {\n const changes = { ...values };\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map(({ value: langKey, label, required }) => (\n <InputComponent\n data-testid={`multi-lang-input-${name}-${langKey}`}\n key={title + langKey}\n label={required ? label + '*' : label}\n variant={variant && variant(langKey)}\n feedback={feedback && feedback(langKey)}\n name={name}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleOnChange(langKey, e.target.value);\n }}\n value={values[langKey] || ''}\n {...rest}\n />\n ))}\n </Stack>\n </ExpandablePanel>\n );\n};\n","import './MultiLanguageInput.scss';\n\nimport React, { FC, useState, ChangeEvent, FocusEvent } from 'react';\nimport cx from 'classnames';\nimport { VariantType } from '@entur/form';\n\nimport { Stack } from './Stack';\nimport { LanguageSelect, LanguageOption } from './LanguageSelect';\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n className?: string;\n onBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n inputComponent: React.ElementType;\n values: { [key: string]: string };\n languages: LanguageOption[];\n onChange: (values: Values) => void;\n name: string;\n alertLevel?: VariantType;\n alertLabel?: string;\n label?: string;\n defaultLanguage?: string;\n [key: string]: any;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n className,\n inputComponent: InputComponent,\n alertLabel,\n alertLevel,\n name,\n languages,\n values,\n onChange,\n defaultLanguage = 'nob',\n label = '',\n onBlur = () => {},\n ...rest\n}) => {\n const [language, setLanguage] = useState(defaultLanguage);\n const classNames = cx('multi-language-input', className);\n const currentValue = values[language];\n\n const handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n e.persist();\n const currentTarget = e.currentTarget;\n setTimeout(() => {\n if (currentTarget && !currentTarget.contains(document.activeElement)) {\n onBlur(e);\n }\n }, 0);\n };\n\n const handleLanguageChange = (language: string) => {\n setLanguage(language);\n };\n\n const handleOnChange = (value?: string) => {\n const changes = Object.assign({}, values);\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <div\n className={classNames}\n tabIndex={0}\n onBlur={handleOnBlur}\n data-testid={`multi-lang-input-${name}`}\n >\n <Stack space=\"extraSmall\">\n <LanguageSelect\n language={language}\n options={languages}\n onChange={(lang) => handleLanguageChange(lang)}\n />\n <InputComponent\n label={label}\n variant={alertLevel}\n feedback={alertLabel}\n name={name}\n className=\"language-item\"\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(e.target.value)\n }\n value={currentValue || ''}\n {...rest}\n />\n </Stack>\n </div>\n );\n};\n","import './Unbutton.scss';\n\nimport React, { FC } from 'react';\nimport { Button, ButtonProps } from '@entur/button';\nimport cx from 'classnames';\n\ninterface UnbuttonProps extends Omit<ButtonProps<any>, 'variant'> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n children,\n className,\n ...rest\n}) => (\n <Button variant=\"primary\" {...rest} className={cx('eps-unbutton', className)}>\n {children}\n </Button>\n);\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","import React, { ReactNode, Component, ErrorInfo } from 'react';\nimport { BannerAlertBox } from '@entur/alert';\nimport { PrimaryButton } from '@entur/button';\nimport { Paragraph } from '@entur/typography';\n\nimport { isFunction } from './helpers';\nimport { Box } from './Box';\n\ntype FallbackOptions = {\n retry: () => void;\n error: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n handleError?: (error: Error, errorInfo: ErrorInfo) => void;\n fallback: ReactNode | RenderProp;\n children: ReactNode;\n};\n\ntype State = {\n error: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n \"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: Error): State {\n return {\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n // React always logs in development\n this.props.handleError?.(error, errorInfo);\n }\n\n render() {\n const { error } = this.state;\n const { fallback, children } = this.props;\n\n if (error) {\n if (isFunction<RenderProp>(fallback)) {\n return fallback({ retry: () => this.setState({ error: null }), error });\n } else if (\n error.name === 'NotFoundError' &&\n error.message === newAppVersionErrorMessage\n ) {\n return <RefreshBannerInfo />;\n }\n\n return fallback;\n }\n\n return children;\n }\n}\n\nexport const LANGUAGE_STORAGE_KEY = 'EP::locale';\n\nfunction RefreshBannerInfo() {\n // Taken from ./app-shell/src/storage.ts\n const language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n const isNorwegian = language === 'nb';\n return (\n <Box maxWidth=\"large\">\n <BannerAlertBox\n variant=\"info\"\n title={\n isNorwegian\n ? 'En ny versjon av nettsiden er tilgjengelig.'\n : 'A new version of the website is available.'\n }\n >\n <Box paddingBottom=\"medium\">\n <Paragraph margin=\"none\">\n {isNorwegian ? 'Vennligst oppdater.' : 'Please refresh.'}\n </Paragraph>\n </Box>\n <PrimaryButton onClick={() => window.location.reload()}>\n {isNorwegian ? 'Oppdater' : 'Refresh'}\n </PrimaryButton>\n </BannerAlertBox>\n </Box>\n );\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { FC, ReactNode } from 'react';\nimport { useBlocker, useInRouterContext } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\nimport { assertIsDefined } from '@entur-partner/util';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n assertIsDefined(\n useInRouterContext() ? true : undefined,\n `RouteLeavingGuard must be used within a data router.`\n );\n\n const blocker = useBlocker(\n ({ currentLocation, nextLocation }) =>\n currentLocation.pathname !== nextLocation.pathname &&\n shouldBlockNavigation(nextLocation)\n );\n\n return (\n <ConfirmModal\n onDismiss={() => {\n if (blocker.state === 'blocked') {\n blocker.reset();\n }\n }}\n open={blocker.state === 'blocked'}\n onConfirm={() => {\n if (blocker.state === 'blocked') {\n blocker.proceed();\n }\n }}\n {...rest}\n >\n {children}\n </ConfirmModal>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\nimport { splitUrlPath } from '@entur-partner/util';\n\nexport interface BreadcrumbsProps {\n pathname: string;\n onBreadcrumbLookup: (path: string) => string | undefined;\n prependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n prependBreadcrumbItem,\n pathname,\n onBreadcrumbLookup,\n}) => {\n const paths: string[] = splitUrlPath(pathname);\n\n const breadcrumbs = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined);\n\n const breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n const isLast = i === breadcrumbs.length - 1;\n if (isLast) {\n return (\n <BreadcrumbItem key={path} as={'span'}>\n {title}\n </BreadcrumbItem>\n );\n }\n return (\n <BreadcrumbItem key={path} as={Link} to={path}>\n {title}\n </BreadcrumbItem>\n );\n });\n\n if (prependBreadcrumbItem) {\n return (\n <BreadcrumbNavigation>\n {[prependBreadcrumbItem, ...breadcrumbElements]}\n </BreadcrumbNavigation>\n );\n }\n\n return <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import React, { FC } from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport { Link as A } from '@entur/typography';\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n return (\n <A {...props} as={RouterLink}>\n {props.children}\n </A>\n );\n};\n","import './Text.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { StyleColor, responsiveProp, Box } from './Box';\n\ntype StyleFontSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4';\n\ntype StyleFontWeight = 'body' | 'heading';\n\ntype StyleLineHeight =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7';\n\nexport type ResponsiveStyleFontSize =\n | StyleFontSize\n | [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n | StyleLineHeight\n | [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n className?: string;\n as?: React.ElementType;\n children: ReactNode;\n\n fontSize?: ResponsiveStyleFontSize;\n lineHeight?: ResponsiveStyleLineHeight;\n color?: StyleColor;\n fontWeight?: StyleFontWeight;\n\n [key: string]: any;\n}\n\nexport const Text = ({\n as: component = 'span',\n children,\n fontSize,\n color,\n lineHeight,\n fontWeight,\n className,\n ...rest\n}: TextProps) => {\n const classes = [];\n\n fontSize && classes.push(...responsiveProp('eps-font-size-', fontSize));\n lineHeight && classes.push(...responsiveProp('eps-line-height-', lineHeight));\n fontWeight && classes.push('eps-font-weight-' + fontWeight);\n\n const classList = cx(classes, className);\n\n return (\n <Box as={component} color={color} className={classList} {...rest}>\n {children}\n </Box>\n );\n};\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { splitUrlPath } from '@entur-partner/util';\n\ntype Props = {\n readonly pathname: string;\n readonly onBreadcrumbLookup: (path: string) => string | undefined;\n};\n\n/**\n * This component changes page title by using helmet and current path. It will translate subpaths, join them with a dash\n * and display it on browser tab.\n *\n * @param Props.pathname - The current path from react-router-dom.useLocation()\n * @param Props.onBreadcrumbLookup - A function that takes a path and returns a i18n translated string or undefined\n * @returns A Helmet component with updated title\n */\nexport function PageTitle({ pathname, onBreadcrumbLookup }: Props) {\n const paths: string[] = splitUrlPath(pathname);\n\n const pageTitles = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined)\n .map(({ title }) => title)\n .reverse()\n .join(' | ');\n\n return (\n <Helmet>\n <title>{pageTitles} | Entur Partner</title>\n </Helmet>\n );\n}\n"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","_ref","_ref$as","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","_objectWithoutPropertiesLoose","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","React","createElement","_extends","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","_ref2","ActionBar","_ref3","LinkButton","Link","featureFlag","flag","_window$localStorage","_window$localStorage2","import","meta","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","classnames","undefined","Menu","Content","useOutsideClick","ref","buttonRef","handler","useEffect","listener","event","elementContainsEventTarget","current","document","addEventListener","removeEventListener","element","contains","target","composed","composedPath","find","CustomOverflowMenu","userName","open","onOpenChange","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","SecondaryButton","onClick","role","UserIcon","inline","Heading6","style","DownArrowIcon","CustomOverflowMenuItem","props","LanguageSwitchMenuItem","language","onLanguageChange","setOpen","name","useB47LanguageKey","norwegianLanguageKey","englishLanguageKey","NorwayIcon","size","UKIcon","VersionMenuItem","navigate","useNavigate","ChannelsIcon","UserMenuItem","onNavigateToMyProfile","to","textDecoration","LogOutMenuItem","onLogout","LogOutIcon","UserMenu","messages","showVersionItem","showMyProfileItem","triggerClassList","_useState","useState","id","switchLanguage","appVersion","myProfile","logout","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","setSelectedOrganisation","org","organisationId","SearchableDropdown","items","concat","sort","a","b","tradingName","localeCompare","organisation","value","selectedItem","selectedValue","clearable","useEventListener","eventName","savedHandler","isSupported","eventListener","LanguageSelect","options","classNames","SegmentedControl","assertIsDefined","option","SegmentedChoice","required","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","variant","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","e","MultiLanguageInput","alertLabel","alertLevel","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","newAppVersionErrorMessage","ErrorBoundary","_Component","_this","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","retry","setState","message","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","isNorwegian","BannerAlertBox","Paragraph","PrimaryButton","location","reload","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","_ref$isOpen","isOpen","_ref$size","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","ButtonGroup","cancel","confirm","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","pathname","reset","proceed","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","filter","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight","PageTitle","pageTitles","reverse","join","Helmet"],"mappings":"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"}