@opengeoweb/webmap-react 9.0.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { Component, forwardRef, useContext, Children, isValidElement, cloneElement, useRef, useState, useEffect, useCallback, createRef, PureComponent } from 'react';
3
- import { legendImageStore, WMImageEventType, webmapUtils, getLegendGraphicURLForLayer, getMapImageStore, LayerType, WMBBOX, debugLogger, DebugType, WMLayer, WMJSMap, tilesettings } from '@opengeoweb/webmap';
3
+ import { legendImageStore, WMImageEventType, webmapUtils, getLegendGraphicURLForLayer, getMapImageStore, LayerType, WMBBOX, debugLogger, DebugType, WMLayer, WMJSMap, tilesettings, getWMJSMapById } from '@opengeoweb/webmap';
4
4
  import { CustomTooltip, ToolContainerDraggable, dateUtils, CustomIconButton } from '@opengeoweb/shared';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
  import * as ReactDOM from 'react-dom';
7
7
  import ReactDOM__default, { findDOMNode } from 'react-dom';
8
- import { Delete, Edit, DrawRegion, DrawPolygon, Location, DrawFIRLand, ArrowUp, Home, Add, Minus, Close } from '@opengeoweb/theme';
8
+ import { Delete, Edit, DrawRegion, DrawPolygon, Location, DrawFIRLand, ArrowUp, Home, Add, Minus } from '@opengeoweb/theme';
9
9
 
