@entur-partner/common 6.0.1 → 7.0.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 +12 -12
- package/package.json +3 -3
|
@@ -719,7 +719,6 @@ function isFunction(functionToCheck) {
|
|
|
719
719
|
|
|
720
720
|
var newAppVersionErrorMessage = "Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.";
|
|
721
721
|
var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
722
|
-
_inheritsLoose(ErrorBoundary, _Component);
|
|
723
722
|
function ErrorBoundary(props) {
|
|
724
723
|
var _this;
|
|
725
724
|
_this = _Component.call(this, props) || this;
|
|
@@ -728,6 +727,7 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
728
727
|
};
|
|
729
728
|
return _this;
|
|
730
729
|
}
|
|
730
|
+
_inheritsLoose(ErrorBoundary, _Component);
|
|
731
731
|
ErrorBoundary.getDerivedStateFromError = function getDerivedStateFromError(error) {
|
|
732
732
|
return {
|
|
733
733
|
error: error
|
|
@@ -737,7 +737,7 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
737
737
|
_proto.componentDidCatch = function componentDidCatch(error, errorInfo) {
|
|
738
738
|
var _this$props$handleErr, _this$props;
|
|
739
739
|
// React always logs in development
|
|
740
|
-
(_this$props$handleErr = (_this$props = this.props).handleError) == null
|
|
740
|
+
(_this$props$handleErr = (_this$props = this.props).handleError) == null || _this$props$handleErr.call(_this$props, error, errorInfo);
|
|
741
741
|
};
|
|
742
742
|
_proto.render = function render() {
|
|
743
743
|
var _this2 = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.cjs.development.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx","../src/PageTitle.tsx"],"sourcesContent":["import './Box.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype StyleSpacing =\n | 'none'\n | 'extraSmall2'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7'\n | 'extraLarge8'\n | 'extraLarge9';\n\ntype StyleMargin = StyleSpacing | 'auto';\n\ntype StyleDisplay = 'block' | 'flex' | 'inline' | 'inline-block';\ntype StyleJustifyContent = 'center' | 'space-between' | 'start' | 'end';\ntype StyleAlignItems = 'center' | 'start' | 'end' | 'stretch' | 'baseline';\n\ntype StyleMaxWidth =\n | 'none'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'full';\ntype StyleWidth = 'auto' | 'full';\n\nexport type StyleBackground = 'blue' | 'lavender' | 'white' | 'blue70';\nexport type StyleColor = 'blue' | 'lavender' | 'white' | 'black';\n\ntype StyleFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\ntype StyleFlexWrap = 'wrap' | 'nowrap' | 'wrap-reverse';\n\nexport type ResponsiveStyleSpacing =\n | StyleSpacing\n | [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n | StyleMargin\n | [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n | StyleDisplay\n | [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n | StyleJustifyContent\n | [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n | StyleAlignItems\n | [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n | StyleMaxWidth\n | [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n | StyleWidth\n | [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n | StyleFlexDirection\n | [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n | StyleFlexWrap\n | [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n className?: string;\n as?: React.ElementType;\n [key: string]: any;\n children: ReactNode;\n\n contrast?: boolean;\n\n paddingTop?: ResponsiveStyleSpacing;\n paddingRight?: ResponsiveStyleSpacing;\n paddingBottom?: ResponsiveStyleSpacing;\n paddingLeft?: ResponsiveStyleSpacing;\n paddingX?: ResponsiveStyleSpacing;\n paddingY?: ResponsiveStyleSpacing;\n padding?: ResponsiveStyleSpacing;\n\n marginTop?: ResponsiveStyleMargin;\n marginRight?: ResponsiveStyleMargin;\n marginBottom?: ResponsiveStyleMargin;\n marginLeft?: ResponsiveStyleMargin;\n marginX?: ResponsiveStyleMargin;\n marginY?: ResponsiveStyleMargin;\n margin?: ResponsiveStyleMargin;\n\n display?: ResponsiveStyleDisplay;\n justifyContent?: ResponsiveStyleJustifyContent;\n alignItems?: ResponsiveStyleAlignItems;\n\n maxWidth?: ResponsiveStyleMaxWidth;\n width?: ResponsiveStyleWidth;\n background?: StyleBackground;\n color?: StyleColor;\n\n flexDirection?: ResponsiveStyleFlexDirection;\n flexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n if (Array.isArray(prop)) {\n const classes = [];\n prop[0] && classes.push(prefix + prop[0]);\n prop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n prop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n return classes;\n }\n return [prefix + prop];\n}\n\nexport const Box = ({\n as: Component = 'div',\n children,\n contrast,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n paddingX,\n paddingY,\n padding,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n margin,\n display,\n justifyContent,\n alignItems,\n maxWidth,\n width,\n background,\n color,\n flexDirection,\n flexWrap,\n className,\n ...rest\n}: BoxProps) => {\n const classes = [];\n const resolvedPaddingTop = paddingTop || paddingY || padding;\n const resolvedPaddingBottom = paddingBottom || paddingY || padding;\n const resolvedPaddingLeft = paddingLeft || paddingX || padding;\n const resolvedPaddingRight = paddingRight || paddingX || padding;\n\n const resolvedMarginTop = marginTop || marginY || margin;\n const resolvedMarginBottom = marginBottom || marginY || margin;\n const resolvedMarginLeft = marginLeft || marginX || margin;\n const resolvedMarginRight = marginRight || marginX || margin;\n\n contrast && classes.push('eds-contrast');\n resolvedPaddingTop &&\n classes.push(...responsiveProp('eps-pt-', resolvedPaddingTop));\n resolvedPaddingBottom &&\n classes.push(...responsiveProp('eps-pb-', resolvedPaddingBottom));\n resolvedPaddingLeft &&\n classes.push(...responsiveProp('eps-pl-', resolvedPaddingLeft));\n resolvedPaddingRight &&\n classes.push(...responsiveProp('eps-pr-', resolvedPaddingRight));\n resolvedMarginTop &&\n classes.push(...responsiveProp('eps-mt-', resolvedMarginTop));\n resolvedMarginBottom &&\n classes.push(...responsiveProp('eps-mb-', resolvedMarginBottom));\n resolvedMarginLeft &&\n classes.push(...responsiveProp('eps-ml-', resolvedMarginLeft));\n resolvedMarginRight &&\n classes.push(...responsiveProp('eps-mr-', resolvedMarginRight));\n\n display && classes.push(...responsiveProp('eps-', display));\n justifyContent &&\n classes.push(...responsiveProp('eps-justify-', justifyContent));\n if (alignItems) {\n classes.push(...responsiveProp('eps-items-', alignItems));\n }\n\n maxWidth && classes.push(...responsiveProp('eps-max-w-', maxWidth));\n width && classes.push(...responsiveProp('eps-w-', width));\n\n color && classes.push(`eps-color-${color}`);\n background && classes.push(`eps-bg-${background}`);\n\n flexDirection && classes.push(...responsiveProp('eps-flex-', flexDirection));\n flexWrap && classes.push(...responsiveProp('eps-flex-wrap-', flexWrap));\n\n const classList = cx(classes, className);\n\n return (\n <Component className={classList} {...rest}>\n {children}\n </Component>\n );\n};\n","import React, { ReactNode, Children } from 'react';\n\nimport { ResponsiveStyleSpacing, Box } from './Box';\n\nexport interface StackProps {\n className?: string;\n children: ReactNode;\n space: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n const stackItems = Children.toArray(children);\n if (stackItems.length <= 1) {\n return <>{stackItems}</>;\n }\n\n return (\n <div className={className}>\n {stackItems.map((child, index) =>\n index === stackItems.length - 1 ? (\n <div key={index}>{child}</div>\n ) : (\n <Box paddingBottom={space} key={index}>\n {child}\n </Box>\n )\n )}\n </div>\n );\n};\n","import './ActionBar.scss';\nimport React, { ReactNode } from 'react';\n\nexport interface ActionBarProps {\n children: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n return (\n <>\n <div className=\"eps-action-bar-padding\" />\n <div className=\"eps-action-bar\">{children}</div>\n </>\n );\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import './LinkButton.scss';\n\nimport React, { ReactNode } from 'react';\nimport { Link } from '@entur/typography';\nimport cx from 'classnames';\n\nexport interface LinkButtonProps {\n children: ReactNode;\n className?: string;\n [key: string]: any;\n}\n\nexport const LinkButton = ({\n children,\n className,\n ...rest\n}: LinkButtonProps) => (\n <Link {...rest} as=\"button\" className={cx('eps-link-button', className)}>\n {children}\n </Link>\n);\n","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, useNavigate } 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 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 <VersionCustomOverflowMenuItems\n title={messages.appVersion}\n setOpen={setOpen}\n />\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\nexport const VersionCustomOverflowMenuItems: React.FC<{\n title: string;\n\n setOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n const navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n navigate('/app-version');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n </span>\n {title}\n </CustomOverflowMenuItem>\n );\n};\n\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, { FC, ReactNode } from 'react';\nimport { useBlocker, useInRouterContext } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\nimport { assertIsDefined } from '@entur-partner/util';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n assertIsDefined(\n useInRouterContext() ? true : undefined,\n `RouteLeavingGuard must be used within a data router.`\n );\n\n const blocker = useBlocker(\n ({ currentLocation, nextLocation }) =>\n currentLocation.pathname !== nextLocation.pathname &&\n shouldBlockNavigation(nextLocation)\n );\n\n return (\n <ConfirmModal\n onDismiss={() => {\n if (blocker.state === 'blocked') {\n blocker.reset();\n }\n }}\n open={blocker.state === 'blocked'}\n onConfirm={() => {\n if (blocker.state === 'blocked') {\n blocker.proceed();\n }\n }}\n {...rest}\n >\n {children}\n </ConfirmModal>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\nimport { splitUrlPath } from '@entur-partner/util';\n\nexport interface BreadcrumbsProps {\n pathname: string;\n onBreadcrumbLookup: (path: string) => string | undefined;\n prependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n prependBreadcrumbItem,\n pathname,\n onBreadcrumbLookup,\n}) => {\n const paths: string[] = splitUrlPath(pathname);\n\n const breadcrumbs = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined);\n\n const breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n const isLast = i === breadcrumbs.length - 1;\n if (isLast) {\n return (\n <BreadcrumbItem key={path} as={'span'}>\n {title}\n </BreadcrumbItem>\n );\n }\n return (\n <BreadcrumbItem key={path} as={Link} to={path}>\n {title}\n </BreadcrumbItem>\n );\n });\n\n if (prependBreadcrumbItem) {\n return (\n <BreadcrumbNavigation>\n {[prependBreadcrumbItem, ...breadcrumbElements]}\n </BreadcrumbNavigation>\n );\n }\n\n return <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import React, { FC } from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport { Link as A } from '@entur/typography';\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n return (\n <A {...props} as={RouterLink}>\n {props.children}\n </A>\n );\n};\n","import './Text.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { StyleColor, responsiveProp, Box } from './Box';\n\ntype StyleFontSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4';\n\ntype StyleFontWeight = 'body' | 'heading';\n\ntype StyleLineHeight =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7';\n\nexport type ResponsiveStyleFontSize =\n | StyleFontSize\n | [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n | StyleLineHeight\n | [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n className?: string;\n as?: React.ElementType;\n children: ReactNode;\n\n fontSize?: ResponsiveStyleFontSize;\n lineHeight?: ResponsiveStyleLineHeight;\n color?: StyleColor;\n fontWeight?: StyleFontWeight;\n\n [key: string]: any;\n}\n\nexport const Text = ({\n as: component = 'span',\n children,\n fontSize,\n color,\n lineHeight,\n fontWeight,\n className,\n ...rest\n}: TextProps) => {\n const classes = [];\n\n fontSize && classes.push(...responsiveProp('eps-font-size-', fontSize));\n lineHeight && classes.push(...responsiveProp('eps-line-height-', lineHeight));\n fontWeight && classes.push('eps-font-weight-' + fontWeight);\n\n const classList = cx(classes, className);\n\n return (\n <Box as={component} color={color} className={classList} {...rest}>\n {children}\n </Box>\n );\n};\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { splitUrlPath } from '@entur-partner/util';\n\ntype Props = {\n readonly pathname: string;\n readonly onBreadcrumbLookup: (path: string) => string | undefined;\n};\n\n/**\n * This component changes page title by using helmet and current path. It will translate subpaths, join them with a dash\n * and display it on browser tab.\n *\n * @param Props.pathname - The current path from react-router-dom.useLocation()\n * @param Props.onBreadcrumbLookup - A function that takes a path and returns a i18n translated string or undefined\n * @returns A Helmet component with updated title\n */\nexport function PageTitle({ pathname, onBreadcrumbLookup }: Props) {\n const paths: string[] = splitUrlPath(pathname);\n\n const pageTitles = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined)\n .map(({ title }) => title)\n .reverse()\n .join(' | ');\n\n return (\n <Helmet>\n <title>{pageTitles} | Entur Partner</title>\n </Helmet>\n );\n}\n"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","_ref","_ref$as","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","_objectWithoutPropertiesLoose","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","React","createElement","_extends","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","_ref2","ActionBar","_ref3","LinkButton","Link","featureFlag","flag","_window$localStorage","_window$localStorage2","process","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","classnames","undefined","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","userName","language","showVersionItem","showMyProfileItem","onNavigateToMyProfile","triggerClassList","_useState","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","NorwayIcon","size","inline","switchLanguage","UKIcon","appVersion","VersionCustomOverflowMenuItems","myProfile","to","style","textDecoration","UserIcon","LogOutIcon","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","Heading6","DownArrowIcon","props","navigate","useNavigate","ChannelsIcon","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","concat","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","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","newAppVersionErrorMessage","ErrorBoundary","_Component","_inheritsLoose","_this","state","error","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","retry","setState","message","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","isNorwegian","BannerAlertBox","Paragraph","PrimaryButton","location","reload","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","_ref$isOpen","isOpen","_ref$size","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","ButtonGroup","cancel","confirm","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","pathname","reset","proceed","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","filter","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight","PageTitle","pageTitles","reverse","join","Helmet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.cjs.development.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx","../src/PageTitle.tsx"],"sourcesContent":["import './Box.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype StyleSpacing =\n | 'none'\n | 'extraSmall2'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7'\n | 'extraLarge8'\n | 'extraLarge9';\n\ntype StyleMargin = StyleSpacing | 'auto';\n\ntype StyleDisplay = 'block' | 'flex' | 'inline' | 'inline-block';\ntype StyleJustifyContent = 'center' | 'space-between' | 'start' | 'end';\ntype StyleAlignItems = 'center' | 'start' | 'end' | 'stretch' | 'baseline';\n\ntype StyleMaxWidth =\n | 'none'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'full';\ntype StyleWidth = 'auto' | 'full';\n\nexport type StyleBackground = 'blue' | 'lavender' | 'white' | 'blue70';\nexport type StyleColor = 'blue' | 'lavender' | 'white' | 'black';\n\ntype StyleFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\ntype StyleFlexWrap = 'wrap' | 'nowrap' | 'wrap-reverse';\n\nexport type ResponsiveStyleSpacing =\n | StyleSpacing\n | [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n | StyleMargin\n | [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n | StyleDisplay\n | [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n | StyleJustifyContent\n | [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n | StyleAlignItems\n | [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n | StyleMaxWidth\n | [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n | StyleWidth\n | [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n | StyleFlexDirection\n | [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n | StyleFlexWrap\n | [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n className?: string;\n as?: React.ElementType;\n [key: string]: any;\n children: ReactNode;\n\n contrast?: boolean;\n\n paddingTop?: ResponsiveStyleSpacing;\n paddingRight?: ResponsiveStyleSpacing;\n paddingBottom?: ResponsiveStyleSpacing;\n paddingLeft?: ResponsiveStyleSpacing;\n paddingX?: ResponsiveStyleSpacing;\n paddingY?: ResponsiveStyleSpacing;\n padding?: ResponsiveStyleSpacing;\n\n marginTop?: ResponsiveStyleMargin;\n marginRight?: ResponsiveStyleMargin;\n marginBottom?: ResponsiveStyleMargin;\n marginLeft?: ResponsiveStyleMargin;\n marginX?: ResponsiveStyleMargin;\n marginY?: ResponsiveStyleMargin;\n margin?: ResponsiveStyleMargin;\n\n display?: ResponsiveStyleDisplay;\n justifyContent?: ResponsiveStyleJustifyContent;\n alignItems?: ResponsiveStyleAlignItems;\n\n maxWidth?: ResponsiveStyleMaxWidth;\n width?: ResponsiveStyleWidth;\n background?: StyleBackground;\n color?: StyleColor;\n\n flexDirection?: ResponsiveStyleFlexDirection;\n flexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n if (Array.isArray(prop)) {\n const classes = [];\n prop[0] && classes.push(prefix + prop[0]);\n prop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n prop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n return classes;\n }\n return [prefix + prop];\n}\n\nexport const Box = ({\n as: Component = 'div',\n children,\n contrast,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n paddingX,\n paddingY,\n padding,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n margin,\n display,\n justifyContent,\n alignItems,\n maxWidth,\n width,\n background,\n color,\n flexDirection,\n flexWrap,\n className,\n ...rest\n}: BoxProps) => {\n const classes = [];\n const resolvedPaddingTop = paddingTop || paddingY || padding;\n const resolvedPaddingBottom = paddingBottom || paddingY || padding;\n const resolvedPaddingLeft = paddingLeft || paddingX || padding;\n const resolvedPaddingRight = paddingRight || paddingX || padding;\n\n const resolvedMarginTop = marginTop || marginY || margin;\n const resolvedMarginBottom = marginBottom || marginY || margin;\n const resolvedMarginLeft = marginLeft || marginX || margin;\n const resolvedMarginRight = marginRight || marginX || margin;\n\n contrast && classes.push('eds-contrast');\n resolvedPaddingTop &&\n classes.push(...responsiveProp('eps-pt-', resolvedPaddingTop));\n resolvedPaddingBottom &&\n classes.push(...responsiveProp('eps-pb-', resolvedPaddingBottom));\n resolvedPaddingLeft &&\n classes.push(...responsiveProp('eps-pl-', resolvedPaddingLeft));\n resolvedPaddingRight &&\n classes.push(...responsiveProp('eps-pr-', resolvedPaddingRight));\n resolvedMarginTop &&\n classes.push(...responsiveProp('eps-mt-', resolvedMarginTop));\n resolvedMarginBottom &&\n classes.push(...responsiveProp('eps-mb-', resolvedMarginBottom));\n resolvedMarginLeft &&\n classes.push(...responsiveProp('eps-ml-', resolvedMarginLeft));\n resolvedMarginRight &&\n classes.push(...responsiveProp('eps-mr-', resolvedMarginRight));\n\n display && classes.push(...responsiveProp('eps-', display));\n justifyContent &&\n classes.push(...responsiveProp('eps-justify-', justifyContent));\n if (alignItems) {\n classes.push(...responsiveProp('eps-items-', alignItems));\n }\n\n maxWidth && classes.push(...responsiveProp('eps-max-w-', maxWidth));\n width && classes.push(...responsiveProp('eps-w-', width));\n\n color && classes.push(`eps-color-${color}`);\n background && classes.push(`eps-bg-${background}`);\n\n flexDirection && classes.push(...responsiveProp('eps-flex-', flexDirection));\n flexWrap && classes.push(...responsiveProp('eps-flex-wrap-', flexWrap));\n\n const classList = cx(classes, className);\n\n return (\n <Component className={classList} {...rest}>\n {children}\n </Component>\n );\n};\n","import React, { ReactNode, Children } from 'react';\n\nimport { ResponsiveStyleSpacing, Box } from './Box';\n\nexport interface StackProps {\n className?: string;\n children: ReactNode;\n space: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n const stackItems = Children.toArray(children);\n if (stackItems.length <= 1) {\n return <>{stackItems}</>;\n }\n\n return (\n <div className={className}>\n {stackItems.map((child, index) =>\n index === stackItems.length - 1 ? (\n <div key={index}>{child}</div>\n ) : (\n <Box paddingBottom={space} key={index}>\n {child}\n </Box>\n )\n )}\n </div>\n );\n};\n","import './ActionBar.scss';\nimport React, { ReactNode } from 'react';\n\nexport interface ActionBarProps {\n children: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n return (\n <>\n <div className=\"eps-action-bar-padding\" />\n <div className=\"eps-action-bar\">{children}</div>\n </>\n );\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import './LinkButton.scss';\n\nimport React, { ReactNode } from 'react';\nimport { Link } from '@entur/typography';\nimport cx from 'classnames';\n\nexport interface LinkButtonProps {\n children: ReactNode;\n className?: string;\n [key: string]: any;\n}\n\nexport const LinkButton = ({\n children,\n className,\n ...rest\n}: LinkButtonProps) => (\n <Link {...rest} as=\"button\" className={cx('eps-link-button', className)}>\n {children}\n </Link>\n);\n","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, useNavigate } 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 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 <VersionCustomOverflowMenuItems\n title={messages.appVersion}\n setOpen={setOpen}\n />\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\nexport const VersionCustomOverflowMenuItems: React.FC<{\n title: string;\n\n setOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n const navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n return (\n <CustomOverflowMenuItem\n onClick={() => {\n navigate('/app-version');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n </span>\n {title}\n </CustomOverflowMenuItem>\n );\n};\n\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, { FC, ReactNode } from 'react';\nimport { useBlocker, useInRouterContext } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\nimport { assertIsDefined } from '@entur-partner/util';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n assertIsDefined(\n useInRouterContext() ? true : undefined,\n `RouteLeavingGuard must be used within a data router.`\n );\n\n const blocker = useBlocker(\n ({ currentLocation, nextLocation }) =>\n currentLocation.pathname !== nextLocation.pathname &&\n shouldBlockNavigation(nextLocation)\n );\n\n return (\n <ConfirmModal\n onDismiss={() => {\n if (blocker.state === 'blocked') {\n blocker.reset();\n }\n }}\n open={blocker.state === 'blocked'}\n onConfirm={() => {\n if (blocker.state === 'blocked') {\n blocker.proceed();\n }\n }}\n {...rest}\n >\n {children}\n </ConfirmModal>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\nimport { splitUrlPath } from '@entur-partner/util';\n\nexport interface BreadcrumbsProps {\n pathname: string;\n onBreadcrumbLookup: (path: string) => string | undefined;\n prependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n prependBreadcrumbItem,\n pathname,\n onBreadcrumbLookup,\n}) => {\n const paths: string[] = splitUrlPath(pathname);\n\n const breadcrumbs = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined);\n\n const breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n const isLast = i === breadcrumbs.length - 1;\n if (isLast) {\n return (\n <BreadcrumbItem key={path} as={'span'}>\n {title}\n </BreadcrumbItem>\n );\n }\n return (\n <BreadcrumbItem key={path} as={Link} to={path}>\n {title}\n </BreadcrumbItem>\n );\n });\n\n if (prependBreadcrumbItem) {\n return (\n <BreadcrumbNavigation>\n {[prependBreadcrumbItem, ...breadcrumbElements]}\n </BreadcrumbNavigation>\n );\n }\n\n return <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import React, { FC } from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport { Link as A } from '@entur/typography';\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n return (\n <A {...props} as={RouterLink}>\n {props.children}\n </A>\n );\n};\n","import './Text.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { StyleColor, responsiveProp, Box } from './Box';\n\ntype StyleFontSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4';\n\ntype StyleFontWeight = 'body' | 'heading';\n\ntype StyleLineHeight =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7';\n\nexport type ResponsiveStyleFontSize =\n | StyleFontSize\n | [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n | StyleLineHeight\n | [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n className?: string;\n as?: React.ElementType;\n children: ReactNode;\n\n fontSize?: ResponsiveStyleFontSize;\n lineHeight?: ResponsiveStyleLineHeight;\n color?: StyleColor;\n fontWeight?: StyleFontWeight;\n\n [key: string]: any;\n}\n\nexport const Text = ({\n as: component = 'span',\n children,\n fontSize,\n color,\n lineHeight,\n fontWeight,\n className,\n ...rest\n}: TextProps) => {\n const classes = [];\n\n fontSize && classes.push(...responsiveProp('eps-font-size-', fontSize));\n lineHeight && classes.push(...responsiveProp('eps-line-height-', lineHeight));\n fontWeight && classes.push('eps-font-weight-' + fontWeight);\n\n const classList = cx(classes, className);\n\n return (\n <Box as={component} color={color} className={classList} {...rest}>\n {children}\n </Box>\n );\n};\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { splitUrlPath } from '@entur-partner/util';\n\ntype Props = {\n readonly pathname: string;\n readonly onBreadcrumbLookup: (path: string) => string | undefined;\n};\n\n/**\n * This component changes page title by using helmet and current path. It will translate subpaths, join them with a dash\n * and display it on browser tab.\n *\n * @param Props.pathname - The current path from react-router-dom.useLocation()\n * @param Props.onBreadcrumbLookup - A function that takes a path and returns a i18n translated string or undefined\n * @returns A Helmet component with updated title\n */\nexport function PageTitle({ pathname, onBreadcrumbLookup }: Props) {\n const paths: string[] = splitUrlPath(pathname);\n\n const pageTitles = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined)\n .map(({ title }) => title)\n .reverse()\n .join(' | ');\n\n return (\n <Helmet>\n <title>{pageTitles} | Entur Partner</title>\n </Helmet>\n );\n}\n"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","_ref","_ref$as","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","_objectWithoutPropertiesLoose","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","React","createElement","_extends","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","_ref2","ActionBar","_ref3","LinkButton","Link","featureFlag","flag","_window$localStorage","_window$localStorage2","process","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","classnames","undefined","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","userName","language","showVersionItem","showMyProfileItem","onNavigateToMyProfile","triggerClassList","_useState","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","NorwayIcon","size","inline","switchLanguage","UKIcon","appVersion","VersionCustomOverflowMenuItems","myProfile","to","style","textDecoration","UserIcon","LogOutIcon","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","Heading6","DownArrowIcon","props","navigate","useNavigate","ChannelsIcon","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","concat","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","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","newAppVersionErrorMessage","ErrorBoundary","_Component","_this","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","retry","setState","message","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","isNorwegian","BannerAlertBox","Paragraph","PrimaryButton","location","reload","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","_ref$isOpen","isOpen","_ref$size","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","ButtonGroup","cancel","confirm","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","pathname","reset","proceed","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","filter","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight","PageTitle","pageTitles","reverse","join","Helmet"],"mappings":"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"}
|