@entur-partner/common 11.0.1 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Pager.d.ts CHANGED
@@ -5,4 +5,7 @@ export interface PagerProps {
5
5
  pageSize: number;
6
6
  onPageChange: (page: number) => void;
7
7
  }
8
+ /**
9
+ * @deprecated use Pagination directly instead
10
+ */
8
11
  export declare const Pager: FC<PagerProps>;
@@ -766,6 +766,9 @@ var OrganisationDropDown = function OrganisationDropDown(_ref) {
766
766
  );
767
767
  };
768
768
 
769
+ /**
770
+ * @deprecated use Pagination directly instead
771
+ */
769
772
  var Pager = function Pager(_ref) {
770
773
  var collectionSize = _ref.collectionSize,
771
774
  pageSize = _ref.pageSize,
@@ -1 +1 @@
1
- {"version":3,"file":"common.cjs.development.js","sources":["../src/ActionBar.tsx","../src/FormatDateTime.tsx","../src/Box.tsx","../src/Stack.tsx","../src/AuditInfo.tsx","../src/Breadcrumbs.tsx","../src/ConfirmModal.tsx","../src/Content.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/ErrorBoundary.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/FeatureToggle.tsx","../src/FormatCurrencyAmount.tsx","../src/LanguageSelect.tsx","../src/Link.tsx","../src/LinkButton.tsx","../src/Menu.tsx","../src/MultiLanguageInput.tsx","../src/OrganisationDropdown.tsx","../src/Pager.tsx","../src/PageTitle.tsx","../src/PermissionCheck.tsx","../src/RouteLeavingGuard.tsx","../src/StatusLabel.tsx","../src/Text.tsx","../src/Unbutton.tsx","../src/useEventListener.ts","../src/user-menu/components/CustomOverflowMenuItem.tsx","../src/user-menu/components/CookieSettingsMenuItem.tsx","../src/user-menu/components/useOutsideClick.ts","../src/user-menu/components/CustomOverflowMenu.tsx","../src/user-menu/components/LocaleSwitchMenuItem.tsx","../src/user-menu/components/LogOutMenuItem.tsx","../src/user-menu/components/UserMenuItem.tsx","../src/user-menu/components/VersionMenuItem.tsx","../src/user-menu/UserMenu.tsx"],"sourcesContent":["import \"./ActionBar.scss\";\nimport { type ReactNode } from \"react\";\n\nexport interface ActionBarProps {\n\tchildren: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"eps-action-bar-padding\" />\n\t\t\t<div className=\"eps-action-bar\">{children}</div>\n\t\t</>\n\t);\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import { localeDate, localeDateTime } from \"@entur-partner/util\";\nimport { type FC } from \"react\";\n\nexport interface FormatDateTimeProps {\n\tdate: string | Date;\n\tlocale: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n\tdate,\n\tlocale,\n\tas: Component = \"main\",\n\thideTime,\n\t...rest\n}) => {\n\treturn (\n\t\t<Component {...rest}>\n\t\t\t{hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n\t\t</Component>\n\t);\n};\n","import \"./Box.scss\";\n\nimport cx from \"classnames\";\nimport type { ElementType, ReactNode } from \"react\";\n\ntype StyleSpacing =\n\t| \"none\"\n\t| \"extraSmall2\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\"\n\t| \"extraLarge8\"\n\t| \"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\t| \"none\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"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\t| StyleSpacing\n\t| [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n\t| StyleMargin\n\t| [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n\t| StyleDisplay\n\t| [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n\t| StyleJustifyContent\n\t| [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n\t| StyleAlignItems\n\t| [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n\t| StyleMaxWidth\n\t| [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n\t| StyleWidth\n\t| [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n\t| StyleFlexDirection\n\t| [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n\t| StyleFlexWrap\n\t| [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n\tclassName?: string;\n\tas?: ElementType;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n\tchildren: ReactNode;\n\n\tcontrast?: boolean;\n\n\tpaddingTop?: ResponsiveStyleSpacing;\n\tpaddingRight?: ResponsiveStyleSpacing;\n\tpaddingBottom?: ResponsiveStyleSpacing;\n\tpaddingLeft?: ResponsiveStyleSpacing;\n\tpaddingX?: ResponsiveStyleSpacing;\n\tpaddingY?: ResponsiveStyleSpacing;\n\tpadding?: ResponsiveStyleSpacing;\n\n\tmarginTop?: ResponsiveStyleMargin;\n\tmarginRight?: ResponsiveStyleMargin;\n\tmarginBottom?: ResponsiveStyleMargin;\n\tmarginLeft?: ResponsiveStyleMargin;\n\tmarginX?: ResponsiveStyleMargin;\n\tmarginY?: ResponsiveStyleMargin;\n\tmargin?: ResponsiveStyleMargin;\n\n\tdisplay?: ResponsiveStyleDisplay;\n\tjustifyContent?: ResponsiveStyleJustifyContent;\n\talignItems?: ResponsiveStyleAlignItems;\n\n\tmaxWidth?: ResponsiveStyleMaxWidth;\n\twidth?: ResponsiveStyleWidth;\n\tbackground?: StyleBackground;\n\tcolor?: StyleColor;\n\n\tflexDirection?: ResponsiveStyleFlexDirection;\n\tflexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n\tif (Array.isArray(prop)) {\n\t\tconst classes = [];\n\t\tprop[0] && classes.push(prefix + prop[0]);\n\t\tprop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n\t\tprop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n\t\treturn classes;\n\t}\n\treturn [prefix + prop];\n}\n\nexport const Box = ({\n\tas: Component = \"div\",\n\tchildren,\n\tcontrast,\n\tpaddingTop,\n\tpaddingRight,\n\tpaddingBottom,\n\tpaddingLeft,\n\tpaddingX,\n\tpaddingY,\n\tpadding,\n\tmarginTop,\n\tmarginRight,\n\tmarginBottom,\n\tmarginLeft,\n\tmarginX,\n\tmarginY,\n\tmargin,\n\tdisplay,\n\tjustifyContent,\n\talignItems,\n\tmaxWidth,\n\twidth,\n\tbackground,\n\tcolor,\n\tflexDirection,\n\tflexWrap,\n\tclassName,\n\t...rest\n}: BoxProps) => {\n\tconst classes = [];\n\tconst resolvedPaddingTop = paddingTop || paddingY || padding;\n\tconst resolvedPaddingBottom = paddingBottom || paddingY || padding;\n\tconst resolvedPaddingLeft = paddingLeft || paddingX || padding;\n\tconst resolvedPaddingRight = paddingRight || paddingX || padding;\n\n\tconst resolvedMarginTop = marginTop || marginY || margin;\n\tconst resolvedMarginBottom = marginBottom || marginY || margin;\n\tconst resolvedMarginLeft = marginLeft || marginX || margin;\n\tconst resolvedMarginRight = marginRight || marginX || margin;\n\n\tcontrast && classes.push(\"eds-contrast\");\n\tresolvedPaddingTop &&\n\t\tclasses.push(...responsiveProp(\"eps-pt-\", resolvedPaddingTop));\n\tresolvedPaddingBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-pb-\", resolvedPaddingBottom));\n\tresolvedPaddingLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-pl-\", resolvedPaddingLeft));\n\tresolvedPaddingRight &&\n\t\tclasses.push(...responsiveProp(\"eps-pr-\", resolvedPaddingRight));\n\tresolvedMarginTop &&\n\t\tclasses.push(...responsiveProp(\"eps-mt-\", resolvedMarginTop));\n\tresolvedMarginBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-mb-\", resolvedMarginBottom));\n\tresolvedMarginLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-ml-\", resolvedMarginLeft));\n\tresolvedMarginRight &&\n\t\tclasses.push(...responsiveProp(\"eps-mr-\", resolvedMarginRight));\n\n\tdisplay && classes.push(...responsiveProp(\"eps-\", display));\n\tjustifyContent &&\n\t\tclasses.push(...responsiveProp(\"eps-justify-\", justifyContent));\n\tif (alignItems) {\n\t\tclasses.push(...responsiveProp(\"eps-items-\", alignItems));\n\t}\n\n\tmaxWidth && classes.push(...responsiveProp(\"eps-max-w-\", maxWidth));\n\twidth && classes.push(...responsiveProp(\"eps-w-\", width));\n\n\tcolor && classes.push(`eps-color-${color}`);\n\tbackground && classes.push(`eps-bg-${background}`);\n\n\tflexDirection && classes.push(...responsiveProp(\"eps-flex-\", flexDirection));\n\tflexWrap && classes.push(...responsiveProp(\"eps-flex-wrap-\", flexWrap));\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Component className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Component>\n\t);\n};\n","/** biome-ignore-all lint/suspicious/noArrayIndexKey: Ignore for now. Should be tested properly before doing changes */\nimport { Children, type ReactNode } from \"react\";\n\nimport { Box, type ResponsiveStyleSpacing } from \"./Box\";\n\nexport interface StackProps {\n\tclassName?: string;\n\tchildren: ReactNode;\n\tspace: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n\tconst stackItems = Children.toArray(children);\n\tif (stackItems.length <= 1) {\n\t\treturn <>{stackItems}</>;\n\t}\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{stackItems.map((child, index) =>\n\t\t\t\tindex === stackItems.length - 1 ? (\n\t\t\t\t\t<div key={index}>{child}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Box paddingBottom={space} key={index}>\n\t\t\t\t\t\t{child}\n\t\t\t\t\t</Box>\n\t\t\t\t),\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import \"./AuditInfo.scss\";\n\nimport { isDate, isDateString } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\nimport { FormatDateTime } from \"./FormatDateTime\";\nimport { Stack } from \"./Stack\";\n\ninterface Item {\n\tlabel: string;\n\tvalue: Date | string;\n}\n\nexport interface AuditInfoProps {\n\titems: Item[];\n\tlocale: string;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n\titems,\n\tlocale,\n\tclassName,\n\t...rest\n}) => {\n\tconst classNames = cx(\"ep-audit-info\", className);\n\treturn (\n\t\t<div className={classNames} {...rest}>\n\t\t\t{items.map(({ label, value }) => (\n\t\t\t\t<Stack space=\"small\" key={value.toString()}>\n\t\t\t\t\t<div className=\"ep-audit-info-label\">{label}</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{isDate(value) || isDateString(value) ? (\n\t\t\t\t\t\t\t<FormatDateTime date={value} locale={locale} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{value}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</Stack>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n","import \"./Breadcrumbs.scss\";\nimport { BreadcrumbItem, BreadcrumbNavigation } from \"@entur/menu\";\nimport { splitUrlPath } from \"@entur-partner/util\";\nimport { type FC, type ReactElement } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface BreadcrumbsProps {\n\tpathname: string;\n\tonBreadcrumbLookup: (path: string) => string | undefined;\n\tprependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n\tprependBreadcrumbItem,\n\tpathname,\n\tonBreadcrumbLookup,\n}) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst breadcrumbs = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined);\n\n\tconst breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n\t\tconst isLast = i === breadcrumbs.length - 1;\n\t\tif (isLast) {\n\t\t\treturn (\n\t\t\t\t<BreadcrumbItem key={path} as={\"span\"}>\n\t\t\t\t\t{title}\n\t\t\t\t</BreadcrumbItem>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<BreadcrumbItem key={path} as={Link} to={path}>\n\t\t\t\t{title}\n\t\t\t</BreadcrumbItem>\n\t\t);\n\t});\n\n\tif (prependBreadcrumbItem) {\n\t\treturn (\n\t\t\t<BreadcrumbNavigation>\n\t\t\t\t{[prependBreadcrumbItem, ...breadcrumbElements]}\n\t\t\t</BreadcrumbNavigation>\n\t\t);\n\t}\n\n\treturn <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import \"./ConfirmModal.scss\";\n\nimport { ButtonGroup, PrimaryButton, SecondaryButton } from \"@entur/button\";\nimport { Modal, type ModalProps } from \"@entur/modal\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isString } from \"@entur-partner/util\";\nimport type { FC, ReactNode } from \"react\";\n\nimport { Box } from \"./Box\";\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n\ttitle: string;\n\tchildren: ReactNode;\n\tcloseLabel: string;\n\n\t/** Deprecated use children prop */\n\tmessage?: ReactNode;\n\t/** Deprecated use open prop */\n\tisOpen?: boolean;\n\t/** Deprecated use onDismiss prop */\n\tonClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n\tbuttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n\tonConfirm: () => void;\n\tmessages: {\n\t\tconfirm: string;\n\t\tcancel: string;\n\t};\n}\n\nexport type ConfirmModalProps =\n\t| CustomConfirmModalButtons\n\t| DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n\tisOpen = false,\n\tchildren,\n\tmessage,\n\tsize = \"medium\",\n\tbuttons,\n\tonConfirm,\n\tmessages,\n\tonClose,\n\tonDismiss,\n\t...rest\n}) => {\n\tconst childrenToRender = children ? children : message;\n\tconst handleDismiss = onClose ? onClose : onDismiss;\n\treturn (\n\t\t<Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n\t\t\t{isString(childrenToRender) ? (\n\t\t\t\t<Paragraph>{childrenToRender}</Paragraph>\n\t\t\t) : (\n\t\t\t\t<Box paddingBottom=\"medium\">{childrenToRender}</Box>\n\t\t\t)}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t{onConfirm ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<SecondaryButton\n\t\t\t\t\t\t\tonClick={handleDismiss}\n\t\t\t\t\t\t\tdata-testid=\"cancel-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.cancel}\n\t\t\t\t\t\t</SecondaryButton>\n\t\t\t\t\t\t<PrimaryButton\n\t\t\t\t\t\t\tonClick={onConfirm}\n\t\t\t\t\t\t\tdata-testid=\"confirm-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.confirm}\n\t\t\t\t\t\t</PrimaryButton>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tbuttons\n\t\t\t\t)}\n\t\t\t</ButtonGroup>\n\t\t</Modal>\n\t);\n};\n","import \"./Content.scss\";\n\nimport classnames from \"classnames\";\nimport type { ElementType, FC, ReactNode } from \"react\";\n\ninterface ContentProps {\n\tchildren: ReactNode;\n\tas?: \"main\" | ElementType;\n\tclassName?: string;\n}\nexport const Content: FC<ContentProps> = ({\n\tas: Component = \"main\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eps-content\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","export enum Environment {\n\tLocal = \"local\",\n\tDevelopment = \"dev\",\n\tStaging = \"staging\",\n\tProduction = \"prod\",\n}\n\nconst environmentColors: Record<\n\tExclude<Environment, Environment.Production>,\n\tstring\n> = {\n\t[Environment.Local]: \"#B482FB\",\n\t[Environment.Development]: \"#5AC39A\",\n\t[Environment.Staging]: \"#FFCA28\",\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n\tenvironment: Exclude<Environment, Environment.Production>,\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n\t[Environment.Local]: \"Local\",\n\t[Environment.Development]: \"Dev\",\n\t[Environment.Staging]: \"Staging\",\n\t[Environment.Production]: \"Prod\",\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n\thumanReadableEnvironment[environment];\n","import \"./EnturPartnerLogo.scss\";\n\nimport classnames from \"classnames\";\nimport type { ElementType, FC } from \"react\";\n\nimport { Environment, getColorForEnvironment } from \"./environment\";\n\ninterface LogoProps {\n\ttitle: string;\n\tclassName?: string;\n\taccentColor?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n\ttitle,\n\taccentColor = \"#FF5959\",\n\t...rest\n}) => {\n\treturn (\n\t\t<svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n\t\t\t<title>{title}</title>\n\t\t\t<g fill=\"none\" fillRule=\"evenodd\">\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n\t\t\t\t/>\n\t\t\t\t<path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"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\t\t\t\t/>\n\t\t\t\t<g fill={accentColor}>\n\t\t\t\t\t<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\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t);\n};\n\ninterface EnturPartnerLogoProps {\n\taltText: string;\n\tas?: \"div\" | ElementType;\n\tclassName?: string;\n\tenvironment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\taltText,\n\tenvironment,\n}) => {\n\tconst classList = classnames([\"eps-logo-wrapper\", className]);\n\n\treturn (\n\t\t<Component className={classList}>\n\t\t\t<EnturPartnerLogoSvg\n\t\t\t\ttitle={altText}\n\t\t\t\tclassName=\"logo\"\n\t\t\t\taccentColor={\n\t\t\t\t\tenvironment !== undefined && environment !== Environment.Production\n\t\t\t\t\t\t? getColorForEnvironment(environment)\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</Component>\n\t);\n};\n","import { BannerAlertBox } from \"@entur/alert\";\nimport { PrimaryButton } from \"@entur/button\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isFunction } from \"@entur-partner/util\";\nimport { Component, type ErrorInfo, type ReactNode } from \"react\";\nimport { Box } from \"./Box\";\n\ntype FallbackOptions = {\n\tretry: () => void;\n\terror: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n\thandleError?: (error: Error, errorInfo: ErrorInfo) => void;\n\tfallback: ReactNode | RenderProp;\n\tchildren: ReactNode;\n};\n\ntype State = {\n\terror: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n\t\"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n\tconstructor(props: Props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\n\tstatic getDerivedStateFromError(error: Error): State {\n\t\treturn {\n\t\t\terror,\n\t\t};\n\t}\n\n\tcomponentDidCatch(error: Error, errorInfo: ErrorInfo) {\n\t\t// React always logs in development\n\t\tthis.props.handleError?.(error, errorInfo);\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tconst { fallback, children } = this.props;\n\n\t\tif (error) {\n\t\t\tif (isFunction<RenderProp>(fallback)) {\n\t\t\t\treturn fallback({ retry: () => this.setState({ error: null }), error });\n\t\t\t} else if (\n\t\t\t\terror.name === \"NotFoundError\" &&\n\t\t\t\terror.message === newAppVersionErrorMessage\n\t\t\t) {\n\t\t\t\treturn <RefreshBannerInfo />;\n\t\t\t}\n\n\t\t\treturn fallback;\n\t\t}\n\n\t\treturn children;\n\t}\n}\n\nexport const LANGUAGE_STORAGE_KEY = \"EP::locale\";\n\nfunction RefreshBannerInfo() {\n\t// Taken from ./app-shell/src/storage.ts\n\tconst language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n\tconst isNorwegian = language === \"nb\" || language === \"nb-NO\";\n\treturn (\n\t\t<Box maxWidth=\"large\">\n\t\t\t<BannerAlertBox\n\t\t\t\tvariant=\"info\"\n\t\t\t\ttitle={\n\t\t\t\t\tisNorwegian\n\t\t\t\t\t\t? \"En ny versjon av nettsiden er tilgjengelig.\"\n\t\t\t\t\t\t: \"A new version of the website is available.\"\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Box paddingBottom=\"medium\">\n\t\t\t\t\t<Paragraph margin=\"none\">\n\t\t\t\t\t\t{isNorwegian ? \"Vennligst oppdater.\" : \"Please refresh.\"}\n\t\t\t\t\t</Paragraph>\n\t\t\t\t</Box>\n\t\t\t\t<PrimaryButton onClick={() => window.location.reload()}>\n\t\t\t\t\t{isNorwegian ? \"Oppdater\" : \"Refresh\"}\n\t\t\t\t</PrimaryButton>\n\t\t\t</BannerAlertBox>\n\t\t</Box>\n\t);\n}\n","import { ExpandablePanel } from \"@entur/expand\";\nimport type { VariantType } from \"@entur/form\";\nimport type { ChangeEvent, ElementType } from \"react\";\n\nimport type { LanguageKey, LanguageOption } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n\ttitle: string;\n\tinputComponent: ElementType;\n\tlanguages: LanguageOption[];\n\tvalues: MultiLanguageValues;\n\tonChange: (values: MultiLanguageValues) => void;\n\tname: string;\n\tvariant?: (lang: LanguageKey) => VariantType;\n\tfeedback?: (lang: LanguageKey) => string;\n\t[key: string]: object | string | number | boolean | undefined;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n\ttitle,\n\tinputComponent: InputComponent,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tname,\n\tvariant,\n\tfeedback,\n\t...rest\n}: ExpandableMultiLanguageInputProps) => {\n\tconst handleOnChange = (language: LanguageKey, value?: string) => {\n\t\tconst changes = { ...values };\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t<ExpandablePanel\n\t\t\ttitle={title}\n\t\t\tdefaultOpen\n\t\t\tcontentStyle={{\n\t\t\t\tpadding: \"4px 4px 4px 4px\",\n\t\t\t\tmarginTop: \"16px\",\n\t\t\t\tmarginBottom: \"16px\",\n\t\t\t}}\n\t\t>\n\t\t\t<Stack space=\"medium\">\n\t\t\t\t{languages.map(({ value: langKey, label, required }) => (\n\t\t\t\t\t<InputComponent\n\t\t\t\t\t\tdata-testid={`multi-lang-input-${name}-${langKey}`}\n\t\t\t\t\t\tkey={title + langKey}\n\t\t\t\t\t\tlabel={required ? `${label}*` : label}\n\t\t\t\t\t\tvariant={variant?.(langKey)}\n\t\t\t\t\t\tfeedback={feedback?.(langKey)}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\thandleOnChange(langKey, e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={values[langKey] || \"\"}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Stack>\n\t\t</ExpandablePanel>\n\t);\n};\n","import { type ReactNode } from \"react\";\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n\treturn (\n\t\t// biome-ignore lint/suspicious/noExplicitAny: We dont have vite types here\n\t\t(import.meta as any)?.env?.[`VITE_APP_${flag}`] === \"true\" ||\n\t\twindow.localStorage?.getItem(flag) === \"true\" ||\n\t\twindow.localStorage?.getItem(`VITE_APP_${flag}`) === \"true\"\n\t);\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n\treturn featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n\t/** Visible if flag exist, hidden if not.*/\n\tchildren: ReactNode;\n\t/** Case sensitive flag. If it is an environment variable\n\t * you can drop the VITE_APP_ prefix. */\n\tflag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n\tconst feature = useFeatureToggle(flag);\n\tif (feature) {\n\t\treturn <>{children}</>;\n\t}\n\treturn null;\n};\n","import type { ElementType, FC } from \"react\";\n\nexport interface FormatCurrencyAmountProps {\n\tamount: number | string;\n\tas?: \"span\" | ElementType;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n\tamount,\n\tas: Component = \"span\",\n\t...rest\n}) => {\n\tconst parsedAmount = Number(amount) || 0;\n\n\tconst formattedAmount = new Intl.NumberFormat(\"nb-NO\", {\n\t\tmaximumFractionDigits: 2,\n\t\tminimumFractionDigits: 2,\n\t}).format(parsedAmount);\n\n\treturn <Component {...rest}>{formattedAmount}</Component>;\n};\n","import \"./LanguageSelect.scss\";\n\nimport { SegmentedChoice, SegmentedControl } from \"@entur/form\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\nexport type LanguageKey = \"nob\" | \"nno\" | \"eng\";\n\nexport interface LanguageOption {\n\tvalue: LanguageKey;\n\tlabel: string;\n\trequired: boolean;\n}\n\nexport interface LanguageSelectProps {\n\tlanguage: string;\n\toptions: LanguageOption[];\n\tclassName?: string;\n\tonChange: (language: string) => void;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n\tlanguage,\n\toptions,\n\tclassName,\n\tonChange,\n\t...rest\n}) => {\n\tconst classNames = cx(\"eps-language-select\", className);\n\treturn (\n\t\t<div {...rest} className={classNames}>\n\t\t\t<SegmentedControl\n\t\t\t\tonChange={(language) => {\n\t\t\t\t\tassertIsDefined(language);\n\t\t\t\t\tif (typeof language === \"string\") {\n\t\t\t\t\t\tonChange(language);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tselectedValue={language}\n\t\t\t>\n\t\t\t\t{options.map((option) => (\n\t\t\t\t\t<SegmentedChoice key={option.value} value={option.value}>\n\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t{option.required && <span className=\"asterisk-margin\">{\"*\"}</span>}\n\t\t\t\t\t</SegmentedChoice>\n\t\t\t\t))}\n\t\t\t</SegmentedControl>\n\t\t</div>\n\t);\n};\n","import { Link as A } from \"@entur/typography\";\nimport { type FC } from \"react\";\nimport { type LinkProps, Link as RouterLink } from \"react-router-dom\";\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n\treturn (\n\t\t<A {...props} as={RouterLink}>\n\t\t\t{props.children}\n\t\t</A>\n\t);\n};\n","import \"./LinkButton.scss\";\n\nimport { Link } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport { type ReactNode } from \"react\";\n\nexport interface LinkButtonProps {\n\tchildren: ReactNode;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n}\n\nexport const LinkButton = ({\n\tchildren,\n\tclassName,\n\t...rest\n}: LinkButtonProps) => (\n\t<Link {...rest} as=\"button\" className={cx(\"eps-link-button\", className)}>\n\t\t{children}\n\t</Link>\n);\n","import \"./Menu.scss\";\n\nimport classnames from \"classnames\";\nimport type { ElementType, FC, ReactNode } from \"react\";\n\ninterface MenuProps {\n\tchildren: ReactNode;\n\tas?: \"div\" | ElementType;\n\tclassName?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eds-contrast\", \"eps-menu\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","import \"./MultiLanguageInput.scss\";\n\nimport type { VariantType } from \"@entur/form\";\nimport cx from \"classnames\";\nimport {\n\ttype ChangeEvent,\n\ttype ElementType,\n\ttype FC,\n\ttype FocusEvent,\n\tuseState,\n} from \"react\";\nimport { type LanguageOption, LanguageSelect } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n\tclassName?: string;\n\tonBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n\tinputComponent: ElementType;\n\tvalues: { [key: string]: string };\n\tlanguages: LanguageOption[];\n\tonChange: (values: Values) => void;\n\tname: string;\n\talertLevel?: VariantType;\n\talertLabel?: string;\n\tlabel?: string;\n\tdefaultLanguage?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n\tclassName,\n\tinputComponent: InputComponent,\n\talertLabel,\n\talertLevel,\n\tname,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tdefaultLanguage = \"nob\",\n\tlabel = \"\",\n\tonBlur = () => {},\n\t...rest\n}) => {\n\tconst [language, setLanguage] = useState(defaultLanguage);\n\tconst classNames = cx(\"multi-language-input\", className);\n\tconst currentValue = values[language];\n\n\tconst handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n\t\te.persist();\n\t\tconst currentTarget = e.currentTarget;\n\t\tsetTimeout(() => {\n\t\t\tif (currentTarget && !currentTarget.contains(document.activeElement)) {\n\t\t\t\tonBlur(e);\n\t\t\t}\n\t\t}, 0);\n\t};\n\n\tconst handleLanguageChange = (language: string) => {\n\t\tsetLanguage(language);\n\t};\n\n\tconst handleOnChange = (value?: string) => {\n\t\tconst changes = Object.assign({}, values);\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Legacy component\n\t\t<div\n\t\t\tclassName={classNames}\n\t\t\t// biome-ignore lint/a11y/noNoninteractiveTabindex: Legacy component\n\t\t\ttabIndex={0}\n\t\t\tonBlur={handleOnBlur}\n\t\t\tdata-testid={`multi-lang-input-${name}`}\n\t\t>\n\t\t\t<Stack space=\"extraSmall\">\n\t\t\t\t<LanguageSelect\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\toptions={languages}\n\t\t\t\t\tonChange={(lang) => handleLanguageChange(lang)}\n\t\t\t\t/>\n\t\t\t\t<InputComponent\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tvariant={alertLevel}\n\t\t\t\t\tfeedback={alertLabel}\n\t\t\t\t\tname={name}\n\t\t\t\t\tclassName=\"language-item\"\n\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) =>\n\t\t\t\t\t\thandleOnChange(e.target.value)\n\t\t\t\t\t}\n\t\t\t\t\tvalue={currentValue || \"\"}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</Stack>\n\t\t</div>\n\t);\n};\n","import { SearchableDropdown } from \"@entur/dropdown\";\nimport { type FC, type MouseEvent, useEffect, useRef, useState } from \"react\";\n\ninterface OrganisationV3 {\n\torganisationId: number;\n\ttradingName: string;\n}\n\ninterface OrganisationDropDownProps {\n\tlabel: string;\n\tonChange: (organisationId: number) => void;\n\torganisations: OrganisationV3[];\n\tselectedOrganisationId?: number;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nfunction isInShadowDom(el: Element | null): boolean {\n\treturn el?.getRootNode() instanceof ShadowRoot;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n\tlabel,\n\torganisations,\n\tonChange: handleChange,\n\tselectedOrganisationId,\n\t...rest\n}) => {\n\tconst wrapperRef = useRef<HTMLDivElement>(null);\n\tconst [selectedOrganisation, setSelectedOrganisation] =\n\t\tuseState<OrganisationV3>();\n\n\tuseEffect(() => {\n\t\tsetSelectedOrganisation(\n\t\t\torganisations.find(\n\t\t\t\t(org) => org.organisationId === selectedOrganisationId,\n\t\t\t),\n\t\t);\n\t}, [selectedOrganisationId, organisations]);\n\n\tconst handleMouseDown = (e: MouseEvent) => {\n\t\tif (!isInShadowDom(wrapperRef.current)) return;\n\t\t// In shadow DOM, mouse events are retargeted at the shadow boundary,\n\t\t// causing downshift's window-level outside-click detection to misidentify\n\t\t// clicks within the dropdown as outside clicks. Stop propagation to prevent\n\t\t// the retargeted event from reaching window-level listeners.\n\t\te.nativeEvent.stopPropagation();\n\t\t// Prevent default on non-input elements to stop the browser from moving\n\t\t// focus away from the combobox input, which would trigger a blur that\n\t\t// closes the dropdown before the click event can register a selection.\n\t\tif ((e.target as HTMLElement).tagName !== \"INPUT\") {\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tconst handleMouseUp = (e: MouseEvent) => {\n\t\tif (!isInShadowDom(wrapperRef.current)) return;\n\t\te.nativeEvent.stopPropagation();\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Temporary fix. See comment above. Will be fixed in design system level in the future.\n\t\t<div\n\t\t\tref={wrapperRef}\n\t\t\tonMouseDown={handleMouseDown}\n\t\t\tonMouseUp={handleMouseUp}\n\t\t>\n\t\t\t<SearchableDropdown\n\t\t\t\tlabel={label}\n\t\t\t\titems={[\n\t\t\t\t\t...organisations\n\t\t\t\t\t\t.sort((a, b) => a.tradingName.localeCompare(b.tradingName, \"nb\"))\n\t\t\t\t\t\t.map((organisation) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: organisation.organisationId,\n\t\t\t\t\t\t\t\tlabel: organisation.tradingName,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t]}\n\t\t\t\tselectedItem={\n\t\t\t\t\tselectedOrganisation\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tvalue: selectedOrganisation.organisationId,\n\t\t\t\t\t\t\t\tlabel: selectedOrganisation.tradingName,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonChange={(selectedValue) => {\n\t\t\t\t\tif (selectedValue) {\n\t\t\t\t\t\thandleChange(selectedValue.value);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclearable={false}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { Pagination } from \"@entur/menu\";\nimport { type FC } from \"react\";\n\nexport interface PagerProps {\n\tcurrentPage: number;\n\tcollectionSize: number;\n\tpageSize: number;\n\tonPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n\tcollectionSize,\n\tpageSize,\n\tonPageChange,\n\tcurrentPage,\n}) => {\n\tconst pageCount = Math.ceil(collectionSize / pageSize);\n\treturn (\n\t\t<Pagination\n\t\t\tpageCount={pageCount}\n\t\t\tcurrentPage={currentPage}\n\t\t\tonPageChange={(page) => {\n\t\t\t\tonPageChange(page);\n\t\t\t}}\n\t\t/>\n\t);\n};\n","import { splitUrlPath } from \"@entur-partner/util\";\nimport { useEffect } from \"react\";\n\ntype DocumentTitleProps = {\n\ttitle: string;\n\tsuffix?: string;\n};\n\nexport const useDocumentTitle = ({ title, suffix }: DocumentTitleProps) => {\n\tuseEffect(() => {\n\t\tif (suffix) {\n\t\t\tdocument.title = `${title}${suffix}`;\n\t\t} else {\n\t\t\tdocument.title = title;\n\t\t}\n\t}, [title, suffix]);\n};\n\ntype Props = {\n\treadonly pathname: string;\n\treadonly onBreadcrumbLookup: (path: string) => string | undefined;\n\treadonly appTitle?: string;\n};\n\nexport const PageTitle = ({\n\tpathname,\n\tonBreadcrumbLookup,\n\tappTitle = \"Entur Partner\",\n}: Props) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst pageTitles = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined)\n\t\t.map(({ title }) => title)\n\t\t.reverse()\n\t\t.join(\" | \");\n\n\tconst title = pageTitles ? `${pageTitles} | ${appTitle}` : appTitle;\n\n\tuseDocumentTitle({ title });\n\n\treturn null;\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\nimport { hasAllPermissions, hasOneOfPermissions } from \"@entur-partner/util\";\nimport { type FC, type ReactNode } from \"react\";\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\tchildren: ReactNode;\n\t/** User permissions to check */\n\tpermissions: BusinessCapability[];\n\t/** Check that at least one of the permissions is present */\n\toneOf?: BusinessCapability[];\n\t/** Check that all of the permissions is present */\n\tall?: BusinessCapability[] | BusinessCapability;\n\t/** Rendered if check fails. Defaults to null */\n\tfallback?: 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\tchildren,\n\tfallback = null,\n\tpermissions,\n\toneOf = [],\n\tall = [],\n}) => {\n\tconst allIsAllowed = hasAllPermissions(all, permissions);\n\n\tconst oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n\tconst allowed = allIsAllowed && oneOfIsAllowed;\n\treturn <>{allowed ? children : fallback}</>;\n};\n","import type { ModalProps } from \"@entur/modal\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type FC, type ReactNode } from \"react\";\nimport {\n\ttype Location,\n\tuseBlocker,\n\tuseInRouterContext,\n} from \"react-router-dom\";\n\nimport { ConfirmModal } from \"./ConfirmModal\";\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n\ttitle: string;\n\tcloseLabel: string;\n\tmessages: {\n\t\tcancel: string;\n\t\tconfirm: string;\n\t};\n\tchildren: ReactNode;\n\tshouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n\tchildren,\n\tshouldBlockNavigation,\n\t...rest\n}) => {\n\tassertIsDefined(\n\t\tuseInRouterContext() ? true : undefined,\n\t\t`RouteLeavingGuard must be used within a data router.`,\n\t);\n\n\tconst blocker = useBlocker(\n\t\t({ currentLocation, nextLocation }) =>\n\t\t\tcurrentLocation.pathname !== nextLocation.pathname &&\n\t\t\tshouldBlockNavigation(nextLocation),\n\t);\n\n\treturn (\n\t\t<ConfirmModal\n\t\t\tonDismiss={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.reset();\n\t\t\t\t}\n\t\t\t}}\n\t\t\topen={blocker.state === \"blocked\"}\n\t\t\tonConfirm={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.proceed();\n\t\t\t\t}\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</ConfirmModal>\n\t);\n};\n","import \"./StatusLabel.scss\";\n\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\ninterface StatusLabelProps {\n\tlabel: string;\n\tactive: boolean;\n\taggressiveInactive?: boolean;\n\tshowBullet?: boolean;\n\tcenter?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n\tactive = false,\n\tlabel = \"\",\n\taggressiveInactive,\n\tshowBullet,\n\tcenter,\n}) => {\n\tconst bulletClassNames = cx(\"eps-status-label__bullet\", {\n\t\tactive,\n\t\taggressive: aggressiveInactive,\n\t});\n\tconst statusLabelClassNames = cx(\"eps-status-label\", {\n\t\tcenter,\n\t});\n\treturn (\n\t\t<div className={statusLabelClassNames}>\n\t\t\t{showBullet && <div className={bulletClassNames} />}\n\t\t\t<div>{label}</div>\n\t\t</div>\n\t);\n};\n","import \"./Text.scss\";\n\nimport cx from \"classnames\";\nimport type { ElementType, ReactNode } from \"react\";\n\nimport { Box, responsiveProp, type StyleColor } from \"./Box\";\n\ntype StyleFontSize =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\";\n\ntype StyleFontWeight = \"body\" | \"heading\";\n\ntype StyleLineHeight =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\";\n\nexport type ResponsiveStyleFontSize =\n\t| StyleFontSize\n\t| [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n\t| StyleLineHeight\n\t| [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n\tclassName?: string;\n\tas?: ElementType;\n\tchildren: ReactNode;\n\tfontSize?: ResponsiveStyleFontSize;\n\tlineHeight?: ResponsiveStyleLineHeight;\n\tcolor?: StyleColor;\n\tfontWeight?: StyleFontWeight;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const Text = ({\n\tas: component = \"span\",\n\tchildren,\n\tfontSize,\n\tcolor,\n\tlineHeight,\n\tfontWeight,\n\tclassName,\n\t...rest\n}: TextProps) => {\n\tconst classes = [];\n\n\tfontSize && classes.push(...responsiveProp(\"eps-font-size-\", fontSize));\n\tlineHeight && classes.push(...responsiveProp(\"eps-line-height-\", lineHeight));\n\tfontWeight && classes.push(`eps-font-weight-${fontWeight}`);\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Box as={component} color={color} className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Box>\n\t);\n};\n","import \"./Unbutton.scss\";\n\nimport { Button, type ButtonProps } from \"@entur/button\";\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\ninterface UnbuttonProps extends Omit<ButtonProps<typeof Button>, \"variant\"> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n\tchildren,\n\tclassName,\n\t...rest\n}) => (\n\t<Button variant=\"primary\" {...rest} className={cx(\"eps-unbutton\", className)}>\n\t\t{children}\n\t</Button>\n);\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from \"react\";\n\ntype TypedEventListener<T extends Event> = (evt: T) => void;\n\nexport function useEventListener<T extends Event = Event>(\n\teventName: string,\n\thandler: TypedEventListener<T>,\n\telement: WindowEventHandlers = window,\n) {\n\tconst savedHandler = useRef<TypedEventListener<T>>(null);\n\n\tuseEffect(() => {\n\t\tsavedHandler.current = handler;\n\t}, [handler]);\n\n\tuseEffect(() => {\n\t\tconst isSupported = element?.addEventListener;\n\t\tif (!isSupported) return;\n\n\t\tconst eventListener = ((event: T): void =>\n\t\t\tsavedHandler.current?.(event)) as EventListener;\n\n\t\telement.addEventListener(eventName, eventListener);\n\n\t\treturn () => {\n\t\t\telement.removeEventListener(eventName, eventListener);\n\t\t};\n\t}, [eventName, element]);\n}\n","import cx from \"classnames\";\nimport type { ButtonHTMLAttributes, DetailedHTMLProps, FC } from \"react\";\n\nexport const CustomOverflowMenuItem: FC<\n\tDetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>\n> = (props) => {\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(props.className, \"eps-overflow-menu__item\")}\n\t\t\trole=\"menuitem\"\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n","import { CookieIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonClick: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({ locale, onClick }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden={true}>\n\t\t\t\t<CookieIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"Cookie settings\" : \"Cookieinstillinger\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import { type RefObject, useEffect } from \"react\";\n\nexport function useOutsideClick(\n\tref: RefObject<HTMLDivElement | null>,\n\tbuttonRef: RefObject<HTMLButtonElement | null>,\n\thandler: () => void,\n) {\n\tuseEffect(() => {\n\t\tconst listener = (event: Event) => {\n\t\t\tif (\n\t\t\t\telementContainsEventTarget(ref.current, event) ||\n\t\t\t\telementContainsEventTarget(buttonRef.current, event)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\thandler();\n\t\t};\n\n\t\tdocument.addEventListener(\"mousedown\", listener);\n\t\tdocument.addEventListener(\"touchstart\", listener);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"mousedown\", listener);\n\t\t\tdocument.removeEventListener(\"touchstart\", listener);\n\t\t};\n\t}, [ref, buttonRef, handler]);\n}\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n\tif (!element) {\n\t\treturn false;\n\t}\n\n\tif (element.contains(event.target as Node)) {\n\t\treturn true;\n\t}\n\n\t// For elements inside a Shadow DOM we need to check the composedPath\n\tif (event.composed && event.composedPath) {\n\t\tconst contains = event.composedPath().find((target) => {\n\t\t\tif (target === window) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn element.contains(target as Node);\n\t\t});\n\t\treturn !!contains;\n\t}\n\n\treturn false;\n}\n","import { SecondaryButton } from \"@entur/button\";\nimport { DownArrowIcon, UserIcon } from \"@entur/icons\";\nimport { Heading6 } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport { type FC, type ReactNode, useRef } from \"react\";\n\nimport {\n\tEnvironment,\n\tgetColorForEnvironment,\n\tgetHumanReadableEnvironment,\n} from \"../../environment\";\nimport { useOutsideClick } from \"./useOutsideClick\";\n\nexport const CustomOverflowMenu: FC<{\n\tclassName?: string;\n\tchildren: ReactNode;\n\tuserName: string;\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tenvironment?: Environment;\n}> = ({\n\tclassName,\n\tchildren,\n\tuserName,\n\topen,\n\tonOpenChange,\n\tenvironment,\n\t...rest\n}) => {\n\tconst overflowItemsClasses = cx(\"eps-overflow-menu__group\", {\n\t\t\"eps-overflow-menu__group--open\": open,\n\t});\n\tconst overflowContentRef = useRef<HTMLDivElement>(null);\n\tconst overflowMenuTriggerRef = useRef<HTMLButtonElement>(null);\n\tuseOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n\t\tonOpenChange(false),\n\t);\n\treturn (\n\t\t<div>\n\t\t\t<SecondaryButton\n\t\t\t\tclassName={cx(\"eps-overflow-menu__button\", className)}\n\t\t\t\tonClick={() => onOpenChange(!open)}\n\t\t\t\taria-haspopup={true}\n\t\t\t\taria-expanded={open}\n\t\t\t\tref={overflowMenuTriggerRef}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"eps-overflow-menu__button-contents\">\n\t\t\t\t\t<span className=\"eds-overflow-menu__user-icon\">\n\t\t\t\t\t\t<UserIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t<Heading6 margin=\"none\" as=\"span\">\n\t\t\t\t\t\t{userName}\n\t\t\t\t\t\t{environment !== undefined &&\n\t\t\t\t\t\t\tenvironment !== Environment.Production && (\n\t\t\t\t\t\t\t\t<span style={{ color: getColorForEnvironment(environment) }}>\n\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t({getHumanReadableEnvironment(environment)})\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</Heading6>\n\t\t\t\t\t<span className=\"eps-arrow-icon\">\n\t\t\t\t\t\t<DownArrowIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</SecondaryButton>\n\t\t\t{open && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={overflowItemsClasses}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\tref={overflowContentRef}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { NorwayIcon, UKIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonLocaleChange: (locale: \"nb-NO\" | \"en-GB\") => void;\n};\n\nexport const LocaleSwitchMenuItem = ({ locale, onLocaleChange }: Props) => {\n\treturn (\n\t\t<>\n\t\t\t{locale === \"en-GB\" ? (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLocaleChange(\"nb-NO\");\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<NorwayIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\tBytt til norsk\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t) : (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLocaleChange(\"en-GB\");\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<UKIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\tSwitch to English\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import { LogOutIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tonClick: () => void;\n\tlocale: \"en-GB\" | \"nb-NO\";\n};\n\nexport const LogOutMenuItem = ({ onClick, locale }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tdata-testid=\"user-menu-logout\"\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<LogOutIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"Log out \" : \"Logg ut\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import { UserIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonClick: () => void;\n};\n\nexport const UserMenuItem = ({ locale, onClick }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<UserIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"My profile\" : \"Min profil\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import { ChannelsIcon } from \"@entur/icons\";\nimport type { FC } from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\nexport const VersionMenuItem: FC<{\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonClick: () => void;\n}> = ({ locale, onClick }) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"Version\" : \"Versjon\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import \"./UserMenu.scss\";\n\nimport cx from \"classnames\";\nimport { type FC, useState } from \"react\";\n\nimport type { Environment } from \"../environment\";\nimport { CookieSettingsMenuItem } from \"./components/CookieSettingsMenuItem\";\nimport { CustomOverflowMenu } from \"./components/CustomOverflowMenu\";\nimport { LocaleSwitchMenuItem } from \"./components/LocaleSwitchMenuItem\";\nimport { LogOutMenuItem } from \"./components/LogOutMenuItem\";\nimport { UserMenuItem } from \"./components/UserMenuItem\";\nimport { VersionMenuItem } from \"./components/VersionMenuItem\";\n\ninterface UserMenuProps {\n\tuserName: string;\n\tonLogout: () => void;\n\tonLocaleChange: (locale: \"nb-NO\" | \"en-GB\") => void;\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tclassName?: string;\n\tenvironment?: Environment;\n\tshowVersionItem?: boolean;\n\tshowMyProfileItem?: boolean;\n\tshowCookieSettingsItem?: boolean;\n\tonNavigateToMyProfile: () => void;\n\tonCookieSettingsOpen?: () => void;\n\tonVersionItemClick?: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n\tclassName,\n\tonLogout,\n\tonLocaleChange,\n\tuserName,\n\tlocale,\n\tenvironment,\n\tshowVersionItem,\n\tshowMyProfileItem,\n\tshowCookieSettingsItem,\n\tonNavigateToMyProfile,\n\tonCookieSettingsOpen = () => {},\n\tonVersionItemClick,\n}) => {\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<div id=\"eps-user-menu\">\n\t\t\t<CustomOverflowMenu\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={setOpen}\n\t\t\t\tclassName={cx([\"eps-user-menu__trigger-button\", className])}\n\t\t\t\tuserName={userName}\n\t\t\t\tenvironment={environment}\n\t\t\t>\n\t\t\t\t<div id=\"eps-overflow-menu\">\n\t\t\t\t\t<LocaleSwitchMenuItem\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tonLocaleChange={(newLocale) => {\n\t\t\t\t\t\t\tonLocaleChange(newLocale);\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVersionItem && (\n\t\t\t\t\t\t<VersionMenuItem\n\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tonVersionItemClick?.();\n\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showMyProfileItem && (\n\t\t\t\t\t\t<UserMenuItem\n\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tonNavigateToMyProfile();\n\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCookieSettingsItem && (\n\t\t\t\t\t\t<CookieSettingsMenuItem\n\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tonCookieSettingsOpen();\n\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<LogOutMenuItem\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonLogout();\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</CustomOverflowMenu>\n\t\t</div>\n\t);\n};\n"],"names":["ActionBarLeft","_ref","children","_jsx","className","ActionBarRight","_ref2","ActionBar","_ref3","_jsxs","_Fragment","FormatDateTime","date","locale","_ref$as","as","Component","hideTime","rest","_objectWithoutPropertiesLoose","_excluded","_extends","localeDate","localeDateTime","responsiveProp","prefix","prop","Array","isArray","classes","push","Box","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","Stack","space","stackItems","Children","toArray","length","map","child","index","AuditInfo","items","classNames","label","value","isDate","isDateString","toString","Breadcrumbs","prependBreadcrumbItem","pathname","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","title","filter","undefined","breadcrumbElements","i","isLast","BreadcrumbItem","Link","to","BreadcrumbNavigation","concat","ConfirmModal","_ref$isOpen","isOpen","message","_ref$size","size","buttons","onConfirm","messages","onClose","onDismiss","childrenToRender","handleDismiss","Modal","open","isString","Paragraph","ButtonGroup","SecondaryButton","onClick","cancel","PrimaryButton","confirm","Content","classnames","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","newAppVersionErrorMessage","ErrorBoundary","_Component","props","_this","call","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","isFunction","retry","setState","name","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","language","localStorage","getItem","isNorwegian","BannerAlertBox","variant","window","location","reload","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","onChange","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","required","e","target","featureFlag","flag","_import$meta","_window$localStorage","_window$localStorage2","import","env","useFeatureToggle","FeatureToggle","feature","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","LanguageSelect","options","SegmentedControl","assertIsDefined","selectedValue","option","SegmentedChoice","A","RouterLink","LinkButton","Menu","MultiLanguageInput","alertLabel","alertLevel","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","_useState","useState","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","contains","document","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","isInShadowDom","el","getRootNode","ShadowRoot","OrganisationDropDown","organisations","handleChange","selectedOrganisationId","wrapperRef","useRef","selectedOrganisation","setSelectedOrganisation","useEffect","find","org","organisationId","handleMouseDown","current","nativeEvent","stopPropagation","tagName","preventDefault","handleMouseUp","ref","onMouseDown","onMouseUp","SearchableDropdown","sort","a","b","tradingName","localeCompare","organisation","selectedItem","clearable","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","useDocumentTitle","suffix","PageTitle","_ref2$appTitle","appTitle","pageTitles","_ref4","reverse","join","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","reset","proceed","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","Text","component","fontSize","lineHeight","fontWeight","Unbutton","Button","useEventListener","eventName","handler","element","savedHandler","_element","isSupported","addEventListener","eventListener","event","removeEventListener","CustomOverflowMenuItem","role","CookieSettingsMenuItem","CookieIcon","inline","useOutsideClick","buttonRef","listener","elementContainsEventTarget","composed","composedPath","CustomOverflowMenu","userName","onOpenChange","overflowItemsClasses","overflowContentRef","overflowMenuTriggerRef","UserIcon","Heading6","style","DownArrowIcon","LocaleSwitchMenuItem","onLocaleChange","NorwayIcon","UKIcon","LogOutMenuItem","LogOutIcon","UserMenuItem","VersionMenuItem","ChannelsIcon","UserMenu","onLogout","showVersionItem","showMyProfileItem","showCookieSettingsItem","onNavigateToMyProfile","_ref$onCookieSettings","onCookieSettingsOpen","onVersionItemClick","setOpen","id","newLocale"],"mappings":"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"}
1
+ {"version":3,"file":"common.cjs.development.js","sources":["../src/ActionBar.tsx","../src/FormatDateTime.tsx","../src/Box.tsx","../src/Stack.tsx","../src/AuditInfo.tsx","../src/Breadcrumbs.tsx","../src/ConfirmModal.tsx","../src/Content.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/ErrorBoundary.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/FeatureToggle.tsx","../src/FormatCurrencyAmount.tsx","../src/LanguageSelect.tsx","../src/Link.tsx","../src/LinkButton.tsx","../src/Menu.tsx","../src/MultiLanguageInput.tsx","../src/OrganisationDropdown.tsx","../src/Pager.tsx","../src/PageTitle.tsx","../src/PermissionCheck.tsx","../src/RouteLeavingGuard.tsx","../src/StatusLabel.tsx","../src/Text.tsx","../src/Unbutton.tsx","../src/useEventListener.ts","../src/user-menu/components/CustomOverflowMenuItem.tsx","../src/user-menu/components/CookieSettingsMenuItem.tsx","../src/user-menu/components/useOutsideClick.ts","../src/user-menu/components/CustomOverflowMenu.tsx","../src/user-menu/components/LocaleSwitchMenuItem.tsx","../src/user-menu/components/LogOutMenuItem.tsx","../src/user-menu/components/UserMenuItem.tsx","../src/user-menu/components/VersionMenuItem.tsx","../src/user-menu/UserMenu.tsx"],"sourcesContent":["import \"./ActionBar.scss\";\nimport { type ReactNode } from \"react\";\n\nexport interface ActionBarProps {\n\tchildren: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"eps-action-bar-padding\" />\n\t\t\t<div className=\"eps-action-bar\">{children}</div>\n\t\t</>\n\t);\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import { localeDate, localeDateTime } from \"@entur-partner/util\";\nimport { type FC } from \"react\";\n\nexport interface FormatDateTimeProps {\n\tdate: string | Date;\n\tlocale: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n\tdate,\n\tlocale,\n\tas: Component = \"main\",\n\thideTime,\n\t...rest\n}) => {\n\treturn (\n\t\t<Component {...rest}>\n\t\t\t{hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n\t\t</Component>\n\t);\n};\n","import \"./Box.scss\";\n\nimport cx from \"classnames\";\nimport type { ElementType, ReactNode } from \"react\";\n\ntype StyleSpacing =\n\t| \"none\"\n\t| \"extraSmall2\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\"\n\t| \"extraLarge8\"\n\t| \"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\t| \"none\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"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\t| StyleSpacing\n\t| [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n\t| StyleMargin\n\t| [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n\t| StyleDisplay\n\t| [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n\t| StyleJustifyContent\n\t| [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n\t| StyleAlignItems\n\t| [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n\t| StyleMaxWidth\n\t| [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n\t| StyleWidth\n\t| [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n\t| StyleFlexDirection\n\t| [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n\t| StyleFlexWrap\n\t| [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n\tclassName?: string;\n\tas?: ElementType;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n\tchildren: ReactNode;\n\n\tcontrast?: boolean;\n\n\tpaddingTop?: ResponsiveStyleSpacing;\n\tpaddingRight?: ResponsiveStyleSpacing;\n\tpaddingBottom?: ResponsiveStyleSpacing;\n\tpaddingLeft?: ResponsiveStyleSpacing;\n\tpaddingX?: ResponsiveStyleSpacing;\n\tpaddingY?: ResponsiveStyleSpacing;\n\tpadding?: ResponsiveStyleSpacing;\n\n\tmarginTop?: ResponsiveStyleMargin;\n\tmarginRight?: ResponsiveStyleMargin;\n\tmarginBottom?: ResponsiveStyleMargin;\n\tmarginLeft?: ResponsiveStyleMargin;\n\tmarginX?: ResponsiveStyleMargin;\n\tmarginY?: ResponsiveStyleMargin;\n\tmargin?: ResponsiveStyleMargin;\n\n\tdisplay?: ResponsiveStyleDisplay;\n\tjustifyContent?: ResponsiveStyleJustifyContent;\n\talignItems?: ResponsiveStyleAlignItems;\n\n\tmaxWidth?: ResponsiveStyleMaxWidth;\n\twidth?: ResponsiveStyleWidth;\n\tbackground?: StyleBackground;\n\tcolor?: StyleColor;\n\n\tflexDirection?: ResponsiveStyleFlexDirection;\n\tflexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n\tif (Array.isArray(prop)) {\n\t\tconst classes = [];\n\t\tprop[0] && classes.push(prefix + prop[0]);\n\t\tprop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n\t\tprop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n\t\treturn classes;\n\t}\n\treturn [prefix + prop];\n}\n\nexport const Box = ({\n\tas: Component = \"div\",\n\tchildren,\n\tcontrast,\n\tpaddingTop,\n\tpaddingRight,\n\tpaddingBottom,\n\tpaddingLeft,\n\tpaddingX,\n\tpaddingY,\n\tpadding,\n\tmarginTop,\n\tmarginRight,\n\tmarginBottom,\n\tmarginLeft,\n\tmarginX,\n\tmarginY,\n\tmargin,\n\tdisplay,\n\tjustifyContent,\n\talignItems,\n\tmaxWidth,\n\twidth,\n\tbackground,\n\tcolor,\n\tflexDirection,\n\tflexWrap,\n\tclassName,\n\t...rest\n}: BoxProps) => {\n\tconst classes = [];\n\tconst resolvedPaddingTop = paddingTop || paddingY || padding;\n\tconst resolvedPaddingBottom = paddingBottom || paddingY || padding;\n\tconst resolvedPaddingLeft = paddingLeft || paddingX || padding;\n\tconst resolvedPaddingRight = paddingRight || paddingX || padding;\n\n\tconst resolvedMarginTop = marginTop || marginY || margin;\n\tconst resolvedMarginBottom = marginBottom || marginY || margin;\n\tconst resolvedMarginLeft = marginLeft || marginX || margin;\n\tconst resolvedMarginRight = marginRight || marginX || margin;\n\n\tcontrast && classes.push(\"eds-contrast\");\n\tresolvedPaddingTop &&\n\t\tclasses.push(...responsiveProp(\"eps-pt-\", resolvedPaddingTop));\n\tresolvedPaddingBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-pb-\", resolvedPaddingBottom));\n\tresolvedPaddingLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-pl-\", resolvedPaddingLeft));\n\tresolvedPaddingRight &&\n\t\tclasses.push(...responsiveProp(\"eps-pr-\", resolvedPaddingRight));\n\tresolvedMarginTop &&\n\t\tclasses.push(...responsiveProp(\"eps-mt-\", resolvedMarginTop));\n\tresolvedMarginBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-mb-\", resolvedMarginBottom));\n\tresolvedMarginLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-ml-\", resolvedMarginLeft));\n\tresolvedMarginRight &&\n\t\tclasses.push(...responsiveProp(\"eps-mr-\", resolvedMarginRight));\n\n\tdisplay && classes.push(...responsiveProp(\"eps-\", display));\n\tjustifyContent &&\n\t\tclasses.push(...responsiveProp(\"eps-justify-\", justifyContent));\n\tif (alignItems) {\n\t\tclasses.push(...responsiveProp(\"eps-items-\", alignItems));\n\t}\n\n\tmaxWidth && classes.push(...responsiveProp(\"eps-max-w-\", maxWidth));\n\twidth && classes.push(...responsiveProp(\"eps-w-\", width));\n\n\tcolor && classes.push(`eps-color-${color}`);\n\tbackground && classes.push(`eps-bg-${background}`);\n\n\tflexDirection && classes.push(...responsiveProp(\"eps-flex-\", flexDirection));\n\tflexWrap && classes.push(...responsiveProp(\"eps-flex-wrap-\", flexWrap));\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Component className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Component>\n\t);\n};\n","/** biome-ignore-all lint/suspicious/noArrayIndexKey: Ignore for now. Should be tested properly before doing changes */\nimport { Children, type ReactNode } from \"react\";\n\nimport { Box, type ResponsiveStyleSpacing } from \"./Box\";\n\nexport interface StackProps {\n\tclassName?: string;\n\tchildren: ReactNode;\n\tspace: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n\tconst stackItems = Children.toArray(children);\n\tif (stackItems.length <= 1) {\n\t\treturn <>{stackItems}</>;\n\t}\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{stackItems.map((child, index) =>\n\t\t\t\tindex === stackItems.length - 1 ? (\n\t\t\t\t\t<div key={index}>{child}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Box paddingBottom={space} key={index}>\n\t\t\t\t\t\t{child}\n\t\t\t\t\t</Box>\n\t\t\t\t),\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import \"./AuditInfo.scss\";\n\nimport { isDate, isDateString } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\nimport { FormatDateTime } from \"./FormatDateTime\";\nimport { Stack } from \"./Stack\";\n\ninterface Item {\n\tlabel: string;\n\tvalue: Date | string;\n}\n\nexport interface AuditInfoProps {\n\titems: Item[];\n\tlocale: string;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n\titems,\n\tlocale,\n\tclassName,\n\t...rest\n}) => {\n\tconst classNames = cx(\"ep-audit-info\", className);\n\treturn (\n\t\t<div className={classNames} {...rest}>\n\t\t\t{items.map(({ label, value }) => (\n\t\t\t\t<Stack space=\"small\" key={value.toString()}>\n\t\t\t\t\t<div className=\"ep-audit-info-label\">{label}</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{isDate(value) || isDateString(value) ? (\n\t\t\t\t\t\t\t<FormatDateTime date={value} locale={locale} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{value}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</Stack>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n","import \"./Breadcrumbs.scss\";\nimport { BreadcrumbItem, BreadcrumbNavigation } from \"@entur/menu\";\nimport { splitUrlPath } from \"@entur-partner/util\";\nimport { type FC, type ReactElement } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface BreadcrumbsProps {\n\tpathname: string;\n\tonBreadcrumbLookup: (path: string) => string | undefined;\n\tprependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n\tprependBreadcrumbItem,\n\tpathname,\n\tonBreadcrumbLookup,\n}) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst breadcrumbs = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined);\n\n\tconst breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n\t\tconst isLast = i === breadcrumbs.length - 1;\n\t\tif (isLast) {\n\t\t\treturn (\n\t\t\t\t<BreadcrumbItem key={path} as={\"span\"}>\n\t\t\t\t\t{title}\n\t\t\t\t</BreadcrumbItem>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<BreadcrumbItem key={path} as={Link} to={path}>\n\t\t\t\t{title}\n\t\t\t</BreadcrumbItem>\n\t\t);\n\t});\n\n\tif (prependBreadcrumbItem) {\n\t\treturn (\n\t\t\t<BreadcrumbNavigation>\n\t\t\t\t{[prependBreadcrumbItem, ...breadcrumbElements]}\n\t\t\t</BreadcrumbNavigation>\n\t\t);\n\t}\n\n\treturn <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import \"./ConfirmModal.scss\";\n\nimport { ButtonGroup, PrimaryButton, SecondaryButton } from \"@entur/button\";\nimport { Modal, type ModalProps } from \"@entur/modal\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isString } from \"@entur-partner/util\";\nimport type { FC, ReactNode } from \"react\";\n\nimport { Box } from \"./Box\";\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n\ttitle: string;\n\tchildren: ReactNode;\n\tcloseLabel: string;\n\n\t/** Deprecated use children prop */\n\tmessage?: ReactNode;\n\t/** Deprecated use open prop */\n\tisOpen?: boolean;\n\t/** Deprecated use onDismiss prop */\n\tonClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n\tbuttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n\tonConfirm: () => void;\n\tmessages: {\n\t\tconfirm: string;\n\t\tcancel: string;\n\t};\n}\n\nexport type ConfirmModalProps =\n\t| CustomConfirmModalButtons\n\t| DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n\tisOpen = false,\n\tchildren,\n\tmessage,\n\tsize = \"medium\",\n\tbuttons,\n\tonConfirm,\n\tmessages,\n\tonClose,\n\tonDismiss,\n\t...rest\n}) => {\n\tconst childrenToRender = children ? children : message;\n\tconst handleDismiss = onClose ? onClose : onDismiss;\n\treturn (\n\t\t<Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n\t\t\t{isString(childrenToRender) ? (\n\t\t\t\t<Paragraph>{childrenToRender}</Paragraph>\n\t\t\t) : (\n\t\t\t\t<Box paddingBottom=\"medium\">{childrenToRender}</Box>\n\t\t\t)}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t{onConfirm ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<SecondaryButton\n\t\t\t\t\t\t\tonClick={handleDismiss}\n\t\t\t\t\t\t\tdata-testid=\"cancel-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.cancel}\n\t\t\t\t\t\t</SecondaryButton>\n\t\t\t\t\t\t<PrimaryButton\n\t\t\t\t\t\t\tonClick={onConfirm}\n\t\t\t\t\t\t\tdata-testid=\"confirm-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.confirm}\n\t\t\t\t\t\t</PrimaryButton>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tbuttons\n\t\t\t\t)}\n\t\t\t</ButtonGroup>\n\t\t</Modal>\n\t);\n};\n","import \"./Content.scss\";\n\nimport classnames from \"classnames\";\nimport type { ElementType, FC, ReactNode } from \"react\";\n\ninterface ContentProps {\n\tchildren: ReactNode;\n\tas?: \"main\" | ElementType;\n\tclassName?: string;\n}\nexport const Content: FC<ContentProps> = ({\n\tas: Component = \"main\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eps-content\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","export enum Environment {\n\tLocal = \"local\",\n\tDevelopment = \"dev\",\n\tStaging = \"staging\",\n\tProduction = \"prod\",\n}\n\nconst environmentColors: Record<\n\tExclude<Environment, Environment.Production>,\n\tstring\n> = {\n\t[Environment.Local]: \"#B482FB\",\n\t[Environment.Development]: \"#5AC39A\",\n\t[Environment.Staging]: \"#FFCA28\",\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n\tenvironment: Exclude<Environment, Environment.Production>,\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n\t[Environment.Local]: \"Local\",\n\t[Environment.Development]: \"Dev\",\n\t[Environment.Staging]: \"Staging\",\n\t[Environment.Production]: \"Prod\",\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n\thumanReadableEnvironment[environment];\n","import \"./EnturPartnerLogo.scss\";\n\nimport classnames from \"classnames\";\nimport type { ElementType, FC } from \"react\";\n\nimport { Environment, getColorForEnvironment } from \"./environment\";\n\ninterface LogoProps {\n\ttitle: string;\n\tclassName?: string;\n\taccentColor?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n\ttitle,\n\taccentColor = \"#FF5959\",\n\t...rest\n}) => {\n\treturn (\n\t\t<svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n\t\t\t<title>{title}</title>\n\t\t\t<g fill=\"none\" fillRule=\"evenodd\">\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n\t\t\t\t/>\n\t\t\t\t<path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"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\t\t\t\t/>\n\t\t\t\t<g fill={accentColor}>\n\t\t\t\t\t<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\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t);\n};\n\ninterface EnturPartnerLogoProps {\n\taltText: string;\n\tas?: \"div\" | ElementType;\n\tclassName?: string;\n\tenvironment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\taltText,\n\tenvironment,\n}) => {\n\tconst classList = classnames([\"eps-logo-wrapper\", className]);\n\n\treturn (\n\t\t<Component className={classList}>\n\t\t\t<EnturPartnerLogoSvg\n\t\t\t\ttitle={altText}\n\t\t\t\tclassName=\"logo\"\n\t\t\t\taccentColor={\n\t\t\t\t\tenvironment !== undefined && environment !== Environment.Production\n\t\t\t\t\t\t? getColorForEnvironment(environment)\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</Component>\n\t);\n};\n","import { BannerAlertBox } from \"@entur/alert\";\nimport { PrimaryButton } from \"@entur/button\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isFunction } from \"@entur-partner/util\";\nimport { Component, type ErrorInfo, type ReactNode } from \"react\";\nimport { Box } from \"./Box\";\n\ntype FallbackOptions = {\n\tretry: () => void;\n\terror: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n\thandleError?: (error: Error, errorInfo: ErrorInfo) => void;\n\tfallback: ReactNode | RenderProp;\n\tchildren: ReactNode;\n};\n\ntype State = {\n\terror: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n\t\"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n\tconstructor(props: Props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\n\tstatic getDerivedStateFromError(error: Error): State {\n\t\treturn {\n\t\t\terror,\n\t\t};\n\t}\n\n\tcomponentDidCatch(error: Error, errorInfo: ErrorInfo) {\n\t\t// React always logs in development\n\t\tthis.props.handleError?.(error, errorInfo);\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tconst { fallback, children } = this.props;\n\n\t\tif (error) {\n\t\t\tif (isFunction<RenderProp>(fallback)) {\n\t\t\t\treturn fallback({ retry: () => this.setState({ error: null }), error });\n\t\t\t} else if (\n\t\t\t\terror.name === \"NotFoundError\" &&\n\t\t\t\terror.message === newAppVersionErrorMessage\n\t\t\t) {\n\t\t\t\treturn <RefreshBannerInfo />;\n\t\t\t}\n\n\t\t\treturn fallback;\n\t\t}\n\n\t\treturn children;\n\t}\n}\n\nexport const LANGUAGE_STORAGE_KEY = \"EP::locale\";\n\nfunction RefreshBannerInfo() {\n\t// Taken from ./app-shell/src/storage.ts\n\tconst language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n\tconst isNorwegian = language === \"nb\" || language === \"nb-NO\";\n\treturn (\n\t\t<Box maxWidth=\"large\">\n\t\t\t<BannerAlertBox\n\t\t\t\tvariant=\"info\"\n\t\t\t\ttitle={\n\t\t\t\t\tisNorwegian\n\t\t\t\t\t\t? \"En ny versjon av nettsiden er tilgjengelig.\"\n\t\t\t\t\t\t: \"A new version of the website is available.\"\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Box paddingBottom=\"medium\">\n\t\t\t\t\t<Paragraph margin=\"none\">\n\t\t\t\t\t\t{isNorwegian ? \"Vennligst oppdater.\" : \"Please refresh.\"}\n\t\t\t\t\t</Paragraph>\n\t\t\t\t</Box>\n\t\t\t\t<PrimaryButton onClick={() => window.location.reload()}>\n\t\t\t\t\t{isNorwegian ? \"Oppdater\" : \"Refresh\"}\n\t\t\t\t</PrimaryButton>\n\t\t\t</BannerAlertBox>\n\t\t</Box>\n\t);\n}\n","import { ExpandablePanel } from \"@entur/expand\";\nimport type { VariantType } from \"@entur/form\";\nimport type { ChangeEvent, ElementType } from \"react\";\n\nimport type { LanguageKey, LanguageOption } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n\ttitle: string;\n\tinputComponent: ElementType;\n\tlanguages: LanguageOption[];\n\tvalues: MultiLanguageValues;\n\tonChange: (values: MultiLanguageValues) => void;\n\tname: string;\n\tvariant?: (lang: LanguageKey) => VariantType;\n\tfeedback?: (lang: LanguageKey) => string;\n\t[key: string]: object | string | number | boolean | undefined;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n\ttitle,\n\tinputComponent: InputComponent,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tname,\n\tvariant,\n\tfeedback,\n\t...rest\n}: ExpandableMultiLanguageInputProps) => {\n\tconst handleOnChange = (language: LanguageKey, value?: string) => {\n\t\tconst changes = { ...values };\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t<ExpandablePanel\n\t\t\ttitle={title}\n\t\t\tdefaultOpen\n\t\t\tcontentStyle={{\n\t\t\t\tpadding: \"4px 4px 4px 4px\",\n\t\t\t\tmarginTop: \"16px\",\n\t\t\t\tmarginBottom: \"16px\",\n\t\t\t}}\n\t\t>\n\t\t\t<Stack space=\"medium\">\n\t\t\t\t{languages.map(({ value: langKey, label, required }) => (\n\t\t\t\t\t<InputComponent\n\t\t\t\t\t\tdata-testid={`multi-lang-input-${name}-${langKey}`}\n\t\t\t\t\t\tkey={title + langKey}\n\t\t\t\t\t\tlabel={required ? `${label}*` : label}\n\t\t\t\t\t\tvariant={variant?.(langKey)}\n\t\t\t\t\t\tfeedback={feedback?.(langKey)}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\thandleOnChange(langKey, e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={values[langKey] || \"\"}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Stack>\n\t\t</ExpandablePanel>\n\t);\n};\n","import { type ReactNode } from \"react\";\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n\treturn (\n\t\t// biome-ignore lint/suspicious/noExplicitAny: We dont have vite types here\n\t\t(import.meta as any)?.env?.[`VITE_APP_${flag}`] === \"true\" ||\n\t\twindow.localStorage?.getItem(flag) === \"true\" ||\n\t\twindow.localStorage?.getItem(`VITE_APP_${flag}`) === \"true\"\n\t);\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n\treturn featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n\t/** Visible if flag exist, hidden if not.*/\n\tchildren: ReactNode;\n\t/** Case sensitive flag. If it is an environment variable\n\t * you can drop the VITE_APP_ prefix. */\n\tflag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n\tconst feature = useFeatureToggle(flag);\n\tif (feature) {\n\t\treturn <>{children}</>;\n\t}\n\treturn null;\n};\n","import type { ElementType, FC } from \"react\";\n\nexport interface FormatCurrencyAmountProps {\n\tamount: number | string;\n\tas?: \"span\" | ElementType;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n\tamount,\n\tas: Component = \"span\",\n\t...rest\n}) => {\n\tconst parsedAmount = Number(amount) || 0;\n\n\tconst formattedAmount = new Intl.NumberFormat(\"nb-NO\", {\n\t\tmaximumFractionDigits: 2,\n\t\tminimumFractionDigits: 2,\n\t}).format(parsedAmount);\n\n\treturn <Component {...rest}>{formattedAmount}</Component>;\n};\n","import \"./LanguageSelect.scss\";\n\nimport { SegmentedChoice, SegmentedControl } from \"@entur/form\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\nexport type LanguageKey = \"nob\" | \"nno\" | \"eng\";\n\nexport interface LanguageOption {\n\tvalue: LanguageKey;\n\tlabel: string;\n\trequired: boolean;\n}\n\nexport interface LanguageSelectProps {\n\tlanguage: string;\n\toptions: LanguageOption[];\n\tclassName?: string;\n\tonChange: (language: string) => void;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n\tlanguage,\n\toptions,\n\tclassName,\n\tonChange,\n\t...rest\n}) => {\n\tconst classNames = cx(\"eps-language-select\", className);\n\treturn (\n\t\t<div {...rest} className={classNames}>\n\t\t\t<SegmentedControl\n\t\t\t\tonChange={(language) => {\n\t\t\t\t\tassertIsDefined(language);\n\t\t\t\t\tif (typeof language === \"string\") {\n\t\t\t\t\t\tonChange(language);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tselectedValue={language}\n\t\t\t>\n\t\t\t\t{options.map((option) => (\n\t\t\t\t\t<SegmentedChoice key={option.value} value={option.value}>\n\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t{option.required && <span className=\"asterisk-margin\">{\"*\"}</span>}\n\t\t\t\t\t</SegmentedChoice>\n\t\t\t\t))}\n\t\t\t</SegmentedControl>\n\t\t</div>\n\t);\n};\n","import { Link as A } from \"@entur/typography\";\nimport { type FC } from \"react\";\nimport { type LinkProps, Link as RouterLink } from \"react-router-dom\";\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n\treturn (\n\t\t<A {...props} as={RouterLink}>\n\t\t\t{props.children}\n\t\t</A>\n\t);\n};\n","import \"./LinkButton.scss\";\n\nimport { Link } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport { type ReactNode } from \"react\";\n\nexport interface LinkButtonProps {\n\tchildren: ReactNode;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n}\n\nexport const LinkButton = ({\n\tchildren,\n\tclassName,\n\t...rest\n}: LinkButtonProps) => (\n\t<Link {...rest} as=\"button\" className={cx(\"eps-link-button\", className)}>\n\t\t{children}\n\t</Link>\n);\n","import \"./Menu.scss\";\n\nimport classnames from \"classnames\";\nimport type { ElementType, FC, ReactNode } from \"react\";\n\ninterface MenuProps {\n\tchildren: ReactNode;\n\tas?: \"div\" | ElementType;\n\tclassName?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eds-contrast\", \"eps-menu\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","import \"./MultiLanguageInput.scss\";\n\nimport type { VariantType } from \"@entur/form\";\nimport cx from \"classnames\";\nimport {\n\ttype ChangeEvent,\n\ttype ElementType,\n\ttype FC,\n\ttype FocusEvent,\n\tuseState,\n} from \"react\";\nimport { type LanguageOption, LanguageSelect } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n\tclassName?: string;\n\tonBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n\tinputComponent: ElementType;\n\tvalues: { [key: string]: string };\n\tlanguages: LanguageOption[];\n\tonChange: (values: Values) => void;\n\tname: string;\n\talertLevel?: VariantType;\n\talertLabel?: string;\n\tlabel?: string;\n\tdefaultLanguage?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n\tclassName,\n\tinputComponent: InputComponent,\n\talertLabel,\n\talertLevel,\n\tname,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tdefaultLanguage = \"nob\",\n\tlabel = \"\",\n\tonBlur = () => {},\n\t...rest\n}) => {\n\tconst [language, setLanguage] = useState(defaultLanguage);\n\tconst classNames = cx(\"multi-language-input\", className);\n\tconst currentValue = values[language];\n\n\tconst handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n\t\te.persist();\n\t\tconst currentTarget = e.currentTarget;\n\t\tsetTimeout(() => {\n\t\t\tif (currentTarget && !currentTarget.contains(document.activeElement)) {\n\t\t\t\tonBlur(e);\n\t\t\t}\n\t\t}, 0);\n\t};\n\n\tconst handleLanguageChange = (language: string) => {\n\t\tsetLanguage(language);\n\t};\n\n\tconst handleOnChange = (value?: string) => {\n\t\tconst changes = Object.assign({}, values);\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Legacy component\n\t\t<div\n\t\t\tclassName={classNames}\n\t\t\t// biome-ignore lint/a11y/noNoninteractiveTabindex: Legacy component\n\t\t\ttabIndex={0}\n\t\t\tonBlur={handleOnBlur}\n\t\t\tdata-testid={`multi-lang-input-${name}`}\n\t\t>\n\t\t\t<Stack space=\"extraSmall\">\n\t\t\t\t<LanguageSelect\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\toptions={languages}\n\t\t\t\t\tonChange={(lang) => handleLanguageChange(lang)}\n\t\t\t\t/>\n\t\t\t\t<InputComponent\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tvariant={alertLevel}\n\t\t\t\t\tfeedback={alertLabel}\n\t\t\t\t\tname={name}\n\t\t\t\t\tclassName=\"language-item\"\n\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) =>\n\t\t\t\t\t\thandleOnChange(e.target.value)\n\t\t\t\t\t}\n\t\t\t\t\tvalue={currentValue || \"\"}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</Stack>\n\t\t</div>\n\t);\n};\n","import { SearchableDropdown } from \"@entur/dropdown\";\nimport { type FC, type MouseEvent, useEffect, useRef, useState } from \"react\";\n\ninterface OrganisationV3 {\n\torganisationId: number;\n\ttradingName: string;\n}\n\ninterface OrganisationDropDownProps {\n\tlabel: string;\n\tonChange: (organisationId: number) => void;\n\torganisations: OrganisationV3[];\n\tselectedOrganisationId?: number;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nfunction isInShadowDom(el: Element | null): boolean {\n\treturn el?.getRootNode() instanceof ShadowRoot;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n\tlabel,\n\torganisations,\n\tonChange: handleChange,\n\tselectedOrganisationId,\n\t...rest\n}) => {\n\tconst wrapperRef = useRef<HTMLDivElement>(null);\n\tconst [selectedOrganisation, setSelectedOrganisation] =\n\t\tuseState<OrganisationV3>();\n\n\tuseEffect(() => {\n\t\tsetSelectedOrganisation(\n\t\t\torganisations.find(\n\t\t\t\t(org) => org.organisationId === selectedOrganisationId,\n\t\t\t),\n\t\t);\n\t}, [selectedOrganisationId, organisations]);\n\n\tconst handleMouseDown = (e: MouseEvent) => {\n\t\tif (!isInShadowDom(wrapperRef.current)) return;\n\t\t// In shadow DOM, mouse events are retargeted at the shadow boundary,\n\t\t// causing downshift's window-level outside-click detection to misidentify\n\t\t// clicks within the dropdown as outside clicks. Stop propagation to prevent\n\t\t// the retargeted event from reaching window-level listeners.\n\t\te.nativeEvent.stopPropagation();\n\t\t// Prevent default on non-input elements to stop the browser from moving\n\t\t// focus away from the combobox input, which would trigger a blur that\n\t\t// closes the dropdown before the click event can register a selection.\n\t\tif ((e.target as HTMLElement).tagName !== \"INPUT\") {\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tconst handleMouseUp = (e: MouseEvent) => {\n\t\tif (!isInShadowDom(wrapperRef.current)) return;\n\t\te.nativeEvent.stopPropagation();\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Temporary fix. See comment above. Will be fixed in design system level in the future.\n\t\t<div\n\t\t\tref={wrapperRef}\n\t\t\tonMouseDown={handleMouseDown}\n\t\t\tonMouseUp={handleMouseUp}\n\t\t>\n\t\t\t<SearchableDropdown\n\t\t\t\tlabel={label}\n\t\t\t\titems={[\n\t\t\t\t\t...organisations\n\t\t\t\t\t\t.sort((a, b) => a.tradingName.localeCompare(b.tradingName, \"nb\"))\n\t\t\t\t\t\t.map((organisation) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: organisation.organisationId,\n\t\t\t\t\t\t\t\tlabel: organisation.tradingName,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t]}\n\t\t\t\tselectedItem={\n\t\t\t\t\tselectedOrganisation\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tvalue: selectedOrganisation.organisationId,\n\t\t\t\t\t\t\t\tlabel: selectedOrganisation.tradingName,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonChange={(selectedValue) => {\n\t\t\t\t\tif (selectedValue) {\n\t\t\t\t\t\thandleChange(selectedValue.value);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclearable={false}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { Pagination } from \"@entur/menu\";\nimport { type FC } from \"react\";\n\nexport interface PagerProps {\n\tcurrentPage: number;\n\tcollectionSize: number;\n\tpageSize: number;\n\tonPageChange: (page: number) => void;\n}\n\n/**\n * @deprecated use Pagination directly instead\n */\nexport const Pager: FC<PagerProps> = ({\n\tcollectionSize,\n\tpageSize,\n\tonPageChange,\n\tcurrentPage,\n}) => {\n\tconst pageCount = Math.ceil(collectionSize / pageSize);\n\treturn (\n\t\t<Pagination\n\t\t\tpageCount={pageCount}\n\t\t\tcurrentPage={currentPage}\n\t\t\tonPageChange={(page) => {\n\t\t\t\tonPageChange(page);\n\t\t\t}}\n\t\t/>\n\t);\n};\n","import { splitUrlPath } from \"@entur-partner/util\";\nimport { useEffect } from \"react\";\n\ntype DocumentTitleProps = {\n\ttitle: string;\n\tsuffix?: string;\n};\n\nexport const useDocumentTitle = ({ title, suffix }: DocumentTitleProps) => {\n\tuseEffect(() => {\n\t\tif (suffix) {\n\t\t\tdocument.title = `${title}${suffix}`;\n\t\t} else {\n\t\t\tdocument.title = title;\n\t\t}\n\t}, [title, suffix]);\n};\n\ntype Props = {\n\treadonly pathname: string;\n\treadonly onBreadcrumbLookup: (path: string) => string | undefined;\n\treadonly appTitle?: string;\n};\n\nexport const PageTitle = ({\n\tpathname,\n\tonBreadcrumbLookup,\n\tappTitle = \"Entur Partner\",\n}: Props) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst pageTitles = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined)\n\t\t.map(({ title }) => title)\n\t\t.reverse()\n\t\t.join(\" | \");\n\n\tconst title = pageTitles ? `${pageTitles} | ${appTitle}` : appTitle;\n\n\tuseDocumentTitle({ title });\n\n\treturn null;\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\nimport { hasAllPermissions, hasOneOfPermissions } from \"@entur-partner/util\";\nimport { type FC, type ReactNode } from \"react\";\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\tchildren: ReactNode;\n\t/** User permissions to check */\n\tpermissions: BusinessCapability[];\n\t/** Check that at least one of the permissions is present */\n\toneOf?: BusinessCapability[];\n\t/** Check that all of the permissions is present */\n\tall?: BusinessCapability[] | BusinessCapability;\n\t/** Rendered if check fails. Defaults to null */\n\tfallback?: 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\tchildren,\n\tfallback = null,\n\tpermissions,\n\toneOf = [],\n\tall = [],\n}) => {\n\tconst allIsAllowed = hasAllPermissions(all, permissions);\n\n\tconst oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n\tconst allowed = allIsAllowed && oneOfIsAllowed;\n\treturn <>{allowed ? children : fallback}</>;\n};\n","import type { ModalProps } from \"@entur/modal\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type FC, type ReactNode } from \"react\";\nimport {\n\ttype Location,\n\tuseBlocker,\n\tuseInRouterContext,\n} from \"react-router-dom\";\n\nimport { ConfirmModal } from \"./ConfirmModal\";\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n\ttitle: string;\n\tcloseLabel: string;\n\tmessages: {\n\t\tcancel: string;\n\t\tconfirm: string;\n\t};\n\tchildren: ReactNode;\n\tshouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n\tchildren,\n\tshouldBlockNavigation,\n\t...rest\n}) => {\n\tassertIsDefined(\n\t\tuseInRouterContext() ? true : undefined,\n\t\t`RouteLeavingGuard must be used within a data router.`,\n\t);\n\n\tconst blocker = useBlocker(\n\t\t({ currentLocation, nextLocation }) =>\n\t\t\tcurrentLocation.pathname !== nextLocation.pathname &&\n\t\t\tshouldBlockNavigation(nextLocation),\n\t);\n\n\treturn (\n\t\t<ConfirmModal\n\t\t\tonDismiss={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.reset();\n\t\t\t\t}\n\t\t\t}}\n\t\t\topen={blocker.state === \"blocked\"}\n\t\t\tonConfirm={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.proceed();\n\t\t\t\t}\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</ConfirmModal>\n\t);\n};\n","import \"./StatusLabel.scss\";\n\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\ninterface StatusLabelProps {\n\tlabel: string;\n\tactive: boolean;\n\taggressiveInactive?: boolean;\n\tshowBullet?: boolean;\n\tcenter?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n\tactive = false,\n\tlabel = \"\",\n\taggressiveInactive,\n\tshowBullet,\n\tcenter,\n}) => {\n\tconst bulletClassNames = cx(\"eps-status-label__bullet\", {\n\t\tactive,\n\t\taggressive: aggressiveInactive,\n\t});\n\tconst statusLabelClassNames = cx(\"eps-status-label\", {\n\t\tcenter,\n\t});\n\treturn (\n\t\t<div className={statusLabelClassNames}>\n\t\t\t{showBullet && <div className={bulletClassNames} />}\n\t\t\t<div>{label}</div>\n\t\t</div>\n\t);\n};\n","import \"./Text.scss\";\n\nimport cx from \"classnames\";\nimport type { ElementType, ReactNode } from \"react\";\n\nimport { Box, responsiveProp, type StyleColor } from \"./Box\";\n\ntype StyleFontSize =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\";\n\ntype StyleFontWeight = \"body\" | \"heading\";\n\ntype StyleLineHeight =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\";\n\nexport type ResponsiveStyleFontSize =\n\t| StyleFontSize\n\t| [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n\t| StyleLineHeight\n\t| [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n\tclassName?: string;\n\tas?: ElementType;\n\tchildren: ReactNode;\n\tfontSize?: ResponsiveStyleFontSize;\n\tlineHeight?: ResponsiveStyleLineHeight;\n\tcolor?: StyleColor;\n\tfontWeight?: StyleFontWeight;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const Text = ({\n\tas: component = \"span\",\n\tchildren,\n\tfontSize,\n\tcolor,\n\tlineHeight,\n\tfontWeight,\n\tclassName,\n\t...rest\n}: TextProps) => {\n\tconst classes = [];\n\n\tfontSize && classes.push(...responsiveProp(\"eps-font-size-\", fontSize));\n\tlineHeight && classes.push(...responsiveProp(\"eps-line-height-\", lineHeight));\n\tfontWeight && classes.push(`eps-font-weight-${fontWeight}`);\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Box as={component} color={color} className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Box>\n\t);\n};\n","import \"./Unbutton.scss\";\n\nimport { Button, type ButtonProps } from \"@entur/button\";\nimport cx from \"classnames\";\nimport { type FC } from \"react\";\n\ninterface UnbuttonProps extends Omit<ButtonProps<typeof Button>, \"variant\"> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n\tchildren,\n\tclassName,\n\t...rest\n}) => (\n\t<Button variant=\"primary\" {...rest} className={cx(\"eps-unbutton\", className)}>\n\t\t{children}\n\t</Button>\n);\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from \"react\";\n\ntype TypedEventListener<T extends Event> = (evt: T) => void;\n\nexport function useEventListener<T extends Event = Event>(\n\teventName: string,\n\thandler: TypedEventListener<T>,\n\telement: WindowEventHandlers = window,\n) {\n\tconst savedHandler = useRef<TypedEventListener<T>>(null);\n\n\tuseEffect(() => {\n\t\tsavedHandler.current = handler;\n\t}, [handler]);\n\n\tuseEffect(() => {\n\t\tconst isSupported = element?.addEventListener;\n\t\tif (!isSupported) return;\n\n\t\tconst eventListener = ((event: T): void =>\n\t\t\tsavedHandler.current?.(event)) as EventListener;\n\n\t\telement.addEventListener(eventName, eventListener);\n\n\t\treturn () => {\n\t\t\telement.removeEventListener(eventName, eventListener);\n\t\t};\n\t}, [eventName, element]);\n}\n","import cx from \"classnames\";\nimport type { ButtonHTMLAttributes, DetailedHTMLProps, FC } from \"react\";\n\nexport const CustomOverflowMenuItem: FC<\n\tDetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>\n> = (props) => {\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(props.className, \"eps-overflow-menu__item\")}\n\t\t\trole=\"menuitem\"\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n","import { CookieIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonClick: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({ locale, onClick }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden={true}>\n\t\t\t\t<CookieIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"Cookie settings\" : \"Cookieinstillinger\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import { type RefObject, useEffect } from \"react\";\n\nexport function useOutsideClick(\n\tref: RefObject<HTMLDivElement | null>,\n\tbuttonRef: RefObject<HTMLButtonElement | null>,\n\thandler: () => void,\n) {\n\tuseEffect(() => {\n\t\tconst listener = (event: Event) => {\n\t\t\tif (\n\t\t\t\telementContainsEventTarget(ref.current, event) ||\n\t\t\t\telementContainsEventTarget(buttonRef.current, event)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\thandler();\n\t\t};\n\n\t\tdocument.addEventListener(\"mousedown\", listener);\n\t\tdocument.addEventListener(\"touchstart\", listener);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"mousedown\", listener);\n\t\t\tdocument.removeEventListener(\"touchstart\", listener);\n\t\t};\n\t}, [ref, buttonRef, handler]);\n}\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n\tif (!element) {\n\t\treturn false;\n\t}\n\n\tif (element.contains(event.target as Node)) {\n\t\treturn true;\n\t}\n\n\t// For elements inside a Shadow DOM we need to check the composedPath\n\tif (event.composed && event.composedPath) {\n\t\tconst contains = event.composedPath().find((target) => {\n\t\t\tif (target === window) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn element.contains(target as Node);\n\t\t});\n\t\treturn !!contains;\n\t}\n\n\treturn false;\n}\n","import { SecondaryButton } from \"@entur/button\";\nimport { DownArrowIcon, UserIcon } from \"@entur/icons\";\nimport { Heading6 } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport { type FC, type ReactNode, useRef } from \"react\";\n\nimport {\n\tEnvironment,\n\tgetColorForEnvironment,\n\tgetHumanReadableEnvironment,\n} from \"../../environment\";\nimport { useOutsideClick } from \"./useOutsideClick\";\n\nexport const CustomOverflowMenu: FC<{\n\tclassName?: string;\n\tchildren: ReactNode;\n\tuserName: string;\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tenvironment?: Environment;\n}> = ({\n\tclassName,\n\tchildren,\n\tuserName,\n\topen,\n\tonOpenChange,\n\tenvironment,\n\t...rest\n}) => {\n\tconst overflowItemsClasses = cx(\"eps-overflow-menu__group\", {\n\t\t\"eps-overflow-menu__group--open\": open,\n\t});\n\tconst overflowContentRef = useRef<HTMLDivElement>(null);\n\tconst overflowMenuTriggerRef = useRef<HTMLButtonElement>(null);\n\tuseOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n\t\tonOpenChange(false),\n\t);\n\treturn (\n\t\t<div>\n\t\t\t<SecondaryButton\n\t\t\t\tclassName={cx(\"eps-overflow-menu__button\", className)}\n\t\t\t\tonClick={() => onOpenChange(!open)}\n\t\t\t\taria-haspopup={true}\n\t\t\t\taria-expanded={open}\n\t\t\t\tref={overflowMenuTriggerRef}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"eps-overflow-menu__button-contents\">\n\t\t\t\t\t<span className=\"eds-overflow-menu__user-icon\">\n\t\t\t\t\t\t<UserIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t<Heading6 margin=\"none\" as=\"span\">\n\t\t\t\t\t\t{userName}\n\t\t\t\t\t\t{environment !== undefined &&\n\t\t\t\t\t\t\tenvironment !== Environment.Production && (\n\t\t\t\t\t\t\t\t<span style={{ color: getColorForEnvironment(environment) }}>\n\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t({getHumanReadableEnvironment(environment)})\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</Heading6>\n\t\t\t\t\t<span className=\"eps-arrow-icon\">\n\t\t\t\t\t\t<DownArrowIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</SecondaryButton>\n\t\t\t{open && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={overflowItemsClasses}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\tref={overflowContentRef}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import { NorwayIcon, UKIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonLocaleChange: (locale: \"nb-NO\" | \"en-GB\") => void;\n};\n\nexport const LocaleSwitchMenuItem = ({ locale, onLocaleChange }: Props) => {\n\treturn (\n\t\t<>\n\t\t\t{locale === \"en-GB\" ? (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLocaleChange(\"nb-NO\");\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<NorwayIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\tBytt til norsk\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t) : (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLocaleChange(\"en-GB\");\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<UKIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\tSwitch to English\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import { LogOutIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tonClick: () => void;\n\tlocale: \"en-GB\" | \"nb-NO\";\n};\n\nexport const LogOutMenuItem = ({ onClick, locale }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tdata-testid=\"user-menu-logout\"\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<LogOutIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"Log out \" : \"Logg ut\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import { UserIcon } from \"@entur/icons\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonClick: () => void;\n};\n\nexport const UserMenuItem = ({ locale, onClick }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<UserIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"My profile\" : \"Min profil\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import { ChannelsIcon } from \"@entur/icons\";\nimport type { FC } from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\nexport const VersionMenuItem: FC<{\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tonClick: () => void;\n}> = ({ locale, onClick }) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={onClick}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{locale === \"en-GB\" ? \"Version\" : \"Versjon\"}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import \"./UserMenu.scss\";\n\nimport cx from \"classnames\";\nimport { type FC, useState } from \"react\";\n\nimport type { Environment } from \"../environment\";\nimport { CookieSettingsMenuItem } from \"./components/CookieSettingsMenuItem\";\nimport { CustomOverflowMenu } from \"./components/CustomOverflowMenu\";\nimport { LocaleSwitchMenuItem } from \"./components/LocaleSwitchMenuItem\";\nimport { LogOutMenuItem } from \"./components/LogOutMenuItem\";\nimport { UserMenuItem } from \"./components/UserMenuItem\";\nimport { VersionMenuItem } from \"./components/VersionMenuItem\";\n\ninterface UserMenuProps {\n\tuserName: string;\n\tonLogout: () => void;\n\tonLocaleChange: (locale: \"nb-NO\" | \"en-GB\") => void;\n\tlocale: \"nb-NO\" | \"en-GB\";\n\tclassName?: string;\n\tenvironment?: Environment;\n\tshowVersionItem?: boolean;\n\tshowMyProfileItem?: boolean;\n\tshowCookieSettingsItem?: boolean;\n\tonNavigateToMyProfile: () => void;\n\tonCookieSettingsOpen?: () => void;\n\tonVersionItemClick?: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n\tclassName,\n\tonLogout,\n\tonLocaleChange,\n\tuserName,\n\tlocale,\n\tenvironment,\n\tshowVersionItem,\n\tshowMyProfileItem,\n\tshowCookieSettingsItem,\n\tonNavigateToMyProfile,\n\tonCookieSettingsOpen = () => {},\n\tonVersionItemClick,\n}) => {\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<div id=\"eps-user-menu\">\n\t\t\t<CustomOverflowMenu\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={setOpen}\n\t\t\t\tclassName={cx([\"eps-user-menu__trigger-button\", className])}\n\t\t\t\tuserName={userName}\n\t\t\t\tenvironment={environment}\n\t\t\t>\n\t\t\t\t<div id=\"eps-overflow-menu\">\n\t\t\t\t\t<LocaleSwitchMenuItem\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tonLocaleChange={(newLocale) => {\n\t\t\t\t\t\t\tonLocaleChange(newLocale);\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVersionItem && (\n\t\t\t\t\t\t<VersionMenuItem\n\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tonVersionItemClick?.();\n\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showMyProfileItem && (\n\t\t\t\t\t\t<UserMenuItem\n\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tonNavigateToMyProfile();\n\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCookieSettingsItem && (\n\t\t\t\t\t\t<CookieSettingsMenuItem\n\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tonCookieSettingsOpen();\n\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<LogOutMenuItem\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonLogout();\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</CustomOverflowMenu>\n\t\t</div>\n\t);\n};\n"],"names":["ActionBarLeft","_ref","children","_jsx","className","ActionBarRight","_ref2","ActionBar","_ref3","_jsxs","_Fragment","FormatDateTime","date","locale","_ref$as","as","Component","hideTime","rest","_objectWithoutPropertiesLoose","_excluded","_extends","localeDate","localeDateTime","responsiveProp","prefix","prop","Array","isArray","classes","push","Box","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","Stack","space","stackItems","Children","toArray","length","map","child","index","AuditInfo","items","classNames","label","value","isDate","isDateString","toString","Breadcrumbs","prependBreadcrumbItem","pathname","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","title","filter","undefined","breadcrumbElements","i","isLast","BreadcrumbItem","Link","to","BreadcrumbNavigation","concat","ConfirmModal","_ref$isOpen","isOpen","message","_ref$size","size","buttons","onConfirm","messages","onClose","onDismiss","childrenToRender","handleDismiss","Modal","open","isString","Paragraph","ButtonGroup","SecondaryButton","onClick","cancel","PrimaryButton","confirm","Content","classnames","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","newAppVersionErrorMessage","ErrorBoundary","_Component","props","_this","call","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","isFunction","retry","setState","name","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","language","localStorage","getItem","isNorwegian","BannerAlertBox","variant","window","location","reload","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","onChange","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","required","e","target","featureFlag","flag","_import$meta","_window$localStorage","_window$localStorage2","import","env","useFeatureToggle","FeatureToggle","feature","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","LanguageSelect","options","SegmentedControl","assertIsDefined","selectedValue","option","SegmentedChoice","A","RouterLink","LinkButton","Menu","MultiLanguageInput","alertLabel","alertLevel","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","_useState","useState","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","contains","document","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","isInShadowDom","el","getRootNode","ShadowRoot","OrganisationDropDown","organisations","handleChange","selectedOrganisationId","wrapperRef","useRef","selectedOrganisation","setSelectedOrganisation","useEffect","find","org","organisationId","handleMouseDown","current","nativeEvent","stopPropagation","tagName","preventDefault","handleMouseUp","ref","onMouseDown","onMouseUp","SearchableDropdown","sort","a","b","tradingName","localeCompare","organisation","selectedItem","clearable","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","useDocumentTitle","suffix","PageTitle","_ref2$appTitle","appTitle","pageTitles","_ref4","reverse","join","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","reset","proceed","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","Text","component","fontSize","lineHeight","fontWeight","Unbutton","Button","useEventListener","eventName","handler","element","savedHandler","_element","isSupported","addEventListener","eventListener","event","removeEventListener","CustomOverflowMenuItem","role","CookieSettingsMenuItem","CookieIcon","inline","useOutsideClick","buttonRef","listener","elementContainsEventTarget","composed","composedPath","CustomOverflowMenu","userName","onOpenChange","overflowItemsClasses","overflowContentRef","overflowMenuTriggerRef","UserIcon","Heading6","style","DownArrowIcon","LocaleSwitchMenuItem","onLocaleChange","NorwayIcon","UKIcon","LogOutMenuItem","LogOutIcon","UserMenuItem","VersionMenuItem","ChannelsIcon","UserMenu","onLogout","showVersionItem","showMyProfileItem","showCookieSettingsItem","onNavigateToMyProfile","_ref$onCookieSettings","onCookieSettingsOpen","onVersionItemClick","setOpen","id","newLocale"],"mappings":"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"}