@entur-partner/common 5.3.0 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common.cjs.development.js +2 -2
- package/dist/common.cjs.development.js.map +1 -1
- package/dist/common.cjs.production.min.js +1 -1
- package/dist/common.cjs.production.min.js.map +1 -1
- package/dist/common.esm.js +2 -2
- package/dist/common.esm.js.map +1 -1
- package/dist/styles.css +1371 -1371
- package/package.json +2 -2
package/dist/common.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.esm.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.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/PermissionCheckedRoute.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","import 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 REACT_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n return (\n process.env[`REACT_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`REACT_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 REACT_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 REACT_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 './UserMenu.scss';\n\nimport React, { FC, useState } from 'react';\nimport cx from 'classnames';\nimport {\n DownArrowIcon,\n ChannelsIcon,\n LogOutIcon,\n NorwayIcon,\n UKIcon,\n UserIcon,\n} from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\nimport { Link, useHistory } from 'react-router-dom';\n\nimport {\n Environment,\n getColorForEnvironment,\n getHumanReadableEnvironment,\n} from './environment';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n appVersion?: string;\n myProfile?: string;\n };\n onLogout: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n environment?: Environment;\n showVersionItem?: boolean;\n showMyProfileItem?: boolean;\n onNavigateToMyProfile: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n userName,\n language,\n environment,\n showVersionItem,\n showMyProfileItem,\n onNavigateToMyProfile,\n}) => {\n const history = useHistory();\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 {language === 'en' ? (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('nb');\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 {messages.switchLanguage}\n </CustomOverflowMenuItem>\n ) : (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('en');\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 {messages.switchLanguage}\n </CustomOverflowMenuItem>\n )}\n {showVersionItem && messages.appVersion && (\n <CustomOverflowMenuItem\n onClick={() => {\n history.push('/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 {messages.appVersion}\n </CustomOverflowMenuItem>\n )}\n {showMyProfileItem && messages.myProfile && (\n <Link\n to=\"/permission-admin/my-profile\"\n style={{ textDecoration: 'none' }}\n >\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 {messages.myProfile}\n </CustomOverflowMenuItem>\n </Link>\n )}\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 {messages.logout}\n </CustomOverflowMenuItem>\n </div>\n </CustomOverflowMenu>\n </div>\n );\n};\n\nconst 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\nconst 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\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 ? true : false;\n }\n\n return false;\n}\n\nfunction 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","import React, { FC } from 'react';\nimport { SearchableDropdown } from '@entur/dropdown';\n\ninterface Organisation {\n name: string;\n id: string;\n}\n\ninterface OrganisationDropDownProps {\n label: string;\n onChange: (id: string) => void;\n organisations: Organisation[];\n selectedOrganisationId?: string;\n [key: string]: any;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n label,\n organisations,\n onChange: handleChange,\n selectedOrganisationId,\n ...rest\n}) => {\n const selectedOrganisation = organisations.find(\n (org) => org.id === selectedOrganisationId\n );\n return (\n <SearchableDropdown\n label={label}\n items={[\n ...organisations\n .sort((a, b) => a.name.localeCompare(b.name, 'nb'))\n .map((organisation) => {\n return {\n value: organisation.id,\n label: organisation.name,\n };\n }),\n ]}\n selectedItem={\n selectedOrganisation\n ? {\n value: selectedOrganisation.id,\n label: selectedOrganisation.name,\n }\n : null\n }\n onChange={(selectedValue) => {\n if (selectedValue) {\n handleChange(selectedValue.value);\n }\n }}\n clearable={false}\n {...rest}\n />\n );\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from 'react';\n\ninterface TypedEventListener<T extends Event> {\n (evt: T): void;\n}\n\nexport function useEventListener<T extends Event = Event>(\n eventName: string,\n handler: TypedEventListener<T>,\n element: WindowEventHandlers = window\n) {\n const savedHandler = useRef<TypedEventListener<T>>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = ((event: T): void =>\n savedHandler.current?.(event)) as EventListener;\n\n element.addEventListener(eventName, eventListener);\n\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n","import './LanguageSelect.scss';\n\nimport React, { FC } from 'react';\nimport { SegmentedControl, SegmentedChoice } from '@entur/form';\nimport cx from 'classnames';\nimport { assertIsDefined } from '@entur-partner/util';\n\nexport type LanguageKey = 'nob' | 'nno' | 'eng';\n\nexport interface LanguageOption {\n value: LanguageKey;\n label: string;\n required: boolean;\n}\n\nexport interface LanguageSelectProps {\n language: string;\n options: LanguageOption[];\n className?: string;\n onChange: (language: string) => void;\n [key: string]: any;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n language,\n options,\n className,\n onChange,\n ...rest\n}) => {\n const classNames = cx('eps-language-select', className);\n return (\n <div {...rest} className={classNames}>\n <SegmentedControl\n onChange={(language) => {\n assertIsDefined(language);\n onChange(language);\n }}\n selectedValue={language}\n >\n {options.map((option) => (\n <SegmentedChoice key={option.value} value={option.value}>\n {option.label}\n {option.required && <span className=\"asterisk-margin\">{'*'}</span>}\n </SegmentedChoice>\n ))}\n </SegmentedControl>\n </div>\n );\n};\n","import React, { ChangeEvent } from 'react';\nimport { VariantType } from '@entur/form';\nimport { ExpandablePanel } from '@entur/expand';\n\nimport { LanguageKey, LanguageOption } from './LanguageSelect';\nimport { Stack } from './Stack';\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n title: string;\n inputComponent: React.ElementType;\n languages: LanguageOption[];\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n name: string;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n [key: string]: any;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n title,\n inputComponent: InputComponent,\n languages,\n values,\n onChange,\n name,\n variant,\n feedback,\n ...rest\n}: ExpandableMultiLanguageInputProps) => {\n const handleOnChange = (language: LanguageKey, value?: string) => {\n const changes = { ...values };\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map(({ value: langKey, label, required }) => (\n <InputComponent\n data-testid={`multi-lang-input-${name}-${langKey}`}\n key={title + langKey}\n label={required ? label + '*' : label}\n variant={variant && variant(langKey)}\n feedback={feedback && feedback(langKey)}\n name={name}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleOnChange(langKey, e.target.value);\n }}\n value={values[langKey] || ''}\n {...rest}\n />\n ))}\n </Stack>\n </ExpandablePanel>\n );\n};\n","import './MultiLanguageInput.scss';\n\nimport React, { FC, useState, ChangeEvent, FocusEvent } from 'react';\nimport cx from 'classnames';\nimport { VariantType } from '@entur/form';\n\nimport { Stack } from './Stack';\nimport { LanguageSelect, LanguageOption } from './LanguageSelect';\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n className?: string;\n onBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n inputComponent: React.ElementType;\n values: { [key: string]: string };\n languages: LanguageOption[];\n onChange: (values: Values) => void;\n name: string;\n alertLevel?: VariantType;\n alertLabel?: string;\n label?: string;\n defaultLanguage?: string;\n [key: string]: any;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n className,\n inputComponent: InputComponent,\n alertLabel,\n alertLevel,\n name,\n languages,\n values,\n onChange,\n defaultLanguage = 'nob',\n label = '',\n onBlur = () => {},\n ...rest\n}) => {\n const [language, setLanguage] = useState(defaultLanguage);\n const classNames = cx('multi-language-input', className);\n const currentValue = values[language];\n\n const handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n e.persist();\n const currentTarget = e.currentTarget;\n setTimeout(() => {\n if (currentTarget && !currentTarget.contains(document.activeElement)) {\n onBlur(e);\n }\n }, 0);\n };\n\n const handleLanguageChange = (language: string) => {\n setLanguage(language);\n };\n\n const handleOnChange = (value?: string) => {\n const changes = Object.assign({}, values);\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <div\n className={classNames}\n tabIndex={0}\n onBlur={handleOnBlur}\n data-testid={`multi-lang-input-${name}`}\n >\n <Stack space=\"extraSmall\">\n <LanguageSelect\n language={language}\n options={languages}\n onChange={(lang) => handleLanguageChange(lang)}\n />\n <InputComponent\n label={label}\n variant={alertLevel}\n feedback={alertLabel}\n name={name}\n className=\"language-item\"\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(e.target.value)\n }\n value={currentValue || ''}\n {...rest}\n />\n </Stack>\n </div>\n );\n};\n","import './Unbutton.scss';\n\nimport React, { FC } from 'react';\nimport { Button, ButtonProps } from '@entur/button';\nimport cx from 'classnames';\n\ninterface UnbuttonProps extends Omit<ButtonProps<any>, 'variant'> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n children,\n className,\n ...rest\n}) => (\n <Button variant=\"primary\" {...rest} className={cx('eps-unbutton', className)}>\n {children}\n </Button>\n);\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","import React, { ReactNode, Component, ErrorInfo } from 'react';\nimport { BannerAlertBox } from '@entur/alert';\nimport { PrimaryButton } from '@entur/button';\nimport { Paragraph } from '@entur/typography';\n\nimport { isFunction } from './helpers';\nimport { Box } from './Box';\n\ntype FallbackOptions = {\n retry: () => void;\n error: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n handleError?: (error: Error, errorInfo: ErrorInfo) => void;\n fallback: ReactNode | RenderProp;\n children: ReactNode;\n};\n\ntype State = {\n error: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n \"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: Error): State {\n return {\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n // React always logs in development\n this.props.handleError?.(error, errorInfo);\n }\n\n render() {\n const { error } = this.state;\n const { fallback, children } = this.props;\n\n if (error) {\n if (isFunction<RenderProp>(fallback)) {\n return fallback({ retry: () => this.setState({ error: null }), error });\n } else if (\n error.name === 'NotFoundError' &&\n error.message === newAppVersionErrorMessage\n ) {\n return <RefreshBannerInfo />;\n }\n\n return fallback;\n }\n\n return children;\n }\n}\n\nexport const LANGUAGE_STORAGE_KEY = 'EP::locale';\n\nfunction RefreshBannerInfo() {\n // Taken from ./app-shell/src/storage.ts\n const language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n const isNorwegian = language === 'nb';\n return (\n <Box maxWidth=\"large\">\n <BannerAlertBox\n variant=\"info\"\n title={\n isNorwegian\n ? 'En ny versjon av nettsiden er tilgjengelig.'\n : 'A new version of the website is available.'\n }\n >\n <Box paddingBottom=\"medium\">\n <Paragraph margin=\"none\">\n {isNorwegian ? 'Vennligst oppdater.' : 'Please refresh.'}\n </Paragraph>\n </Box>\n <PrimaryButton onClick={() => window.location.reload()}>\n {isNorwegian ? 'Oppdater' : 'Refresh'}\n </PrimaryButton>\n </BannerAlertBox>\n </Box>\n );\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { useState, FC, ReactNode } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\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\ntype Status = 'BLOCKED' | 'ALLOW';\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n const history = useHistory();\n\n const [status, setStatus] = useState<Status>('ALLOW');\n const [lastLocation, setLastLocation] = useState(history.location);\n\n const closeModal = () => {\n setStatus('ALLOW');\n };\n\n const allowNavigation = (nextLocation: Location): boolean => {\n if (shouldBlockNavigation(nextLocation) && status === 'ALLOW') {\n setStatus('BLOCKED');\n setLastLocation(nextLocation);\n return false;\n }\n return true;\n };\n\n const handleConfirm = () => {\n history.push(lastLocation.pathname);\n };\n\n return (\n <>\n <Prompt message={allowNavigation} />\n <ConfirmModal\n onDismiss={closeModal}\n open={status === 'BLOCKED'}\n onConfirm={handleConfirm}\n {...rest}\n >\n {children}\n </ConfirmModal>\n </>\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 { BusinessCapability } from '@entur-partner/permission-client-node';\nimport React from 'react';\nimport {\n Route,\n Redirect,\n RouteComponentProps,\n RouteProps,\n} from 'react-router-dom';\n\nimport { PermissionCheck } from './PermissionCheck';\n\ninterface PermissionCheckedRouteProps\n extends RouteComponentProps,\n Omit<RouteProps, 'location'> {\n actualPermissions: BusinessCapability[];\n all?: BusinessCapability[];\n oneOf?: BusinessCapability[];\n onReject?: React.ReactNode;\n}\n\nexport const PermissionCheckedRoute = ({\n children,\n actualPermissions,\n all,\n oneOf,\n onReject,\n ...props\n}: PermissionCheckedRouteProps) => {\n const redirect = (\n <Redirect\n to={{\n pathname: '/unauthorized',\n state: { from: props.location },\n }}\n />\n );\n return (\n <PermissionCheck\n permissions={actualPermissions}\n all={all}\n oneOf={oneOf}\n fallback={onReject ? onReject : redirect}\n >\n <Route {...props}>{children}</Route>\n </PermissionCheck>\n );\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","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","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","classList","cx","React","createElement","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","ActionBar","LinkButton","Link","featureFlag","flag","process","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","altText","classnames","undefined","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","userName","language","showVersionItem","showMyProfileItem","onNavigateToMyProfile","history","useHistory","triggerClassList","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","NorwayIcon","size","inline","switchLanguage","UKIcon","appVersion","ChannelsIcon","myProfile","to","style","textDecoration","UserIcon","LogOutIcon","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","Heading6","DownArrowIcon","props","elementContainsEventTarget","element","event","contains","target","composed","composedPath","find","buttonRef","handler","useEffect","listener","current","document","addEventListener","removeEventListener","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","org","SearchableDropdown","items","sort","a","b","name","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","defaultLanguage","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","newAppVersionErrorMessage","ErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","errorInfo","handleError","render","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","isOpen","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","ButtonGroup","cancel","confirm","RouteLeavingGuard","shouldBlockNavigation","status","setStatus","lastLocation","setLastLocation","closeModal","allowNavigation","nextLocation","handleConfirm","pathname","Prompt","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","permissions","oneOf","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","PermissionCheckedRoute","actualPermissions","onReject","redirect","Redirect","from","Route","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","filter","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight","PageTitle","pageTitles","reverse","join","Helmet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.esm.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.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/PermissionCheckedRoute.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","import 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 REACT_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n return (\n process.env[`REACT_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`REACT_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 REACT_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 REACT_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 './UserMenu.scss';\n\nimport React, { FC, useState } from 'react';\nimport cx from 'classnames';\nimport {\n DownArrowIcon,\n ChannelsIcon,\n LogOutIcon,\n NorwayIcon,\n UKIcon,\n UserIcon,\n} from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\nimport { Link, useHistory } from 'react-router-dom';\n\nimport {\n Environment,\n getColorForEnvironment,\n getHumanReadableEnvironment,\n} from './environment';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n appVersion?: string;\n myProfile?: string;\n };\n onLogout: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n environment?: Environment;\n showVersionItem?: boolean;\n showMyProfileItem?: boolean;\n onNavigateToMyProfile: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n userName,\n language,\n environment,\n showVersionItem,\n showMyProfileItem,\n onNavigateToMyProfile,\n}) => {\n const history = useHistory();\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 {language === 'en' ? (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('nb');\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 {messages.switchLanguage}\n </CustomOverflowMenuItem>\n ) : (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('en');\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 {messages.switchLanguage}\n </CustomOverflowMenuItem>\n )}\n {showVersionItem && messages.appVersion && (\n <CustomOverflowMenuItem\n onClick={() => {\n history.push('/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 {messages.appVersion}\n </CustomOverflowMenuItem>\n )}\n {showMyProfileItem && messages.myProfile && (\n <Link\n to=\"/permission-admin/my-profile\"\n style={{ textDecoration: 'none' }}\n >\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 {messages.myProfile}\n </CustomOverflowMenuItem>\n </Link>\n )}\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 {messages.logout}\n </CustomOverflowMenuItem>\n </div>\n </CustomOverflowMenu>\n </div>\n );\n};\n\nconst 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\nconst 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\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 ? true : false;\n }\n\n return false;\n}\n\nfunction 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","import React, { FC } from 'react';\nimport { SearchableDropdown } from '@entur/dropdown';\n\ninterface Organisation {\n name: string;\n id: string;\n}\n\ninterface OrganisationDropDownProps {\n label: string;\n onChange: (id: string) => void;\n organisations: Organisation[];\n selectedOrganisationId?: string;\n [key: string]: any;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n label,\n organisations,\n onChange: handleChange,\n selectedOrganisationId,\n ...rest\n}) => {\n const selectedOrganisation = organisations.find(\n (org) => org.id === selectedOrganisationId\n );\n return (\n <SearchableDropdown\n label={label}\n items={[\n ...organisations\n .sort((a, b) => a.name.localeCompare(b.name, 'nb'))\n .map((organisation) => {\n return {\n value: organisation.id,\n label: organisation.name,\n };\n }),\n ]}\n selectedItem={\n selectedOrganisation\n ? {\n value: selectedOrganisation.id,\n label: selectedOrganisation.name,\n }\n : null\n }\n onChange={(selectedValue) => {\n if (selectedValue) {\n handleChange(selectedValue.value);\n }\n }}\n clearable={false}\n {...rest}\n />\n );\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from 'react';\n\ninterface TypedEventListener<T extends Event> {\n (evt: T): void;\n}\n\nexport function useEventListener<T extends Event = Event>(\n eventName: string,\n handler: TypedEventListener<T>,\n element: WindowEventHandlers = window\n) {\n const savedHandler = useRef<TypedEventListener<T>>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = ((event: T): void =>\n savedHandler.current?.(event)) as EventListener;\n\n element.addEventListener(eventName, eventListener);\n\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n","import './LanguageSelect.scss';\n\nimport React, { FC } from 'react';\nimport { SegmentedControl, SegmentedChoice } from '@entur/form';\nimport cx from 'classnames';\nimport { assertIsDefined } from '@entur-partner/util';\n\nexport type LanguageKey = 'nob' | 'nno' | 'eng';\n\nexport interface LanguageOption {\n value: LanguageKey;\n label: string;\n required: boolean;\n}\n\nexport interface LanguageSelectProps {\n language: string;\n options: LanguageOption[];\n className?: string;\n onChange: (language: string) => void;\n [key: string]: any;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n language,\n options,\n className,\n onChange,\n ...rest\n}) => {\n const classNames = cx('eps-language-select', className);\n return (\n <div {...rest} className={classNames}>\n <SegmentedControl\n onChange={(language) => {\n assertIsDefined(language);\n onChange(language);\n }}\n selectedValue={language}\n >\n {options.map((option) => (\n <SegmentedChoice key={option.value} value={option.value}>\n {option.label}\n {option.required && <span className=\"asterisk-margin\">{'*'}</span>}\n </SegmentedChoice>\n ))}\n </SegmentedControl>\n </div>\n );\n};\n","import React, { ChangeEvent } from 'react';\nimport { VariantType } from '@entur/form';\nimport { ExpandablePanel } from '@entur/expand';\n\nimport { LanguageKey, LanguageOption } from './LanguageSelect';\nimport { Stack } from './Stack';\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n title: string;\n inputComponent: React.ElementType;\n languages: LanguageOption[];\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n name: string;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n [key: string]: any;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n title,\n inputComponent: InputComponent,\n languages,\n values,\n onChange,\n name,\n variant,\n feedback,\n ...rest\n}: ExpandableMultiLanguageInputProps) => {\n const handleOnChange = (language: LanguageKey, value?: string) => {\n const changes = { ...values };\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map(({ value: langKey, label, required }) => (\n <InputComponent\n data-testid={`multi-lang-input-${name}-${langKey}`}\n key={title + langKey}\n label={required ? label + '*' : label}\n variant={variant && variant(langKey)}\n feedback={feedback && feedback(langKey)}\n name={name}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleOnChange(langKey, e.target.value);\n }}\n value={values[langKey] || ''}\n {...rest}\n />\n ))}\n </Stack>\n </ExpandablePanel>\n );\n};\n","import './MultiLanguageInput.scss';\n\nimport React, { FC, useState, ChangeEvent, FocusEvent } from 'react';\nimport cx from 'classnames';\nimport { VariantType } from '@entur/form';\n\nimport { Stack } from './Stack';\nimport { LanguageSelect, LanguageOption } from './LanguageSelect';\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n className?: string;\n onBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n inputComponent: React.ElementType;\n values: { [key: string]: string };\n languages: LanguageOption[];\n onChange: (values: Values) => void;\n name: string;\n alertLevel?: VariantType;\n alertLabel?: string;\n label?: string;\n defaultLanguage?: string;\n [key: string]: any;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n className,\n inputComponent: InputComponent,\n alertLabel,\n alertLevel,\n name,\n languages,\n values,\n onChange,\n defaultLanguage = 'nob',\n label = '',\n onBlur = () => {},\n ...rest\n}) => {\n const [language, setLanguage] = useState(defaultLanguage);\n const classNames = cx('multi-language-input', className);\n const currentValue = values[language];\n\n const handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n e.persist();\n const currentTarget = e.currentTarget;\n setTimeout(() => {\n if (currentTarget && !currentTarget.contains(document.activeElement)) {\n onBlur(e);\n }\n }, 0);\n };\n\n const handleLanguageChange = (language: string) => {\n setLanguage(language);\n };\n\n const handleOnChange = (value?: string) => {\n const changes = Object.assign({}, values);\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <div\n className={classNames}\n tabIndex={0}\n onBlur={handleOnBlur}\n data-testid={`multi-lang-input-${name}`}\n >\n <Stack space=\"extraSmall\">\n <LanguageSelect\n language={language}\n options={languages}\n onChange={(lang) => handleLanguageChange(lang)}\n />\n <InputComponent\n label={label}\n variant={alertLevel}\n feedback={alertLabel}\n name={name}\n className=\"language-item\"\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(e.target.value)\n }\n value={currentValue || ''}\n {...rest}\n />\n </Stack>\n </div>\n );\n};\n","import './Unbutton.scss';\n\nimport React, { FC } from 'react';\nimport { Button, ButtonProps } from '@entur/button';\nimport cx from 'classnames';\n\ninterface UnbuttonProps extends Omit<ButtonProps<any>, 'variant'> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n children,\n className,\n ...rest\n}) => (\n <Button variant=\"primary\" {...rest} className={cx('eps-unbutton', className)}>\n {children}\n </Button>\n);\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","import React, { ReactNode, Component, ErrorInfo } from 'react';\nimport { BannerAlertBox } from '@entur/alert';\nimport { PrimaryButton } from '@entur/button';\nimport { Paragraph } from '@entur/typography';\n\nimport { isFunction } from './helpers';\nimport { Box } from './Box';\n\ntype FallbackOptions = {\n retry: () => void;\n error: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n handleError?: (error: Error, errorInfo: ErrorInfo) => void;\n fallback: ReactNode | RenderProp;\n children: ReactNode;\n};\n\ntype State = {\n error: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n \"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: Error): State {\n return {\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n // React always logs in development\n this.props.handleError?.(error, errorInfo);\n }\n\n render() {\n const { error } = this.state;\n const { fallback, children } = this.props;\n\n if (error) {\n if (isFunction<RenderProp>(fallback)) {\n return fallback({ retry: () => this.setState({ error: null }), error });\n } else if (\n error.name === 'NotFoundError' &&\n error.message === newAppVersionErrorMessage\n ) {\n return <RefreshBannerInfo />;\n }\n\n return fallback;\n }\n\n return children;\n }\n}\n\nexport const LANGUAGE_STORAGE_KEY = 'EP::locale';\n\nfunction RefreshBannerInfo() {\n // Taken from ./app-shell/src/storage.ts\n const language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n const isNorwegian = language === 'nb';\n return (\n <Box maxWidth=\"large\">\n <BannerAlertBox\n variant=\"info\"\n title={\n isNorwegian\n ? 'En ny versjon av nettsiden er tilgjengelig.'\n : 'A new version of the website is available.'\n }\n >\n <Box paddingBottom=\"medium\">\n <Paragraph margin=\"none\">\n {isNorwegian ? 'Vennligst oppdater.' : 'Please refresh.'}\n </Paragraph>\n </Box>\n <PrimaryButton onClick={() => window.location.reload()}>\n {isNorwegian ? 'Oppdater' : 'Refresh'}\n </PrimaryButton>\n </BannerAlertBox>\n </Box>\n );\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { useState, FC, ReactNode } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\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\ntype Status = 'BLOCKED' | 'ALLOW';\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n const history = useHistory();\n\n const [status, setStatus] = useState<Status>('ALLOW');\n const [lastLocation, setLastLocation] = useState(history.location);\n\n const closeModal = () => {\n setStatus('ALLOW');\n };\n\n const allowNavigation = (nextLocation: Location): boolean => {\n if (shouldBlockNavigation(nextLocation) && status === 'ALLOW') {\n setStatus('BLOCKED');\n setLastLocation(nextLocation);\n return false;\n }\n return true;\n };\n\n const handleConfirm = () => {\n history.push(lastLocation.pathname);\n };\n\n return (\n <>\n <Prompt message={allowNavigation} />\n <ConfirmModal\n onDismiss={closeModal}\n open={status === 'BLOCKED'}\n onConfirm={handleConfirm}\n {...rest}\n >\n {children}\n </ConfirmModal>\n </>\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 { BusinessCapability } from '@entur-partner/permission-client-node';\nimport React from 'react';\nimport {\n Route,\n Redirect,\n RouteComponentProps,\n RouteProps,\n} from 'react-router-dom';\n\nimport { PermissionCheck } from './PermissionCheck';\n\ninterface PermissionCheckedRouteProps\n extends RouteComponentProps,\n Omit<RouteProps, 'location'> {\n actualPermissions: BusinessCapability[];\n all?: BusinessCapability[];\n oneOf?: BusinessCapability[];\n onReject?: React.ReactNode;\n}\n\nexport const PermissionCheckedRoute = ({\n children,\n actualPermissions,\n all,\n oneOf,\n onReject,\n ...props\n}: PermissionCheckedRouteProps) => {\n const redirect = (\n <Redirect\n to={{\n pathname: '/unauthorized',\n state: { from: props.location },\n }}\n />\n );\n return (\n <PermissionCheck\n permissions={actualPermissions}\n all={all}\n oneOf={oneOf}\n fallback={onReject ? onReject : redirect}\n >\n <Route {...props}>{children}</Route>\n </PermissionCheck>\n );\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","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","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","classList","cx","React","createElement","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","ActionBar","LinkButton","Link","featureFlag","flag","process","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","altText","classnames","undefined","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","userName","language","showVersionItem","showMyProfileItem","onNavigateToMyProfile","history","useHistory","triggerClassList","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","NorwayIcon","size","inline","switchLanguage","UKIcon","appVersion","ChannelsIcon","myProfile","to","style","textDecoration","UserIcon","LogOutIcon","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","Heading6","DownArrowIcon","props","elementContainsEventTarget","element","event","contains","target","composed","composedPath","find","buttonRef","handler","useEffect","listener","current","document","addEventListener","removeEventListener","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","org","SearchableDropdown","items","sort","a","b","name","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","defaultLanguage","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","newAppVersionErrorMessage","ErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","errorInfo","handleError","render","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","isOpen","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","ButtonGroup","cancel","confirm","RouteLeavingGuard","shouldBlockNavigation","status","setStatus","lastLocation","setLastLocation","closeModal","allowNavigation","nextLocation","handleConfirm","pathname","Prompt","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","permissions","oneOf","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","PermissionCheckedRoute","actualPermissions","onReject","redirect","Redirect","from","Route","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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"}
|