@xelto.npm/xc2-lib 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -5325,6 +5325,10 @@ function capitalize(string) {
5325
5325
  return string.charAt(0).toUpperCase() + string.slice(1);
5326
5326
  }
5327
5327
 
5328
+ function isMuiElement(element, muiNames) {
5329
+ return /*#__PURE__*/React__namespace.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;
5330
+ }
5331
+
5328
5332
  /**
5329
5333
  * TODO v5: consider making it private
5330
5334
  *
@@ -5348,6 +5352,42 @@ function setRef(ref, value) {
5348
5352
 
5349
5353
  const useEnhancedEffect = typeof window !== 'undefined' ? React__namespace.useLayoutEffect : React__namespace.useEffect;
5350
5354
 
5355
+ /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
5356
+ function useControlled({
5357
+ controlled,
5358
+ default: defaultProp,
5359
+ name,
5360
+ state = 'value'
5361
+ }) {
5362
+ // isControlled is ignored in the hook dependency lists as it should never change.
5363
+ const {
5364
+ current: isControlled
5365
+ } = React__namespace.useRef(controlled !== undefined);
5366
+ const [valueState, setValue] = React__namespace.useState(defaultProp);
5367
+ const value = isControlled ? controlled : valueState;
5368
+ if (process.env.NODE_ENV !== 'production') {
5369
+ React__namespace.useEffect(() => {
5370
+ if (isControlled !== (controlled !== undefined)) {
5371
+ console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
5372
+ }
5373
+ }, [state, name, controlled]);
5374
+ const {
5375
+ current: defaultValue
5376
+ } = React__namespace.useRef(defaultProp);
5377
+ React__namespace.useEffect(() => {
5378
+ if (!isControlled && defaultValue !== defaultProp) {
5379
+ console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\n'));
5380
+ }
5381
+ }, [JSON.stringify(defaultProp)]);
5382
+ }
5383
+ const setValueIfUncontrolled = React__namespace.useCallback(newValue => {
5384
+ if (!isControlled) {
5385
+ setValue(newValue);
5386
+ }
5387
+ }, []);
5388
+ return [value, setValueIfUncontrolled];
5389
+ }
5390
+
5351
5391
  /**
5352
5392
  * https://github.com/facebook/react/issues/14099#issuecomment-440013892
5353
5393
  */
