@opengeoweb/webmap-react 8.4.0 → 9.0.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
@@ -5,7 +5,7 @@ import { CustomTooltip, ToolContainerDraggable, dateUtils, CustomIconButton } fr
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, Home, Add, Minus } from '@opengeoweb/theme';
8
+ import { Delete, Edit, DrawRegion, DrawPolygon, Location, DrawFIRLand, ArrowUp, Home, Add, Minus, Close } from '@opengeoweb/theme';
9
9
 
10
10
  /* *
11
11
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -490,10 +490,10 @@ var store$2 = sharedStore;
490
490
  (shared$4.exports = function (key, value) {
491
491
  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
492
492
  })('versions', []).push({
493
- version: '3.33.0',
493
+ version: '3.33.2',
494
494
  mode: 'global',
495
495
  copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
496
- license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',
496
+ license: 'https://github.com/zloirock/core-js/blob/v3.33.2/LICENSE',
497
497
  source: 'https://github.com/zloirock/core-js'
498
498
  });
499
499
 
@@ -1811,13 +1811,12 @@ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind)
1811
1811
  }, function () {
1812
1812
  var state = getInternalState$1(this);
1813
1813
  var target = state.target;
1814
- var kind = state.kind;
1815
1814
  var index = state.index++;
1816
1815
  if (!target || index >= target.length) {
1817
1816
  state.target = undefined;
1818
1817
  return createIterResultObject(undefined, true);
1819
1818
  }
1820
- switch (kind) {
1819
+ switch (state.kind) {
1821
1820
  case 'keys': return createIterResultObject(index, false);
1822
1821
  case 'values': return createIterResultObject(target[index], false);
1823
1822
  } return createIterResultObject([index, target[index]], false);
@@ -3912,10 +3911,10 @@ function useEventCallback(fn) {
3912
3911
  useEnhancedEffect$1(() => {
3913
3912
  ref.current = fn;
3914
3913
  });
3915
- return React.useCallback((...args) =>
3914
+ return React.useRef((...args) =>
3916
3915
  // @ts-expect-error hide `this`
3917
3916
  // tslint:disable-next-line:ban-comma-operator
3918
- (0, ref.current)(...args), []);
3917
+ (0, ref.current)(...args)).current;
3919
3918
  }
3920
3919
 
3921
3920
  function useForkRef(...refs) {
@@ -7179,7 +7178,7 @@ process.env.NODE_ENV !== "production" ? GlobalStyles$2.propTypes = {
7179
7178
  } : void 0;
7180
7179
 
7181
7180
  /**
7182
- * @mui/styled-engine v5.14.14
7181
+ * @mui/styled-engine v5.14.16
7183
7182
  *
7184
7183
  * @license MIT
7185
7184
  * This source code is licensed under the MIT license found in the
@@ -7210,7 +7209,7 @@ const internal_processStyles = (tag, processor) => {
7210
7209
  }
7211
7210
  };
7212
7211
 
7213
- const _excluded$G = ["values", "unit", "step"];
7212
+ const _excluded$H = ["values", "unit", "step"];
7214
7213
  const sortBreakpointsValues = values => {
7215
7214
  const breakpointsAsArray = Object.keys(values).map(key => ({
7216
7215
  key,
@@ -7245,7 +7244,7 @@ function createBreakpoints(breakpoints) {
7245
7244
  unit = 'px',
7246
7245
  step = 5
7247
7246
  } = breakpoints,
7248
- other = _objectWithoutPropertiesLoose(breakpoints, _excluded$G);
7247
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded$H);
7249
7248
  const sortedValues = sortBreakpointsValues(values);
7250
7249
  const keys = Object.keys(sortedValues);
7251
7250
  function up(key) {
@@ -8336,7 +8335,7 @@ const styleFunctionSx = unstable_createStyleFunctionSx();
8336
8335
  styleFunctionSx.filterProps = ['sx'];
8337
8336
  var styleFunctionSx$1 = styleFunctionSx;
8338
8337
 
8339
- const _excluded$F = ["breakpoints", "palette", "spacing", "shape"];
8338
+ const _excluded$G = ["breakpoints", "palette", "spacing", "shape"];
8340
8339
  function createTheme$1(options = {}, ...args) {
8341
8340
  const {
8342
8341
  breakpoints: breakpointsInput = {},
@@ -8344,7 +8343,7 @@ function createTheme$1(options = {}, ...args) {
8344
8343
  spacing: spacingInput,
8345
8344
  shape: shapeInput = {}
8346
8345
  } = options,
8347
- other = _objectWithoutPropertiesLoose(options, _excluded$F);
8346
+ other = _objectWithoutPropertiesLoose(options, _excluded$G);
8348
8347
  const breakpoints = createBreakpoints(breakpointsInput);
8349
8348
  const spacing = createSpacing(spacingInput);
8350
8349
  let muiTheme = deepmerge({
@@ -8412,7 +8411,7 @@ process.env.NODE_ENV !== "production" ? GlobalStyles$1.propTypes /* remove-propt
8412
8411
  themeId: PropTypes.string
8413
8412
  } : void 0;
8414
8413
 
8415
- const _excluded$E = ["sx"];
8414
+ const _excluded$F = ["sx"];
8416
8415
  const splitProps = props => {
8417
8416
  var _props$theme$unstable, _props$theme;
8418
8417
  const result = {
@@ -8433,7 +8432,7 @@ function extendSxProp(props) {
8433
8432
  const {
8434
8433
  sx: inSx
8435
8434
  } = props,
8436
- other = _objectWithoutPropertiesLoose(props, _excluded$E);
8435
+ other = _objectWithoutPropertiesLoose(props, _excluded$F);
8437
8436
  const {
8438
8437
  systemProps,
8439
8438
  otherProps
@@ -8459,7 +8458,7 @@ function extendSxProp(props) {
8459
8458
 
8460
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}
8461
8460
 
8462
- const _excluded$D = ["className", "component"];
8461
+ const _excluded$E = ["className", "component"];
8463
8462
  function createBox(options = {}) {
8464
8463
  const {
8465
8464
  themeId,
@@ -8477,7 +8476,7 @@ function createBox(options = {}) {
8477
8476
  className,
8478
8477
  component = 'div'
8479
8478
  } = _extendSxProp,
8480
- other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$D);
8479
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$E);
8481
8480
  return /*#__PURE__*/jsx(BoxRoot, _extends({
8482
8481
  as: component,
8483
8482
  ref: ref,
@@ -8488,7 +8487,29 @@ function createBox(options = {}) {
8488
8487
  return Box;
8489
8488
  }
8490
8489
 
8491
- const _excluded$C = ["variant"];
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"];
8492
8513
  function isEmpty$3(string) {
8493
8514
  return string.length === 0;
8494
8515
  }
@@ -8502,7 +8523,7 @@ function propsToClassKey(props) {
8502
8523
  const {
8503
8524
  variant
8504
8525
  } = props,
8505
- other = _objectWithoutPropertiesLoose(props, _excluded$C);
8526
+ other = _objectWithoutPropertiesLoose(props, _excluded$D);
8506
8527
  let classKey = variant || '';
8507
8528
  Object.keys(other).sort().forEach(key => {
8508
8529
  if (key === 'color') {
@@ -8514,7 +8535,7 @@ function propsToClassKey(props) {
8514
8535
  return classKey;
8515
8536
  }
8516
8537
 
8517
- const _excluded$B = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8538
+ const _excluded$C = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8518
8539
  function isEmpty$2(obj) {
8519
8540
  return Object.keys(obj).length === 0;
8520
8541
  }
@@ -8651,7 +8672,7 @@ function createStyled(input = {}) {
8651
8672
  // For more details: https://github.com/mui/material-ui/pull/37908
8652
8673
  overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))
8653
8674
  } = inputOptions,
8654
- options = _objectWithoutPropertiesLoose(inputOptions, _excluded$B);
8675
+ options = _objectWithoutPropertiesLoose(inputOptions, _excluded$C);
8655
8676
 
8656
8677
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
8657
8678
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :
@@ -9085,7 +9106,7 @@ function createMixins(breakpoints, mixins) {
9085
9106
  }, mixins);
9086
9107
  }
9087
9108
 
9088
- const _excluded$A = ["mode", "contrastThreshold", "tonalOffset"];
9109
+ const _excluded$B = ["mode", "contrastThreshold", "tonalOffset"];
9089
9110
  const light = {
9090
9111
  // The colors used to style the text.
9091
9112
  text: {
@@ -9254,7 +9275,7 @@ function createPalette(palette) {
9254
9275
  contrastThreshold = 3,
9255
9276
  tonalOffset = 0.2
9256
9277
  } = palette,
9257
- other = _objectWithoutPropertiesLoose(palette, _excluded$A);
9278
+ other = _objectWithoutPropertiesLoose(palette, _excluded$B);
9258
9279
  const primary = palette.primary || getDefaultPrimary(mode);
9259
9280
  const secondary = palette.secondary || getDefaultSecondary(mode);
9260
9281
  const error = palette.error || getDefaultError(mode);
@@ -9378,7 +9399,7 @@ const theme2 = createTheme({ palette: {
9378
9399
  return paletteOutput;
9379
9400
  }
9380
9401
 
9381
- const _excluded$z = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9402
+ const _excluded$A = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9382
9403
  function round(value) {
9383
9404
  return Math.round(value * 1e5) / 1e5;
9384
9405
  }
@@ -9409,7 +9430,7 @@ function createTypography(palette, typography) {
9409
9430
  allVariants,
9410
9431
  pxToRem: pxToRem2
9411
9432
  } = _ref,
9412
- other = _objectWithoutPropertiesLoose(_ref, _excluded$z);
9433
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$A);
9413
9434
  if (process.env.NODE_ENV !== 'production') {
9414
9435
  if (typeof fontSize !== 'number') {
9415
9436
  console.error('MUI: `fontSize` is required to be a number.');
@@ -9476,7 +9497,7 @@ function createShadow(...px) {
9476
9497
  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)];
9477
9498
  var shadows$1 = shadows;
9478
9499
 
9479
- const _excluded$y = ["duration", "easing", "delay"];
9500
+ const _excluded$z = ["duration", "easing", "delay"];
9480
9501
  // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves
9481
9502
  // to learn the context in which each easing should be used.
9482
9503
  const easing = {
@@ -9527,7 +9548,7 @@ function createTransitions(inputTransitions) {
9527
9548
  easing: easingOption = mergedEasing.easeInOut,
9528
9549
  delay = 0
9529
9550
  } = options,
9530
- other = _objectWithoutPropertiesLoose(options, _excluded$y);
9551
+ other = _objectWithoutPropertiesLoose(options, _excluded$z);
9531
9552
  if (process.env.NODE_ENV !== 'production') {
9532
9553
  const isString = value => typeof value === 'string';
9533
9554
  // IE11 support, replace with Number.isNaN
@@ -9574,7 +9595,7 @@ const zIndex = {
9574
9595
  };
9575
9596
  var zIndex$1 = zIndex;
9576
9597
 
9577
- const _excluded$x = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9598
+ const _excluded$y = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9578
9599
  function createTheme(options = {}, ...args) {
9579
9600
  const {
9580
9601
  mixins: mixinsInput = {},
@@ -9582,7 +9603,7 @@ function createTheme(options = {}, ...args) {
9582
9603
  transitions: transitionsInput = {},
9583
9604
  typography: typographyInput = {}
9584
9605
  } = options,
9585
- other = _objectWithoutPropertiesLoose(options, _excluded$x);
9606
+ other = _objectWithoutPropertiesLoose(options, _excluded$y);
9586
9607
  if (options.vars) {
9587
9608
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`vars\` is a private field used for CSS variables support.
9588
9609
  Please use another name.` : formatMuiErrorMessage(18));
@@ -9853,7 +9874,7 @@ function mergeSlotProps(parameters) {
9853
9874
  };
9854
9875
  }
9855
9876
 
9856
- const _excluded$w = ["elementType", "externalSlotProps", "ownerState"];
9877
+ const _excluded$x = ["elementType", "externalSlotProps", "ownerState"];
9857
9878
  /**
9858
9879
  * @ignore - do not document.
9859
9880
  * Builds the props to be passed into the slot of an unstyled component.
@@ -9869,7 +9890,7 @@ function useSlotProps(parameters) {
9869
9890
  externalSlotProps,
9870
9891
  ownerState
9871
9892
  } = parameters,
9872
- rest = _objectWithoutPropertiesLoose(parameters, _excluded$w);
9893
+ rest = _objectWithoutPropertiesLoose(parameters, _excluded$x);
9873
9894
  const resolvedComponentsProps = resolveComponentProps(externalSlotProps, ownerState);
9874
9895
  const {
9875
9896
  props: mergedProps,
@@ -10507,8 +10528,8 @@ function getModalUtilityClass(slot) {
10507
10528
  }
10508
10529
  generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);
10509
10530
 
10510
- const _excluded$v = ["children", "closeAfterTransition", "component", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
10511
- const useUtilityClasses$o = ownerState => {
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 => {
10512
10533
  const {
10513
10534
  open,
10514
10535
  exited
@@ -10577,7 +10598,7 @@ const ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props
10577
10598
  slotProps = {},
10578
10599
  slots = {}
10579
10600
  } = props,
10580
- other = _objectWithoutPropertiesLoose(props, _excluded$v);
10601
+ other = _objectWithoutPropertiesLoose(props, _excluded$w);
10581
10602
  const [exited, setExited] = React.useState(!open);
10582
10603
  const modal = React.useRef({});
10583
10604
  const mountNodeRef = React.useRef(null);
@@ -10649,7 +10670,7 @@ const ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props
10649
10670
  hideBackdrop,
10650
10671
  keepMounted
10651
10672
  });
10652
- const classes = useUtilityClasses$o(ownerState);
10673
+ const classes = useUtilityClasses$p(ownerState);
10653
10674
  const handleEnter = () => {
10654
10675
  setExited(false);
10655
10676
  if (onTransitionEnter) {
@@ -10873,7 +10894,7 @@ process.env.NODE_ENV !== "production" ? ModalUnstyled.propTypes /* remove-propty
10873
10894
  } : void 0;
10874
10895
  var ModalUnstyled$1 = ModalUnstyled;
10875
10896
 
10876
- const _excluded$u = ["onChange", "maxRows", "minRows", "style", "value"];
10897
+ const _excluded$v = ["onChange", "maxRows", "minRows", "style", "value"];
10877
10898
  function getStyleValue(value) {
10878
10899
  return parseInt(value, 10) || 0;
10879
10900
  }
@@ -10915,7 +10936,7 @@ const TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize
10915
10936
  style,
10916
10937
  value
10917
10938
  } = props,
10918
- other = _objectWithoutPropertiesLoose(props, _excluded$u);
10939
+ other = _objectWithoutPropertiesLoose(props, _excluded$v);
10919
10940
  const {
10920
10941
  current: isControlled
10921
10942
  } = React.useRef(value != null);
@@ -11131,8 +11152,8 @@ function getSvgIconUtilityClass(slot) {
11131
11152
  }
11132
11153
  generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
11133
11154
 
11134
- const _excluded$t = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
11135
- const useUtilityClasses$n = ownerState => {
11155
+ const _excluded$u = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
11156
+ const useUtilityClasses$o = ownerState => {
11136
11157
  const {
11137
11158
  color,
11138
11159
  fontSize,
@@ -11197,7 +11218,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11197
11218
  titleAccess,
11198
11219
  viewBox = '0 0 24 24'
11199
11220
  } = props,
11200
- other = _objectWithoutPropertiesLoose(props, _excluded$t);
11221
+ other = _objectWithoutPropertiesLoose(props, _excluded$u);
11201
11222
  const ownerState = _extends({}, props, {
11202
11223
  color,
11203
11224
  component,
@@ -11210,7 +11231,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11210
11231
  if (!inheritViewBox) {
11211
11232
  more.viewBox = viewBox;
11212
11233
  }
11213
- const classes = useUtilityClasses$n(ownerState);
11234
+ const classes = useUtilityClasses$o(ownerState);
11214
11235
  return /*#__PURE__*/jsxs(SvgIconRoot, _extends({
11215
11236
  as: component,
11216
11237
  className: clsx(classes.root, className),
@@ -12326,8 +12347,8 @@ function getPaperUtilityClass(slot) {
12326
12347
  }
12327
12348
  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']);
12328
12349
 
12329
- const _excluded$s = ["className", "component", "elevation", "square", "variant"];
12330
- const useUtilityClasses$m = ownerState => {
12350
+ const _excluded$t = ["className", "component", "elevation", "square", "variant"];
12351
+ const useUtilityClasses$n = ownerState => {
12331
12352
  const {
12332
12353
  square,
12333
12354
  elevation,
@@ -12381,14 +12402,14 @@ const Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {
12381
12402
  square = false,
12382
12403
  variant = 'elevation'
12383
12404
  } = props,
12384
- other = _objectWithoutPropertiesLoose(props, _excluded$s);
12405
+ other = _objectWithoutPropertiesLoose(props, _excluded$t);
12385
12406
  const ownerState = _extends({}, props, {
12386
12407
  component,
12387
12408
  elevation,
12388
12409
  square,
12389
12410
  variant
12390
12411
  });
12391
- const classes = useUtilityClasses$m(ownerState);
12412
+ const classes = useUtilityClasses$n(ownerState);
12392
12413
  if (process.env.NODE_ENV !== 'production') {
12393
12414
  // eslint-disable-next-line react-hooks/rules-of-hooks
12394
12415
  const theme = useTheme();
@@ -12539,7 +12560,7 @@ process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
12539
12560
  const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
12540
12561
  var touchRippleClasses$1 = touchRippleClasses;
12541
12562
 
12542
- const _excluded$r = ["center", "classes", "className"];
12563
+ const _excluded$s = ["center", "classes", "className"];
12543
12564
  let _$1 = t => t,
12544
12565
  _t,
12545
12566
  _t2,
@@ -12668,7 +12689,7 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
12668
12689
  classes = {},
12669
12690
  className
12670
12691
  } = props,
12671
- other = _objectWithoutPropertiesLoose(props, _excluded$r);
12692
+ other = _objectWithoutPropertiesLoose(props, _excluded$s);
12672
12693
  const [ripples, setRipples] = React.useState([]);
12673
12694
  const nextKey = React.useRef(0);
12674
12695
  const rippleCallback = React.useRef(null);
@@ -12869,8 +12890,8 @@ function getButtonBaseUtilityClass(slot) {
12869
12890
  const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
12870
12891
  var buttonBaseClasses$1 = buttonBaseClasses;
12871
12892
 
12872
- 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"];
12873
- const useUtilityClasses$l = ownerState => {
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 => {
12874
12895
  const {
12875
12896
  disabled,
12876
12897
  focusVisible,
@@ -12971,7 +12992,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
12971
12992
  touchRippleRef,
12972
12993
  type
12973
12994
  } = props,
12974
- other = _objectWithoutPropertiesLoose(props, _excluded$q);
12995
+ other = _objectWithoutPropertiesLoose(props, _excluded$r);
12975
12996
  const buttonRef = React.useRef(null);
12976
12997
  const rippleRef = React.useRef(null);
12977
12998
  const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
@@ -13138,7 +13159,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
13138
13159
  tabIndex,
13139
13160
  focusVisible
13140
13161
  });
13141
- const classes = useUtilityClasses$l(ownerState);
13162
+ const classes = useUtilityClasses$m(ownerState);
13142
13163
  return /*#__PURE__*/jsxs(ButtonBaseRoot, _extends({
13143
13164
  as: ComponentProp,
13144
13165
  className: clsx(classes.root, className),
@@ -13334,8 +13355,8 @@ function getTypographyUtilityClass(slot) {
13334
13355
  }
13335
13356
  generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
13336
13357
 
13337
- const _excluded$p = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13338
- const useUtilityClasses$k = ownerState => {
13358
+ const _excluded$q = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13359
+ const useUtilityClasses$l = ownerState => {
13339
13360
  const {
13340
13361
  align,
13341
13362
  gutterBottom,
@@ -13418,7 +13439,7 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
13418
13439
  variant = 'body1',
13419
13440
  variantMapping = defaultVariantMapping
13420
13441
  } = props,
13421
- other = _objectWithoutPropertiesLoose(props, _excluded$p);
13442
+ other = _objectWithoutPropertiesLoose(props, _excluded$q);
13422
13443
  const ownerState = _extends({}, props, {
13423
13444
  align,
13424
13445
  color,
@@ -13431,7 +13452,7 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
13431
13452
  variantMapping
13432
13453
  });
13433
13454
  const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
13434
- const classes = useUtilityClasses$k(ownerState);
13455
+ const classes = useUtilityClasses$l(ownerState);
13435
13456
  return /*#__PURE__*/jsx(TypographyRoot, _extends({
13436
13457
  as: Component,
13437
13458
  ref: ref,
@@ -13599,7 +13620,7 @@ function getInputBaseUtilityClass(slot) {
13599
13620
  const inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
13600
13621
  var inputBaseClasses$1 = inputBaseClasses;
13601
13622
 
13602
- 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"];
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"];
13603
13624
  const rootOverridesResolver = (props, styles) => {
13604
13625
  const {
13605
13626
  ownerState
@@ -13612,7 +13633,7 @@ const inputOverridesResolver = (props, styles) => {
13612
13633
  } = props;
13613
13634
  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];
13614
13635
  };
13615
- const useUtilityClasses$j = ownerState => {
13636
+ const useUtilityClasses$k = ownerState => {
13616
13637
  const {
13617
13638
  classes,
13618
13639
  color,
@@ -13830,7 +13851,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
13830
13851
  type = 'text',
13831
13852
  value: valueProp
13832
13853
  } = props,
13833
- other = _objectWithoutPropertiesLoose(props, _excluded$o);
13854
+ other = _objectWithoutPropertiesLoose(props, _excluded$p);
13834
13855
  const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
13835
13856
  const {
13836
13857
  current: isControlled
@@ -14004,7 +14025,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
14004
14025
  startAdornment,
14005
14026
  type
14006
14027
  });
14007
- const classes = useUtilityClasses$j(ownerState);
14028
+ const classes = useUtilityClasses$k(ownerState);
14008
14029
  const Root = slots.root || components.Root || InputBaseRoot;
14009
14030
  const rootProps = slotProps.root || componentsProps.root || {};
14010
14031
  const Input = slots.input || components.Input || InputBaseComponent;
@@ -14308,7 +14329,7 @@ var ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/jsx("path", {
14308
14329
  d: "M7 10l5 5 5-5z"
14309
14330
  }), 'ArrowDropDown');
14310
14331
 
14311
- const _excluded$n = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14332
+ const _excluded$o = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14312
14333
  const styles$1 = {
14313
14334
  entering: {
14314
14335
  opacity: 1
@@ -14345,7 +14366,7 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
14345
14366
  // eslint-disable-next-line react/prop-types
14346
14367
  TransitionComponent = Transition$1
14347
14368
  } = props,
14348
- other = _objectWithoutPropertiesLoose(props, _excluded$n);
14369
+ other = _objectWithoutPropertiesLoose(props, _excluded$o);
14349
14370
  const nodeRef = React.useRef(null);
14350
14371
  const handleRef = useForkRef(nodeRef, children.ref, ref);
14351
14372
  const normalizedTransitionCallback = callback => maybeIsAppearing => {
@@ -14506,8 +14527,8 @@ function getBackdropUtilityClass(slot) {
14506
14527
  }
14507
14528
  generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);
14508
14529
 
14509
- const _excluded$m = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14510
- const useUtilityClasses$i = ownerState => {
14530
+ const _excluded$n = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14531
+ const useUtilityClasses$j = ownerState => {
14511
14532
  const {
14512
14533
  classes,
14513
14534
  invisible
@@ -14561,12 +14582,12 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
14561
14582
  TransitionComponent = Fade$1,
14562
14583
  transitionDuration
14563
14584
  } = props,
14564
- other = _objectWithoutPropertiesLoose(props, _excluded$m);
14585
+ other = _objectWithoutPropertiesLoose(props, _excluded$n);
14565
14586
  const ownerState = _extends({}, props, {
14566
14587
  component,
14567
14588
  invisible
14568
14589
  });
14569
- const classes = useUtilityClasses$i(ownerState);
14590
+ const classes = useUtilityClasses$j(ownerState);
14570
14591
  const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;
14571
14592
  return /*#__PURE__*/jsx(TransitionComponent, _extends({
14572
14593
  in: open,
@@ -14715,8 +14736,8 @@ function getSwitchBaseUtilityClass(slot) {
14715
14736
  }
14716
14737
  generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
14717
14738
 
14718
- const _excluded$l = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
14719
- const useUtilityClasses$h = ownerState => {
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 => {
14720
14741
  const {
14721
14742
  classes,
14722
14743
  checked,
@@ -14779,7 +14800,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
14779
14800
  type,
14780
14801
  value
14781
14802
  } = props,
14782
- other = _objectWithoutPropertiesLoose(props, _excluded$l);
14803
+ other = _objectWithoutPropertiesLoose(props, _excluded$m);
14783
14804
  const [checked, setCheckedState] = useControlled({
14784
14805
  controlled: checkedProp,
14785
14806
  default: Boolean(defaultChecked),
@@ -14828,7 +14849,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
14828
14849
  disableFocusRipple,
14829
14850
  edge
14830
14851
  });
14831
- const classes = useUtilityClasses$h(ownerState);
14852
+ const classes = useUtilityClasses$i(ownerState);
14832
14853
  return /*#__PURE__*/jsxs(SwitchBaseRoot, _extends({
14833
14854
  component: "span",
14834
14855
  className: clsx(classes.root, className),
@@ -14971,7 +14992,7 @@ process.env.NODE_ENV !== "production" ? SwitchBase.propTypes = {
14971
14992
  } : void 0;
14972
14993
  var SwitchBase$1 = SwitchBase;
14973
14994
 
14974
- const _excluded$k = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
14995
+ const _excluded$l = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
14975
14996
  const ModalRoot = styled$1('div', {
14976
14997
  name: 'MuiModal',
14977
14998
  slot: 'Root',
@@ -15046,7 +15067,7 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
15046
15067
  // eslint-disable-next-line react/prop-types
15047
15068
  theme
15048
15069
  } = props,
15049
- other = _objectWithoutPropertiesLoose(props, _excluded$k);
15070
+ other = _objectWithoutPropertiesLoose(props, _excluded$l);
15050
15071
  const [exited, setExited] = React.useState(true);
15051
15072
  const commonProps = {
15052
15073
  closeAfterTransition,
@@ -15264,8 +15285,8 @@ var Modal$1 = Modal;
15264
15285
  const dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);
15265
15286
  var dividerClasses$1 = dividerClasses;
15266
15287
 
15267
- const _excluded$j = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
15268
- const useUtilityClasses$g = ownerState => {
15288
+ const _excluded$k = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
15289
+ const useUtilityClasses$h = ownerState => {
15269
15290
  const {
15270
15291
  classes,
15271
15292
  disableUnderline
@@ -15448,14 +15469,14 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
15448
15469
  slots = {},
15449
15470
  type = 'text'
15450
15471
  } = props,
15451
- other = _objectWithoutPropertiesLoose(props, _excluded$j);
15472
+ other = _objectWithoutPropertiesLoose(props, _excluded$k);
15452
15473
  const ownerState = _extends({}, props, {
15453
15474
  fullWidth,
15454
15475
  inputComponent,
15455
15476
  multiline,
15456
15477
  type
15457
15478
  });
15458
- const classes = useUtilityClasses$g(props);
15479
+ const classes = useUtilityClasses$h(props);
15459
15480
  const filledInputComponentsProps = {
15460
15481
  root: {
15461
15482
  ownerState
@@ -15683,8 +15704,8 @@ function getFormControlUtilityClasses(slot) {
15683
15704
  }
15684
15705
  generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);
15685
15706
 
15686
- const _excluded$i = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
15687
- const useUtilityClasses$f = ownerState => {
15707
+ const _excluded$j = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
15708
+ const useUtilityClasses$g = ownerState => {
15688
15709
  const {
15689
15710
  classes,
15690
15711
  margin,
@@ -15769,7 +15790,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
15769
15790
  size = 'medium',
15770
15791
  variant = 'outlined'
15771
15792
  } = props,
15772
- other = _objectWithoutPropertiesLoose(props, _excluded$i);
15793
+ other = _objectWithoutPropertiesLoose(props, _excluded$j);
15773
15794
  const ownerState = _extends({}, props, {
15774
15795
  color,
15775
15796
  component,
@@ -15782,7 +15803,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
15782
15803
  size,
15783
15804
  variant
15784
15805
  });
15785
- const classes = useUtilityClasses$f(ownerState);
15806
+ const classes = useUtilityClasses$g(ownerState);
15786
15807
  const [adornedStart, setAdornedStart] = React.useState(() => {
15787
15808
  // We need to iterate through the children and find the Input in order
15788
15809
  // to fully support server-side rendering.
@@ -15964,9 +15985,9 @@ function getFormHelperTextUtilityClasses(slot) {
15964
15985
  const formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);
15965
15986
  var formHelperTextClasses$1 = formHelperTextClasses;
15966
15987
 
15967
- var _span$2;
15968
- const _excluded$h = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
15969
- const useUtilityClasses$e = ownerState => {
15988
+ var _span$3;
15989
+ const _excluded$i = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
15990
+ const useUtilityClasses$f = ownerState => {
15970
15991
  const {
15971
15992
  classes,
15972
15993
  contained,
@@ -16024,7 +16045,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16024
16045
  className,
16025
16046
  component = 'p'
16026
16047
  } = props,
16027
- other = _objectWithoutPropertiesLoose(props, _excluded$h);
16048
+ other = _objectWithoutPropertiesLoose(props, _excluded$i);
16028
16049
  const muiFormControl = useFormControl();
16029
16050
  const fcs = formControlState({
16030
16051
  props,
@@ -16042,7 +16063,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16042
16063
  focused: fcs.focused,
16043
16064
  required: fcs.required
16044
16065
  });
16045
- const classes = useUtilityClasses$e(ownerState);
16066
+ const classes = useUtilityClasses$f(ownerState);
16046
16067
  return /*#__PURE__*/jsx(FormHelperTextRoot, _extends({
16047
16068
  as: component,
16048
16069
  ownerState: ownerState,
@@ -16050,7 +16071,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16050
16071
  ref: ref
16051
16072
  }, other, {
16052
16073
  children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue
16053
- _span$2 || (_span$2 = /*#__PURE__*/jsx("span", {
16074
+ _span$3 || (_span$3 = /*#__PURE__*/jsx("span", {
16054
16075
  className: "notranslate",
16055
16076
  children: "\u200B"
16056
16077
  })) : children
@@ -16122,8 +16143,8 @@ function getFormLabelUtilityClasses(slot) {
16122
16143
  const formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);
16123
16144
  var formLabelClasses$1 = formLabelClasses;
16124
16145
 
16125
- const _excluded$g = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
16126
- const useUtilityClasses$d = ownerState => {
16146
+ const _excluded$h = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
16147
+ const useUtilityClasses$e = ownerState => {
16127
16148
  const {
16128
16149
  classes,
16129
16150
  color,
@@ -16187,7 +16208,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
16187
16208
  className,
16188
16209
  component = 'label'
16189
16210
  } = props,
16190
- other = _objectWithoutPropertiesLoose(props, _excluded$g);
16211
+ other = _objectWithoutPropertiesLoose(props, _excluded$h);
16191
16212
  const muiFormControl = useFormControl();
16192
16213
  const fcs = formControlState({
16193
16214
  props,
@@ -16203,7 +16224,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
16203
16224
  focused: fcs.focused,
16204
16225
  required: fcs.required
16205
16226
  });
16206
- const classes = useUtilityClasses$d(ownerState);
16227
+ const classes = useUtilityClasses$e(ownerState);
16207
16228
  return /*#__PURE__*/jsxs(FormLabelRoot, _extends({
16208
16229
  as: component,
16209
16230
  ownerState: ownerState,
@@ -16299,7 +16320,7 @@ const gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'ite
16299
16320
  // grid sizes for all breakpoints
16300
16321
  ...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}`)]);
16301
16322
 
16302
- const _excluded$f = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
16323
+ const _excluded$g = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
16303
16324
  function getOffset(val) {
16304
16325
  const parse = parseFloat(val);
16305
16326
  return `${parse}${String(val).replace(String(parse), '') || 'px'}`;
@@ -16608,7 +16629,7 @@ function resolveSpacingClasses(spacing, breakpoints) {
16608
16629
  });
16609
16630
  return classes;
16610
16631
  }
16611
- const useUtilityClasses$c = ownerState => {
16632
+ const useUtilityClasses$d = ownerState => {
16612
16633
  const {
16613
16634
  classes,
16614
16635
  container,
@@ -16659,7 +16680,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
16659
16680
  wrap = 'wrap',
16660
16681
  zeroMinWidth = false
16661
16682
  } = props,
16662
- other = _objectWithoutPropertiesLoose(props, _excluded$f);
16683
+ other = _objectWithoutPropertiesLoose(props, _excluded$g);
16663
16684
  const rowSpacing = rowSpacingProp || spacing;
16664
16685
  const columnSpacing = columnSpacingProp || spacing;
16665
16686
  const columnsContext = React.useContext(GridContext$1);
@@ -16687,7 +16708,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
16687
16708
  }, breakpointsValues, {
16688
16709
  breakpoints: breakpoints.keys
16689
16710
  });
16690
- const classes = useUtilityClasses$c(ownerState);
16711
+ const classes = useUtilityClasses$d(ownerState);
16691
16712
  return /*#__PURE__*/jsx(GridContext$1.Provider, {
16692
16713
  value: columns,
16693
16714
  children: /*#__PURE__*/jsx(GridRoot, _extends({
@@ -16842,7 +16863,7 @@ if (process.env.NODE_ENV !== 'production') {
16842
16863
  }
16843
16864
  var Grid$1 = Grid;
16844
16865
 
16845
- const _excluded$e = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
16866
+ const _excluded$f = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
16846
16867
  function getScale(value) {
16847
16868
  return `scale(${value}, ${value ** 2})`;
16848
16869
  }
@@ -16886,7 +16907,7 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
16886
16907
  // eslint-disable-next-line react/prop-types
16887
16908
  TransitionComponent = Transition$1
16888
16909
  } = props,
16889
- other = _objectWithoutPropertiesLoose(props, _excluded$e);
16910
+ other = _objectWithoutPropertiesLoose(props, _excluded$f);
16890
16911
  const timer = React.useRef();
16891
16912
  const autoTimeout = React.useRef();
16892
16913
  const theme = useTheme();
@@ -17090,8 +17111,8 @@ process.env.NODE_ENV !== "production" ? Grow.propTypes /* remove-proptypes */ =
17090
17111
  Grow.muiSupportAuto = true;
17091
17112
  var Grow$1 = Grow;
17092
17113
 
17093
- const _excluded$d = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
17094
- const useUtilityClasses$b = ownerState => {
17114
+ const _excluded$e = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
17115
+ const useUtilityClasses$c = ownerState => {
17095
17116
  const {
17096
17117
  classes,
17097
17118
  disableUnderline
@@ -17203,8 +17224,8 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {
17203
17224
  slots = {},
17204
17225
  type = 'text'
17205
17226
  } = props,
17206
- other = _objectWithoutPropertiesLoose(props, _excluded$d);
17207
- const classes = useUtilityClasses$b(props);
17227
+ other = _objectWithoutPropertiesLoose(props, _excluded$e);
17228
+ const classes = useUtilityClasses$c(props);
17208
17229
  const ownerState = {
17209
17230
  disableUnderline
17210
17231
  };
@@ -17420,6 +17441,169 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
17420
17441
  Input.muiName = 'Input';
17421
17442
  var Input$1 = Input;
17422
17443
 
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
+
17423
17607
  function getInputLabelUtilityClasses(slot) {
17424
17608
  return generateUtilityClass('MuiInputLabel', slot);
17425
17609
  }
@@ -40335,9 +40519,6 @@ function nadgrid(key, data) {
40335
40519
  var view = new DataView(data);
40336
40520
  var isLittleEndian = detectLittleEndian(view);
40337
40521
  var header = readHeader(view, isLittleEndian);
40338
- if (header.nSubgrids > 1) {
40339
- console.log('Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored');
40340
- }
40341
40522
  var subgrids = readSubgrids(view, header, isLittleEndian);
40342
40523
  var nadgrid = {header: header, subgrids: subgrids};
40343
40524
  loadedNadgrids[key] = nadgrid;
@@ -40424,6 +40605,7 @@ function readSubgrids(view, header, isLittleEndian) {
40424
40605
  count: subHeader.gridNodeCount,
40425
40606
  cvs: mapNodes(nodes)
40426
40607
  });
40608
+ gridOffset += 176 + subHeader.gridNodeCount * 16;
40427
40609
  }
40428
40610
  return grids;
40429
40611
  }
@@ -40843,6 +41025,7 @@ function applyGridShift(source, inverse, point) {
40843
41025
  var input = {x: -point.x, y: point.y};
40844
41026
  var output = {x: Number.NaN, y: Number.NaN};
40845
41027
  var attemptedGrids = [];
41028
+ outer:
40846
41029
  for (var i = 0; i < source.grids.length; i++) {
40847
41030
  var grid = source.grids[i];
40848
41031
  attemptedGrids.push(grid.name);
@@ -40858,19 +41041,22 @@ function applyGridShift(source, inverse, point) {
40858
41041
  }
40859
41042
  continue;
40860
41043
  }
40861
- var subgrid = grid.grid.subgrids[0];
40862
- // skip tables that don't match our point at all
40863
- var epsilon = (Math.abs(subgrid.del[1]) + Math.abs(subgrid.del[0])) / 10000.0;
40864
- var minX = subgrid.ll[0] - epsilon;
40865
- var minY = subgrid.ll[1] - epsilon;
40866
- var maxX = subgrid.ll[0] + (subgrid.lim[0] - 1) * subgrid.del[0] + epsilon;
40867
- var maxY = subgrid.ll[1] + (subgrid.lim[1] - 1) * subgrid.del[1] + epsilon;
40868
- if (minY > input.y || minX > input.x || maxY < input.y || maxX < input.x ) {
40869
- continue;
40870
- }
40871
- output = applySubgridShift(input, inverse, subgrid);
40872
- if (!isNaN(output.x)) {
40873
- break;
41044
+ var subgrids = grid.grid.subgrids;
41045
+ for (var j = 0, jj = subgrids.length; j < jj; j++) {
41046
+ var subgrid = subgrids[j];
41047
+ // skip tables that don't match our point at all
41048
+ var epsilon = (Math.abs(subgrid.del[1]) + Math.abs(subgrid.del[0])) / 10000.0;
41049
+ var minX = subgrid.ll[0] - epsilon;
41050
+ var minY = subgrid.ll[1] - epsilon;
41051
+ var maxX = subgrid.ll[0] + (subgrid.lim[0] - 1) * subgrid.del[0] + epsilon;
41052
+ var maxY = subgrid.ll[1] + (subgrid.lim[1] - 1) * subgrid.del[1] + epsilon;
41053
+ if (minY > input.y || minX > input.x || maxY < input.y || maxX < input.x ) {
41054
+ continue;
41055
+ }
41056
+ output = applySubgridShift(input, inverse, subgrid);
41057
+ if (!isNaN(output.x)) {
41058
+ break outer;
41059
+ }
40874
41060
  }
40875
41061
  }
40876
41062
  if (isNaN(output.x)) {
@@ -46313,6 +46499,93 @@ function polygon(coordinates, properties, options) {
46313
46499
  };
46314
46500
  return feature(geom, properties, options);
46315
46501
  }
46502
+ /**
46503
+ * Creates a {@link LineString} {@link Feature} from an Array of Positions.
46504
+ *
46505
+ * @name lineString
46506
+ * @param {Array<Array<number>>} coordinates an array of Positions
46507
+ * @param {Object} [properties={}] an Object of key-value pairs to add as properties
46508
+ * @param {Object} [options={}] Optional Parameters
46509
+ * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
46510
+ * @param {string|number} [options.id] Identifier associated with the Feature
46511
+ * @returns {Feature<LineString>} LineString Feature
46512
+ * @example
46513
+ * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});
46514
+ * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});
46515
+ *
46516
+ * //=linestring1
46517
+ * //=linestring2
46518
+ */
46519
+ function lineString$1(coordinates, properties, options) {
46520
+ if (options === void 0) { options = {}; }
46521
+ if (coordinates.length < 2) {
46522
+ throw new Error("coordinates must be an array of two or more positions");
46523
+ }
46524
+ var geom = {
46525
+ type: "LineString",
46526
+ coordinates: coordinates,
46527
+ };
46528
+ return feature(geom, properties, options);
46529
+ }
46530
+ /**
46531
+ * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.
46532
+ *
46533
+ * @name featureCollection
46534
+ * @param {Feature[]} features input features
46535
+ * @param {Object} [options={}] Optional Parameters
46536
+ * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
46537
+ * @param {string|number} [options.id] Identifier associated with the Feature
46538
+ * @returns {FeatureCollection} FeatureCollection of Features
46539
+ * @example
46540
+ * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});
46541
+ * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});
46542
+ * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});
46543
+ *
46544
+ * var collection = turf.featureCollection([
46545
+ * locationA,
46546
+ * locationB,
46547
+ * locationC
46548
+ * ]);
46549
+ *
46550
+ * //=collection
46551
+ */
46552
+ function featureCollection(features, options) {
46553
+ if (options === void 0) { options = {}; }
46554
+ var fc = { type: "FeatureCollection" };
46555
+ if (options.id) {
46556
+ fc.id = options.id;
46557
+ }
46558
+ if (options.bbox) {
46559
+ fc.bbox = options.bbox;
46560
+ }
46561
+ fc.features = features;
46562
+ return fc;
46563
+ }
46564
+ /**
46565
+ * Creates a {@link Feature<MultiLineString>} based on a
46566
+ * coordinate array. Properties can be added optionally.
46567
+ *
46568
+ * @name multiLineString
46569
+ * @param {Array<Array<Array<number>>>} coordinates an array of LineStrings
46570
+ * @param {Object} [properties={}] an Object of key-value pairs to add as properties
46571
+ * @param {Object} [options={}] Optional Parameters
46572
+ * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
46573
+ * @param {string|number} [options.id] Identifier associated with the Feature
46574
+ * @returns {Feature<MultiLineString>} a MultiLineString feature
46575
+ * @throws {Error} if no coordinates are passed
46576
+ * @example
46577
+ * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);
46578
+ *
46579
+ * //=multiLine
46580
+ */
46581
+ function multiLineString(coordinates, properties, options) {
46582
+ if (options === void 0) { options = {}; }
46583
+ var geom = {
46584
+ type: "MultiLineString",
46585
+ coordinates: coordinates,
46586
+ };
46587
+ return feature(geom, properties, options);
46588
+ }
46316
46589
  /**
46317
46590
  * Creates a {@link Feature<MultiPolygon>} based on a
46318
46591
  * coordinate array. Properties can be added optionally.
@@ -46368,6 +46641,43 @@ function isObject$4(input) {
46368
46641
  return !!input && input.constructor === Object;
46369
46642
  }
46370
46643
 
46644
+ /**
46645
+ * Callback for featureEach
46646
+ *
46647
+ * @callback featureEachCallback
46648
+ * @param {Feature<any>} currentFeature The current Feature being processed.
46649
+ * @param {number} featureIndex The current index of the Feature being processed.
46650
+ */
46651
+
46652
+ /**
46653
+ * Iterate over features in any GeoJSON object, similar to
46654
+ * Array.forEach.
46655
+ *
46656
+ * @name featureEach
46657
+ * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object
46658
+ * @param {Function} callback a method that takes (currentFeature, featureIndex)
46659
+ * @returns {void}
46660
+ * @example
46661
+ * var features = turf.featureCollection([
46662
+ * turf.point([26, 37], {foo: 'bar'}),
46663
+ * turf.point([36, 53], {hello: 'world'})
46664
+ * ]);
46665
+ *
46666
+ * turf.featureEach(features, function (currentFeature, featureIndex) {
46667
+ * //=currentFeature
46668
+ * //=featureIndex
46669
+ * });
46670
+ */
46671
+ function featureEach(geojson, callback) {
46672
+ if (geojson.type === "Feature") {
46673
+ callback(geojson, 0);
46674
+ } else if (geojson.type === "FeatureCollection") {
46675
+ for (var i = 0; i < geojson.features.length; i++) {
46676
+ if (callback(geojson.features[i], i) === false) break;
46677
+ }
46678
+ }
46679
+ }
46680
+
46371
46681
  /**
46372
46682
  * Callback for geomEach
46373
46683
  *
@@ -47360,6 +47670,237 @@ function checkValidity(ring) {
47360
47670
  );
47361
47671
  }
47362
47672
 
47673
+ /**
47674
+ * Converts a {@link Polygon} to {@link LineString|(Multi)LineString} or {@link MultiPolygon} to a
47675
+ * {@link FeatureCollection} of {@link LineString|(Multi)LineString}.
47676
+ *
47677
+ * @name polygonToLine
47678
+ * @param {Feature<Polygon|MultiPolygon>} poly Feature to convert
47679
+ * @param {Object} [options={}] Optional parameters
47680
+ * @param {Object} [options.properties={}] translates GeoJSON properties to Feature
47681
+ * @returns {FeatureCollection|Feature<LineString|MultiLinestring>} converted (Multi)Polygon to (Multi)LineString
47682
+ * @example
47683
+ * var poly = turf.polygon([[[125, -30], [145, -30], [145, -20], [125, -20], [125, -30]]]);
47684
+ *
47685
+ * var line = turf.polygonToLine(poly);
47686
+ *
47687
+ * //addToMap
47688
+ * var addToMap = [line];
47689
+ */
47690
+ function polygonToLineString (poly, options) {
47691
+ if (options === void 0) { options = {}; }
47692
+ var geom = getGeom(poly);
47693
+ if (!options.properties && poly.type === "Feature") {
47694
+ options.properties = poly.properties;
47695
+ }
47696
+ switch (geom.type) {
47697
+ case "Polygon":
47698
+ return polygonToLine(geom, options);
47699
+ case "MultiPolygon":
47700
+ return multiPolygonToLine(geom, options);
47701
+ default:
47702
+ throw new Error("invalid poly");
47703
+ }
47704
+ }
47705
+ /**
47706
+ * @private
47707
+ */
47708
+ function polygonToLine(poly, options) {
47709
+ if (options === void 0) { options = {}; }
47710
+ var geom = getGeom(poly);
47711
+ var coords = geom.coordinates;
47712
+ var properties = options.properties
47713
+ ? options.properties
47714
+ : poly.type === "Feature"
47715
+ ? poly.properties
47716
+ : {};
47717
+ return coordsToLine(coords, properties);
47718
+ }
47719
+ /**
47720
+ * @private
47721
+ */
47722
+ function multiPolygonToLine(multiPoly, options) {
47723
+ if (options === void 0) { options = {}; }
47724
+ var geom = getGeom(multiPoly);
47725
+ var coords = geom.coordinates;
47726
+ var properties = options.properties
47727
+ ? options.properties
47728
+ : multiPoly.type === "Feature"
47729
+ ? multiPoly.properties
47730
+ : {};
47731
+ var lines = [];
47732
+ coords.forEach(function (coord) {
47733
+ lines.push(coordsToLine(coord, properties));
47734
+ });
47735
+ return featureCollection(lines);
47736
+ }
47737
+ /**
47738
+ * @private
47739
+ */
47740
+ function coordsToLine(coords, properties) {
47741
+ if (coords.length > 1) {
47742
+ return multiLineString(coords, properties);
47743
+ }
47744
+ return lineString$1(coords[0], properties);
47745
+ }
47746
+
47747
+ /**
47748
+ * Takes a ring and return true or false whether or not the ring is clockwise or counter-clockwise.
47749
+ *
47750
+ * @name booleanClockwise
47751
+ * @param {Feature<LineString>|LineString|Array<Array<number>>} line to be evaluated
47752
+ * @returns {boolean} true/false
47753
+ * @example
47754
+ * var clockwiseRing = turf.lineString([[0,0],[1,1],[1,0],[0,0]]);
47755
+ * var counterClockwiseRing = turf.lineString([[0,0],[1,0],[1,1],[0,0]]);
47756
+ *
47757
+ * turf.booleanClockwise(clockwiseRing)
47758
+ * //=true
47759
+ * turf.booleanClockwise(counterClockwiseRing)
47760
+ * //=false
47761
+ */
47762
+ function booleanClockwise(line) {
47763
+ var ring = getCoords(line);
47764
+ var sum = 0;
47765
+ var i = 1;
47766
+ var prev;
47767
+ var cur;
47768
+ while (i < ring.length) {
47769
+ prev = cur || ring[0];
47770
+ cur = ring[i];
47771
+ sum += (cur[0] - prev[0]) * (cur[1] + prev[1]);
47772
+ i++;
47773
+ }
47774
+ return sum > 0;
47775
+ }
47776
+
47777
+ /**
47778
+ * Rewind {@link LineString|(Multi)LineString} or {@link Polygon|(Multi)Polygon} outer ring counterclockwise and inner rings clockwise (Uses {@link http://en.wikipedia.org/wiki/Shoelace_formula|Shoelace Formula}).
47779
+ *
47780
+ * @name rewind
47781
+ * @param {GeoJSON} geojson input GeoJSON Polygon
47782
+ * @param {Object} [options={}] Optional parameters
47783
+ * @param {boolean} [options.reverse=false] enable reverse winding
47784
+ * @param {boolean} [options.mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)
47785
+ * @returns {GeoJSON} rewind Polygon
47786
+ * @example
47787
+ * var polygon = turf.polygon([[[121, -29], [138, -29], [138, -18], [121, -18], [121, -29]]]);
47788
+ *
47789
+ * var rewind = turf.rewind(polygon);
47790
+ *
47791
+ * //addToMap
47792
+ * var addToMap = [rewind];
47793
+ */
47794
+ function rewind(geojson, options) {
47795
+ // Optional parameters
47796
+ options = options || {};
47797
+ if (!isObject$4(options)) throw new Error("options is invalid");
47798
+ var reverse = options.reverse || false;
47799
+ var mutate = options.mutate || false;
47800
+
47801
+ // validation
47802
+ if (!geojson) throw new Error("<geojson> is required");
47803
+ if (typeof reverse !== "boolean")
47804
+ throw new Error("<reverse> must be a boolean");
47805
+ if (typeof mutate !== "boolean")
47806
+ throw new Error("<mutate> must be a boolean");
47807
+
47808
+ // prevent input mutation
47809
+ if (mutate === false) geojson = clone(geojson);
47810
+
47811
+ // Support Feature Collection or Geometry Collection
47812
+ var results = [];
47813
+ switch (geojson.type) {
47814
+ case "GeometryCollection":
47815
+ geomEach(geojson, function (geometry) {
47816
+ rewindFeature(geometry, reverse);
47817
+ });
47818
+ return geojson;
47819
+ case "FeatureCollection":
47820
+ featureEach(geojson, function (feature) {
47821
+ featureEach(rewindFeature(feature, reverse), function (result) {
47822
+ results.push(result);
47823
+ });
47824
+ });
47825
+ return featureCollection(results);
47826
+ }
47827
+ // Support Feature or Geometry Objects
47828
+ return rewindFeature(geojson, reverse);
47829
+ }
47830
+
47831
+ /**
47832
+ * Rewind
47833
+ *
47834
+ * @private
47835
+ * @param {Geometry|Feature<any>} geojson Geometry or Feature
47836
+ * @param {Boolean} [reverse=false] enable reverse winding
47837
+ * @returns {Geometry|Feature<any>} rewind Geometry or Feature
47838
+ */
47839
+ function rewindFeature(geojson, reverse) {
47840
+ var type = geojson.type === "Feature" ? geojson.geometry.type : geojson.type;
47841
+
47842
+ // Support all GeoJSON Geometry Objects
47843
+ switch (type) {
47844
+ case "GeometryCollection":
47845
+ geomEach(geojson, function (geometry) {
47846
+ rewindFeature(geometry, reverse);
47847
+ });
47848
+ return geojson;
47849
+ case "LineString":
47850
+ rewindLineString(getCoords(geojson), reverse);
47851
+ return geojson;
47852
+ case "Polygon":
47853
+ rewindPolygon(getCoords(geojson), reverse);
47854
+ return geojson;
47855
+ case "MultiLineString":
47856
+ getCoords(geojson).forEach(function (lineCoords) {
47857
+ rewindLineString(lineCoords, reverse);
47858
+ });
47859
+ return geojson;
47860
+ case "MultiPolygon":
47861
+ getCoords(geojson).forEach(function (lineCoords) {
47862
+ rewindPolygon(lineCoords, reverse);
47863
+ });
47864
+ return geojson;
47865
+ case "Point":
47866
+ case "MultiPoint":
47867
+ return geojson;
47868
+ }
47869
+ }
47870
+
47871
+ /**
47872
+ * Rewind LineString - outer ring clockwise
47873
+ *
47874
+ * @private
47875
+ * @param {Array<Array<number>>} coords GeoJSON LineString geometry coordinates
47876
+ * @param {Boolean} [reverse=false] enable reverse winding
47877
+ * @returns {void} mutates coordinates
47878
+ */
47879
+ function rewindLineString(coords, reverse) {
47880
+ if (booleanClockwise(coords) === reverse) coords.reverse();
47881
+ }
47882
+
47883
+ /**
47884
+ * Rewind Polygon - outer ring counterclockwise and inner rings clockwise.
47885
+ *
47886
+ * @private
47887
+ * @param {Array<Array<Array<number>>>} coords GeoJSON Polygon geometry coordinates
47888
+ * @param {Boolean} [reverse=false] enable reverse winding
47889
+ * @returns {void} mutates coordinates
47890
+ */
47891
+ function rewindPolygon(coords, reverse) {
47892
+ // outer ring
47893
+ if (booleanClockwise(coords[0]) !== reverse) {
47894
+ coords[0].reverse();
47895
+ }
47896
+ // inner rings
47897
+ for (var i = 1; i < coords.length; i++) {
47898
+ if (booleanClockwise(coords[i]) === reverse) {
47899
+ coords[i].reverse();
47900
+ }
47901
+ }
47902
+ }
47903
+
47363
47904
  /**
47364
47905
  * splaytree v3.1.2
47365
47906
  * Fast Splay tree for Node and browser
@@ -52629,6 +53170,37 @@ const SelectField = ({
52629
53170
  }) : getLabel(value.toString())))));
52630
53171
  };
52631
53172
 
53173
+ const IntersectionSelect = ({
53174
+ intersections,
53175
+ onChangeIntersection
53176
+ }) => {
53177
+ const [activeIntersection, setActiveIntersection] = React__default.useState(0);
53178
+ return /*#__PURE__*/React__default.createElement(Grid$1, {
53179
+ item: true,
53180
+ sm: 12
53181
+ }, /*#__PURE__*/React__default.createElement(FormControl$1, {
53182
+ variant: "filled",
53183
+ sx: {
53184
+ width: '100%'
53185
+ }
53186
+ }, /*#__PURE__*/React__default.createElement(InputLabel$1, {
53187
+ id: "demo-intersection"
53188
+ }, "Intersection shapes"), /*#__PURE__*/React__default.createElement(Select$1, {
53189
+ labelId: "demo-intersection",
53190
+ value: activeIntersection.toString(),
53191
+ onChange: event => {
53192
+ const featureIndex = parseInt(event.target.value, 10);
53193
+ setActiveIntersection(featureIndex);
53194
+ onChangeIntersection(intersections[featureIndex].geojson);
53195
+ }
53196
+ }, intersections.map((listItem, index) => {
53197
+ return /*#__PURE__*/React__default.createElement(MenuItem$1, {
53198
+ key: listItem.title,
53199
+ value: index
53200
+ }, listItem.title);
53201
+ }))));
53202
+ };
53203
+
52632
53204
  function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(n){return !!n&&!!n[Q]}function t(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r);}function g(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b("Patches").N(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1;}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function N(n,r,t){var e=s(r)?b("MapSet").F(r,t):v(r)?b("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c(t,i)&&(void 0!==t||u(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n(6),void 0!==o&&"function"!=typeof o&&n(7),t(r)){var c=w(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d(f,!0),o){var p=[],l=[];b("Patches").M(r,f,p,l),o(p,l);}return f}n(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=R(e));var i=w(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);var produce = fn;
52633
53205
 
52634
53206
  /**
@@ -52802,6 +53374,20 @@ const isGeoJSONFeatureCreatedByTool = (existingJSON, newGeoJSON) => {
52802
53374
  const newTool = newGeoJSON.type === 'Feature' ? (_b = newGeoJSON.properties) === null || _b === void 0 ? void 0 : _b.selectionType : (_c = newGeoJSON.features[0].properties) === null || _c === void 0 ? void 0 : _c.selectionType;
52803
53375
  return lastUsedTool !== undefined && newTool !== undefined ? lastUsedTool === newTool : false;
52804
53376
  };
53377
+ const rewindGeometry = geoJSON => {
53378
+ return produce(geoJSON, geoJSONDraft => {
53379
+ if (geoJSONDraft && geoJSONDraft.features.length > 0 && geoJSONDraft.features[0].geometry.type === 'Polygon' && geoJSONDraft.features[0].geometry.coordinates[0].length > 1) {
53380
+ const {
53381
+ geometry
53382
+ } = geoJSON.features[0];
53383
+ const lineString = polygonToLineString(geometry);
53384
+ if (booleanClockwise(lineString.geometry.coordinates)) {
53385
+ // eslint-disable-next-line no-param-reassign
53386
+ geoJSONDraft.features[0].geometry = rewind(geoJSONDraft.features[0].geometry);
53387
+ }
53388
+ }
53389
+ });
53390
+ };
52805
53391
 
52806
53392
  const defaultIntersectionStyleProperties = Object.assign(Object.assign({}, defaultGeoJSONStyleProperties), {
52807
53393
  'fill-opacity': 0.5
@@ -52889,7 +53475,10 @@ const useMapDrawTool = ({
52889
53475
  defaultGeoJSON: _defaultGeoJSON = emptyGeoJSON,
52890
53476
  defaultGeoJSONIntersection: _defaultGeoJSONIntersection = emptyIntersectionShape,
52891
53477
  defaultGeoJSONIntersectionBounds,
52892
- defaultGeoJSONIntersectionProperties: _defaultGeoJSONIntersectionProperties = defaultIntersectionStyleProperties
53478
+ defaultGeoJSONIntersectionProperties: _defaultGeoJSONIntersectionProperties = defaultIntersectionStyleProperties,
53479
+ geoJSONLayerId: _geoJSONLayerId = 'draw-layer',
53480
+ geoJSONIntersectionLayerId: _geoJSONIntersectionLayerId = 'intersection-layer',
53481
+ geoJSONIntersectionBoundsLayerId: _geoJSONIntersectionBoundsLayerId = 'static-layer'
52893
53482
  }) => {
52894
53483
  // geoJSON feature collections
52895
53484
  const [geoJSON, setGeoJSON] = React__default.useState(_defaultGeoJSON);
@@ -52929,7 +53518,7 @@ const useMapDrawTool = ({
52929
53518
  reset(shouldDeleteShape);
52930
53519
  return;
52931
53520
  }
52932
- setActiveTool(newMode.drawModeId);
53521
+ setActiveTool(newMode.isSelectable ? newMode.drawModeId : '');
52933
53522
  // updates shape
52934
53523
  const isNewSelectedTool = !isGeoJSONFeatureCreatedByTool(geoJSON, newMode.shape);
52935
53524
  const shouldUpdateShape = !geoJSON.features.length || _shouldAllowMultipleShapes || isNewSelectedTool;
@@ -52939,7 +53528,7 @@ const useMapDrawTool = ({
52939
53528
  }
52940
53529
  // handle modes and update feature layer index
52941
53530
  setDrawMode(newMode.value);
52942
- setEditMode(!!newMode.value);
53531
+ setEditMode(!!newMode.value && newMode.isSelectable);
52943
53532
  };
52944
53533
  const changeGeoJSON = (updatedGeoJSON, reason = '') => {
52945
53534
  const geoJSONFeatureCollection = getFeatureCollection(updatedGeoJSON, _shouldAllowMultipleShapes, geoJSON);
@@ -53001,7 +53590,7 @@ const useMapDrawTool = ({
53001
53590
  isInEditMode: false
53002
53591
  };
53003
53592
  };
53004
- const layers = [...(geoJSONIntersectionBounds ? [getLayer('geoJSONIntersectionBounds', 'static-layer'), getLayer('geoJSONIntersection', 'intersection-layer')] : []), getLayer('geoJSON', 'draw-layer')];
53593
+ const layers = [...(geoJSONIntersectionBounds ? [getLayer('geoJSONIntersectionBounds', _geoJSONIntersectionBoundsLayerId), getLayer('geoJSONIntersection', _geoJSONIntersectionLayerId)] : []), getLayer('geoJSON', _geoJSONLayerId)];
53005
53594
  return {
53006
53595
  geoJSON,
53007
53596
  geoJSONIntersection,
@@ -53026,8 +53615,24 @@ const useMapDrawTool = ({
53026
53615
  };
53027
53616
  };
53028
53617
 
53618
+ const opacityOptions = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0];
53619
+ const fillOptions = [defaultGeoJSONStyleProperties.fill, '#6e1e91', '#FF00FF', '#33ccFF', '#8F8'];
53620
+ const strokeWidthOptions = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
53621
+ const getToolIcon = id => {
53622
+ const defaultIcon = getIcon(id);
53623
+ if (defaultIcon) {
53624
+ return defaultIcon;
53625
+ }
53626
+ if (id === 'tool-fir') {
53627
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53628
+ }
53629
+ if (id === 'tool-custom-line') {
53630
+ return /*#__PURE__*/React__default.createElement(ArrowUp, null);
53631
+ }
53632
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53633
+ };
53029
53634
  // custom buttons
53030
- const shapeButtonNL = {
53635
+ const shapeButtonNL$2 = {
53031
53636
  drawModeId: 'tool-fir',
53032
53637
  value: DRAWMODE.POLYGON,
53033
53638
  title: 'Custom FIR NL polygon',
@@ -53048,8 +53653,8 @@ const customLineButton = {
53048
53653
  },
53049
53654
  isSelectable: false
53050
53655
  };
53051
- // example options
53052
53656
  const basicExampleDrawOptions = {
53657
+ defaultDrawModes: [...defaultModes, shapeButtonNL$2, customLineButton],
53053
53658
  defaultGeoJSON: {
53054
53659
  type: 'FeatureCollection',
53055
53660
  features: [{
@@ -53067,7 +53672,7 @@ const basicExampleDrawOptions = {
53067
53672
  const basicExampleMultipleShapeDrawOptions = {
53068
53673
  shouldAllowMultipleShapes: true,
53069
53674
  // add multiple tools, and update all with custom color
53070
- defaultDrawModes: [...defaultModes, shapeButtonNL, customLineButton].map(mode => Object.assign(Object.assign({}, mode), {
53675
+ defaultDrawModes: [...defaultModes, shapeButtonNL$2, customLineButton].map(mode => Object.assign(Object.assign({}, mode), {
53071
53676
  shape: Object.assign(Object.assign({}, mode.shape), {
53072
53677
  properties: Object.assign(Object.assign({}, mode.shape.properties), {
53073
53678
  stroke: '#8F8',
@@ -53080,6 +53685,295 @@ const basicExampleMultipleShapeDrawOptions = {
53080
53685
  }))
53081
53686
  };
53082
53687
 
53688
+ const getIntersectionToolIcon = id => {
53689
+ const defaultIcon = getIcon(id);
53690
+ if (defaultIcon) {
53691
+ return defaultIcon;
53692
+ }
53693
+ if (id === 'fir-nl') {
53694
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53695
+ }
53696
+ if (id === 'fir-be') {
53697
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, {
53698
+ sx: {
53699
+ transform: `scaleY(-1)`
53700
+ }
53701
+ });
53702
+ }
53703
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53704
+ };
53705
+ // custom buttons
53706
+ const shapeButtonNL$1 = {
53707
+ drawModeId: 'tool-fir',
53708
+ value: DRAWMODE.POLYGON,
53709
+ title: 'Custom FIR NL polygon',
53710
+ shape: intersectionFeatureNL,
53711
+ isSelectable: false
53712
+ };
53713
+ const shapeButtonBE$1 = {
53714
+ drawModeId: 'fir-be',
53715
+ value: DRAWMODE.POLYGON,
53716
+ title: 'Custom FIR BE polygon',
53717
+ shape: intersectionFeatureBE,
53718
+ isSelectable: false
53719
+ };
53720
+ const geoJSONIntersectionBoundsStyle$1 = {
53721
+ stroke: '#000000',
53722
+ 'stroke-width': 1.5,
53723
+ 'stroke-opacity': 1,
53724
+ fill: '#0075a9',
53725
+ 'fill-opacity': 0.0
53726
+ };
53727
+ const featurePropsIntersectionEnd = {
53728
+ stroke: '#000000',
53729
+ 'stroke-width': 1.5,
53730
+ 'stroke-opacity': 1,
53731
+ fill: '#6e1e91',
53732
+ 'fill-opacity': 0.5
53733
+ };
53734
+ const intersectionShapeNL$1 = {
53735
+ type: 'FeatureCollection',
53736
+ features: [Object.assign(Object.assign({}, intersectionFeatureNL), {
53737
+ properties: geoJSONIntersectionBoundsStyle$1
53738
+ })]
53739
+ };
53740
+ const intersectionShapeBE$1 = {
53741
+ type: 'FeatureCollection',
53742
+ features: [Object.assign(Object.assign({}, intersectionFeatureBE), {
53743
+ properties: geoJSONIntersectionBoundsStyle$1
53744
+ })]
53745
+ };
53746
+ const exampleIntersections = [{
53747
+ title: 'NL',
53748
+ geojson: intersectionShapeNL$1
53749
+ }, {
53750
+ title: 'BE',
53751
+ geojson: intersectionShapeBE$1
53752
+ }];
53753
+ const exampleIntersectionOptions = {
53754
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL$1,
53755
+ defaultDrawModes: [defaultPoint, defaultPolygon, defaultBox, shapeButtonNL$1, shapeButtonBE$1, defaultDelete]
53756
+ };
53757
+ const exampleIntersectionWithShapeOptions = {
53758
+ defaultGeoJSON: {
53759
+ type: 'FeatureCollection',
53760
+ features: [{
53761
+ type: 'Feature',
53762
+ properties: Object.assign(Object.assign({}, featurePropsIntersectionEnd), {
53763
+ selectionType: 'poly'
53764
+ }),
53765
+ geometry: {
53766
+ type: 'Polygon',
53767
+ coordinates: [[[5.711880814773656, 55.12656218004421], [7.663910745234145, 55.970965630799725], [10.075241835802988, 52.35182632872327], [6.673542618750517, 51.77828698943017], [4.506215269489237, 53.442721496909385], [5.711880814773656, 55.12656218004421]]]
53768
+ }
53769
+ }]
53770
+ },
53771
+ defaultGeoJSONIntersection: {
53772
+ type: 'FeatureCollection',
53773
+ features: [{
53774
+ type: 'Feature',
53775
+ properties: Object.assign(Object.assign({}, featurePropsIntersectionEnd), {
53776
+ selectionType: 'poly'
53777
+ }),
53778
+ geometry: {
53779
+ type: 'Polygon',
53780
+ coordinates: [[[4.506215269489237, 53.442721496909385], [6.515104876543458, 51.89996184648691], [7.053095, 52.237764], [7.031389, 52.268885], [7.063612, 52.346109], [7.065557, 52.385828], [7.133055, 52.888887], [7.14218, 52.898244], [7.191667, 53.3], [6.5, 53.666667], [6.500002, 55.000002], [5.621260209964854, 55.00000082834584], [4.506215269489237, 53.442721496909385]]]
53781
+ }
53782
+ }]
53783
+ },
53784
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL$1,
53785
+ defaultDrawModes: [Object.assign(Object.assign({}, defaultPoint), {
53786
+ shape: Object.assign(Object.assign({}, defaultPoint.shape), {
53787
+ properties: Object.assign(Object.assign({}, defaultPoint.shape.properties), featurePropsIntersectionEnd)
53788
+ })
53789
+ }), Object.assign(Object.assign({}, defaultPolygon), {
53790
+ shape: Object.assign(Object.assign({}, defaultPolygon.shape), {
53791
+ properties: Object.assign(Object.assign({}, defaultPolygon.shape.properties), featurePropsIntersectionEnd)
53792
+ })
53793
+ }), Object.assign(Object.assign({}, defaultBox), {
53794
+ shape: Object.assign(Object.assign({}, defaultBox.shape), {
53795
+ properties: Object.assign(Object.assign({}, defaultBox.shape.properties), featurePropsIntersectionEnd)
53796
+ })
53797
+ }), Object.assign(Object.assign({}, shapeButtonNL$1), {
53798
+ shape: Object.assign(Object.assign({}, shapeButtonNL$1.shape), {
53799
+ properties: Object.assign(Object.assign({}, shapeButtonNL$1.shape.properties), featurePropsIntersectionEnd)
53800
+ })
53801
+ }), Object.assign(Object.assign({}, shapeButtonBE$1), {
53802
+ shape: Object.assign(Object.assign({}, shapeButtonBE$1.shape), {
53803
+ properties: Object.assign(Object.assign({}, shapeButtonBE$1.shape.properties), featurePropsIntersectionEnd)
53804
+ })
53805
+ }), defaultDelete],
53806
+ defaultGeoJSONIntersectionProperties: featurePropsIntersectionEnd
53807
+ };
53808
+
53809
+ const firButtonDrawId = 'fir-button';
53810
+ // styles and shapes
53811
+ const featurePropertiesStart = defaultGeoJSONStyleProperties;
53812
+ const featurePropertiesEnd = {
53813
+ stroke: '#6e1e91',
53814
+ 'stroke-width': 1.5,
53815
+ 'stroke-opacity': 1,
53816
+ fill: '#6e1e91',
53817
+ 'fill-opacity': 0.25
53818
+ };
53819
+ const geoJSONIntersectionBoundsStyle = {
53820
+ stroke: '#000000',
53821
+ 'stroke-width': 1.5,
53822
+ 'stroke-opacity': 1,
53823
+ fill: '#0075a9',
53824
+ 'fill-opacity': 0.0
53825
+ };
53826
+ const intersectionShapeNL = {
53827
+ type: 'FeatureCollection',
53828
+ features: [Object.assign(Object.assign({}, intersectionFeatureNL), {
53829
+ properties: Object.assign(Object.assign({}, geoJSONIntersectionBoundsStyle), {
53830
+ selectionType: 'fir'
53831
+ })
53832
+ })]
53833
+ };
53834
+ const intersectionShapeBE = {
53835
+ type: 'FeatureCollection',
53836
+ features: [Object.assign(Object.assign({}, intersectionFeatureBE), {
53837
+ properties: Object.assign(Object.assign({}, geoJSONIntersectionBoundsStyle), {
53838
+ selectionType: 'fir'
53839
+ })
53840
+ })]
53841
+ };
53842
+ // custom buttons
53843
+ const shapeButtonNL = {
53844
+ drawModeId: firButtonDrawId,
53845
+ value: DRAWMODE.POLYGON,
53846
+ title: 'Custom FIR NL polygon',
53847
+ shape: intersectionShapeNL,
53848
+ isSelectable: false
53849
+ };
53850
+ const shapeButtonBE = {
53851
+ drawModeId: firButtonDrawId,
53852
+ value: DRAWMODE.POLYGON,
53853
+ title: 'Custom FIR BE polygon',
53854
+ shape: intersectionShapeBE,
53855
+ isSelectable: false
53856
+ };
53857
+ const exampleIntersectionsMultiDrawTool = [{
53858
+ title: 'NL',
53859
+ geojson: shapeButtonNL.shape
53860
+ }, {
53861
+ title: 'BE',
53862
+ geojson: shapeButtonBE.shape
53863
+ }];
53864
+ const getDoubleControlToolIcon = drawMode => {
53865
+ const {
53866
+ drawModeId
53867
+ } = drawMode;
53868
+ const defaultIcon = getIcon(drawModeId);
53869
+ if (defaultIcon) {
53870
+ return defaultIcon;
53871
+ }
53872
+ if (drawModeId === firButtonDrawId) {
53873
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, {
53874
+ sx: Object.assign({}, drawMode.title === shapeButtonBE.title && {
53875
+ transform: `scaleY(-1)`
53876
+ })
53877
+ });
53878
+ }
53879
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53880
+ };
53881
+ const getEditModes = geoJSONProperties => [Object.assign(Object.assign({}, defaultPoint), {
53882
+ shape: Object.assign(Object.assign({}, defaultPoint.shape), {
53883
+ properties: Object.assign(Object.assign({}, defaultPoint.shape.properties), geoJSONProperties)
53884
+ })
53885
+ }), Object.assign(Object.assign({}, defaultPolygon), {
53886
+ shape: Object.assign(Object.assign({}, defaultPolygon.shape), {
53887
+ properties: Object.assign(Object.assign({}, defaultPolygon.shape.properties), geoJSONProperties)
53888
+ })
53889
+ }), Object.assign(Object.assign({}, defaultBox), {
53890
+ shape: Object.assign(Object.assign({}, defaultBox.shape), {
53891
+ properties: Object.assign(Object.assign({}, defaultBox.shape.properties), geoJSONProperties)
53892
+ })
53893
+ }), Object.assign(Object.assign({}, shapeButtonNL), {
53894
+ shape: Object.assign(Object.assign({}, shapeButtonNL.shape), {
53895
+ features: [Object.assign(Object.assign({}, intersectionFeatureNL), {
53896
+ properties: Object.assign(Object.assign({}, intersectionShapeNL.features[0].properties), geoJSONProperties)
53897
+ })]
53898
+ })
53899
+ }), defaultDelete];
53900
+ const getUpdatedFirShape = isNL => isNL ? intersectionShapeNL : intersectionShapeBE;
53901
+ const getFirTitle = isNL => isNL ? shapeButtonNL.title : shapeButtonBE.title;
53902
+ const updateEditModeButtonsWithFir = (drawModes, newFirGeoJSON) => {
53903
+ const isNL = newFirGeoJSON === intersectionShapeNL;
53904
+ return drawModes.map(mode => {
53905
+ if (mode.drawModeId === firButtonDrawId) {
53906
+ return Object.assign(Object.assign({}, mode), {
53907
+ shape: getUpdatedFirShape(isNL),
53908
+ title: getFirTitle(isNL)
53909
+ });
53910
+ }
53911
+ return mode;
53912
+ });
53913
+ };
53914
+ // example configs
53915
+ const startToolExampleConfig = {
53916
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL,
53917
+ defaultDrawModes: getEditModes(featurePropertiesStart),
53918
+ defaultGeoJSON: {
53919
+ type: 'FeatureCollection',
53920
+ features: [{
53921
+ type: 'Feature',
53922
+ properties: Object.assign(Object.assign({}, featurePropertiesStart), {
53923
+ selectionType: 'box'
53924
+ }),
53925
+ geometry: {
53926
+ type: 'Polygon',
53927
+ coordinates: [[[9.451665078283622, 53.21804334226515], [4.734608638338736, 53.21804334226515], [4.734608638338736, 54.57650543915101], [9.451665078283622, 54.57650543915101], [9.451665078283622, 53.21804334226515]]]
53928
+ }
53929
+ }]
53930
+ },
53931
+ defaultGeoJSONIntersection: {
53932
+ type: 'FeatureCollection',
53933
+ features: [{
53934
+ type: 'Feature',
53935
+ properties: Object.assign(Object.assign({}, defaultIntersectionStyleProperties), {
53936
+ selectionType: 'box'
53937
+ }),
53938
+ geometry: {
53939
+ type: 'Polygon',
53940
+ coordinates: [[[4.734608638338736, 53.21804334226515], [7.181571844927457, 53.21804334226515], [7.191667, 53.3], [6.5, 53.666667], [6.500001364755953, 54.57650543915101], [4.734608638338736, 54.57650543915101], [4.734608638338736, 53.21804334226515]]]
53941
+ }
53942
+ }]
53943
+ }
53944
+ };
53945
+ const endToolExampleConfig = {
53946
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL,
53947
+ defaultDrawModes: getEditModes(featurePropertiesEnd),
53948
+ defaultGeoJSONIntersectionProperties: featurePropertiesEnd,
53949
+ defaultGeoJSON: {
53950
+ type: 'FeatureCollection',
53951
+ features: [{
53952
+ type: 'Feature',
53953
+ properties: Object.assign(Object.assign({}, featurePropertiesEnd), {
53954
+ selectionType: 'poly'
53955
+ }),
53956
+ geometry: {
53957
+ type: 'Polygon',
53958
+ coordinates: [[[2.3408785046353606, 52.57033268070152], [8.870833501723242, 51.74975701659361], [-0.088053542798945, 50.72496422996941], [2.3408785046353606, 52.57033268070152]]]
53959
+ }
53960
+ }]
53961
+ },
53962
+ defaultGeoJSONIntersection: {
53963
+ type: 'FeatureCollection',
53964
+ features: [{
53965
+ type: 'Feature',
53966
+ properties: Object.assign(Object.assign({}, featurePropertiesEnd), {
53967
+ selectionType: 'poly'
53968
+ }),
53969
+ geometry: {
53970
+ type: 'Polygon',
53971
+ coordinates: [[[2.000002, 51.500002], [3.370001, 51.369722], [3.362223, 51.320002], [3.36389, 51.313608], [3.373613, 51.309999], [3.952501, 51.214441], [4.397501, 51.452776], [5.078611, 51.391665], [5.249839243115953, 51.335557264081125], [6.173465572431757, 51.44120940537001], [5.94639, 51.811663], [6.405001, 51.830828], [6.708618091513499, 52.02146813052448], [2.8253551673020594, 52.50945174669971], [2.000002, 51.500002]]]
53972
+ }
53973
+ }]
53974
+ }
53975
+ };
53976
+
53083
53977
  var fails$5 = fails$j;
53084
53978
  var global$4 = global$h;
53085
53979
 
@@ -53825,6 +54719,30 @@ function debounce$2 (delay, callback, options) {
53825
54719
  const setLayerInfo = (wmLayer, mapId, onUpdateLayerInformation) => {
53826
54720
  const origin = 'ReactMapViewParseLayer';
53827
54721
  const map = webmapUtils.getWMJSMapById(mapId);
54722
+ const mapDimensions = map === null || map === void 0 ? void 0 : map.mapdimensions.map(mapdim => {
54723
+ return {
54724
+ units: mapdim.units,
54725
+ currentValue: mapdim.currentValue,
54726
+ name: mapdim.name
54727
+ };
54728
+ });
54729
+ const layerDimensions = wmLayer.dimensions.map(dim => {
54730
+ const {
54731
+ name,
54732
+ units,
54733
+ synced
54734
+ } = dim;
54735
+ return {
54736
+ name,
54737
+ units,
54738
+ currentValue: dim.getValue(),
54739
+ minValue: dim.getFirstValue(),
54740
+ maxValue: dim.getLastValue(),
54741
+ timeInterval: dim.getDimInterval(),
54742
+ values: dim.getValues(),
54743
+ synced
54744
+ };
54745
+ });
53828
54746
  /* Update list of layers for service */
53829
54747
  const updateObject = {
53830
54748
  origin,
@@ -53836,34 +54754,12 @@ const setLayerInfo = (wmLayer, mapId, onUpdateLayerInformation) => {
53836
54754
  mapDimensions: {
53837
54755
  mapId,
53838
54756
  origin,
53839
- dimensions: map && map.mapdimensions.map(mapdim => {
53840
- return {
53841
- units: mapdim.units,
53842
- currentValue: mapdim.currentValue,
53843
- name: mapdim.name
53844
- };
53845
- }) || []
54757
+ dimensions: mapDimensions !== null && mapDimensions !== void 0 ? mapDimensions : []
53846
54758
  },
53847
54759
  layerDimensions: {
53848
54760
  origin,
53849
54761
  layerId: wmLayer.id,
53850
- dimensions: wmLayer.dimensions.map(dim => {
53851
- const {
53852
- name,
53853
- units,
53854
- synced
53855
- } = dim;
53856
- return {
53857
- name,
53858
- units,
53859
- currentValue: dim.getValue(),
53860
- minValue: dim.getFirstValue(),
53861
- maxValue: dim.getLastValue(),
53862
- timeInterval: dim.getDimInterval(),
53863
- values: dim.getValues(),
53864
- synced
53865
- };
53866
- })
54762
+ dimensions: layerDimensions
53867
54763
  }
53868
54764
  };
53869
54765
  onUpdateLayerInformation === null || onUpdateLayerInformation === void 0 ? void 0 : onUpdateLayerInformation(updateObject);
@@ -54453,6 +55349,15 @@ class ReactMapView extends React.Component {
54453
55349
  }
54454
55350
  }
54455
55351
  }
55352
+ /* Check if srs */
55353
+ if (!prevProps || prevProps.srs !== props.srs) {
55354
+ if (props.bbox.left !== undefined) {
55355
+ wmjsMap.suspendEvent('onupdatebbox');
55356
+ wmjsMap.setProjection(props.srs, new WMBBOX(props.bbox));
55357
+ wmjsMap.resumeEvent('onupdatebbox');
55358
+ wmjsMap.draw();
55359
+ }
55360
+ }
54456
55361
  /* Check display/hide map cursor */
54457
55362
  if (!prevProps || prevProps.displayMapPin !== props.displayMapPin) {
54458
55363
  if (props.displayMapPin === true) {
@@ -56097,6 +57002,53 @@ const MapWarningProperties = ({
56097
57002
  }, "Identifier: ", selectedFeatureProperties.identifier)));
56098
57003
  };
56099
57004
 
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
+
56100
57052
  /* *
56101
57053
  * Licensed under the Apache License, Version 2.0 (the "License");
56102
57054
  * you may not use this file except in compliance with the License.
@@ -56658,4 +57610,4 @@ var publicLayers = /*#__PURE__*/Object.freeze({
56658
57610
  msgNaturalEUMETSAT: msgNaturalEUMETSAT
56659
57611
  });
56660
57612
 
56661
- export { CanvasComponent, DRAWMODE, EDITMODE, EditModeButton as EditModeButtonField, FeatureLayers, GeoJSONTextField, 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, featureBox, featureMultiPoint, featurePoint, featurePolygon, formatTime, getDrawFunctionFromStore, getFeatureCollection, getGeoJSONPropertyValue, getGeoJson, getIcon, getTimeDimension, intersectGeoJSONS, intersectionFeatureBE, intersectionFeatureNL, isGeoJSONFeatureCreatedByTool, lineString, moveFeature, publicLayers, publicServices, registerDrawFunction, simpleBoxGeoJSON, simpleFlightRouteLineStringGeoJSON, simpleFlightRoutePointsGeoJSON, simpleLineStringGeoJSON, simpleMultiPolygon, simplePointsGeojson, simplePolygonGeoJSON, simpleSmallLineStringGeoJSON, useGeoJSON, useMapDrawTool };
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 };