@entur-partner/common 10.0.1 → 10.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Link.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type FC } from "react";
2
- import { type LinkProps } from "react-router-dom";
2
+ import { type LinkProps } from "react-router";
3
3
  interface Props extends LinkProps {
4
4
  }
5
5
  export declare const Link: FC<Props>;
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var util = require('@entur-partner/util');
7
7
  var cx = require('classnames');
8
8
  var menu = require('@entur/menu');
9
- var reactRouterDom = require('react-router-dom');
9
+ var reactRouter = require('react-router');
10
10
  var button = require('@entur/button');
11
11
  var modal = require('@entur/modal');
12
12
  var typography = require('@entur/typography');
@@ -222,7 +222,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
222
222
  }
223
223
  return React.createElement(menu.BreadcrumbItem, {
224
224
  key: path,
225
- as: reactRouterDom.Link,
225
+ as: reactRouter.Link,
226
226
  to: path
227
227
  }, title);
228
228
  });
@@ -531,7 +531,7 @@ var LanguageSelect = function LanguageSelect(_ref) {
531
531
 
532
532
  var Link = function Link(props) {
533
533
  return React.createElement(typography.Link, _extends({}, props, {
534
- as: reactRouterDom.Link
534
+ as: reactRouter.Link
535
535
  }), props.children);
536
536
  };
537
537
 
@@ -747,8 +747,8 @@ var RouteLeavingGuard = function RouteLeavingGuard(_ref) {
747
747
  var children = _ref.children,
748
748
  shouldBlockNavigation = _ref.shouldBlockNavigation,
749
749
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
750
- util.assertIsDefined(reactRouterDom.useInRouterContext() ? true : undefined, "RouteLeavingGuard must be used within a data router.");
751
- var blocker = reactRouterDom.useBlocker(function (_ref2) {
750
+ util.assertIsDefined(reactRouter.useInRouterContext() ? true : undefined, "RouteLeavingGuard must be used within a data router.");
751
+ var blocker = reactRouter.useBlocker(function (_ref2) {
752
752
  var currentLocation = _ref2.currentLocation,
753
753
  nextLocation = _ref2.nextLocation;
754
754
  return currentLocation.pathname !== nextLocation.pathname && shouldBlockNavigation(nextLocation);
@@ -993,7 +993,7 @@ var UserMenuItem = function UserMenuItem(_ref) {
993
993
  var name = _ref.name,
994
994
  setOpen = _ref.setOpen,
995
995
  onNavigateToMyProfile = _ref.onNavigateToMyProfile;
996
- return React.createElement(reactRouterDom.Link, {
996
+ return React.createElement(reactRouter.Link, {
997
997
  to: "/permission-admin/my-profile",
998
998
  style: {
999
999
  textDecoration: "none"
@@ -1015,7 +1015,7 @@ var UserMenuItem = function UserMenuItem(_ref) {
1015
1015
  var VersionMenuItem = function VersionMenuItem(_ref) {
1016
1016
  var title = _ref.title,
1017
1017
  setOpen = _ref.setOpen;
1018
- var navigate = reactRouterDom.useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider
1018
+ var navigate = reactRouter.useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider
1019
1019
  return React.createElement(CustomOverflowMenuItem, {
1020
1020
  onClick: function onClick() {
1021
1021
  navigate("/app-version");
@@ -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/UserMenu/components/CustomOverflowMenuItem.tsx","../src/UserMenu/components/CookieSettingsMenuItem.tsx","../src/UserMenu/useOutsideClick.ts","../src/UserMenu/components/CustomOverflowMenu.tsx","../src/UserMenu/components/LanguageSwitchMenuItem.tsx","../src/UserMenu/components/LogOutMenuItem.tsx","../src/UserMenu/components/UserMenuItem.tsx","../src/UserMenu/components/VersionMenuItem.tsx","../src/UserMenu/index.tsx","../src/useEventListener.ts"],"sourcesContent":["import \"./ActionBar.scss\";\nimport React, { 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 React, { 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 { ReactNode } from \"react\";\nimport React 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?: React.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 React, { 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 React, { 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 React, { 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\";\nimport React from \"react\";\n\nimport { Box } from \"./Box\";\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n\ttitle: string;\n\tchildren: React.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 { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface ContentProps {\n\tchildren: ReactNode;\n\tas?: \"main\" | React.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 { FC } from \"react\";\nimport React 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\" | React.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 React, { 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 } from \"react\";\nimport React 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: React.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","/// <reference types=\"vite/client\" />\nimport React, { 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\timport.meta.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 { FC } from \"react\";\nimport React from \"react\";\n\nexport interface FormatCurrencyAmountProps {\n\tamount: number | string;\n\tas?: \"span\" | React.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 React, { 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\tonChange(language);\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 React, { 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 React, { 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 { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface MenuProps {\n\tchildren: ReactNode;\n\tas?: \"div\" | React.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 React, {\n\ttype ChangeEvent,\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: React.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 React, { type FC, useEffect, 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\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n\tlabel,\n\torganisations,\n\tonChange: handleChange,\n\tselectedOrganisationId,\n\t...rest\n}) => {\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\treturn (\n\t\t<SearchableDropdown\n\t\t\tlabel={label}\n\t\t\titems={[\n\t\t\t\t...organisations\n\t\t\t\t\t.sort((a, b) => a.tradingName.localeCompare(b.tradingName, \"nb\"))\n\t\t\t\t\t.map((organisation) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: organisation.organisationId,\n\t\t\t\t\t\t\tlabel: organisation.tradingName,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t]}\n\t\t\tselectedItem={\n\t\t\t\tselectedOrganisation\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tvalue: selectedOrganisation.organisationId,\n\t\t\t\t\t\t\tlabel: selectedOrganisation.tradingName,\n\t\t\t\t\t\t}\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonChange={(selectedValue) => {\n\t\t\t\tif (selectedValue) {\n\t\t\t\t\thandleChange(selectedValue.value);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclearable={false}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n","import { Pagination } from \"@entur/menu\";\nimport React, { 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 React, { 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 { Location } from \"history\";\nimport React, { type FC, type ReactNode } from \"react\";\nimport { useBlocker, useInRouterContext } 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 React, { 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 { ReactNode } from \"react\";\nimport React 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?: React.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 React, { 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","import \"../index.scss\";\n\nimport cx from \"classnames\";\nimport React from \"react\";\n\nexport const CustomOverflowMenuItem: React.FC<\n\tReact.DetailedHTMLProps<\n\t\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tHTMLButtonElement\n\t>\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 \"../index.scss\";\n\nimport { CookieIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonCookieSettingsOpen: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({\n\tname,\n\tsetOpen,\n\tonCookieSettingsOpen,\n}: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonCookieSettingsOpen();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\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{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import React from \"react\";\n\nexport function useOutsideClick(\n\tref: React.RefObject<HTMLDivElement>,\n\tbuttonRef: React.RefObject<HTMLButtonElement>,\n\thandler: () => void,\n) {\n\tReact.useEffect(() => {\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 \"../index.scss\";\n\nimport { SecondaryButton } from \"@entur/button\";\nimport { DownArrowIcon, UserIcon } from \"@entur/icons\";\nimport { Heading6 } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport React from \"react\";\n\nimport {\n\tEnvironment,\n\tgetColorForEnvironment,\n\tgetHumanReadableEnvironment,\n} from \"../../environment\";\nimport { useOutsideClick } from \"../useOutsideClick\";\n\nexport const CustomOverflowMenu: React.FC<{\n\tclassName?: string;\n\tchildren: React.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 = React.useRef<HTMLDivElement>(null);\n\tconst overflowMenuTriggerRef = React.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 \"../index.scss\";\n\nimport { NorwayIcon, UKIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { useFeatureToggle } from \"../../FeatureToggle\";\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlanguage: string;\n\tonLanguageChange: (language: string) => void;\n\tsetOpen: (open: boolean) => void;\n\tname: string;\n};\n\nexport const LanguageSwitchMenuItem = ({\n\tlanguage,\n\tonLanguageChange,\n\tsetOpen,\n\tname,\n}: Props) => {\n\tconst useB47LanguageKey = useFeatureToggle(\"USE_BCP-47_LANGUAGE_KEY\");\n\tconst norwegianLanguageKey = useB47LanguageKey ? \"nb-NO\" : \"nb\";\n\tconst englishLanguageKey = useB47LanguageKey ? \"en-GB\" : \"en\";\n\n\treturn (\n\t\t<>\n\t\t\t{language === englishLanguageKey ? (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLanguageChange(norwegianLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\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\t{name}\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\tonLanguageChange(englishLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\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\t{name}\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import \"../index.scss\";\n\nimport { LogOutIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonLogout: () => void;\n};\n\nexport const LogOutMenuItem = ({ name, setOpen, onLogout }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonLogout();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\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{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import \"../index.scss\";\n\nimport { UserIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonNavigateToMyProfile: () => void;\n};\n\nexport const UserMenuItem = ({\n\tname,\n\tsetOpen,\n\tonNavigateToMyProfile,\n}: Props) => {\n\treturn (\n\t\t<Link to=\"/permission-admin/my-profile\" style={{ textDecoration: \"none\" }}>\n\t\t\t<CustomOverflowMenuItem\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetOpen(false);\n\t\t\t\t\tonNavigateToMyProfile();\n\t\t\t\t}}\n\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t>\n\t\t\t\t<span aria-hidden>\n\t\t\t\t\t<UserIcon size=\"1rem\" inline />\n\t\t\t\t</span>\n\t\t\t\t{name}\n\t\t\t</CustomOverflowMenuItem>\n\t\t</Link>\n\t);\n};\n","import { ChannelsIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\nexport const VersionMenuItem: React.FC<{\n\ttitle: string;\n\tsetOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n\tconst navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tnavigate(\"/app-version\");\n\t\t\t\tsetOpen(false);\n\t\t\t}}\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{title}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","/** biome-ignore-all lint/correctness/useUniqueElementIds: Ignore unique id for now */\nimport \"./index.scss\";\n\nimport cx from \"classnames\";\nimport React, { type FC, useState } from \"react\";\n\nimport type { Environment } from \"../environment\";\nimport { CookieSettingsMenuItem } from \"./components/CookieSettingsMenuItem\";\nimport { CustomOverflowMenu } from \"./components/CustomOverflowMenu\";\nimport { LanguageSwitchMenuItem } from \"./components/LanguageSwitchMenuItem\";\nimport { LogOutMenuItem } from \"./components/LogOutMenuItem\";\nimport { UserMenuItem } from \"./components/UserMenuItem\";\nimport { VersionMenuItem } from \"./components/VersionMenuItem\";\n\ninterface UserMenuProps {\n\tuserName: string;\n\tmessages: {\n\t\tlogout: string;\n\t\tswitchLanguage: string;\n\t\tappVersion?: string;\n\t\tmyProfile?: string;\n\t\tcookieSettings?: string;\n\t};\n\tonLogout: () => void;\n\tonLanguageChange: (language: string) => void;\n\tlanguage: string;\n\tclassName?: string;\n\tenvironment?: Environment;\n\tshowVersionItem?: boolean;\n\tshowMyProfileItem?: boolean;\n\tshowCookieSettingsItem?: boolean;\n\tonNavigateToMyProfile: () => void;\n\tonCookieSettingsOpen?: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n\tclassName,\n\tmessages,\n\tonLogout,\n\tonLanguageChange,\n\tuserName,\n\tlanguage,\n\tenvironment,\n\tshowVersionItem,\n\tshowMyProfileItem,\n\tshowCookieSettingsItem,\n\tonNavigateToMyProfile,\n\tonCookieSettingsOpen = () => {},\n}) => {\n\tconst triggerClassList = cx([\"eps-user-menu__trigger-button\", className]);\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={triggerClassList}\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<LanguageSwitchMenuItem\n\t\t\t\t\t\tname={messages.switchLanguage}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonLanguageChange={onLanguageChange}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVersionItem && messages.appVersion && (\n\t\t\t\t\t\t<VersionMenuItem title={messages.appVersion} setOpen={setOpen} />\n\t\t\t\t\t)}\n\t\t\t\t\t{showMyProfileItem && messages.myProfile && (\n\t\t\t\t\t\t<UserMenuItem\n\t\t\t\t\t\t\tname={messages.myProfile}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonNavigateToMyProfile={onNavigateToMyProfile}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCookieSettingsItem && messages.cookieSettings && (\n\t\t\t\t\t\t<CookieSettingsMenuItem\n\t\t\t\t\t\t\tname={messages.cookieSettings}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonCookieSettingsOpen={onCookieSettingsOpen}\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\tname={messages.logout}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\tonLogout={onLogout}\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","/*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>>();\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"],"names":["ActionBarLeft","_ref","children","React","className","ActionBarRight","_ref2","ActionBar","_ref3","createElement","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","key","AuditInfo","items","classNames","label","value","toString","isDate","isDateString","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","_window$localStorage","_window$localStorage2","import","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","OrganisationDropDown","organisations","handleChange","selectedOrganisationId","selectedOrganisation","setSelectedOrganisation","useEffect","find","org","organisationId","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","CustomOverflowMenuItem","role","CookieSettingsMenuItem","setOpen","onCookieSettingsOpen","CookieIcon","inline","useOutsideClick","ref","buttonRef","handler","listener","event","elementContainsEventTarget","current","addEventListener","removeEventListener","element","composed","composedPath","CustomOverflowMenu","userName","onOpenChange","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","UserIcon","Heading6","style","DownArrowIcon","LanguageSwitchMenuItem","onLanguageChange","useB47LanguageKey","norwegianLanguageKey","englishLanguageKey","NorwayIcon","UKIcon","LogOutMenuItem","onLogout","LogOutIcon","UserMenuItem","onNavigateToMyProfile","textDecoration","VersionMenuItem","navigate","useNavigate","ChannelsIcon","UserMenu","showVersionItem","showMyProfileItem","showCookieSettingsItem","_ref$onCookieSettings","triggerClassList","id","switchLanguage","appVersion","myProfile","cookieSettings","logout","useEventListener","eventName","savedHandler","_element","isSupported","eventListener"],"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/UserMenu/components/CustomOverflowMenuItem.tsx","../src/UserMenu/components/CookieSettingsMenuItem.tsx","../src/UserMenu/useOutsideClick.ts","../src/UserMenu/components/CustomOverflowMenu.tsx","../src/UserMenu/components/LanguageSwitchMenuItem.tsx","../src/UserMenu/components/LogOutMenuItem.tsx","../src/UserMenu/components/UserMenuItem.tsx","../src/UserMenu/components/VersionMenuItem.tsx","../src/UserMenu/index.tsx","../src/useEventListener.ts"],"sourcesContent":["import \"./ActionBar.scss\";\nimport React, { 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 React, { 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 { ReactNode } from \"react\";\nimport React 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?: React.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 React, { 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 React, { 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 React, { type FC, type ReactElement } from \"react\";\nimport { Link } from \"react-router\";\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\";\nimport React from \"react\";\n\nimport { Box } from \"./Box\";\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n\ttitle: string;\n\tchildren: React.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 { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface ContentProps {\n\tchildren: ReactNode;\n\tas?: \"main\" | React.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 { FC } from \"react\";\nimport React 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\" | React.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 React, { 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 } from \"react\";\nimport React 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: React.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","/// <reference types=\"vite/client\" />\nimport React, { 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\timport.meta.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 { FC } from \"react\";\nimport React from \"react\";\n\nexport interface FormatCurrencyAmountProps {\n\tamount: number | string;\n\tas?: \"span\" | React.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 React, { 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\tonChange(language);\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 React, { type FC } from \"react\";\nimport { type LinkProps, Link as RouterLink } from \"react-router\";\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 React, { 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 { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface MenuProps {\n\tchildren: ReactNode;\n\tas?: \"div\" | React.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 React, {\n\ttype ChangeEvent,\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: React.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 React, { type FC, useEffect, 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\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n\tlabel,\n\torganisations,\n\tonChange: handleChange,\n\tselectedOrganisationId,\n\t...rest\n}) => {\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\treturn (\n\t\t<SearchableDropdown\n\t\t\tlabel={label}\n\t\t\titems={[\n\t\t\t\t...organisations\n\t\t\t\t\t.sort((a, b) => a.tradingName.localeCompare(b.tradingName, \"nb\"))\n\t\t\t\t\t.map((organisation) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: organisation.organisationId,\n\t\t\t\t\t\t\tlabel: organisation.tradingName,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t]}\n\t\t\tselectedItem={\n\t\t\t\tselectedOrganisation\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tvalue: selectedOrganisation.organisationId,\n\t\t\t\t\t\t\tlabel: selectedOrganisation.tradingName,\n\t\t\t\t\t\t}\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonChange={(selectedValue) => {\n\t\t\t\tif (selectedValue) {\n\t\t\t\t\thandleChange(selectedValue.value);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclearable={false}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n","import { Pagination } from \"@entur/menu\";\nimport React, { 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 React, { 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 { Location } from \"history\";\nimport React, { type FC, type ReactNode } from \"react\";\nimport { useBlocker, useInRouterContext } from \"react-router\";\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 React, { 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 { ReactNode } from \"react\";\nimport React 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?: React.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 React, { 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","import \"../index.scss\";\n\nimport cx from \"classnames\";\nimport React from \"react\";\n\nexport const CustomOverflowMenuItem: React.FC<\n\tReact.DetailedHTMLProps<\n\t\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tHTMLButtonElement\n\t>\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 \"../index.scss\";\n\nimport { CookieIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonCookieSettingsOpen: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({\n\tname,\n\tsetOpen,\n\tonCookieSettingsOpen,\n}: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonCookieSettingsOpen();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\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{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import React from \"react\";\n\nexport function useOutsideClick(\n\tref: React.RefObject<HTMLDivElement>,\n\tbuttonRef: React.RefObject<HTMLButtonElement>,\n\thandler: () => void,\n) {\n\tReact.useEffect(() => {\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 \"../index.scss\";\n\nimport { SecondaryButton } from \"@entur/button\";\nimport { DownArrowIcon, UserIcon } from \"@entur/icons\";\nimport { Heading6 } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport React from \"react\";\n\nimport {\n\tEnvironment,\n\tgetColorForEnvironment,\n\tgetHumanReadableEnvironment,\n} from \"../../environment\";\nimport { useOutsideClick } from \"../useOutsideClick\";\n\nexport const CustomOverflowMenu: React.FC<{\n\tclassName?: string;\n\tchildren: React.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 = React.useRef<HTMLDivElement>(null);\n\tconst overflowMenuTriggerRef = React.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 \"../index.scss\";\n\nimport { NorwayIcon, UKIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { useFeatureToggle } from \"../../FeatureToggle\";\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlanguage: string;\n\tonLanguageChange: (language: string) => void;\n\tsetOpen: (open: boolean) => void;\n\tname: string;\n};\n\nexport const LanguageSwitchMenuItem = ({\n\tlanguage,\n\tonLanguageChange,\n\tsetOpen,\n\tname,\n}: Props) => {\n\tconst useB47LanguageKey = useFeatureToggle(\"USE_BCP-47_LANGUAGE_KEY\");\n\tconst norwegianLanguageKey = useB47LanguageKey ? \"nb-NO\" : \"nb\";\n\tconst englishLanguageKey = useB47LanguageKey ? \"en-GB\" : \"en\";\n\n\treturn (\n\t\t<>\n\t\t\t{language === englishLanguageKey ? (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLanguageChange(norwegianLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\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\t{name}\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\tonLanguageChange(englishLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\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\t{name}\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import \"../index.scss\";\n\nimport { LogOutIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonLogout: () => void;\n};\n\nexport const LogOutMenuItem = ({ name, setOpen, onLogout }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonLogout();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\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{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import \"../index.scss\";\nimport { UserIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { Link } from \"react-router\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonNavigateToMyProfile: () => void;\n};\n\nexport const UserMenuItem = ({\n\tname,\n\tsetOpen,\n\tonNavigateToMyProfile,\n}: Props) => {\n\treturn (\n\t\t<Link to=\"/permission-admin/my-profile\" style={{ textDecoration: \"none\" }}>\n\t\t\t<CustomOverflowMenuItem\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetOpen(false);\n\t\t\t\t\tonNavigateToMyProfile();\n\t\t\t\t}}\n\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t>\n\t\t\t\t<span aria-hidden>\n\t\t\t\t\t<UserIcon size=\"1rem\" inline />\n\t\t\t\t</span>\n\t\t\t\t{name}\n\t\t\t</CustomOverflowMenuItem>\n\t\t</Link>\n\t);\n};\n","import { ChannelsIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { useNavigate } from \"react-router\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\nexport const VersionMenuItem: React.FC<{\n\ttitle: string;\n\tsetOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n\tconst navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tnavigate(\"/app-version\");\n\t\t\t\tsetOpen(false);\n\t\t\t}}\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{title}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","/** biome-ignore-all lint/correctness/useUniqueElementIds: Ignore unique id for now */\nimport \"./index.scss\";\n\nimport cx from \"classnames\";\nimport React, { type FC, useState } from \"react\";\n\nimport type { Environment } from \"../environment\";\nimport { CookieSettingsMenuItem } from \"./components/CookieSettingsMenuItem\";\nimport { CustomOverflowMenu } from \"./components/CustomOverflowMenu\";\nimport { LanguageSwitchMenuItem } from \"./components/LanguageSwitchMenuItem\";\nimport { LogOutMenuItem } from \"./components/LogOutMenuItem\";\nimport { UserMenuItem } from \"./components/UserMenuItem\";\nimport { VersionMenuItem } from \"./components/VersionMenuItem\";\n\ninterface UserMenuProps {\n\tuserName: string;\n\tmessages: {\n\t\tlogout: string;\n\t\tswitchLanguage: string;\n\t\tappVersion?: string;\n\t\tmyProfile?: string;\n\t\tcookieSettings?: string;\n\t};\n\tonLogout: () => void;\n\tonLanguageChange: (language: string) => void;\n\tlanguage: string;\n\tclassName?: string;\n\tenvironment?: Environment;\n\tshowVersionItem?: boolean;\n\tshowMyProfileItem?: boolean;\n\tshowCookieSettingsItem?: boolean;\n\tonNavigateToMyProfile: () => void;\n\tonCookieSettingsOpen?: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n\tclassName,\n\tmessages,\n\tonLogout,\n\tonLanguageChange,\n\tuserName,\n\tlanguage,\n\tenvironment,\n\tshowVersionItem,\n\tshowMyProfileItem,\n\tshowCookieSettingsItem,\n\tonNavigateToMyProfile,\n\tonCookieSettingsOpen = () => {},\n}) => {\n\tconst triggerClassList = cx([\"eps-user-menu__trigger-button\", className]);\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={triggerClassList}\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<LanguageSwitchMenuItem\n\t\t\t\t\t\tname={messages.switchLanguage}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonLanguageChange={onLanguageChange}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVersionItem && messages.appVersion && (\n\t\t\t\t\t\t<VersionMenuItem title={messages.appVersion} setOpen={setOpen} />\n\t\t\t\t\t)}\n\t\t\t\t\t{showMyProfileItem && messages.myProfile && (\n\t\t\t\t\t\t<UserMenuItem\n\t\t\t\t\t\t\tname={messages.myProfile}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonNavigateToMyProfile={onNavigateToMyProfile}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCookieSettingsItem && messages.cookieSettings && (\n\t\t\t\t\t\t<CookieSettingsMenuItem\n\t\t\t\t\t\t\tname={messages.cookieSettings}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonCookieSettingsOpen={onCookieSettingsOpen}\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\tname={messages.logout}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\tonLogout={onLogout}\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","/*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>>();\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"],"names":["ActionBarLeft","_ref","children","React","className","ActionBarRight","_ref2","ActionBar","_ref3","createElement","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","key","AuditInfo","items","classNames","label","value","toString","isDate","isDateString","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","_window$localStorage","_window$localStorage2","import","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","OrganisationDropDown","organisations","handleChange","selectedOrganisationId","selectedOrganisation","setSelectedOrganisation","useEffect","find","org","organisationId","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","CustomOverflowMenuItem","role","CookieSettingsMenuItem","setOpen","onCookieSettingsOpen","CookieIcon","inline","useOutsideClick","ref","buttonRef","handler","listener","event","elementContainsEventTarget","current","addEventListener","removeEventListener","element","composed","composedPath","CustomOverflowMenu","userName","onOpenChange","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","UserIcon","Heading6","style","DownArrowIcon","LanguageSwitchMenuItem","onLanguageChange","useB47LanguageKey","norwegianLanguageKey","englishLanguageKey","NorwayIcon","UKIcon","LogOutMenuItem","onLogout","LogOutIcon","UserMenuItem","onNavigateToMyProfile","textDecoration","VersionMenuItem","navigate","useNavigate","ChannelsIcon","UserMenu","showVersionItem","showMyProfileItem","showCookieSettingsItem","_ref$onCookieSettings","triggerClassList","id","switchLanguage","appVersion","myProfile","cookieSettings","logout","useEventListener","eventName","savedHandler","_element","isSupported","eventListener"],"mappings":"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"}