@entur-partner/common 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,10 @@
1
1
  import './EnturPartnerLogo.scss';
2
2
  import React, { FC } from 'react';
3
+ import { Environment } from './environment';
3
4
  interface LogoProps {
4
5
  title: string;
5
6
  className?: string;
7
+ accentColor?: string;
6
8
  [key: string]: any;
7
9
  }
8
10
  export declare const EnturPartnerLogoSvg: FC<LogoProps>;
@@ -10,6 +12,7 @@ interface EnturPartnerLogoProps {
10
12
  altText: string;
11
13
  as?: 'div' | React.ElementType;
12
14
  className?: string;
15
+ environment?: Environment;
13
16
  }
14
17
  export declare const EnturPartnerLogo: FC<EnturPartnerLogoProps>;
15
18
  export {};
@@ -1,5 +1,6 @@
1
1
  import './UserMenu.scss';
2
2
  import { FC } from 'react';
3
+ import { Environment } from './environment';
3
4
  interface UserMenuProps {
4
5
  userName: string;
5
6
  messages: {
@@ -10,6 +11,7 @@ interface UserMenuProps {
10
11
  onLanguageChange: (language: string) => void;
11
12
  language: string;
12
13
  className?: string;
14
+ environment?: Environment;
13
15
  }
14
16
  export declare const UserMenu: FC<UserMenuProps>;
15
17
  export {};
@@ -242,9 +242,37 @@ var FeatureToggle = function FeatureToggle(_ref) {
242
242
  return null;
243
243
  };
244
244
 
245
- var _excluded$d = ["title"];
245
+ var _environmentColors, _humanReadableEnviron;
246
+
247
+ exports.Environment = void 0;
248
+
249
+ (function (Environment) {
250
+ Environment["Local"] = "local";
251
+ Environment["Development"] = "dev";
252
+ Environment["Staging"] = "staging";
253
+ Environment["Production"] = "prod";
254
+ })(exports.Environment || (exports.Environment = {}));
255
+
256
+ var environmentColors = (_environmentColors = {}, _environmentColors[exports.Environment.Local] = '#B482FB', _environmentColors[exports.Environment.Development] = '#5AC39A', _environmentColors[exports.Environment.Staging] = '#FFCA28', _environmentColors);
257
+ /**
258
+ * Gets the color for the given environment. This is the color used for the environment
259
+ * indicator. There is no color for production as it should not have any special environment
260
+ * indication.
261
+ */
262
+
263
+ var getColorForEnvironment = function getColorForEnvironment(environment) {
264
+ return environmentColors[environment];
265
+ };
266
+ var humanReadableEnvironment = (_humanReadableEnviron = {}, _humanReadableEnviron[exports.Environment.Local] = 'Local', _humanReadableEnviron[exports.Environment.Development] = 'Dev', _humanReadableEnviron[exports.Environment.Staging] = 'Staging', _humanReadableEnviron[exports.Environment.Production] = 'Prod', _humanReadableEnviron);
267
+ var getHumanReadableEnvironment = function getHumanReadableEnvironment(environment) {
268
+ return humanReadableEnvironment[environment];
269
+ };
270
+
271
+ var _excluded$d = ["title", "accentColor"];
246
272
  var EnturPartnerLogoSvg = function EnturPartnerLogoSvg(_ref) {
247
273
  var title = _ref.title,
274
+ _ref$accentColor = _ref.accentColor,
275
+ accentColor = _ref$accentColor === void 0 ? '#FF5959' : _ref$accentColor,
248
276
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
249
277
 
250
278
  return React__default["default"].createElement("svg", _extends({
@@ -258,13 +286,13 @@ var EnturPartnerLogoSvg = function EnturPartnerLogoSvg(_ref) {
258
286
  fill: "#FFF",
259
287
  d: "M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z"
260
288
  }), React__default["default"].createElement("path", {
261
- fill: "#FF5959",
289
+ fill: accentColor,
262
290
  d: "M0 36.408h45.253v-4.32H0z"
263
291
  }), React__default["default"].createElement("path", {
264
292
  fill: "#FFF",
265
293
  d: "M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z"
266
294
  }), React__default["default"].createElement("g", {
267
- fill: "#FF5959"
295
+ fill: accentColor
268
296
  }, React__default["default"].createElement("path", {
269
297
  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"
270
298
  }))));
@@ -273,13 +301,15 @@ var EnturPartnerLogo = function EnturPartnerLogo(_ref2) {
273
301
  var _ref2$as = _ref2.as,
274
302
  Component = _ref2$as === void 0 ? 'nav' : _ref2$as,
275
303
  className = _ref2.className,
276
- altText = _ref2.altText;
304
+ altText = _ref2.altText,
305
+ environment = _ref2.environment;
277
306
  var classList = cx__default["default"](['eps-logo-wrapper', className]);
278
307
  return React__default["default"].createElement(Component, {
279
308
  className: classList
280
309
  }, React__default["default"].createElement(EnturPartnerLogoSvg, {
281
310
  title: altText,
282
- className: "logo"
311
+ className: "logo",
312
+ accentColor: environment !== undefined && environment !== exports.Environment.Production ? getColorForEnvironment(environment) : undefined
283
313
  }));
284
314
  };
285
315
 
@@ -305,14 +335,15 @@ var Content = function Content(_ref) {
305
335
  }, children);
306
336
  };
307
337
 
308
- var _excluded$c = ["className", "children", "userName", "open", "onOpenChange"];
338
+ var _excluded$c = ["className", "children", "userName", "open", "onOpenChange", "environment"];
309
339
  var UserMenu = function UserMenu(_ref) {
310
340
  var className = _ref.className,
311
341
  messages = _ref.messages,
312
342
  onLogout = _ref.onLogout,
313
343
  onLanguageChange = _ref.onLanguageChange,
314
344
  userName = _ref.userName,
315
- language = _ref.language;
345
+ language = _ref.language,
346
+ environment = _ref.environment;
316
347
  var triggerClassList = cx__default["default"](['eps-user-menu__trigger-button', className]);
317
348
 
318
349
  var _useState = React.useState(false),
@@ -325,7 +356,8 @@ var UserMenu = function UserMenu(_ref) {
325
356
  open: open,
326
357
  onOpenChange: setOpen,
327
358
  className: triggerClassList,
328
- userName: userName
359
+ userName: userName,
360
+ environment: environment
329
361
  }, React__default["default"].createElement("div", {
330
362
  id: "eps-overflow-menu"
331
363
  }, language === 'en' ? React__default["default"].createElement(CustomOverflowMenuItem, {
@@ -376,6 +408,7 @@ var CustomOverflowMenu = function CustomOverflowMenu(_ref2) {
376
408
  userName = _ref2.userName,
377
409
  open = _ref2.open,
378
410
  onOpenChange = _ref2.onOpenChange,
411
+ environment = _ref2.environment,
379
412
  rest = _objectWithoutPropertiesLoose(_ref2, _excluded$c);
380
413
 
381
414
  var overflowItemsClasses = cx__default["default"]('eps-overflow-menu__group', {
@@ -404,7 +437,11 @@ var CustomOverflowMenu = function CustomOverflowMenu(_ref2) {
404
437
  })), React__default["default"].createElement(typography.Heading6, {
405
438
  margin: "none",
406
439
  as: "span"
407
- }, userName), React__default["default"].createElement("span", {
440
+ }, userName, environment !== undefined && environment !== exports.Environment.Production && React__default["default"].createElement("span", {
441
+ style: {
442
+ color: getColorForEnvironment(environment)
443
+ }
444
+ }, ' ', "(", getHumanReadableEnvironment(environment), ")")), React__default["default"].createElement("span", {
408
445
  className: "eps-arrow-icon"
409
446
  }, React__default["default"].createElement(icons.DownArrowIcon, {
410
447
  inline: true
@@ -1080,6 +1117,8 @@ exports.Text = Text;
1080
1117
  exports.Unbutton = Unbutton;
1081
1118
  exports.UserMenu = UserMenu;
1082
1119
  exports.featureFlag = featureFlag;
1120
+ exports.getColorForEnvironment = getColorForEnvironment;
1121
+ exports.getHumanReadableEnvironment = getHumanReadableEnvironment;
1083
1122
  exports.responsiveProp = responsiveProp;
1084
1123
  exports.useEventListener = useEventListener;
1085
1124
  exports.useFeatureToggle = useFeatureToggle;
@@ -1 +1 @@
1
- {"version":3,"file":"common.cjs.development.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/PermissionCheckedRoute.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx"],"sourcesContent":["import './Box.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype StyleSpacing =\n | 'none'\n | 'extraSmall2'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7'\n | 'extraLarge8'\n | 'extraLarge9';\n\ntype StyleMargin = StyleSpacing | 'auto';\n\ntype StyleDisplay = 'block' | 'flex' | 'inline' | 'inline-block';\ntype StyleJustifyContent = 'center' | 'space-between' | 'start' | 'end';\ntype StyleAlignItems = 'center' | 'start' | 'end' | 'stretch' | 'baseline';\n\ntype StyleMaxWidth =\n | 'none'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'full';\ntype StyleWidth = 'auto' | 'full';\n\nexport type StyleBackground = 'blue' | 'lavender' | 'white' | 'blue70';\nexport type StyleColor = 'blue' | 'lavender' | 'white' | 'black';\n\ntype StyleFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\ntype StyleFlexWrap = 'wrap' | 'nowrap' | 'wrap-reverse';\n\nexport type ResponsiveStyleSpacing =\n | StyleSpacing\n | [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n | StyleMargin\n | [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n | StyleDisplay\n | [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n | StyleJustifyContent\n | [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n | StyleAlignItems\n | [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n | StyleMaxWidth\n | [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n | StyleWidth\n | [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n | StyleFlexDirection\n | [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n | StyleFlexWrap\n | [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n className?: string;\n as?: React.ElementType;\n [key: string]: any;\n children: ReactNode;\n\n contrast?: boolean;\n\n paddingTop?: ResponsiveStyleSpacing;\n paddingRight?: ResponsiveStyleSpacing;\n paddingBottom?: ResponsiveStyleSpacing;\n paddingLeft?: ResponsiveStyleSpacing;\n paddingX?: ResponsiveStyleSpacing;\n paddingY?: ResponsiveStyleSpacing;\n padding?: ResponsiveStyleSpacing;\n\n marginTop?: ResponsiveStyleMargin;\n marginRight?: ResponsiveStyleMargin;\n marginBottom?: ResponsiveStyleMargin;\n marginLeft?: ResponsiveStyleMargin;\n marginX?: ResponsiveStyleMargin;\n marginY?: ResponsiveStyleMargin;\n margin?: ResponsiveStyleMargin;\n\n display?: ResponsiveStyleDisplay;\n justifyContent?: ResponsiveStyleJustifyContent;\n alignItems?: ResponsiveStyleAlignItems;\n\n maxWidth?: ResponsiveStyleMaxWidth;\n width?: ResponsiveStyleWidth;\n background?: StyleBackground;\n color?: StyleColor;\n\n flexDirection?: ResponsiveStyleFlexDirection;\n flexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n if (Array.isArray(prop)) {\n const classes = [];\n prop[0] && classes.push(prefix + prop[0]);\n prop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n prop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n return classes;\n }\n return [prefix + prop];\n}\n\nexport const Box = ({\n as: Component = 'div',\n children,\n contrast,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n paddingX,\n paddingY,\n padding,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n margin,\n display,\n justifyContent,\n alignItems,\n maxWidth,\n width,\n background,\n color,\n flexDirection,\n flexWrap,\n className,\n ...rest\n}: BoxProps) => {\n const classes = [];\n const resolvedPaddingTop = paddingTop || paddingY || padding;\n const resolvedPaddingBottom = paddingBottom || paddingY || padding;\n const resolvedPaddingLeft = paddingLeft || paddingX || padding;\n const resolvedPaddingRight = paddingRight || paddingX || padding;\n\n const resolvedMarginTop = marginTop || marginY || margin;\n const resolvedMarginBottom = marginBottom || marginY || margin;\n const resolvedMarginLeft = marginLeft || marginX || margin;\n const resolvedMarginRight = marginRight || marginX || margin;\n\n contrast && classes.push('eds-contrast');\n resolvedPaddingTop &&\n classes.push(...responsiveProp('eps-pt-', resolvedPaddingTop));\n resolvedPaddingBottom &&\n classes.push(...responsiveProp('eps-pb-', resolvedPaddingBottom));\n resolvedPaddingLeft &&\n classes.push(...responsiveProp('eps-pl-', resolvedPaddingLeft));\n resolvedPaddingRight &&\n classes.push(...responsiveProp('eps-pr-', resolvedPaddingRight));\n resolvedMarginTop &&\n classes.push(...responsiveProp('eps-mt-', resolvedMarginTop));\n resolvedMarginBottom &&\n classes.push(...responsiveProp('eps-mb-', resolvedMarginBottom));\n resolvedMarginLeft &&\n classes.push(...responsiveProp('eps-ml-', resolvedMarginLeft));\n resolvedMarginRight &&\n classes.push(...responsiveProp('eps-mr-', resolvedMarginRight));\n\n display && classes.push(...responsiveProp('eps-', display));\n justifyContent &&\n classes.push(...responsiveProp('eps-justify-', justifyContent));\n if (alignItems) {\n classes.push(...responsiveProp('eps-items-', alignItems));\n }\n\n maxWidth && classes.push(...responsiveProp('eps-max-w-', maxWidth));\n width && classes.push(...responsiveProp('eps-w-', width));\n\n color && classes.push(`eps-color-${color}`);\n background && classes.push(`eps-bg-${background}`);\n\n flexDirection && classes.push(...responsiveProp('eps-flex-', flexDirection));\n flexWrap && classes.push(...responsiveProp('eps-flex-wrap-', flexWrap));\n\n const classList = cx(classes, className);\n\n return (\n <Component className={classList} {...rest}>\n {children}\n </Component>\n );\n};\n","import React, { ReactNode, Children } from 'react';\n\nimport { ResponsiveStyleSpacing, Box } from './Box';\n\nexport interface StackProps {\n className?: string;\n children: ReactNode;\n space: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n const stackItems = Children.toArray(children);\n if (stackItems.length <= 1) {\n return <>{stackItems}</>;\n }\n\n return (\n <div className={className}>\n {stackItems.map((child, index) =>\n index === stackItems.length - 1 ? (\n <div key={index}>{child}</div>\n ) : (\n <Box paddingBottom={space} key={index}>\n {child}\n </Box>\n )\n )}\n </div>\n );\n};\n","import './ActionBar.scss';\nimport React, { ReactNode } from 'react';\n\nexport interface ActionBarProps {\n children: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n return (\n <>\n <div className=\"eps-action-bar-padding\" />\n <div className=\"eps-action-bar\">{children}</div>\n </>\n );\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import './LinkButton.scss';\n\nimport React, { ReactNode } from 'react';\nimport { Link } from '@entur/typography';\nimport cx from 'classnames';\n\nexport interface LinkButtonProps {\n children: ReactNode;\n className?: string;\n [key: string]: any;\n}\n\nexport const LinkButton = ({\n children,\n className,\n ...rest\n}: LinkButtonProps) => (\n <Link {...rest} as=\"button\" className={cx('eps-link-button', className)}>\n {children}\n </Link>\n);\n","import React, { ReactNode } from 'react';\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the REACT_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n return (\n process.env[`REACT_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`REACT_APP_${flag}`) === 'true'\n );\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the REACT_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n return featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n /** Visible if flag exist, hidden if not.*/\n children: ReactNode;\n /** Case sensitive flag. If it is an environment variable\n * you can drop the REACT_APP_ prefix. */\n flag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n const feature = useFeatureToggle(flag);\n if (feature) {\n return <>{children}</>;\n }\n return null;\n};\n","import './EnturPartnerLogo.scss';\n\nimport React, { FC } from 'react';\nimport classnames from 'classnames';\n\ninterface LogoProps {\n title: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({ title, ...rest }) => {\n return (\n <svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n <title>{title}</title>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#FFF\"\n d=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n />\n <path fill=\"#FF5959\" d=\"M0 36.408h45.253v-4.32H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z\"\n />\n <g fill=\"#FF5959\">\n <path d=\"M141.051 23.448h5.628c4.185 0 5.989-1.984 5.989-4.942 0-2.742-1.515-4.618-5.989-4.618h-5.628v9.56zm0 3.067v9.776h-3.571V10.75h9.632c6.674 0 9.127 3.211 9.127 7.54 0 4.979-3.102 8.226-9.2 8.226h-5.988zM169.695 28.715c-1.371-.288-2.958-.505-4.401-.505-2.85 0-4.041 1.263-4.041 3.139s1.407 2.706 3.463 2.706c2.49 0 4.979-1.443 4.979-4.221v-1.119zm-4.293-2.958c1.551 0 3.174.253 4.293.469v-.83c0-2.525-1.154-3.896-4.33-3.896-2.164 0-3.824.866-4.942 2.092l-2.02-2.272c1.732-1.66 3.644-2.598 7.07-2.598 5.052 0 7.469 1.876 7.469 7.215v10.354h-3.211V34.02h-.108c-1.082 1.767-3.211 2.705-5.592 2.705-3.32 0-6.241-1.66-6.241-5.303 0-3.103 1.912-5.664 7.612-5.664zM178.965 19.191h3.211v2.886h.108c.938-1.984 2.922-3.355 5.231-3.355.47 0 .938.036 1.335.144l-.144 3.14a6.77 6.77 0 00-1.552-.181c-3.246 0-4.798 2.633-4.798 5.483v8.983h-3.39v-17.1zM199.961 36.291h-1.912c-4.004 0-5.988-.938-5.988-5.772v-8.55h-2.778V19.19h2.778v-4.654h3.355v4.654h4.473v2.778h-4.473v7.973c0 3.427 1.587 3.535 3.319 3.535h1.226v2.814zM219.767 36.291h-3.391V26.84c0-2.778-1.083-5.375-4.257-5.375-3.14 0-5.268 2.597-5.268 6.169v8.658h-3.391v-17.1h3.32v2.814h.143c.794-1.623 3.067-3.283 5.99-3.283 4.941 0 6.854 3.644 6.854 8.081v9.488zM227.847 26.262h10.57c0-2.597-2.272-4.726-5.087-4.726-2.922 0-5.014 1.948-5.483 4.726zm-.036 2.453c.397 3.355 2.633 5.195 5.844 5.195 2.778 0 4.618-1.623 5.484-2.67l2.164 1.804c-1.37 1.913-4.365 3.716-8.045 3.716-4.942 0-8.73-3.535-8.73-8.55 0-5.195 3.752-9.488 8.983-9.488 5.303 0 8.009 4.365 8.009 8.19 0 .649-.036 1.226-.072 1.803H227.81zM246.245 19.191h3.21v2.886h.109c.938-1.984 2.922-3.355 5.231-3.355.469 0 .938.036 1.335.144l-.145 3.14a6.77 6.77 0 00-1.551-.181c-3.247 0-4.798 2.633-4.798 5.483v8.983h-3.391v-17.1z\" />\n </g>\n </g>\n </svg>\n );\n};\n\ninterface EnturPartnerLogoProps {\n altText: string;\n as?: 'div' | React.ElementType;\n className?: string;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n as: Component = 'nav',\n className,\n altText,\n}) => {\n const classList = classnames(['eps-logo-wrapper', className]);\n\n return (\n <Component className={classList}>\n <EnturPartnerLogoSvg title={altText} className=\"logo\" />\n </Component>\n );\n};\n","import './Menu.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface MenuProps {\n children: ReactNode;\n as?: 'div' | React.ElementType;\n className?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n as: Component = 'nav',\n className,\n children,\n}) => {\n const classList = classnames(['eds-contrast', 'eps-menu', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import './Content.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface ContentProps {\n children: ReactNode;\n as?: 'main' | React.ElementType;\n className?: string;\n}\nexport const Content: FC<ContentProps> = ({\n as: Component = 'main',\n className,\n children,\n}) => {\n const classList = classnames(['eps-content', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import './UserMenu.scss';\n\nimport React, { FC, useState } from 'react';\nimport cx from 'classnames';\nimport {\n UserIcon,\n UploadIcon,\n DownArrowIcon,\n UKIcon,\n NorwayIcon,\n} from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n };\n onLogout: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n userName,\n language,\n}) => {\n const triggerClassList = cx(['eps-user-menu__trigger-button', className]);\n const [open, setOpen] = useState(false);\n\n return (\n <div id=\"eps-user-menu\">\n <CustomOverflowMenu\n open={open}\n onOpenChange={setOpen}\n className={triggerClassList}\n userName={userName}\n >\n <div id=\"eps-overflow-menu\">\n {language === 'en' ? (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('nb');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <NorwayIcon size=\"1rem\" inline />\n </span>\n {messages.switchLanguage}\n </CustomOverflowMenuItem>\n ) : (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('en');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <UKIcon size=\"1rem\" inline />\n </span>\n {messages.switchLanguage}\n </CustomOverflowMenuItem>\n )}\n <CustomOverflowMenuItem\n onClick={() => {\n onLogout();\n setOpen(false);\n }}\n data-testid=\"user-menu-logout\"\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <UploadIcon\n size=\"1rem\"\n inline\n style={{ transform: 'rotate(90deg)' }}\n />\n </span>\n {messages.logout}\n </CustomOverflowMenuItem>\n </div>\n </CustomOverflowMenu>\n </div>\n );\n};\n\nconst CustomOverflowMenu: React.FC<{\n className?: string;\n children: React.ReactNode;\n userName: string;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}> = ({ className, children, userName, open, onOpenChange, ...rest }) => {\n const overflowItemsClasses = cx('eps-overflow-menu__group', {\n 'eps-overflow-menu__group--open': open,\n });\n const overflowContentRef = React.useRef<HTMLDivElement>(null);\n const overflowMenuTriggerRef = React.useRef<HTMLButtonElement>(null);\n useOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n onOpenChange(false)\n );\n return (\n <div>\n <SecondaryButton\n className={cx('eps-overflow-menu__button', className)}\n onClick={() => onOpenChange(open ? false : true)}\n aria-haspopup={true}\n role=\"button\"\n aria-expanded={open}\n ref={overflowMenuTriggerRef}\n {...rest}\n >\n <div className=\"eps-overflow-menu__button-contents\">\n <span className=\"eds-overflow-menu__user-icon\">\n <UserIcon inline />\n </span>\n <Heading6 margin=\"none\" as=\"span\">\n {userName}\n </Heading6>\n <span className=\"eps-arrow-icon\">\n <DownArrowIcon inline />\n </span>\n </div>\n </SecondaryButton>\n {open && (\n <div\n className={overflowItemsClasses}\n role=\"menu\"\n ref={overflowContentRef}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nconst CustomOverflowMenuItem: React.FC<\n React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n> = (props) => {\n return (\n <button\n className={cx(props.className, 'eps-overflow-menu__item')}\n role=\"menuitem\"\n {...props}\n />\n );\n};\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n if (!element) {\n return false;\n }\n\n if (element.contains(event.target as Node)) {\n return true;\n }\n\n // For elements inside a Shadow DOM we need to check the composedPath\n if (event.composed && event.composedPath) {\n const contains = event.composedPath().find((target) => {\n if (target === window) {\n return false;\n }\n return element.contains(target as Node);\n });\n return contains ? true : false;\n }\n\n return false;\n}\n\nfunction useOutsideClick(\n ref: React.RefObject<HTMLDivElement>,\n buttonRef: React.RefObject<HTMLButtonElement>,\n handler: () => void\n) {\n React.useEffect(() => {\n const listener = (event: Event) => {\n if (\n elementContainsEventTarget(ref.current, event) ||\n elementContainsEventTarget(buttonRef.current, event)\n ) {\n return;\n }\n\n handler();\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, buttonRef, handler]);\n}\n","import React, { FC } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\ninterface Organisation {\n name: string;\n id: string;\n}\n\ninterface OrganisationDropDownProps {\n label: string;\n onChange: (id: string) => void;\n organisations: Organisation[];\n selectedOrganisationId?: string;\n [key: string]: any;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n label,\n organisations,\n onChange: handleChange,\n selectedOrganisationId,\n ...rest\n}) => {\n const selectedOrganisation = organisations.find(\n (org) => org.id === selectedOrganisationId\n );\n\n return (\n <Dropdown\n label={label}\n searchable={true}\n clearable={true}\n className=\"eds-contrast\"\n items={[\n ...organisations\n .sort((a, b) => a.name.localeCompare(b.name, 'nb'))\n .map((organisation) => {\n return {\n value: organisation.id,\n label: organisation.name,\n };\n }),\n ]}\n initialSelectedItem={\n selectedOrganisation\n ? {\n value: selectedOrganisation.id,\n label: selectedOrganisation.name,\n }\n : null\n }\n onChange={(selectedValue) => {\n if (selectedValue) {\n handleChange(selectedValue.value);\n }\n }}\n {...rest}\n />\n );\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from 'react';\n\ninterface TypedEventListener<T extends Event> {\n (evt: T): void;\n}\n\nexport function useEventListener<T extends Event = Event>(\n eventName: string,\n handler: TypedEventListener<T>,\n element: WindowEventHandlers = window\n) {\n const savedHandler = useRef<TypedEventListener<T>>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = ((event: T): void =>\n savedHandler.current?.(event)) as EventListener;\n\n element.addEventListener(eventName, eventListener);\n\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n","import './LanguageSelect.scss';\n\nimport React, { FC } from 'react';\nimport { SegmentedControl, SegmentedChoice } from '@entur/form';\nimport cx from 'classnames';\nimport { assertIsDefined } from '@entur-partner/util';\n\nexport type LanguageKey = 'nob' | 'nno' | 'eng';\n\nexport interface LanguageOption {\n value: LanguageKey;\n label: string;\n required: boolean;\n}\n\nexport interface LanguageSelectProps {\n language: string;\n options: LanguageOption[];\n className?: string;\n onChange: (language: string) => void;\n [key: string]: any;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n language,\n options,\n className,\n onChange,\n ...rest\n}) => {\n const classNames = cx('eps-language-select', className);\n return (\n <div {...rest} className={classNames}>\n <SegmentedControl\n onChange={(language) => {\n assertIsDefined(language);\n onChange(language);\n }}\n selectedValue={language}\n >\n {options.map((option) => (\n <SegmentedChoice key={option.value} value={option.value}>\n {option.label}\n {option.required && <span className=\"asterisk-margin\">{'*'}</span>}\n </SegmentedChoice>\n ))}\n </SegmentedControl>\n </div>\n );\n};\n","import React, { ChangeEvent } from 'react';\nimport { VariantType } from '@entur/form';\nimport { ExpandablePanel } from '@entur/expand';\n\nimport { LanguageKey, LanguageOption } from './LanguageSelect';\nimport { Stack } from './Stack';\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n title: string;\n inputComponent: React.ElementType;\n languages: LanguageOption[];\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n name: string;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n [key: string]: any;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n title,\n inputComponent: InputComponent,\n languages,\n values,\n onChange,\n name,\n variant,\n feedback,\n ...rest\n}: ExpandableMultiLanguageInputProps) => {\n const handleOnChange = (language: LanguageKey, value?: string) => {\n const changes = { ...values };\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map(({ value: langKey, label, required }) => (\n <InputComponent\n data-testid={`multi-lang-input-${name}-${langKey}`}\n key={title + langKey}\n label={required ? label + '*' : label}\n variant={variant && variant(langKey)}\n feedback={feedback && feedback(langKey)}\n name={name}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleOnChange(langKey, e.target.value);\n }}\n value={values[langKey] || ''}\n {...rest}\n />\n ))}\n </Stack>\n </ExpandablePanel>\n );\n};\n","import './MultiLanguageInput.scss';\n\nimport React, { FC, useState, ChangeEvent, FocusEvent } from 'react';\nimport cx from 'classnames';\nimport { VariantType } from '@entur/form';\n\nimport { Stack } from './Stack';\nimport { LanguageSelect, LanguageOption } from './LanguageSelect';\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n className?: string;\n onBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n inputComponent: React.ElementType;\n values: { [key: string]: string };\n languages: LanguageOption[];\n onChange: (values: Values) => void;\n name: string;\n alertLevel?: VariantType;\n alertLabel?: string;\n label?: string;\n defaultLanguage?: string;\n [key: string]: any;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n className,\n inputComponent: InputComponent,\n alertLabel,\n alertLevel,\n name,\n languages,\n values,\n onChange,\n defaultLanguage = 'nob',\n label = '',\n onBlur = () => {},\n ...rest\n}) => {\n const [language, setLanguage] = useState(defaultLanguage);\n const classNames = cx('multi-language-input', className);\n const currentValue = values[language];\n\n const handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n e.persist();\n const currentTarget = e.currentTarget;\n setTimeout(() => {\n if (currentTarget && !currentTarget.contains(document.activeElement)) {\n onBlur(e);\n }\n }, 0);\n };\n\n const handleLanguageChange = (language: string) => {\n setLanguage(language);\n };\n\n const handleOnChange = (value?: string) => {\n const changes = Object.assign({}, values);\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <div\n className={classNames}\n tabIndex={0}\n onBlur={handleOnBlur}\n data-testid={`multi-lang-input-${name}`}\n >\n <Stack space=\"extraSmall\">\n <LanguageSelect\n language={language}\n options={languages}\n onChange={(lang) => handleLanguageChange(lang)}\n />\n <InputComponent\n label={label}\n variant={alertLevel}\n feedback={alertLabel}\n name={name}\n className=\"language-item\"\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(e.target.value)\n }\n value={currentValue || ''}\n {...rest}\n />\n </Stack>\n </div>\n );\n};\n","import './Unbutton.scss';\n\nimport React, { FC } from 'react';\nimport { Button, ButtonProps } from '@entur/button';\nimport cx from 'classnames';\n\ninterface UnbuttonProps extends Omit<ButtonProps, 'variant'> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n children,\n className,\n ...rest\n}) => (\n <Button variant=\"primary\" {...rest} className={cx('eps-unbutton', className)}>\n {children}\n </Button>\n);\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","import { ReactNode, Component, ErrorInfo } from 'react';\n\nimport { isFunction } from './helpers';\n\ntype FallbackOptions = {\n retry: () => void;\n error: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n handleError?: (error: Error, errorInfo: ErrorInfo) => void;\n fallback: ReactNode | RenderProp;\n children: ReactNode;\n};\n\ntype State = {\n error: null | Error;\n};\n\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: Error): State {\n return {\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n // React always logs in development\n this.props.handleError?.(error, errorInfo);\n }\n\n render() {\n const { error } = this.state;\n const { fallback, children } = this.props;\n\n if (error) {\n if (isFunction<RenderProp>(fallback)) {\n return fallback({ retry: () => this.setState({ error: null }), error });\n }\n return fallback;\n }\n\n return children;\n }\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { useState, FC, ReactNode } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\ntype Status = 'BLOCKED' | 'ALLOW';\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n const history = useHistory();\n\n const [status, setStatus] = useState<Status>('ALLOW');\n const [lastLocation, setLastLocation] = useState(history.location);\n\n const closeModal = () => {\n setStatus('ALLOW');\n };\n\n const allowNavigation = (nextLocation: Location): boolean => {\n if (shouldBlockNavigation(nextLocation) && status === 'ALLOW') {\n setStatus('BLOCKED');\n setLastLocation(nextLocation);\n return false;\n }\n return true;\n };\n\n const handleConfirm = () => {\n history.push(lastLocation.pathname);\n };\n\n return (\n <>\n <Prompt message={allowNavigation} />\n <ConfirmModal\n onDismiss={closeModal}\n open={status === 'BLOCKED'}\n onConfirm={handleConfirm}\n {...rest}\n >\n {children}\n </ConfirmModal>\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\nimport React from 'react';\nimport {\n Route,\n Redirect,\n RouteComponentProps,\n RouteProps,\n} from 'react-router-dom';\n\nimport { PermissionCheck } from './PermissionCheck';\n\ninterface PermissionCheckedRouteProps\n extends RouteComponentProps,\n Omit<RouteProps, 'location'> {\n actualPermissions: BusinessCapability[];\n all?: BusinessCapability[];\n oneOf?: BusinessCapability[];\n onReject?: React.ReactNode;\n}\n\nexport const PermissionCheckedRoute = ({\n children,\n actualPermissions,\n all,\n oneOf,\n onReject,\n ...props\n}: PermissionCheckedRouteProps) => {\n const redirect = (\n <Redirect\n to={{\n pathname: '/unauthorized',\n state: { from: props.location },\n }}\n />\n );\n return (\n <PermissionCheck\n permissions={actualPermissions}\n all={all}\n oneOf={oneOf}\n fallback={onReject ? onReject : redirect}\n >\n <Route {...props}>{children}</Route>\n </PermissionCheck>\n );\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\n\nexport interface BreadcrumbsProps {\n pathname: string;\n onBreadcrumbLookup: (path: string) => string | undefined;\n prependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n prependBreadcrumbItem,\n pathname,\n onBreadcrumbLookup,\n}) => {\n const paths: string[] = pathname === '/' ? [] : ['/'];\n\n // support paths with and without trailing slash, except root\n const adjustedPathname =\n pathname.length > 1 ? pathname.replace(/\\/$/, '') : pathname;\n\n adjustedPathname.split('/').reduce((prev, curr) => {\n const path = `${prev}/${curr}`;\n paths.push(path);\n return path;\n });\n\n const breadcrumbs = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined);\n\n const breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n const isLast = i === breadcrumbs.length - 1;\n if (isLast) {\n return (\n <BreadcrumbItem key={path} as={'span'}>\n {title}\n </BreadcrumbItem>\n );\n }\n return (\n <BreadcrumbItem key={path} as={Link} to={path}>\n {title}\n </BreadcrumbItem>\n );\n });\n\n if (prependBreadcrumbItem) {\n return (\n <BreadcrumbNavigation>\n {[prependBreadcrumbItem, ...breadcrumbElements]}\n </BreadcrumbNavigation>\n );\n }\n\n return <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import React, { FC } from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport { Link as A } from '@entur/typography';\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n return (\n <A {...props} as={RouterLink}>\n {props.children}\n </A>\n );\n};\n","import './Text.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { StyleColor, responsiveProp, Box } from './Box';\n\ntype StyleFontSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4';\n\ntype StyleFontWeight = 'body' | 'heading';\n\ntype StyleLineHeight =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7';\n\nexport type ResponsiveStyleFontSize =\n | StyleFontSize\n | [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n | StyleLineHeight\n | [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n className?: string;\n as?: React.ElementType;\n children: ReactNode;\n\n fontSize?: ResponsiveStyleFontSize;\n lineHeight?: ResponsiveStyleLineHeight;\n color?: StyleColor;\n fontWeight?: StyleFontWeight;\n\n [key: string]: any;\n}\n\nexport const Text = ({\n as: component = 'span',\n children,\n fontSize,\n color,\n lineHeight,\n fontWeight,\n className,\n ...rest\n}: TextProps) => {\n const classes = [];\n\n fontSize && classes.push(...responsiveProp('eps-font-size-', fontSize));\n lineHeight && classes.push(...responsiveProp('eps-line-height-', lineHeight));\n fontWeight && classes.push('eps-font-weight-' + fontWeight);\n\n const classList = cx(classes, className);\n\n return (\n <Box as={component} color={color} className={classList} {...rest}>\n {children}\n </Box>\n );\n};\n"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","classList","cx","React","createElement","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","ActionBar","LinkButton","Link","featureFlag","flag","process","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","EnturPartnerLogoSvg","title","height","viewBox","fill","fillRule","d","EnturPartnerLogo","altText","classnames","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","userName","language","triggerClassList","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","NorwayIcon","size","inline","switchLanguage","UKIcon","UploadIcon","style","transform","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","UserIcon","Heading6","DownArrowIcon","props","elementContainsEventTarget","element","event","contains","target","composed","composedPath","find","buttonRef","handler","useEffect","listener","current","document","addEventListener","removeEventListener","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","org","Dropdown","searchable","clearable","items","sort","a","b","name","localeCompare","organisation","value","initialSelectedItem","selectedValue","useEventListener","eventName","savedHandler","isSupported","eventListener","LanguageSelect","options","classNames","SegmentedControl","assertIsDefined","option","SegmentedChoice","required","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","variant","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","e","MultiLanguageInput","alertLabel","alertLevel","defaultLanguage","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","ErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","errorInfo","handleError","render","fallback","retry","setState","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","isOpen","message","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","Paragraph","ButtonGroup","cancel","PrimaryButton","confirm","RouteLeavingGuard","shouldBlockNavigation","history","useHistory","status","setStatus","location","lastLocation","setLastLocation","closeModal","allowNavigation","nextLocation","handleConfirm","pathname","Prompt","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","permissions","oneOf","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","PermissionCheckedRoute","actualPermissions","onReject","redirect","Redirect","to","from","Route","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","adjustedPathname","replace","split","reduce","prev","curr","path","breadcrumbs","filter","undefined","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuHgB,SAAAA,cAAA,CAAeC,MAAf,EAA+BC,IAA/B,EAAmD;AACjE,EAAA,IAAIC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAJ,EAAyB;AACvB,IAAMG,IAAAA,OAAO,GAAG,EAAhB,CAAA;AACAH,IAAAA,IAAI,CAAC,CAAD,CAAJ,IAAWG,OAAO,CAACC,IAAR,CAAaL,MAAM,GAAGC,IAAI,CAAC,CAAD,CAA1B,CAAX,CAAA;AACAA,IAAAA,IAAI,CAAC,CAAD,CAAJ,IAAWG,OAAO,CAACC,IAAR,CAAA,EAAA,GAAgBL,MAAhB,GAAyBC,IAAI,CAAC,CAAD,CAA7B,GAAX,KAAA,CAAA,CAAA;AACAA,IAAAA,IAAI,CAAC,CAAD,CAAJ,IAAWG,OAAO,CAACC,IAAR,CAAA,EAAA,GAAgBL,MAAhB,GAAyBC,IAAI,CAAC,CAAD,CAA7B,GAAX,KAAA,CAAA,CAAA;AACA,IAAA,OAAOG,OAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,CAACJ,MAAM,GAAGC,IAAV,CAAP,CAAA;AACD,CAAA;AAEYK,IAAAA,GAAG,GAAG,SAANA,GAAM,CA6BJ,IAAA,EAAA;AAAA,EAAA,IAAA,OAAA,GAAA,IAAA,CA5BbC,EA4Ba;AAAA,MA5BTC,SA4BS,wBA5BG,KA4BH,GAAA,OAAA;AAAA,MA3BbC,QA2Ba,QA3BbA,QA2Ba;AAAA,MA1BbC,QA0Ba,QA1BbA,QA0Ba;AAAA,MAzBbC,UAyBa,QAzBbA,UAyBa;AAAA,MAxBbC,YAwBa,QAxBbA,YAwBa;AAAA,MAvBbC,aAuBa,QAvBbA,aAuBa;AAAA,MAtBbC,WAsBa,QAtBbA,WAsBa;AAAA,MArBbC,QAqBa,QArBbA,QAqBa;AAAA,MApBbC,QAoBa,QApBbA,QAoBa;AAAA,MAnBbC,OAmBa,QAnBbA,OAmBa;AAAA,MAlBbC,SAkBa,QAlBbA,SAkBa;AAAA,MAjBbC,WAiBa,QAjBbA,WAiBa;AAAA,MAhBbC,YAgBa,QAhBbA,YAgBa;AAAA,MAfbC,UAea,QAfbA,UAea;AAAA,MAdbC,OAca,QAdbA,OAca;AAAA,MAbbC,OAaa,QAbbA,OAaa;AAAA,MAZbC,MAYa,QAZbA,MAYa;AAAA,MAXbC,OAWa,QAXbA,OAWa;AAAA,MAVbC,cAUa,QAVbA,cAUa;AAAA,MATbC,UASa,QATbA,UASa;AAAA,MARbC,QAQa,QARbA,QAQa;AAAA,MAPbC,KAOa,QAPbA,KAOa;AAAA,MANbC,UAMa,QANbA,UAMa;AAAA,MALbC,KAKa,QALbA,KAKa;AAAA,MAJbC,aAIa,QAJbA,aAIa;AAAA,MAHbC,QAGa,QAHbA,QAGa;AAAA,MAFbC,SAEa,QAFbA,SAEa;AAAA,MADVC,IACU,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACb,EAAMhC,IAAAA,OAAO,GAAG,EAAhB,CAAA;AACA,EAAA,IAAMiC,kBAAkB,GAAG1B,UAAU,IAAIK,QAAd,IAA0BC,OAArD,CAAA;AACA,EAAA,IAAMqB,qBAAqB,GAAGzB,aAAa,IAAIG,QAAjB,IAA6BC,OAA3D,CAAA;AACA,EAAA,IAAMsB,mBAAmB,GAAGzB,WAAW,IAAIC,QAAf,IAA2BE,OAAvD,CAAA;AACA,EAAA,IAAMuB,oBAAoB,GAAG5B,YAAY,IAAIG,QAAhB,IAA4BE,OAAzD,CAAA;AAEA,EAAA,IAAMwB,iBAAiB,GAAGvB,SAAS,IAAIK,OAAb,IAAwBC,MAAlD,CAAA;AACA,EAAA,IAAMkB,oBAAoB,GAAGtB,YAAY,IAAIG,OAAhB,IAA2BC,MAAxD,CAAA;AACA,EAAA,IAAMmB,kBAAkB,GAAGtB,UAAU,IAAIC,OAAd,IAAyBE,MAApD,CAAA;AACA,EAAA,IAAMoB,mBAAmB,GAAGzB,WAAW,IAAIG,OAAf,IAA0BE,MAAtD,CAAA;AAEAd,EAAAA,QAAQ,IAAIN,OAAO,CAACC,IAAR,CAAa,cAAb,CAAZ,CAAA;AACAgC,EAAAA,kBAAkB,IAChBjC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAYsC,kBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,qBAAqB,IACnBlC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAYuC,qBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,mBAAmB,IACjBnC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAYwC,mBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,oBAAoB,IAClBpC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAYyC,oBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,iBAAiB,IACfrC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAY0C,iBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,oBAAoB,IAClBtC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAY2C,oBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,kBAAkB,IAChBvC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAY4C,kBAAZ,CAAvB,CADT,CAAA;AAEAC,EAAAA,mBAAmB,IACjBxC,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,SAAD,EAAY6C,mBAAZ,CAAvB,CADT,CAAA;AAGAnB,EAAAA,OAAO,IAAIrB,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,MAAD,EAAS0B,OAAT,CAAvB,CAAlB,CAAA;AACAC,EAAAA,cAAc,IACZtB,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,cAAD,EAAiB2B,cAAjB,CAAvB,CADT,CAAA;;AAEA,EAAA,IAAIC,UAAJ,EAAgB;AACdvB,IAAAA,OAAO,CAACC,IAAR,CAAA,KAAA,CAAAD,OAAO,EAASL,cAAc,CAAC,YAAD,EAAe4B,UAAf,CAAvB,CAAP,CAAA;AACD,GAAA;;AAEDC,EAAAA,QAAQ,IAAIxB,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,YAAD,EAAe6B,QAAf,CAAvB,CAAnB,CAAA;AACAC,EAAAA,KAAK,IAAIzB,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,QAAD,EAAW8B,KAAX,CAAvB,CAAhB,CAAA;AAEAE,EAAAA,KAAK,IAAI3B,OAAO,CAACC,IAAR,CAAA,YAAA,GAA0B0B,KAA1B,CAAT,CAAA;AACAD,EAAAA,UAAU,IAAI1B,OAAO,CAACC,IAAR,CAAA,SAAA,GAAuByB,UAAvB,CAAd,CAAA;AAEAE,EAAAA,aAAa,IAAI5B,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,WAAD,EAAciC,aAAd,CAAvB,CAAxB,CAAA;AACAC,EAAAA,QAAQ,IAAI7B,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,gBAAD,EAAmBkC,QAAnB,CAAvB,CAAnB,CAAA;AAEA,EAAA,IAAMY,SAAS,GAAGC,sBAAE,CAAC1C,OAAD,EAAU8B,SAAV,CAApB,CAAA;AAEA,EAAA,OACEa,yBAAA,CAAAC,aAAA,CAACxC,SAAD,EAAA,QAAA,CAAA;AAAW0B,IAAAA,SAAS,EAAEW,SAAAA;AAAtB,GAAqCV,EAAAA,IAArC,CACG1B,EAAAA,QADH,CADF,CAAA;AAKD;;AC1MYwC,IAAAA,KAAK,GAAG,SAARA,KAAQ,CAA+C,IAAA,EAAA;AAAA,EAA5CxC,IAAAA,QAA4C,QAA5CA,QAA4C;AAAA,MAAlCyC,KAAkC,QAAlCA,KAAkC;AAAA,MAA3BhB,SAA2B,QAA3BA,SAA2B,CAAA;AAClE,EAAA,IAAMiB,UAAU,GAAGC,cAAQ,CAACC,OAAT,CAAiB5C,QAAjB,CAAnB,CAAA;;AACA,EAAA,IAAI0C,UAAU,CAACG,MAAX,IAAqB,CAAzB,EAA4B;AAC1B,IAAOP,OAAAA,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAQ,QAAA,EAAA,IAAA,EAAGJ,UAAH,CAAP,CAAA;AACD,GAAA;;AAED,EAAA,OACEJ,yBAAK,CAAAC,aAAL,CAAK,KAAL,EAAK;AAAAd,IAAAA,SAAS,EAAEA,SAAAA;AAAX,GAAL,EACGiB,UAAU,CAACK,GAAX,CAAe,UAACC,KAAD,EAAQC,KAAR,EAAA;AAAA,IAAA,OACdA,KAAK,KAAKP,UAAU,CAACG,MAAX,GAAoB,CAA9B,GACEP,uCAAA,MAAA;AAAKY,MAAAA,GAAG,EAAED,KAAAA;KAAV,EAAkBD,KAAlB,CADF,GAGEV,yBAAA,CAAAC,aAAA,CAAC1C,GAAD,EAAI;AAACO,MAAAA,aAAa,EAAEqC,KAAhB;AAAuBS,MAAAA,GAAG,EAAED,KAAAA;AAA5B,KAAJ,EACGD,KADH,CAJY,CAAA;AAAA,GAAf,CADH,CADF,CAAA;AAaD;;ACtBD,IAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAAiC,IAAA,EAAA;AAAA,EAA9BnD,IAAAA,QAA8B,QAA9BA,QAA8B,CAAA;AACrD,EAAA,OAAOsC,uCAAA,MAAA;AAAKb,IAAAA,SAAS,EAAC,qBAAA;GAAf,EAAsCzB,QAAtC,CAAP,CAAA;AACD,EAFD;;AAIA,IAAMoD,cAAc,GAAG,SAAjBA,cAAiB,CAAiC,KAAA,EAAA;AAAA,EAA9BpD,IAAAA,QAA8B,SAA9BA,QAA8B,CAAA;AACtD,EAAA,OAAOsC,uCAAA,MAAA;AAAKb,IAAAA,SAAS,EAAC,sBAAA;GAAf,EAAuCzB,QAAvC,CAAP,CAAA;AACD,EAFD;;AAIA,IAAMqD,SAAS,GAAG,SAAZA,SAAY,CAAiC,KAAA,EAAA;AAAA,EAA9BrD,IAAAA,QAA8B,SAA9BA,QAA8B,CAAA;AACjD,EAAA,OACEsC,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAQ,QAAA,EAAA,IAAA,EACER,yBAAK,CAAAC,aAAL,CAAK,KAAL,EAAK;AAAAd,IAAAA,SAAS,EAAC,wBAAA;AAAV,GAAL,CADF,EAEEa,yBAAK,CAAAC,aAAL,CAAK,KAAL,EAAK;AAAAd,IAAAA,SAAS,EAAC,gBAAA;AAAV,GAAL,EAAiCzB,QAAjC,CAFF,CADF,CAAA;AAMD;;;ACVYsD,IAAAA,UAAU,GAAG,SAAbA,UAAa,CAAA,IAAA,EAAA;AAAA,EACxBtD,IAAAA,QADwB,QACxBA,QADwB;AAAA,MAExByB,SAFwB,QAExBA,SAFwB;AAAA,MAGrBC,IAHqB,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AAAA,EAAA,OAKxBW,yBAAC,CAAAC,aAAD,CAACgB,eAAD,eAAU7B,IAAV,EAAA;AAAgB5B,IAAAA,EAAE,EAAC,QAAnB;AAA4B2B,IAAAA,SAAS,EAAEY,sBAAE,CAAC,iBAAD,EAAoBZ,SAApB,CAAA;AAAzC,GAAA,CAAA,EACGzB,QADH,CALwB,CAAA;AAAA;;ACV1B;;;;;;AAMG;;AACG,SAAUwD,WAAV,CAAsBC,IAAtB,EAAkC;AAAA,EAAA,IAAA,oBAAA,EAAA,qBAAA,CAAA;;AACtC,EAAA,OACEC,OAAO,CAACC,GAAR,CAAA,YAAA,GAAyBF,IAAzB,CAAA,KAAqC,MAArC,IACA,CAAAG,CAAAA,oBAAAA,GAAAA,MAAM,CAACC,YAAP,KAAqBC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAAA,CAAAA,OAArB,CAA6BL,IAA7B,CAAuC,MAAA,MADvC,IAEA,CAAA,CAAA,qBAAA,GAAAG,MAAM,CAACC,YAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAqBC,OAArB,CAAA,YAAA,GAA0CL,IAA1C,CAAA,MAAsD,MAHxD,CAAA;AAKD,CAAA;AAED;;;;;;AAMG;;AACG,SAAUM,gBAAV,CAA2BN,IAA3B,EAAuC;AAC3C,EAAOD,OAAAA,WAAW,CAACC,IAAD,CAAlB,CAAA;AACD,CAAA;AAUYO,IAAAA,aAAa,GAAG,SAAhBA,aAAgB,CAA2C,IAAA,EAAA;AAAA,EAAxChE,IAAAA,QAAwC,QAAxCA,QAAwC;AAAA,MAA9ByD,IAA8B,QAA9BA,IAA8B,CAAA;AACtE,EAAA,IAAMQ,OAAO,GAAGF,gBAAgB,CAACN,IAAD,CAAhC,CAAA;;AACA,EAAA,IAAIQ,OAAJ,EAAa;AACX,IAAO3B,OAAAA,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAQ,QAAA,EAAA,IAAA,EAAG9C,QAAH,CAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD;;;AC/BYkE,IAAAA,mBAAmB,GAAkB,SAArCA,mBAAqC,CAAuB,IAAA,EAAA;AAAA,EAApBC,IAAAA,KAAoB,QAApBA,KAAoB;AAAA,MAAVzC,IAAU,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACvE,EAAA,OACEW,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AAAKnB,IAAAA,KAAK,EAAE,GAAZ;AAAiBgD,IAAAA,MAAM,EAAE,EAAzB;AAA6BC,IAAAA,OAAO,EAAC,YAAA;AAArC,GAAA,EAAsD3C,IAAtD,CACEY,EAAAA,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQ4B,KAAR,CADF,EAEE7B,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAG+B,IAAAA,IAAI,EAAC,MAAR;AAAeC,IAAAA,QAAQ,EAAC,SAAA;AAAxB,GAAA,EACEjC,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACE+B,IAAAA,IAAI,EAAC,MADP;AAEEE,IAAAA,CAAC,EAAC,8EAAA;AAFJ,GAAA,CADF,EAKElC,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAM+B,IAAAA,IAAI,EAAC,SAAX;AAAqBE,IAAAA,CAAC,EAAC,2BAAA;AAAvB,GAAA,CALF,EAMElC,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACE+B,IAAAA,IAAI,EAAC,MADP;AAEEE,IAAAA,CAAC,EAAC,4sCAAA;AAFJ,GAAA,CANF,EAUElC,yBAAG,CAAAC,aAAH,CAAG,GAAH,EAAG;AAAA+B,IAAAA,IAAI,EAAC,SAAA;AAAL,GAAH,EACEhC,yBAAM,CAAAC,aAAN,CAAM,MAAN,EAAM;AAAAiC,IAAAA,CAAC,EAAC,6rDAAA;AAAF,GAAN,CADF,CAVF,CAFF,CADF,CAAA;AAmBD,EApBM;AA4BMC,IAAAA,gBAAgB,GAA8B,SAA9CA,gBAA8C,CAItD,KAAA,EAAA;AAAA,EAAA,IAAA,QAAA,GAAA,KAAA,CAHH3E,EAGG;AAAA,MAHCC,SAGD,yBAHa,KAGb,GAAA,QAAA;AAAA,MAFH0B,SAEG,SAFHA,SAEG;AAAA,MADHiD,OACG,SADHA,OACG,CAAA;AACH,EAAMtC,IAAAA,SAAS,GAAGuC,sBAAU,CAAC,CAAC,kBAAD,EAAqBlD,SAArB,CAAD,CAA5B,CAAA;AAEA,EAAA,OACEa,yBAAC,CAAAC,aAAD,CAACxC,SAAD,EAAW;AAAA0B,IAAAA,SAAS,EAAEW,SAAAA;AAAX,GAAX,EACEE,yBAAA,CAAAC,aAAA,CAAC2B,mBAAD,EAAoB;AAACC,IAAAA,KAAK,EAAEO,OAAR;AAAiBjD,IAAAA,SAAS,EAAC,MAAA;AAA3B,GAApB,CADF,CADF,CAAA;AAKD;;ACzCYmD,IAAAA,IAAI,GAAkB,SAAtBA,IAAsB,CAI9B,IAAA,EAAA;AAAA,EAAA,IAAA,OAAA,GAAA,IAAA,CAHH9E,EAGG;AAAA,MAHCC,SAGD,wBAHa,KAGb,GAAA,OAAA;AAAA,MAFH0B,SAEG,QAFHA,SAEG;AAAA,MADHzB,QACG,QADHA,QACG,CAAA;AACH,EAAMoC,IAAAA,SAAS,GAAGuC,sBAAU,CAAC,CAAC,cAAD,EAAiB,UAAjB,EAA6BlD,SAA7B,CAAD,CAA5B,CAAA;AAEA,EAAA,OAAOa,yBAAA,CAAAC,aAAA,CAACxC,SAAD,EAAW;AAAA0B,IAAAA,SAAS,EAAEW,SAAAA;AAAX,GAAX,EAAkCpC,QAAlC,CAAP,CAAA;AACD;;ACRY6E,IAAAA,OAAO,GAAqB,SAA5BA,OAA4B,CAIpC,IAAA,EAAA;AAAA,EAAA,IAAA,OAAA,GAAA,IAAA,CAHH/E,EAGG;AAAA,MAHCC,SAGD,wBAHa,MAGb,GAAA,OAAA;AAAA,MAFH0B,SAEG,QAFHA,SAEG;AAAA,MADHzB,QACG,QADHA,QACG,CAAA;AACH,EAAMoC,IAAAA,SAAS,GAAGuC,sBAAU,CAAC,CAAC,aAAD,EAAgBlD,SAAhB,CAAD,CAA5B,CAAA;AAEA,EAAA,OAAOa,yBAAA,CAAAC,aAAA,CAACxC,SAAD,EAAW;AAAA0B,IAAAA,SAAS,EAAEW,SAAAA;AAAX,GAAX,EAAkCpC,QAAlC,CAAP,CAAA;AACD;;;ACQY8E,IAAAA,QAAQ,GAAsB,SAA9BA,QAA8B,CAOtC,IAAA,EAAA;AAAA,EANHrD,IAAAA,SAMG,QANHA,SAMG;AAAA,MALHsD,QAKG,QALHA,QAKG;AAAA,MAJHC,QAIG,QAJHA,QAIG;AAAA,MAHHC,gBAGG,QAHHA,gBAGG;AAAA,MAFHC,QAEG,QAFHA,QAEG;AAAA,MADHC,QACG,QADHA,QACG,CAAA;AACH,EAAMC,IAAAA,gBAAgB,GAAG/C,sBAAE,CAAC,CAAC,+BAAD,EAAkCZ,SAAlC,CAAD,CAA3B,CAAA;;AACA,EAAwB4D,IAAAA,SAAAA,GAAAA,cAAQ,CAAC,KAAD,CAAhC;AAAA,MAAOC,IAAP,GAAA,SAAA,CAAA,CAAA,CAAA;AAAA,MAAaC,OAAb,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,EAAA,OACEjD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKiD,IAAAA,EAAE,EAAC,eAAA;AAAR,GAAA,EACElD,yBAAA,CAAAC,aAAA,CAACkD,kBAAD,EACE;AAAAH,IAAAA,IAAI,EAAEA,IAAN;AACAI,IAAAA,YAAY,EAAEH,OADd;AAEA9D,IAAAA,SAAS,EAAE2D,gBAFX;AAGAF,IAAAA,QAAQ,EAAEA,QAAAA;AAHV,GADF,EAME5C,yBAAK,CAAAC,aAAL,CAAK,KAAL,EAAK;AAAAiD,IAAAA,EAAE,EAAC,mBAAA;AAAH,GAAL,EACGL,QAAQ,KAAK,IAAb,GACC7C,yBAAC,CAAAC,aAAD,CAACoD,sBAAD,EACE;AAAAC,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZX,MAAAA,gBAAgB,CAAC,IAAD,CAAhB,CAAA;AACAM,MAAAA,OAAO,CAAC,KAAD,CAAP,CAAA;AACD,KAHD;AAIA9D,IAAAA,SAAS,EAAC,yBAAA;AAJV,GADF,EAOEa,yBAAkB,CAAAC,aAAlB,CAAkB,MAAlB,EAAkB;AAAA,IAAA,aAAA,EAAA,IAAA;AAAAd,IAAAA,SAAS,EAAC,gCAAA;AAAV,GAAlB,EACEa,yBAAC,CAAAC,aAAD,CAACsD,gBAAD;AAAYC,IAAAA,IAAI,EAAC;AAAOC,IAAAA,MAAM;GAA9B,CADF,CAPF,EAUGhB,QAAQ,CAACiB,cAVZ,CADD,GAcC1D,yBAAA,CAAAC,aAAA,CAACoD,sBAAD,EAAuB;AACrBC,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZX,MAAAA,gBAAgB,CAAC,IAAD,CAAhB,CAAA;AACAM,MAAAA,OAAO,CAAC,KAAD,CAAP,CAAA;AACD,KAJoB;AAKrB9D,IAAAA,SAAS,EAAC,yBAAA;AALW,GAAvB,EAOEa,yBAAkB,CAAAC,aAAlB,CAAkB,MAAlB,EAAkB;AAAA,IAAA,aAAA,EAAA,IAAA;AAAAd,IAAAA,SAAS,EAAC,gCAAA;AAAV,GAAlB,EACEa,yBAAC,CAAAC,aAAD,CAAC0D,YAAD;AAAQH,IAAAA,IAAI,EAAC;AAAOC,IAAAA,MAAM;GAA1B,CADF,CAPF,EAUGhB,QAAQ,CAACiB,cAVZ,CAfJ,EA4BE1D,yBAAA,CAAAC,aAAA,CAACoD,sBAAD,EAAuB;AACrBC,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZZ,MAAAA,QAAQ,EAAA,CAAA;AACRO,MAAAA,OAAO,CAAC,KAAD,CAAP,CAAA;AACD,KAJoB;AAKT,IAAA,aAAA,EAAA,kBALS;AAMrB9D,IAAAA,SAAS,EAAC,yBAAA;AANW,GAAvB,EAQEa,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACED,yBAAA,CAAAC,aAAA,CAAC2D,gBAAD,EACE;AAAAJ,IAAAA,IAAI,EAAC,MAAL;AACAC,IAAAA,MAAM,EAAA,IADN;AAEAI,IAAAA,KAAK,EAAE;AAAEC,MAAAA,SAAS,EAAE,eAAA;AAAb,KAAA;AAFP,GADF,CADF,CARF,EAeGrB,QAAQ,CAACsB,MAfZ,CA5BF,CANF,CADF,CADF,CAAA;AAyDD,EApEM;;AAsEP,IAAMZ,kBAAkB,GAMnB,SANCA,kBAMD,CAAmE,KAAA,EAAA;AAAA,EAAhEhE,IAAAA,SAAgE,SAAhEA,SAAgE;AAAA,MAArDzB,QAAqD,SAArDA,QAAqD;AAAA,MAA3CkF,QAA2C,SAA3CA,QAA2C;AAAA,MAAjCI,IAAiC,SAAjCA,IAAiC;AAAA,MAA3BI,YAA2B,SAA3BA,YAA2B;AAAA,MAAVhE,IAAU,GAAA,6BAAA,CAAA,KAAA,EAAAC,WAAA,CAAA,CAAA;;AACtE,EAAA,IAAM2E,oBAAoB,GAAGjE,sBAAE,CAAC,0BAAD,EAA6B;AAC1D,IAAkCiD,gCAAAA,EAAAA,IAAAA;AADwB,GAA7B,CAA/B,CAAA;AAGA,EAAA,IAAMiB,kBAAkB,GAAGjE,yBAAK,CAACkE,MAAN,CAA6B,IAA7B,CAA3B,CAAA;AACA,EAAA,IAAMC,sBAAsB,GAAGnE,yBAAK,CAACkE,MAAN,CAAgC,IAAhC,CAA/B,CAAA;AACAE,EAAAA,eAAe,CAACH,kBAAD,EAAqBE,sBAArB,EAA6C,YAAA;AAAA,IAC1Df,OAAAA,YAAY,CAAC,KAAD,CAD8C,CAAA;AAAA,GAA7C,CAAf,CAAA;AAGA,EAAA,OACEpD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EACED,yBAAA,CAAAC,aAAA,CAACoE,sBAAD,EAAA,QAAA,CAAA;AACElF,IAAAA,SAAS,EAAEY,sBAAE,CAAC,2BAAD,EAA8BZ,SAA9B,CADf;AAEEmE,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,OAAMF,YAAY,CAACJ,IAAI,GAAG,KAAH,GAAW,IAAhB,CAAlB,CAAA;AAAA,KAFX;qBAGiB,IAHjB;AAIEsB,IAAAA,IAAI,EAAC,QAJP;qBAKiBtB,IALjB;AAMEuB,IAAAA,GAAG,EAAEJ,sBAAAA;AANP,GAAA,EAOM/E,IAPN,CASEY,EAAAA,yBAAK,CAAAC,aAAL,CAAK,KAAL,EAAK;AAAAd,IAAAA,SAAS,EAAC,oCAAA;AAAV,GAAL,EACEa,yBAAM,CAAAC,aAAN,CAAM,MAAN,EAAM;AAAAd,IAAAA,SAAS,EAAC,8BAAA;AAAV,GAAN,EACEa,yBAAA,CAAAC,aAAA,CAACuE,cAAD,EAAS;AAACf,IAAAA,MAAM,EAAA,IAAA;AAAP,GAAT,CADF,CADF,EAIEzD,yBAAC,CAAAC,aAAD,CAACwE,mBAAD,EAAU;AAAAhG,IAAAA,MAAM,EAAC,MAAP;AAAcjB,IAAAA,EAAE,EAAC,MAAA;AAAjB,GAAV,EACGoF,QADH,CAJF,EAOE5C,yBAAM,CAAAC,aAAN,CAAM,MAAN,EAAM;AAAAd,IAAAA,SAAS,EAAC,gBAAA;AAAV,GAAN,EACEa,yBAAA,CAAAC,aAAA,CAACyE,mBAAD,EAAe;AAAAjB,IAAAA,MAAM,EAAG,IAAA;AAAT,GAAf,CADF,CAPF,CATF,CADF,EAsBGT,IAAI,IACHhD,yBACE,CAAAC,aADF,CACE,KADF,EACE;AAAAd,IAAAA,SAAS,EAAE6E,oBAAX;AACAM,IAAAA,IAAI,EAAC,MADL;AAEAC,IAAAA,GAAG,EAAEN,kBAAAA;AAFL,GADF,EAKGvG,QALH,CAvBJ,CADF,CAAA;AAkCD,CAjDD,CAAA;;AAmDA,IAAM2F,sBAAsB,GAKxB,SALEA,sBAKF,CAACsB,KAAD,EAAU;AACZ,EAAA,OACE3E,uCAAA,SAAA,EAAA,QAAA,CAAA;AACEb,IAAAA,SAAS,EAAEY,sBAAE,CAAC4E,KAAK,CAACxF,SAAP,EAAkB,yBAAlB,CADf;AAEEmF,IAAAA,IAAI,EAAC,UAAA;AAFP,GAAA,EAGMK,KAHN,CADF,CAAA,CAAA;AAOD,CAbD,CAAA;;AAeA,SAASC,0BAAT,CAAoCC,OAApC,EAAiEC,KAAjE,EAA6E;AAC3E,EAAI,IAAA,CAACD,OAAL,EAAc;AACZ,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAIA,IAAAA,OAAO,CAACE,QAAR,CAAiBD,KAAK,CAACE,MAAvB,CAAJ,EAA4C;AAC1C,IAAA,OAAO,IAAP,CAAA;AACD,GAP0E;;;AAU3E,EAAA,IAAIF,KAAK,CAACG,QAAN,IAAkBH,KAAK,CAACI,YAA5B,EAA0C;AACxC,IAAMH,IAAAA,QAAQ,GAAGD,KAAK,CAACI,YAAN,GAAqBC,IAArB,CAA0B,UAACH,MAAD,EAAW;AACpD,MAAIA,IAAAA,MAAM,KAAK1D,MAAf,EAAuB;AACrB,QAAA,OAAO,KAAP,CAAA;AACD,OAAA;;AACD,MAAA,OAAOuD,OAAO,CAACE,QAAR,CAAiBC,MAAjB,CAAP,CAAA;AACD,KALgB,CAAjB,CAAA;AAMA,IAAA,OAAOD,QAAQ,GAAG,IAAH,GAAU,KAAzB,CAAA;AACD,GAAA;;AAED,EAAA,OAAO,KAAP,CAAA;AACD,CAAA;;AAED,SAASX,eAAT,CACEG,GADF,EAEEa,SAFF,EAGEC,OAHF,EAGqB;AAEnBrF,EAAAA,yBAAK,CAACsF,SAAN,CAAgB,YAAK;AACnB,IAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACT,KAAD,EAAiB;AAChC,MAAA,IACEF,0BAA0B,CAACL,GAAG,CAACiB,OAAL,EAAcV,KAAd,CAA1B,IACAF,0BAA0B,CAACQ,SAAS,CAACI,OAAX,EAAoBV,KAApB,CAF5B,EAGE;AACA,QAAA,OAAA;AACD,OAAA;;AAEDO,MAAAA,OAAO,EAAA,CAAA;AACR,KATD,CAAA;;AAWAI,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCH,QAAvC,CAAA,CAAA;AACAE,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCH,QAAxC,CAAA,CAAA;AAEA,IAAA,OAAO,YAAK;AACVE,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,WAA7B,EAA0CJ,QAA1C,CAAA,CAAA;AACAE,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CJ,QAA3C,CAAA,CAAA;AACD,KAHD,CAAA;AAID,GAnBD,EAmBG,CAAChB,GAAD,EAAMa,SAAN,EAAiBC,OAAjB,CAnBH,CAAA,CAAA;AAoBD;;;AClMYO,IAAAA,oBAAoB,GAAkC,SAAtDA,oBAAsD,CAM9D,IAAA,EAAA;AAAA,EALHC,IAAAA,KAKG,QALHA,KAKG;AAAA,MAJHC,aAIG,QAJHA,aAIG;AAAA,MAHOC,YAGP,QAHHC,QAGG;AAAA,MAFHC,sBAEG,QAFHA,sBAEG;AAAA,MADA7G,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAA,IAAM6G,oBAAoB,GAAGJ,aAAa,CAACX,IAAd,CAC3B,UAACgB,GAAD,EAAA;AAAA,IAAA,OAASA,GAAG,CAACjD,EAAJ,KAAW+C,sBAApB,CAAA;AAAA,GAD2B,CAA7B,CAAA;AAIA,EAAA,OACEjG,uCAAA,CAACoG,iBAAD,EAAA,QAAA,CAAA;AACEP,IAAAA,KAAK,EAAEA,KADT;AAEEQ,IAAAA,UAAU,EAAE,IAFd;AAGEC,IAAAA,SAAS,EAAE,IAHb;AAIEnH,IAAAA,SAAS,EAAC,cAJZ;AAKEoH,IAAAA,KAAK,YACAT,aAAa,CACbU,IADA,CACK,UAACC,CAAD,EAAIC,CAAJ,EAAA;AAAA,MAAUD,OAAAA,CAAC,CAACE,IAAF,CAAOC,aAAP,CAAqBF,CAAC,CAACC,IAAvB,EAA6B,IAA7B,CAAV,CAAA;AAAA,KADL,CAEAlG,CAAAA,GAFA,CAEI,UAACoG,YAAD,EAAiB;AACpB,MAAO,OAAA;AACLC,QAAAA,KAAK,EAAED,YAAY,CAAC3D,EADf;AAEL2C,QAAAA,KAAK,EAAEgB,YAAY,CAACF,IAAAA;AAFf,OAAP,CAAA;AAID,KAPA,CADA,CALP;AAeEI,IAAAA,mBAAmB,EACjBb,oBAAoB,GAChB;AACEY,MAAAA,KAAK,EAAEZ,oBAAoB,CAAChD,EAD9B;AAEE2C,MAAAA,KAAK,EAAEK,oBAAoB,CAACS,IAAAA;AAF9B,KADgB,GAKhB,IArBR;AAuBEX,IAAAA,QAAQ,EAAE,SAACgB,QAAAA,CAAAA,aAAD,EAAkB;AAC1B,MAAA,IAAIA,aAAJ,EAAmB;AACjBjB,QAAAA,YAAY,CAACiB,aAAa,CAACF,KAAf,CAAZ,CAAA;AACD,OAAA;AACF,KAAA;AA3BH,GAAA,EA4BM1H,IA5BN,CADF,CAAA,CAAA;AAgCD;;AC3DD;AAOM,SAAU6H,gBAAV,CACJC,SADI,EAEJ7B,OAFI,EAGJR,OAHI,EAGiC;AAAA,EAAA,IAArCA,OAAqC,KAAA,KAAA,CAAA,EAAA;AAArCA,IAAAA,OAAqC,GAANvD,MAAM,CAAA;AAAA,GAAA;;AAErC,EAAM6F,IAAAA,YAAY,GAAGjD,YAAM,EAA3B,CAAA;AAEAoB,EAAAA,eAAS,CAAC,YAAK;AACb6B,IAAAA,YAAY,CAAC3B,OAAb,GAAuBH,OAAvB,CAAA;AACD,GAFQ,EAEN,CAACA,OAAD,CAFM,CAAT,CAAA;AAIAC,EAAAA,eAAS,CAAC,YAAK;AACb,IAAA,IAAM8B,WAAW,GAAGvC,OAAO,IAAIA,OAAO,CAACa,gBAAvC,CAAA;AACA,IAAI,IAAA,CAAC0B,WAAL,EAAkB,OAAA;;AAElB,IAAA,IAAMC,aAAa,GAAI,SAAjBA,aAAiB,CAACvC,KAAD,EAAA;AAAA,MACrBqC,OAAAA,YAAY,CAAC3B,OADQ,IAAA,IAAA,GAAA,KAAA,CAAA,GACrB2B,YAAY,CAAC3B,OAAb,CAAuBV,KAAvB,CADqB,CAAA;AAAA,KAAvB,CAAA;;AAGAD,IAAAA,OAAO,CAACa,gBAAR,CAAyBwB,SAAzB,EAAoCG,aAApC,CAAA,CAAA;AAEA,IAAA,OAAO,YAAK;AACVxC,MAAAA,OAAO,CAACc,mBAAR,CAA4BuB,SAA5B,EAAuCG,aAAvC,CAAA,CAAA;AACD,KAFD,CAAA;AAGD,GAZQ,EAYN,CAACH,SAAD,EAAYrC,OAAZ,CAZM,CAAT,CAAA;AAaD;;;ACRYyC,IAAAA,cAAc,GAA4B,SAA1CA,cAA0C,CAMlD,IAAA,EAAA;AAAA,EALHzE,IAAAA,QAKG,QALHA,QAKG;AAAA,MAJH0E,OAIG,QAJHA,OAIG;AAAA,MAHHpI,SAGG,QAHHA,SAGG;AAAA,MAFH6G,SAEG,QAFHA,QAEG;AAAA,MADA5G,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAA,IAAMmI,UAAU,GAAGzH,sBAAE,CAAC,qBAAD,EAAwBZ,SAAxB,CAArB,CAAA;AACA,EAAA,OACEa,yBAAS,CAAAC,aAAT,CAAS,KAAT,eAASb,IAAT,EAAA;AAAeD,IAAAA,SAAS,EAAEqI,UAAAA;AAA1B,GAAA,CAAA,EACExH,yBAAA,CAAAC,aAAA,CAACwH,qBAAD,EACE;AAAAzB,IAAAA,QAAQ,EAAE,SAACnD,QAAAA,CAAAA,QAAD,EAAa;AACrB6E,MAAAA,oBAAe,CAAC7E,QAAD,CAAf,CAAA;;AACAmD,MAAAA,SAAQ,CAACnD,QAAD,CAAR,CAAA;AACD,KAHD;AAIAmE,IAAAA,aAAa,EAAEnE,QAAAA;AAJf,GADF,EAOG0E,OAAO,CAAC9G,GAAR,CAAY,UAACkH,MAAD,EAAA;AAAA,IAAA,OACX3H,yBAAA,CAAAC,aAAA,CAAC2H,oBAAD,EAAgB;AAAChH,MAAAA,GAAG,EAAE+G,MAAM,CAACb,KAAb;AAAoBA,MAAAA,KAAK,EAAEa,MAAM,CAACb,KAAAA;AAAlC,KAAhB,EACGa,MAAM,CAAC9B,KADV,EAEG8B,MAAM,CAACE,QAAP,IAAmB7H,yBAAM,CAAAC,aAAN,CAAM,MAAN,EAAM;AAAAd,MAAAA,SAAS,EAAC,iBAAA;AAAV,KAAN,EAAmC,GAAnC,CAFtB,CADW,CAAA;AAAA,GAAZ,CAPH,CADF,CADF,CAAA;AAkBD;;;AC5BY2I,IAAAA,4BAA4B,GAAG,SAA/BA,4BAA+B,CAUJ,IAAA,EAAA;AAAA,EATtCjG,IAAAA,KASsC,QATtCA,KASsC;AAAA,MARtBkG,cAQsB,QARtCC,cAQsC;AAAA,MAPtCC,SAOsC,QAPtCA,SAOsC;AAAA,MANtCC,MAMsC,QANtCA,MAMsC;AAAA,MALtClC,QAKsC,QALtCA,QAKsC;AAAA,MAJtCW,IAIsC,QAJtCA,IAIsC;AAAA,MAHtCwB,OAGsC,QAHtCA,OAGsC;AAAA,MAFtCC,QAEsC,QAFtCA,QAEsC;AAAA,MADnChJ,IACmC,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACtC,EAAMgJ,IAAAA,cAAc,GAAG,SAAjBA,cAAiB,CAACxF,QAAD,EAAwBiE,KAAxB,EAA0C;AAC/D,IAAMwB,IAAAA,OAAO,GAAQJ,QAAAA,CAAAA,EAAAA,EAAAA,MAAR,CAAb,CAAA;;AACA,IAAA,IAAIpB,KAAK,KAAK,EAAV,IAAgB,CAACA,KAArB,EAA4B;AAC1B,MAAOwB,OAAAA,OAAO,CAACzF,QAAD,CAAd,CAAA;AACD,KAFD,MAEO;AACLyF,MAAAA,OAAO,CAACzF,QAAD,CAAP,GAAoBiE,KAApB,CAAA;AACD,KAAA;;AACDd,IAAAA,QAAQ,CAACsC,OAAD,CAAR,CAAA;AACD,GARD,CAAA;;AAUA,EAAA,OACEtI,yBAAC,CAAAC,aAAD,CAACsI,sBAAD,EACE;AAAA1G,IAAAA,KAAK,EAAEA,KAAP;AACA2G,IAAAA,WAAW,EACX,IAFA;AAEAC,IAAAA,YAAY,EAAE;AACZvK,MAAAA,OAAO,EAAE,iBADG;AAEZC,MAAAA,SAAS,EAAE,MAFC;AAGZE,MAAAA,YAAY,EAAE,MAAA;AAHF,KAAA;AAFd,GADF,EASE2B,yBAAA,CAAAC,aAAA,CAACC,KAAD,EAAO;AAAAC,IAAAA,KAAK,EAAC,QAAA;AAAN,GAAP,EACG8H,SAAS,CAACxH,GAAV,CAAc,UAAA,KAAA,EAAA;AAAA,IAAUiI,IAAAA,OAAV,SAAG5B,KAAH;AAAA,QAAmBjB,KAAnB,SAAmBA,KAAnB;AAAA,QAA0BgC,QAA1B,SAA0BA,QAA1B,CAAA;AAAA,IAAA,OACb7H,yBAAC,CAAAC,aAAD,CAAC8H,cAAD,EAAA,QAAA,CAAA;MACmCpB,aAAAA,EAAAA,mBAAAA,GAAAA,aAAQ+B,OAD3C;AAEE9H,MAAAA,GAAG,EAAEiB,KAAK,GAAG6G,OAFf;AAGE7C,MAAAA,KAAK,EAAEgC,QAAQ,GAAGhC,KAAK,GAAG,GAAX,GAAiBA,KAHlC;AAIEsC,MAAAA,OAAO,EAAEA,OAAO,IAAIA,OAAO,CAACO,OAAD,CAJ7B;AAKEN,MAAAA,QAAQ,EAAEA,QAAQ,IAAIA,QAAQ,CAACM,OAAD,CALhC;AAME/B,MAAAA,IAAI,EAAEA,IANR;AAOEX,MAAAA,QAAQ,EAAE,SAAC2C,QAAAA,CAAAA,CAAD,EAAqC;AAC7CN,QAAAA,cAAc,CAACK,OAAD,EAAUC,CAAC,CAAC3D,MAAF,CAAS8B,KAAnB,CAAd,CAAA;AACD,OATH;AAUEA,MAAAA,KAAK,EAAEoB,MAAM,CAACQ,OAAD,CAAN,IAAmB,EAAA;AAV5B,KAAA,EAWMtJ,IAXN,CADa,CAAA,CAAA;AAAA,GAAd,CADH,CATF,CADF,CAAA;AA6BD;;;AC9CD;;AAEG;;AACUwJ,IAAAA,kBAAkB,GAAgC,SAAlDA,kBAAkD,CAa1D,IAAA,EAAA;AAAA,EAZHzJ,IAAAA,SAYG,QAZHA,SAYG;AAAA,MAXa4I,cAWb,QAXHC,cAWG;AAAA,MAVHa,UAUG,QAVHA,UAUG;AAAA,MATHC,UASG,QATHA,UASG;AAAA,MARHnC,IAQG,QARHA,IAQG;AAAA,MAPHsB,SAOG,QAPHA,SAOG;AAAA,MANHC,MAMG,QANHA,MAMG;AAAA,MALHlC,QAKG,QALHA,QAKG;AAAA,MAAA,oBAAA,GAAA,IAAA,CAJH+C,eAIG;AAAA,MAJHA,eAIG,qCAJe,KAIf,GAAA,oBAAA;AAAA,MAAA,UAAA,GAAA,IAAA,CAHHlD,KAGG;AAAA,MAHHA,KAGG,2BAHK,EAGL,GAAA,UAAA;AAAA,MAAA,WAAA,GAAA,IAAA,CAFHmD,MAEG;AAAA,MAFHA,MAEG,GAAA,WAAA,KAAA,KAAA,CAAA,GAFM,cAEN,GAAA,WAAA;AAAA,MADA5J,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAgC0D,IAAAA,SAAAA,GAAAA,cAAQ,CAACgG,eAAD,CAAxC;AAAA,MAAOlG,QAAP,GAAA,SAAA,CAAA,CAAA,CAAA;AAAA,MAAiBoG,WAAjB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;;AACA,EAAA,IAAMzB,UAAU,GAAGzH,sBAAE,CAAC,sBAAD,EAAyBZ,SAAzB,CAArB,CAAA;AACA,EAAA,IAAM+J,YAAY,GAAGhB,MAAM,CAACrF,QAAD,CAA3B,CAAA;;AAEA,EAAA,IAAMsG,YAAY,GAAG,SAAfA,YAAe,CAACR,CAAD,EAAkC;AACrDA,IAAAA,CAAC,CAACS,OAAF,EAAA,CAAA;AACA,IAAA,IAAMC,aAAa,GAAGV,CAAC,CAACU,aAAxB,CAAA;AACAC,IAAAA,UAAU,CAAC,YAAK;AACd,MAAID,IAAAA,aAAa,IAAI,CAACA,aAAa,CAACtE,QAAd,CAAuBU,QAAQ,CAAC8D,aAAhC,CAAtB,EAAsE;AACpEP,QAAAA,MAAM,CAACL,CAAD,CAAN,CAAA;AACD,OAAA;AACF,KAJS,EAIP,CAJO,CAAV,CAAA;AAKD,GARD,CAAA;;AAUA,EAAA,IAAMa,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAC3G,QAAD,EAAqB;AAChDoG,IAAAA,WAAW,CAACpG,QAAD,CAAX,CAAA;AACD,GAFD,CAAA;;AAIA,EAAA,IAAMwF,cAAc,GAAG,SAAjBA,cAAiB,CAACvB,KAAD,EAAmB;AACxC,IAAMwB,IAAAA,OAAO,GAAGmB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBxB,MAAlB,CAAhB,CAAA;;AACA,IAAA,IAAIpB,KAAK,KAAK,EAAV,IAAgB,CAACA,KAArB,EAA4B;AAC1B,MAAOwB,OAAAA,OAAO,CAACzF,QAAD,CAAd,CAAA;AACD,KAFD,MAEO;AACLyF,MAAAA,OAAO,CAACzF,QAAD,CAAP,GAAoBiE,KAApB,CAAA;AACD,KAAA;;AACDd,IAAAA,QAAQ,CAACsC,OAAD,CAAR,CAAA;AACD,GARD,CAAA;;AAUA,EAAA,OACEtI,yBACE,CAAAC,aADF,CACE,KADF,EACE;AAAAd,IAAAA,SAAS,EAAEqI,UAAX;AACAmC,IAAAA,QAAQ,EAAE,CADV;AAEAX,IAAAA,MAAM,EAAEG,YAFR;AAGa,IAAoBxC,aAAAA,EAAAA,mBAAAA,GAAAA,IAAAA;AAHjC,GADF,EAME3G,yBAAA,CAAAC,aAAA,CAACC,KAAD,EAAM;AAACC,IAAAA,KAAK,EAAC,YAAA;AAAP,GAAN,EACEH,yBAAC,CAAAC,aAAD,CAACqH,cAAD;AACEzE,IAAAA,QAAQ,EAAEA;AACV0E,IAAAA,OAAO,EAAEU;AACTjC,IAAAA,QAAQ,EAAE,SAAA,QAAA,CAAC4D,IAAD,EAAA;AAAA,MAAUJ,OAAAA,oBAAoB,CAACI,IAAD,CAA9B,CAAA;AAAA,KAAA;GAHZ,CADF,EAME5J,yBAAC,CAAAC,aAAD,CAAC8H,cAAD,EAAA,QAAA,CAAA;AACElC,IAAAA,KAAK,EAAEA,KADT;AAEEsC,IAAAA,OAAO,EAAEW,UAFX;AAGEV,IAAAA,QAAQ,EAAES,UAHZ;AAIElC,IAAAA,IAAI,EAAEA,IAJR;AAKExH,IAAAA,SAAS,EAAC,eALZ;AAME6G,IAAAA,QAAQ,EAAE,SAAA,QAAA,CAAC2C,CAAD,EAAA;AAAA,MAAA,OACRN,cAAc,CAACM,CAAC,CAAC3D,MAAF,CAAS8B,KAAV,CADN,CAAA;AAAA,KANZ;AASEA,IAAAA,KAAK,EAAEoC,YAAY,IAAI,EAAA;AATzB,GAUM9J,EAAAA,IAVN,CANF,CAAA,CANF,CADF,CAAA;AA4BD;;;AC1FYyK,IAAAA,QAAQ,GAAsB,SAA9BA,QAA8B,CAAA,IAAA,EAAA;AAAA,EACzCnM,IAAAA,QADyC,QACzCA,QADyC;AAAA,MAEzCyB,SAFyC,QAEzCA,SAFyC;AAAA,MAGtCC,IAHsC,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AAAA,EAAA,OAKzCW,yBAAC,CAAAC,aAAD,CAAC6J,aAAD,EAAA,QAAA,CAAA;AAAQ3B,IAAAA,OAAO,EAAC,SAAA;AAAhB,GAAA,EAA8B/I,IAA9B,EAAA;AAAoCD,IAAAA,SAAS,EAAEY,sBAAE,CAAC,cAAD,EAAiBZ,SAAjB,CAAA;AAAjD,GAAA,CAAA,EACGzB,QADH,CALyC,CAAA;AAAA;;ACRrC,SAAUqM,UAAV,CAAwBC,eAAxB,EAA4C;AAChD,EACEA,OAAAA,eAAe,IAAI,EAAGC,CAAAA,QAAH,CAAYC,IAAZ,CAAiBF,eAAjB,CAAA,KAAsC,mBAD3D,CAAA;AAGD;;ACiBD,IAAaG,aAAb,gBAAA,UAAA,UAAA,EAAA;AAAA,EAAA,cAAA,CAAA,aAAA,EAAA,UAAA,CAAA,CAAA;;AACE,EAAA,SAAA,aAAA,CAAYxF,KAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;;AACtB,IAAA,KAAA,GAAA,UAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,KAAN,CAAA,IAAA,IAAA,CAAA;AACA,IAAA,KAAA,CAAKyF,KAAL,GAAa;AAAEC,MAAAA,KAAK,EAAE,IAAA;AAAT,KAAb,CAAA;AAFsB,IAAA,OAAA,KAAA,CAAA;AAGvB,GAAA;;AAJH,EAAA,aAAA,CAMSC,wBANT,GAME,SAAgCD,wBAAAA,CAAAA,KAAhC,EAA4C;AAC1C,IAAO,OAAA;AACLA,MAAAA,KAAK,EAALA,KAAAA;AADK,KAAP,CAAA;AAGD,GAVH,CAAA;;AAAA,EAAA,IAAA,MAAA,GAAA,aAAA,CAAA,SAAA,CAAA;;AAAA,EAAA,MAAA,CAYEE,iBAZF,GAYE,SAAA,iBAAA,CAAkBF,KAAlB,EAAgCG,SAAhC,EAAoD;AAAA,IAAA,IAAA,qBAAA,EAAA,WAAA,CAAA;;AAClD;AACA,IAAA,CAAA,qBAAA,GAAA,CAAA,WAAA,GAAA,IAAA,CAAK7F,KAAL,EAAW8F,WAAX,KAAyBJ,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAAA,CAAAA,IAAAA,CAAAA,WAAAA,EAAAA,KAAzB,EAAgCG,SAAhC,CAAA,CAAA;AACD,GAfH,CAAA;;AAAA,EAiBEE,MAAAA,CAAAA,MAjBF,GAiBE,SAAM,MAAA,GAAA;AAAA,IAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;AACJ,IAAA,IAAQL,KAAR,GAAkB,IAAKD,CAAAA,KAAvB,CAAQC,KAAR,CAAA;AACA,IAAA,IAAA,YAAA,GAA+B,KAAK1F,KAApC;AAAA,QAAQgG,QAAR,gBAAQA,QAAR;AAAA,QAAkBjN,QAAlB,gBAAkBA,QAAlB,CAAA;;AAEA,IAAA,IAAI2M,KAAJ,EAAW;AACT,MAAA,IAAIN,UAAU,CAAaY,QAAb,CAAd,EAAsC;AACpC,QAAA,OAAOA,QAAQ,CAAC;AAAEC,UAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,YAAM,OAAA,MAAI,CAACC,QAAL,CAAc;AAAER,cAAAA,KAAK,EAAE,IAAA;AAAT,aAAd,CAAN,CAAA;AAAA,WAAT;AAA+CA,UAAAA,KAAK,EAALA,KAAAA;AAA/C,SAAD,CAAf,CAAA;AACD,OAAA;;AACD,MAAA,OAAOM,QAAP,CAAA;AACD,KAAA;;AAED,IAAA,OAAOjN,QAAP,CAAA;AACD,GA7BH,CAAA;;AAAA,EAAA,OAAA,aAAA,CAAA;AAAA,CAAA,CAAmCD,eAAnC;;;ACZaqN,IAAAA,cAAc,GAA4B,SAA1CA,cAA0C,CAMlD,IAAA,EAAA;AAAA,EALHC,IAAAA,IAKG,QALHA,IAKG;AAAA,MAJHC,MAIG,QAJHA,MAIG;AAAA,MAAA,OAAA,GAAA,IAAA,CAHHxN,EAGG;AAAA,MAHCC,SAGD,wBAHa,MAGb,GAAA,OAAA;AAAA,MAFHwN,QAEG,QAFHA,QAEG;AAAA,MADA7L,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EACEW,OAAAA,yBAAC,CAAAC,aAAD,CAACxC,SAAD,EAAe2B,QAAAA,CAAAA,EAAAA,EAAAA,IAAf,CACG6L,EAAAA,QAAQ,GAAGC,eAAU,CAACH,IAAD,EAAOC,MAAP,CAAb,GAA8BG,mBAAc,CAACJ,IAAD,EAAOC,MAAP,CADvD,CADF,CAAA;AAKD;;;ACbYI,IAAAA,oBAAoB,GAAkC,SAAtDA,oBAAsD,CAI9D,IAAA,EAAA;AAAA,EAHHC,IAAAA,MAGG,QAHHA,MAGG;AAAA,MAAA,OAAA,GAAA,IAAA,CAFH7N,EAEG;AAAA,MAFCC,SAED,wBAFa,MAEb,GAAA,OAAA;AAAA,MADA2B,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAA,IAAMiM,YAAY,GAAGC,MAAM,CAACF,MAAD,CAAN,IAAkB,CAAvC,CAAA;AAEA,EAAMG,IAAAA,eAAe,GAAG,IAAIC,IAAI,CAACC,YAAT,CAAsB,OAAtB,EAA+B;AACrDC,IAAAA,qBAAqB,EAAE,CAD8B;AAErDC,IAAAA,qBAAqB,EAAE,CAAA;AAF8B,GAA/B,CAGrBC,CAAAA,MAHqB,CAGdP,YAHc,CAAxB,CAAA;AAKA,EAAOtL,OAAAA,uCAAA,CAACvC,SAAD,EAAe2B,QAAAA,CAAAA,EAAAA,EAAAA,IAAf,CAAsBoM,EAAAA,eAAtB,CAAP,CAAA;AACD;;;ACAYM,IAAAA,SAAS,GAAuB,SAAhCA,SAAgC,CAKxC,IAAA,EAAA;AAAA,EAJHvF,IAAAA,KAIG,QAJHA,KAIG;AAAA,MAHHyE,MAGG,QAHHA,MAGG;AAAA,MAFH7L,SAEG,QAFHA,SAEG;AAAA,MADAC,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAA,IAAMmI,UAAU,GAAGzH,sBAAE,CAAC,eAAD,EAAkBZ,SAAlB,CAArB,CAAA;AACA,EAAA,OACEa,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AAAKd,IAAAA,SAAS,EAAEqI,UAAAA;AAAhB,GAAA,EAAgCpI,IAAhC,CACGmH,EAAAA,KAAK,CAAC9F,GAAN,CAAU,iBAAmBsL,CAAnB,EAAA;AAAA,IAAGlG,IAAAA,KAAH,SAAGA,KAAH;AAAA,QAAUiB,KAAV,SAAUA,KAAV,CAAA;AAAA,IAAA,OACT9G,yBAAA,CAAAC,aAAA,CAACC,KAAD,EAAM;AAACC,MAAAA,KAAK,EAAC,OAAP;AAAeS,MAAAA,GAAG,EAAEmL,CAAAA;AAApB,KAAN,EACE/L,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,MAAAA,SAAS,EAAC,qBAAA;AAAf,KAAA,EAAsC0G,KAAtC,CADF,EAEE7F,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EACG+L,WAAM,CAAClF,KAAD,CAAN,IAAiBmF,iBAAY,CAACnF,KAAD,CAA7B,GACC9G,uCAAA,CAAC8K,cAAD,EAAe;AAACC,MAAAA,IAAI,EAAEjE,KAAP;AAAckE,MAAAA,MAAM,EAAEA,MAAAA;AAAtB,KAAf,CADD,GAGChL,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAO6G,KAAP,CAJJ,CAFF,CADS,CAAA;AAAA,GAAV,CADH,CADF,CAAA;AAgBD;;;ACLYoF,IAAAA,YAAY,GAA0B,SAAtCA,YAAsC,CAW9C,IAAA,EAAA;AAAA,EAAA,IAAA,WAAA,GAAA,IAAA,CAVHC,MAUG;AAAA,MAVHA,MAUG,4BAVM,KAUN,GAAA,WAAA;AAAA,MATHzO,QASG,QATHA,QASG;AAAA,MARH0O,OAQG,QARHA,OAQG;AAAA,MAAA,SAAA,GAAA,IAAA,CAPH5I,IAOG;AAAA,MAPHA,IAOG,0BAPI,QAOJ,GAAA,SAAA;AAAA,MANH6I,OAMG,QANHA,OAMG;AAAA,MALHC,SAKG,QALHA,SAKG;AAAA,MAJH7J,QAIG,QAJHA,QAIG;AAAA,MAHH8J,OAGG,QAHHA,OAGG;AAAA,MAFHC,SAEG,QAFHA,SAEG;AAAA,MADApN,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAA,IAAMoN,gBAAgB,GAAG/O,QAAQ,GAAGA,QAAH,GAAc0O,OAA/C,CAAA;AACA,EAAA,IAAMM,aAAa,GAAGH,OAAO,GAAGA,OAAH,GAAaC,SAA1C,CAAA;AACA,EAAA,OACExM,yBAAC,CAAAC,aAAD,CAAC0M,WAAD,EAAA,QAAA,CAAA;AAAOnJ,IAAAA,IAAI,EAAEA,IAAb;AAAmBR,IAAAA,IAAI,EAAEmJ,MAAzB;AAAiCK,IAAAA,SAAS,EAAEE,aAAAA;AAA5C,GAA+DtN,EAAAA,IAA/D,GACGwN,aAAQ,CAACH,gBAAD,CAAR,GACCzM,yBAAC,CAAAC,aAAD,CAAC4M,oBAAD,EAAY,IAAZ,EAAYJ,gBAAZ,CADD,GAGCzM,yBAAA,CAAAC,aAAA,CAAC1C,GAAD,EAAI;AAACO,IAAAA,aAAa,EAAC,QAAA;AAAf,GAAJ,EAA6B2O,gBAA7B,CAJJ,EAOEzM,yBAAA,CAAAC,aAAA,CAAC6M,kBAAD,EACG,IADH,EACGR,SAAS,GACRtM,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAQ,QAAA,EAAA,IAAA,EACER,yBAAC,CAAAC,aAAD,CAACoE,sBAAD,EACE;AAAAf,IAAAA,OAAO,EAAEoJ,aAAT;AACY,IAAA,aAAA,EAAA,qBAAA;AADZ,GADF,EAIGjK,QAAQ,CAACsK,MAJZ,CADF,EAOE/M,yBAAC,CAAAC,aAAD,CAAC+M,oBAAD;AACE1J,IAAAA,OAAO,EAAEgJ;AACG,IAAA,aAAA,EAAA,sBAAA;GAFd,EAIG7J,QAAQ,CAACwK,OAJZ,CAPF,CADQ,GAgBRZ,OAjBJ,CAPF,CADF,CAAA;AA8BD;;;AC/DYa,IAAAA,iBAAiB,GAA+B,SAAhDA,iBAAgD,CAIxD,IAAA,EAAA;AAAA,EAHHxP,IAAAA,QAGG,QAHHA,QAGG;AAAA,MAFHyP,qBAEG,QAFHA,qBAEG;AAAA,MADA/N,IACA,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;;AACH,EAAM+N,IAAAA,OAAO,GAAGC,yBAAU,EAA1B,CAAA;;AAEA,EAA4BtK,IAAAA,SAAAA,GAAAA,cAAQ,CAAS,OAAT,CAApC;AAAA,MAAOuK,MAAP,GAAA,SAAA,CAAA,CAAA,CAAA;AAAA,MAAeC,SAAf,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;;AACA,EAAA,IAAA,UAAA,GAAwCxK,cAAQ,CAACqK,OAAO,CAACI,QAAT,CAAhD;AAAA,MAAOC,YAAP,GAAA,UAAA,CAAA,CAAA,CAAA;AAAA,MAAqBC,eAArB,GAAA,UAAA,CAAA,CAAA,CAAA,CAAA;;AAEA,EAAA,IAAMC,UAAU,GAAG,SAAbA,UAAa,GAAK;AACtBJ,IAAAA,SAAS,CAAC,OAAD,CAAT,CAAA;AACD,GAFD,CAAA;;AAIA,EAAA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,YAAD,EAAoC;AAC1D,IAAIV,IAAAA,qBAAqB,CAACU,YAAD,CAArB,IAAuCP,MAAM,KAAK,OAAtD,EAA+D;AAC7DC,MAAAA,SAAS,CAAC,SAAD,CAAT,CAAA;AACAG,MAAAA,eAAe,CAACG,YAAD,CAAf,CAAA;AACA,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,IAAP,CAAA;AACD,GAPD,CAAA;;AASA,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAK;AACzBV,IAAAA,OAAO,CAAC9P,IAAR,CAAamQ,YAAY,CAACM,QAA1B,CAAA,CAAA;AACD,GAFD,CAAA;;AAIA,EAAA,OACE/N,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAQ,QAAA,EAAA,IAAA,EACER,yBAAA,CAAAC,aAAA,CAAC+N,qBAAD,EAAO;AAAC5B,IAAAA,OAAO,EAAEwB,eAAAA;AAAV,GAAP,CADF,EAEE5N,yBAAC,CAAAC,aAAD,CAACiM,YAAD,EAAA,QAAA,CAAA;AACEM,IAAAA,SAAS,EAAEmB,UADb;AAEE3K,IAAAA,IAAI,EAAEsK,MAAM,KAAK,SAFnB;AAGEhB,IAAAA,SAAS,EAAEwB,aAAAA;AAHb,GAAA,EAIM1O,IAJN,CAAA,EAMG1B,QANH,CAFF,CADF,CAAA;AAaD;;AClDYuQ,IAAAA,KAAK,GAAmB,SAAxBA,KAAwB,CAKhC,IAAA,EAAA;AAAA,EAJHC,IAAAA,cAIG,QAJHA,cAIG;AAAA,MAHHC,QAGG,QAHHA,QAGG;AAAA,MAFHC,aAEG,QAFHA,YAEG;AAAA,MADHC,WACG,QADHA,WACG,CAAA;AACH,EAAMC,IAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUN,cAAc,GAAGC,QAA3B,CAAlB,CAAA;AACA,EAAA,OACEnO,yBAAC,CAAAC,aAAD,CAACwO,eAAD,EACE;AAAAH,IAAAA,SAAS,EAAEA,SAAX;AACAD,IAAAA,WAAW,EAAEA,WADb;AAEAD,IAAAA,YAAY,EAAE,SAACM,YAAAA,CAAAA,IAAD,EAAS;AACrBN,MAAAA,aAAY,CAACM,IAAD,CAAZ,CAAA;AACD,KAAA;AAJD,GADF,CADF,CAAA;AASD;;ACdYC,IAAAA,WAAW,GAAyB,SAApCA,WAAoC,CAM5C,IAAA,EAAA;AAAA,EAAA,IAAA,WAAA,GAAA,IAAA,CALHC,MAKG;AAAA,MALHA,MAKG,4BALM,KAKN,GAAA,WAAA;AAAA,MAAA,UAAA,GAAA,IAAA,CAJH/I,KAIG;AAAA,MAJHA,KAIG,2BAJK,EAIL,GAAA,UAAA;AAAA,MAHHgJ,kBAGG,QAHHA,kBAGG;AAAA,MAFHC,UAEG,QAFHA,UAEG;AAAA,MADHC,MACG,QADHA,MACG,CAAA;AACH,EAAA,IAAMC,gBAAgB,GAAGjP,sBAAE,CAAC,0BAAD,EAA6B;AACtD6O,IAAAA,MAAM,EAANA,MADsD;AAEtDK,IAAAA,UAAU,EAAEJ,kBAAAA;AAF0C,GAA7B,CAA3B,CAAA;AAIA,EAAA,IAAMK,qBAAqB,GAAGnP,sBAAE,CAAC,kBAAD,EAAqB;AACnDgP,IAAAA,MAAM,EAANA,MAAAA;AADmD,GAArB,CAAhC,CAAA;AAGA,EAAA,OACE/O,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAE+P,qBAAAA;AAAhB,GAAA,EACGJ,UAAU,IAAI9O,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,IAAAA,SAAS,EAAE6P,gBAAAA;AAAhB,GAAA,CADjB,EAEEhP,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAM4F,KAAN,CAFF,CADF,CAAA;AAMD;;ACXD;;;;AAIG;;AACUsJ,IAAAA,eAAe,GAA6B,SAA5CA,eAA4C,CAMpD,IAAA,EAAA;AAAA,EALHzR,IAAAA,QAKG,QALHA,QAKG;AAAA,MAAA,aAAA,GAAA,IAAA,CAJHiN,QAIG;AAAA,MAJHA,QAIG,8BAJQ,IAIR,GAAA,aAAA;AAAA,MAHHyE,WAGG,QAHHA,WAGG;AAAA,MAAA,UAAA,GAAA,IAAA,CAFHC,KAEG;AAAA,MAFHA,KAEG,2BAFK,EAEL,GAAA,UAAA;AAAA,MAAA,QAAA,GAAA,IAAA,CADHC,GACG;AAAA,MADHA,GACG,yBADG,EACH,GAAA,QAAA,CAAA;AACH,EAAA,IAAMC,YAAY,GAAGC,sBAAiB,CAACF,GAAD,EAAMF,WAAN,CAAtC,CAAA;AAEA,EAAA,IAAMK,cAAc,GAAGC,wBAAmB,CAACL,KAAD,EAAQD,WAAR,CAA1C,CAAA;AAEA,EAAA,IAAMO,OAAO,GAAGJ,YAAY,IAAIE,cAAhC,CAAA;AACA,EAAA,OAAOzP,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAQ,QAAA,EAAA,IAAA,EAAGmP,OAAO,GAAGjS,QAAH,GAAciN,QAAxB,CAAP,CAAA;AACD;;;ACnBYiF,IAAAA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAOJ,IAAA,EAAA;AAAA,EANhClS,IAAAA,QAMgC,QANhCA,QAMgC;AAAA,MALhCmS,iBAKgC,QALhCA,iBAKgC;AAAA,MAJhCP,GAIgC,QAJhCA,GAIgC;AAAA,MAHhCD,KAGgC,QAHhCA,KAGgC;AAAA,MAFhCS,QAEgC,QAFhCA,QAEgC;AAAA,MAD7BnL,KAC6B,GAAA,6BAAA,CAAA,IAAA,EAAAtF,WAAA,CAAA,CAAA;;AAChC,EAAA,IAAM0Q,QAAQ,GACZ/P,uCAAA,CAACgQ,uBAAD,EAAS;AACPC,IAAAA,EAAE,EAAE;AACFlC,MAAAA,QAAQ,EAAE,eADR;AAEF3D,MAAAA,KAAK,EAAE;AAAE8F,QAAAA,IAAI,EAAEvL,KAAK,CAAC6I,QAAAA;AAAd,OAAA;AAFL,KAAA;AADG,GAAT,CADF,CAAA;AAQA,EAAA,OACExN,yBAAC,CAAAC,aAAD,CAACkP,eAAD,EACE;AAAAC,IAAAA,WAAW,EAAES,iBAAb;AACAP,IAAAA,GAAG,EAAEA,GADL;AAEAD,IAAAA,KAAK,EAAEA,KAFP;AAGA1E,IAAAA,QAAQ,EAAEmF,QAAQ,GAAGA,QAAH,GAAcC,QAAAA;AAHhC,GADF,EAME/P,yBAAC,CAAAC,aAAD,CAACkQ,oBAAD,EAAA,QAAA,CAAA,EAAA,EAAWxL,KAAX,CAAA,EAAmBjH,QAAnB,CANF,CADF,CAAA;AAUD;;ACnCY0S,IAAAA,WAAW,GAAyB,SAApCA,WAAoC,CAI5C,IAAA,EAAA;AAAA,EAHHC,IAAAA,qBAGG,QAHHA,qBAGG;AAAA,MAFHtC,QAEG,QAFHA,QAEG;AAAA,MADHuC,kBACG,QADHA,kBACG,CAAA;AACH,EAAA,IAAMC,KAAK,GAAaxC,QAAQ,KAAK,GAAb,GAAmB,EAAnB,GAAwB,CAAC,GAAD,CAAhD,CADG;;AAIH,EAAA,IAAMyC,gBAAgB,GACpBzC,QAAQ,CAACxN,MAAT,GAAkB,CAAlB,GAAsBwN,QAAQ,CAAC0C,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,CAAtB,GAAoD1C,QADtD,CAAA;AAGAyC,EAAAA,gBAAgB,CAACE,KAAjB,CAAuB,GAAvB,CAAA,CAA4BC,MAA5B,CAAmC,UAACC,IAAD,EAAOC,IAAP,EAAe;AAChD,IAAA,IAAMC,IAAI,GAAMF,IAAN,GAAA,GAAA,GAAcC,IAAxB,CAAA;AACAN,IAAAA,KAAK,CAACjT,IAAN,CAAWwT,IAAX,CAAA,CAAA;AACA,IAAA,OAAOA,IAAP,CAAA;AACD,GAJD,CAAA,CAAA;AAMA,EAAA,IAAMC,WAAW,GAAGR,KAAK,CACtB9P,GADiB,CACb,UAACqQ,IAAD,EAAA;AAAA,IAAW,OAAA;AAAEjP,MAAAA,KAAK,EAAEyO,kBAAkB,CAACQ,IAAD,CAA3B;AAAmCA,MAAAA,IAAI,EAAJA,IAAAA;AAAnC,KAAX,CAAA;AAAA,GADa,CAAA,CAEjBE,MAFiB,CAEV,UAAA,KAAA,EAAA;AAAA,IAAGnP,IAAAA,KAAH,SAAGA,KAAH,CAAA;AAAA,IAAeA,OAAAA,KAAK,KAAKoP,SAAzB,CAAA;AAAA,GAFU,CAApB,CAAA;AAIA,EAAMC,IAAAA,kBAAkB,GAAGH,WAAW,CAACtQ,GAAZ,CAAgB,UAAA,KAAA,EAAkBsL,CAAlB,EAAuB;AAAA,IAApBlK,IAAAA,KAAoB,SAApBA,KAAoB;AAAA,QAAbiP,IAAa,SAAbA,IAAa,CAAA;AAChE,IAAMK,IAAAA,MAAM,GAAGpF,CAAC,KAAKgF,WAAW,CAACxQ,MAAZ,GAAqB,CAA1C,CAAA;;AACA,IAAA,IAAI4Q,MAAJ,EAAY;AACV,MAAA,OACEnR,yBAAA,CAAAC,aAAA,CAACmR,mBAAD,EAAe;AAACxQ,QAAAA,GAAG,EAAEkQ,IAAN;AAAYtT,QAAAA,EAAE,EAAE,MAAA;AAAhB,OAAf,EACGqE,KADH,CADF,CAAA;AAKD,KAAA;;AACD,IAAA,OACE7B,yBAAC,CAAAC,aAAD,CAACmR,mBAAD;AAAgBxQ,MAAAA,GAAG,EAAEkQ;AAAMtT,MAAAA,EAAE,EAAEyD;AAAMgP,MAAAA,EAAE,EAAEa,IAAAA;KAAzC,EACGjP,KADH,CADF,CAAA;AAKD,GAd0B,CAA3B,CAAA;;AAgBA,EAAA,IAAIwO,qBAAJ,EAA2B;AACzB,IACErQ,OAAAA,yBAAA,CAAAC,aAAA,CAACoR,yBAAD,EAAqB,IAArB,EACIhB,CAAAA,qBADJ,CAC8Ba,CAAAA,MAAAA,CAAAA,kBAD9B,CADF,CAAA,CAAA;AAKD,GAAA;;AAED,EAAOlR,OAAAA,yBAAC,CAAAC,aAAD,CAACoR,yBAAD,EAAuB,IAAvB,EAAuBH,kBAAvB,CAAP,CAAA;AACD;;ICnDYjQ,IAAI,GAAc,SAAlBA,IAAkB,CAAC0D,KAAD,EAAU;AACvC,EAAA,OACE3E,yBAAA,CAAAC,aAAA,CAACqR,eAAD,eAAO3M,KAAP,EAAA;AAAcnH,IAAAA,EAAE,EAAE+T,mBAAAA;AAAlB,GACG5M,CAAAA,EAAAA,KAAK,CAACjH,QADT,CADF,CAAA;AAKD;;;ACyCY8T,IAAAA,IAAI,GAAG,SAAPA,IAAO,CASJ,IAAA,EAAA;AAAA,EAAA,IAAA,OAAA,GAAA,IAAA,CARdhU,EAQc;AAAA,MARViU,SAQU,wBARE,MAQF,GAAA,OAAA;AAAA,MAPd/T,QAOc,QAPdA,QAOc;AAAA,MANdgU,QAMc,QANdA,QAMc;AAAA,MALd1S,KAKc,QALdA,KAKc;AAAA,MAJd2S,UAIc,QAJdA,UAIc;AAAA,MAHdC,UAGc,QAHdA,UAGc;AAAA,MAFdzS,SAEc,QAFdA,SAEc;AAAA,MADXC,IACW,GAAA,6BAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;;AACd,EAAM/B,IAAAA,OAAO,GAAG,EAAhB,CAAA;AAEAqU,EAAAA,QAAQ,IAAIrU,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,gBAAD,EAAmB0U,QAAnB,CAAvB,CAAnB,CAAA;AACAC,EAAAA,UAAU,IAAItU,OAAO,CAACC,IAAR,CAAAD,KAAAA,CAAAA,OAAO,EAASL,cAAc,CAAC,kBAAD,EAAqB2U,UAArB,CAAvB,CAArB,CAAA;AACAC,EAAAA,UAAU,IAAIvU,OAAO,CAACC,IAAR,CAAa,kBAAA,GAAqBsU,UAAlC,CAAd,CAAA;AAEA,EAAA,IAAM9R,SAAS,GAAGC,sBAAE,CAAC1C,OAAD,EAAU8B,SAAV,CAApB,CAAA;AAEA,EAAA,OACEa,uCAAA,CAACzC,GAAD,EAAA,QAAA,CAAA;AAAKC,IAAAA,EAAE,EAAEiU,SAAT;AAAoBzS,IAAAA,KAAK,EAAEA,KAA3B;AAAkCG,IAAAA,SAAS,EAAEW,SAAAA;AAA7C,GAA4DV,EAAAA,IAA5D,CACG1B,EAAAA,QADH,CADF,CAAA;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"common.cjs.development.js","sources":["../src/Box.tsx","../src/Stack.tsx","../src/ActionBar.tsx","../src/LinkButton.tsx","../src/FeatureToggle.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/Menu.tsx","../src/Content.tsx","../src/UserMenu.tsx","../src/OrganisationDropdown.tsx","../src/useEventListener.ts","../src/LanguageSelect.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/MultiLanguageInput.tsx","../src/Unbutton.tsx","../src/helpers.ts","../src/ErrorBoundary.tsx","../src/FormatDateTime.tsx","../src/FormatCurrencyAmount.tsx","../src/AuditInfo.tsx","../src/ConfirmModal.tsx","../src/RouteLeavingGuard.tsx","../src/Pager.tsx","../src/StatusLabel.tsx","../src/PermissionCheck.tsx","../src/PermissionCheckedRoute.tsx","../src/Breadcrumbs.tsx","../src/Link.tsx","../src/Text.tsx"],"sourcesContent":["import './Box.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\ntype StyleSpacing =\n | 'none'\n | 'extraSmall2'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7'\n | 'extraLarge8'\n | 'extraLarge9';\n\ntype StyleMargin = StyleSpacing | 'auto';\n\ntype StyleDisplay = 'block' | 'flex' | 'inline' | 'inline-block';\ntype StyleJustifyContent = 'center' | 'space-between' | 'start' | 'end';\ntype StyleAlignItems = 'center' | 'start' | 'end' | 'stretch' | 'baseline';\n\ntype StyleMaxWidth =\n | 'none'\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'full';\ntype StyleWidth = 'auto' | 'full';\n\nexport type StyleBackground = 'blue' | 'lavender' | 'white' | 'blue70';\nexport type StyleColor = 'blue' | 'lavender' | 'white' | 'black';\n\ntype StyleFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';\ntype StyleFlexWrap = 'wrap' | 'nowrap' | 'wrap-reverse';\n\nexport type ResponsiveStyleSpacing =\n | StyleSpacing\n | [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n | StyleMargin\n | [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n | StyleDisplay\n | [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n | StyleJustifyContent\n | [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n | StyleAlignItems\n | [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n | StyleMaxWidth\n | [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n | StyleWidth\n | [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n | StyleFlexDirection\n | [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n | StyleFlexWrap\n | [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n className?: string;\n as?: React.ElementType;\n [key: string]: any;\n children: ReactNode;\n\n contrast?: boolean;\n\n paddingTop?: ResponsiveStyleSpacing;\n paddingRight?: ResponsiveStyleSpacing;\n paddingBottom?: ResponsiveStyleSpacing;\n paddingLeft?: ResponsiveStyleSpacing;\n paddingX?: ResponsiveStyleSpacing;\n paddingY?: ResponsiveStyleSpacing;\n padding?: ResponsiveStyleSpacing;\n\n marginTop?: ResponsiveStyleMargin;\n marginRight?: ResponsiveStyleMargin;\n marginBottom?: ResponsiveStyleMargin;\n marginLeft?: ResponsiveStyleMargin;\n marginX?: ResponsiveStyleMargin;\n marginY?: ResponsiveStyleMargin;\n margin?: ResponsiveStyleMargin;\n\n display?: ResponsiveStyleDisplay;\n justifyContent?: ResponsiveStyleJustifyContent;\n alignItems?: ResponsiveStyleAlignItems;\n\n maxWidth?: ResponsiveStyleMaxWidth;\n width?: ResponsiveStyleWidth;\n background?: StyleBackground;\n color?: StyleColor;\n\n flexDirection?: ResponsiveStyleFlexDirection;\n flexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n if (Array.isArray(prop)) {\n const classes = [];\n prop[0] && classes.push(prefix + prop[0]);\n prop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n prop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n return classes;\n }\n return [prefix + prop];\n}\n\nexport const Box = ({\n as: Component = 'div',\n children,\n contrast,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n paddingX,\n paddingY,\n padding,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n margin,\n display,\n justifyContent,\n alignItems,\n maxWidth,\n width,\n background,\n color,\n flexDirection,\n flexWrap,\n className,\n ...rest\n}: BoxProps) => {\n const classes = [];\n const resolvedPaddingTop = paddingTop || paddingY || padding;\n const resolvedPaddingBottom = paddingBottom || paddingY || padding;\n const resolvedPaddingLeft = paddingLeft || paddingX || padding;\n const resolvedPaddingRight = paddingRight || paddingX || padding;\n\n const resolvedMarginTop = marginTop || marginY || margin;\n const resolvedMarginBottom = marginBottom || marginY || margin;\n const resolvedMarginLeft = marginLeft || marginX || margin;\n const resolvedMarginRight = marginRight || marginX || margin;\n\n contrast && classes.push('eds-contrast');\n resolvedPaddingTop &&\n classes.push(...responsiveProp('eps-pt-', resolvedPaddingTop));\n resolvedPaddingBottom &&\n classes.push(...responsiveProp('eps-pb-', resolvedPaddingBottom));\n resolvedPaddingLeft &&\n classes.push(...responsiveProp('eps-pl-', resolvedPaddingLeft));\n resolvedPaddingRight &&\n classes.push(...responsiveProp('eps-pr-', resolvedPaddingRight));\n resolvedMarginTop &&\n classes.push(...responsiveProp('eps-mt-', resolvedMarginTop));\n resolvedMarginBottom &&\n classes.push(...responsiveProp('eps-mb-', resolvedMarginBottom));\n resolvedMarginLeft &&\n classes.push(...responsiveProp('eps-ml-', resolvedMarginLeft));\n resolvedMarginRight &&\n classes.push(...responsiveProp('eps-mr-', resolvedMarginRight));\n\n display && classes.push(...responsiveProp('eps-', display));\n justifyContent &&\n classes.push(...responsiveProp('eps-justify-', justifyContent));\n if (alignItems) {\n classes.push(...responsiveProp('eps-items-', alignItems));\n }\n\n maxWidth && classes.push(...responsiveProp('eps-max-w-', maxWidth));\n width && classes.push(...responsiveProp('eps-w-', width));\n\n color && classes.push(`eps-color-${color}`);\n background && classes.push(`eps-bg-${background}`);\n\n flexDirection && classes.push(...responsiveProp('eps-flex-', flexDirection));\n flexWrap && classes.push(...responsiveProp('eps-flex-wrap-', flexWrap));\n\n const classList = cx(classes, className);\n\n return (\n <Component className={classList} {...rest}>\n {children}\n </Component>\n );\n};\n","import React, { ReactNode, Children } from 'react';\n\nimport { ResponsiveStyleSpacing, Box } from './Box';\n\nexport interface StackProps {\n className?: string;\n children: ReactNode;\n space: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n const stackItems = Children.toArray(children);\n if (stackItems.length <= 1) {\n return <>{stackItems}</>;\n }\n\n return (\n <div className={className}>\n {stackItems.map((child, index) =>\n index === stackItems.length - 1 ? (\n <div key={index}>{child}</div>\n ) : (\n <Box paddingBottom={space} key={index}>\n {child}\n </Box>\n )\n )}\n </div>\n );\n};\n","import './ActionBar.scss';\nimport React, { ReactNode } from 'react';\n\nexport interface ActionBarProps {\n children: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n return <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n return (\n <>\n <div className=\"eps-action-bar-padding\" />\n <div className=\"eps-action-bar\">{children}</div>\n </>\n );\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import './LinkButton.scss';\n\nimport React, { ReactNode } from 'react';\nimport { Link } from '@entur/typography';\nimport cx from 'classnames';\n\nexport interface LinkButtonProps {\n children: ReactNode;\n className?: string;\n [key: string]: any;\n}\n\nexport const LinkButton = ({\n children,\n className,\n ...rest\n}: LinkButtonProps) => (\n <Link {...rest} as=\"button\" className={cx('eps-link-button', className)}>\n {children}\n </Link>\n);\n","import React, { ReactNode } from 'react';\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the REACT_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n return (\n process.env[`REACT_APP_${flag}`] === 'true' ||\n window.localStorage?.getItem(flag) === 'true' ||\n window.localStorage?.getItem(`REACT_APP_${flag}`) === 'true'\n );\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the REACT_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n return featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n /** Visible if flag exist, hidden if not.*/\n children: ReactNode;\n /** Case sensitive flag. If it is an environment variable\n * you can drop the REACT_APP_ prefix. */\n flag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n const feature = useFeatureToggle(flag);\n if (feature) {\n return <>{children}</>;\n }\n return null;\n};\n","export enum Environment {\n Local = 'local',\n Development = 'dev',\n Staging = 'staging',\n Production = 'prod',\n}\n\nconst environmentColors: Record<\n Exclude<Environment, Environment.Production>,\n string\n> = {\n [Environment.Local]: '#B482FB',\n [Environment.Development]: '#5AC39A',\n [Environment.Staging]: '#FFCA28',\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n environment: Exclude<Environment, Environment.Production>\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n [Environment.Local]: 'Local',\n [Environment.Development]: 'Dev',\n [Environment.Staging]: 'Staging',\n [Environment.Production]: 'Prod',\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n humanReadableEnvironment[environment];\n","import './EnturPartnerLogo.scss';\n\nimport React, { FC } from 'react';\nimport classnames from 'classnames';\n\nimport { Environment, getColorForEnvironment } from './environment';\n\ninterface LogoProps {\n title: string;\n className?: string;\n accentColor?: string;\n [key: string]: any;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n title,\n accentColor = '#FF5959',\n ...rest\n}) => {\n return (\n <svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n <title>{title}</title>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#FFF\"\n d=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n />\n <path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n <path\n fill=\"#FFF\"\n d=\"M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z\"\n />\n <g fill={accentColor}>\n <path d=\"M141.051 23.448h5.628c4.185 0 5.989-1.984 5.989-4.942 0-2.742-1.515-4.618-5.989-4.618h-5.628v9.56zm0 3.067v9.776h-3.571V10.75h9.632c6.674 0 9.127 3.211 9.127 7.54 0 4.979-3.102 8.226-9.2 8.226h-5.988zM169.695 28.715c-1.371-.288-2.958-.505-4.401-.505-2.85 0-4.041 1.263-4.041 3.139s1.407 2.706 3.463 2.706c2.49 0 4.979-1.443 4.979-4.221v-1.119zm-4.293-2.958c1.551 0 3.174.253 4.293.469v-.83c0-2.525-1.154-3.896-4.33-3.896-2.164 0-3.824.866-4.942 2.092l-2.02-2.272c1.732-1.66 3.644-2.598 7.07-2.598 5.052 0 7.469 1.876 7.469 7.215v10.354h-3.211V34.02h-.108c-1.082 1.767-3.211 2.705-5.592 2.705-3.32 0-6.241-1.66-6.241-5.303 0-3.103 1.912-5.664 7.612-5.664zM178.965 19.191h3.211v2.886h.108c.938-1.984 2.922-3.355 5.231-3.355.47 0 .938.036 1.335.144l-.144 3.14a6.77 6.77 0 00-1.552-.181c-3.246 0-4.798 2.633-4.798 5.483v8.983h-3.39v-17.1zM199.961 36.291h-1.912c-4.004 0-5.988-.938-5.988-5.772v-8.55h-2.778V19.19h2.778v-4.654h3.355v4.654h4.473v2.778h-4.473v7.973c0 3.427 1.587 3.535 3.319 3.535h1.226v2.814zM219.767 36.291h-3.391V26.84c0-2.778-1.083-5.375-4.257-5.375-3.14 0-5.268 2.597-5.268 6.169v8.658h-3.391v-17.1h3.32v2.814h.143c.794-1.623 3.067-3.283 5.99-3.283 4.941 0 6.854 3.644 6.854 8.081v9.488zM227.847 26.262h10.57c0-2.597-2.272-4.726-5.087-4.726-2.922 0-5.014 1.948-5.483 4.726zm-.036 2.453c.397 3.355 2.633 5.195 5.844 5.195 2.778 0 4.618-1.623 5.484-2.67l2.164 1.804c-1.37 1.913-4.365 3.716-8.045 3.716-4.942 0-8.73-3.535-8.73-8.55 0-5.195 3.752-9.488 8.983-9.488 5.303 0 8.009 4.365 8.009 8.19 0 .649-.036 1.226-.072 1.803H227.81zM246.245 19.191h3.21v2.886h.109c.938-1.984 2.922-3.355 5.231-3.355.469 0 .938.036 1.335.144l-.145 3.14a6.77 6.77 0 00-1.551-.181c-3.247 0-4.798 2.633-4.798 5.483v8.983h-3.391v-17.1z\" />\n </g>\n </g>\n </svg>\n );\n};\n\ninterface EnturPartnerLogoProps {\n altText: string;\n as?: 'div' | React.ElementType;\n className?: string;\n environment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n as: Component = 'nav',\n className,\n altText,\n environment,\n}) => {\n const classList = classnames(['eps-logo-wrapper', className]);\n\n return (\n <Component className={classList}>\n <EnturPartnerLogoSvg\n title={altText}\n className=\"logo\"\n accentColor={\n environment !== undefined && environment !== Environment.Production\n ? getColorForEnvironment(environment)\n : undefined\n }\n />\n </Component>\n );\n};\n","import './Menu.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface MenuProps {\n children: ReactNode;\n as?: 'div' | React.ElementType;\n className?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n as: Component = 'nav',\n className,\n children,\n}) => {\n const classList = classnames(['eds-contrast', 'eps-menu', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import './Content.scss';\n\nimport React, { FC, ReactNode } from 'react';\nimport classnames from 'classnames';\n\ninterface ContentProps {\n children: ReactNode;\n as?: 'main' | React.ElementType;\n className?: string;\n}\nexport const Content: FC<ContentProps> = ({\n as: Component = 'main',\n className,\n children,\n}) => {\n const classList = classnames(['eps-content', className]);\n\n return <Component className={classList}>{children}</Component>;\n};\n","import './UserMenu.scss';\n\nimport React, { FC, useState } from 'react';\nimport cx from 'classnames';\nimport {\n DownArrowIcon,\n NorwayIcon,\n UKIcon,\n UploadIcon,\n UserIcon,\n} from '@entur/icons';\nimport { SecondaryButton } from '@entur/button';\nimport { Heading6 } from '@entur/typography';\n\nimport {\n Environment,\n getColorForEnvironment,\n getHumanReadableEnvironment,\n} from './environment';\n\ninterface UserMenuProps {\n userName: string;\n messages: {\n logout: string;\n switchLanguage: string;\n };\n onLogout: () => void;\n onLanguageChange: (language: string) => void;\n language: string;\n className?: string;\n environment?: Environment;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n className,\n messages,\n onLogout,\n onLanguageChange,\n userName,\n language,\n environment,\n}) => {\n const triggerClassList = cx(['eps-user-menu__trigger-button', className]);\n const [open, setOpen] = useState(false);\n\n return (\n <div id=\"eps-user-menu\">\n <CustomOverflowMenu\n open={open}\n onOpenChange={setOpen}\n className={triggerClassList}\n userName={userName}\n environment={environment}\n >\n <div id=\"eps-overflow-menu\">\n {language === 'en' ? (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('nb');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <NorwayIcon size=\"1rem\" inline />\n </span>\n {messages.switchLanguage}\n </CustomOverflowMenuItem>\n ) : (\n <CustomOverflowMenuItem\n onClick={() => {\n onLanguageChange('en');\n setOpen(false);\n }}\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n <UKIcon size=\"1rem\" inline />\n </span>\n {messages.switchLanguage}\n </CustomOverflowMenuItem>\n )}\n <CustomOverflowMenuItem\n onClick={() => {\n onLogout();\n setOpen(false);\n }}\n data-testid=\"user-menu-logout\"\n className=\"eps-overflow-menu__item\"\n >\n <span aria-hidden>\n <UploadIcon\n size=\"1rem\"\n inline\n style={{ transform: 'rotate(90deg)' }}\n />\n </span>\n {messages.logout}\n </CustomOverflowMenuItem>\n </div>\n </CustomOverflowMenu>\n </div>\n );\n};\n\nconst CustomOverflowMenu: React.FC<{\n className?: string;\n children: React.ReactNode;\n userName: string;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n environment?: Environment;\n}> = ({\n className,\n children,\n userName,\n open,\n onOpenChange,\n environment,\n ...rest\n}) => {\n const overflowItemsClasses = cx('eps-overflow-menu__group', {\n 'eps-overflow-menu__group--open': open,\n });\n const overflowContentRef = React.useRef<HTMLDivElement>(null);\n const overflowMenuTriggerRef = React.useRef<HTMLButtonElement>(null);\n useOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n onOpenChange(false)\n );\n return (\n <div>\n <SecondaryButton\n className={cx('eps-overflow-menu__button', className)}\n onClick={() => onOpenChange(open ? false : true)}\n aria-haspopup={true}\n role=\"button\"\n aria-expanded={open}\n ref={overflowMenuTriggerRef}\n {...rest}\n >\n <div className=\"eps-overflow-menu__button-contents\">\n <span className=\"eds-overflow-menu__user-icon\">\n <UserIcon inline />\n </span>\n <Heading6 margin=\"none\" as=\"span\">\n {userName}\n {environment !== undefined &&\n environment !== Environment.Production && (\n <span style={{ color: getColorForEnvironment(environment) }}>\n {' '}\n ({getHumanReadableEnvironment(environment)})\n </span>\n )}\n </Heading6>\n <span className=\"eps-arrow-icon\">\n <DownArrowIcon inline />\n </span>\n </div>\n </SecondaryButton>\n {open && (\n <div\n className={overflowItemsClasses}\n role=\"menu\"\n ref={overflowContentRef}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nconst CustomOverflowMenuItem: React.FC<\n React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n> = (props) => {\n return (\n <button\n className={cx(props.className, 'eps-overflow-menu__item')}\n role=\"menuitem\"\n {...props}\n />\n );\n};\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n if (!element) {\n return false;\n }\n\n if (element.contains(event.target as Node)) {\n return true;\n }\n\n // For elements inside a Shadow DOM we need to check the composedPath\n if (event.composed && event.composedPath) {\n const contains = event.composedPath().find((target) => {\n if (target === window) {\n return false;\n }\n return element.contains(target as Node);\n });\n return contains ? true : false;\n }\n\n return false;\n}\n\nfunction useOutsideClick(\n ref: React.RefObject<HTMLDivElement>,\n buttonRef: React.RefObject<HTMLButtonElement>,\n handler: () => void\n) {\n React.useEffect(() => {\n const listener = (event: Event) => {\n if (\n elementContainsEventTarget(ref.current, event) ||\n elementContainsEventTarget(buttonRef.current, event)\n ) {\n return;\n }\n\n handler();\n };\n\n document.addEventListener('mousedown', listener);\n document.addEventListener('touchstart', listener);\n\n return () => {\n document.removeEventListener('mousedown', listener);\n document.removeEventListener('touchstart', listener);\n };\n }, [ref, buttonRef, handler]);\n}\n","import React, { FC } from 'react';\nimport { Dropdown } from '@entur/dropdown';\n\ninterface Organisation {\n name: string;\n id: string;\n}\n\ninterface OrganisationDropDownProps {\n label: string;\n onChange: (id: string) => void;\n organisations: Organisation[];\n selectedOrganisationId?: string;\n [key: string]: any;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n label,\n organisations,\n onChange: handleChange,\n selectedOrganisationId,\n ...rest\n}) => {\n const selectedOrganisation = organisations.find(\n (org) => org.id === selectedOrganisationId\n );\n\n return (\n <Dropdown\n label={label}\n searchable={true}\n clearable={true}\n className=\"eds-contrast\"\n items={[\n ...organisations\n .sort((a, b) => a.name.localeCompare(b.name, 'nb'))\n .map((organisation) => {\n return {\n value: organisation.id,\n label: organisation.name,\n };\n }),\n ]}\n initialSelectedItem={\n selectedOrganisation\n ? {\n value: selectedOrganisation.id,\n label: selectedOrganisation.name,\n }\n : null\n }\n onChange={(selectedValue) => {\n if (selectedValue) {\n handleChange(selectedValue.value);\n }\n }}\n {...rest}\n />\n );\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from 'react';\n\ninterface TypedEventListener<T extends Event> {\n (evt: T): void;\n}\n\nexport function useEventListener<T extends Event = Event>(\n eventName: string,\n handler: TypedEventListener<T>,\n element: WindowEventHandlers = window\n) {\n const savedHandler = useRef<TypedEventListener<T>>();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = ((event: T): void =>\n savedHandler.current?.(event)) as EventListener;\n\n element.addEventListener(eventName, eventListener);\n\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element]);\n}\n","import './LanguageSelect.scss';\n\nimport React, { FC } from 'react';\nimport { SegmentedControl, SegmentedChoice } from '@entur/form';\nimport cx from 'classnames';\nimport { assertIsDefined } from '@entur-partner/util';\n\nexport type LanguageKey = 'nob' | 'nno' | 'eng';\n\nexport interface LanguageOption {\n value: LanguageKey;\n label: string;\n required: boolean;\n}\n\nexport interface LanguageSelectProps {\n language: string;\n options: LanguageOption[];\n className?: string;\n onChange: (language: string) => void;\n [key: string]: any;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n language,\n options,\n className,\n onChange,\n ...rest\n}) => {\n const classNames = cx('eps-language-select', className);\n return (\n <div {...rest} className={classNames}>\n <SegmentedControl\n onChange={(language) => {\n assertIsDefined(language);\n onChange(language);\n }}\n selectedValue={language}\n >\n {options.map((option) => (\n <SegmentedChoice key={option.value} value={option.value}>\n {option.label}\n {option.required && <span className=\"asterisk-margin\">{'*'}</span>}\n </SegmentedChoice>\n ))}\n </SegmentedControl>\n </div>\n );\n};\n","import React, { ChangeEvent } from 'react';\nimport { VariantType } from '@entur/form';\nimport { ExpandablePanel } from '@entur/expand';\n\nimport { LanguageKey, LanguageOption } from './LanguageSelect';\nimport { Stack } from './Stack';\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n title: string;\n inputComponent: React.ElementType;\n languages: LanguageOption[];\n values: MultiLanguageValues;\n onChange: (values: MultiLanguageValues) => void;\n name: string;\n variant?: (lang: LanguageKey) => VariantType;\n feedback?: (lang: LanguageKey) => string;\n [key: string]: any;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n title,\n inputComponent: InputComponent,\n languages,\n values,\n onChange,\n name,\n variant,\n feedback,\n ...rest\n}: ExpandableMultiLanguageInputProps) => {\n const handleOnChange = (language: LanguageKey, value?: string) => {\n const changes = { ...values };\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <ExpandablePanel\n title={title}\n defaultOpen\n contentStyle={{\n padding: '4px 4px 4px 4px',\n marginTop: '16px',\n marginBottom: '16px',\n }}\n >\n <Stack space=\"medium\">\n {languages.map(({ value: langKey, label, required }) => (\n <InputComponent\n data-testid={`multi-lang-input-${name}-${langKey}`}\n key={title + langKey}\n label={required ? label + '*' : label}\n variant={variant && variant(langKey)}\n feedback={feedback && feedback(langKey)}\n name={name}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n handleOnChange(langKey, e.target.value);\n }}\n value={values[langKey] || ''}\n {...rest}\n />\n ))}\n </Stack>\n </ExpandablePanel>\n );\n};\n","import './MultiLanguageInput.scss';\n\nimport React, { FC, useState, ChangeEvent, FocusEvent } from 'react';\nimport cx from 'classnames';\nimport { VariantType } from '@entur/form';\n\nimport { Stack } from './Stack';\nimport { LanguageSelect, LanguageOption } from './LanguageSelect';\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n className?: string;\n onBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n inputComponent: React.ElementType;\n values: { [key: string]: string };\n languages: LanguageOption[];\n onChange: (values: Values) => void;\n name: string;\n alertLevel?: VariantType;\n alertLabel?: string;\n label?: string;\n defaultLanguage?: string;\n [key: string]: any;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n className,\n inputComponent: InputComponent,\n alertLabel,\n alertLevel,\n name,\n languages,\n values,\n onChange,\n defaultLanguage = 'nob',\n label = '',\n onBlur = () => {},\n ...rest\n}) => {\n const [language, setLanguage] = useState(defaultLanguage);\n const classNames = cx('multi-language-input', className);\n const currentValue = values[language];\n\n const handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n e.persist();\n const currentTarget = e.currentTarget;\n setTimeout(() => {\n if (currentTarget && !currentTarget.contains(document.activeElement)) {\n onBlur(e);\n }\n }, 0);\n };\n\n const handleLanguageChange = (language: string) => {\n setLanguage(language);\n };\n\n const handleOnChange = (value?: string) => {\n const changes = Object.assign({}, values);\n if (value === '' || !value) {\n delete changes[language];\n } else {\n changes[language] = value;\n }\n onChange(changes);\n };\n\n return (\n <div\n className={classNames}\n tabIndex={0}\n onBlur={handleOnBlur}\n data-testid={`multi-lang-input-${name}`}\n >\n <Stack space=\"extraSmall\">\n <LanguageSelect\n language={language}\n options={languages}\n onChange={(lang) => handleLanguageChange(lang)}\n />\n <InputComponent\n label={label}\n variant={alertLevel}\n feedback={alertLabel}\n name={name}\n className=\"language-item\"\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n handleOnChange(e.target.value)\n }\n value={currentValue || ''}\n {...rest}\n />\n </Stack>\n </div>\n );\n};\n","import './Unbutton.scss';\n\nimport React, { FC } from 'react';\nimport { Button, ButtonProps } from '@entur/button';\nimport cx from 'classnames';\n\ninterface UnbuttonProps extends Omit<ButtonProps, 'variant'> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n children,\n className,\n ...rest\n}) => (\n <Button variant=\"primary\" {...rest} className={cx('eps-unbutton', className)}>\n {children}\n </Button>\n);\n","export function isFunction<T>(functionToCheck: any): functionToCheck is T {\n return (\n functionToCheck && {}.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","import { ReactNode, Component, ErrorInfo } from 'react';\n\nimport { isFunction } from './helpers';\n\ntype FallbackOptions = {\n retry: () => void;\n error: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n handleError?: (error: Error, errorInfo: ErrorInfo) => void;\n fallback: ReactNode | RenderProp;\n children: ReactNode;\n};\n\ntype State = {\n error: null | Error;\n};\n\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: Error): State {\n return {\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n // React always logs in development\n this.props.handleError?.(error, errorInfo);\n }\n\n render() {\n const { error } = this.state;\n const { fallback, children } = this.props;\n\n if (error) {\n if (isFunction<RenderProp>(fallback)) {\n return fallback({ retry: () => this.setState({ error: null }), error });\n }\n return fallback;\n }\n\n return children;\n }\n}\n","import React, { FC } from 'react';\nimport { localeDate, localeDateTime } from '@entur-partner/util';\n\nexport interface FormatDateTimeProps {\n date: string | Date;\n locale: string;\n [key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n date,\n locale,\n as: Component = 'main',\n hideTime,\n ...rest\n}) => {\n return (\n <Component {...rest}>\n {hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n </Component>\n );\n};\n","import React, { FC } from 'react';\n\nexport interface FormatCurrencyAmountProps {\n amount: number | string;\n as?: 'span' | React.ElementType;\n [key: string]: any;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n amount,\n as: Component = 'span',\n ...rest\n}) => {\n const parsedAmount = Number(amount) || 0;\n\n const formattedAmount = new Intl.NumberFormat('nb-NO', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n }).format(parsedAmount);\n\n return <Component {...rest}>{formattedAmount}</Component>;\n};\n","import './AuditInfo.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\nimport { isDateString, isDate } from '@entur-partner/util';\n\nimport { FormatDateTime } from './FormatDateTime';\nimport { Stack } from './Stack';\n\ninterface Item {\n label: string;\n value: Date | string;\n}\n\nexport interface AuditInfoProps {\n items: Item[];\n locale: string;\n className?: string;\n [key: string]: any;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n items,\n locale,\n className,\n ...rest\n}) => {\n const classNames = cx('ep-audit-info', className);\n return (\n <div className={classNames} {...rest}>\n {items.map(({ label, value }, i) => (\n <Stack space=\"small\" key={i}>\n <div className=\"ep-audit-info-label\">{label}</div>\n <div>\n {isDate(value) || isDateString(value) ? (\n <FormatDateTime date={value} locale={locale} />\n ) : (\n <span>{value}</span>\n )}\n </div>\n </Stack>\n ))}\n </div>\n );\n};\n","import './ConfirmModal.scss';\n\nimport React, { ReactNode, FC } from 'react';\nimport { Modal, ModalProps } from '@entur/modal';\nimport { Paragraph } from '@entur/typography';\nimport { isString } from '@entur-partner/util';\nimport { ButtonGroup, SecondaryButton, PrimaryButton } from '@entur/button';\n\nimport { Box } from './Box';\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n title: string;\n children: React.ReactNode;\n closeLabel: string;\n\n /** Deprecated use children prop */\n message?: ReactNode;\n /** Deprecated use open prop */\n isOpen?: boolean;\n /** Deprecated use onDismiss prop */\n onClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n buttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n onConfirm: () => void;\n messages: {\n confirm: string;\n cancel: string;\n };\n}\n\nexport type ConfirmModalProps =\n | CustomConfirmModalButtons\n | DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n isOpen = false,\n children,\n message,\n size = 'medium',\n buttons,\n onConfirm,\n messages,\n onClose,\n onDismiss,\n ...rest\n}) => {\n const childrenToRender = children ? children : message;\n const handleDismiss = onClose ? onClose : onDismiss;\n return (\n <Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n {isString(childrenToRender) ? (\n <Paragraph>{childrenToRender}</Paragraph>\n ) : (\n <Box paddingBottom=\"medium\">{childrenToRender}</Box>\n )}\n\n <ButtonGroup>\n {onConfirm ? (\n <>\n <SecondaryButton\n onClick={handleDismiss}\n data-testid=\"cancel-modal-button\"\n >\n {messages.cancel}\n </SecondaryButton>\n <PrimaryButton\n onClick={onConfirm}\n data-testid=\"confirm-modal-button\"\n >\n {messages.confirm}\n </PrimaryButton>\n </>\n ) : (\n buttons\n )}\n </ButtonGroup>\n </Modal>\n );\n};\n","import React, { useState, FC, ReactNode } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Location } from 'history';\nimport { ModalProps } from '@entur/modal';\n\nimport { ConfirmModal } from './ConfirmModal';\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n title: string;\n closeLabel: string;\n messages: {\n cancel: string;\n confirm: string;\n };\n children: ReactNode;\n shouldBlockNavigation: (location: Location) => boolean;\n}\n\ntype Status = 'BLOCKED' | 'ALLOW';\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n children,\n shouldBlockNavigation,\n ...rest\n}) => {\n const history = useHistory();\n\n const [status, setStatus] = useState<Status>('ALLOW');\n const [lastLocation, setLastLocation] = useState(history.location);\n\n const closeModal = () => {\n setStatus('ALLOW');\n };\n\n const allowNavigation = (nextLocation: Location): boolean => {\n if (shouldBlockNavigation(nextLocation) && status === 'ALLOW') {\n setStatus('BLOCKED');\n setLastLocation(nextLocation);\n return false;\n }\n return true;\n };\n\n const handleConfirm = () => {\n history.push(lastLocation.pathname);\n };\n\n return (\n <>\n <Prompt message={allowNavigation} />\n <ConfirmModal\n onDismiss={closeModal}\n open={status === 'BLOCKED'}\n onConfirm={handleConfirm}\n {...rest}\n >\n {children}\n </ConfirmModal>\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Pagination } from '@entur/menu';\n\nexport interface PagerProps {\n currentPage: number;\n collectionSize: number;\n pageSize: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n collectionSize,\n pageSize,\n onPageChange,\n currentPage,\n}) => {\n const pageCount = Math.ceil(collectionSize / pageSize);\n return (\n <Pagination\n pageCount={pageCount}\n currentPage={currentPage}\n onPageChange={(page) => {\n onPageChange(page);\n }}\n />\n );\n};\n","import './StatusLabel.scss';\n\nimport React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface StatusLabelProps {\n label: string;\n active: boolean;\n aggressiveInactive?: boolean;\n showBullet?: boolean;\n center?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n active = false,\n label = '',\n aggressiveInactive,\n showBullet,\n center,\n}) => {\n const bulletClassNames = cx('eps-status-label__bullet', {\n active,\n aggressive: aggressiveInactive,\n });\n const statusLabelClassNames = cx('eps-status-label', {\n center,\n });\n return (\n <div className={statusLabelClassNames}>\n {showBullet && <div className={bulletClassNames} />}\n <div>{label}</div>\n </div>\n );\n};\n","import React, { ReactNode, FC } from 'react';\nimport { BusinessCapability } from '@entur-partner/permission-client-node';\nimport { hasAllPermissions, hasOneOfPermissions } from '@entur-partner/util';\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n children: ReactNode;\n /** User permissions to check */\n permissions: BusinessCapability[];\n /** Check that at least one of the permissions is present */\n oneOf?: BusinessCapability[];\n /** Check that all of the permissions is present */\n all?: BusinessCapability[] | BusinessCapability;\n /** Rendered if check fails. Defaults to null */\n fallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n children,\n fallback = null,\n permissions,\n oneOf = [],\n all = [],\n}) => {\n const allIsAllowed = hasAllPermissions(all, permissions);\n\n const oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n const allowed = allIsAllowed && oneOfIsAllowed;\n return <>{allowed ? children : fallback}</>;\n};\n","import { BusinessCapability } from '@entur-partner/permission-client-node';\nimport React from 'react';\nimport {\n Route,\n Redirect,\n RouteComponentProps,\n RouteProps,\n} from 'react-router-dom';\n\nimport { PermissionCheck } from './PermissionCheck';\n\ninterface PermissionCheckedRouteProps\n extends RouteComponentProps,\n Omit<RouteProps, 'location'> {\n actualPermissions: BusinessCapability[];\n all?: BusinessCapability[];\n oneOf?: BusinessCapability[];\n onReject?: React.ReactNode;\n}\n\nexport const PermissionCheckedRoute = ({\n children,\n actualPermissions,\n all,\n oneOf,\n onReject,\n ...props\n}: PermissionCheckedRouteProps) => {\n const redirect = (\n <Redirect\n to={{\n pathname: '/unauthorized',\n state: { from: props.location },\n }}\n />\n );\n return (\n <PermissionCheck\n permissions={actualPermissions}\n all={all}\n oneOf={oneOf}\n fallback={onReject ? onReject : redirect}\n >\n <Route {...props}>{children}</Route>\n </PermissionCheck>\n );\n};\n","import './Breadcrumbs.scss';\nimport React, { FC, ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\nimport { BreadcrumbNavigation, BreadcrumbItem } from '@entur/menu';\n\nexport interface BreadcrumbsProps {\n pathname: string;\n onBreadcrumbLookup: (path: string) => string | undefined;\n prependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n prependBreadcrumbItem,\n pathname,\n onBreadcrumbLookup,\n}) => {\n const paths: string[] = pathname === '/' ? [] : ['/'];\n\n // support paths with and without trailing slash, except root\n const adjustedPathname =\n pathname.length > 1 ? pathname.replace(/\\/$/, '') : pathname;\n\n adjustedPathname.split('/').reduce((prev, curr) => {\n const path = `${prev}/${curr}`;\n paths.push(path);\n return path;\n });\n\n const breadcrumbs = paths\n .map((path) => ({ title: onBreadcrumbLookup(path), path }))\n .filter(({ title }) => title !== undefined);\n\n const breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n const isLast = i === breadcrumbs.length - 1;\n if (isLast) {\n return (\n <BreadcrumbItem key={path} as={'span'}>\n {title}\n </BreadcrumbItem>\n );\n }\n return (\n <BreadcrumbItem key={path} as={Link} to={path}>\n {title}\n </BreadcrumbItem>\n );\n });\n\n if (prependBreadcrumbItem) {\n return (\n <BreadcrumbNavigation>\n {[prependBreadcrumbItem, ...breadcrumbElements]}\n </BreadcrumbNavigation>\n );\n }\n\n return <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import React, { FC } from 'react';\nimport { Link as RouterLink, LinkProps } from 'react-router-dom';\nimport { Link as A } from '@entur/typography';\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n return (\n <A {...props} as={RouterLink}>\n {props.children}\n </A>\n );\n};\n","import './Text.scss';\n\nimport React, { ReactNode } from 'react';\nimport cx from 'classnames';\n\nimport { StyleColor, responsiveProp, Box } from './Box';\n\ntype StyleFontSize =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4';\n\ntype StyleFontWeight = 'body' | 'heading';\n\ntype StyleLineHeight =\n | 'extraSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'extraLarge'\n | 'extraLarge2'\n | 'extraLarge3'\n | 'extraLarge4'\n | 'extraLarge5'\n | 'extraLarge6'\n | 'extraLarge7';\n\nexport type ResponsiveStyleFontSize =\n | StyleFontSize\n | [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n | StyleLineHeight\n | [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n className?: string;\n as?: React.ElementType;\n children: ReactNode;\n\n fontSize?: ResponsiveStyleFontSize;\n lineHeight?: ResponsiveStyleLineHeight;\n color?: StyleColor;\n fontWeight?: StyleFontWeight;\n\n [key: string]: any;\n}\n\nexport const Text = ({\n as: component = 'span',\n children,\n fontSize,\n color,\n lineHeight,\n fontWeight,\n className,\n ...rest\n}: TextProps) => {\n const classes = [];\n\n fontSize && classes.push(...responsiveProp('eps-font-size-', fontSize));\n lineHeight && classes.push(...responsiveProp('eps-line-height-', lineHeight));\n fontWeight && classes.push('eps-font-weight-' + fontWeight);\n\n const classList = cx(classes, className);\n\n return (\n <Box as={component} color={color} className={classList} {...rest}>\n {children}\n </Box>\n );\n};\n"],"names":["responsiveProp","prefix","prop","Array","isArray","classes","push","Box","as","Component","children","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","className","rest","_excluded","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","classList","cx","React","createElement","Stack","space","stackItems","Children","toArray","length","Fragment","map","child","index","key","ActionBarLeft","ActionBarRight","ActionBar","LinkButton","Link","featureFlag","flag","process","env","window","localStorage","getItem","useFeatureToggle","FeatureToggle","feature","Environment","environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","title","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","altText","classnames","undefined","Menu","Content","UserMenu","messages","onLogout","onLanguageChange","userName","language","triggerClassList","useState","open","setOpen","id","CustomOverflowMenu","onOpenChange","CustomOverflowMenuItem","onClick","NorwayIcon","size","inline","switchLanguage","UKIcon","UploadIcon","style","transform","logout","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","useOutsideClick","SecondaryButton","role","ref","UserIcon","Heading6","DownArrowIcon","props","elementContainsEventTarget","element","event","contains","target","composed","composedPath","find","buttonRef","handler","useEffect","listener","current","document","addEventListener","removeEventListener","OrganisationDropDown","label","organisations","handleChange","onChange","selectedOrganisationId","selectedOrganisation","org","Dropdown","searchable","clearable","items","sort","a","b","name","localeCompare","organisation","value","initialSelectedItem","selectedValue","useEventListener","eventName","savedHandler","isSupported","eventListener","LanguageSelect","options","classNames","SegmentedControl","assertIsDefined","option","SegmentedChoice","required","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","variant","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","e","MultiLanguageInput","alertLabel","alertLevel","defaultLanguage","onBlur","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","Unbutton","Button","isFunction","functionToCheck","toString","call","ErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","errorInfo","handleError","render","fallback","retry","setState","FormatDateTime","date","locale","hideTime","localeDate","localeDateTime","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","AuditInfo","i","isDate","isDateString","ConfirmModal","isOpen","message","buttons","onConfirm","onClose","onDismiss","childrenToRender","handleDismiss","Modal","isString","Paragraph","ButtonGroup","cancel","PrimaryButton","confirm","RouteLeavingGuard","shouldBlockNavigation","history","useHistory","status","setStatus","location","lastLocation","setLastLocation","closeModal","allowNavigation","nextLocation","handleConfirm","pathname","Prompt","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","StatusLabel","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","PermissionCheck","permissions","oneOf","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","PermissionCheckedRoute","actualPermissions","onReject","redirect","Redirect","to","from","Route","Breadcrumbs","prependBreadcrumbItem","onBreadcrumbLookup","paths","adjustedPathname","replace","split","reduce","prev","curr","path","breadcrumbs","filter","breadcrumbElements","isLast","BreadcrumbItem","BreadcrumbNavigation","A","RouterLink","Text","component","fontSize","lineHeight","fontWeight"],"mappings":"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"}