@entur-partner/common 4.0.3 → 4.0.7
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/CHANGELOG.md +27 -0
- package/dist/ExpandableMultiLanguageInput.d.ts +1 -3
- package/dist/common.cjs.development.js +159 -126
- 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 +65 -40
- package/dist/common.esm.js.map +1 -1
- package/dist/styles.css +680 -680
- package/package.json +12 -12
|
@@ -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/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/PermissionCheckedRoute.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx"],"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 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\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 useFeatureToggle(flag: string): boolean {\n if (\n process.env[`REACT_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`REACT_APP_${flag}`) === 'true'\n ) {\n return true;\n }\n return false;\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","import './EnturPartnerLogo.scss';\n\nimport React, { FC } from 'react';\nimport classnames from 'classnames';\n\ninterface LogoProps {\n title: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({ title, ...rest }) => {\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=\"#FF5959\" 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=\"#FF5959\">\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}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n as: Component = 'nav',\n className,\n altText,\n}) => {\n const classList = classnames(['eps-logo-wrapper', className]);\n\n return (\n <Component className={classList}>\n <EnturPartnerLogoSvg title={altText} className=\"logo\" />\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 UserIcon,\n UploadIcon,\n PrivacyIcon,\n DownArrowIcon,\n UKIcon,\n NorwayIcon,\n} from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n termsAndConditions: string;\n switchLanguage: string;\n };\n onLogout: () => void;\n onShowGdprDialog: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n onShowGdprDialog,\n userName,\n language,\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 >\n <div id=\"eps-overflow-menu\">\n <CustomOverflowMenuItem\n onClick={() => {\n onShowGdprDialog();\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <PrivacyIcon size=\"1rem\" inline />\n </span>\n {messages.termsAndConditions}\n </CustomOverflowMenuItem>\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 <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 <UploadIcon\n size=\"1rem\"\n inline\n style={{ transform: 'rotate(90deg)' }}\n />\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}> = ({ className, children, userName, open, onOpenChange, ...rest }) => {\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 </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<React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>> = (props) => {\n return (\n <button\n className={cx(props.className, 'eps-overflow-menu__item')}\n role=\"menuitem\"\n {...props}\n />\n );\n};\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n if (!element) {\n return false;\n }\n\n if (element.contains(event.target as Node)) {\n return true;\n }\n\n // For elements inside a Shadow DOM we need to check the composedPath\n if (event.composed && event.composedPath) {\n const contains = event.composedPath().find((target) => {\n if (target === window) {\n return false;\n }\n return element.contains(target as Node);\n });\n return contains ? true : false;\n }\n\n return false;\n}\n\nfunction useOutsideClick(\n ref: React.RefObject<HTMLDivElement>,\n buttonRef: React.RefObject<HTMLButtonElement>,\n handler: () => void\n) {\n React.useEffect(() => {\n const listener = (event: Event) => {\n if (\n elementContainsEventTarget(ref.current, event) ||\n elementContainsEventTarget(buttonRef.current, event)\n ) {\n return;\n }\n\n handler();\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, buttonRef, handler]);\n}\n","import React, { FC } from 'react';\nimport { Dropdown } 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\n return (\n <Dropdown\n label={label}\n searchable={true}\n clearable={true}\n className=\"eds-contrast\"\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 initialSelectedItem={\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 {...rest}\n />\n );\n};\n","import { 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 = { [k in 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, '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 { ReactNode, Component, ErrorInfo } from 'react';\n\nimport { isFunction } from './helpers';\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\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 if (process.env.NODE_ENV === 'production') {\n this.props.handleError?.(error, errorInfo);\n }\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 }\n return fallback;\n }\n\n return children;\n }\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { useState, FC, ReactNode } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\ntype Status = 'BLOCKED' | 'ALLOW';\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n const history = useHistory();\n\n const [status, setStatus] = useState<Status>('ALLOW');\n const [lastLocation, setLastLocation] = useState(history.location);\n\n const closeModal = () => {\n setStatus('ALLOW');\n };\n\n const allowNavigation = (nextLocation: Location): boolean => {\n if (shouldBlockNavigation(nextLocation) && status === 'ALLOW') {\n setStatus('BLOCKED');\n setLastLocation(nextLocation);\n return false;\n }\n return true;\n };\n\n const handleConfirm = () => {\n history.push(lastLocation.pathname);\n };\n\n return (\n <>\n <Prompt message={allowNavigation} />\n <ConfirmModal\n onDismiss={closeModal}\n open={status === 'BLOCKED'}\n onConfirm={handleConfirm}\n {...rest}\n >\n {children}\n </ConfirmModal>\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\nimport React from 'react';\nimport {\n Route,\n Redirect,\n RouteComponentProps,\n RouteProps,\n} from 'react-router-dom';\n\nimport { PermissionCheck } from './PermissionCheck';\n\ninterface PermissionCheckedRouteProps\n extends RouteComponentProps,\n Omit<RouteProps, 'location'> {\n actualPermissions: BusinessCapability[];\n all?: BusinessCapability[];\n oneOf?: BusinessCapability[];\n onReject?: React.ReactNode;\n}\n\nexport const PermissionCheckedRoute = ({\n children,\n actualPermissions,\n all,\n oneOf,\n onReject,\n ...props\n}: PermissionCheckedRouteProps) => {\n const redirect = (\n <Redirect\n to={{\n pathname: '/unauthorized',\n state: { from: props.location },\n }}\n />\n );\n return (\n <PermissionCheck\n permissions={actualPermissions}\n all={all}\n oneOf={oneOf}\n fallback={onReject ? onReject : redirect}\n >\n <Route {...props}>{children}</Route>\n </PermissionCheck>\n );\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\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[] = pathname === '/' ? [] : ['/'];\n\n // support paths with and without trailing slash, except root\n const adjustedPathname =\n pathname.length > 1 ? pathname.replace(/\\/$/, '') : pathname;\n\n adjustedPathname.split('/').reduce((prev, curr) => {\n const path = `${prev}/${curr}`;\n paths.push(path);\n return path;\n });\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"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","classList","cx","React","Stack","space","stackItems","Children","toArray","length","map","child","index","key","ActionBarLeft","ActionBarRight","ActionBar","LinkButton","Link","useFeatureToggle","flag","process","env","window","localStorage","getItem","FeatureToggle","feature","EnturPartnerLogoSvg","title","height","viewBox","fill","fillRule","d","EnturPartnerLogo","altText","classnames","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","onShowGdprDialog","userName","language","triggerClassList","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","PrivacyIcon","size","inline","termsAndConditions","NorwayIcon","switchLanguage","UKIcon","UploadIcon","style","transform","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","UserIcon","Heading6","DownArrowIcon","props","elementContainsEventTarget","element","event","contains","target","composed","composedPath","find","buttonRef","handler","useEffect","listener","current","document","addEventListener","removeEventListener","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","org","Dropdown","searchable","clearable","items","sort","a","b","name","localeCompare","organisation","value","initialSelectedItem","selectedValue","useEventListener","eventName","savedHandler","isSupported","eventListener","LanguageSelect","options","classNames","SegmentedControl","assertIsDefined","option","SegmentedChoice","required","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","variant","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","e","MultiLanguageInput","alertLabel","alertLevel","defaultLanguage","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","ErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","errorInfo","render","fallback","retry","setState","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","isOpen","message","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","Paragraph","ButtonGroup","cancel","PrimaryButton","confirm","RouteLeavingGuard","shouldBlockNavigation","history","useHistory","status","setStatus","location","lastLocation","setLastLocation","closeModal","allowNavigation","nextLocation","handleConfirm","pathname","Prompt","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","permissions","oneOf","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","PermissionCheckedRoute","actualPermissions","onReject","redirect","Redirect","to","from","Route","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","adjustedPathname","replace","split","reduce","prev","curr","path","breadcrumbs","filter","undefined","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight"],"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/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/PermissionCheckedRoute.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx"],"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 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\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 useFeatureToggle(flag: string): boolean {\n if (\n process.env[`REACT_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`REACT_APP_${flag}`) === 'true'\n ) {\n return true;\n }\n return false;\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","import './EnturPartnerLogo.scss';\n\nimport React, { FC } from 'react';\nimport classnames from 'classnames';\n\ninterface LogoProps {\n title: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({ title, ...rest }) => {\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=\"#FF5959\" 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=\"#FF5959\">\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}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n as: Component = 'nav',\n className,\n altText,\n}) => {\n const classList = classnames(['eps-logo-wrapper', className]);\n\n return (\n <Component className={classList}>\n <EnturPartnerLogoSvg title={altText} className=\"logo\" />\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 UserIcon,\n UploadIcon,\n PrivacyIcon,\n DownArrowIcon,\n UKIcon,\n NorwayIcon,\n} from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n termsAndConditions: string;\n switchLanguage: string;\n };\n onLogout: () => void;\n onShowGdprDialog: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n onShowGdprDialog,\n userName,\n language,\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 >\n <div id=\"eps-overflow-menu\">\n <CustomOverflowMenuItem\n onClick={() => {\n onShowGdprDialog();\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <PrivacyIcon size=\"1rem\" inline />\n </span>\n {messages.termsAndConditions}\n </CustomOverflowMenuItem>\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 <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 <UploadIcon\n size=\"1rem\"\n inline\n style={{ transform: 'rotate(90deg)' }}\n />\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}> = ({ className, children, userName, open, onOpenChange, ...rest }) => {\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 </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<React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>> = (props) => {\n return (\n <button\n className={cx(props.className, 'eps-overflow-menu__item')}\n role=\"menuitem\"\n {...props}\n />\n );\n};\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n if (!element) {\n return false;\n }\n\n if (element.contains(event.target as Node)) {\n return true;\n }\n\n // For elements inside a Shadow DOM we need to check the composedPath\n if (event.composed && event.composedPath) {\n const contains = event.composedPath().find((target) => {\n if (target === window) {\n return false;\n }\n return element.contains(target as Node);\n });\n return contains ? true : false;\n }\n\n return false;\n}\n\nfunction useOutsideClick(\n ref: React.RefObject<HTMLDivElement>,\n buttonRef: React.RefObject<HTMLButtonElement>,\n handler: () => void\n) {\n React.useEffect(() => {\n const listener = (event: Event) => {\n if (\n elementContainsEventTarget(ref.current, event) ||\n elementContainsEventTarget(buttonRef.current, event)\n ) {\n return;\n }\n\n handler();\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, buttonRef, handler]);\n}\n","import React, { FC } from 'react';\nimport { Dropdown } 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\n return (\n <Dropdown\n label={label}\n searchable={true}\n clearable={true}\n className=\"eds-contrast\"\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 initialSelectedItem={\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 {...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, '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 { ReactNode, Component, ErrorInfo } from 'react';\n\nimport { isFunction } from './helpers';\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\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 }\n return fallback;\n }\n\n return children;\n }\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { useState, FC, ReactNode } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\ntype Status = 'BLOCKED' | 'ALLOW';\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n const history = useHistory();\n\n const [status, setStatus] = useState<Status>('ALLOW');\n const [lastLocation, setLastLocation] = useState(history.location);\n\n const closeModal = () => {\n setStatus('ALLOW');\n };\n\n const allowNavigation = (nextLocation: Location): boolean => {\n if (shouldBlockNavigation(nextLocation) && status === 'ALLOW') {\n setStatus('BLOCKED');\n setLastLocation(nextLocation);\n return false;\n }\n return true;\n };\n\n const handleConfirm = () => {\n history.push(lastLocation.pathname);\n };\n\n return (\n <>\n <Prompt message={allowNavigation} />\n <ConfirmModal\n onDismiss={closeModal}\n open={status === 'BLOCKED'}\n onConfirm={handleConfirm}\n {...rest}\n >\n {children}\n </ConfirmModal>\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\nimport React from 'react';\nimport {\n Route,\n Redirect,\n RouteComponentProps,\n RouteProps,\n} from 'react-router-dom';\n\nimport { PermissionCheck } from './PermissionCheck';\n\ninterface PermissionCheckedRouteProps\n extends RouteComponentProps,\n Omit<RouteProps, 'location'> {\n actualPermissions: BusinessCapability[];\n all?: BusinessCapability[];\n oneOf?: BusinessCapability[];\n onReject?: React.ReactNode;\n}\n\nexport const PermissionCheckedRoute = ({\n children,\n actualPermissions,\n all,\n oneOf,\n onReject,\n ...props\n}: PermissionCheckedRouteProps) => {\n const redirect = (\n <Redirect\n to={{\n pathname: '/unauthorized',\n state: { from: props.location },\n }}\n />\n );\n return (\n <PermissionCheck\n permissions={actualPermissions}\n all={all}\n oneOf={oneOf}\n fallback={onReject ? onReject : redirect}\n >\n <Route {...props}>{children}</Route>\n </PermissionCheck>\n );\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\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[] = pathname === '/' ? [] : ['/'];\n\n // support paths with and without trailing slash, except root\n const adjustedPathname =\n pathname.length > 1 ? pathname.replace(/\\/$/, '') : pathname;\n\n adjustedPathname.split('/').reduce((prev, curr) => {\n const path = `${prev}/${curr}`;\n paths.push(path);\n return path;\n });\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"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","classList","cx","React","Stack","space","stackItems","Children","toArray","length","map","child","index","key","ActionBarLeft","ActionBarRight","ActionBar","LinkButton","Link","useFeatureToggle","flag","process","env","window","localStorage","getItem","FeatureToggle","feature","EnturPartnerLogoSvg","title","height","viewBox","fill","fillRule","d","EnturPartnerLogo","altText","classnames","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","onShowGdprDialog","userName","language","triggerClassList","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","PrivacyIcon","size","inline","termsAndConditions","NorwayIcon","switchLanguage","UKIcon","UploadIcon","style","transform","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","UserIcon","Heading6","DownArrowIcon","props","elementContainsEventTarget","element","event","contains","target","composed","composedPath","find","buttonRef","handler","useEffect","listener","current","document","addEventListener","removeEventListener","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","org","Dropdown","searchable","clearable","items","sort","a","b","name","localeCompare","organisation","value","initialSelectedItem","selectedValue","useEventListener","eventName","savedHandler","isSupported","eventListener","LanguageSelect","options","classNames","SegmentedControl","assertIsDefined","option","SegmentedChoice","required","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","variant","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","e","MultiLanguageInput","alertLabel","alertLevel","defaultLanguage","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","ErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","errorInfo","handleError","render","fallback","retry","setState","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","isOpen","message","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","Paragraph","ButtonGroup","cancel","PrimaryButton","confirm","RouteLeavingGuard","shouldBlockNavigation","history","useHistory","status","setStatus","location","lastLocation","setLastLocation","closeModal","allowNavigation","nextLocation","handleConfirm","pathname","Prompt","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","permissions","oneOf","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","PermissionCheckedRoute","actualPermissions","onReject","redirect","Redirect","to","from","Route","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","adjustedPathname","replace","split","reduce","prev","curr","path","breadcrumbs","filter","undefined","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),a=e(require("classnames")),r=require("@entur/typography"),o=require("@entur/icons"),l=require("@entur/button"),i=require("@entur/dropdown"),s=require("@entur/form"),c=require("@entur-partner/util"),u=require("@entur/expand"),m=require("@entur/modal"),p=require("react-router-dom"),d=require("@entur/menu");function g(){return(g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}function v(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n.indexOf(t=o[a])>=0||(r[t]=e[t]);return r}function h(e,n){if(Array.isArray(n)){var t=[];return n[0]&&t.push(e+n[0]),n[1]&&t.push(""+e+n[1]+"-lg"),n[2]&&t.push(""+e+n[2]+"-xl"),t}return[e+n]}var f=function(e){var n=e.as,r=void 0===n?"div":n,o=e.children,l=e.contrast,i=e.paddingTop,s=e.paddingRight,c=e.paddingBottom,u=e.paddingLeft,m=e.paddingX,p=e.paddingY,d=e.padding,g=e.marginTop,f=e.marginRight,E=e.marginBottom,b=e.marginLeft,N=e.marginX,x=e.marginY,y=e.margin,C=e.display,L=e.justifyContent,O=e.maxWidth,w=e.width,k=e.background,_=e.color,B=e.flexDirection,j=e.flexWrap,z=e.className,P=v(e,["as","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","maxWidth","width","background","color","flexDirection","flexWrap","className"]),S=[],F=i||p||d,D=c||p||d,M=u||m||d,I=s||m||d,A=g||x||y,R=E||x||y,T=b||N||y,V=f||N||y;l&&S.push("eds-contrast"),F&&S.push.apply(S,h("eps-pt-",F)),D&&S.push.apply(S,h("eps-pb-",D)),M&&S.push.apply(S,h("eps-pl-",M)),I&&S.push.apply(S,h("eps-pr-",I)),A&&S.push.apply(S,h("eps-mt-",A)),R&&S.push.apply(S,h("eps-mb-",R)),T&&S.push.apply(S,h("eps-ml-",T)),V&&S.push.apply(S,h("eps-mr-",V)),C&&S.push.apply(S,h("eps-",C)),L&&S.push.apply(S,h("eps-justify-",L)),O&&S.push.apply(S,h("eps-max-w-",O)),w&&S.push.apply(S,h("eps-w-",w)),_&&S.push("eps-color-"+_),k&&S.push("eps-bg-"+k),B&&S.push.apply(S,h("eps-flex-",B)),j&&S.push.apply(S,h("eps-flex-wrap-",j));var q=a(S,z);return t.createElement(r,Object.assign({className:q},P),o)},E=function(e){var a=e.space,r=e.className,o=n.Children.toArray(e.children);return o.length<=1?t.createElement(t.Fragment,null,o):t.createElement("div",{className:r},o.map((function(e,n){return n===o.length-1?t.createElement("div",{key:n},e):t.createElement(f,{paddingBottom:a,key:n},e)})))};function b(e){var n,t;return"true"===process.env["REACT_APP_"+e]||"true"===(null==(n=window.localStorage)?void 0:n.getItem(e))||"true"===(null==(t=window.localStorage)?void 0:t.getItem("REACT_APP_"+e))}var N=function(e){var n=e.title,a=v(e,["title"]);return t.createElement("svg",Object.assign({width:257,height:37,viewBox:"0 0 257 37"},a),t.createElement("title",null,n),t.createElement("g",{fill:"none",fillRule:"evenodd"},t.createElement("path",{fill:"#FFF",d:"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z"}),t.createElement("path",{fill:"#FF5959",d:"M0 36.408h45.253v-4.32H0z"}),t.createElement("path",{fill:"#FFF",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"}),t.createElement("g",{fill:"#FF5959"},t.createElement("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"}))))},x=function(e){var n,i,s,c=e.className,u=e.children,m=e.userName,p=e.open,d=e.onOpenChange,g=v(e,["className","children","userName","open","onOpenChange"]),h=a("eps-overflow-menu__group",{"eps-overflow-menu__group--open":p}),f=t.useRef(null),E=t.useRef(null);return t.useEffect((function(){var e=function(e){C(n.current,e)||C(i.current,e)||s()};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[n=f,i=E,s=function(){return d(!1)}]),t.createElement("div",null,t.createElement(l.SecondaryButton,Object.assign({className:a("eps-overflow-menu__button",c),onClick:function(){return d(!p)},"aria-haspopup":!0,role:"button","aria-expanded":p,ref:E},g),t.createElement("div",{className:"eps-overflow-menu__button-contents"},t.createElement("span",{className:"eds-overflow-menu__user-icon"},t.createElement(o.UserIcon,{inline:!0})),t.createElement(r.Heading6,{margin:"none",as:"span"},m),t.createElement("span",{className:"eps-arrow-icon"},t.createElement(o.DownArrowIcon,{inline:!0})))),p&&t.createElement("div",{className:h,role:"menu",ref:f},u))},y=function(e){return t.createElement("button",Object.assign({className:a(e.className,"eps-overflow-menu__item"),role:"menuitem"},e))};function C(e,n){return!(!e||!(e.contains(n.target)||n.composed&&n.composedPath&&n.composedPath().find((function(n){return n!==window&&e.contains(n)}))))}var L=function(e){var n=e.language,r=e.options,o=e.className,l=e.onChange,i=v(e,["language","options","className","onChange"]),u=a("eps-language-select",o);return t.createElement("div",Object.assign({},i,{className:u}),t.createElement(s.SegmentedControl,{onChange:function(e){c.assertIsDefined(e),l(e)},selectedValue:n},r.map((function(e){return t.createElement(s.SegmentedChoice,{key:e.value,value:e.value},e.label,e.required&&t.createElement("span",{className:"asterisk-margin"},"*"))}))))},O=function(e){var n,t;function a(n){var t;return(t=e.call(this,n)||this).state={error:null},t}t=e,(n=a).prototype=Object.create(t.prototype),n.prototype.constructor=n,n.__proto__=t,a.getDerivedStateFromError=function(e){return{error:e}};var r=a.prototype;return r.componentDidCatch=function(e,n){var t,a;null==(t=(a=this.props).handleError)||t.call(a,e,n)},r.render=function(){var e,n=this,t=this.state.error,a=this.props,r=a.fallback,o=a.children;return t?(e=r)&&"[object Function]"==={}.toString.call(e)?r({retry:function(){return n.setState({error:null})},error:t}):r:o},a}(n.Component),w=function(e){var n=e.date,a=e.locale,r=e.as,o=void 0===r?"main":r,l=e.hideTime,i=v(e,["date","locale","as","hideTime"]);return t.createElement(o,Object.assign({},i),l?c.localeDate(n,a):c.localeDateTime(n,a))},k=function(e){var n=e.isOpen,a=void 0!==n&&n,o=e.children,i=e.message,s=e.size,u=void 0===s?"medium":s,p=e.buttons,d=e.onConfirm,g=e.messages,h=e.onClose,E=e.onDismiss,b=v(e,["isOpen","children","message","size","buttons","onConfirm","messages","onClose","onDismiss"]),N=o||i,x=h||E;return t.createElement(m.Modal,Object.assign({size:u,open:a,onDismiss:x},b),c.isString(N)?t.createElement(r.Paragraph,null,N):t.createElement(f,{paddingBottom:"medium"},N),t.createElement(l.ButtonGroup,null,d?t.createElement(t.Fragment,null,t.createElement(l.SecondaryButton,{onClick:x,"data-testid":"cancel-modal-button"},g.cancel),t.createElement(l.PrimaryButton,{onClick:d,"data-testid":"confirm-modal-button"},g.confirm)):p))},_=function(e){var n=e.children,a=e.fallback,r=void 0===a?null:a,o=e.permissions,l=e.oneOf,i=void 0===l?[]:l,s=e.all,u=c.hasAllPermissions(void 0===s?[]:s,o),m=c.hasOneOfPermissions(i,o);return t.createElement(t.Fragment,null,u&&m?n:r)};exports.ActionBar=function(e){var n=e.children;return t.createElement(t.Fragment,null,t.createElement("div",{className:"eps-action-bar-padding"}),t.createElement("div",{className:"eps-action-bar"},n))},exports.ActionBarLeft=function(e){return t.createElement("div",{className:"eps-action-bar-left"},e.children)},exports.ActionBarRight=function(e){return t.createElement("div",{className:"eps-action-bar-right"},e.children)},exports.AuditInfo=function(e){var n=e.items,r=e.locale,o=e.className,l=v(e,["items","locale","className"]),i=a("ep-audit-info",o);return t.createElement("div",Object.assign({className:i},l),n.map((function(e,n){var a=e.value;return t.createElement(E,{space:"small",key:n},t.createElement("div",{className:"ep-audit-info-label"},e.label),t.createElement("div",null,c.isDate(a)||c.isDateString(a)?t.createElement(w,{date:a,locale:r}):t.createElement("span",null,a)))})))},exports.Box=f,exports.Breadcrumbs=function(e){var n=e.prependBreadcrumbItem,a=e.pathname,r=e.onBreadcrumbLookup,o="/"===a?[]:["/"];(a.length>1?a.replace(/\/$/,""):a).split("/").reduce((function(e,n){var t=e+"/"+n;return o.push(t),t}));var l=o.map((function(e){return{title:r(e),path:e}})).filter((function(e){return void 0!==e.title})),i=l.map((function(e,n){var a=e.path;return t.createElement(d.BreadcrumbItem,n===l.length-1?{key:a,as:"span"}:{key:a,as:p.Link,to:a},e.title)}));return t.createElement(d.BreadcrumbNavigation,null,n?[n].concat(i):i)},exports.ConfirmModal=k,exports.Content=function(e){var n=e.as,r=void 0===n?"main":n,o=e.children,l=a(["eps-content",e.className]);return t.createElement(r,{className:l},o)},exports.EnturPartnerLogo=function(e){var n=e.as,r=void 0===n?"nav":n,o=e.altText,l=a(["eps-logo-wrapper",e.className]);return t.createElement(r,{className:l},t.createElement(N,{title:o,className:"logo"}))},exports.EnturPartnerLogoSvg=N,exports.ErrorBoundary=O,exports.ExpandableMultiLanguageInput=function(e){var n=e.title,a=e.inputComponent,r=e.languages,o=e.values,l=e.onChange,i=e.name,s=e.variant,c=e.feedback,m=v(e,["title","inputComponent","languages","values","onChange","name","variant","feedback"]);return t.createElement(u.ExpandablePanel,{title:n,defaultOpen:!0,contentStyle:{padding:"4px 4px 4px 4px",marginTop:"16px",marginBottom:"16px"}},t.createElement(E,{space:"medium"},r.map((function(e){var r=e.value,u=e.label;return t.createElement(a,Object.assign({"data-testid":"multi-lang-input-"+i+"-"+r,key:n+r,label:e.required?u+"*":u,variant:s&&s(r),feedback:c&&c(r),name:i,onChange:function(e){var n,t,a;n=r,t=e.target.value,a=g({},o),""!==t&&t?a[n]=t:delete a[n],l(a)},value:o[r]||""},m))}))))},exports.FeatureToggle=function(e){var n=e.children;return b(e.flag)?t.createElement(t.Fragment,null,n):null},exports.FormatCurrencyAmount=function(e){var n=e.amount,a=e.as,r=void 0===a?"span":a,o=v(e,["amount","as"]),l=Number(n)||0,i=new Intl.NumberFormat("nb-NO",{maximumFractionDigits:2,minimumFractionDigits:2}).format(l);return t.createElement(r,Object.assign({},o),i)},exports.FormatDateTime=w,exports.LanguageSelect=L,exports.Link=function(e){return t.createElement(r.Link,Object.assign({},e,{as:p.Link}),e.children)},exports.LinkButton=function(e){var n=e.children,o=e.className,l=v(e,["children","className"]);return t.createElement(r.Link,Object.assign({},l,{as:"button",className:a("eps-link-button",o)}),n)},exports.Menu=function(e){var n=e.as,r=void 0===n?"nav":n,o=e.children,l=a(["eds-contrast","eps-menu",e.className]);return t.createElement(r,{className:l},o)},exports.MultiLanguageInput=function(e){var r=e.className,o=e.inputComponent,l=e.alertLabel,i=e.alertLevel,s=e.name,c=e.languages,u=e.values,m=e.onChange,p=e.defaultLanguage,d=void 0===p?"nob":p,g=e.label,h=void 0===g?"":g,f=e.onBlur,b=void 0===f?function(){}:f,N=v(e,["className","inputComponent","alertLabel","alertLevel","name","languages","values","onChange","defaultLanguage","label","onBlur"]),x=n.useState(d),y=x[0],C=x[1],O=a("multi-language-input",r),w=u[y];return t.createElement("div",{className:O,tabIndex:0,onBlur:function(e){e.persist();var n=e.currentTarget;setTimeout((function(){n&&!n.contains(document.activeElement)&&b(e)}),0)},"data-testid":"multi-lang-input-"+s},t.createElement(E,{space:"extraSmall"},t.createElement(L,{language:y,options:c,onChange:function(e){return function(e){C(e)}(e)}}),t.createElement(o,Object.assign({label:h,variant:i,feedback:l,name:s,className:"language-item",onChange:function(e){return n=e.target.value,t=Object.assign({},u),""!==n&&n?t[y]=n:delete t[y],void m(t);var n,t},value:w||""},N))))},exports.OrganisationDropDown=function(e){var n=e.label,a=e.organisations,r=e.onChange,o=e.selectedOrganisationId,l=v(e,["label","organisations","onChange","selectedOrganisationId"]),s=a.find((function(e){return e.id===o}));return t.createElement(i.Dropdown,Object.assign({label:n,searchable:!0,clearable:!0,className:"eds-contrast",items:[].concat(a.sort((function(e,n){return e.name.localeCompare(n.name,"nb")})).map((function(e){return{value:e.id,label:e.name}}))),initialSelectedItem:s?{value:s.id,label:s.name}:null,onChange:function(e){e&&r(e.value)}},l))},exports.Pager=function(e){var n=e.onPageChange,a=e.currentPage,r=Math.ceil(e.collectionSize/e.pageSize);return t.createElement(d.Pagination,{pageCount:r,currentPage:a,onPageChange:function(e){n(e)}})},exports.PermissionCheck=_,exports.PermissionCheckedRoute=function(e){var n=e.children,a=e.actualPermissions,r=e.all,o=e.oneOf,l=e.onReject,i=v(e,["children","actualPermissions","all","oneOf","onReject"]),s=t.createElement(p.Redirect,{to:{pathname:"/unauthorized",state:{from:i.location}}});return t.createElement(_,{permissions:a,all:r,oneOf:o,fallback:l||s},t.createElement(p.Route,Object.assign({},i),n))},exports.RouteLeavingGuard=function(e){var a=e.children,r=e.shouldBlockNavigation,o=v(e,["children","shouldBlockNavigation"]),l=p.useHistory(),i=n.useState("ALLOW"),s=i[0],c=i[1],u=n.useState(l.location),m=u[0],d=u[1];return t.createElement(t.Fragment,null,t.createElement(p.Prompt,{message:function(e){return!r(e)||"ALLOW"!==s||(c("BLOCKED"),d(e),!1)}}),t.createElement(k,Object.assign({onDismiss:function(){c("ALLOW")},open:"BLOCKED"===s,onConfirm:function(){l.push(m.pathname)}},o),a))},exports.Stack=E,exports.StatusLabel=function(e){var n=e.active,r=e.label,o=void 0===r?"":r,l=e.showBullet,i=e.center,s=a("eps-status-label__bullet",{active:void 0!==n&&n,aggressive:e.aggressiveInactive}),c=a("eps-status-label",{center:i});return t.createElement("div",{className:c},l&&t.createElement("div",{className:s}),t.createElement("div",null,o))},exports.Text=function(e){var n=e.as,r=void 0===n?"span":n,o=e.children,l=e.fontSize,i=e.color,s=e.lineHeight,c=e.fontWeight,u=e.className,m=v(e,["as","children","fontSize","color","lineHeight","fontWeight","className"]),p=[];l&&p.push.apply(p,h("eps-font-size-",l)),s&&p.push.apply(p,h("eps-line-height-",s)),c&&p.push("eps-font-weight-"+c);var d=a(p,u);return t.createElement(f,Object.assign({as:r,color:i,className:d},m),o)},exports.Unbutton=function(e){var n=e.children,r=e.className,o=v(e,["children","className"]);return t.createElement(l.Button,Object.assign({variant:"primary"},o,{className:a("eps-unbutton",r)}),n)},exports.UserMenu=function(e){var r=e.messages,l=e.onLogout,i=e.onLanguageChange,s=e.onShowGdprDialog,c=e.userName,u=e.language,m=a(["eps-user-menu__trigger-button",e.className]),p=n.useState(!1),d=p[1];return t.createElement("div",{id:"eps-user-menu"},t.createElement(x,{open:p[0],onOpenChange:d,className:m,userName:c},t.createElement("div",{id:"eps-overflow-menu"},t.createElement(y,{onClick:function(){s(),d(!1)},className:"eps-overflow-menu__item"},t.createElement("span",{"aria-hidden":!0},t.createElement(o.PrivacyIcon,{size:"1rem",inline:!0})),r.termsAndConditions),"en"===u?t.createElement(y,{onClick:function(){i("nb"),d(!1)},className:"eps-overflow-menu__item"},t.createElement("span",{"aria-hidden":!0,className:"eps-overflow-menu__icon-margin"},t.createElement(o.NorwayIcon,{size:"1rem",inline:!0})),r.switchLanguage):t.createElement(y,{onClick:function(){i("en"),d(!1)},className:"eps-overflow-menu__item"},t.createElement("span",{"aria-hidden":!0,className:"eps-overflow-menu__icon-margin"},t.createElement(o.UKIcon,{size:"1rem",inline:!0})),r.switchLanguage),t.createElement(y,{onClick:function(){l(),d(!1)},"data-testid":"user-menu-logout",className:"eps-overflow-menu__item"},t.createElement("span",{"aria-hidden":!0},t.createElement(o.UploadIcon,{size:"1rem",inline:!0,style:{transform:"rotate(90deg)"}})),r.logout))))},exports.responsiveProp=h,exports.useEventListener=function(e,t,a){void 0===a&&(a=window);var r=n.useRef();n.useEffect((function(){r.current=t}),[t]),n.useEffect((function(){if(a&&a.addEventListener){var n=function(e){return null==r.current?void 0:r.current(e)};return a.addEventListener(e,n),function(){a.removeEventListener(e,n)}}}),[e,a])},exports.useFeatureToggle=b;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("classnames"),a=require("@entur/typography"),n=require("@entur/icons"),r=require("@entur/button"),l=require("@entur/dropdown"),u=require("@entur/form"),o=require("@entur-partner/util"),i=require("@entur/expand"),s=require("@entur/modal"),c=require("react-router-dom"),d=require("@entur/menu");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=m(e),f=m(t);function v(){return v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},v.apply(this,arguments)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function h(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t.indexOf(a=l[n])>=0||(r[a]=e[a]);return r}var E=["as","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","maxWidth","width","background","color","flexDirection","flexWrap","className"];function b(e,t){if(Array.isArray(t)){var a=[];return t[0]&&a.push(e+t[0]),t[1]&&a.push(""+e+t[1]+"-lg"),t[2]&&a.push(""+e+t[2]+"-xl"),a}return[e+t]}var N=function(e){var t=e.as,a=void 0===t?"div":t,n=e.children,r=e.contrast,l=e.paddingTop,u=e.paddingRight,o=e.paddingBottom,i=e.paddingLeft,s=e.paddingX,c=e.paddingY,d=e.padding,m=e.marginTop,g=e.marginRight,N=e.marginBottom,x=e.marginLeft,y=e.marginX,C=e.marginY,L=e.margin,w=e.display,k=e.justifyContent,_=e.maxWidth,B=e.width,O=e.background,z=e.color,P=e.flexDirection,S=e.flexWrap,F=e.className,D=h(e,E),M=[],I=l||c||d,A=o||c||d,R=i||s||d,T=u||s||d,V=m||C||L,j=N||C||L,q=x||y||L,H=g||y||L;r&&M.push("eds-contrast"),I&&M.push.apply(M,b("eps-pt-",I)),A&&M.push.apply(M,b("eps-pb-",A)),R&&M.push.apply(M,b("eps-pl-",R)),T&&M.push.apply(M,b("eps-pr-",T)),V&&M.push.apply(M,b("eps-mt-",V)),j&&M.push.apply(M,b("eps-mb-",j)),q&&M.push.apply(M,b("eps-ml-",q)),H&&M.push.apply(M,b("eps-mr-",H)),w&&M.push.apply(M,b("eps-",w)),k&&M.push.apply(M,b("eps-justify-",k)),_&&M.push.apply(M,b("eps-max-w-",_)),B&&M.push.apply(M,b("eps-w-",B)),z&&M.push("eps-color-"+z),O&&M.push("eps-bg-"+O),P&&M.push.apply(M,b("eps-flex-",P)),S&&M.push.apply(M,b("eps-flex-wrap-",S));var W=f.default(M,F);return p.default.createElement(a,v({className:W},D),n)},x=function(t){var a=t.space,n=t.className,r=e.Children.toArray(t.children);return r.length<=1?p.default.createElement(p.default.Fragment,null,r):p.default.createElement("div",{className:n},r.map((function(e,t){return t===r.length-1?p.default.createElement("div",{key:t},e):p.default.createElement(N,{paddingBottom:a,key:t},e)})))},y=["children","className"];function C(e){var t,a;return"true"===process.env["REACT_APP_"+e]||"true"===(null==(t=window.localStorage)?void 0:t.getItem(e))||"true"===(null==(a=window.localStorage)?void 0:a.getItem("REACT_APP_"+e))}var L=["title"],w=function(e){var t=e.title,a=h(e,L);return p.default.createElement("svg",v({width:257,height:37,viewBox:"0 0 257 37"},a),p.default.createElement("title",null,t),p.default.createElement("g",{fill:"none",fillRule:"evenodd"},p.default.createElement("path",{fill:"#FFF",d:"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z"}),p.default.createElement("path",{fill:"#FF5959",d:"M0 36.408h45.253v-4.32H0z"}),p.default.createElement("path",{fill:"#FFF",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"}),p.default.createElement("g",{fill:"#FF5959"},p.default.createElement("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"}))))},k=["className","children","userName","open","onOpenChange"],_=function(e){var t,l,u,o=e.className,i=e.children,s=e.userName,c=e.open,d=e.onOpenChange,m=h(e,k),g=f.default("eps-overflow-menu__group",{"eps-overflow-menu__group--open":c}),E=p.default.useRef(null),b=p.default.useRef(null);return p.default.useEffect((function(){var e=function(e){O(t.current,e)||O(l.current,e)||u()};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[t=E,l=b,u=function(){return d(!1)}]),p.default.createElement("div",null,p.default.createElement(r.SecondaryButton,v({className:f.default("eps-overflow-menu__button",o),onClick:function(){return d(!c)},"aria-haspopup":!0,role:"button","aria-expanded":c,ref:b},m),p.default.createElement("div",{className:"eps-overflow-menu__button-contents"},p.default.createElement("span",{className:"eds-overflow-menu__user-icon"},p.default.createElement(n.UserIcon,{inline:!0})),p.default.createElement(a.Heading6,{margin:"none",as:"span"},s),p.default.createElement("span",{className:"eps-arrow-icon"},p.default.createElement(n.DownArrowIcon,{inline:!0})))),c&&p.default.createElement("div",{className:g,role:"menu",ref:E},i))},B=function(e){return p.default.createElement("button",v({className:f.default(e.className,"eps-overflow-menu__item"),role:"menuitem"},e))};function O(e,t){return!(!e||!(e.contains(t.target)||t.composed&&t.composedPath&&t.composedPath().find((function(t){return t!==window&&e.contains(t)}))))}var z=["label","organisations","onChange","selectedOrganisationId"],P=["language","options","className","onChange"],S=function(e){var t=e.language,a=e.options,n=e.className,r=e.onChange,l=h(e,P),i=f.default("eps-language-select",n);return p.default.createElement("div",v({},l,{className:i}),p.default.createElement(u.SegmentedControl,{onChange:function(e){o.assertIsDefined(e),r(e)},selectedValue:t},a.map((function(e){return p.default.createElement(u.SegmentedChoice,{key:e.value,value:e.value},e.label,e.required&&p.default.createElement("span",{className:"asterisk-margin"},"*"))}))))},F=["title","inputComponent","languages","values","onChange","name","variant","feedback"],D=["className","inputComponent","alertLabel","alertLevel","name","languages","values","onChange","defaultLanguage","label","onBlur"],M=["children","className"],I=function(e){var t,a;function n(t){var a;return(a=e.call(this,t)||this).state={error:null},a}a=e,(t=n).prototype=Object.create(a.prototype),t.prototype.constructor=t,g(t,a),n.getDerivedStateFromError=function(e){return{error:e}};var r=n.prototype;return r.componentDidCatch=function(e,t){var a,n;null==(a=(n=this.props).handleError)||a.call(n,e,t)},r.render=function(){var e,t=this,a=this.state.error,n=this.props,r=n.fallback,l=n.children;return a?(e=r)&&"[object Function]"==={}.toString.call(e)?r({retry:function(){return t.setState({error:null})},error:a}):r:l},n}(e.Component),A=["date","locale","as","hideTime"],R=function(e){var t=e.date,a=e.locale,n=e.as,r=void 0===n?"main":n,l=e.hideTime,u=h(e,A);return p.default.createElement(r,v({},u),l?o.localeDate(t,a):o.localeDateTime(t,a))},T=["amount","as"],V=["items","locale","className"],j=["isOpen","children","message","size","buttons","onConfirm","messages","onClose","onDismiss"],q=function(e){var t=e.isOpen,n=void 0!==t&&t,l=e.children,u=e.message,i=e.size,c=void 0===i?"medium":i,d=e.buttons,m=e.onConfirm,f=e.messages,g=e.onClose,E=e.onDismiss,b=h(e,j),x=l||u,y=g||E;return p.default.createElement(s.Modal,v({size:c,open:n,onDismiss:y},b),o.isString(x)?p.default.createElement(a.Paragraph,null,x):p.default.createElement(N,{paddingBottom:"medium"},x),p.default.createElement(r.ButtonGroup,null,m?p.default.createElement(p.default.Fragment,null,p.default.createElement(r.SecondaryButton,{onClick:y,"data-testid":"cancel-modal-button"},f.cancel),p.default.createElement(r.PrimaryButton,{onClick:m,"data-testid":"confirm-modal-button"},f.confirm)):d))},H=["children","shouldBlockNavigation"],W=function(e){var t=e.children,a=e.fallback,n=void 0===a?null:a,r=e.permissions,l=e.oneOf,u=void 0===l?[]:l,i=e.all,s=o.hasAllPermissions(void 0===i?[]:i,r),c=o.hasOneOfPermissions(u,r);return p.default.createElement(p.default.Fragment,null,s&&c?t:n)},U=["children","actualPermissions","all","oneOf","onReject"],X=["as","children","fontSize","color","lineHeight","fontWeight","className"];exports.ActionBar=function(e){var t=e.children;return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:"eps-action-bar-padding"}),p.default.createElement("div",{className:"eps-action-bar"},t))},exports.ActionBarLeft=function(e){return p.default.createElement("div",{className:"eps-action-bar-left"},e.children)},exports.ActionBarRight=function(e){return p.default.createElement("div",{className:"eps-action-bar-right"},e.children)},exports.AuditInfo=function(e){var t=e.items,a=e.locale,n=e.className,r=h(e,V),l=f.default("ep-audit-info",n);return p.default.createElement("div",v({className:l},r),t.map((function(e,t){var n=e.value;return p.default.createElement(x,{space:"small",key:t},p.default.createElement("div",{className:"ep-audit-info-label"},e.label),p.default.createElement("div",null,o.isDate(n)||o.isDateString(n)?p.default.createElement(R,{date:n,locale:a}):p.default.createElement("span",null,n)))})))},exports.Box=N,exports.Breadcrumbs=function(e){var t=e.prependBreadcrumbItem,a=e.pathname,n=e.onBreadcrumbLookup,r="/"===a?[]:["/"];(a.length>1?a.replace(/\/$/,""):a).split("/").reduce((function(e,t){var a=e+"/"+t;return r.push(a),a}));var l=r.map((function(e){return{title:n(e),path:e}})).filter((function(e){return void 0!==e.title})),u=l.map((function(e,t){var a=e.path;return p.default.createElement(d.BreadcrumbItem,t===l.length-1?{key:a,as:"span"}:{key:a,as:c.Link,to:a},e.title)}));return p.default.createElement(d.BreadcrumbNavigation,null,t?[t].concat(u):u)},exports.ConfirmModal=q,exports.Content=function(e){var t=e.as,a=void 0===t?"main":t,n=e.children,r=f.default(["eps-content",e.className]);return p.default.createElement(a,{className:r},n)},exports.EnturPartnerLogo=function(e){var t=e.as,a=void 0===t?"nav":t,n=e.altText,r=f.default(["eps-logo-wrapper",e.className]);return p.default.createElement(a,{className:r},p.default.createElement(w,{title:n,className:"logo"}))},exports.EnturPartnerLogoSvg=w,exports.ErrorBoundary=I,exports.ExpandableMultiLanguageInput=function(e){var t=e.title,a=e.inputComponent,n=e.languages,r=e.values,l=e.onChange,u=e.name,o=e.variant,s=e.feedback,c=h(e,F);return p.default.createElement(i.ExpandablePanel,{title:t,defaultOpen:!0,contentStyle:{padding:"4px 4px 4px 4px",marginTop:"16px",marginBottom:"16px"}},p.default.createElement(x,{space:"medium"},n.map((function(e){var n=e.value,i=e.label;return p.default.createElement(a,v({"data-testid":"multi-lang-input-"+u+"-"+n,key:t+n,label:e.required?i+"*":i,variant:o&&o(n),feedback:s&&s(n),name:u,onChange:function(e){var t,a,u;t=n,a=e.target.value,u=v({},r),""!==a&&a?u[t]=a:delete u[t],l(u)},value:r[n]||""},c))}))))},exports.FeatureToggle=function(e){var t=e.children;return C(e.flag)?p.default.createElement(p.default.Fragment,null,t):null},exports.FormatCurrencyAmount=function(e){var t=e.amount,a=e.as,n=void 0===a?"span":a,r=h(e,T),l=Number(t)||0,u=new Intl.NumberFormat("nb-NO",{maximumFractionDigits:2,minimumFractionDigits:2}).format(l);return p.default.createElement(n,v({},r),u)},exports.FormatDateTime=R,exports.LanguageSelect=S,exports.Link=function(e){return p.default.createElement(a.Link,v({},e,{as:c.Link}),e.children)},exports.LinkButton=function(e){var t=e.children,n=e.className,r=h(e,y);return p.default.createElement(a.Link,v({},r,{as:"button",className:f.default("eps-link-button",n)}),t)},exports.Menu=function(e){var t=e.as,a=void 0===t?"nav":t,n=e.children,r=f.default(["eds-contrast","eps-menu",e.className]);return p.default.createElement(a,{className:r},n)},exports.MultiLanguageInput=function(t){var a=t.className,n=t.inputComponent,r=t.alertLabel,l=t.alertLevel,u=t.name,o=t.languages,i=t.values,s=t.onChange,c=t.defaultLanguage,d=void 0===c?"nob":c,m=t.label,g=void 0===m?"":m,E=t.onBlur,b=void 0===E?function(){}:E,N=h(t,D),y=e.useState(d),C=y[0],L=y[1],w=f.default("multi-language-input",a),k=i[C];return p.default.createElement("div",{className:w,tabIndex:0,onBlur:function(e){e.persist();var t=e.currentTarget;setTimeout((function(){t&&!t.contains(document.activeElement)&&b(e)}),0)},"data-testid":"multi-lang-input-"+u},p.default.createElement(x,{space:"extraSmall"},p.default.createElement(S,{language:C,options:o,onChange:function(e){return function(e){L(e)}(e)}}),p.default.createElement(n,v({label:g,variant:l,feedback:r,name:u,className:"language-item",onChange:function(e){return t=e.target.value,a=Object.assign({},i),""!==t&&t?a[C]=t:delete a[C],void s(a);var t,a},value:k||""},N))))},exports.OrganisationDropDown=function(e){var t=e.label,a=e.organisations,n=e.onChange,r=e.selectedOrganisationId,u=h(e,z),o=a.find((function(e){return e.id===r}));return p.default.createElement(l.Dropdown,v({label:t,searchable:!0,clearable:!0,className:"eds-contrast",items:[].concat(a.sort((function(e,t){return e.name.localeCompare(t.name,"nb")})).map((function(e){return{value:e.id,label:e.name}}))),initialSelectedItem:o?{value:o.id,label:o.name}:null,onChange:function(e){e&&n(e.value)}},u))},exports.Pager=function(e){var t=e.onPageChange,a=e.currentPage,n=Math.ceil(e.collectionSize/e.pageSize);return p.default.createElement(d.Pagination,{pageCount:n,currentPage:a,onPageChange:function(e){t(e)}})},exports.PermissionCheck=W,exports.PermissionCheckedRoute=function(e){var t=e.children,a=e.actualPermissions,n=e.all,r=e.oneOf,l=e.onReject,u=h(e,U),o=p.default.createElement(c.Redirect,{to:{pathname:"/unauthorized",state:{from:u.location}}});return p.default.createElement(W,{permissions:a,all:n,oneOf:r,fallback:l||o},p.default.createElement(c.Route,v({},u),t))},exports.RouteLeavingGuard=function(t){var a=t.children,n=t.shouldBlockNavigation,r=h(t,H),l=c.useHistory(),u=e.useState("ALLOW"),o=u[0],i=u[1],s=e.useState(l.location),d=s[0],m=s[1];return p.default.createElement(p.default.Fragment,null,p.default.createElement(c.Prompt,{message:function(e){return!n(e)||"ALLOW"!==o||(i("BLOCKED"),m(e),!1)}}),p.default.createElement(q,v({onDismiss:function(){i("ALLOW")},open:"BLOCKED"===o,onConfirm:function(){l.push(d.pathname)}},r),a))},exports.Stack=x,exports.StatusLabel=function(e){var t=e.active,a=e.label,n=void 0===a?"":a,r=e.showBullet,l=e.center,u=f.default("eps-status-label__bullet",{active:void 0!==t&&t,aggressive:e.aggressiveInactive}),o=f.default("eps-status-label",{center:l});return p.default.createElement("div",{className:o},r&&p.default.createElement("div",{className:u}),p.default.createElement("div",null,n))},exports.Text=function(e){var t=e.as,a=void 0===t?"span":t,n=e.children,r=e.fontSize,l=e.color,u=e.lineHeight,o=e.fontWeight,i=e.className,s=h(e,X),c=[];r&&c.push.apply(c,b("eps-font-size-",r)),u&&c.push.apply(c,b("eps-line-height-",u)),o&&c.push("eps-font-weight-"+o);var d=f.default(c,i);return p.default.createElement(N,v({as:a,color:l,className:d},s),n)},exports.Unbutton=function(e){var t=e.children,a=e.className,n=h(e,M);return p.default.createElement(r.Button,v({variant:"primary"},n,{className:f.default("eps-unbutton",a)}),t)},exports.UserMenu=function(t){var a=t.messages,r=t.onLogout,l=t.onLanguageChange,u=t.onShowGdprDialog,o=t.userName,i=t.language,s=f.default(["eps-user-menu__trigger-button",t.className]),c=e.useState(!1),d=c[1];return p.default.createElement("div",{id:"eps-user-menu"},p.default.createElement(_,{open:c[0],onOpenChange:d,className:s,userName:o},p.default.createElement("div",{id:"eps-overflow-menu"},p.default.createElement(B,{onClick:function(){u(),d(!1)},className:"eps-overflow-menu__item"},p.default.createElement("span",{"aria-hidden":!0},p.default.createElement(n.PrivacyIcon,{size:"1rem",inline:!0})),a.termsAndConditions),"en"===i?p.default.createElement(B,{onClick:function(){l("nb"),d(!1)},className:"eps-overflow-menu__item"},p.default.createElement("span",{"aria-hidden":!0,className:"eps-overflow-menu__icon-margin"},p.default.createElement(n.NorwayIcon,{size:"1rem",inline:!0})),a.switchLanguage):p.default.createElement(B,{onClick:function(){l("en"),d(!1)},className:"eps-overflow-menu__item"},p.default.createElement("span",{"aria-hidden":!0,className:"eps-overflow-menu__icon-margin"},p.default.createElement(n.UKIcon,{size:"1rem",inline:!0})),a.switchLanguage),p.default.createElement(B,{onClick:function(){r(),d(!1)},"data-testid":"user-menu-logout",className:"eps-overflow-menu__item"},p.default.createElement("span",{"aria-hidden":!0},p.default.createElement(n.UploadIcon,{size:"1rem",inline:!0,style:{transform:"rotate(90deg)"}})),a.logout))))},exports.responsiveProp=b,exports.useEventListener=function(t,a,n){void 0===n&&(n=window);var r=e.useRef();e.useEffect((function(){r.current=a}),[a]),e.useEffect((function(){if(n&&n.addEventListener){var e=function(e){return null==r.current?void 0:r.current(e)};return n.addEventListener(t,e),function(){n.removeEventListener(t,e)}}}),[t,n])},exports.useFeatureToggle=C;
|
|
2
2
|
//# sourceMappingURL=common.cjs.production.min.js.map
|