10
10
  /* *
11
11
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -7209,7 +7209,7 @@ const internal_processStyles = (tag, processor) => {
7209
7209
  }
7210
7210
  };
7211
7211
 
7212
- const _excluded$H = ["values", "unit", "step"];
7212
+ const _excluded$G = ["values", "unit", "step"];
7213
7213
  const sortBreakpointsValues = values => {
7214
7214
  const breakpointsAsArray = Object.keys(values).map(key => ({
7215
7215
  key,
@@ -7244,7 +7244,7 @@ function createBreakpoints(breakpoints) {
7244
7244
  unit = 'px',
7245
7245
  step = 5
7246
7246
  } = breakpoints,
7247
- other = _objectWithoutPropertiesLoose(breakpoints, _excluded$H);
7247
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded$G);
7248
7248
  const sortedValues = sortBreakpointsValues(values);
7249
7249
  const keys = Object.keys(sortedValues);
7250
7250
  function up(key) {
@@ -8335,7 +8335,7 @@ const styleFunctionSx = unstable_createStyleFunctionSx();
8335
8335
  styleFunctionSx.filterProps = ['sx'];
8336
8336
  var styleFunctionSx$1 = styleFunctionSx;
8337
8337
 
8338
- const _excluded$G = ["breakpoints", "palette", "spacing", "shape"];
8338
+ const _excluded$F = ["breakpoints", "palette", "spacing", "shape"];
8339
8339
  function createTheme$1(options = {}, ...args) {
8340
8340
  const {
8341
8341
  breakpoints: breakpointsInput = {},
@@ -8343,7 +8343,7 @@ function createTheme$1(options = {}, ...args) {
8343
8343
  spacing: spacingInput,
8344
8344
  shape: shapeInput = {}
8345
8345
  } = options,
8346
- other = _objectWithoutPropertiesLoose(options, _excluded$G);
8346
+ other = _objectWithoutPropertiesLoose(options, _excluded$F);
8347
8347
  const breakpoints = createBreakpoints(breakpointsInput);
8348
8348
  const spacing = createSpacing(spacingInput);
8349
8349
  let muiTheme = deepmerge({
@@ -8411,7 +8411,7 @@ process.env.NODE_ENV !== "production" ? GlobalStyles$1.propTypes /* remove-propt
8411
8411
  themeId: PropTypes.string
8412
8412
  } : void 0;
8413
8413
 
8414
- const _excluded$F = ["sx"];
8414
+ const _excluded$E = ["sx"];
8415
8415
  const splitProps = props => {
8416
8416
  var _props$theme$unstable, _props$theme;
8417
8417
  const result = {
@@ -8432,7 +8432,7 @@ function extendSxProp(props) {
8432
8432
  const {
8433
8433
  sx: inSx
8434
8434
  } = props,
8435
- other = _objectWithoutPropertiesLoose(props, _excluded$F);
8435
+ other = _objectWithoutPropertiesLoose(props, _excluded$E);
8436
8436
  const {
8437
8437
  systemProps,
8438
8438
  otherProps
@@ -8458,7 +8458,7 @@ function extendSxProp(props) {
8458
8458
 
8459
8459
  function r$2(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r$2(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx$1(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r$2(e))&&(n&&(n+=" "),n+=t);return n}
8460
8460
 
8461
- const _excluded$E = ["className", "component"];
8461
+ const _excluded$D = ["className", "component"];
8462
8462
  function createBox(options = {}) {
8463
8463
  const {
8464
8464
  themeId,
@@ -8476,7 +8476,7 @@ function createBox(options = {}) {
8476
8476
  className,
8477
8477
  component = 'div'
8478
8478
  } = _extendSxProp,
8479
- other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$E);
8479
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$D);
8480
8480
  return /*#__PURE__*/jsx(BoxRoot, _extends({
8481
8481
  as: component,
8482
8482
  ref: ref,
@@ -8487,29 +8487,7 @@ function createBox(options = {}) {
8487
8487
  return Box;
8488
8488
  }
8489
8489
 
8490
- const Box$2 = createBox();
8491
- process.env.NODE_ENV !== "production" ? Box$2.propTypes /* remove-proptypes */ = {
8492
- // ----------------------------- Warning --------------------------------
8493
- // | These PropTypes are generated from the TypeScript type definitions |
8494
- // | To update them edit the d.ts file and run "yarn proptypes" |
8495
- // ----------------------------------------------------------------------
8496
- /**
8497
- * @ignore
8498
- */
8499
- children: PropTypes.node,
8500
- /**
8501
- * The component used for the root node.
8502
- * Either a string to use a HTML element or a component.
8503
- */
8504
- component: PropTypes.elementType,
8505
- /**
8506
- * The system prop that allows defining system overrides as well as additional CSS styles.
8507
- */
8508
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
8509
- } : void 0;
8510
- var Box$3 = Box$2;
8511
-
8512
- const _excluded$D = ["variant"];
8490
+ const _excluded$C = ["variant"];
8513
8491
  function isEmpty$3(string) {
8514
8492
  return string.length === 0;
8515
8493
  }
@@ -8523,7 +8501,7 @@ function propsToClassKey(props) {
8523
8501
  const {
8524
8502
  variant
8525
8503
  } = props,
8526
- other = _objectWithoutPropertiesLoose(props, _excluded$D);
8504
+ other = _objectWithoutPropertiesLoose(props, _excluded$C);
8527
8505
  let classKey = variant || '';
8528
8506
  Object.keys(other).sort().forEach(key => {
8529
8507
  if (key === 'color') {
@@ -8535,7 +8513,7 @@ function propsToClassKey(props) {
8535
8513
  return classKey;
8536
8514
  }
8537
8515
 
8538
- const _excluded$C = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8516
+ const _excluded$B = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8539
8517
  function isEmpty$2(obj) {
8540
8518
  return Object.keys(obj).length === 0;
8541
8519
  }
@@ -8672,7 +8650,7 @@ function createStyled(input = {}) {
8672
8650
  // For more details: https://github.com/mui/material-ui/pull/37908
8673
8651
  overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))
8674
8652
  } = inputOptions,
8675
- options = _objectWithoutPropertiesLoose(inputOptions, _excluded$C);
8653
+ options = _objectWithoutPropertiesLoose(inputOptions, _excluded$B);
8676
8654
 
8677
8655
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
8678
8656
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :
@@ -9106,7 +9084,7 @@ function createMixins(breakpoints, mixins) {
9106
9084
  }, mixins);
9107
9085
  }
9108
9086
 
9109
- const _excluded$B = ["mode", "contrastThreshold", "tonalOffset"];
9087
+ const _excluded$A = ["mode", "contrastThreshold", "tonalOffset"];
9110
9088
  const light = {
9111
9089
  // The colors used to style the text.
9112
9090
  text: {
@@ -9275,7 +9253,7 @@ function createPalette(palette) {
9275
9253
  contrastThreshold = 3,
9276
9254
  tonalOffset = 0.2
9277
9255
  } = palette,
9278
- other = _objectWithoutPropertiesLoose(palette, _excluded$B);
9256
+ other = _objectWithoutPropertiesLoose(palette, _excluded$A);
9279
9257
  const primary = palette.primary || getDefaultPrimary(mode);
9280
9258
  const secondary = palette.secondary || getDefaultSecondary(mode);
9281
9259
  const error = palette.error || getDefaultError(mode);
@@ -9399,7 +9377,7 @@ const theme2 = createTheme({ palette: {
9399
9377
  return paletteOutput;
9400
9378
  }
9401
9379
 
9402
- const _excluded$A = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9380
+ const _excluded$z = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9403
9381
  function round(value) {
9404
9382
  return Math.round(value * 1e5) / 1e5;
9405
9383
  }
@@ -9430,7 +9408,7 @@ function createTypography(palette, typography) {
9430
9408
  allVariants,
9431
9409
  pxToRem: pxToRem2
9432
9410
  } = _ref,
9433
- other = _objectWithoutPropertiesLoose(_ref, _excluded$A);
9411
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$z);
9434
9412
  if (process.env.NODE_ENV !== 'production') {
9435
9413
  if (typeof fontSize !== 'number') {
9436
9414
  console.error('MUI: `fontSize` is required to be a number.');
@@ -9497,7 +9475,7 @@ function createShadow(...px) {
9497
9475
  const shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];
9498
9476
  var shadows$1 = shadows;
9499
9477
 
9500
- const _excluded$z = ["duration", "easing", "delay"];
9478
+ const _excluded$y = ["duration", "easing", "delay"];
9501
9479
  // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves
9502
9480
  // to learn the context in which each easing should be used.
9503
9481
  const easing = {
@@ -9548,7 +9526,7 @@ function createTransitions(inputTransitions) {
9548
9526
  easing: easingOption = mergedEasing.easeInOut,
9549
9527
  delay = 0
9550
9528
  } = options,
9551
- other = _objectWithoutPropertiesLoose(options, _excluded$z);
9529
+ other = _objectWithoutPropertiesLoose(options, _excluded$y);
9552
9530
  if (process.env.NODE_ENV !== 'production') {
9553
9531
  const isString = value => typeof value === 'string';
9554
9532
  // IE11 support, replace with Number.isNaN
@@ -9595,7 +9573,7 @@ const zIndex = {
9595
9573
  };
9596
9574
  var zIndex$1 = zIndex;
9597
9575
 
9598
- const _excluded$y = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9576
+ const _excluded$x = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9599
9577
  function createTheme(options = {}, ...args) {
9600
9578
  const {
9601
9579
  mixins: mixinsInput = {},
@@ -9603,7 +9581,7 @@ function createTheme(options = {}, ...args) {
9603
9581
  transitions: transitionsInput = {},
9604
9582
  typography: typographyInput = {}
9605
9583
  } = options,
9606
- other = _objectWithoutPropertiesLoose(options, _excluded$y);
9584
+ other = _objectWithoutPropertiesLoose(options, _excluded$x);
9607
9585
  if (options.vars) {
9608
9586
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`vars\` is a private field used for CSS variables support.
9609
9587
  Please use another name.` : formatMuiErrorMessage(18));
@@ -9874,7 +9852,7 @@ function mergeSlotProps(parameters) {
9874
9852
  };
9875
9853
  }
9876
9854
 
9877
- const _excluded$x = ["elementType", "externalSlotProps", "ownerState"];
9855
+ const _excluded$w = ["elementType", "externalSlotProps", "ownerState"];
9878
9856
  /**
9879
9857
  * @ignore - do not document.
9880
9858
  * Builds the props to be passed into the slot of an unstyled component.
@@ -9890,7 +9868,7 @@ function useSlotProps(parameters) {
9890
9868
  externalSlotProps,
9891
9869
  ownerState
9892
9870
  } = parameters,
9893
- rest = _objectWithoutPropertiesLoose(parameters, _excluded$x);
9871
+ rest = _objectWithoutPropertiesLoose(parameters, _excluded$w);
9894
9872
  const resolvedComponentsProps = resolveComponentProps(externalSlotProps, ownerState);
9895
9873
  const {
9896
9874
  props: mergedProps,
@@ -10528,8 +10506,8 @@ function getModalUtilityClass(slot) {
10528
10506
  }
10529
10507
  generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);
10530
10508
 
10531
- const _excluded$w = ["children", "closeAfterTransition", "component", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
10532
- const useUtilityClasses$p = ownerState => {
10509
+ const _excluded$v = ["children", "closeAfterTransition", "component", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
10510
+ const useUtilityClasses$o = ownerState => {
10533
10511
  const {
10534
10512
  open,
10535
10513
  exited
@@ -10598,7 +10576,7 @@ const ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props
10598
10576
  slotProps = {},
10599
10577
  slots = {}
10600
10578
  } = props,
10601
- other = _objectWithoutPropertiesLoose(props, _excluded$w);
10579
+ other = _objectWithoutPropertiesLoose(props, _excluded$v);
10602
10580
  const [exited, setExited] = React.useState(!open);
10603
10581
  const modal = React.useRef({});
10604
10582
  const mountNodeRef = React.useRef(null);
@@ -10670,7 +10648,7 @@ const ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props
10670
10648
  hideBackdrop,
10671
10649
  keepMounted
10672
10650
  });
10673
- const classes = useUtilityClasses$p(ownerState);
10651
+ const classes = useUtilityClasses$o(ownerState);
10674
10652
  const handleEnter = () => {
10675
10653
  setExited(false);
10676
10654
  if (onTransitionEnter) {
@@ -10894,7 +10872,7 @@ process.env.NODE_ENV !== "production" ? ModalUnstyled.propTypes /* remove-propty
10894
10872
  } : void 0;
10895
10873
  var ModalUnstyled$1 = ModalUnstyled;
10896
10874
 
10897
- const _excluded$v = ["onChange", "maxRows", "minRows", "style", "value"];
10875
+ const _excluded$u = ["onChange", "maxRows", "minRows", "style", "value"];
10898
10876
  function getStyleValue(value) {
10899
10877
  return parseInt(value, 10) || 0;
10900
10878
  }
@@ -10936,7 +10914,7 @@ const TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize
10936
10914
  style,
10937
10915
  value
10938
10916
  } = props,
10939
- other = _objectWithoutPropertiesLoose(props, _excluded$v);
10917
+ other = _objectWithoutPropertiesLoose(props, _excluded$u);
10940
10918
  const {
10941
10919
  current: isControlled
10942
10920
  } = React.useRef(value != null);
@@ -11152,8 +11130,8 @@ function getSvgIconUtilityClass(slot) {
11152
11130
  }
11153
11131
  generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
11154
11132
 
11155
- const _excluded$u = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
11156
- const useUtilityClasses$o = ownerState => {
11133
+ const _excluded$t = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
11134
+ const useUtilityClasses$n = ownerState => {
11157
11135
  const {
11158
11136
  color,
11159
11137
  fontSize,
@@ -11218,7 +11196,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11218
11196
  titleAccess,
11219
11197
  viewBox = '0 0 24 24'
11220
11198
  } = props,
11221
- other = _objectWithoutPropertiesLoose(props, _excluded$u);
11199
+ other = _objectWithoutPropertiesLoose(props, _excluded$t);
11222
11200
  const ownerState = _extends({}, props, {
11223
11201
  color,
11224
11202
  component,
@@ -11231,7 +11209,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11231
11209
  if (!inheritViewBox) {
11232
11210
  more.viewBox = viewBox;
11233
11211
  }
11234
- const classes = useUtilityClasses$o(ownerState);
11212
+ const classes = useUtilityClasses$n(ownerState);
11235
11213
  return /*#__PURE__*/jsxs(SvgIconRoot, _extends({
11236
11214
  as: component,
11237
11215
  className: clsx(classes.root, className),
@@ -12347,8 +12325,8 @@ function getPaperUtilityClass(slot) {
12347
12325
  }
12348
12326
  generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);
12349
12327
 
12350
- const _excluded$t = ["className", "component", "elevation", "square", "variant"];
12351
- const useUtilityClasses$n = ownerState => {
12328
+ const _excluded$s = ["className", "component", "elevation", "square", "variant"];
12329
+ const useUtilityClasses$m = ownerState => {
12352
12330
  const {
12353
12331
  square,
12354
12332
  elevation,
@@ -12402,14 +12380,14 @@ const Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {
12402
12380
  square = false,
12403
12381
  variant = 'elevation'
12404
12382
  } = props,
12405
- other = _objectWithoutPropertiesLoose(props, _excluded$t);
12383
+ other = _objectWithoutPropertiesLoose(props, _excluded$s);
12406
12384
  const ownerState = _extends({}, props, {
12407
12385
  component,
12408
12386
  elevation,
12409
12387
  square,
12410
12388
  variant
12411
12389
  });
12412
- const classes = useUtilityClasses$n(ownerState);
12390
+ const classes = useUtilityClasses$m(ownerState);
12413
12391
  if (process.env.NODE_ENV !== 'production') {
12414
12392
  // eslint-disable-next-line react-hooks/rules-of-hooks
12415
12393
  const theme = useTheme();
@@ -12560,7 +12538,7 @@ process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
12560
12538
  const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
12561
12539
  var touchRippleClasses$1 = touchRippleClasses;
12562
12540
 
12563
- const _excluded$s = ["center", "classes", "className"];
12541
+ const _excluded$r = ["center", "classes", "className"];
12564
12542
  let _$1 = t => t,
12565
12543
  _t,
12566
12544
  _t2,
@@ -12689,7 +12667,7 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
12689
12667
  classes = {},
12690
12668
  className
12691
12669
  } = props,
12692
- other = _objectWithoutPropertiesLoose(props, _excluded$s);
12670
+ other = _objectWithoutPropertiesLoose(props, _excluded$r);
12693
12671
  const [ripples, setRipples] = React.useState([]);
12694
12672
  const nextKey = React.useRef(0);
12695
12673
  const rippleCallback = React.useRef(null);
@@ -12890,8 +12868,8 @@ function getButtonBaseUtilityClass(slot) {
12890
12868
  const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
12891
12869
  var buttonBaseClasses$1 = buttonBaseClasses;
12892
12870
 
12893
- const _excluded$r = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
12894
- const useUtilityClasses$m = ownerState => {
12871
+ const _excluded$q = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
12872
+ const useUtilityClasses$l = ownerState => {
12895
12873
  const {
12896
12874
  disabled,
12897
12875
  focusVisible,
@@ -12992,7 +12970,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
12992
12970
  touchRippleRef,
12993
12971
  type
12994
12972
  } = props,
12995
- other = _objectWithoutPropertiesLoose(props, _excluded$r);
12973
+ other = _objectWithoutPropertiesLoose(props, _excluded$q);
12996
12974
  const buttonRef = React.useRef(null);
12997
12975
  const rippleRef = React.useRef(null);
12998
12976
  const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
@@ -13159,7 +13137,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
13159
13137
  tabIndex,
13160
13138
  focusVisible
13161
13139
  });
13162
- const classes = useUtilityClasses$m(ownerState);
13140
+ const classes = useUtilityClasses$l(ownerState);
13163
13141
  return /*#__PURE__*/jsxs(ButtonBaseRoot, _extends({
13164
13142
  as: ComponentProp,
13165
13143
  className: clsx(classes.root, className),
@@ -13355,8 +13333,8 @@ function getTypographyUtilityClass(slot) {
13355
13333
  }
13356
13334
  generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
13357
13335
 
13358
- const _excluded$q = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13359
- const useUtilityClasses$l = ownerState => {
13336
+ const _excluded$p = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13337
+ const useUtilityClasses$k = ownerState => {
13360
13338
  const {
13361
13339
  align,
13362
13340
  gutterBottom,
@@ -13439,7 +13417,7 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
13439
13417
  variant = 'body1',
13440
13418
  variantMapping = defaultVariantMapping
13441
13419
  } = props,
13442
- other = _objectWithoutPropertiesLoose(props, _excluded$q);
13420
+ other = _objectWithoutPropertiesLoose(props, _excluded$p);
13443
13421
  const ownerState = _extends({}, props, {
13444
13422
  align,
13445
13423
  color,
@@ -13452,7 +13430,7 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
13452
13430
  variantMapping
13453
13431
  });
13454
13432
  const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
13455
- const classes = useUtilityClasses$l(ownerState);
13433
+ const classes = useUtilityClasses$k(ownerState);
13456
13434
  return /*#__PURE__*/jsx(TypographyRoot, _extends({
13457
13435
  as: Component,
13458
13436
  ref: ref,
@@ -13620,7 +13598,7 @@ function getInputBaseUtilityClass(slot) {
13620
13598
  const inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
13621
13599
  var inputBaseClasses$1 = inputBaseClasses;
13622
13600
 
13623
- const _excluded$p = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"];
13601
+ const _excluded$o = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"];
13624
13602
  const rootOverridesResolver = (props, styles) => {
13625
13603
  const {
13626
13604
  ownerState
@@ -13633,7 +13611,7 @@ const inputOverridesResolver = (props, styles) => {
13633
13611
  } = props;
13634
13612
  return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];
13635
13613
  };
13636
- const useUtilityClasses$k = ownerState => {
13614
+ const useUtilityClasses$j = ownerState => {
13637
13615
  const {
13638
13616
  classes,
13639
13617
  color,
@@ -13851,7 +13829,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
13851
13829
  type = 'text',
13852
13830
  value: valueProp
13853
13831
  } = props,
13854
- other = _objectWithoutPropertiesLoose(props, _excluded$p);
13832
+ other = _objectWithoutPropertiesLoose(props, _excluded$o);
13855
13833
  const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
13856
13834
  const {
13857
13835
  current: isControlled
@@ -14025,7 +14003,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
14025
14003
  startAdornment,
14026
14004
  type
14027
14005
  });
14028
- const classes = useUtilityClasses$k(ownerState);
14006
+ const classes = useUtilityClasses$j(ownerState);
14029
14007
  const Root = slots.root || components.Root || InputBaseRoot;
14030
14008
  const rootProps = slotProps.root || componentsProps.root || {};
14031
14009
  const Input = slots.input || components.Input || InputBaseComponent;
@@ -14329,7 +14307,7 @@ var ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/jsx("path", {
14329
14307
  d: "M7 10l5 5 5-5z"
14330
14308
  }), 'ArrowDropDown');
14331
14309
 
14332
- const _excluded$o = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14310
+ const _excluded$n = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14333
14311
  const styles$1 = {
14334
14312
  entering: {
14335
14313
  opacity: 1
@@ -14366,7 +14344,7 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
14366
14344
  // eslint-disable-next-line react/prop-types
14367
14345
  TransitionComponent = Transition$1
14368
14346
  } = props,
14369
- other = _objectWithoutPropertiesLoose(props, _excluded$o);
14347
+ other = _objectWithoutPropertiesLoose(props, _excluded$n);
14370
14348
  const nodeRef = React.useRef(null);
14371
14349
  const handleRef = useForkRef(nodeRef, children.ref, ref);
14372
14350
  const normalizedTransitionCallback = callback => maybeIsAppearing => {
@@ -14527,8 +14505,8 @@ function getBackdropUtilityClass(slot) {
14527
14505
  }
14528
14506
  generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);
14529
14507
 
14530
- const _excluded$n = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14531
- const useUtilityClasses$j = ownerState => {
14508
+ const _excluded$m = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14509
+ const useUtilityClasses$i = ownerState => {
14532
14510
  const {
14533
14511
  classes,
14534
14512
  invisible
@@ -14582,12 +14560,12 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
14582
14560
  TransitionComponent = Fade$1,
14583
14561
  transitionDuration
14584
14562
  } = props,
14585
- other = _objectWithoutPropertiesLoose(props, _excluded$n);
14563
+ other = _objectWithoutPropertiesLoose(props, _excluded$m);
14586
14564
  const ownerState = _extends({}, props, {
14587
14565
  component,
14588
14566
  invisible
14589
14567
  });
14590
- const classes = useUtilityClasses$j(ownerState);
14568
+ const classes = useUtilityClasses$i(ownerState);
14591
14569
  const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;
14592
14570
  return /*#__PURE__*/jsx(TransitionComponent, _extends({
14593
14571
  in: open,
@@ -14736,8 +14714,8 @@ function getSwitchBaseUtilityClass(slot) {
14736
14714
  }
14737
14715
  generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
14738
14716
 
14739
- const _excluded$m = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
14740
- const useUtilityClasses$i = ownerState => {
14717
+ const _excluded$l = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
14718
+ const useUtilityClasses$h = ownerState => {
14741
14719
  const {
14742
14720
  classes,
14743
14721
  checked,
@@ -14800,7 +14778,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
14800
14778
  type,
14801
14779
  value
14802
14780
  } = props,
14803
- other = _objectWithoutPropertiesLoose(props, _excluded$m);
14781
+ other = _objectWithoutPropertiesLoose(props, _excluded$l);
14804
14782
  const [checked, setCheckedState] = useControlled({
14805
14783
  controlled: checkedProp,
14806
14784
  default: Boolean(defaultChecked),
@@ -14849,7 +14827,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
14849
14827
  disableFocusRipple,
14850
14828
  edge
14851
14829
  });
14852
- const classes = useUtilityClasses$i(ownerState);
14830
+ const classes = useUtilityClasses$h(ownerState);
14853
14831
  return /*#__PURE__*/jsxs(SwitchBaseRoot, _extends({
14854
14832
  component: "span",
14855
14833
  className: clsx(classes.root, className),
@@ -14992,7 +14970,7 @@ process.env.NODE_ENV !== "production" ? SwitchBase.propTypes = {
14992
14970
  } : void 0;
14993
14971
  var SwitchBase$1 = SwitchBase;
14994
14972
 
14995
- const _excluded$l = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
14973
+ const _excluded$k = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
14996
14974
  const ModalRoot = styled$1('div', {
14997
14975
  name: 'MuiModal',
14998
14976
  slot: 'Root',
@@ -15067,7 +15045,7 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
15067
15045
  // eslint-disable-next-line react/prop-types
15068
15046
  theme
15069
15047
  } = props,
15070
- other = _objectWithoutPropertiesLoose(props, _excluded$l);
15048
+ other = _objectWithoutPropertiesLoose(props, _excluded$k);
15071
15049
  const [exited, setExited] = React.useState(true);
15072
15050
  const commonProps = {
15073
15051
  closeAfterTransition,
@@ -15285,8 +15263,8 @@ var Modal$1 = Modal;
15285
15263
  const dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);
15286
15264
  var dividerClasses$1 = dividerClasses;
15287
15265
 
15288
- const _excluded$k = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
15289
- const useUtilityClasses$h = ownerState => {
15266
+ const _excluded$j = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
15267
+ const useUtilityClasses$g = ownerState => {
15290
15268
  const {
15291
15269
  classes,
15292
15270
  disableUnderline
@@ -15469,14 +15447,14 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
15469
15447
  slots = {},
15470
15448
  type = 'text'
15471
15449
  } = props,
15472
- other = _objectWithoutPropertiesLoose(props, _excluded$k);
15450
+ other = _objectWithoutPropertiesLoose(props, _excluded$j);
15473
15451
  const ownerState = _extends({}, props, {
15474
15452
  fullWidth,
15475
15453
  inputComponent,
15476
15454
  multiline,
15477
15455
  type
15478
15456
  });
15479
- const classes = useUtilityClasses$h(props);
15457
+ const classes = useUtilityClasses$g(props);
15480
15458
  const filledInputComponentsProps = {
15481
15459
  root: {
15482
15460
  ownerState
@@ -15704,8 +15682,8 @@ function getFormControlUtilityClasses(slot) {
15704
15682
  }
15705
15683
  generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);
15706
15684
 
15707
- const _excluded$j = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
15708
- const useUtilityClasses$g = ownerState => {
15685
+ const _excluded$i = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
15686
+ const useUtilityClasses$f = ownerState => {
15709
15687
  const {
15710
15688
  classes,
15711
15689
  margin,
@@ -15790,7 +15768,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
15790
15768
  size = 'medium',
15791
15769
  variant = 'outlined'
15792
15770
  } = props,
15793
- other = _objectWithoutPropertiesLoose(props, _excluded$j);
15771
+ other = _objectWithoutPropertiesLoose(props, _excluded$i);
15794
15772
  const ownerState = _extends({}, props, {
15795
15773
  color,
15796
15774
  component,
@@ -15803,7 +15781,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
15803
15781
  size,
15804
15782
  variant
15805
15783
  });
15806
- const classes = useUtilityClasses$g(ownerState);
15784
+ const classes = useUtilityClasses$f(ownerState);
15807
15785
  const [adornedStart, setAdornedStart] = React.useState(() => {
15808
15786
  // We need to iterate through the children and find the Input in order
15809
15787
  // to fully support server-side rendering.
@@ -15985,9 +15963,9 @@ function getFormHelperTextUtilityClasses(slot) {
15985
15963
  const formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);
15986
15964
  var formHelperTextClasses$1 = formHelperTextClasses;
15987
15965
 
15988
- var _span$3;
15989
- const _excluded$i = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
15990
- const useUtilityClasses$f = ownerState => {
15966
+ var _span$2;
15967
+ const _excluded$h = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
15968
+ const useUtilityClasses$e = ownerState => {
15991
15969
  const {
15992
15970
  classes,
15993
15971
  contained,
@@ -16045,7 +16023,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16045
16023
  className,
16046
16024
  component = 'p'
16047
16025
  } = props,
16048
- other = _objectWithoutPropertiesLoose(props, _excluded$i);
16026
+ other = _objectWithoutPropertiesLoose(props, _excluded$h);
16049
16027
  const muiFormControl = useFormControl();
16050
16028
  const fcs = formControlState({
16051
16029
  props,
@@ -16063,7 +16041,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16063
16041
  focused: fcs.focused,
16064
16042
  required: fcs.required
16065
16043
  });
16066
- const classes = useUtilityClasses$f(ownerState);
16044
+ const classes = useUtilityClasses$e(ownerState);
16067
16045
  return /*#__PURE__*/jsx(FormHelperTextRoot, _extends({
16068
16046
  as: component,
16069
16047
  ownerState: ownerState,
@@ -16071,7 +16049,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16071
16049
  ref: ref
16072
16050
  }, other, {
16073
16051
  children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue
16074
- _span$3 || (_span$3 = /*#__PURE__*/jsx("span", {
16052
+ _span$2 || (_span$2 = /*#__PURE__*/jsx("span", {
16075
16053
  className: "notranslate",
16076
16054
  children: "\u200B"
16077
16055
  })) : children
@@ -16143,8 +16121,8 @@ function getFormLabelUtilityClasses(slot) {
16143
16121
  const formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);
16144
16122
  var formLabelClasses$1 = formLabelClasses;
16145
16123
 
16146
- const _excluded$h = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
16147
- const useUtilityClasses$e = ownerState => {
16124
+ const _excluded$g = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
16125
+ const useUtilityClasses$d = ownerState => {
16148
16126
  const {
16149
16127
  classes,
16150
16128
  color,
@@ -16208,7 +16186,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
16208
16186
  className,
16209
16187
  component = 'label'
16210
16188
  } = props,
16211
- other = _objectWithoutPropertiesLoose(props, _excluded$h);
16189
+ other = _objectWithoutPropertiesLoose(props, _excluded$g);
16212
16190
  const muiFormControl = useFormControl();
16213
16191
  const fcs = formControlState({
16214
16192
  props,
@@ -16224,7 +16202,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
16224
16202
  focused: fcs.focused,
16225
16203
  required: fcs.required
16226
16204
  });
16227
- const classes = useUtilityClasses$e(ownerState);
16205
+ const classes = useUtilityClasses$d(ownerState);
16228
16206
  return /*#__PURE__*/jsxs(FormLabelRoot, _extends({
16229
16207
  as: component,
16230
16208
  ownerState: ownerState,
@@ -16320,7 +16298,7 @@ const gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'ite
16320
16298
  // grid sizes for all breakpoints
16321
16299
  ...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);
16322
16300
 
16323
- const _excluded$g = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
16301
+ const _excluded$f = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
16324
16302
  function getOffset(val) {
16325
16303
  const parse = parseFloat(val);
16326
16304
  return `${parse}${String(val).replace(String(parse), '') || 'px'}`;
@@ -16629,7 +16607,7 @@ function resolveSpacingClasses(spacing, breakpoints) {
16629
16607
  });
16630
16608
  return classes;
16631
16609
  }
16632
- const useUtilityClasses$d = ownerState => {
16610
+ const useUtilityClasses$c = ownerState => {
16633
16611
  const {
16634
16612
  classes,
16635
16613
  container,
@@ -16680,7 +16658,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
16680
16658
  wrap = 'wrap',
16681
16659
  zeroMinWidth = false
16682
16660
  } = props,
16683
- other = _objectWithoutPropertiesLoose(props, _excluded$g);
16661
+ other = _objectWithoutPropertiesLoose(props, _excluded$f);
16684
16662
  const rowSpacing = rowSpacingProp || spacing;
16685
16663
  const columnSpacing = columnSpacingProp || spacing;
16686
16664
  const columnsContext = React.useContext(GridContext$1);
@@ -16708,7 +16686,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
16708
16686
  }, breakpointsValues, {
16709
16687
  breakpoints: breakpoints.keys
16710
16688
  });
16711
- const classes = useUtilityClasses$d(ownerState);
16689
+ const classes = useUtilityClasses$c(ownerState);
16712
16690
  return /*#__PURE__*/jsx(GridContext$1.Provider, {
16713
16691
  value: columns,
16714
16692
  children: /*#__PURE__*/jsx(GridRoot, _extends({
@@ -16863,7 +16841,7 @@ if (process.env.NODE_ENV !== 'production') {
16863
16841
  }
16864
16842
  var Grid$1 = Grid;
16865
16843
 
16866
- const _excluded$f = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
16844
+ const _excluded$e = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
16867
16845
  function getScale(value) {
16868
16846
  return `scale(${value}, ${value ** 2})`;
16869
16847
  }
@@ -16907,7 +16885,7 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
16907
16885
  // eslint-disable-next-line react/prop-types
16908
16886
  TransitionComponent = Transition$1
16909
16887
  } = props,
16910
- other = _objectWithoutPropertiesLoose(props, _excluded$f);
16888
+ other = _objectWithoutPropertiesLoose(props, _excluded$e);
16911
16889
  const timer = React.useRef();
16912
16890
  const autoTimeout = React.useRef();
16913
16891
  const theme = useTheme();
@@ -17111,8 +17089,8 @@ process.env.NODE_ENV !== "production" ? Grow.propTypes /* remove-proptypes */ =
17111
17089
  Grow.muiSupportAuto = true;
17112
17090
  var Grow$1 = Grow;
17113
17091
 
17114
- const _excluded$e = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
17115
- const useUtilityClasses$c = ownerState => {
17092
+ const _excluded$d = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
17093
+ const useUtilityClasses$b = ownerState => {
17116
17094
  const {
17117
17095
  classes,
17118
17096
  disableUnderline
@@ -17224,8 +17202,8 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {
17224
17202
  slots = {},
17225
17203
  type = 'text'
17226
17204
  } = props,
17227
- other = _objectWithoutPropertiesLoose(props, _excluded$e);
17228
- const classes = useUtilityClasses$c(props);
17205
+ other = _objectWithoutPropertiesLoose(props, _excluded$d);
17206
+ const classes = useUtilityClasses$b(props);
17229
17207
  const ownerState = {
17230
17208
  disableUnderline
17231
17209
  };
@@ -17441,169 +17419,6 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
17441
17419
  Input.muiName = 'Input';
17442
17420
  var Input$1 = Input;
17443
17421
 
17444
- function getInputAdornmentUtilityClass(slot) {
17445
- return generateUtilityClass('MuiInputAdornment', slot);
17446
- }
17447
- const inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);
17448
- var inputAdornmentClasses$1 = inputAdornmentClasses;
17449
-
17450
- var _span$2;
17451
- const _excluded$d = ["children", "className", "component", "disablePointerEvents", "disableTypography", "position", "variant"];
17452
- const overridesResolver$1 = (props, styles) => {
17453
- const {
17454
- ownerState
17455
- } = props;
17456
- return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];
17457
- };
17458
- const useUtilityClasses$b = ownerState => {
17459
- const {
17460
- classes,
17461
- disablePointerEvents,
17462
- hiddenLabel,
17463
- position,
17464
- size,
17465
- variant
17466
- } = ownerState;
17467
- const slots = {
17468
- root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]
17469
- };
17470
- return composeClasses(slots, getInputAdornmentUtilityClass, classes);
17471
- };
17472
- const InputAdornmentRoot = styled$1('div', {
17473
- name: 'MuiInputAdornment',
17474
- slot: 'Root',
17475
- overridesResolver: overridesResolver$1
17476
- })(({
17477
- theme,
17478
- ownerState
17479
- }) => _extends({
17480
- display: 'flex',
17481
- height: '0.01em',
17482
- // Fix IE11 flexbox alignment. To remove at some point.
17483
- maxHeight: '2em',
17484
- alignItems: 'center',
17485
- whiteSpace: 'nowrap',
17486
- color: (theme.vars || theme).palette.action.active
17487
- }, ownerState.variant === 'filled' && {
17488
- // Styles applied to the root element if `variant="filled"`.
17489
- [`&.${inputAdornmentClasses$1.positionStart}&:not(.${inputAdornmentClasses$1.hiddenLabel})`]: {
17490
- marginTop: 16
17491
- }
17492
- }, ownerState.position === 'start' && {
17493
- // Styles applied to the root element if `position="start"`.
17494
- marginRight: 8
17495
- }, ownerState.position === 'end' && {
17496
- // Styles applied to the root element if `position="end"`.
17497
- marginLeft: 8
17498
- }, ownerState.disablePointerEvents === true && {
17499
- // Styles applied to the root element if `disablePointerEvents={true}`.
17500
- pointerEvents: 'none'
17501
- }));
17502
- const InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {
17503
- const props = useThemeProps({
17504
- props: inProps,
17505
- name: 'MuiInputAdornment'
17506
- });
17507
- const {
17508
- children,
17509
- className,
17510
- component = 'div',
17511
- disablePointerEvents = false,
17512
- disableTypography = false,
17513
- position,
17514
- variant: variantProp
17515
- } = props,
17516
- other = _objectWithoutPropertiesLoose(props, _excluded$d);
17517
- const muiFormControl = useFormControl() || {};
17518
- let variant = variantProp;
17519
- if (variantProp && muiFormControl.variant) {
17520
- if (process.env.NODE_ENV !== 'production') {
17521
- if (variantProp === muiFormControl.variant) {
17522
- console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');
17523
- }
17524
- }
17525
- }
17526
- if (muiFormControl && !variant) {
17527
- variant = muiFormControl.variant;
17528
- }
17529
- const ownerState = _extends({}, props, {
17530
- hiddenLabel: muiFormControl.hiddenLabel,
17531
- size: muiFormControl.size,
17532
- disablePointerEvents,
17533
- position,
17534
- variant
17535
- });
17536
- const classes = useUtilityClasses$b(ownerState);
17537
- return /*#__PURE__*/jsx(FormControlContext$1.Provider, {
17538
- value: null,
17539
- children: /*#__PURE__*/jsx(InputAdornmentRoot, _extends({
17540
- as: component,
17541
- ownerState: ownerState,
17542
- className: clsx(classes.root, className),
17543
- ref: ref
17544
- }, other, {
17545
- children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/jsx(Typography$1, {
17546
- color: "text.secondary",
17547
- children: children
17548
- }) : /*#__PURE__*/jsxs(React.Fragment, {
17549
- children: [position === 'start' ? /* notranslate needed while Google Translate will not fix zero-width space issue */_span$2 || (_span$2 = /*#__PURE__*/jsx("span", {
17550
- className: "notranslate",
17551
- children: "\u200B"
17552
- })) : null, children]
17553
- })
17554
- }))
17555
- });
17556
- });
17557
- process.env.NODE_ENV !== "production" ? InputAdornment.propTypes /* remove-proptypes */ = {
17558
- // ----------------------------- Warning --------------------------------
17559
- // | These PropTypes are generated from the TypeScript type definitions |
17560
- // | To update them edit the d.ts file and run "yarn proptypes" |
17561
- // ----------------------------------------------------------------------
17562
- /**
17563
- * The content of the component, normally an `IconButton` or string.
17564
- */
17565
- children: PropTypes.node,
17566
- /**
17567
- * Override or extend the styles applied to the component.
17568
- */
17569
- classes: PropTypes.object,
17570
- /**
17571
- * @ignore
17572
- */
17573
- className: PropTypes.string,
17574
- /**
17575
- * The component used for the root node.
17576
- * Either a string to use a HTML element or a component.
17577
- */
17578
- component: PropTypes.elementType,
17579
- /**
17580
- * Disable pointer events on the root.
17581
- * This allows for the content of the adornment to focus the `input` on click.
17582
- * @default false
17583
- */
17584
- disablePointerEvents: PropTypes.bool,
17585
- /**
17586
- * If children is a string then disable wrapping in a Typography component.
17587
- * @default false
17588
- */
17589
- disableTypography: PropTypes.bool,
17590
- /**
17591
- * The position this adornment should appear relative to the `Input`.
17592
- */
17593
- position: PropTypes.oneOf(['end', 'start']).isRequired,
17594
- /**
17595
- * The system prop that allows defining system overrides as well as additional CSS styles.
17596
- */
17597
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
17598
- /**
17599
- * The variant to use.
17600
- * Note: If you are using the `TextField` component or the `FormControl` component
17601
- * you do not have to set this manually.
17602
- */
17603
- variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])
17604
- } : void 0;
17605
- var InputAdornment$1 = InputAdornment;
17606
-
17607
17422
  function getInputLabelUtilityClasses(slot) {
17608
17423
  return generateUtilityClass('MuiInputLabel', slot);
17609
17424
  }
@@ -53172,7 +52987,8 @@ const SelectField = ({
53172
52987
 
53173
52988
  const IntersectionSelect = ({
53174
52989
  intersections,
53175
- onChangeIntersection
52990
+ onChangeIntersection,
52991
+ isDisabled: _isDisabled = false
53176
52992
  }) => {
53177
52993
  const [activeIntersection, setActiveIntersection] = React__default.useState(0);
53178
52994
  return /*#__PURE__*/React__default.createElement(Grid$1, {
@@ -53191,8 +53007,13 @@ const IntersectionSelect = ({
53191
53007
  onChange: event => {
53192
53008
  const featureIndex = parseInt(event.target.value, 10);
53193
53009
  setActiveIntersection(featureIndex);
53194
- onChangeIntersection(intersections[featureIndex].geojson);
53195
- }
53010
+ const {
53011
+ geojson,
53012
+ title
53013
+ } = intersections[featureIndex];
53014
+ onChangeIntersection(geojson, title);
53015
+ },
53016
+ disabled: _isDisabled
53196
53017
  }, intersections.map((listItem, index) => {
53197
53018
  return /*#__PURE__*/React__default.createElement(MenuItem$1, {
53198
53019
  key: listItem.title,
@@ -55647,7 +55468,12 @@ class ReactMapView extends React.Component {
55647
55468
  onMapPinChangeLocation({
55648
55469
  mapPinLocation: {
55649
55470
  lat: mapPinLatLonCoordinate.lat,
55650
- lon: mapPinLatLonCoordinate.lon
55471
+ lon: mapPinLatLonCoordinate.lon,
55472
+ projectionX: mapPinLatLonCoordinate.projectionX,
55473
+ projectionY: mapPinLatLonCoordinate.projectionY,
55474
+ screenOffsetX: mapPinLatLonCoordinate.screenOffsetX,
55475
+ screenOffsetY: mapPinLatLonCoordinate.screenOffsetY,
55476
+ srs: mapPinLatLonCoordinate.srs
55651
55477
  },
55652
55478
  mapId
55653
55479
  });
@@ -56859,6 +56685,224 @@ const MapTime = ({
56859
56685
  }, mapTime)));
56860
56686
  };
56861
56687
 
56688
+ /* *
56689
+ * Licensed under the Apache License, Version 2.0 (the "License");
56690
+ * you may not use this file except in compliance with the License.
56691
+ * You may obtain a copy of the License at
56692
+ *
56693
+ * http://www.apache.org/licenses/LICENSE-2.0
56694
+ *
56695
+ * Unless required by applicable law or agreed to in writing, software
56696
+ * distributed under the License is distributed on an "AS IS" BASIS,
56697
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
56698
+ * See the License for the specific language governing permissions and
56699
+ * limitations under the License.
56700
+ *
56701
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
56702
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
56703
+ * */
56704
+ const MS_IN_HOUR = 3600 * 1000;
56705
+ // The following is necessary to allow to assign to the CanvasRenderingContext2D ctx property
56706
+ /* eslint-disable no-param-reassign */
56707
+ /**
56708
+ * This component registers to a webmap instance and draws axis for height and time in the map using the Map Canvas.
56709
+ */
56710
+ const ProfileAxis = ({
56711
+ mapId
56712
+ }) => {
56713
+ const drawAxisOnMapDisplay = (ctx, webMap, axisStyle) => {
56714
+ const bbox = webMap.getBBOX();
56715
+ const width = webMap.getWidth();
56716
+ const height = webMap.getHeight();
56717
+ const offY = height - 50;
56718
+ const offX = 20;
56719
+ try {
56720
+ const startDate = new Date(bbox.left);
56721
+ const endDate = new Date(bbox.right);
56722
+ webMap.setMessage(`${startDate.toDateString()}, ${startDate.getUTCHours()} to ${endDate.getUTCHours()} hours UTC`);
56723
+ } catch (e) {
56724
+ webMap.setMessage('');
56725
+ }
56726
+ // Draw the horizontal time axis
56727
+ drawTimeAxis(ctx, bbox, offX, offY, width, height, axisStyle);
56728
+ // Draw the vertical elevation axis
56729
+ drawHeightAxis(ctx, bbox, offX, offY, width, height, axisStyle);
56730
+ // Draw the mouse cursor
56731
+ drawCursor(ctx, bbox, offX, offY, width, height, webMap, axisStyle);
56732
+ // Draw the layer name
56733
+ drawLayerName(ctx, bbox, offX, offY, width, height, webMap, axisStyle);
56734
+ };
56735
+ React__default.useEffect(() => {
56736
+ const axisStyle = {
56737
+ backgroundColor: 'white',
56738
+ color: 'black',
56739
+ fontStyleSmall: '10px Roboto, Helvetica, Arial',
56740
+ fontStyleBig: '14px Roboto, Helvetica, Arial'
56741
+ };
56742
+ // Draw on map canvas callback function
56743
+ const beforeCanvasDisplay = ctx => {
56744
+ drawAxisOnMapDisplay(ctx, getWMJSMapById(mapId), axisStyle);
56745
+ };
56746
+ // unMount logic
56747
+ const unMount = () => {
56748
+ const webMap = getWMJSMapById(mapId);
56749
+ if (webMap) {
56750
+ webMap.removeListener('beforecanvasdisplay', beforeCanvasDisplay);
56751
+ }
56752
+ };
56753
+ // Mount logic
56754
+ const webMap = getWMJSMapById(mapId);
56755
+ if (webMap && webMap.getProjection().srs === 'GFI:TIME_ELEVATION') {
56756
+ webMap.hideScaleBar();
56757
+ webMap.hideMouseCursorProperties();
56758
+ webMap.setTimeOffset('');
56759
+ webMap.addListener('beforecanvasdisplay', beforeCanvasDisplay, true);
56760
+ webMap.draw();
56761
+ }
56762
+ return unMount;
56763
+ }, [mapId]);
56764
+ return null;
56765
+ };
56766
+ /**
56767
+ * Calculates a time spacing. This is used to place labels on the X axis (time axis).
56768
+ * To make readable time labels, the time spacing is discretized to rounded times,
56769
+ * The time spacing changes according to zoom level.
56770
+ * @param bbox
56771
+ * @param width
56772
+ * @returns
56773
+ */
56774
+ const getTimeSpacingInMs = (bbox, width) => {
56775
+ const hoursInView = Math.abs(bbox.right - bbox.left) / (MS_IN_HOUR * width / 500);
56776
+ return Math.pow(2, Math.round((Math.log10(hoursInView / 10) + 0.5) / Math.log10(2)) - 1) * MS_IN_HOUR;
56777
+ };
56778
+ const drawTimeAxis = (ctx, bbox, offsetX, offsetY, width, height, axisStyle) => {
56779
+ const {
56780
+ backgroundColor,
56781
+ color,
56782
+ fontStyleSmall,
56783
+ fontStyleBig
56784
+ } = axisStyle;
56785
+ // Draw rectangle with backgroundColor for axis
56786
+ ctx.textBaseline = 'middle';
56787
+ ctx.fillStyle = backgroundColor;
56788
+ ctx.fillRect(0, offsetY, width, 50);
56789
+ ctx.font = fontStyleSmall;
56790
+ ctx.textAlign = 'left';
56791
+ ctx.fillStyle = color;
56792
+ ctx.strokeStyle = color;
56793
+ const ticksMs = getTimeSpacingInMs(bbox, width);
56794
+ const roundedTimeLeftMs = Math.round(bbox.left / ticksMs) * ticksMs;
56795
+ const roundedTimeRightMs = Math.round(bbox.right / ticksMs) * ticksMs;
56796
+ const numHoursInView = Math.min((roundedTimeRightMs - roundedTimeLeftMs) / ticksMs + 1, 100);
56797
+ for (let hoursToPlot = 0; hoursToPlot < numHoursInView; hoursToPlot += 1) {
56798
+ const timeMs = roundedTimeLeftMs + hoursToPlot * ticksMs;
56799
+ const posX = Math.round((timeMs - bbox.left) / (bbox.right - bbox.left) * width) + 0.5;
56800
+ ctx.beginPath();
56801
+ ctx.moveTo(posX, offsetY + 0);
56802
+ ctx.lineTo(posX, offsetY + 10);
56803
+ const date = new Date(timeMs);
56804
+ const hourString = `0${date.getUTCHours()}`.slice(-2);
56805
+ const minuteString = `:${`0${date.getUTCMinutes()}`.slice(-2)}`;
56806
+ const txt = `${hourString}${minuteString}`;
56807
+ ctx.stroke();
56808
+ ctx.fillText(`${txt}`, posX - 13, offsetY + 16);
56809
+ }
56810
+ // Draw units in map
56811
+ ctx.font = fontStyleBig;
56812
+ ctx.fillText('time UTC (h)', width / 2 - 10, offsetY + 38);
56813
+ };
56814
+ /**
56815
+ * Calculates a spacing for the height axis. This is used to place labels on the Y axis (height axis).
56816
+ * To make readable height labels, the height spacing is discretized to rounded elevations,
56817
+ * The spacing changes according to zoom level.
56818
+ * @param bbox
56819
+ * @param height
56820
+ * @returns
56821
+ */
56822
+ const getHeightSpacingInMs = (bbox, height) => {
56823
+ const numMeterInView = Math.abs(bbox.bottom - bbox.top) / height;
56824
+ return Math.pow(10, Math.round(Math.log10(numMeterInView * 100) + 0.5) - 1);
56825
+ };
56826
+ const drawHeightAxis = (ctx, bbox, offsetX, offsetY, width, height, axisStyle) => {
56827
+ const {
56828
+ backgroundColor,
56829
+ color,
56830
+ fontStyleSmall,
56831
+ fontStyleBig
56832
+ } = axisStyle;
56833
+ // Draw rectangle in backgroundColor for axis
56834
+ ctx.fillStyle = backgroundColor;
56835
+ ctx.fillRect(0, 0, 60 + offsetX, height);
56836
+ ctx.font = fontStyleSmall;
56837
+ ctx.textAlign = 'right';
56838
+ ctx.fillStyle = color;
56839
+ const ticksM = getHeightSpacingInMs(bbox, height);
56840
+ const roundedElevBottomMeter = Math.round(bbox.bottom / ticksM) * ticksM;
56841
+ const roundedElevTopMeter = Math.round(bbox.top / ticksM) * ticksM;
56842
+ const numKmInView = Math.min((roundedElevTopMeter - roundedElevBottomMeter) / ticksM + 1, 100);
56843
+ for (let kmToPlot = 0; kmToPlot < numKmInView; kmToPlot += 1) {
56844
+ const valueInKm = roundedElevBottomMeter + kmToPlot * ticksM;
56845
+ const posY = Math.round((bbox.top - valueInKm) / (bbox.top - bbox.bottom) * height) + 0.5;
56846
+ ctx.beginPath();
56847
+ ctx.moveTo(offsetX + 50, posY);
56848
+ ctx.lineTo(offsetX + 60, posY);
56849
+ ctx.stroke();
56850
+ const txt = valueInKm;
56851
+ ctx.fillText(`${txt}`, offsetX + 48, posY + 2);
56852
+ }
56853
+ // Draw height unit in axis
56854
+ ctx.font = axisStyle.fontStyleBig;
56855
+ ctx.save();
56856
+ ctx.translate(5, height / 2 - 50);
56857
+ ctx.rotate(-Math.PI / 2);
56858
+ ctx.font = fontStyleBig;
56859
+ ctx.fillText('height (m)', 5, 5);
56860
+ ctx.restore();
56861
+ ctx.fillStyle = backgroundColor;
56862
+ ctx.fillRect(0, height - 60, offsetX + 60, 60);
56863
+ // Draw line border for map
56864
+ ctx.moveTo(offsetX + 60, offsetY + 0.5);
56865
+ ctx.lineTo(width, offsetY + 0.5);
56866
+ ctx.moveTo(offsetX + 60.5, 0);
56867
+ ctx.lineTo(offsetX + 60.5, height - 50);
56868
+ ctx.stroke();
56869
+ };
56870
+ const drawCursor = (ctx, bbox, offsetX, offsetY, width, height, webMapJS, axisStyle) => {
56871
+ // Do not draw if mouse is not in the map
56872
+ if (webMapJS.mouseX < 5 && webMapJS.mouseY < 5) {
56873
+ return;
56874
+ }
56875
+ /* Draw cursor line */
56876
+ const mouseX = Math.round(webMapJS.mouseX) + 0.5;
56877
+ const mouseY = Math.round(webMapJS.mouseY) + 0.5;
56878
+ ctx.strokeStyle = '#303030';
56879
+ ctx.setLineDash([15, 5]);
56880
+ ctx.beginPath();
56881
+ ctx.moveTo(0, mouseY);
56882
+ ctx.lineTo(width, mouseY);
56883
+ ctx.moveTo(mouseX, 0);
56884
+ ctx.lineTo(mouseX, height);
56885
+ ctx.stroke();
56886
+ ctx.strokeStyle = axisStyle.color;
56887
+ ctx.lineWidth = 1;
56888
+ ctx.setLineDash([]);
56889
+ };
56890
+ const drawLayerName = (ctx, bbox, offsetX, offsetY, width, height, webMapJS, axisStyle) => {
56891
+ // Draw layername
56892
+ const layers = webMapJS.getLayers();
56893
+ if (layers.length > 0) {
56894
+ ctx.textBaseline = 'middle';
56895
+ ctx.fillStyle = axisStyle.backgroundColor;
56896
+ ctx.font = axisStyle.fontStyleBig;
56897
+ ctx.textAlign = 'left';
56898
+ ctx.fillStyle = axisStyle.color;
56899
+ ctx.strokeStyle = axisStyle.color;
56900
+ ctx.fillText(`Layer: ${layers[0].name}`, 10, offsetY + 38);
56901
+ }
56902
+ };
56903
+ // Re-enable the previousely disabled eslint rule
56904
+ /* eslint-enable no-param-reassign */
56905
+
56862
56906
  const MapView = _a => {
56863
56907
  var {
56864
56908
  children,
@@ -56912,7 +56956,9 @@ const MapView = _a => {
56912
56956
  top: 0,
56913
56957
  position: 'absolute'
56914
56958
  }
56915
- }, /*#__PURE__*/React.createElement(ZoomControls, {
56959
+ }, /*#__PURE__*/React.createElement(ProfileAxis, {
56960
+ mapId: mapId
56961
+ }), /*#__PURE__*/React.createElement(ZoomControls, {
56916
56962
  onZoomIn: () => {
56917
56963
  const wmjsMap = webmapUtils.getWMJSMapById(mapId);
56918
56964
  wmjsMap.zoomIn(undefined);
@@ -57002,53 +57048,6 @@ const MapWarningProperties = ({
57002
57048
  }, "Identifier: ", selectedFeatureProperties.identifier)));
57003
57049
  };
57004
57050
 
57005
- /* *
57006
- * Licensed under the Apache License, Version 2.0 (the "License");
57007
- * you may not use this file except in compliance with the License.
57008
- * You may obtain a copy of the License at
57009
- *
57010
- * http://www.apache.org/licenses/LICENSE-2.0
57011
- *
57012
- * Unless required by applicable law or agreed to in writing, software
57013
- * distributed under the License is distributed on an "AS IS" BASIS,
57014
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
57015
- * See the License for the specific language governing permissions and
57016
- * limitations under the License.
57017
- *
57018
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
57019
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
57020
- * */
57021
- const SearchDialog = ({
57022
- isOpen,
57023
- onClose
57024
- }) => {
57025
- return isOpen ? /*#__PURE__*/React__default.createElement(Box$3, {
57026
- tabIndex: -1,
57027
- sx: {
57028
- position: 'absolute',
57029
- pointerEvents: 'all',
57030
- zIndex: 999,
57031
- left: 50,
57032
- top: 15,
57033
- backgroundColor: theme => theme.palette.background.paper
57034
- }
57035
- }, /*#__PURE__*/React__default.createElement(TextField$1, {
57036
- id: "dummy-search-field",
57037
- label: "Search",
57038
- variant: "filled",
57039
- InputProps: {
57040
- endAdornment: /*#__PURE__*/React__default.createElement(InputAdornment$1, {
57041
- position: "end"
57042
- }, /*#__PURE__*/React__default.createElement(CustomIconButton, {
57043
- tooltipTitle: "Close",
57044
- edge: "end",
57045
- onClick: onClose,
57046
- size: "large"
57047
- }, /*#__PURE__*/React__default.createElement(Close, null)))
57048
- }
57049
- })) : null;
57050
- };
57051
-
57052
57051
  /* *
57053
57052
  * Licensed under the Apache License, Version 2.0 (the "License");
57054
57053
  * you may not use this file except in compliance with the License.
@@ -57610,4 +57609,4 @@ var publicLayers = /*#__PURE__*/Object.freeze({
57610
57609
  msgNaturalEUMETSAT: msgNaturalEUMETSAT
57611
57610
  });
57612
57611
 
57613
- export { CanvasComponent, DRAWMODE, EDITMODE, EditModeButton as EditModeButtonField, FeatureLayers, GeoJSONTextField, IntersectionSelect, Legend, LegendDialog, LegendLayout, MapControlButton, MapControls, MapDrawContainer, MapTime, MapView, MapViewLayer, MapWarningProperties, NEW_FEATURE_CREATED, NEW_LINESTRING_CREATED, NEW_POINT_CREATED, ORIGIN_REACTMAPVIEW_ONMAPCHANGEDIMENSION, ORIGIN_REACTMAPVIEW_ONUPDATELAYERINFO, ReactMapView, ReactMapViewLayer, SearchDialog, SelectField, StoryLayoutGrid, ZoomControls, addFeatureProperties, basicExampleDrawOptions, basicExampleMultipleShapeDrawOptions, checkHoverFeatures, createInterSections, currentlySupportedDrawModes, defaultBox, defaultDelete, defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultLayers, defaultModes, defaultPoint, defaultPolygon, defaultTimeFormat, distance, drawPolyStoryStyles, emptyGeoJSON, endToolExampleConfig, exampleIntersectionOptions, exampleIntersectionWithShapeOptions, exampleIntersections, exampleIntersectionsMultiDrawTool, featureBox, featureMultiPoint, featurePoint, featurePolygon, fillOptions, formatTime, getDoubleControlToolIcon, getDrawFunctionFromStore, getFeatureCollection, getGeoJSONPropertyValue, getGeoJson, getIcon, getIntersectionToolIcon, getTimeDimension, getToolIcon, intersectGeoJSONS, intersectionFeatureBE, intersectionFeatureNL, isGeoJSONFeatureCreatedByTool, lineString, moveFeature, opacityOptions, publicLayers, publicServices, registerDrawFunction, rewindGeometry, simpleBoxGeoJSON, simpleFlightRouteLineStringGeoJSON, simpleFlightRoutePointsGeoJSON, simpleLineStringGeoJSON, simpleMultiPolygon, simplePointsGeojson, simplePolygonGeoJSON, simpleSmallLineStringGeoJSON, startToolExampleConfig, strokeWidthOptions, updateEditModeButtonsWithFir, useGeoJSON, useMapDrawTool };
57612
+ export { CanvasComponent, DRAWMODE, EDITMODE, EditModeButton as EditModeButtonField, FeatureLayers, GeoJSONTextField, IntersectionSelect, Legend, LegendDialog, LegendLayout, MapControlButton, MapControls, MapDrawContainer, MapTime, MapView, MapViewLayer, MapWarningProperties, NEW_FEATURE_CREATED, NEW_LINESTRING_CREATED, NEW_POINT_CREATED, ORIGIN_REACTMAPVIEW_ONMAPCHANGEDIMENSION, ORIGIN_REACTMAPVIEW_ONUPDATELAYERINFO, ReactMapView, ReactMapViewLayer, SelectField, StoryLayoutGrid, ZoomControls, addFeatureProperties, basicExampleDrawOptions, basicExampleMultipleShapeDrawOptions, checkHoverFeatures, createInterSections, currentlySupportedDrawModes, defaultBox, defaultDelete, defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultLayers, defaultModes, defaultPoint, defaultPolygon, defaultTimeFormat, distance, drawPolyStoryStyles, emptyGeoJSON, endToolExampleConfig, exampleIntersectionOptions, exampleIntersectionWithShapeOptions, exampleIntersections, exampleIntersectionsMultiDrawTool, featureBox, featureMultiPoint, featurePoint, featurePolygon, fillOptions, firButtonDrawId, formatTime, getDoubleControlToolIcon, getDrawFunctionFromStore, getFeatureCollection, getFirTitle, getGeoJSONPropertyValue, getGeoJson, getIcon, getIntersectionToolIcon, getTimeDimension, getToolIcon, intersectGeoJSONS, intersectionFeatureBE, intersectionFeatureNL, isGeoJSONFeatureCreatedByTool, lineString, moveFeature, opacityOptions, publicLayers, publicServices, registerDrawFunction, rewindGeometry, simpleBoxGeoJSON, simpleFlightRouteLineStringGeoJSON, simpleFlightRoutePointsGeoJSON, simpleLineStringGeoJSON, simpleMultiPolygon, simplePointsGeojson, simplePolygonGeoJSON, simpleSmallLineStringGeoJSON, startToolExampleConfig, strokeWidthOptions, updateEditModeButtonsWithFir, useGeoJSON, useMapDrawTool };