@entur-partner/common 9.1.0 → 9.1.2

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.
@@ -510,7 +510,7 @@ var CookieSettingsMenuItem = function CookieSettingsMenuItem(_ref) {
510
510
  className: "eps-overflow-menu__item"
511
511
  }, React__default["default"].createElement("span", {
512
512
  "aria-hidden": true
513
- }, React__default["default"].createElement(icons.ConfigurationIcon, {
513
+ }, React__default["default"].createElement(icons.CookieIcon, {
514
514
  size: "1rem",
515
515
  inline: true
516
516
  })), name);
@@ -1 +1 @@
1
- {"version":3,"file":"common.cjs.development.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/components/CookieSettingsMenuItem.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 from 'react';\nimport { ConfigurationIcon } from '@entur/icons';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n name: string;\n setOpen: (open: boolean) => void;\n onCookieSettingsOpen: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({\n name,\n setOpen,\n onCookieSettingsOpen,\n}: Props) => {\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n onCookieSettingsOpen();\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden={true}>\n <ConfigurationIcon 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';\nimport { CookieSettingsMenuItem } from './components/CookieSettingsMenuItem';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n appVersion?: string;\n myProfile?: string;\n cookieSettings?: 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 showCookieSettingsItem?: boolean;\n onNavigateToMyProfile: () => void;\n onCookieSettingsOpen?: () => 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 showCookieSettingsItem,\n onNavigateToMyProfile,\n onCookieSettingsOpen = () => {},\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 {showCookieSettingsItem && messages.cookieSettings && (\n <CookieSettingsMenuItem\n name={messages.cookieSettings}\n setOpen={setOpen}\n onCookieSettingsOpen={onCookieSettingsOpen}\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","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","CookieSettingsMenuItem","onCookieSettingsOpen","ConfigurationIcon","UserMenu","messages","showVersionItem","showMyProfileItem","showCookieSettingsItem","_ref$onCookieSettings","triggerClassList","_useState","useState","id","switchLanguage","appVersion","myProfile","cookieSettings","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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"}
1
+ {"version":3,"file":"common.cjs.development.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/components/CookieSettingsMenuItem.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 from 'react';\nimport { CookieIcon } from '@entur/icons';\n\nimport { CustomOverflowMenuItem } from './CustomOverflowMenuItem';\n\ntype Props = {\n name: string;\n setOpen: (open: boolean) => void;\n onCookieSettingsOpen: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({\n name,\n setOpen,\n onCookieSettingsOpen,\n}: Props) => {\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n onCookieSettingsOpen();\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden={true}>\n <CookieIcon 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';\nimport { CookieSettingsMenuItem } from './components/CookieSettingsMenuItem';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n appVersion?: string;\n myProfile?: string;\n cookieSettings?: 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 showCookieSettingsItem?: boolean;\n onNavigateToMyProfile: () => void;\n onCookieSettingsOpen?: () => 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 showCookieSettingsItem,\n onNavigateToMyProfile,\n onCookieSettingsOpen = () => {},\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 {showCookieSettingsItem && messages.cookieSettings && (\n <CookieSettingsMenuItem\n name={messages.cookieSettings}\n setOpen={setOpen}\n onCookieSettingsOpen={onCookieSettingsOpen}\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","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","CookieSettingsMenuItem","onCookieSettingsOpen","CookieIcon","UserMenu","messages","showVersionItem","showMyProfileItem","showCookieSettingsItem","_ref$onCookieSettings","triggerClassList","_useState","useState","id","switchLanguage","appVersion","myProfile","cookieSettings","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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"}