@@ -6489,7 +6529,7 @@ function unstable_createStyleFunctionSx(styleFunctionMapping$1 = styleFunctionMa
6489
6529
  const styleFunctionSx = unstable_createStyleFunctionSx();
6490
6530
  styleFunctionSx.filterProps = ['sx'];
6491
6531
 
6492
- const _excluded$i = ["sx"];
6532
+ const _excluded$o = ["sx"];
6493
6533
  const splitProps = props => {
6494
6534
  const result = {
6495
6535
  systemProps: {},
@@ -6508,7 +6548,7 @@ function extendSxProp(props) {
6508
6548
  const {
6509
6549
  sx: inSx
6510
6550
  } = props,
6511
- other = _objectWithoutPropertiesLoose(props, _excluded$i);
6551
+ other = _objectWithoutPropertiesLoose(props, _excluded$o);
6512
6552
  const {
6513
6553
  systemProps,
6514
6554
  otherProps
@@ -6534,7 +6574,7 @@ function extendSxProp(props) {
6534
6574
 
6535
6575
  function r(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(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
6536
6576
 
6537
- const _excluded$h = ["values", "unit", "step"];
6577
+ const _excluded$n = ["values", "unit", "step"];
6538
6578
  const sortBreakpointsValues = values => {
6539
6579
  const breakpointsAsArray = Object.keys(values).map(key => ({
6540
6580
  key,
@@ -6569,7 +6609,7 @@ function createBreakpoints(breakpoints) {
6569
6609
  unit = 'px',
6570
6610
  step = 5
6571
6611
  } = breakpoints,
6572
- other = _objectWithoutPropertiesLoose(breakpoints, _excluded$h);
6612
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded$n);
6573
6613
  const sortedValues = sortBreakpointsValues(values);
6574
6614
  const keys = Object.keys(sortedValues);
6575
6615
  function up(key) {
@@ -6647,7 +6687,7 @@ function createSpacing(spacingInput = 8) {
6647
6687
  return spacing;
6648
6688
  }
6649
6689
 
6650
- const _excluded$g = ["breakpoints", "palette", "spacing", "shape"];
6690
+ const _excluded$m = ["breakpoints", "palette", "spacing", "shape"];
6651
6691
  function createTheme$1(options = {}, ...args) {
6652
6692
  const {
6653
6693
  breakpoints: breakpointsInput = {},
@@ -6655,7 +6695,7 @@ function createTheme$1(options = {}, ...args) {
6655
6695
  spacing: spacingInput,
6656
6696
  shape: shapeInput = {}
6657
6697
  } = options,
6658
- other = _objectWithoutPropertiesLoose(options, _excluded$g);
6698
+ other = _objectWithoutPropertiesLoose(options, _excluded$m);
6659
6699
  const breakpoints = createBreakpoints(breakpointsInput);
6660
6700
  const spacing = createSpacing(spacingInput);
6661
6701
  let muiTheme = deepmerge({
@@ -6759,7 +6799,7 @@ function useTheme(defaultTheme = systemDefaultTheme$1) {
6759
6799
  return useTheme$1(defaultTheme);
6760
6800
  }
6761
6801
 
6762
- const _excluded$f = ["className", "component"];
6802
+ const _excluded$l = ["className", "component"];
6763
6803
  function createBox(options = {}) {
6764
6804
  const {
6765
6805
  defaultTheme,
@@ -6777,7 +6817,7 @@ function createBox(options = {}) {
6777
6817
  className,
6778
6818
  component = 'div'
6779
6819
  } = _extendSxProp,
6780
- other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$f);
6820
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$l);
6781
6821
  return /*#__PURE__*/jsxRuntime.exports.jsx(BoxRoot, _extends$1b({
6782
6822
  as: component,
6783
6823
  ref: ref,
@@ -6809,7 +6849,7 @@ process.env.NODE_ENV !== "production" ? Box$1.propTypes /* remove-proptypes */ =
6809
6849
  sx: propTypes.exports.oneOfType([propTypes.exports.arrayOf(propTypes.exports.oneOfType([propTypes.exports.func, propTypes.exports.object, propTypes.exports.bool])), propTypes.exports.func, propTypes.exports.object])
6810
6850
  } : void 0;
6811
6851
 
6812
- const _excluded$e = ["variant"];
6852
+ const _excluded$k = ["variant"];
6813
6853
  function isEmpty$1(string) {
6814
6854
  return string.length === 0;
6815
6855
  }
@@ -6823,7 +6863,7 @@ function propsToClassKey(props) {
6823
6863
  const {
6824
6864
  variant
6825
6865
  } = props,
6826
- other = _objectWithoutPropertiesLoose(props, _excluded$e);
6866
+ other = _objectWithoutPropertiesLoose(props, _excluded$k);
6827
6867
  let classKey = variant || '';
6828
6868
  Object.keys(other).sort().forEach(key => {
6829
6869
  if (key === 'color') {
@@ -6835,7 +6875,7 @@ function propsToClassKey(props) {
6835
6875
  return classKey;
6836
6876
  }
6837
6877
 
6838
- const _excluded$d = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"],
6878
+ const _excluded$j = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"],
6839
6879
  _excluded2$1 = ["theme"],
6840
6880
  _excluded3 = ["theme"];
6841
6881
  function isEmpty(obj) {
@@ -6923,7 +6963,7 @@ function createStyled(input = {}) {
6923
6963
  skipSx: inputSkipSx,
6924
6964
  overridesResolver
6925
6965
  } = inputOptions,
6926
- options = _objectWithoutPropertiesLoose(inputOptions, _excluded$d);
6966
+ options = _objectWithoutPropertiesLoose(inputOptions, _excluded$j);
6927
6967
 
6928
6968
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
6929
6969
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver : componentSlot && componentSlot !== 'Root' || false;
@@ -7788,7 +7828,7 @@ function useCurrentColorScheme(options) {
7788
7828
  });
7789
7829
  }
7790
7830
 
7791
- const _excluded$c = ["colorSchemes", "components", "cssVarPrefix"];
7831
+ const _excluded$i = ["colorSchemes", "components", "cssVarPrefix"];
7792
7832
  const DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
7793
7833
  function createCssVarsProvider(options) {
7794
7834
  const {
@@ -7840,7 +7880,7 @@ function createCssVarsProvider(options) {
7840
7880
  components = {},
7841
7881
  cssVarPrefix
7842
7882
  } = themeProp,
7843
- restThemeProp = _objectWithoutPropertiesLoose(themeProp, _excluded$c);
7883
+ restThemeProp = _objectWithoutPropertiesLoose(themeProp, _excluded$i);
7844
7884
  const allColorSchemes = Object.keys(colorSchemes);
7845
7885
  const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
7846
7886
  const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
@@ -8138,7 +8178,7 @@ function createGetCssVar$1(prefix = '') {
8138
8178
  return getCssVar;
8139
8179
  }
8140
8180
 
8141
- const _excluded$b = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
8181
+ const _excluded$h = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
8142
8182
  const defaultTheme$5 = createTheme$1();
8143
8183
  const defaultCreateStyledComponent$2 = styled$1('div', {
8144
8184
  name: 'MuiContainer',
@@ -8155,7 +8195,7 @@ const useThemePropsDefault$2 = inProps => useThemeProps$1({
8155
8195
  name: 'MuiContainer',
8156
8196
  defaultTheme: defaultTheme$5
8157
8197
  });
8158
- const useUtilityClasses$3 = (ownerState, componentName) => {
8198
+ const useUtilityClasses$9 = (ownerState, componentName) => {
8159
8199
  const getContainerUtilityClass = slot => {
8160
8200
  return generateUtilityClass(componentName, slot);
8161
8201
  };
@@ -8234,7 +8274,7 @@ function createContainer(options = {}) {
8234
8274
  fixed = false,
8235
8275
  maxWidth = 'lg'
8236
8276
  } = props,
8237
- other = _objectWithoutPropertiesLoose(props, _excluded$b);
8277
+ other = _objectWithoutPropertiesLoose(props, _excluded$h);
8238
8278
  const ownerState = _extends$1b({}, props, {
8239
8279
  component,
8240
8280
  disableGutters,
@@ -8243,7 +8283,7 @@ function createContainer(options = {}) {
8243
8283
  });
8244
8284
 
8245
8285
  // @ts-ignore module augmentation fails if custom breakpoints are used
8246
- const classes = useUtilityClasses$3(ownerState, componentName);
8286
+ const classes = useUtilityClasses$9(ownerState, componentName);
8247
8287
  return (
8248
8288
  /*#__PURE__*/
8249
8289
  // @ts-ignore theme is injected by the styled util
@@ -8557,7 +8597,7 @@ const generateDirectionClasses = direction => {
8557
8597
  return [`direction-xs-${String(direction)}`];
8558
8598
  };
8559
8599
 
8560
- const _excluded$a = ["className", "columns", "container", "component", "direction", "wrap", "spacing", "rowSpacing", "columnSpacing", "disableEqualOverflow"];
8600
+ const _excluded$g = ["className", "columns", "container", "component", "direction", "wrap", "spacing", "rowSpacing", "columnSpacing", "disableEqualOverflow"];
8561
8601
  const defaultTheme$4 = createTheme$1();
8562
8602
 
8563
8603
  // widening Theme to any so that the consumer can own the theme structure.
@@ -8615,7 +8655,7 @@ function createGrid(options = {}) {
8615
8655
  columnSpacing: columnSpacingProp = spacingProp,
8616
8656
  disableEqualOverflow: themeDisableEqualOverflow
8617
8657
  } = props,
8618
- rest = _objectWithoutPropertiesLoose(props, _excluded$a);
8658
+ rest = _objectWithoutPropertiesLoose(props, _excluded$g);
8619
8659
  // Because `disableEqualOverflow` can be set from the theme's defaultProps, the **nested** grid should look at the instance props instead.
8620
8660
  let disableEqualOverflow = themeDisableEqualOverflow;
8621
8661
  if (nested && themeDisableEqualOverflow !== undefined) {
@@ -8868,7 +8908,7 @@ generateUtilityClasses('MuiGrid', ['root', 'container', 'item',
8868
8908
  // grid sizes for all breakpoints
8869
8909
  ...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}`)]);
8870
8910
 
8871
- const _excluded$9 = ["component", "direction", "spacing", "divider", "children", "className"];
8911
+ const _excluded$f = ["component", "direction", "spacing", "divider", "children", "className"];
8872
8912
  const defaultTheme$3 = createTheme$1();
8873
8913
  // widening Theme to any so that the consumer can own the theme structure.
8874
8914
  const defaultCreateStyledComponent = styled$1('div', {
@@ -8991,7 +9031,7 @@ function createStack(options = {}) {
8991
9031
  children,
8992
9032
  className
8993
9033
  } = props,
8994
- other = _objectWithoutPropertiesLoose(props, _excluded$9);
9034
+ other = _objectWithoutPropertiesLoose(props, _excluded$f);
8995
9035
  const ownerState = {
8996
9036
  direction,
8997
9037
  spacing
@@ -9200,7 +9240,7 @@ const green = {
9200
9240
  A700: '#00c853'
9201
9241
  };
9202
9242
 
9203
- const _excluded$8 = ["mode", "contrastThreshold", "tonalOffset"];
9243
+ const _excluded$e = ["mode", "contrastThreshold", "tonalOffset"];
9204
9244
  const light = {
9205
9245
  // The colors used to style the text.
9206
9246
  text: {
@@ -9369,7 +9409,7 @@ function createPalette(palette) {
9369
9409
  contrastThreshold = 3,
9370
9410
  tonalOffset = 0.2
9371
9411
  } = palette,
9372
- other = _objectWithoutPropertiesLoose(palette, _excluded$8);
9412
+ other = _objectWithoutPropertiesLoose(palette, _excluded$e);
9373
9413
  const primary = palette.primary || getDefaultPrimary(mode);
9374
9414
  const secondary = palette.secondary || getDefaultSecondary(mode);
9375
9415
  const error = palette.error || getDefaultError(mode);
@@ -9493,7 +9533,7 @@ const theme2 = createTheme({ palette: {
9493
9533
  return paletteOutput;
9494
9534
  }
9495
9535
 
9496
- const _excluded$7 = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9536
+ const _excluded$d = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
9497
9537
  function round(value) {
9498
9538
  return Math.round(value * 1e5) / 1e5;
9499
9539
  }
@@ -9524,7 +9564,7 @@ function createTypography(palette, typography) {
9524
9564
  allVariants,
9525
9565
  pxToRem: pxToRem2
9526
9566
  } = _ref,
9527
- other = _objectWithoutPropertiesLoose(_ref, _excluded$7);
9567
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$d);
9528
9568
  if (process.env.NODE_ENV !== 'production') {
9529
9569
  if (typeof fontSize !== 'number') {
9530
9570
  console.error('MUI: `fontSize` is required to be a number.');
@@ -9583,7 +9623,7 @@ function createShadow(...px) {
9583
9623
  // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss
9584
9624
  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)];
9585
9625
 
9586
- const _excluded$6 = ["duration", "easing", "delay"];
9626
+ const _excluded$c = ["duration", "easing", "delay"];
9587
9627
  // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves
9588
9628
  // to learn the context in which each easing should be used.
9589
9629
  const easing = {
@@ -9634,7 +9674,7 @@ function createTransitions(inputTransitions) {
9634
9674
  easing: easingOption = mergedEasing.easeInOut,
9635
9675
  delay = 0
9636
9676
  } = options,
9637
- other = _objectWithoutPropertiesLoose(options, _excluded$6);
9677
+ other = _objectWithoutPropertiesLoose(options, _excluded$c);
9638
9678
  if (process.env.NODE_ENV !== 'production') {
9639
9679
  const isString = value => typeof value === 'string';
9640
9680
  // IE11 support, replace with Number.isNaN
@@ -9680,7 +9720,7 @@ const zIndex = {
9680
9720
  tooltip: 1500
9681
9721
  };
9682
9722
 
9683
- const _excluded$5 = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9723
+ const _excluded$b = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
9684
9724
  function createTheme(options = {}, ...args) {
9685
9725
  const {
9686
9726
  mixins: mixinsInput = {},
@@ -9688,7 +9728,7 @@ function createTheme(options = {}, ...args) {
9688
9728
  transitions: transitionsInput = {},
9689
9729
  typography: typographyInput = {}
9690
9730
  } = options,
9691
- other = _objectWithoutPropertiesLoose(options, _excluded$5);
9731
+ other = _objectWithoutPropertiesLoose(options, _excluded$b);
9692
9732
  if (options.vars) {
9693
9733
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`vars\` is a private field used for CSS variables support.
9694
9734
  Please use another name.` : formatMuiErrorMessage(18));
@@ -9768,7 +9808,7 @@ const getOverlayAlpha = elevation => {
9768
9808
  return (alphaValue / 100).toFixed(2);
9769
9809
  };
9770
9810
 
9771
- const _excluded$4 = ["colorSchemes", "cssVarPrefix"],
9811
+ const _excluded$a = ["colorSchemes", "cssVarPrefix"],
9772
9812
  _excluded2 = ["palette"];
9773
9813
  const defaultDarkOverlays = [...Array(25)].map((_, index) => {
9774
9814
  if (index === 0) {
@@ -9804,7 +9844,7 @@ function extendTheme(options = {}, ...args) {
9804
9844
  colorSchemes: colorSchemesInput = {},
9805
9845
  cssVarPrefix = 'mui'
9806
9846
  } = options,
9807
- input = _objectWithoutPropertiesLoose(options, _excluded$4);
9847
+ input = _objectWithoutPropertiesLoose(options, _excluded$a);
9808
9848
  const getCssVar = createGetCssVar(cssVarPrefix);
9809
9849
  const _createThemeWithoutVa = createTheme(_extends$1b({}, input, colorSchemesInput.light && {
9810
9850
  palette: (_colorSchemesInput$li = colorSchemesInput.light) == null ? void 0 : _colorSchemesInput$li.palette
@@ -10122,8 +10162,8 @@ function getTypographyUtilityClass(slot) {
10122
10162
  }
10123
10163
  generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
10124
10164
 
10125
- const _excluded$3 = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
10126
- const useUtilityClasses$2 = ownerState => {
10165
+ const _excluded$9 = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
10166
+ const useUtilityClasses$8 = ownerState => {
10127
10167
  const {
10128
10168
  align,
10129
10169
  gutterBottom,
@@ -10206,7 +10246,7 @@ const Typography = /*#__PURE__*/React__namespace.forwardRef(function Typography(
10206
10246
  variant = 'body1',
10207
10247
  variantMapping = defaultVariantMapping
10208
10248
  } = props,
10209
- other = _objectWithoutPropertiesLoose(props, _excluded$3);
10249
+ other = _objectWithoutPropertiesLoose(props, _excluded$9);
10210
10250
  const ownerState = _extends$1b({}, props, {
10211
10251
  align,
10212
10252
  color,
@@ -10219,7 +10259,7 @@ const Typography = /*#__PURE__*/React__namespace.forwardRef(function Typography(
10219
10259
  variantMapping
10220
10260
  });
10221
10261
  const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
10222
- const classes = useUtilityClasses$2(ownerState);
10262
+ const classes = useUtilityClasses$8(ownerState);
10223
10263
  return /*#__PURE__*/jsxRuntime.exports.jsx(TypographyRoot, _extends$1b({
10224
10264
  as: Component,
10225
10265
  ref: ref,
@@ -12431,7 +12471,7 @@ process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
12431
12471
 
12432
12472
  const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
12433
12473
 
12434
- const _excluded$2 = ["center", "classes", "className"];
12474
+ const _excluded$8 = ["center", "classes", "className"];
12435
12475
  let _ = t => t,
12436
12476
  _t,
12437
12477
  _t2,
@@ -12560,7 +12600,7 @@ const TouchRipple = /*#__PURE__*/React__namespace.forwardRef(function TouchRippl
12560
12600
  classes = {},
12561
12601
  className
12562
12602
  } = props,
12563
- other = _objectWithoutPropertiesLoose(props, _excluded$2);
12603
+ other = _objectWithoutPropertiesLoose(props, _excluded$8);
12564
12604
  const [ripples, setRipples] = React__namespace.useState([]);
12565
12605
  const nextKey = React__namespace.useRef(0);
12566
12606
  const rippleCallback = React__namespace.useRef(null);
@@ -12759,8 +12799,8 @@ function getButtonBaseUtilityClass(slot) {
12759
12799
  }
12760
12800
  const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
12761
12801
 
12762
- const _excluded$1 = ["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"];
12763
- const useUtilityClasses$1 = ownerState => {
12802
+ const _excluded$7 = ["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"];
12803
+ const useUtilityClasses$7 = ownerState => {
12764
12804
  const {
12765
12805
  disabled,
12766
12806
  focusVisible,
@@ -12861,7 +12901,7 @@ const ButtonBase = /*#__PURE__*/React__namespace.forwardRef(function ButtonBase(
12861
12901
  touchRippleRef,
12862
12902
  type
12863
12903
  } = props,
12864
- other = _objectWithoutPropertiesLoose(props, _excluded$1);
12904
+ other = _objectWithoutPropertiesLoose(props, _excluded$7);
12865
12905
  const buttonRef = React__namespace.useRef(null);
12866
12906
  const rippleRef = React__namespace.useRef(null);
12867
12907
  const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
@@ -13028,7 +13068,7 @@ const ButtonBase = /*#__PURE__*/React__namespace.forwardRef(function ButtonBase(
13028
13068
  tabIndex,
13029
13069
  focusVisible
13030
13070
  });
13031
- const classes = useUtilityClasses$1(ownerState);
13071
+ const classes = useUtilityClasses$7(ownerState);
13032
13072
  return /*#__PURE__*/jsxRuntime.exports.jsxs(ButtonBaseRoot, _extends$1b({
13033
13073
  as: ComponentProp,
13034
13074
  className: clsx(classes.root, className),
@@ -13231,8 +13271,8 @@ if (process.env.NODE_ENV !== 'production') {
13231
13271
  ButtonGroupContext.displayName = 'ButtonGroupContext';
13232
13272
  }
13233
13273
 
13234
- const _excluded = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"];
13235
- const useUtilityClasses = ownerState => {
13274
+ const _excluded$6 = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"];
13275
+ const useUtilityClasses$6 = ownerState => {
13236
13276
  const {
13237
13277
  color,
13238
13278
  disableElevation,
@@ -13457,7 +13497,7 @@ const Button = /*#__PURE__*/React__namespace.forwardRef(function Button(inProps,
13457
13497
  type,
13458
13498
  variant = 'text'
13459
13499
  } = props,
13460
- other = _objectWithoutPropertiesLoose(props, _excluded);
13500
+ other = _objectWithoutPropertiesLoose(props, _excluded$6);
13461
13501
  const ownerState = _extends$1b({}, props, {
13462
13502
  color,
13463
13503
  component,
@@ -13469,7 +13509,7 @@ const Button = /*#__PURE__*/React__namespace.forwardRef(function Button(inProps,
13469
13509
  type,
13470
13510
  variant
13471
13511
  });
13472
- const classes = useUtilityClasses(ownerState);
13512
+ const classes = useUtilityClasses$6(ownerState);
13473
13513
  const startIcon = startIconProp && /*#__PURE__*/jsxRuntime.exports.jsx(ButtonStartIcon, {
13474
13514
  className: classes.startIcon,
13475
13515
  ownerState: ownerState,
@@ -28562,10 +28602,1424 @@ BottomInfoBar.propTypes = {
28562
28602
  onRightTextClick: propTypes.exports.func,
28563
28603
  };
28564
28604
 
28605
+ /**
28606
+ * @ignore - internal component.
28607
+ */
28608
+ const FormControlContext = /*#__PURE__*/React__namespace.createContext(undefined);
28609
+ if (process.env.NODE_ENV !== 'production') {
28610
+ FormControlContext.displayName = 'FormControlContext';
28611
+ }
28612
+
28613
+ function useFormControl() {
28614
+ return React__namespace.useContext(FormControlContext);
28615
+ }
28616
+
28617
+ function getSwitchBaseUtilityClass(slot) {
28618
+ return generateUtilityClass('PrivateSwitchBase', slot);
28619
+ }
28620
+ generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
28621
+
28622
+ const _excluded$5 = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
28623
+ const useUtilityClasses$5 = ownerState => {
28624
+ const {
28625
+ classes,
28626
+ checked,
28627
+ disabled,
28628
+ edge
28629
+ } = ownerState;
28630
+ const slots = {
28631
+ root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],
28632
+ input: ['input']
28633
+ };
28634
+ return composeClasses(slots, getSwitchBaseUtilityClass, classes);
28635
+ };
28636
+ const SwitchBaseRoot = styled(ButtonBase)(({
28637
+ ownerState
28638
+ }) => _extends$1b({
28639
+ padding: 9,
28640
+ borderRadius: '50%'
28641
+ }, ownerState.edge === 'start' && {
28642
+ marginLeft: ownerState.size === 'small' ? -3 : -12
28643
+ }, ownerState.edge === 'end' && {
28644
+ marginRight: ownerState.size === 'small' ? -3 : -12
28645
+ }));
28646
+ const SwitchBaseInput = styled('input')({
28647
+ cursor: 'inherit',
28648
+ position: 'absolute',
28649
+ opacity: 0,
28650
+ width: '100%',
28651
+ height: '100%',
28652
+ top: 0,
28653
+ left: 0,
28654
+ margin: 0,
28655
+ padding: 0,
28656
+ zIndex: 1
28657
+ });
28658
+
28659
+ /**
28660
+ * @ignore - internal component.
28661
+ */
28662
+ const SwitchBase = /*#__PURE__*/React__namespace.forwardRef(function SwitchBase(props, ref) {
28663
+ const {
28664
+ autoFocus,
28665
+ checked: checkedProp,
28666
+ checkedIcon,
28667
+ className,
28668
+ defaultChecked,
28669
+ disabled: disabledProp,
28670
+ disableFocusRipple = false,
28671
+ edge = false,
28672
+ icon,
28673
+ id,
28674
+ inputProps,
28675
+ inputRef,
28676
+ name,
28677
+ onBlur,
28678
+ onChange,
28679
+ onFocus,
28680
+ readOnly,
28681
+ required,
28682
+ tabIndex,
28683
+ type,
28684
+ value
28685
+ } = props,
28686
+ other = _objectWithoutPropertiesLoose(props, _excluded$5);
28687
+ const [checked, setCheckedState] = useControlled({
28688
+ controlled: checkedProp,
28689
+ default: Boolean(defaultChecked),
28690
+ name: 'SwitchBase',
28691
+ state: 'checked'
28692
+ });
28693
+ const muiFormControl = useFormControl();
28694
+ const handleFocus = event => {
28695
+ if (onFocus) {
28696
+ onFocus(event);
28697
+ }
28698
+ if (muiFormControl && muiFormControl.onFocus) {
28699
+ muiFormControl.onFocus(event);
28700
+ }
28701
+ };
28702
+ const handleBlur = event => {
28703
+ if (onBlur) {
28704
+ onBlur(event);
28705
+ }
28706
+ if (muiFormControl && muiFormControl.onBlur) {
28707
+ muiFormControl.onBlur(event);
28708
+ }
28709
+ };
28710
+ const handleInputChange = event => {
28711
+ // Workaround for https://github.com/facebook/react/issues/9023
28712
+ if (event.nativeEvent.defaultPrevented) {
28713
+ return;
28714
+ }
28715
+ const newChecked = event.target.checked;
28716
+ setCheckedState(newChecked);
28717
+ if (onChange) {
28718
+ // TODO v6: remove the second argument.
28719
+ onChange(event, newChecked);
28720
+ }
28721
+ };
28722
+ let disabled = disabledProp;
28723
+ if (muiFormControl) {
28724
+ if (typeof disabled === 'undefined') {
28725
+ disabled = muiFormControl.disabled;
28726
+ }
28727
+ }
28728
+ const hasLabelFor = type === 'checkbox' || type === 'radio';
28729
+ const ownerState = _extends$1b({}, props, {
28730
+ checked,
28731
+ disabled,
28732
+ disableFocusRipple,
28733
+ edge
28734
+ });
28735
+ const classes = useUtilityClasses$5(ownerState);
28736
+ return /*#__PURE__*/jsxRuntime.exports.jsxs(SwitchBaseRoot, _extends$1b({
28737
+ component: "span",
28738
+ className: clsx(classes.root, className),
28739
+ centerRipple: true,
28740
+ focusRipple: !disableFocusRipple,
28741
+ disabled: disabled,
28742
+ tabIndex: null,
28743
+ role: undefined,
28744
+ onFocus: handleFocus,
28745
+ onBlur: handleBlur,
28746
+ ownerState: ownerState,
28747
+ ref: ref
28748
+ }, other, {
28749
+ children: [/*#__PURE__*/jsxRuntime.exports.jsx(SwitchBaseInput, _extends$1b({
28750
+ autoFocus: autoFocus,
28751
+ checked: checkedProp,
28752
+ defaultChecked: defaultChecked,
28753
+ className: classes.input,
28754
+ disabled: disabled,
28755
+ id: hasLabelFor && id,
28756
+ name: name,
28757
+ onChange: handleInputChange,
28758
+ readOnly: readOnly,
28759
+ ref: inputRef,
28760
+ required: required,
28761
+ ownerState: ownerState,
28762
+ tabIndex: tabIndex,
28763
+ type: type
28764
+ }, type === 'checkbox' && value === undefined ? {} : {
28765
+ value
28766
+ }, inputProps)), checked ? checkedIcon : icon]
28767
+ }));
28768
+ });
28769
+
28770
+ // NB: If changed, please update Checkbox, Switch and Radio
28771
+ // so that the API documentation is updated.
28772
+ process.env.NODE_ENV !== "production" ? SwitchBase.propTypes = {
28773
+ /**
28774
+ * If `true`, the `input` element is focused during the first mount.
28775
+ */
28776
+ autoFocus: propTypes.exports.bool,
28777
+ /**
28778
+ * If `true`, the component is checked.
28779
+ */
28780
+ checked: propTypes.exports.bool,
28781
+ /**
28782
+ * The icon to display when the component is checked.
28783
+ */
28784
+ checkedIcon: propTypes.exports.node.isRequired,
28785
+ /**
28786
+ * Override or extend the styles applied to the component.
28787
+ * See [CSS API](#css) below for more details.
28788
+ */
28789
+ classes: propTypes.exports.object,
28790
+ /**
28791
+ * @ignore
28792
+ */
28793
+ className: propTypes.exports.string,
28794
+ /**
28795
+ * @ignore
28796
+ */
28797
+ defaultChecked: propTypes.exports.bool,
28798
+ /**
28799
+ * If `true`, the component is disabled.
28800
+ */
28801
+ disabled: propTypes.exports.bool,
28802
+ /**
28803
+ * If `true`, the keyboard focus ripple is disabled.
28804
+ * @default false
28805
+ */
28806
+ disableFocusRipple: propTypes.exports.bool,
28807
+ /**
28808
+ * If given, uses a negative margin to counteract the padding on one
28809
+ * side (this is often helpful for aligning the left or right
28810
+ * side of the icon with content above or below, without ruining the border
28811
+ * size and shape).
28812
+ * @default false
28813
+ */
28814
+ edge: propTypes.exports.oneOf(['end', 'start', false]),
28815
+ /**
28816
+ * The icon to display when the component is unchecked.
28817
+ */
28818
+ icon: propTypes.exports.node.isRequired,
28819
+ /**
28820
+ * The id of the `input` element.
28821
+ */
28822
+ id: propTypes.exports.string,
28823
+ /**
28824
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
28825
+ */
28826
+ inputProps: propTypes.exports.object,
28827
+ /**
28828
+ * Pass a ref to the `input` element.
28829
+ */
28830
+ inputRef: refType,
28831
+ /*
28832
+ * @ignore
28833
+ */
28834
+ name: propTypes.exports.string,
28835
+ /**
28836
+ * @ignore
28837
+ */
28838
+ onBlur: propTypes.exports.func,
28839
+ /**
28840
+ * Callback fired when the state is changed.
28841
+ *
28842
+ * @param {object} event The event source of the callback.
28843
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
28844
+ */
28845
+ onChange: propTypes.exports.func,
28846
+ /**
28847
+ * @ignore
28848
+ */
28849
+ onFocus: propTypes.exports.func,
28850
+ /**
28851
+ * It prevents the user from changing the value of the field
28852
+ * (not from interacting with the field).
28853
+ */
28854
+ readOnly: propTypes.exports.bool,
28855
+ /**
28856
+ * If `true`, the `input` element is required.
28857
+ */
28858
+ required: propTypes.exports.bool,
28859
+ /**
28860
+ * The system prop that allows defining system overrides as well as additional CSS styles.
28861
+ */
28862
+ sx: propTypes.exports.object,
28863
+ /**
28864
+ * @ignore
28865
+ */
28866
+ tabIndex: propTypes.exports.oneOfType([propTypes.exports.number, propTypes.exports.string]),
28867
+ /**
28868
+ * The input component prop `type`.
28869
+ */
28870
+ type: propTypes.exports.string.isRequired,
28871
+ /**
28872
+ * The value of the component.
28873
+ */
28874
+ value: propTypes.exports.any
28875
+ } : void 0;
28876
+
28877
+ function getSvgIconUtilityClass(slot) {
28878
+ return generateUtilityClass('MuiSvgIcon', slot);
28879
+ }
28880
+ generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
28881
+
28882
+ const _excluded$4 = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
28883
+ const useUtilityClasses$4 = ownerState => {
28884
+ const {
28885
+ color,
28886
+ fontSize,
28887
+ classes
28888
+ } = ownerState;
28889
+ const slots = {
28890
+ root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]
28891
+ };
28892
+ return composeClasses(slots, getSvgIconUtilityClass, classes);
28893
+ };
28894
+ const SvgIconRoot = styled('svg', {
28895
+ name: 'MuiSvgIcon',
28896
+ slot: 'Root',
28897
+ overridesResolver: (props, styles) => {
28898
+ const {
28899
+ ownerState
28900
+ } = props;
28901
+ return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];
28902
+ }
28903
+ })(({
28904
+ theme,
28905
+ ownerState
28906
+ }) => {
28907
+ var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$transitions2$d, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette$ownerState$c2, _palette2, _palette2$action, _palette3, _palette3$action;
28908
+ return {
28909
+ userSelect: 'none',
28910
+ width: '1em',
28911
+ height: '1em',
28912
+ display: 'inline-block',
28913
+ fill: 'currentColor',
28914
+ flexShrink: 0,
28915
+ transition: (_theme$transitions = theme.transitions) == null ? void 0 : (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {
28916
+ duration: (_theme$transitions2 = theme.transitions) == null ? void 0 : (_theme$transitions2$d = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2$d.shorter
28917
+ }),
28918
+ fontSize: {
28919
+ inherit: 'inherit',
28920
+ small: ((_theme$typography = theme.typography) == null ? void 0 : (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',
28921
+ medium: ((_theme$typography2 = theme.typography) == null ? void 0 : (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',
28922
+ large: ((_theme$typography3 = theme.typography) == null ? void 0 : (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'
28923
+ }[ownerState.fontSize],
28924
+ // TODO v5 deprecate, v6 remove for sx
28925
+ color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null ? void 0 : (_palette$ownerState$c2 = _palette[ownerState.color]) == null ? void 0 : _palette$ownerState$c2.main) != null ? _palette$ownerState$c : {
28926
+ action: (_palette2 = (theme.vars || theme).palette) == null ? void 0 : (_palette2$action = _palette2.action) == null ? void 0 : _palette2$action.active,
28927
+ disabled: (_palette3 = (theme.vars || theme).palette) == null ? void 0 : (_palette3$action = _palette3.action) == null ? void 0 : _palette3$action.disabled,
28928
+ inherit: undefined
28929
+ }[ownerState.color]
28930
+ };
28931
+ });
28932
+ const SvgIcon = /*#__PURE__*/React__namespace.forwardRef(function SvgIcon(inProps, ref) {
28933
+ const props = useThemeProps({
28934
+ props: inProps,
28935
+ name: 'MuiSvgIcon'
28936
+ });
28937
+ const {
28938
+ children,
28939
+ className,
28940
+ color = 'inherit',
28941
+ component = 'svg',
28942
+ fontSize = 'medium',
28943
+ htmlColor,
28944
+ inheritViewBox = false,
28945
+ titleAccess,
28946
+ viewBox = '0 0 24 24'
28947
+ } = props,
28948
+ other = _objectWithoutPropertiesLoose(props, _excluded$4);
28949
+ const ownerState = _extends$1b({}, props, {
28950
+ color,
28951
+ component,
28952
+ fontSize,
28953
+ instanceFontSize: inProps.fontSize,
28954
+ inheritViewBox,
28955
+ viewBox
28956
+ });
28957
+ const more = {};
28958
+ if (!inheritViewBox) {
28959
+ more.viewBox = viewBox;
28960
+ }
28961
+ const classes = useUtilityClasses$4(ownerState);
28962
+ return /*#__PURE__*/jsxRuntime.exports.jsxs(SvgIconRoot, _extends$1b({
28963
+ as: component,
28964
+ className: clsx(classes.root, className),
28965
+ focusable: "false",
28966
+ color: htmlColor,
28967
+ "aria-hidden": titleAccess ? undefined : true,
28968
+ role: titleAccess ? 'img' : undefined,
28969
+ ref: ref
28970
+ }, more, other, {
28971
+ ownerState: ownerState,
28972
+ children: [children, titleAccess ? /*#__PURE__*/jsxRuntime.exports.jsx("title", {
28973
+ children: titleAccess
28974
+ }) : null]
28975
+ }));
28976
+ });
28977
+ process.env.NODE_ENV !== "production" ? SvgIcon.propTypes /* remove-proptypes */ = {
28978
+ // ----------------------------- Warning --------------------------------
28979
+ // | These PropTypes are generated from the TypeScript type definitions |
28980
+ // | To update them edit the d.ts file and run "yarn proptypes" |
28981
+ // ----------------------------------------------------------------------
28982
+ /**
28983
+ * Node passed into the SVG element.
28984
+ */
28985
+ children: propTypes.exports.node,
28986
+ /**
28987
+ * Override or extend the styles applied to the component.
28988
+ */
28989
+ classes: propTypes.exports.object,
28990
+ /**
28991
+ * @ignore
28992
+ */
28993
+ className: propTypes.exports.string,
28994
+ /**
28995
+ * The color of the component.
28996
+ * It supports both default and custom theme colors, which can be added as shown in the
28997
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
28998
+ * You can use the `htmlColor` prop to apply a color attribute to the SVG element.
28999
+ * @default 'inherit'
29000
+ */
29001
+ color: propTypes.exports /* @typescript-to-proptypes-ignore */.oneOfType([propTypes.exports.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), propTypes.exports.string]),
29002
+ /**
29003
+ * The component used for the root node.
29004
+ * Either a string to use a HTML element or a component.
29005
+ */
29006
+ component: propTypes.exports.elementType,
29007
+ /**
29008
+ * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.
29009
+ * @default 'medium'
29010
+ */
29011
+ fontSize: propTypes.exports /* @typescript-to-proptypes-ignore */.oneOfType([propTypes.exports.oneOf(['inherit', 'large', 'medium', 'small']), propTypes.exports.string]),
29012
+ /**
29013
+ * Applies a color attribute to the SVG element.
29014
+ */
29015
+ htmlColor: propTypes.exports.string,
29016
+ /**
29017
+ * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`
29018
+ * prop will be ignored.
29019
+ * Useful when you want to reference a custom `component` and have `SvgIcon` pass that
29020
+ * `component`'s viewBox to the root node.
29021
+ * @default false
29022
+ */
29023
+ inheritViewBox: propTypes.exports.bool,
29024
+ /**
29025
+ * The shape-rendering attribute. The behavior of the different options is described on the
29026
+ * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).
29027
+ * If you are having issues with blurry icons you should investigate this prop.
29028
+ */
29029
+ shapeRendering: propTypes.exports.string,
29030
+ /**
29031
+ * The system prop that allows defining system overrides as well as additional CSS styles.
29032
+ */
29033
+ sx: propTypes.exports.oneOfType([propTypes.exports.arrayOf(propTypes.exports.oneOfType([propTypes.exports.func, propTypes.exports.object, propTypes.exports.bool])), propTypes.exports.func, propTypes.exports.object]),
29034
+ /**
29035
+ * Provides a human-readable title for the element that contains it.
29036
+ * https://www.w3.org/TR/SVG-access/#Equivalent
29037
+ */
29038
+ titleAccess: propTypes.exports.string,
29039
+ /**
29040
+ * Allows you to redefine what the coordinates without units mean inside an SVG element.
29041
+ * For example, if the SVG element is 500 (width) by 200 (height),
29042
+ * and you pass viewBox="0 0 50 20",
29043
+ * this means that the coordinates inside the SVG will go from the top left corner (0,0)
29044
+ * to bottom right (50,20) and each unit will be worth 10px.
29045
+ * @default '0 0 24 24'
29046
+ */
29047
+ viewBox: propTypes.exports.string
29048
+ } : void 0;
29049
+ SvgIcon.muiName = 'SvgIcon';
29050
+
29051
+ function createSvgIcon(path, displayName) {
29052
+ function Component(props, ref) {
29053
+ return /*#__PURE__*/jsxRuntime.exports.jsx(SvgIcon, _extends$1b({
29054
+ "data-testid": `${displayName}Icon`,
29055
+ ref: ref
29056
+ }, props, {
29057
+ children: path
29058
+ }));
29059
+ }
29060
+ if (process.env.NODE_ENV !== 'production') {
29061
+ // Need to set `displayName` on the inner component for React.memo.
29062
+ // React prior to 16.14 ignores `displayName` on the wrapper.
29063
+ Component.displayName = `${displayName}Icon`;
29064
+ }
29065
+ Component.muiName = SvgIcon.muiName;
29066
+ return /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(Component));
29067
+ }
29068
+
29069
+ var CheckBoxOutlineBlankIcon = createSvgIcon( /*#__PURE__*/jsxRuntime.exports.jsx("path", {
29070
+ d: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"
29071
+ }), 'CheckBoxOutlineBlank');
29072
+
29073
+ var CheckBoxIcon = createSvgIcon( /*#__PURE__*/jsxRuntime.exports.jsx("path", {
29074
+ d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
29075
+ }), 'CheckBox');
29076
+
29077
+ var IndeterminateCheckBoxIcon = createSvgIcon( /*#__PURE__*/jsxRuntime.exports.jsx("path", {
29078
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"
29079
+ }), 'IndeterminateCheckBox');
29080
+
29081
+ function getCheckboxUtilityClass(slot) {
29082
+ return generateUtilityClass('MuiCheckbox', slot);
29083
+ }
29084
+ const checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);
29085
+
29086
+ const _excluded$3 = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"];
29087
+ const useUtilityClasses$3 = ownerState => {
29088
+ const {
29089
+ classes,
29090
+ indeterminate,
29091
+ color
29092
+ } = ownerState;
29093
+ const slots = {
29094
+ root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]
29095
+ };
29096
+ const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);
29097
+ return _extends$1b({}, classes, composedClasses);
29098
+ };
29099
+ const CheckboxRoot = styled(SwitchBase, {
29100
+ shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',
29101
+ name: 'MuiCheckbox',
29102
+ slot: 'Root',
29103
+ overridesResolver: (props, styles) => {
29104
+ const {
29105
+ ownerState
29106
+ } = props;
29107
+ return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];
29108
+ }
29109
+ })(({
29110
+ theme,
29111
+ ownerState
29112
+ }) => _extends$1b({
29113
+ color: (theme.vars || theme).palette.text.secondary
29114
+ }, !ownerState.disableRipple && {
29115
+ '&:hover': {
29116
+ backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
29117
+ // Reset on touch devices, it doesn't add specificity
29118
+ '@media (hover: none)': {
29119
+ backgroundColor: 'transparent'
29120
+ }
29121
+ }
29122
+ }, ownerState.color !== 'default' && {
29123
+ [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {
29124
+ color: (theme.vars || theme).palette[ownerState.color].main
29125
+ },
29126
+ [`&.${checkboxClasses.disabled}`]: {
29127
+ color: (theme.vars || theme).palette.action.disabled
29128
+ }
29129
+ }));
29130
+ const defaultCheckedIcon = /*#__PURE__*/jsxRuntime.exports.jsx(CheckBoxIcon, {});
29131
+ const defaultIcon = /*#__PURE__*/jsxRuntime.exports.jsx(CheckBoxOutlineBlankIcon, {});
29132
+ const defaultIndeterminateIcon = /*#__PURE__*/jsxRuntime.exports.jsx(IndeterminateCheckBoxIcon, {});
29133
+ const Checkbox = /*#__PURE__*/React__namespace.forwardRef(function Checkbox(inProps, ref) {
29134
+ var _icon$props$fontSize, _indeterminateIcon$pr;
29135
+ const props = useThemeProps({
29136
+ props: inProps,
29137
+ name: 'MuiCheckbox'
29138
+ });
29139
+ const {
29140
+ checkedIcon = defaultCheckedIcon,
29141
+ color = 'primary',
29142
+ icon: iconProp = defaultIcon,
29143
+ indeterminate = false,
29144
+ indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,
29145
+ inputProps,
29146
+ size = 'medium',
29147
+ className
29148
+ } = props,
29149
+ other = _objectWithoutPropertiesLoose(props, _excluded$3);
29150
+ const icon = indeterminate ? indeterminateIconProp : iconProp;
29151
+ const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;
29152
+ const ownerState = _extends$1b({}, props, {
29153
+ color,
29154
+ indeterminate,
29155
+ size
29156
+ });
29157
+ const classes = useUtilityClasses$3(ownerState);
29158
+ return /*#__PURE__*/jsxRuntime.exports.jsx(CheckboxRoot, _extends$1b({
29159
+ type: "checkbox",
29160
+ inputProps: _extends$1b({
29161
+ 'data-indeterminate': indeterminate
29162
+ }, inputProps),
29163
+ icon: /*#__PURE__*/React__namespace.cloneElement(icon, {
29164
+ fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size
29165
+ }),
29166
+ checkedIcon: /*#__PURE__*/React__namespace.cloneElement(indeterminateIcon, {
29167
+ fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size
29168
+ }),
29169
+ ownerState: ownerState,
29170
+ ref: ref,
29171
+ className: clsx(classes.root, className)
29172
+ }, other, {
29173
+ classes: classes
29174
+ }));
29175
+ });
29176
+ process.env.NODE_ENV !== "production" ? Checkbox.propTypes /* remove-proptypes */ = {
29177
+ // ----------------------------- Warning --------------------------------
29178
+ // | These PropTypes are generated from the TypeScript type definitions |
29179
+ // | To update them edit the d.ts file and run "yarn proptypes" |
29180
+ // ----------------------------------------------------------------------
29181
+ /**
29182
+ * If `true`, the component is checked.
29183
+ */
29184
+ checked: propTypes.exports.bool,
29185
+ /**
29186
+ * The icon to display when the component is checked.
29187
+ * @default <CheckBoxIcon />
29188
+ */
29189
+ checkedIcon: propTypes.exports.node,
29190
+ /**
29191
+ * Override or extend the styles applied to the component.
29192
+ */
29193
+ classes: propTypes.exports.object,
29194
+ /**
29195
+ * @ignore
29196
+ */
29197
+ className: propTypes.exports.string,
29198
+ /**
29199
+ * The color of the component.
29200
+ * It supports both default and custom theme colors, which can be added as shown in the
29201
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
29202
+ * @default 'primary'
29203
+ */
29204
+ color: propTypes.exports /* @typescript-to-proptypes-ignore */.oneOfType([propTypes.exports.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), propTypes.exports.string]),
29205
+ /**
29206
+ * The default checked state. Use when the component is not controlled.
29207
+ */
29208
+ defaultChecked: propTypes.exports.bool,
29209
+ /**
29210
+ * If `true`, the component is disabled.
29211
+ */
29212
+ disabled: propTypes.exports.bool,
29213
+ /**
29214
+ * If `true`, the ripple effect is disabled.
29215
+ */
29216
+ disableRipple: propTypes.exports.bool,
29217
+ /**
29218
+ * The icon to display when the component is unchecked.
29219
+ * @default <CheckBoxOutlineBlankIcon />
29220
+ */
29221
+ icon: propTypes.exports.node,
29222
+ /**
29223
+ * The id of the `input` element.
29224
+ */
29225
+ id: propTypes.exports.string,
29226
+ /**
29227
+ * If `true`, the component appears indeterminate.
29228
+ * This does not set the native input element to indeterminate due
29229
+ * to inconsistent behavior across browsers.
29230
+ * However, we set a `data-indeterminate` attribute on the `input`.
29231
+ * @default false
29232
+ */
29233
+ indeterminate: propTypes.exports.bool,
29234
+ /**
29235
+ * The icon to display when the component is indeterminate.
29236
+ * @default <IndeterminateCheckBoxIcon />
29237
+ */
29238
+ indeterminateIcon: propTypes.exports.node,
29239
+ /**
29240
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
29241
+ */
29242
+ inputProps: propTypes.exports.object,
29243
+ /**
29244
+ * Pass a ref to the `input` element.
29245
+ */
29246
+ inputRef: refType,
29247
+ /**
29248
+ * Callback fired when the state is changed.
29249
+ *
29250
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
29251
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
29252
+ */
29253
+ onChange: propTypes.exports.func,
29254
+ /**
29255
+ * If `true`, the `input` element is required.
29256
+ */
29257
+ required: propTypes.exports.bool,
29258
+ /**
29259
+ * The size of the component.
29260
+ * `small` is equivalent to the dense checkbox styling.
29261
+ * @default 'medium'
29262
+ */
29263
+ size: propTypes.exports /* @typescript-to-proptypes-ignore */.oneOfType([propTypes.exports.oneOf(['medium', 'small']), propTypes.exports.string]),
29264
+ /**
29265
+ * The system prop that allows defining system overrides as well as additional CSS styles.
29266
+ */
29267
+ sx: propTypes.exports.oneOfType([propTypes.exports.arrayOf(propTypes.exports.oneOfType([propTypes.exports.func, propTypes.exports.object, propTypes.exports.bool])), propTypes.exports.func, propTypes.exports.object]),
29268
+ /**
29269
+ * The value of the component. The DOM API casts this to a string.
29270
+ * The browser uses "on" as the default value.
29271
+ */
29272
+ value: propTypes.exports.any
29273
+ } : void 0;
29274
+
29275
+ function getFormGroupUtilityClass(slot) {
29276
+ return generateUtilityClass('MuiFormGroup', slot);
29277
+ }
29278
+ generateUtilityClasses('MuiFormGroup', ['root', 'row', 'error']);
29279
+
29280
+ function formControlState({
29281
+ props,
29282
+ states,
29283
+ muiFormControl
29284
+ }) {
29285
+ return states.reduce((acc, state) => {
29286
+ acc[state] = props[state];
29287
+ if (muiFormControl) {
29288
+ if (typeof props[state] === 'undefined') {
29289
+ acc[state] = muiFormControl[state];
29290
+ }
29291
+ }
29292
+ return acc;
29293
+ }, {});
29294
+ }
29295
+
29296
+ const _excluded$2 = ["className", "row"];
29297
+ const useUtilityClasses$2 = ownerState => {
29298
+ const {
29299
+ classes,
29300
+ row,
29301
+ error
29302
+ } = ownerState;
29303
+ const slots = {
29304
+ root: ['root', row && 'row', error && 'error']
29305
+ };
29306
+ return composeClasses(slots, getFormGroupUtilityClass, classes);
29307
+ };
29308
+ const FormGroupRoot = styled('div', {
29309
+ name: 'MuiFormGroup',
29310
+ slot: 'Root',
29311
+ overridesResolver: (props, styles) => {
29312
+ const {
29313
+ ownerState
29314
+ } = props;
29315
+ return [styles.root, ownerState.row && styles.row];
29316
+ }
29317
+ })(({
29318
+ ownerState
29319
+ }) => _extends$1b({
29320
+ display: 'flex',
29321
+ flexDirection: 'column',
29322
+ flexWrap: 'wrap'
29323
+ }, ownerState.row && {
29324
+ flexDirection: 'row'
29325
+ }));
29326
+
29327
+ /**
29328
+ * `FormGroup` wraps controls such as `Checkbox` and `Switch`.
29329
+ * It provides compact row layout.
29330
+ * For the `Radio`, you should be using the `RadioGroup` component instead of this one.
29331
+ */
29332
+ const FormGroup = /*#__PURE__*/React__namespace.forwardRef(function FormGroup(inProps, ref) {
29333
+ const props = useThemeProps({
29334
+ props: inProps,
29335
+ name: 'MuiFormGroup'
29336
+ });
29337
+ const {
29338
+ className,
29339
+ row = false
29340
+ } = props,
29341
+ other = _objectWithoutPropertiesLoose(props, _excluded$2);
29342
+ const muiFormControl = useFormControl();
29343
+ const fcs = formControlState({
29344
+ props,
29345
+ muiFormControl,
29346
+ states: ['error']
29347
+ });
29348
+ const ownerState = _extends$1b({}, props, {
29349
+ row,
29350
+ error: fcs.error
29351
+ });
29352
+ const classes = useUtilityClasses$2(ownerState);
29353
+ return /*#__PURE__*/jsxRuntime.exports.jsx(FormGroupRoot, _extends$1b({
29354
+ className: clsx(classes.root, className),
29355
+ ownerState: ownerState,
29356
+ ref: ref
29357
+ }, other));
29358
+ });
29359
+ process.env.NODE_ENV !== "production" ? FormGroup.propTypes /* remove-proptypes */ = {
29360
+ // ----------------------------- Warning --------------------------------
29361
+ // | These PropTypes are generated from the TypeScript type definitions |
29362
+ // | To update them edit the d.ts file and run "yarn proptypes" |
29363
+ // ----------------------------------------------------------------------
29364
+ /**
29365
+ * The content of the component.
29366
+ */
29367
+ children: propTypes.exports.node,
29368
+ /**
29369
+ * Override or extend the styles applied to the component.
29370
+ */
29371
+ classes: propTypes.exports.object,
29372
+ /**
29373
+ * @ignore
29374
+ */
29375
+ className: propTypes.exports.string,
29376
+ /**
29377
+ * Display group of elements in a compact row.
29378
+ * @default false
29379
+ */
29380
+ row: propTypes.exports.bool,
29381
+ /**
29382
+ * The system prop that allows defining system overrides as well as additional CSS styles.
29383
+ */
29384
+ sx: propTypes.exports.oneOfType([propTypes.exports.arrayOf(propTypes.exports.oneOfType([propTypes.exports.func, propTypes.exports.object, propTypes.exports.bool])), propTypes.exports.func, propTypes.exports.object])
29385
+ } : void 0;
29386
+
29387
+ // Supports determination of isControlled().
29388
+ // Controlled input accepts its current value as a prop.
29389
+ //
29390
+ // @see https://facebook.github.io/react/docs/forms.html#controlled-components
29391
+ // @param value
29392
+ // @returns {boolean} true if string (including '') or number (including zero)
29393
+ function hasValue(value) {
29394
+ return value != null && !(Array.isArray(value) && value.length === 0);
29395
+ }
29396
+
29397
+ // Determine if field is empty or filled.
29398
+ // Response determines if label is presented above field or as placeholder.
29399
+ //
29400
+ // @param obj
29401
+ // @param SSR
29402
+ // @returns {boolean} False when not present or empty string.
29403
+ // True when any number or string with length.
29404
+ function isFilled(obj, SSR = false) {
29405
+ return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');
29406
+ }
29407
+
29408
+ // Determine if an Input is adorned on start.
29409
+ // It's corresponding to the left with LTR.
29410
+ //
29411
+ // @param obj
29412
+ // @returns {boolean} False when no adornments.
29413
+ // True when adorned at the start.
29414
+ function isAdornedStart(obj) {
29415
+ return obj.startAdornment;
29416
+ }
29417
+
29418
+ function getFormControlUtilityClasses(slot) {
29419
+ return generateUtilityClass('MuiFormControl', slot);
29420
+ }
29421
+ generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);
29422
+
29423
+ const _excluded$1 = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
29424
+ const useUtilityClasses$1 = ownerState => {
29425
+ const {
29426
+ classes,
29427
+ margin,
29428
+ fullWidth
29429
+ } = ownerState;
29430
+ const slots = {
29431
+ root: ['root', margin !== 'none' && `margin${capitalize(margin)}`, fullWidth && 'fullWidth']
29432
+ };
29433
+ return composeClasses(slots, getFormControlUtilityClasses, classes);
29434
+ };
29435
+ const FormControlRoot = styled('div', {
29436
+ name: 'MuiFormControl',
29437
+ slot: 'Root',
29438
+ overridesResolver: ({
29439
+ ownerState
29440
+ }, styles) => {
29441
+ return _extends$1b({}, styles.root, styles[`margin${capitalize(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth);
29442
+ }
29443
+ })(({
29444
+ ownerState
29445
+ }) => _extends$1b({
29446
+ display: 'inline-flex',
29447
+ flexDirection: 'column',
29448
+ position: 'relative',
29449
+ // Reset fieldset default style.
29450
+ minWidth: 0,
29451
+ padding: 0,
29452
+ margin: 0,
29453
+ border: 0,
29454
+ verticalAlign: 'top'
29455
+ }, ownerState.margin === 'normal' && {
29456
+ marginTop: 16,
29457
+ marginBottom: 8
29458
+ }, ownerState.margin === 'dense' && {
29459
+ marginTop: 8,
29460
+ marginBottom: 4
29461
+ }, ownerState.fullWidth && {
29462
+ width: '100%'
29463
+ }));
29464
+
29465
+ /**
29466
+ * Provides context such as filled/focused/error/required for form inputs.
29467
+ * Relying on the context provides high flexibility and ensures that the state always stays
29468
+ * consistent across the children of the `FormControl`.
29469
+ * This context is used by the following components:
29470
+ *
29471
+ * - FormLabel
29472
+ * - FormHelperText
29473
+ * - Input
29474
+ * - InputLabel
29475
+ *
29476
+ * You can find one composition example below and more going to [the demos](/material-ui/react-text-field/#components).
29477
+ *
29478
+ * ```jsx
29479
+ * <FormControl>
29480
+ * <InputLabel htmlFor="my-input">Email address</InputLabel>
29481
+ * <Input id="my-input" aria-describedby="my-helper-text" />
29482
+ * <FormHelperText id="my-helper-text">We'll never share your email.</FormHelperText>
29483
+ * </FormControl>
29484
+ * ```
29485
+ *
29486
+ * ⚠️ Only one `InputBase` can be used within a FormControl because it create visual inconsistencies.
29487
+ * For instance, only one input can be focused at the same time, the state shouldn't be shared.
29488
+ */
29489
+ const FormControl = /*#__PURE__*/React__namespace.forwardRef(function FormControl(inProps, ref) {
29490
+ const props = useThemeProps({
29491
+ props: inProps,
29492
+ name: 'MuiFormControl'
29493
+ });
29494
+ const {
29495
+ children,
29496
+ className,
29497
+ color = 'primary',
29498
+ component = 'div',
29499
+ disabled = false,
29500
+ error = false,
29501
+ focused: visuallyFocused,
29502
+ fullWidth = false,
29503
+ hiddenLabel = false,
29504
+ margin = 'none',
29505
+ required = false,
29506
+ size = 'medium',
29507
+ variant = 'outlined'
29508
+ } = props,
29509
+ other = _objectWithoutPropertiesLoose(props, _excluded$1);
29510
+ const ownerState = _extends$1b({}, props, {
29511
+ color,
29512
+ component,
29513
+ disabled,
29514
+ error,
29515
+ fullWidth,
29516
+ hiddenLabel,
29517
+ margin,
29518
+ required,
29519
+ size,
29520
+ variant
29521
+ });
29522
+ const classes = useUtilityClasses$1(ownerState);
29523
+ const [adornedStart, setAdornedStart] = React__namespace.useState(() => {
29524
+ // We need to iterate through the children and find the Input in order
29525
+ // to fully support server-side rendering.
29526
+ let initialAdornedStart = false;
29527
+ if (children) {
29528
+ React__namespace.Children.forEach(children, child => {
29529
+ if (!isMuiElement(child, ['Input', 'Select'])) {
29530
+ return;
29531
+ }
29532
+ const input = isMuiElement(child, ['Select']) ? child.props.input : child;
29533
+ if (input && isAdornedStart(input.props)) {
29534
+ initialAdornedStart = true;
29535
+ }
29536
+ });
29537
+ }
29538
+ return initialAdornedStart;
29539
+ });
29540
+ const [filled, setFilled] = React__namespace.useState(() => {
29541
+ // We need to iterate through the children and find the Input in order
29542
+ // to fully support server-side rendering.
29543
+ let initialFilled = false;
29544
+ if (children) {
29545
+ React__namespace.Children.forEach(children, child => {
29546
+ if (!isMuiElement(child, ['Input', 'Select'])) {
29547
+ return;
29548
+ }
29549
+ if (isFilled(child.props, true)) {
29550
+ initialFilled = true;
29551
+ }
29552
+ });
29553
+ }
29554
+ return initialFilled;
29555
+ });
29556
+ const [focusedState, setFocused] = React__namespace.useState(false);
29557
+ if (disabled && focusedState) {
29558
+ setFocused(false);
29559
+ }
29560
+ const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;
29561
+ let registerEffect;
29562
+ if (process.env.NODE_ENV !== 'production') {
29563
+ // eslint-disable-next-line react-hooks/rules-of-hooks
29564
+ const registeredInput = React__namespace.useRef(false);
29565
+ registerEffect = () => {
29566
+ if (registeredInput.current) {
29567
+ console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\n'));
29568
+ }
29569
+ registeredInput.current = true;
29570
+ return () => {
29571
+ registeredInput.current = false;
29572
+ };
29573
+ };
29574
+ }
29575
+ const childContext = React__namespace.useMemo(() => {
29576
+ return {
29577
+ adornedStart,
29578
+ setAdornedStart,
29579
+ color,
29580
+ disabled,
29581
+ error,
29582
+ filled,
29583
+ focused,
29584
+ fullWidth,
29585
+ hiddenLabel,
29586
+ size,
29587
+ onBlur: () => {
29588
+ setFocused(false);
29589
+ },
29590
+ onEmpty: () => {
29591
+ setFilled(false);
29592
+ },
29593
+ onFilled: () => {
29594
+ setFilled(true);
29595
+ },
29596
+ onFocus: () => {
29597
+ setFocused(true);
29598
+ },
29599
+ registerEffect,
29600
+ required,
29601
+ variant
29602
+ };
29603
+ }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]);
29604
+ return /*#__PURE__*/jsxRuntime.exports.jsx(FormControlContext.Provider, {
29605
+ value: childContext,
29606
+ children: /*#__PURE__*/jsxRuntime.exports.jsx(FormControlRoot, _extends$1b({
29607
+ as: component,
29608
+ ownerState: ownerState,
29609
+ className: clsx(classes.root, className),
29610
+ ref: ref
29611
+ }, other, {
29612
+ children: children
29613
+ }))
29614
+ });
29615
+ });
29616
+ process.env.NODE_ENV !== "production" ? FormControl.propTypes /* remove-proptypes */ = {
29617
+ // ----------------------------- Warning --------------------------------
29618
+ // | These PropTypes are generated from the TypeScript type definitions |
29619
+ // | To update them edit the d.ts file and run "yarn proptypes" |
29620
+ // ----------------------------------------------------------------------
29621
+ /**
29622
+ * The content of the component.
29623
+ */
29624
+ children: propTypes.exports.node,
29625
+ /**
29626
+ * Override or extend the styles applied to the component.
29627
+ */
29628
+ classes: propTypes.exports.object,
29629
+ /**
29630
+ * @ignore
29631
+ */
29632
+ className: propTypes.exports.string,
29633
+ /**
29634
+ * The color of the component.
29635
+ * It supports both default and custom theme colors, which can be added as shown in the
29636
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
29637
+ * @default 'primary'
29638
+ */
29639
+ color: propTypes.exports /* @typescript-to-proptypes-ignore */.oneOfType([propTypes.exports.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), propTypes.exports.string]),
29640
+ /**
29641
+ * The component used for the root node.
29642
+ * Either a string to use a HTML element or a component.
29643
+ */
29644
+ component: propTypes.exports.elementType,
29645
+ /**
29646
+ * If `true`, the label, input and helper text should be displayed in a disabled state.
29647
+ * @default false
29648
+ */
29649
+ disabled: propTypes.exports.bool,
29650
+ /**
29651
+ * If `true`, the label is displayed in an error state.
29652
+ * @default false
29653
+ */
29654
+ error: propTypes.exports.bool,
29655
+ /**
29656
+ * If `true`, the component is displayed in focused state.
29657
+ */
29658
+ focused: propTypes.exports.bool,
29659
+ /**
29660
+ * If `true`, the component will take up the full width of its container.
29661
+ * @default false
29662
+ */
29663
+ fullWidth: propTypes.exports.bool,
29664
+ /**
29665
+ * If `true`, the label is hidden.
29666
+ * This is used to increase density for a `FilledInput`.
29667
+ * Be sure to add `aria-label` to the `input` element.
29668
+ * @default false
29669
+ */
29670
+ hiddenLabel: propTypes.exports.bool,
29671
+ /**
29672
+ * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
29673
+ * @default 'none'
29674
+ */
29675
+ margin: propTypes.exports.oneOf(['dense', 'none', 'normal']),
29676
+ /**
29677
+ * If `true`, the label will indicate that the `input` is required.
29678
+ * @default false
29679
+ */
29680
+ required: propTypes.exports.bool,
29681
+ /**
29682
+ * The size of the component.
29683
+ * @default 'medium'
29684
+ */
29685
+ size: propTypes.exports /* @typescript-to-proptypes-ignore */.oneOfType([propTypes.exports.oneOf(['medium', 'small']), propTypes.exports.string]),
29686
+ /**
29687
+ * The system prop that allows defining system overrides as well as additional CSS styles.
29688
+ */
29689
+ sx: propTypes.exports.oneOfType([propTypes.exports.arrayOf(propTypes.exports.oneOfType([propTypes.exports.func, propTypes.exports.object, propTypes.exports.bool])), propTypes.exports.func, propTypes.exports.object]),
29690
+ /**
29691
+ * The variant to use.
29692
+ * @default 'outlined'
29693
+ */
29694
+ variant: propTypes.exports.oneOf(['filled', 'outlined', 'standard'])
29695
+ } : void 0;
29696
+
29697
+ function getFormControlLabelUtilityClasses(slot) {
29698
+ return generateUtilityClass('MuiFormControlLabel', slot);
29699
+ }
29700
+ const formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error']);
29701
+
29702
+ const _excluded = ["checked", "className", "componentsProps", "control", "disabled", "disableTypography", "inputRef", "label", "labelPlacement", "name", "onChange", "slotProps", "value"];
29703
+ const useUtilityClasses = ownerState => {
29704
+ const {
29705
+ classes,
29706
+ disabled,
29707
+ labelPlacement,
29708
+ error
29709
+ } = ownerState;
29710
+ const slots = {
29711
+ root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error'],
29712
+ label: ['label', disabled && 'disabled']
29713
+ };
29714
+ return composeClasses(slots, getFormControlLabelUtilityClasses, classes);
29715
+ };
29716
+ const FormControlLabelRoot = styled('label', {
29717
+ name: 'MuiFormControlLabel',
29718
+ slot: 'Root',
29719
+ overridesResolver: (props, styles) => {
29720
+ const {
29721
+ ownerState
29722
+ } = props;
29723
+ return [{
29724
+ [`& .${formControlLabelClasses.label}`]: styles.label
29725
+ }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];
29726
+ }
29727
+ })(({
29728
+ theme,
29729
+ ownerState
29730
+ }) => _extends$1b({
29731
+ display: 'inline-flex',
29732
+ alignItems: 'center',
29733
+ cursor: 'pointer',
29734
+ // For correct alignment with the text.
29735
+ verticalAlign: 'middle',
29736
+ WebkitTapHighlightColor: 'transparent',
29737
+ marginLeft: -11,
29738
+ marginRight: 16,
29739
+ // used for row presentation of radio/checkbox
29740
+ [`&.${formControlLabelClasses.disabled}`]: {
29741
+ cursor: 'default'
29742
+ }
29743
+ }, ownerState.labelPlacement === 'start' && {
29744
+ flexDirection: 'row-reverse',
29745
+ marginLeft: 16,
29746
+ // used for row presentation of radio/checkbox
29747
+ marginRight: -11
29748
+ }, ownerState.labelPlacement === 'top' && {
29749
+ flexDirection: 'column-reverse',
29750
+ marginLeft: 16
29751
+ }, ownerState.labelPlacement === 'bottom' && {
29752
+ flexDirection: 'column',
29753
+ marginLeft: 16
29754
+ }, {
29755
+ [`& .${formControlLabelClasses.label}`]: {
29756
+ [`&.${formControlLabelClasses.disabled}`]: {
29757
+ color: (theme.vars || theme).palette.text.disabled
29758
+ }
29759
+ }
29760
+ }));
29761
+
29762
+ /**
29763
+ * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.
29764
+ * Use this component if you want to display an extra label.
29765
+ */
29766
+ const FormControlLabel = /*#__PURE__*/React__namespace.forwardRef(function FormControlLabel(inProps, ref) {
29767
+ var _slotProps$typography;
29768
+ const props = useThemeProps({
29769
+ props: inProps,
29770
+ name: 'MuiFormControlLabel'
29771
+ });
29772
+ const {
29773
+ className,
29774
+ componentsProps = {},
29775
+ control,
29776
+ disabled: disabledProp,
29777
+ disableTypography,
29778
+ label: labelProp,
29779
+ labelPlacement = 'end',
29780
+ slotProps = {}
29781
+ } = props,
29782
+ other = _objectWithoutPropertiesLoose(props, _excluded);
29783
+ const muiFormControl = useFormControl();
29784
+ let disabled = disabledProp;
29785
+ if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') {
29786
+ disabled = control.props.disabled;
29787
+ }
29788
+ if (typeof disabled === 'undefined' && muiFormControl) {
29789
+ disabled = muiFormControl.disabled;
29790
+ }
29791
+ const controlProps = {
29792
+ disabled
29793
+ };
29794
+ ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {
29795
+ if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {
29796
+ controlProps[key] = props[key];
29797
+ }
29798
+ });
29799
+ const fcs = formControlState({
29800
+ props,
29801
+ muiFormControl,
29802
+ states: ['error']
29803
+ });
29804
+ const ownerState = _extends$1b({}, props, {
29805
+ disabled,
29806
+ labelPlacement,
29807
+ error: fcs.error
29808
+ });
29809
+ const classes = useUtilityClasses(ownerState);
29810
+ const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;
29811
+ let label = labelProp;
29812
+ if (label != null && label.type !== Typography && !disableTypography) {
29813
+ label = /*#__PURE__*/jsxRuntime.exports.jsx(Typography, _extends$1b({
29814
+ component: "span"
29815
+ }, typographySlotProps, {
29816
+ className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),
29817
+ children: label
29818
+ }));
29819
+ }
29820
+ return /*#__PURE__*/jsxRuntime.exports.jsxs(FormControlLabelRoot, _extends$1b({
29821
+ className: clsx(classes.root, className),
29822
+ ownerState: ownerState,
29823
+ ref: ref
29824
+ }, other, {
29825
+ children: [/*#__PURE__*/React__namespace.cloneElement(control, controlProps), label]
29826
+ }));
29827
+ });
29828
+ process.env.NODE_ENV !== "production" ? FormControlLabel.propTypes /* remove-proptypes */ = {
29829
+ // ----------------------------- Warning --------------------------------
29830
+ // | These PropTypes are generated from the TypeScript type definitions |
29831
+ // | To update them edit the d.ts file and run "yarn proptypes" |
29832
+ // ----------------------------------------------------------------------
29833
+ /**
29834
+ * If `true`, the component appears selected.
29835
+ */
29836
+ checked: propTypes.exports.bool,
29837
+ /**
29838
+ * Override or extend the styles applied to the component.
29839
+ */
29840
+ classes: propTypes.exports.object,
29841
+ /**
29842
+ * @ignore
29843
+ */
29844
+ className: propTypes.exports.string,
29845
+ /**
29846
+ * The props used for each slot inside.
29847
+ * @default {}
29848
+ */
29849
+ componentsProps: propTypes.exports.shape({
29850
+ typography: propTypes.exports.object
29851
+ }),
29852
+ /**
29853
+ * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.
29854
+ */
29855
+ control: propTypes.exports.element.isRequired,
29856
+ /**
29857
+ * If `true`, the control is disabled.
29858
+ */
29859
+ disabled: propTypes.exports.bool,
29860
+ /**
29861
+ * If `true`, the label is rendered as it is passed without an additional typography node.
29862
+ */
29863
+ disableTypography: propTypes.exports.bool,
29864
+ /**
29865
+ * Pass a ref to the `input` element.
29866
+ */
29867
+ inputRef: refType,
29868
+ /**
29869
+ * A text or an element to be used in an enclosing label element.
29870
+ */
29871
+ label: propTypes.exports.node,
29872
+ /**
29873
+ * The position of the label.
29874
+ * @default 'end'
29875
+ */
29876
+ labelPlacement: propTypes.exports.oneOf(['bottom', 'end', 'start', 'top']),
29877
+ /**
29878
+ * @ignore
29879
+ */
29880
+ name: propTypes.exports.string,
29881
+ /**
29882
+ * Callback fired when the state is changed.
29883
+ *
29884
+ * @param {React.SyntheticEvent} event The event source of the callback.
29885
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
29886
+ */
29887
+ onChange: propTypes.exports.func,
29888
+ /**
29889
+ * The props used for each slot inside.
29890
+ * @default {}
29891
+ */
29892
+ slotProps: propTypes.exports.shape({
29893
+ typography: propTypes.exports.object
29894
+ }),
29895
+ /**
29896
+ * The system prop that allows defining system overrides as well as additional CSS styles.
29897
+ */
29898
+ sx: propTypes.exports.oneOfType([propTypes.exports.arrayOf(propTypes.exports.oneOfType([propTypes.exports.func, propTypes.exports.object, propTypes.exports.bool])), propTypes.exports.func, propTypes.exports.object]),
29899
+ /**
29900
+ * The value of the component.
29901
+ */
29902
+ value: propTypes.exports.any
29903
+ } : void 0;
29904
+
29905
+ var StyledFormControlLabel = styled(function (props) { return jsxRuntime.exports.jsx(FormControlLabel, __assign({ ref: props.forwardedRef }, props)); })(function (_a) { return ({
29906
+ boxSizing: 'border-box',
29907
+ marginBottom: '30px',
29908
+ marginLeft: 0,
29909
+ '@media(min-width: 720px)': {
29910
+ marginBottom: '45px',
29911
+ },
29912
+ '@media(min-width: 1024px)': {
29913
+ marginBottom: '15px',
29914
+ },
29915
+ '.MuiTypography-root': {
29916
+ fontFamily: [
29917
+ '"Barlow", sans-serif',
29918
+ ],
29919
+ fontWeight: 400,
29920
+ fontSize: '21px',
29921
+ color: theme.mainPallete.primary.blue,
29922
+ marginLeft: '12px',
29923
+ '@media(min-width: 720px)': {
29924
+ fontSize: '32px',
29925
+ marginLeft: '16px',
29926
+ },
29927
+ '@media(min-width: 1024px)': {
29928
+ fontSize: '14px',
29929
+ marginLeft: '9px',
29930
+ },
29931
+ },
29932
+ '&.disabled': {
29933
+ '.MuiTypography-root': {
29934
+ color: theme.mainPallete.primary.placeholderText,
29935
+ marginLeft: '12px',
29936
+ '@media(min-width: 720px)': {
29937
+ marginLeft: '16px',
29938
+ },
29939
+ '@media(min-width: 1024px)': {
29940
+ marginLeft: '9px',
29941
+ }
29942
+ }
29943
+ }
29944
+ }); });
29945
+ var StyledCheckbox = styled(Checkbox)(function () {
29946
+ return ({
29947
+ 'svg': {
29948
+ width: 20,
29949
+ height: 20,
29950
+ '@media(min-width: 720px)': {
29951
+ width: '27px',
29952
+ height: '27px',
29953
+ },
29954
+ '@media(min-width: 1024px)': {
29955
+ width: '14px',
29956
+ height: '14px',
29957
+ },
29958
+ },
29959
+ padding: '0',
29960
+ width: '20px',
29961
+ height: '20px',
29962
+ '@media(min-width: 720px)': {
29963
+ width: '27px',
29964
+ height: '27px',
29965
+ },
29966
+ '@media(min-width: 1024px)': {
29967
+ width: '14px',
29968
+ height: '14px',
29969
+ },
29970
+ '&.disabled': {
29971
+ backgroundColor: '#F5F7F9',
29972
+ border: '1px solid #A7B1D3',
29973
+ borderRadius: '3px',
29974
+ padding: '0',
29975
+ width: '20px',
29976
+ height: '20px',
29977
+ '@media(min-width: 720px)': {
29978
+ width: '27px',
29979
+ height: '27px',
29980
+ },
29981
+ '@media(min-width: 1024px)': {
29982
+ width: 14,
29983
+ height: 14,
29984
+ border: '1.5px solid #A7B1D3',
29985
+ },
29986
+ },
29987
+ '&.Mui-checked': {
29988
+ '.MuiIcon-root': {
29989
+ width: '20px',
29990
+ height: '20px',
29991
+ '@media(min-width: 720px)': {
29992
+ width: '27px',
29993
+ height: '27px',
29994
+ },
29995
+ '@media(min-width: 1024px)': {
29996
+ width: '14px',
29997
+ height: '14px',
29998
+ },
29999
+ },
30000
+ },
30001
+ '.MuiTypography-root': {
30002
+ color: theme.mainPallete.primary.placeholderText,
30003
+ marginLeft: '32px',
30004
+ '@media(min-width: 720px)': {
30005
+ marginLeft: '43px',
30006
+ },
30007
+ '@media(min-width: 1024px)': {
30008
+ marginLeft: '23px',
30009
+ }
30010
+ }
30011
+ });
30012
+ });
30013
+ var CheckboxComponent = function (_a) {
30014
+ var disabled = _a.disabled, label = _a.label, checked = _a.checked, onChange = _a.onChange, indeterminate = _a.indeterminate, forwardedRef = _a.forwardedRef, props = __rest(_a, ["disabled", "label", "checked", "onChange", "indeterminate", "forwardedRef"]);
30015
+ return (jsxRuntime.exports.jsx(FormGroup, { children: jsxRuntime.exports.jsx(StyledFormControlLabel, __assign({}, props, { forwardedRef: forwardedRef, classes: { disabled: 'disabled' }, control: jsxRuntime.exports.jsx(StyledCheckbox, { indeterminate: indeterminate, checked: checked, onChange: onChange, disabled: disabled, classes: { disabled: 'disabled' }, icon: jsxRuntime.exports.jsx(Icon, { iconName: "icon_checkbox_default", color: disabled ? 'disabled' : 'red-navy', style: { display: 'flex' } }), checkedIcon: jsxRuntime.exports.jsx(Icon, { iconName: "icon_checkbox_checked", color: disabled ? 'disabled' : 'red-navy', style: { display: 'flex' } }), indeterminateIcon: jsxRuntime.exports.jsx(Icon, { iconName: "icon_checkbox_indeterminate", color: disabled ? 'disabled' : 'red-navy', style: { display: 'flex' } }) }), label: label })) }));
30016
+ };
30017
+
28565
30018
  exports.AppTile = AppTileComponent;
28566
30019
  exports.BottomBar = BottomBarComponent;
28567
30020
  exports.BottomInfoBar = BottomInfoBar;
28568
30021
  exports.Button = CustomButtonComponent;
30022
+ exports.Checkbox = CheckboxComponent;
28569
30023
  exports.Icon = Icon;
28570
30024
  exports.IconButton = IconButtonComponent;
28571
30025
  exports.Illustration = Illustration;