@opengeoweb/webmap-react 8.4.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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, Close } from '@opengeoweb/theme';
8
+ import { Delete, Edit, DrawRegion, DrawPolygon, Location, DrawFIRLand, ArrowUp, Home, Add, Minus } from '@opengeoweb/theme';
9
9
 
10
10
  /* *
11
11
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -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$H = ["values", "unit", "step"];
7212
+ const _excluded$G = ["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$H);
7247
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded$G);
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$G = ["breakpoints", "palette", "spacing", "shape"];
8338
+ const _excluded$F = ["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$G);
8346
+ other = _objectWithoutPropertiesLoose(options, _excluded$F);
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$F = ["sx"];
8414
+ const _excluded$E = ["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$F);
8435
+ other = _objectWithoutPropertiesLoose(props, _excluded$E);
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$E = ["className", "component"];
8461
+ const _excluded$D = ["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$E);
8479
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$D);
8481
8480
  return /*#__PURE__*/jsx(BoxRoot, _extends({
8482
8481
  as: component,
8483
8482
  ref: ref,
@@ -8488,29 +8487,7 @@ function createBox(options = {}) {
8488
8487
  return Box;
8489
8488
  }
8490
8489
 
8491
- const Box$2 = createBox();
8492
- process.env.NODE_ENV !== "production" ? Box$2.propTypes /* remove-proptypes */ = {
8493
- // ----------------------------- Warning --------------------------------
8494
- // | These PropTypes are generated from the TypeScript type definitions |
8495
- // | To update them edit the d.ts file and run "yarn proptypes" |
8496
- // ----------------------------------------------------------------------
8497
- /**
8498
- * @ignore
8499
- */
8500
- children: PropTypes.node,
8501
- /**
8502
- * The component used for the root node.
8503
- * Either a string to use a HTML element or a component.
8504
- */
8505
- component: PropTypes.elementType,
8506
- /**
8507
- * The system prop that allows defining system overrides as well as additional CSS styles.
8508
- */
8509
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
8510
- } : void 0;
8511
- var Box$3 = Box$2;
8512
-
8513
- const _excluded$D = ["variant"];
8490
+ const _excluded$C = ["variant"];
8514
8491
  function isEmpty$3(string) {
8515
8492
  return string.length === 0;
8516
8493
  }
@@ -8524,7 +8501,7 @@ function propsToClassKey(props) {
8524
8501
  const {
8525
8502
  variant
8526
8503
  } = props,
8527
- other = _objectWithoutPropertiesLoose(props, _excluded$D);
8504
+ other = _objectWithoutPropertiesLoose(props, _excluded$C);
8528
8505
  let classKey = variant || '';
8529
8506
  Object.keys(other).sort().forEach(key => {
8530
8507
  if (key === 'color') {
@@ -8536,7 +8513,7 @@ function propsToClassKey(props) {
8536
8513
  return classKey;
8537
8514
  }
8538
8515
 
8539
- const _excluded$C = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8516
+ const _excluded$B = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
8540
8517
  function isEmpty$2(obj) {
8541
8518
  return Object.keys(obj).length === 0;
8542
8519
  }
@@ -8673,7 +8650,7 @@ function createStyled(input = {}) {
8673
8650
  // For more details: https://github.com/mui/material-ui/pull/37908
8674
8651
  overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))
8675
8652
  } = inputOptions,
8676
- options = _objectWithoutPropertiesLoose(inputOptions, _excluded$C);
8653
+ options = _objectWithoutPropertiesLoose(inputOptions, _excluded$B);
8677
8654
 
8678
8655
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
8679
8656
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :
@@ -9107,7 +9084,7 @@ function createMixins(breakpoints, mixins) {
9107
9084
  }, mixins);
9108
9085
  }
9109
9086
 
9110
- const _excluded$B = ["mode", "contrastThreshold", "tonalOffset"];
9087
+ const _excluded$A = ["mode", "contrastThreshold", "tonalOffset"];
9111
9088
  const light = {
9112
9089
  // The colors used to style the text.
9113
9090
  text: {
@@ -9276,7 +9253,7 @@ function createPalette(palette) {
9276
9253
  contrastThreshold = 3,
9277
9254
  tonalOffset = 0.2
9278
9255
  } = palette,
9279
- other = _objectWithoutPropertiesLoose(palette, _excluded$B);
9256
+ other = _objectWithoutPropertiesLoose(palette, _excluded$A);
9280
9257
  const primary = palette.primary || getDefaultPrimary(mode);
9281
9258
  const secondary = palette.secondary || getDefaultSecondary(mode);
9282
9259
  const error = palette.error || getDefaultError(mode);
@@ -9400,7 +9377,7 @@ const theme2 = createTheme({ palette: {
9400
9377
  return paletteOutput;
9401
9378
  }
9402
9379
 
9403
- const _excluded$A = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9380
+ const _excluded$z = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9404
9381
  function round(value) {
9405
9382
  return Math.round(value * 1e5) / 1e5;
9406
9383
  }
@@ -9431,7 +9408,7 @@ function createTypography(palette, typography) {
9431
9408
  allVariants,
9432
9409
  pxToRem: pxToRem2
9433
9410
  } = _ref,
9434
- other = _objectWithoutPropertiesLoose(_ref, _excluded$A);
9411
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$z);
9435
9412
  if (process.env.NODE_ENV !== 'production') {
9436
9413
  if (typeof fontSize !== 'number') {
9437
9414
  console.error('MUI: `fontSize` is required to be a number.');
@@ -9498,7 +9475,7 @@ function createShadow(...px) {
9498
9475
  const shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];
9499
9476
  var shadows$1 = shadows;
9500
9477
 
9501
- const _excluded$z = ["duration", "easing", "delay"];
9478
+ const _excluded$y = ["duration", "easing", "delay"];
9502
9479
  // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves
9503
9480
  // to learn the context in which each easing should be used.
9504
9481
  const easing = {
@@ -9549,7 +9526,7 @@ function createTransitions(inputTransitions) {
9549
9526
  easing: easingOption = mergedEasing.easeInOut,
9550
9527
  delay = 0
9551
9528
  } = options,
9552
- other = _objectWithoutPropertiesLoose(options, _excluded$z);
9529
+ other = _objectWithoutPropertiesLoose(options, _excluded$y);
9553
9530
  if (process.env.NODE_ENV !== 'production') {
9554
9531
  const isString = value => typeof value === 'string';
9555
9532
  // IE11 support, replace with Number.isNaN
@@ -9596,7 +9573,7 @@ const zIndex = {
9596
9573
  };
9597
9574
  var zIndex$1 = zIndex;
9598
9575
 
9599
- const _excluded$y = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9576
+ const _excluded$x = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9600
9577
  function createTheme(options = {}, ...args) {
9601
9578
  const {
9602
9579
  mixins: mixinsInput = {},
@@ -9604,7 +9581,7 @@ function createTheme(options = {}, ...args) {
9604
9581
  transitions: transitionsInput = {},
9605
9582
  typography: typographyInput = {}
9606
9583
  } = options,
9607
- other = _objectWithoutPropertiesLoose(options, _excluded$y);
9584
+ other = _objectWithoutPropertiesLoose(options, _excluded$x);
9608
9585
  if (options.vars) {
9609
9586
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`vars\` is a private field used for CSS variables support.
9610
9587
  Please use another name.` : formatMuiErrorMessage(18));
@@ -9875,7 +9852,7 @@ function mergeSlotProps(parameters) {
9875
9852
  };
9876
9853
  }
9877
9854
 
9878
- const _excluded$x = ["elementType", "externalSlotProps", "ownerState"];
9855
+ const _excluded$w = ["elementType", "externalSlotProps", "ownerState"];
9879
9856
  /**
9880
9857
  * @ignore - do not document.
9881
9858
  * Builds the props to be passed into the slot of an unstyled component.
@@ -9891,7 +9868,7 @@ function useSlotProps(parameters) {
9891
9868
  externalSlotProps,
9892
9869
  ownerState
9893
9870
  } = parameters,
9894
- rest = _objectWithoutPropertiesLoose(parameters, _excluded$x);
9871
+ rest = _objectWithoutPropertiesLoose(parameters, _excluded$w);
9895
9872
  const resolvedComponentsProps = resolveComponentProps(externalSlotProps, ownerState);
9896
9873
  const {
9897
9874
  props: mergedProps,
@@ -10529,8 +10506,8 @@ function getModalUtilityClass(slot) {
10529
10506
  }
10530
10507
  generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);
10531
10508
 
10532
- const _excluded$w = ["children", "closeAfterTransition", "component", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
10533
- const useUtilityClasses$p = ownerState => {
10509
+ const _excluded$v = ["children", "closeAfterTransition", "component", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
10510
+ const useUtilityClasses$o = ownerState => {
10534
10511
  const {
10535
10512
  open,
10536
10513
  exited
@@ -10599,7 +10576,7 @@ const ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props
10599
10576
  slotProps = {},
10600
10577
  slots = {}
10601
10578
  } = props,
10602
- other = _objectWithoutPropertiesLoose(props, _excluded$w);
10579
+ other = _objectWithoutPropertiesLoose(props, _excluded$v);
10603
10580
  const [exited, setExited] = React.useState(!open);
10604
10581
  const modal = React.useRef({});
10605
10582
  const mountNodeRef = React.useRef(null);
@@ -10671,7 +10648,7 @@ const ModalUnstyled = /*#__PURE__*/React.forwardRef(function ModalUnstyled(props
10671
10648
  hideBackdrop,
10672
10649
  keepMounted
10673
10650
  });
10674
- const classes = useUtilityClasses$p(ownerState);
10651
+ const classes = useUtilityClasses$o(ownerState);
10675
10652
  const handleEnter = () => {
10676
10653
  setExited(false);
10677
10654
  if (onTransitionEnter) {
@@ -10895,7 +10872,7 @@ process.env.NODE_ENV !== "production" ? ModalUnstyled.propTypes /* remove-propty
10895
10872
  } : void 0;
10896
10873
  var ModalUnstyled$1 = ModalUnstyled;
10897
10874
 
10898
- const _excluded$v = ["onChange", "maxRows", "minRows", "style", "value"];
10875
+ const _excluded$u = ["onChange", "maxRows", "minRows", "style", "value"];
10899
10876
  function getStyleValue(value) {
10900
10877
  return parseInt(value, 10) || 0;
10901
10878
  }
@@ -10937,7 +10914,7 @@ const TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize
10937
10914
  style,
10938
10915
  value
10939
10916
  } = props,
10940
- other = _objectWithoutPropertiesLoose(props, _excluded$v);
10917
+ other = _objectWithoutPropertiesLoose(props, _excluded$u);
10941
10918
  const {
10942
10919
  current: isControlled
10943
10920
  } = React.useRef(value != null);
@@ -11153,8 +11130,8 @@ function getSvgIconUtilityClass(slot) {
11153
11130
  }
11154
11131
  generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
11155
11132
 
11156
- const _excluded$u = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
11157
- const useUtilityClasses$o = ownerState => {
11133
+ const _excluded$t = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
11134
+ const useUtilityClasses$n = ownerState => {
11158
11135
  const {
11159
11136
  color,
11160
11137
  fontSize,
@@ -11219,7 +11196,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11219
11196
  titleAccess,
11220
11197
  viewBox = '0 0 24 24'
11221
11198
  } = props,
11222
- other = _objectWithoutPropertiesLoose(props, _excluded$u);
11199
+ other = _objectWithoutPropertiesLoose(props, _excluded$t);
11223
11200
  const ownerState = _extends({}, props, {
11224
11201
  color,
11225
11202
  component,
@@ -11232,7 +11209,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
11232
11209
  if (!inheritViewBox) {
11233
11210
  more.viewBox = viewBox;
11234
11211
  }
11235
- const classes = useUtilityClasses$o(ownerState);
11212
+ const classes = useUtilityClasses$n(ownerState);
11236
11213
  return /*#__PURE__*/jsxs(SvgIconRoot, _extends({
11237
11214
  as: component,
11238
11215
  className: clsx(classes.root, className),
@@ -12348,8 +12325,8 @@ function getPaperUtilityClass(slot) {
12348
12325
  }
12349
12326
  generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);
12350
12327
 
12351
- const _excluded$t = ["className", "component", "elevation", "square", "variant"];
12352
- const useUtilityClasses$n = ownerState => {
12328
+ const _excluded$s = ["className", "component", "elevation", "square", "variant"];
12329
+ const useUtilityClasses$m = ownerState => {
12353
12330
  const {
12354
12331
  square,
12355
12332
  elevation,
@@ -12403,14 +12380,14 @@ const Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {
12403
12380
  square = false,
12404
12381
  variant = 'elevation'
12405
12382
  } = props,
12406
- other = _objectWithoutPropertiesLoose(props, _excluded$t);
12383
+ other = _objectWithoutPropertiesLoose(props, _excluded$s);
12407
12384
  const ownerState = _extends({}, props, {
12408
12385
  component,
12409
12386
  elevation,
12410
12387
  square,
12411
12388
  variant
12412
12389
  });
12413
- const classes = useUtilityClasses$n(ownerState);
12390
+ const classes = useUtilityClasses$m(ownerState);
12414
12391
  if (process.env.NODE_ENV !== 'production') {
12415
12392
  // eslint-disable-next-line react-hooks/rules-of-hooks
12416
12393
  const theme = useTheme();
@@ -12561,7 +12538,7 @@ process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
12561
12538
  const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
12562
12539
  var touchRippleClasses$1 = touchRippleClasses;
12563
12540
 
12564
- const _excluded$s = ["center", "classes", "className"];
12541
+ const _excluded$r = ["center", "classes", "className"];
12565
12542
  let _$1 = t => t,
12566
12543
  _t,
12567
12544
  _t2,
@@ -12690,7 +12667,7 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
12690
12667
  classes = {},
12691
12668
  className
12692
12669
  } = props,
12693
- other = _objectWithoutPropertiesLoose(props, _excluded$s);
12670
+ other = _objectWithoutPropertiesLoose(props, _excluded$r);
12694
12671
  const [ripples, setRipples] = React.useState([]);
12695
12672
  const nextKey = React.useRef(0);
12696
12673
  const rippleCallback = React.useRef(null);
@@ -12891,8 +12868,8 @@ function getButtonBaseUtilityClass(slot) {
12891
12868
  const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
12892
12869
  var buttonBaseClasses$1 = buttonBaseClasses;
12893
12870
 
12894
- 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"];
12895
- const useUtilityClasses$m = ownerState => {
12871
+ const _excluded$q = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
12872
+ const useUtilityClasses$l = ownerState => {
12896
12873
  const {
12897
12874
  disabled,
12898
12875
  focusVisible,
@@ -12993,7 +12970,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
12993
12970
  touchRippleRef,
12994
12971
  type
12995
12972
  } = props,
12996
- other = _objectWithoutPropertiesLoose(props, _excluded$r);
12973
+ other = _objectWithoutPropertiesLoose(props, _excluded$q);
12997
12974
  const buttonRef = React.useRef(null);
12998
12975
  const rippleRef = React.useRef(null);
12999
12976
  const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
@@ -13160,7 +13137,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
13160
13137
  tabIndex,
13161
13138
  focusVisible
13162
13139
  });
13163
- const classes = useUtilityClasses$m(ownerState);
13140
+ const classes = useUtilityClasses$l(ownerState);
13164
13141
  return /*#__PURE__*/jsxs(ButtonBaseRoot, _extends({
13165
13142
  as: ComponentProp,
13166
13143
  className: clsx(classes.root, className),
@@ -13356,8 +13333,8 @@ function getTypographyUtilityClass(slot) {
13356
13333
  }
13357
13334
  generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
13358
13335
 
13359
- const _excluded$q = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13360
- const useUtilityClasses$l = ownerState => {
13336
+ const _excluded$p = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13337
+ const useUtilityClasses$k = ownerState => {
13361
13338
  const {
13362
13339
  align,
13363
13340
  gutterBottom,
@@ -13440,7 +13417,7 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
13440
13417
  variant = 'body1',
13441
13418
  variantMapping = defaultVariantMapping
13442
13419
  } = props,
13443
- other = _objectWithoutPropertiesLoose(props, _excluded$q);
13420
+ other = _objectWithoutPropertiesLoose(props, _excluded$p);
13444
13421
  const ownerState = _extends({}, props, {
13445
13422
  align,
13446
13423
  color,
@@ -13453,7 +13430,7 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
13453
13430
  variantMapping
13454
13431
  });
13455
13432
  const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
13456
- const classes = useUtilityClasses$l(ownerState);
13433
+ const classes = useUtilityClasses$k(ownerState);
13457
13434
  return /*#__PURE__*/jsx(TypographyRoot, _extends({
13458
13435
  as: Component,
13459
13436
  ref: ref,
@@ -13621,7 +13598,7 @@ function getInputBaseUtilityClass(slot) {
13621
13598
  const inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
13622
13599
  var inputBaseClasses$1 = inputBaseClasses;
13623
13600
 
13624
- const _excluded$p = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"];
13601
+ const _excluded$o = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"];
13625
13602
  const rootOverridesResolver = (props, styles) => {
13626
13603
  const {
13627
13604
  ownerState
@@ -13634,7 +13611,7 @@ const inputOverridesResolver = (props, styles) => {
13634
13611
  } = props;
13635
13612
  return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];
13636
13613
  };
13637
- const useUtilityClasses$k = ownerState => {
13614
+ const useUtilityClasses$j = ownerState => {
13638
13615
  const {
13639
13616
  classes,
13640
13617
  color,
@@ -13852,7 +13829,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
13852
13829
  type = 'text',
13853
13830
  value: valueProp
13854
13831
  } = props,
13855
- other = _objectWithoutPropertiesLoose(props, _excluded$p);
13832
+ other = _objectWithoutPropertiesLoose(props, _excluded$o);
13856
13833
  const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
13857
13834
  const {
13858
13835
  current: isControlled
@@ -14026,7 +14003,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
14026
14003
  startAdornment,
14027
14004
  type
14028
14005
  });
14029
- const classes = useUtilityClasses$k(ownerState);
14006
+ const classes = useUtilityClasses$j(ownerState);
14030
14007
  const Root = slots.root || components.Root || InputBaseRoot;
14031
14008
  const rootProps = slotProps.root || componentsProps.root || {};
14032
14009
  const Input = slots.input || components.Input || InputBaseComponent;
@@ -14330,7 +14307,7 @@ var ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/jsx("path", {
14330
14307
  d: "M7 10l5 5 5-5z"
14331
14308
  }), 'ArrowDropDown');
14332
14309
 
14333
- const _excluded$o = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14310
+ const _excluded$n = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14334
14311
  const styles$1 = {
14335
14312
  entering: {
14336
14313
  opacity: 1
@@ -14367,7 +14344,7 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
14367
14344
  // eslint-disable-next-line react/prop-types
14368
14345
  TransitionComponent = Transition$1
14369
14346
  } = props,
14370
- other = _objectWithoutPropertiesLoose(props, _excluded$o);
14347
+ other = _objectWithoutPropertiesLoose(props, _excluded$n);
14371
14348
  const nodeRef = React.useRef(null);
14372
14349
  const handleRef = useForkRef(nodeRef, children.ref, ref);
14373
14350
  const normalizedTransitionCallback = callback => maybeIsAppearing => {
@@ -14528,8 +14505,8 @@ function getBackdropUtilityClass(slot) {
14528
14505
  }
14529
14506
  generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);
14530
14507
 
14531
- const _excluded$n = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14532
- const useUtilityClasses$j = ownerState => {
14508
+ const _excluded$m = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14509
+ const useUtilityClasses$i = ownerState => {
14533
14510
  const {
14534
14511
  classes,
14535
14512
  invisible
@@ -14583,12 +14560,12 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
14583
14560
  TransitionComponent = Fade$1,
14584
14561
  transitionDuration
14585
14562
  } = props,
14586
- other = _objectWithoutPropertiesLoose(props, _excluded$n);
14563
+ other = _objectWithoutPropertiesLoose(props, _excluded$m);
14587
14564
  const ownerState = _extends({}, props, {
14588
14565
  component,
14589
14566
  invisible
14590
14567
  });
14591
- const classes = useUtilityClasses$j(ownerState);
14568
+ const classes = useUtilityClasses$i(ownerState);
14592
14569
  const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;
14593
14570
  return /*#__PURE__*/jsx(TransitionComponent, _extends({
14594
14571
  in: open,
@@ -14737,8 +14714,8 @@ function getSwitchBaseUtilityClass(slot) {
14737
14714
  }
14738
14715
  generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
14739
14716
 
14740
- const _excluded$m = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
14741
- const useUtilityClasses$i = ownerState => {
14717
+ const _excluded$l = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
14718
+ const useUtilityClasses$h = ownerState => {
14742
14719
  const {
14743
14720
  classes,
14744
14721
  checked,
@@ -14801,7 +14778,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
14801
14778
  type,
14802
14779
  value
14803
14780
  } = props,
14804
- other = _objectWithoutPropertiesLoose(props, _excluded$m);
14781
+ other = _objectWithoutPropertiesLoose(props, _excluded$l);
14805
14782
  const [checked, setCheckedState] = useControlled({
14806
14783
  controlled: checkedProp,
14807
14784
  default: Boolean(defaultChecked),
@@ -14850,7 +14827,7 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
14850
14827
  disableFocusRipple,
14851
14828
  edge
14852
14829
  });
14853
- const classes = useUtilityClasses$i(ownerState);
14830
+ const classes = useUtilityClasses$h(ownerState);
14854
14831
  return /*#__PURE__*/jsxs(SwitchBaseRoot, _extends({
14855
14832
  component: "span",
14856
14833
  className: clsx(classes.root, className),
@@ -14993,7 +14970,7 @@ process.env.NODE_ENV !== "production" ? SwitchBase.propTypes = {
14993
14970
  } : void 0;
14994
14971
  var SwitchBase$1 = SwitchBase;
14995
14972
 
14996
- const _excluded$l = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
14973
+ const _excluded$k = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
14997
14974
  const ModalRoot = styled$1('div', {
14998
14975
  name: 'MuiModal',
14999
14976
  slot: 'Root',
@@ -15068,7 +15045,7 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
15068
15045
  // eslint-disable-next-line react/prop-types
15069
15046
  theme
15070
15047
  } = props,
15071
- other = _objectWithoutPropertiesLoose(props, _excluded$l);
15048
+ other = _objectWithoutPropertiesLoose(props, _excluded$k);
15072
15049
  const [exited, setExited] = React.useState(true);
15073
15050
  const commonProps = {
15074
15051
  closeAfterTransition,
@@ -15286,8 +15263,8 @@ var Modal$1 = Modal;
15286
15263
  const dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);
15287
15264
  var dividerClasses$1 = dividerClasses;
15288
15265
 
15289
- const _excluded$k = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
15290
- const useUtilityClasses$h = ownerState => {
15266
+ const _excluded$j = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
15267
+ const useUtilityClasses$g = ownerState => {
15291
15268
  const {
15292
15269
  classes,
15293
15270
  disableUnderline
@@ -15470,14 +15447,14 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
15470
15447
  slots = {},
15471
15448
  type = 'text'
15472
15449
  } = props,
15473
- other = _objectWithoutPropertiesLoose(props, _excluded$k);
15450
+ other = _objectWithoutPropertiesLoose(props, _excluded$j);
15474
15451
  const ownerState = _extends({}, props, {
15475
15452
  fullWidth,
15476
15453
  inputComponent,
15477
15454
  multiline,
15478
15455
  type
15479
15456
  });
15480
- const classes = useUtilityClasses$h(props);
15457
+ const classes = useUtilityClasses$g(props);
15481
15458
  const filledInputComponentsProps = {
15482
15459
  root: {
15483
15460
  ownerState
@@ -15705,8 +15682,8 @@ function getFormControlUtilityClasses(slot) {
15705
15682
  }
15706
15683
  generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);
15707
15684
 
15708
- const _excluded$j = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
15709
- const useUtilityClasses$g = ownerState => {
15685
+ const _excluded$i = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
15686
+ const useUtilityClasses$f = ownerState => {
15710
15687
  const {
15711
15688
  classes,
15712
15689
  margin,
@@ -15791,7 +15768,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
15791
15768
  size = 'medium',
15792
15769
  variant = 'outlined'
15793
15770
  } = props,
15794
- other = _objectWithoutPropertiesLoose(props, _excluded$j);
15771
+ other = _objectWithoutPropertiesLoose(props, _excluded$i);
15795
15772
  const ownerState = _extends({}, props, {
15796
15773
  color,
15797
15774
  component,
@@ -15804,7 +15781,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
15804
15781
  size,
15805
15782
  variant
15806
15783
  });
15807
- const classes = useUtilityClasses$g(ownerState);
15784
+ const classes = useUtilityClasses$f(ownerState);
15808
15785
  const [adornedStart, setAdornedStart] = React.useState(() => {
15809
15786
  // We need to iterate through the children and find the Input in order
15810
15787
  // to fully support server-side rendering.
@@ -15986,9 +15963,9 @@ function getFormHelperTextUtilityClasses(slot) {
15986
15963
  const formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);
15987
15964
  var formHelperTextClasses$1 = formHelperTextClasses;
15988
15965
 
15989
- var _span$3;
15990
- const _excluded$i = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
15991
- const useUtilityClasses$f = ownerState => {
15966
+ var _span$2;
15967
+ const _excluded$h = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
15968
+ const useUtilityClasses$e = ownerState => {
15992
15969
  const {
15993
15970
  classes,
15994
15971
  contained,
@@ -16046,7 +16023,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16046
16023
  className,
16047
16024
  component = 'p'
16048
16025
  } = props,
16049
- other = _objectWithoutPropertiesLoose(props, _excluded$i);
16026
+ other = _objectWithoutPropertiesLoose(props, _excluded$h);
16050
16027
  const muiFormControl = useFormControl();
16051
16028
  const fcs = formControlState({
16052
16029
  props,
@@ -16064,7 +16041,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16064
16041
  focused: fcs.focused,
16065
16042
  required: fcs.required
16066
16043
  });
16067
- const classes = useUtilityClasses$f(ownerState);
16044
+ const classes = useUtilityClasses$e(ownerState);
16068
16045
  return /*#__PURE__*/jsx(FormHelperTextRoot, _extends({
16069
16046
  as: component,
16070
16047
  ownerState: ownerState,
@@ -16072,7 +16049,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
16072
16049
  ref: ref
16073
16050
  }, other, {
16074
16051
  children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue
16075
- _span$3 || (_span$3 = /*#__PURE__*/jsx("span", {
16052
+ _span$2 || (_span$2 = /*#__PURE__*/jsx("span", {
16076
16053
  className: "notranslate",
16077
16054
  children: "\u200B"
16078
16055
  })) : children
@@ -16144,8 +16121,8 @@ function getFormLabelUtilityClasses(slot) {
16144
16121
  const formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);
16145
16122
  var formLabelClasses$1 = formLabelClasses;
16146
16123
 
16147
- const _excluded$h = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
16148
- const useUtilityClasses$e = ownerState => {
16124
+ const _excluded$g = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
16125
+ const useUtilityClasses$d = ownerState => {
16149
16126
  const {
16150
16127
  classes,
16151
16128
  color,
@@ -16209,7 +16186,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
16209
16186
  className,
16210
16187
  component = 'label'
16211
16188
  } = props,
16212
- other = _objectWithoutPropertiesLoose(props, _excluded$h);
16189
+ other = _objectWithoutPropertiesLoose(props, _excluded$g);
16213
16190
  const muiFormControl = useFormControl();
16214
16191
  const fcs = formControlState({
16215
16192
  props,
@@ -16225,7 +16202,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
16225
16202
  focused: fcs.focused,
16226
16203
  required: fcs.required
16227
16204
  });
16228
- const classes = useUtilityClasses$e(ownerState);
16205
+ const classes = useUtilityClasses$d(ownerState);
16229
16206
  return /*#__PURE__*/jsxs(FormLabelRoot, _extends({
16230
16207
  as: component,
16231
16208
  ownerState: ownerState,
@@ -16321,7 +16298,7 @@ const gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'ite
16321
16298
  // grid sizes for all breakpoints
16322
16299
  ...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);
16323
16300
 
16324
- const _excluded$g = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
16301
+ const _excluded$f = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
16325
16302
  function getOffset(val) {
16326
16303
  const parse = parseFloat(val);
16327
16304
  return `${parse}${String(val).replace(String(parse), '') || 'px'}`;
@@ -16630,7 +16607,7 @@ function resolveSpacingClasses(spacing, breakpoints) {
16630
16607
  });
16631
16608
  return classes;
16632
16609
  }
16633
- const useUtilityClasses$d = ownerState => {
16610
+ const useUtilityClasses$c = ownerState => {
16634
16611
  const {
16635
16612
  classes,
16636
16613
  container,
@@ -16681,7 +16658,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
16681
16658
  wrap = 'wrap',
16682
16659
  zeroMinWidth = false
16683
16660
  } = props,
16684
- other = _objectWithoutPropertiesLoose(props, _excluded$g);
16661
+ other = _objectWithoutPropertiesLoose(props, _excluded$f);
16685
16662
  const rowSpacing = rowSpacingProp || spacing;
16686
16663
  const columnSpacing = columnSpacingProp || spacing;
16687
16664
  const columnsContext = React.useContext(GridContext$1);
@@ -16709,7 +16686,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
16709
16686
  }, breakpointsValues, {
16710
16687
  breakpoints: breakpoints.keys
16711
16688
  });
16712
- const classes = useUtilityClasses$d(ownerState);
16689
+ const classes = useUtilityClasses$c(ownerState);
16713
16690
  return /*#__PURE__*/jsx(GridContext$1.Provider, {
16714
16691
  value: columns,
16715
16692
  children: /*#__PURE__*/jsx(GridRoot, _extends({
@@ -16864,7 +16841,7 @@ if (process.env.NODE_ENV !== 'production') {
16864
16841
  }
16865
16842
  var Grid$1 = Grid;
16866
16843
 
16867
- const _excluded$f = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
16844
+ const _excluded$e = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
16868
16845
  function getScale(value) {
16869
16846
  return `scale(${value}, ${value ** 2})`;
16870
16847
  }
@@ -16908,7 +16885,7 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
16908
16885
  // eslint-disable-next-line react/prop-types
16909
16886
  TransitionComponent = Transition$1
16910
16887
  } = props,
16911
- other = _objectWithoutPropertiesLoose(props, _excluded$f);
16888
+ other = _objectWithoutPropertiesLoose(props, _excluded$e);
16912
16889
  const timer = React.useRef();
16913
16890
  const autoTimeout = React.useRef();
16914
16891
  const theme = useTheme();
@@ -17112,8 +17089,8 @@ process.env.NODE_ENV !== "production" ? Grow.propTypes /* remove-proptypes */ =
17112
17089
  Grow.muiSupportAuto = true;
17113
17090
  var Grow$1 = Grow;
17114
17091
 
17115
- const _excluded$e = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
17116
- const useUtilityClasses$c = ownerState => {
17092
+ const _excluded$d = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
17093
+ const useUtilityClasses$b = ownerState => {
17117
17094
  const {
17118
17095
  classes,
17119
17096
  disableUnderline
@@ -17225,8 +17202,8 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {
17225
17202
  slots = {},
17226
17203
  type = 'text'
17227
17204
  } = props,
17228
- other = _objectWithoutPropertiesLoose(props, _excluded$e);
17229
- const classes = useUtilityClasses$c(props);
17205
+ other = _objectWithoutPropertiesLoose(props, _excluded$d);
17206
+ const classes = useUtilityClasses$b(props);
17230
17207
  const ownerState = {
17231
17208
  disableUnderline
17232
17209
  };
@@ -17442,169 +17419,6 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
17442
17419
  Input.muiName = 'Input';
17443
17420
  var Input$1 = Input;
17444
17421
 
17445
- function getInputAdornmentUtilityClass(slot) {
17446
- return generateUtilityClass('MuiInputAdornment', slot);
17447
- }
17448
- const inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);
17449
- var inputAdornmentClasses$1 = inputAdornmentClasses;
17450
-
17451
- var _span$2;
17452
- const _excluded$d = ["children", "className", "component", "disablePointerEvents", "disableTypography", "position", "variant"];
17453
- const overridesResolver$1 = (props, styles) => {
17454
- const {
17455
- ownerState
17456
- } = props;
17457
- return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];
17458
- };
17459
- const useUtilityClasses$b = ownerState => {
17460
- const {
17461
- classes,
17462
- disablePointerEvents,
17463
- hiddenLabel,
17464
- position,
17465
- size,
17466
- variant
17467
- } = ownerState;
17468
- const slots = {
17469
- root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]
17470
- };
17471
- return composeClasses(slots, getInputAdornmentUtilityClass, classes);
17472
- };
17473
- const InputAdornmentRoot = styled$1('div', {
17474
- name: 'MuiInputAdornment',
17475
- slot: 'Root',
17476
- overridesResolver: overridesResolver$1
17477
- })(({
17478
- theme,
17479
- ownerState
17480
- }) => _extends({
17481
- display: 'flex',
17482
- height: '0.01em',
17483
- // Fix IE11 flexbox alignment. To remove at some point.
17484
- maxHeight: '2em',
17485
- alignItems: 'center',
17486
- whiteSpace: 'nowrap',
17487
- color: (theme.vars || theme).palette.action.active
17488
- }, ownerState.variant === 'filled' && {
17489
- // Styles applied to the root element if `variant="filled"`.
17490
- [`&.${inputAdornmentClasses$1.positionStart}&:not(.${inputAdornmentClasses$1.hiddenLabel})`]: {
17491
- marginTop: 16
17492
- }
17493
- }, ownerState.position === 'start' && {
17494
- // Styles applied to the root element if `position="start"`.
17495
- marginRight: 8
17496
- }, ownerState.position === 'end' && {
17497
- // Styles applied to the root element if `position="end"`.
17498
- marginLeft: 8
17499
- }, ownerState.disablePointerEvents === true && {
17500
- // Styles applied to the root element if `disablePointerEvents={true}`.
17501
- pointerEvents: 'none'
17502
- }));
17503
- const InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {
17504
- const props = useThemeProps({
17505
- props: inProps,
17506
- name: 'MuiInputAdornment'
17507
- });
17508
- const {
17509
- children,
17510
- className,
17511
- component = 'div',
17512
- disablePointerEvents = false,
17513
- disableTypography = false,
17514
- position,
17515
- variant: variantProp
17516
- } = props,
17517
- other = _objectWithoutPropertiesLoose(props, _excluded$d);
17518
- const muiFormControl = useFormControl() || {};
17519
- let variant = variantProp;
17520
- if (variantProp && muiFormControl.variant) {
17521
- if (process.env.NODE_ENV !== 'production') {
17522
- if (variantProp === muiFormControl.variant) {
17523
- console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');
17524
- }
17525
- }
17526
- }
17527
- if (muiFormControl && !variant) {
17528
- variant = muiFormControl.variant;
17529
- }
17530
- const ownerState = _extends({}, props, {
17531
- hiddenLabel: muiFormControl.hiddenLabel,
17532
- size: muiFormControl.size,
17533
- disablePointerEvents,
17534
- position,
17535
- variant
17536
- });
17537
- const classes = useUtilityClasses$b(ownerState);
17538
- return /*#__PURE__*/jsx(FormControlContext$1.Provider, {
17539
- value: null,
17540
- children: /*#__PURE__*/jsx(InputAdornmentRoot, _extends({
17541
- as: component,
17542
- ownerState: ownerState,
17543
- className: clsx(classes.root, className),
17544
- ref: ref
17545
- }, other, {
17546
- children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/jsx(Typography$1, {
17547
- color: "text.secondary",
17548
- children: children
17549
- }) : /*#__PURE__*/jsxs(React.Fragment, {
17550
- children: [position === 'start' ? /* notranslate needed while Google Translate will not fix zero-width space issue */_span$2 || (_span$2 = /*#__PURE__*/jsx("span", {
17551
- className: "notranslate",
17552
- children: "\u200B"
17553
- })) : null, children]
17554
- })
17555
- }))
17556
- });
17557
- });
17558
- process.env.NODE_ENV !== "production" ? InputAdornment.propTypes /* remove-proptypes */ = {
17559
- // ----------------------------- Warning --------------------------------
17560
- // | These PropTypes are generated from the TypeScript type definitions |
17561
- // | To update them edit the d.ts file and run "yarn proptypes" |
17562
- // ----------------------------------------------------------------------
17563
- /**
17564
- * The content of the component, normally an `IconButton` or string.
17565
- */
17566
- children: PropTypes.node,
17567
- /**
17568
- * Override or extend the styles applied to the component.
17569
- */
17570
- classes: PropTypes.object,
17571
- /**
17572
- * @ignore
17573
- */
17574
- className: PropTypes.string,
17575
- /**
17576
- * The component used for the root node.
17577
- * Either a string to use a HTML element or a component.
17578
- */
17579
- component: PropTypes.elementType,
17580
- /**
17581
- * Disable pointer events on the root.
17582
- * This allows for the content of the adornment to focus the `input` on click.
17583
- * @default false
17584
- */
17585
- disablePointerEvents: PropTypes.bool,
17586
- /**
17587
- * If children is a string then disable wrapping in a Typography component.
17588
- * @default false
17589
- */
17590
- disableTypography: PropTypes.bool,
17591
- /**
17592
- * The position this adornment should appear relative to the `Input`.
17593
- */
17594
- position: PropTypes.oneOf(['end', 'start']).isRequired,
17595
- /**
17596
- * The system prop that allows defining system overrides as well as additional CSS styles.
17597
- */
17598
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
17599
- /**
17600
- * The variant to use.
17601
- * Note: If you are using the `TextField` component or the `FormControl` component
17602
- * you do not have to set this manually.
17603
- */
17604
- variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])
17605
- } : void 0;
17606
- var InputAdornment$1 = InputAdornment;
17607
-
17608
17422
  function getInputLabelUtilityClasses(slot) {
17609
17423
  return generateUtilityClass('MuiInputLabel', slot);
17610
17424
  }
@@ -40520,9 +40334,6 @@ function nadgrid(key, data) {
40520
40334
  var view = new DataView(data);
40521
40335
  var isLittleEndian = detectLittleEndian(view);
40522
40336
  var header = readHeader(view, isLittleEndian);
40523
- if (header.nSubgrids > 1) {
40524
- console.log('Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored');
40525
- }
40526
40337
  var subgrids = readSubgrids(view, header, isLittleEndian);
40527
40338
  var nadgrid = {header: header, subgrids: subgrids};
40528
40339
  loadedNadgrids[key] = nadgrid;
@@ -40609,6 +40420,7 @@ function readSubgrids(view, header, isLittleEndian) {
40609
40420
  count: subHeader.gridNodeCount,
40610
40421
  cvs: mapNodes(nodes)
40611
40422
  });
40423
+ gridOffset += 176 + subHeader.gridNodeCount * 16;
40612
40424
  }
40613
40425
  return grids;
40614
40426
  }
@@ -41028,6 +40840,7 @@ function applyGridShift(source, inverse, point) {
41028
40840
  var input = {x: -point.x, y: point.y};
41029
40841
  var output = {x: Number.NaN, y: Number.NaN};
41030
40842
  var attemptedGrids = [];
40843
+ outer:
41031
40844
  for (var i = 0; i < source.grids.length; i++) {
41032
40845
  var grid = source.grids[i];
41033
40846
  attemptedGrids.push(grid.name);
@@ -41043,19 +40856,22 @@ function applyGridShift(source, inverse, point) {
41043
40856
  }
41044
40857
  continue;
41045
40858
  }
41046
- var subgrid = grid.grid.subgrids[0];
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;
40859
+ var subgrids = grid.grid.subgrids;
40860
+ for (var j = 0, jj = subgrids.length; j < jj; j++) {
40861
+ var subgrid = subgrids[j];
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 outer;
40874
+ }
41059
40875
  }
41060
40876
  }
41061
40877
  if (isNaN(output.x)) {
@@ -46498,6 +46314,93 @@ function polygon(coordinates, properties, options) {
46498
46314
  };
46499
46315
  return feature(geom, properties, options);
46500
46316
  }
46317
+ /**
46318
+ * Creates a {@link LineString} {@link Feature} from an Array of Positions.
46319
+ *
46320
+ * @name lineString
46321
+ * @param {Array<Array<number>>} coordinates an array of Positions
46322
+ * @param {Object} [properties={}] an Object of key-value pairs to add as properties
46323
+ * @param {Object} [options={}] Optional Parameters
46324
+ * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
46325
+ * @param {string|number} [options.id] Identifier associated with the Feature
46326
+ * @returns {Feature<LineString>} LineString Feature
46327
+ * @example
46328
+ * var linestring1 = turf.lineString([[-24, 63], [-23, 60], [-25, 65], [-20, 69]], {name: 'line 1'});
46329
+ * var linestring2 = turf.lineString([[-14, 43], [-13, 40], [-15, 45], [-10, 49]], {name: 'line 2'});
46330
+ *
46331
+ * //=linestring1
46332
+ * //=linestring2
46333
+ */
46334
+ function lineString$1(coordinates, properties, options) {
46335
+ if (options === void 0) { options = {}; }
46336
+ if (coordinates.length < 2) {
46337
+ throw new Error("coordinates must be an array of two or more positions");
46338
+ }
46339
+ var geom = {
46340
+ type: "LineString",
46341
+ coordinates: coordinates,
46342
+ };
46343
+ return feature(geom, properties, options);
46344
+ }
46345
+ /**
46346
+ * Takes one or more {@link Feature|Features} and creates a {@link FeatureCollection}.
46347
+ *
46348
+ * @name featureCollection
46349
+ * @param {Feature[]} features input features
46350
+ * @param {Object} [options={}] Optional Parameters
46351
+ * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
46352
+ * @param {string|number} [options.id] Identifier associated with the Feature
46353
+ * @returns {FeatureCollection} FeatureCollection of Features
46354
+ * @example
46355
+ * var locationA = turf.point([-75.343, 39.984], {name: 'Location A'});
46356
+ * var locationB = turf.point([-75.833, 39.284], {name: 'Location B'});
46357
+ * var locationC = turf.point([-75.534, 39.123], {name: 'Location C'});
46358
+ *
46359
+ * var collection = turf.featureCollection([
46360
+ * locationA,
46361
+ * locationB,
46362
+ * locationC
46363
+ * ]);
46364
+ *
46365
+ * //=collection
46366
+ */
46367
+ function featureCollection(features, options) {
46368
+ if (options === void 0) { options = {}; }
46369
+ var fc = { type: "FeatureCollection" };
46370
+ if (options.id) {
46371
+ fc.id = options.id;
46372
+ }
46373
+ if (options.bbox) {
46374
+ fc.bbox = options.bbox;
46375
+ }
46376
+ fc.features = features;
46377
+ return fc;
46378
+ }
46379
+ /**
46380
+ * Creates a {@link Feature<MultiLineString>} based on a
46381
+ * coordinate array. Properties can be added optionally.
46382
+ *
46383
+ * @name multiLineString
46384
+ * @param {Array<Array<Array<number>>>} coordinates an array of LineStrings
46385
+ * @param {Object} [properties={}] an Object of key-value pairs to add as properties
46386
+ * @param {Object} [options={}] Optional Parameters
46387
+ * @param {Array<number>} [options.bbox] Bounding Box Array [west, south, east, north] associated with the Feature
46388
+ * @param {string|number} [options.id] Identifier associated with the Feature
46389
+ * @returns {Feature<MultiLineString>} a MultiLineString feature
46390
+ * @throws {Error} if no coordinates are passed
46391
+ * @example
46392
+ * var multiLine = turf.multiLineString([[[0,0],[10,10]]]);
46393
+ *
46394
+ * //=multiLine
46395
+ */
46396
+ function multiLineString(coordinates, properties, options) {
46397
+ if (options === void 0) { options = {}; }
46398
+ var geom = {
46399
+ type: "MultiLineString",
46400
+ coordinates: coordinates,
46401
+ };
46402
+ return feature(geom, properties, options);
46403
+ }
46501
46404
  /**
46502
46405
  * Creates a {@link Feature<MultiPolygon>} based on a
46503
46406
  * coordinate array. Properties can be added optionally.
@@ -46553,6 +46456,43 @@ function isObject$4(input) {
46553
46456
  return !!input && input.constructor === Object;
46554
46457
  }
46555
46458
 
46459
+ /**
46460
+ * Callback for featureEach
46461
+ *
46462
+ * @callback featureEachCallback
46463
+ * @param {Feature<any>} currentFeature The current Feature being processed.
46464
+ * @param {number} featureIndex The current index of the Feature being processed.
46465
+ */
46466
+
46467
+ /**
46468
+ * Iterate over features in any GeoJSON object, similar to
46469
+ * Array.forEach.
46470
+ *
46471
+ * @name featureEach
46472
+ * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object
46473
+ * @param {Function} callback a method that takes (currentFeature, featureIndex)
46474
+ * @returns {void}
46475
+ * @example
46476
+ * var features = turf.featureCollection([
46477
+ * turf.point([26, 37], {foo: 'bar'}),
46478
+ * turf.point([36, 53], {hello: 'world'})
46479
+ * ]);
46480
+ *
46481
+ * turf.featureEach(features, function (currentFeature, featureIndex) {
46482
+ * //=currentFeature
46483
+ * //=featureIndex
46484
+ * });
46485
+ */
46486
+ function featureEach(geojson, callback) {
46487
+ if (geojson.type === "Feature") {
46488
+ callback(geojson, 0);
46489
+ } else if (geojson.type === "FeatureCollection") {
46490
+ for (var i = 0; i < geojson.features.length; i++) {
46491
+ if (callback(geojson.features[i], i) === false) break;
46492
+ }
46493
+ }
46494
+ }
46495
+
46556
46496
  /**
46557
46497
  * Callback for geomEach
46558
46498
  *
@@ -47545,6 +47485,237 @@ function checkValidity(ring) {
47545
47485
  );
47546
47486
  }
47547
47487
 
47488
+ /**
47489
+ * Converts a {@link Polygon} to {@link LineString|(Multi)LineString} or {@link MultiPolygon} to a
47490
+ * {@link FeatureCollection} of {@link LineString|(Multi)LineString}.
47491
+ *
47492
+ * @name polygonToLine
47493
+ * @param {Feature<Polygon|MultiPolygon>} poly Feature to convert
47494
+ * @param {Object} [options={}] Optional parameters
47495
+ * @param {Object} [options.properties={}] translates GeoJSON properties to Feature
47496
+ * @returns {FeatureCollection|Feature<LineString|MultiLinestring>} converted (Multi)Polygon to (Multi)LineString
47497
+ * @example
47498
+ * var poly = turf.polygon([[[125, -30], [145, -30], [145, -20], [125, -20], [125, -30]]]);
47499
+ *
47500
+ * var line = turf.polygonToLine(poly);
47501
+ *
47502
+ * //addToMap
47503
+ * var addToMap = [line];
47504
+ */
47505
+ function polygonToLineString (poly, options) {
47506
+ if (options === void 0) { options = {}; }
47507
+ var geom = getGeom(poly);
47508
+ if (!options.properties && poly.type === "Feature") {
47509
+ options.properties = poly.properties;
47510
+ }
47511
+ switch (geom.type) {
47512
+ case "Polygon":
47513
+ return polygonToLine(geom, options);
47514
+ case "MultiPolygon":
47515
+ return multiPolygonToLine(geom, options);
47516
+ default:
47517
+ throw new Error("invalid poly");
47518
+ }
47519
+ }
47520
+ /**
47521
+ * @private
47522
+ */
47523
+ function polygonToLine(poly, options) {
47524
+ if (options === void 0) { options = {}; }
47525
+ var geom = getGeom(poly);
47526
+ var coords = geom.coordinates;
47527
+ var properties = options.properties
47528
+ ? options.properties
47529
+ : poly.type === "Feature"
47530
+ ? poly.properties
47531
+ : {};
47532
+ return coordsToLine(coords, properties);
47533
+ }
47534
+ /**
47535
+ * @private
47536
+ */
47537
+ function multiPolygonToLine(multiPoly, options) {
47538
+ if (options === void 0) { options = {}; }
47539
+ var geom = getGeom(multiPoly);
47540
+ var coords = geom.coordinates;
47541
+ var properties = options.properties
47542
+ ? options.properties
47543
+ : multiPoly.type === "Feature"
47544
+ ? multiPoly.properties
47545
+ : {};
47546
+ var lines = [];
47547
+ coords.forEach(function (coord) {
47548
+ lines.push(coordsToLine(coord, properties));
47549
+ });
47550
+ return featureCollection(lines);
47551
+ }
47552
+ /**
47553
+ * @private
47554
+ */
47555
+ function coordsToLine(coords, properties) {
47556
+ if (coords.length > 1) {
47557
+ return multiLineString(coords, properties);
47558
+ }
47559
+ return lineString$1(coords[0], properties);
47560
+ }
47561
+
47562
+ /**
47563
+ * Takes a ring and return true or false whether or not the ring is clockwise or counter-clockwise.
47564
+ *
47565
+ * @name booleanClockwise
47566
+ * @param {Feature<LineString>|LineString|Array<Array<number>>} line to be evaluated
47567
+ * @returns {boolean} true/false
47568
+ * @example
47569
+ * var clockwiseRing = turf.lineString([[0,0],[1,1],[1,0],[0,0]]);
47570
+ * var counterClockwiseRing = turf.lineString([[0,0],[1,0],[1,1],[0,0]]);
47571
+ *
47572
+ * turf.booleanClockwise(clockwiseRing)
47573
+ * //=true
47574
+ * turf.booleanClockwise(counterClockwiseRing)
47575
+ * //=false
47576
+ */
47577
+ function booleanClockwise(line) {
47578
+ var ring = getCoords(line);
47579
+ var sum = 0;
47580
+ var i = 1;
47581
+ var prev;
47582
+ var cur;
47583
+ while (i < ring.length) {
47584
+ prev = cur || ring[0];
47585
+ cur = ring[i];
47586
+ sum += (cur[0] - prev[0]) * (cur[1] + prev[1]);
47587
+ i++;
47588
+ }
47589
+ return sum > 0;
47590
+ }
47591
+
47592
+ /**
47593
+ * 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}).
47594
+ *
47595
+ * @name rewind
47596
+ * @param {GeoJSON} geojson input GeoJSON Polygon
47597
+ * @param {Object} [options={}] Optional parameters
47598
+ * @param {boolean} [options.reverse=false] enable reverse winding
47599
+ * @param {boolean} [options.mutate=false] allows GeoJSON input to be mutated (significant performance increase if true)
47600
+ * @returns {GeoJSON} rewind Polygon
47601
+ * @example
47602
+ * var polygon = turf.polygon([[[121, -29], [138, -29], [138, -18], [121, -18], [121, -29]]]);
47603
+ *
47604
+ * var rewind = turf.rewind(polygon);
47605
+ *
47606
+ * //addToMap
47607
+ * var addToMap = [rewind];
47608
+ */
47609
+ function rewind(geojson, options) {
47610
+ // Optional parameters
47611
+ options = options || {};
47612
+ if (!isObject$4(options)) throw new Error("options is invalid");
47613
+ var reverse = options.reverse || false;
47614
+ var mutate = options.mutate || false;
47615
+
47616
+ // validation
47617
+ if (!geojson) throw new Error("<geojson> is required");
47618
+ if (typeof reverse !== "boolean")
47619
+ throw new Error("<reverse> must be a boolean");
47620
+ if (typeof mutate !== "boolean")
47621
+ throw new Error("<mutate> must be a boolean");
47622
+
47623
+ // prevent input mutation
47624
+ if (mutate === false) geojson = clone(geojson);
47625
+
47626
+ // Support Feature Collection or Geometry Collection
47627
+ var results = [];
47628
+ switch (geojson.type) {
47629
+ case "GeometryCollection":
47630
+ geomEach(geojson, function (geometry) {
47631
+ rewindFeature(geometry, reverse);
47632
+ });
47633
+ return geojson;
47634
+ case "FeatureCollection":
47635
+ featureEach(geojson, function (feature) {
47636
+ featureEach(rewindFeature(feature, reverse), function (result) {
47637
+ results.push(result);
47638
+ });
47639
+ });
47640
+ return featureCollection(results);
47641
+ }
47642
+ // Support Feature or Geometry Objects
47643
+ return rewindFeature(geojson, reverse);
47644
+ }
47645
+
47646
+ /**
47647
+ * Rewind
47648
+ *
47649
+ * @private
47650
+ * @param {Geometry|Feature<any>} geojson Geometry or Feature
47651
+ * @param {Boolean} [reverse=false] enable reverse winding
47652
+ * @returns {Geometry|Feature<any>} rewind Geometry or Feature
47653
+ */
47654
+ function rewindFeature(geojson, reverse) {
47655
+ var type = geojson.type === "Feature" ? geojson.geometry.type : geojson.type;
47656
+
47657
+ // Support all GeoJSON Geometry Objects
47658
+ switch (type) {
47659
+ case "GeometryCollection":
47660
+ geomEach(geojson, function (geometry) {
47661
+ rewindFeature(geometry, reverse);
47662
+ });
47663
+ return geojson;
47664
+ case "LineString":
47665
+ rewindLineString(getCoords(geojson), reverse);
47666
+ return geojson;
47667
+ case "Polygon":
47668
+ rewindPolygon(getCoords(geojson), reverse);
47669
+ return geojson;
47670
+ case "MultiLineString":
47671
+ getCoords(geojson).forEach(function (lineCoords) {
47672
+ rewindLineString(lineCoords, reverse);
47673
+ });
47674
+ return geojson;
47675
+ case "MultiPolygon":
47676
+ getCoords(geojson).forEach(function (lineCoords) {
47677
+ rewindPolygon(lineCoords, reverse);
47678
+ });
47679
+ return geojson;
47680
+ case "Point":
47681
+ case "MultiPoint":
47682
+ return geojson;
47683
+ }
47684
+ }
47685
+
47686
+ /**
47687
+ * Rewind LineString - outer ring clockwise
47688
+ *
47689
+ * @private
47690
+ * @param {Array<Array<number>>} coords GeoJSON LineString geometry coordinates
47691
+ * @param {Boolean} [reverse=false] enable reverse winding
47692
+ * @returns {void} mutates coordinates
47693
+ */
47694
+ function rewindLineString(coords, reverse) {
47695
+ if (booleanClockwise(coords) === reverse) coords.reverse();
47696
+ }
47697
+
47698
+ /**
47699
+ * Rewind Polygon - outer ring counterclockwise and inner rings clockwise.
47700
+ *
47701
+ * @private
47702
+ * @param {Array<Array<Array<number>>>} coords GeoJSON Polygon geometry coordinates
47703
+ * @param {Boolean} [reverse=false] enable reverse winding
47704
+ * @returns {void} mutates coordinates
47705
+ */
47706
+ function rewindPolygon(coords, reverse) {
47707
+ // outer ring
47708
+ if (booleanClockwise(coords[0]) !== reverse) {
47709
+ coords[0].reverse();
47710
+ }
47711
+ // inner rings
47712
+ for (var i = 1; i < coords.length; i++) {
47713
+ if (booleanClockwise(coords[i]) === reverse) {
47714
+ coords[i].reverse();
47715
+ }
47716
+ }
47717
+ }
47718
+
47548
47719
  /**
47549
47720
  * splaytree v3.1.2
47550
47721
  * Fast Splay tree for Node and browser
@@ -52814,6 +52985,43 @@ const SelectField = ({
52814
52985
  }) : getLabel(value.toString())))));
52815
52986
  };
52816
52987
 
52988
+ const IntersectionSelect = ({
52989
+ intersections,
52990
+ onChangeIntersection,
52991
+ isDisabled: _isDisabled = false
52992
+ }) => {
52993
+ const [activeIntersection, setActiveIntersection] = React__default.useState(0);
52994
+ return /*#__PURE__*/React__default.createElement(Grid$1, {
52995
+ item: true,
52996
+ sm: 12
52997
+ }, /*#__PURE__*/React__default.createElement(FormControl$1, {
52998
+ variant: "filled",
52999
+ sx: {
53000
+ width: '100%'
53001
+ }
53002
+ }, /*#__PURE__*/React__default.createElement(InputLabel$1, {
53003
+ id: "demo-intersection"
53004
+ }, "Intersection shapes"), /*#__PURE__*/React__default.createElement(Select$1, {
53005
+ labelId: "demo-intersection",
53006
+ value: activeIntersection.toString(),
53007
+ onChange: event => {
53008
+ const featureIndex = parseInt(event.target.value, 10);
53009
+ setActiveIntersection(featureIndex);
53010
+ const {
53011
+ geojson,
53012
+ title
53013
+ } = intersections[featureIndex];
53014
+ onChangeIntersection(geojson, title);
53015
+ },
53016
+ disabled: _isDisabled
53017
+ }, intersections.map((listItem, index) => {
53018
+ return /*#__PURE__*/React__default.createElement(MenuItem$1, {
53019
+ key: listItem.title,
53020
+ value: index
53021
+ }, listItem.title);
53022
+ }))));
53023
+ };
53024
+
52817
53025
  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;
52818
53026
 
52819
53027
  /**
@@ -52987,6 +53195,20 @@ const isGeoJSONFeatureCreatedByTool = (existingJSON, newGeoJSON) => {
52987
53195
  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;
52988
53196
  return lastUsedTool !== undefined && newTool !== undefined ? lastUsedTool === newTool : false;
52989
53197
  };
53198
+ const rewindGeometry = geoJSON => {
53199
+ return produce(geoJSON, geoJSONDraft => {
53200
+ if (geoJSONDraft && geoJSONDraft.features.length > 0 && geoJSONDraft.features[0].geometry.type === 'Polygon' && geoJSONDraft.features[0].geometry.coordinates[0].length > 1) {
53201
+ const {
53202
+ geometry
53203
+ } = geoJSON.features[0];
53204
+ const lineString = polygonToLineString(geometry);
53205
+ if (booleanClockwise(lineString.geometry.coordinates)) {
53206
+ // eslint-disable-next-line no-param-reassign
53207
+ geoJSONDraft.features[0].geometry = rewind(geoJSONDraft.features[0].geometry);
53208
+ }
53209
+ }
53210
+ });
53211
+ };
52990
53212
 
52991
53213
  const defaultIntersectionStyleProperties = Object.assign(Object.assign({}, defaultGeoJSONStyleProperties), {
52992
53214
  'fill-opacity': 0.5
@@ -53074,7 +53296,10 @@ const useMapDrawTool = ({
53074
53296
  defaultGeoJSON: _defaultGeoJSON = emptyGeoJSON,
53075
53297
  defaultGeoJSONIntersection: _defaultGeoJSONIntersection = emptyIntersectionShape,
53076
53298
  defaultGeoJSONIntersectionBounds,
53077
- defaultGeoJSONIntersectionProperties: _defaultGeoJSONIntersectionProperties = defaultIntersectionStyleProperties
53299
+ defaultGeoJSONIntersectionProperties: _defaultGeoJSONIntersectionProperties = defaultIntersectionStyleProperties,
53300
+ geoJSONLayerId: _geoJSONLayerId = 'draw-layer',
53301
+ geoJSONIntersectionLayerId: _geoJSONIntersectionLayerId = 'intersection-layer',
53302
+ geoJSONIntersectionBoundsLayerId: _geoJSONIntersectionBoundsLayerId = 'static-layer'
53078
53303
  }) => {
53079
53304
  // geoJSON feature collections
53080
53305
  const [geoJSON, setGeoJSON] = React__default.useState(_defaultGeoJSON);
@@ -53114,7 +53339,7 @@ const useMapDrawTool = ({
53114
53339
  reset(shouldDeleteShape);
53115
53340
  return;
53116
53341
  }
53117
- setActiveTool(newMode.drawModeId);
53342
+ setActiveTool(newMode.isSelectable ? newMode.drawModeId : '');
53118
53343
  // updates shape
53119
53344
  const isNewSelectedTool = !isGeoJSONFeatureCreatedByTool(geoJSON, newMode.shape);
53120
53345
  const shouldUpdateShape = !geoJSON.features.length || _shouldAllowMultipleShapes || isNewSelectedTool;
@@ -53124,7 +53349,7 @@ const useMapDrawTool = ({
53124
53349
  }
53125
53350
  // handle modes and update feature layer index
53126
53351
  setDrawMode(newMode.value);
53127
- setEditMode(!!newMode.value);
53352
+ setEditMode(!!newMode.value && newMode.isSelectable);
53128
53353
  };
53129
53354
  const changeGeoJSON = (updatedGeoJSON, reason = '') => {
53130
53355
  const geoJSONFeatureCollection = getFeatureCollection(updatedGeoJSON, _shouldAllowMultipleShapes, geoJSON);
@@ -53186,7 +53411,7 @@ const useMapDrawTool = ({
53186
53411
  isInEditMode: false
53187
53412
  };
53188
53413
  };
53189
- const layers = [...(geoJSONIntersectionBounds ? [getLayer('geoJSONIntersectionBounds', 'static-layer'), getLayer('geoJSONIntersection', 'intersection-layer')] : []), getLayer('geoJSON', 'draw-layer')];
53414
+ const layers = [...(geoJSONIntersectionBounds ? [getLayer('geoJSONIntersectionBounds', _geoJSONIntersectionBoundsLayerId), getLayer('geoJSONIntersection', _geoJSONIntersectionLayerId)] : []), getLayer('geoJSON', _geoJSONLayerId)];
53190
53415
  return {
53191
53416
  geoJSON,
53192
53417
  geoJSONIntersection,
@@ -53211,8 +53436,24 @@ const useMapDrawTool = ({
53211
53436
  };
53212
53437
  };
53213
53438
 
53439
+ const opacityOptions = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0];
53440
+ const fillOptions = [defaultGeoJSONStyleProperties.fill, '#6e1e91', '#FF00FF', '#33ccFF', '#8F8'];
53441
+ const strokeWidthOptions = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
53442
+ const getToolIcon = id => {
53443
+ const defaultIcon = getIcon(id);
53444
+ if (defaultIcon) {
53445
+ return defaultIcon;
53446
+ }
53447
+ if (id === 'tool-fir') {
53448
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53449
+ }
53450
+ if (id === 'tool-custom-line') {
53451
+ return /*#__PURE__*/React__default.createElement(ArrowUp, null);
53452
+ }
53453
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53454
+ };
53214
53455
  // custom buttons
53215
- const shapeButtonNL = {
53456
+ const shapeButtonNL$2 = {
53216
53457
  drawModeId: 'tool-fir',
53217
53458
  value: DRAWMODE.POLYGON,
53218
53459
  title: 'Custom FIR NL polygon',
@@ -53233,8 +53474,8 @@ const customLineButton = {
53233
53474
  },
53234
53475
  isSelectable: false
53235
53476
  };
53236
- // example options
53237
53477
  const basicExampleDrawOptions = {
53478
+ defaultDrawModes: [...defaultModes, shapeButtonNL$2, customLineButton],
53238
53479
  defaultGeoJSON: {
53239
53480
  type: 'FeatureCollection',
53240
53481
  features: [{
@@ -53252,7 +53493,7 @@ const basicExampleDrawOptions = {
53252
53493
  const basicExampleMultipleShapeDrawOptions = {
53253
53494
  shouldAllowMultipleShapes: true,
53254
53495
  // add multiple tools, and update all with custom color
53255
- defaultDrawModes: [...defaultModes, shapeButtonNL, customLineButton].map(mode => Object.assign(Object.assign({}, mode), {
53496
+ defaultDrawModes: [...defaultModes, shapeButtonNL$2, customLineButton].map(mode => Object.assign(Object.assign({}, mode), {
53256
53497
  shape: Object.assign(Object.assign({}, mode.shape), {
53257
53498
  properties: Object.assign(Object.assign({}, mode.shape.properties), {
53258
53499
  stroke: '#8F8',
@@ -53265,6 +53506,295 @@ const basicExampleMultipleShapeDrawOptions = {
53265
53506
  }))
53266
53507
  };
53267
53508
 
53509
+ const getIntersectionToolIcon = id => {
53510
+ const defaultIcon = getIcon(id);
53511
+ if (defaultIcon) {
53512
+ return defaultIcon;
53513
+ }
53514
+ if (id === 'fir-nl') {
53515
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53516
+ }
53517
+ if (id === 'fir-be') {
53518
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, {
53519
+ sx: {
53520
+ transform: `scaleY(-1)`
53521
+ }
53522
+ });
53523
+ }
53524
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53525
+ };
53526
+ // custom buttons
53527
+ const shapeButtonNL$1 = {
53528
+ drawModeId: 'tool-fir',
53529
+ value: DRAWMODE.POLYGON,
53530
+ title: 'Custom FIR NL polygon',
53531
+ shape: intersectionFeatureNL,
53532
+ isSelectable: false
53533
+ };
53534
+ const shapeButtonBE$1 = {
53535
+ drawModeId: 'fir-be',
53536
+ value: DRAWMODE.POLYGON,
53537
+ title: 'Custom FIR BE polygon',
53538
+ shape: intersectionFeatureBE,
53539
+ isSelectable: false
53540
+ };
53541
+ const geoJSONIntersectionBoundsStyle$1 = {
53542
+ stroke: '#000000',
53543
+ 'stroke-width': 1.5,
53544
+ 'stroke-opacity': 1,
53545
+ fill: '#0075a9',
53546
+ 'fill-opacity': 0.0
53547
+ };
53548
+ const featurePropsIntersectionEnd = {
53549
+ stroke: '#000000',
53550
+ 'stroke-width': 1.5,
53551
+ 'stroke-opacity': 1,
53552
+ fill: '#6e1e91',
53553
+ 'fill-opacity': 0.5
53554
+ };
53555
+ const intersectionShapeNL$1 = {
53556
+ type: 'FeatureCollection',
53557
+ features: [Object.assign(Object.assign({}, intersectionFeatureNL), {
53558
+ properties: geoJSONIntersectionBoundsStyle$1
53559
+ })]
53560
+ };
53561
+ const intersectionShapeBE$1 = {
53562
+ type: 'FeatureCollection',
53563
+ features: [Object.assign(Object.assign({}, intersectionFeatureBE), {
53564
+ properties: geoJSONIntersectionBoundsStyle$1
53565
+ })]
53566
+ };
53567
+ const exampleIntersections = [{
53568
+ title: 'NL',
53569
+ geojson: intersectionShapeNL$1
53570
+ }, {
53571
+ title: 'BE',
53572
+ geojson: intersectionShapeBE$1
53573
+ }];
53574
+ const exampleIntersectionOptions = {
53575
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL$1,
53576
+ defaultDrawModes: [defaultPoint, defaultPolygon, defaultBox, shapeButtonNL$1, shapeButtonBE$1, defaultDelete]
53577
+ };
53578
+ const exampleIntersectionWithShapeOptions = {
53579
+ defaultGeoJSON: {
53580
+ type: 'FeatureCollection',
53581
+ features: [{
53582
+ type: 'Feature',
53583
+ properties: Object.assign(Object.assign({}, featurePropsIntersectionEnd), {
53584
+ selectionType: 'poly'
53585
+ }),
53586
+ geometry: {
53587
+ type: 'Polygon',
53588
+ 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]]]
53589
+ }
53590
+ }]
53591
+ },
53592
+ defaultGeoJSONIntersection: {
53593
+ type: 'FeatureCollection',
53594
+ features: [{
53595
+ type: 'Feature',
53596
+ properties: Object.assign(Object.assign({}, featurePropsIntersectionEnd), {
53597
+ selectionType: 'poly'
53598
+ }),
53599
+ geometry: {
53600
+ type: 'Polygon',
53601
+ 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]]]
53602
+ }
53603
+ }]
53604
+ },
53605
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL$1,
53606
+ defaultDrawModes: [Object.assign(Object.assign({}, defaultPoint), {
53607
+ shape: Object.assign(Object.assign({}, defaultPoint.shape), {
53608
+ properties: Object.assign(Object.assign({}, defaultPoint.shape.properties), featurePropsIntersectionEnd)
53609
+ })
53610
+ }), Object.assign(Object.assign({}, defaultPolygon), {
53611
+ shape: Object.assign(Object.assign({}, defaultPolygon.shape), {
53612
+ properties: Object.assign(Object.assign({}, defaultPolygon.shape.properties), featurePropsIntersectionEnd)
53613
+ })
53614
+ }), Object.assign(Object.assign({}, defaultBox), {
53615
+ shape: Object.assign(Object.assign({}, defaultBox.shape), {
53616
+ properties: Object.assign(Object.assign({}, defaultBox.shape.properties), featurePropsIntersectionEnd)
53617
+ })
53618
+ }), Object.assign(Object.assign({}, shapeButtonNL$1), {
53619
+ shape: Object.assign(Object.assign({}, shapeButtonNL$1.shape), {
53620
+ properties: Object.assign(Object.assign({}, shapeButtonNL$1.shape.properties), featurePropsIntersectionEnd)
53621
+ })
53622
+ }), Object.assign(Object.assign({}, shapeButtonBE$1), {
53623
+ shape: Object.assign(Object.assign({}, shapeButtonBE$1.shape), {
53624
+ properties: Object.assign(Object.assign({}, shapeButtonBE$1.shape.properties), featurePropsIntersectionEnd)
53625
+ })
53626
+ }), defaultDelete],
53627
+ defaultGeoJSONIntersectionProperties: featurePropsIntersectionEnd
53628
+ };
53629
+
53630
+ const firButtonDrawId = 'fir-button';
53631
+ // styles and shapes
53632
+ const featurePropertiesStart = defaultGeoJSONStyleProperties;
53633
+ const featurePropertiesEnd = {
53634
+ stroke: '#6e1e91',
53635
+ 'stroke-width': 1.5,
53636
+ 'stroke-opacity': 1,
53637
+ fill: '#6e1e91',
53638
+ 'fill-opacity': 0.25
53639
+ };
53640
+ const geoJSONIntersectionBoundsStyle = {
53641
+ stroke: '#000000',
53642
+ 'stroke-width': 1.5,
53643
+ 'stroke-opacity': 1,
53644
+ fill: '#0075a9',
53645
+ 'fill-opacity': 0.0
53646
+ };
53647
+ const intersectionShapeNL = {
53648
+ type: 'FeatureCollection',
53649
+ features: [Object.assign(Object.assign({}, intersectionFeatureNL), {
53650
+ properties: Object.assign(Object.assign({}, geoJSONIntersectionBoundsStyle), {
53651
+ selectionType: 'fir'
53652
+ })
53653
+ })]
53654
+ };
53655
+ const intersectionShapeBE = {
53656
+ type: 'FeatureCollection',
53657
+ features: [Object.assign(Object.assign({}, intersectionFeatureBE), {
53658
+ properties: Object.assign(Object.assign({}, geoJSONIntersectionBoundsStyle), {
53659
+ selectionType: 'fir'
53660
+ })
53661
+ })]
53662
+ };
53663
+ // custom buttons
53664
+ const shapeButtonNL = {
53665
+ drawModeId: firButtonDrawId,
53666
+ value: DRAWMODE.POLYGON,
53667
+ title: 'Custom FIR NL polygon',
53668
+ shape: intersectionShapeNL,
53669
+ isSelectable: false
53670
+ };
53671
+ const shapeButtonBE = {
53672
+ drawModeId: firButtonDrawId,
53673
+ value: DRAWMODE.POLYGON,
53674
+ title: 'Custom FIR BE polygon',
53675
+ shape: intersectionShapeBE,
53676
+ isSelectable: false
53677
+ };
53678
+ const exampleIntersectionsMultiDrawTool = [{
53679
+ title: 'NL',
53680
+ geojson: shapeButtonNL.shape
53681
+ }, {
53682
+ title: 'BE',
53683
+ geojson: shapeButtonBE.shape
53684
+ }];
53685
+ const getDoubleControlToolIcon = drawMode => {
53686
+ const {
53687
+ drawModeId
53688
+ } = drawMode;
53689
+ const defaultIcon = getIcon(drawModeId);
53690
+ if (defaultIcon) {
53691
+ return defaultIcon;
53692
+ }
53693
+ if (drawModeId === firButtonDrawId) {
53694
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, {
53695
+ sx: Object.assign({}, drawMode.title === shapeButtonBE.title && {
53696
+ transform: `scaleY(-1)`
53697
+ })
53698
+ });
53699
+ }
53700
+ return /*#__PURE__*/React__default.createElement(DrawFIRLand, null);
53701
+ };
53702
+ const getEditModes = geoJSONProperties => [Object.assign(Object.assign({}, defaultPoint), {
53703
+ shape: Object.assign(Object.assign({}, defaultPoint.shape), {
53704
+ properties: Object.assign(Object.assign({}, defaultPoint.shape.properties), geoJSONProperties)
53705
+ })
53706
+ }), Object.assign(Object.assign({}, defaultPolygon), {
53707
+ shape: Object.assign(Object.assign({}, defaultPolygon.shape), {
53708
+ properties: Object.assign(Object.assign({}, defaultPolygon.shape.properties), geoJSONProperties)
53709
+ })
53710
+ }), Object.assign(Object.assign({}, defaultBox), {
53711
+ shape: Object.assign(Object.assign({}, defaultBox.shape), {
53712
+ properties: Object.assign(Object.assign({}, defaultBox.shape.properties), geoJSONProperties)
53713
+ })
53714
+ }), Object.assign(Object.assign({}, shapeButtonNL), {
53715
+ shape: Object.assign(Object.assign({}, shapeButtonNL.shape), {
53716
+ features: [Object.assign(Object.assign({}, intersectionFeatureNL), {
53717
+ properties: Object.assign(Object.assign({}, intersectionShapeNL.features[0].properties), geoJSONProperties)
53718
+ })]
53719
+ })
53720
+ }), defaultDelete];
53721
+ const getUpdatedFirShape = isNL => isNL ? intersectionShapeNL : intersectionShapeBE;
53722
+ const getFirTitle = isNL => isNL ? shapeButtonNL.title : shapeButtonBE.title;
53723
+ const updateEditModeButtonsWithFir = (drawModes, newFirGeoJSON) => {
53724
+ const isNL = newFirGeoJSON === intersectionShapeNL;
53725
+ return drawModes.map(mode => {
53726
+ if (mode.drawModeId === firButtonDrawId) {
53727
+ return Object.assign(Object.assign({}, mode), {
53728
+ shape: getUpdatedFirShape(isNL),
53729
+ title: getFirTitle(isNL)
53730
+ });
53731
+ }
53732
+ return mode;
53733
+ });
53734
+ };
53735
+ // example configs
53736
+ const startToolExampleConfig = {
53737
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL,
53738
+ defaultDrawModes: getEditModes(featurePropertiesStart),
53739
+ defaultGeoJSON: {
53740
+ type: 'FeatureCollection',
53741
+ features: [{
53742
+ type: 'Feature',
53743
+ properties: Object.assign(Object.assign({}, featurePropertiesStart), {
53744
+ selectionType: 'box'
53745
+ }),
53746
+ geometry: {
53747
+ type: 'Polygon',
53748
+ coordinates: [[[9.451665078283622, 53.21804334226515], [4.734608638338736, 53.21804334226515], [4.734608638338736, 54.57650543915101], [9.451665078283622, 54.57650543915101], [9.451665078283622, 53.21804334226515]]]
53749
+ }
53750
+ }]
53751
+ },
53752
+ defaultGeoJSONIntersection: {
53753
+ type: 'FeatureCollection',
53754
+ features: [{
53755
+ type: 'Feature',
53756
+ properties: Object.assign(Object.assign({}, defaultIntersectionStyleProperties), {
53757
+ selectionType: 'box'
53758
+ }),
53759
+ geometry: {
53760
+ type: 'Polygon',
53761
+ 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]]]
53762
+ }
53763
+ }]
53764
+ }
53765
+ };
53766
+ const endToolExampleConfig = {
53767
+ defaultGeoJSONIntersectionBounds: intersectionShapeNL,
53768
+ defaultDrawModes: getEditModes(featurePropertiesEnd),
53769
+ defaultGeoJSONIntersectionProperties: featurePropertiesEnd,
53770
+ defaultGeoJSON: {
53771
+ type: 'FeatureCollection',
53772
+ features: [{
53773
+ type: 'Feature',
53774
+ properties: Object.assign(Object.assign({}, featurePropertiesEnd), {
53775
+ selectionType: 'poly'
53776
+ }),
53777
+ geometry: {
53778
+ type: 'Polygon',
53779
+ coordinates: [[[2.3408785046353606, 52.57033268070152], [8.870833501723242, 51.74975701659361], [-0.088053542798945, 50.72496422996941], [2.3408785046353606, 52.57033268070152]]]
53780
+ }
53781
+ }]
53782
+ },
53783
+ defaultGeoJSONIntersection: {
53784
+ type: 'FeatureCollection',
53785
+ features: [{
53786
+ type: 'Feature',
53787
+ properties: Object.assign(Object.assign({}, featurePropertiesEnd), {
53788
+ selectionType: 'poly'
53789
+ }),
53790
+ geometry: {
53791
+ type: 'Polygon',
53792
+ 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]]]
53793
+ }
53794
+ }]
53795
+ }
53796
+ };
53797
+
53268
53798
  var fails$5 = fails$j;
53269
53799
  var global$4 = global$h;
53270
53800
 
@@ -54010,6 +54540,30 @@ function debounce$2 (delay, callback, options) {
54010
54540
  const setLayerInfo = (wmLayer, mapId, onUpdateLayerInformation) => {
54011
54541
  const origin = 'ReactMapViewParseLayer';
54012
54542
  const map = webmapUtils.getWMJSMapById(mapId);
54543
+ const mapDimensions = map === null || map === void 0 ? void 0 : map.mapdimensions.map(mapdim => {
54544
+ return {
54545
+ units: mapdim.units,
54546
+ currentValue: mapdim.currentValue,
54547
+ name: mapdim.name
54548
+ };
54549
+ });
54550
+ const layerDimensions = wmLayer.dimensions.map(dim => {
54551
+ const {
54552
+ name,
54553
+ units,
54554
+ synced
54555
+ } = dim;
54556
+ return {
54557
+ name,
54558
+ units,
54559
+ currentValue: dim.getValue(),
54560
+ minValue: dim.getFirstValue(),
54561
+ maxValue: dim.getLastValue(),
54562
+ timeInterval: dim.getDimInterval(),
54563
+ values: dim.getValues(),
54564
+ synced
54565
+ };
54566
+ });
54013
54567
  /* Update list of layers for service */
54014
54568
  const updateObject = {
54015
54569
  origin,
@@ -54021,34 +54575,12 @@ const setLayerInfo = (wmLayer, mapId, onUpdateLayerInformation) => {
54021
54575
  mapDimensions: {
54022
54576
  mapId,
54023
54577
  origin,
54024
- dimensions: map && map.mapdimensions.map(mapdim => {
54025
- return {
54026
- units: mapdim.units,
54027
- currentValue: mapdim.currentValue,
54028
- name: mapdim.name
54029
- };
54030
- }) || []
54578
+ dimensions: mapDimensions !== null && mapDimensions !== void 0 ? mapDimensions : []
54031
54579
  },
54032
54580
  layerDimensions: {
54033
54581
  origin,
54034
54582
  layerId: wmLayer.id,
54035
- dimensions: wmLayer.dimensions.map(dim => {
54036
- const {
54037
- name,
54038
- units,
54039
- synced
54040
- } = dim;
54041
- return {
54042
- name,
54043
- units,
54044
- currentValue: dim.getValue(),
54045
- minValue: dim.getFirstValue(),
54046
- maxValue: dim.getLastValue(),
54047
- timeInterval: dim.getDimInterval(),
54048
- values: dim.getValues(),
54049
- synced
54050
- };
54051
- })
54583
+ dimensions: layerDimensions
54052
54584
  }
54053
54585
  };
54054
54586
  onUpdateLayerInformation === null || onUpdateLayerInformation === void 0 ? void 0 : onUpdateLayerInformation(updateObject);
@@ -54638,6 +55170,15 @@ class ReactMapView extends React.Component {
54638
55170
  }
54639
55171
  }
54640
55172
  }
55173
+ /* Check if srs */
55174
+ if (!prevProps || prevProps.srs !== props.srs) {
55175
+ if (props.bbox.left !== undefined) {
55176
+ wmjsMap.suspendEvent('onupdatebbox');
55177
+ wmjsMap.setProjection(props.srs, new WMBBOX(props.bbox));
55178
+ wmjsMap.resumeEvent('onupdatebbox');
55179
+ wmjsMap.draw();
55180
+ }
55181
+ }
54641
55182
  /* Check display/hide map cursor */
54642
55183
  if (!prevProps || prevProps.displayMapPin !== props.displayMapPin) {
54643
55184
  if (props.displayMapPin === true) {
@@ -56282,53 +56823,6 @@ const MapWarningProperties = ({
56282
56823
  }, "Identifier: ", selectedFeatureProperties.identifier)));
56283
56824
  };
56284
56825
 
56285
- /* *
56286
- * Licensed under the Apache License, Version 2.0 (the "License");
56287
- * you may not use this file except in compliance with the License.
56288
- * You may obtain a copy of the License at
56289
- *
56290
- * http://www.apache.org/licenses/LICENSE-2.0
56291
- *
56292
- * Unless required by applicable law or agreed to in writing, software
56293
- * distributed under the License is distributed on an "AS IS" BASIS,
56294
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
56295
- * See the License for the specific language governing permissions and
56296
- * limitations under the License.
56297
- *
56298
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
56299
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
56300
- * */
56301
- const SearchDialog = ({
56302
- isOpen,
56303
- onClose
56304
- }) => {
56305
- return isOpen ? /*#__PURE__*/React__default.createElement(Box$3, {
56306
- tabIndex: -1,
56307
- sx: {
56308
- position: 'absolute',
56309
- pointerEvents: 'all',
56310
- zIndex: 999,
56311
- left: 50,
56312
- top: 15,
56313
- backgroundColor: theme => theme.palette.background.paper
56314
- }
56315
- }, /*#__PURE__*/React__default.createElement(TextField$1, {
56316
- id: "dummy-search-field",
56317
- label: "Search",
56318
- variant: "filled",
56319
- InputProps: {
56320
- endAdornment: /*#__PURE__*/React__default.createElement(InputAdornment$1, {
56321
- position: "end"
56322
- }, /*#__PURE__*/React__default.createElement(CustomIconButton, {
56323
- tooltipTitle: "Close",
56324
- edge: "end",
56325
- onClick: onClose,
56326
- size: "large"
56327
- }, /*#__PURE__*/React__default.createElement(Close, null)))
56328
- }
56329
- })) : null;
56330
- };
56331
-
56332
56826
  /* *
56333
56827
  * Licensed under the Apache License, Version 2.0 (the "License");
56334
56828
  * you may not use this file except in compliance with the License.
@@ -56890,4 +57384,4 @@ var publicLayers = /*#__PURE__*/Object.freeze({
56890
57384
  msgNaturalEUMETSAT: msgNaturalEUMETSAT
56891
57385
  });
56892
57386
 
56893
- 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, SearchDialog, 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 };
57387
+ export { CanvasComponent, DRAWMODE, EDITMODE, EditModeButton as EditModeButtonField, FeatureLayers, GeoJSONTextField, IntersectionSelect, Legend, LegendDialog, LegendLayout, MapControlButton, MapControls, MapDrawContainer, MapTime, MapView, MapViewLayer, MapWarningProperties, NEW_FEATURE_CREATED, NEW_LINESTRING_CREATED, NEW_POINT_CREATED, ORIGIN_REACTMAPVIEW_ONMAPCHANGEDIMENSION, ORIGIN_REACTMAPVIEW_ONUPDATELAYERINFO, ReactMapView, ReactMapViewLayer, SelectField, StoryLayoutGrid, ZoomControls, addFeatureProperties, basicExampleDrawOptions, basicExampleMultipleShapeDrawOptions, checkHoverFeatures, createInterSections, currentlySupportedDrawModes, defaultBox, defaultDelete, defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultLayers, defaultModes, defaultPoint, defaultPolygon, defaultTimeFormat, distance, drawPolyStoryStyles, emptyGeoJSON, endToolExampleConfig, exampleIntersectionOptions, exampleIntersectionWithShapeOptions, exampleIntersections, exampleIntersectionsMultiDrawTool, featureBox, featureMultiPoint, featurePoint, featurePolygon, fillOptions, firButtonDrawId, formatTime, getDoubleControlToolIcon, getDrawFunctionFromStore, getFeatureCollection, getFirTitle, getGeoJSONPropertyValue, getGeoJson, getIcon, getIntersectionToolIcon, getTimeDimension, getToolIcon, intersectGeoJSONS, intersectionFeatureBE, intersectionFeatureNL, isGeoJSONFeatureCreatedByTool, lineString, moveFeature, opacityOptions, publicLayers, publicServices, registerDrawFunction, rewindGeometry, simpleBoxGeoJSON, simpleFlightRouteLineStringGeoJSON, simpleFlightRoutePointsGeoJSON, simpleLineStringGeoJSON, simpleMultiPolygon, simplePointsGeojson, simplePolygonGeoJSON, simpleSmallLineStringGeoJSON, startToolExampleConfig, strokeWidthOptions, updateEditModeButtonsWithFir, useGeoJSON, useMapDrawTool };