@nebula.js/stardust 4.10.0 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * @nebula.js/stardust v4.10.0
2
+ * @nebula.js/stardust v4.11.0
3
3
  * Copyright (c) 2024 QlikTech International AB
4
4
  * Released under the MIT license.
5
5
  */
@@ -1989,6 +1989,26 @@
1989
1989
  "zh-TW": "不符計算條件"
1990
1990
  }
1991
1991
  };
1992
+ var SelectionToolbar_ClickToLock = {
1993
+ id: "SelectionToolbar.ClickToLock",
1994
+ locale: {
1995
+ "de-DE": "Klicken zum Sperren",
1996
+ "en-US": "Click to lock",
1997
+ "es-ES": "Haga clic para bloquearla",
1998
+ "fr-FR": "Cliquez pour verrouiller",
1999
+ "it-IT": "Fare clic per bloccare",
2000
+ "ja-JP": "クリックしてロック",
2001
+ "ko-KR": "잠그려면 클릭하십시오.",
2002
+ "nl-NL": "Klik om te vergrendelen",
2003
+ "pl-PL": "Aby zablokować, kliknij",
2004
+ "pt-BR": "Clique para travar",
2005
+ "ru-RU": "Щелкните, чтобы заблокировать",
2006
+ "sv-SE": "Klicka för att låsa",
2007
+ "tr-TR": "Kilitlemek için tıklayın",
2008
+ "zh-CN": "单击以锁定",
2009
+ "zh-TW": "按一下鎖定"
2010
+ }
2011
+ };
1992
2012
  var all = {
1993
2013
  Cancel: Cancel$1,
1994
2014
  CurrentSelections_All: CurrentSelections_All,
@@ -2041,7 +2061,8 @@
2041
2061
  Visualization_Invalid_Dimension: Visualization_Invalid_Dimension,
2042
2062
  Visualization_Invalid_Measure: Visualization_Invalid_Measure,
2043
2063
  Visualization_LayoutError: Visualization_LayoutError,
2044
- Visualization_UnfulfilledCalculationCondition: Visualization_UnfulfilledCalculationCondition
2064
+ Visualization_UnfulfilledCalculationCondition: Visualization_UnfulfilledCalculationCondition,
2065
+ SelectionToolbar_ClickToLock: SelectionToolbar_ClickToLock
2045
2066
  };
2046
2067
 
2047
2068
  function appLocaleFn(language) {
@@ -6662,7 +6683,7 @@
6662
6683
  }
6663
6684
 
6664
6685
  /**
6665
- * @mui/styled-engine v5.15.4
6686
+ * @mui/styled-engine v5.15.7
6666
6687
  *
6667
6688
  * @license MIT
6668
6689
  * This source code is licensed under the MIT license found in the
@@ -6966,9 +6987,70 @@
6966
6987
  }, refs);
6967
6988
  }
6968
6989
 
6990
+ const UNINITIALIZED = {};
6991
+
6992
+ /**
6993
+ * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional
6994
+ * initialization argument, so the initialization function doesn't need to be an inline closure.
6995
+ *
6996
+ * @usage
6997
+ * const ref = useLazyRef(sortColumns, columns)
6998
+ */
6999
+ function useLazyRef(init, initArg) {
7000
+ const ref = reactExports.useRef(UNINITIALIZED);
7001
+ if (ref.current === UNINITIALIZED) {
7002
+ ref.current = init(initArg);
7003
+ }
7004
+ return ref;
7005
+ }
7006
+
7007
+ const EMPTY = [];
7008
+
7009
+ /**
7010
+ * A React.useEffect equivalent that runs once, when the component is mounted.
7011
+ */
7012
+ function useOnMount(fn) {
7013
+ /* eslint-disable react-hooks/exhaustive-deps */
7014
+ reactExports.useEffect(fn, EMPTY);
7015
+ /* eslint-enable react-hooks/exhaustive-deps */
7016
+ }
7017
+
7018
+ class Timeout {
7019
+ constructor() {
7020
+ this.currentId = 0;
7021
+ this.clear = () => {
7022
+ if (this.currentId !== 0) {
7023
+ clearTimeout(this.currentId);
7024
+ this.currentId = 0;
7025
+ }
7026
+ };
7027
+ this.disposeEffect = () => {
7028
+ return this.clear;
7029
+ };
7030
+ }
7031
+ static create() {
7032
+ return new Timeout();
7033
+ }
7034
+ /**
7035
+ * Executes `fn` after `delay`, clearing any previously scheduled call.
7036
+ */
7037
+ start(delay, fn) {
7038
+ this.clear();
7039
+ this.currentId = setTimeout(() => {
7040
+ this.currentId = 0;
7041
+ fn();
7042
+ }, delay);
7043
+ }
7044
+ }
7045
+ function useTimeout() {
7046
+ const timeout = useLazyRef(Timeout.create).current;
7047
+ useOnMount(timeout.disposeEffect);
7048
+ return timeout;
7049
+ }
7050
+
6969
7051
  let hadKeyboardEvent = true;
6970
7052
  let hadFocusVisibleRecently = false;
6971
- let hadFocusVisibleRecentlyTimeout;
7053
+ const hadFocusVisibleRecentlyTimeout = new Timeout();
6972
7054
  const inputTypesWhitelist = {
6973
7055
  text: true,
6974
7056
  search: true,
@@ -7091,10 +7173,9 @@
7091
7173
  // If we don't see a visibility change within 100ms, it's probably a
7092
7174
  // regular focus change.
7093
7175
  hadFocusVisibleRecently = true;
7094
- window.clearTimeout(hadFocusVisibleRecentlyTimeout);
7095
- hadFocusVisibleRecentlyTimeout = window.setTimeout(() => {
7176
+ hadFocusVisibleRecentlyTimeout.start(100, () => {
7096
7177
  hadFocusVisibleRecently = false;
7097
- }, 100);
7178
+ });
7098
7179
  isFocusVisibleRef.current = false;
7099
7180
  return true;
7100
7181
  }
@@ -7208,10 +7289,7 @@
7208
7289
  };
7209
7290
  const ClassNameGenerator = createClassNameGenerator();
7210
7291
 
7211
- // If GlobalStateSlot is changed, GLOBAL_STATE_CLASSES in
7212
- // \packages\api-docs-builder\utils\parseSlotsAndClasses.ts must be updated accordingly.
7213
-
7214
- const globalStateClassesMapping = {
7292
+ const globalStateClasses = {
7215
7293
  active: 'active',
7216
7294
  checked: 'checked',
7217
7295
  completed: 'completed',
@@ -7225,19 +7303,23 @@
7225
7303
  required: 'required',
7226
7304
  selected: 'selected'
7227
7305
  };
7228
- function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {
7229
- const globalStateClass = globalStateClassesMapping[slot];
7306
+ function generateUtilityClass$1(componentName, slot, globalStatePrefix = 'Mui') {
7307
+ const globalStateClass = globalStateClasses[slot];
7230
7308
  return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;
7231
7309
  }
7232
7310
 
7233
- function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {
7311
+ function generateUtilityClasses$1(componentName, slots, globalStatePrefix = 'Mui') {
7234
7312
  const result = {};
7235
7313
  slots.forEach(slot => {
7236
- result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);
7314
+ result[slot] = generateUtilityClass$1(componentName, slot, globalStatePrefix);
7237
7315
  });
7238
7316
  return result;
7239
7317
  }
7240
7318
 
7319
+ function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
7320
+ return Math.max(min, Math.min(val, max));
7321
+ }
7322
+
7241
7323
  const _excluded$S = ["values", "unit", "step"];
7242
7324
  const sortBreakpointsValues = values => {
7243
7325
  const breakpointsAsArray = Object.keys(values).map(key => ({
@@ -8301,6 +8383,81 @@
8301
8383
  const styleFunctionSx = unstable_createStyleFunctionSx();
8302
8384
  styleFunctionSx.filterProps = ['sx'];
8303
8385
 
8386
+ /**
8387
+ * A universal utility to style components with multiple color modes. Always use it from the theme object.
8388
+ * It works with:
8389
+ * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)
8390
+ * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)
8391
+ * - Zero-runtime engine
8392
+ *
8393
+ * Tips: Use an array over object spread and place `theme.applyStyles()` last.
8394
+ *
8395
+ * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]
8396
+ *
8397
+ * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}
8398
+ *
8399
+ * @example
8400
+ * 1. using with `styled`:
8401
+ * ```jsx
8402
+ * const Component = styled('div')(({ theme }) => [
8403
+ * { background: '#e5e5e5' },
8404
+ * theme.applyStyles('dark', {
8405
+ * background: '#1c1c1c',
8406
+ * color: '#fff',
8407
+ * }),
8408
+ * ]);
8409
+ * ```
8410
+ *
8411
+ * @example
8412
+ * 2. using with `sx` prop:
8413
+ * ```jsx
8414
+ * <Box sx={theme => [
8415
+ * { background: '#e5e5e5' },
8416
+ * theme.applyStyles('dark', {
8417
+ * background: '#1c1c1c',
8418
+ * color: '#fff',
8419
+ * }),
8420
+ * ]}
8421
+ * />
8422
+ * ```
8423
+ *
8424
+ * @example
8425
+ * 3. theming a component:
8426
+ * ```jsx
8427
+ * extendTheme({
8428
+ * components: {
8429
+ * MuiButton: {
8430
+ * styleOverrides: {
8431
+ * root: ({ theme }) => [
8432
+ * { background: '#e5e5e5' },
8433
+ * theme.applyStyles('dark', {
8434
+ * background: '#1c1c1c',
8435
+ * color: '#fff',
8436
+ * }),
8437
+ * ],
8438
+ * },
8439
+ * }
8440
+ * }
8441
+ * })
8442
+ *```
8443
+ */
8444
+ function applyStyles$2(key, styles) {
8445
+ // @ts-expect-error this is 'any' type
8446
+ const theme = this;
8447
+ if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {
8448
+ // If CssVarsProvider is used as a provider,
8449
+ // returns '* :where([data-mui-color-scheme="light|dark"]) &'
8450
+ const selector = theme.getColorSchemeSelector(key).replace(/(\[[^\]]+\])/, '*:where($1)');
8451
+ return {
8452
+ [selector]: styles
8453
+ };
8454
+ }
8455
+ if (theme.palette.mode === key) {
8456
+ return styles;
8457
+ }
8458
+ return {};
8459
+ }
8460
+
8304
8461
  const _excluded$R = ["breakpoints", "palette", "spacing", "shape"];
8305
8462
  function createTheme$1(options = {}, ...args) {
8306
8463
  const {
@@ -8323,6 +8480,7 @@
8323
8480
  spacing,
8324
8481
  shape: _extends$4({}, shape$1, shapeInput)
8325
8482
  }, other);
8483
+ muiTheme.applyStyles = applyStyles$2;
8326
8484
  muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);
8327
8485
  muiTheme.unstable_sxConfig = _extends$4({}, defaultSxConfig$1, other == null ? void 0 : other.unstable_sxConfig);
8328
8486
  muiTheme.unstable_sx = function sx(props) {
@@ -8769,7 +8927,7 @@
8769
8927
  return resolveProps(theme.components[name].defaultProps, props);
8770
8928
  }
8771
8929
 
8772
- function useThemeProps$1({
8930
+ function useThemeProps$2({
8773
8931
  props,
8774
8932
  name,
8775
8933
  defaultTheme,
@@ -8787,7 +8945,6 @@
8787
8945
  return mergedProps;
8788
8946
  }
8789
8947
 
8790
- /* eslint-disable @typescript-eslint/naming-convention */
8791
8948
  /**
8792
8949
  * Returns a number whose value is limited to the given range.
8793
8950
  * @param {number} value The value to be clamped
@@ -8795,8 +8952,8 @@
8795
8952
  * @param {number} max The upper boundary of the output range
8796
8953
  * @returns {number} A number in the range [min, max]
8797
8954
  */
8798
- function clamp(value, min = 0, max = 1) {
8799
- return Math.min(Math.max(min, value), max);
8955
+ function clampWrapper(value, min = 0, max = 1) {
8956
+ return clamp(value, min, max);
8800
8957
  }
8801
8958
 
8802
8959
  /**
@@ -8959,7 +9116,7 @@
8959
9116
  */
8960
9117
  function alpha(color, value) {
8961
9118
  color = decomposeColor(color);
8962
- value = clamp(value);
9119
+ value = clampWrapper(value);
8963
9120
  if (color.type === 'rgb' || color.type === 'hsl') {
8964
9121
  color.type += 'a';
8965
9122
  }
@@ -8979,7 +9136,7 @@
8979
9136
  */
8980
9137
  function darken(color, coefficient) {
8981
9138
  color = decomposeColor(color);
8982
- coefficient = clamp(coefficient);
9139
+ coefficient = clampWrapper(coefficient);
8983
9140
  if (color.type.indexOf('hsl') !== -1) {
8984
9141
  color.values[2] *= 1 - coefficient;
8985
9142
  } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {
@@ -8998,7 +9155,7 @@
8998
9155
  */
8999
9156
  function lighten(color, coefficient) {
9000
9157
  color = decomposeColor(color);
9001
- coefficient = clamp(coefficient);
9158
+ coefficient = clampWrapper(coefficient);
9002
9159
  if (color.type.indexOf('hsl') !== -1) {
9003
9160
  color.values[2] += (100 - color.values[2]) * coefficient;
9004
9161
  } else if (color.type.indexOf('rgb') !== -1) {
@@ -9128,7 +9285,7 @@
9128
9285
  overridesResolver: (props, styles) => styles.root
9129
9286
  });
9130
9287
  function useThemePropsDefault(props) {
9131
- return useThemeProps$1({
9288
+ return useThemeProps$2({
9132
9289
  props,
9133
9290
  name: 'MuiStack',
9134
9291
  defaultTheme: defaultTheme$3
@@ -9237,7 +9394,7 @@
9237
9394
  const slots = {
9238
9395
  root: ['root']
9239
9396
  };
9240
- return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});
9397
+ return composeClasses(slots, slot => generateUtilityClass$1(componentName, slot), {});
9241
9398
  };
9242
9399
  const StackRoot = createStyledComponent(style);
9243
9400
  const Stack = /*#__PURE__*/reactExports.forwardRef(function Grid(inProps, ref) {
@@ -9973,11 +10130,11 @@
9973
10130
  return theme[THEME_ID] || theme;
9974
10131
  }
9975
10132
 
9976
- function useThemeProps({
10133
+ function useThemeProps$1({
9977
10134
  props,
9978
10135
  name
9979
10136
  }) {
9980
- return useThemeProps$1({
10137
+ return useThemeProps$2({
9981
10138
  props,
9982
10139
  name,
9983
10140
  defaultTheme: defaultTheme$2,
@@ -10819,7 +10976,7 @@
10819
10976
  });
10820
10977
  }
10821
10978
 
10822
- const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
10979
+ const touchRippleClasses = generateUtilityClasses$1('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
10823
10980
 
10824
10981
  const _excluded$F = ["center", "classes", "className"];
10825
10982
  let _$1 = t => t,
@@ -10941,7 +11098,7 @@
10941
11098
  * TODO v5: Make private
10942
11099
  */
10943
11100
  const TouchRipple = /*#__PURE__*/reactExports.forwardRef(function TouchRipple(inProps, ref) {
10944
- const props = useThemeProps({
11101
+ const props = useThemeProps$1({
10945
11102
  props: inProps,
10946
11103
  name: 'MuiTouchRipple'
10947
11104
  });
@@ -10965,18 +11122,11 @@
10965
11122
  const ignoringMouseDown = reactExports.useRef(false);
10966
11123
  // We use a timer in order to only show the ripples for touch "click" like events.
10967
11124
  // We don't want to display the ripple for touch scroll events.
10968
- const startTimer = reactExports.useRef(0);
11125
+ const startTimer = useTimeout();
10969
11126
 
10970
11127
  // This is the hook called once the previous timeout is ready.
10971
11128
  const startTimerCommit = reactExports.useRef(null);
10972
11129
  const container = reactExports.useRef(null);
10973
- reactExports.useEffect(() => {
10974
- return () => {
10975
- if (startTimer.current) {
10976
- clearTimeout(startTimer.current);
10977
- }
10978
- };
10979
- }, []);
10980
11130
  const startCommit = reactExports.useCallback(params => {
10981
11131
  const {
10982
11132
  pulsate,
@@ -11069,12 +11219,13 @@
11069
11219
  });
11070
11220
  };
11071
11221
  // Delay the execution of the ripple effect.
11072
- startTimer.current = setTimeout(() => {
11222
+ // We have to make a tradeoff with this delay value.
11223
+ startTimer.start(DELAY_RIPPLE, () => {
11073
11224
  if (startTimerCommit.current) {
11074
11225
  startTimerCommit.current();
11075
11226
  startTimerCommit.current = null;
11076
11227
  }
11077
- }, DELAY_RIPPLE); // We have to make a tradeoff with this value.
11228
+ });
11078
11229
  }
11079
11230
  } else {
11080
11231
  startCommit({
@@ -11085,21 +11236,21 @@
11085
11236
  cb
11086
11237
  });
11087
11238
  }
11088
- }, [centerProp, startCommit]);
11239
+ }, [centerProp, startCommit, startTimer]);
11089
11240
  const pulsate = reactExports.useCallback(() => {
11090
11241
  start({}, {
11091
11242
  pulsate: true
11092
11243
  });
11093
11244
  }, [start]);
11094
11245
  const stop = reactExports.useCallback((event, cb) => {
11095
- clearTimeout(startTimer.current);
11246
+ startTimer.clear();
11096
11247
 
11097
11248
  // The touch interaction occurs too quickly.
11098
11249
  // We still want to show ripple effect.
11099
11250
  if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {
11100
11251
  startTimerCommit.current();
11101
11252
  startTimerCommit.current = null;
11102
- startTimer.current = setTimeout(() => {
11253
+ startTimer.start(0, () => {
11103
11254
  stop(event, cb);
11104
11255
  });
11105
11256
  return;
@@ -11112,7 +11263,7 @@
11112
11263
  return oldRipples;
11113
11264
  });
11114
11265
  rippleCallback.current = cb;
11115
- }, []);
11266
+ }, [startTimer]);
11116
11267
  reactExports.useImperativeHandle(ref, () => ({
11117
11268
  pulsate,
11118
11269
  start,
@@ -11132,9 +11283,9 @@
11132
11283
  var TouchRipple$1 = TouchRipple;
11133
11284
 
11134
11285
  function getButtonBaseUtilityClass(slot) {
11135
- return generateUtilityClass('MuiButtonBase', slot);
11286
+ return generateUtilityClass$1('MuiButtonBase', slot);
11136
11287
  }
11137
- const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
11288
+ const buttonBaseClasses = generateUtilityClasses$1('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
11138
11289
 
11139
11290
  const _excluded$E = ["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"];
11140
11291
  const useUtilityClasses$r = ownerState => {
@@ -11203,7 +11354,7 @@
11203
11354
  * It contains a load of style reset and some focus/ripple logic.
11204
11355
  */
11205
11356
  const ButtonBase = /*#__PURE__*/reactExports.forwardRef(function ButtonBase(inProps, ref) {
11206
- const props = useThemeProps({
11357
+ const props = useThemeProps$1({
11207
11358
  props: inProps,
11208
11359
  name: 'MuiButtonBase'
11209
11360
  });
@@ -11430,9 +11581,9 @@
11430
11581
  var ButtonBase$1 = ButtonBase;
11431
11582
 
11432
11583
  function getButtonUtilityClass(slot) {
11433
- return generateUtilityClass('MuiButton', slot);
11584
+ return generateUtilityClass$1('MuiButton', slot);
11434
11585
  }
11435
- const buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
11586
+ const buttonClasses = generateUtilityClasses$1('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
11436
11587
  var buttonClasses$1 = buttonClasses;
11437
11588
 
11438
11589
  /**
@@ -11654,7 +11805,7 @@
11654
11805
  const contextProps = reactExports.useContext(ButtonGroupContext$1);
11655
11806
  const buttonGroupButtonContextPositionClassName = reactExports.useContext(ButtonGroupButtonContext$1);
11656
11807
  const resolvedProps = resolveProps(contextProps, inProps);
11657
- const props = useThemeProps({
11808
+ const props = useThemeProps$1({
11658
11809
  props: resolvedProps,
11659
11810
  name: 'MuiButton'
11660
11811
  });
@@ -12051,7 +12202,7 @@
12051
12202
  return cache[key];
12052
12203
  }
12053
12204
 
12054
- const NEBULA_VERSION_HASH = "c1b9" ;
12205
+ const NEBULA_VERSION_HASH = "339b" ;
12055
12206
  ClassNameGenerator.configure(componentName => {
12056
12207
  return "njs-".concat(NEBULA_VERSION_HASH, "-").concat(componentName.replace('Mui', ''));
12057
12208
  });
@@ -12311,7 +12462,7 @@
12311
12462
  const appRef = React.createRef();
12312
12463
  const element = document.createElement('div');
12313
12464
  element.style.display = 'none';
12314
- element.setAttribute('data-nebulajs-version', "4.10.0" );
12465
+ element.setAttribute('data-nebulajs-version', "4.11.0" );
12315
12466
  element.setAttribute('data-app-id', app.id);
12316
12467
  document.body.appendChild(element);
12317
12468
  if (context) {
@@ -12380,9 +12531,9 @@
12380
12531
  }
12381
12532
 
12382
12533
  function getSvgIconUtilityClass(slot) {
12383
- return generateUtilityClass('MuiSvgIcon', slot);
12534
+ return generateUtilityClass$1('MuiSvgIcon', slot);
12384
12535
  }
12385
- generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
12536
+ generateUtilityClasses$1('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
12386
12537
 
12387
12538
  const _excluded$C = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
12388
12539
  const useUtilityClasses$p = ownerState => {
@@ -12437,7 +12588,7 @@
12437
12588
  };
12438
12589
  });
12439
12590
  const SvgIcon$1 = /*#__PURE__*/reactExports.forwardRef(function SvgIcon(inProps, ref) {
12440
- const props = useThemeProps({
12591
+ const props = useThemeProps$1({
12441
12592
  props: inProps,
12442
12593
  name: 'MuiSvgIcon'
12443
12594
  });
@@ -12544,9 +12695,9 @@
12544
12695
  }
12545
12696
 
12546
12697
  function getPaperUtilityClass(slot) {
12547
- return generateUtilityClass('MuiPaper', slot);
12698
+ return generateUtilityClass$1('MuiPaper', slot);
12548
12699
  }
12549
- 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']);
12700
+ generateUtilityClasses$1('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']);
12550
12701
 
12551
12702
  const _excluded$B = ["className", "component", "elevation", "square", "variant"];
12552
12703
  const useUtilityClasses$o = ownerState => {
@@ -12592,7 +12743,7 @@
12592
12743
  }));
12593
12744
  });
12594
12745
  const Paper = /*#__PURE__*/reactExports.forwardRef(function Paper(inProps, ref) {
12595
- const props = useThemeProps({
12746
+ const props = useThemeProps$1({
12596
12747
  props: inProps,
12597
12748
  name: 'MuiPaper'
12598
12749
  });
@@ -12620,12 +12771,238 @@
12620
12771
  });
12621
12772
  var Paper$1 = Paper;
12622
12773
 
12774
+ function _extends() {
12775
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
12776
+ for (var i = 1; i < arguments.length; i++) {
12777
+ var source = arguments[i];
12778
+ for (var key in source) {
12779
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
12780
+ target[key] = source[key];
12781
+ }
12782
+ }
12783
+ }
12784
+ return target;
12785
+ };
12786
+ return _extends.apply(this, arguments);
12787
+ }
12788
+
12789
+ /**
12790
+ * Determines if a given element is a DOM element name (i.e. not a React component).
12791
+ */
12792
+ function isHostComponent(element) {
12793
+ return typeof element === 'string';
12794
+ }
12795
+
12796
+ /**
12797
+ * Type of the ownerState based on the type of an element it applies to.
12798
+ * This resolves to the provided OwnerState for React components and `undefined` for host components.
12799
+ * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.
12800
+ */
12801
+
12802
+ /**
12803
+ * Appends the ownerState object to the props, merging with the existing one if necessary.
12804
+ *
12805
+ * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.
12806
+ * @param otherProps Props of the element.
12807
+ * @param ownerState
12808
+ */
12809
+ function appendOwnerState(elementType, otherProps, ownerState) {
12810
+ if (elementType === undefined || isHostComponent(elementType)) {
12811
+ return otherProps;
12812
+ }
12813
+ return _extends({}, otherProps, {
12814
+ ownerState: _extends({}, otherProps.ownerState, ownerState)
12815
+ });
12816
+ }
12817
+
12818
+ const defaultContextValue = {
12819
+ disableDefaultClasses: false
12820
+ };
12821
+ const ClassNameConfiguratorContext = /*#__PURE__*/reactExports.createContext(defaultContextValue);
12822
+ /**
12823
+ * @ignore - internal hook.
12824
+ *
12825
+ * Wraps the `generateUtilityClass` function and controls how the classes are generated.
12826
+ * Currently it only affects whether the classes are applied or not.
12827
+ *
12828
+ * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.
12829
+ */
12830
+ function useClassNamesOverride(generateUtilityClass) {
12831
+ const {
12832
+ disableDefaultClasses
12833
+ } = reactExports.useContext(ClassNameConfiguratorContext);
12834
+ return slot => {
12835
+ if (disableDefaultClasses) {
12836
+ return '';
12837
+ }
12838
+ return generateUtilityClass(slot);
12839
+ };
12840
+ }
12841
+
12842
+ /**
12843
+ * Extracts event handlers from a given object.
12844
+ * A prop is considered an event handler if it is a function and its name starts with `on`.
12845
+ *
12846
+ * @param object An object to extract event handlers from.
12847
+ * @param excludeKeys An array of keys to exclude from the returned object.
12848
+ */
12849
+ function extractEventHandlers(object, excludeKeys = []) {
12850
+ if (object === undefined) {
12851
+ return {};
12852
+ }
12853
+ const result = {};
12854
+ Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {
12855
+ result[prop] = object[prop];
12856
+ });
12857
+ return result;
12858
+ }
12859
+
12860
+ /**
12861
+ * If `componentProps` is a function, calls it with the provided `ownerState`.
12862
+ * Otherwise, just returns `componentProps`.
12863
+ */
12864
+ function resolveComponentProps(componentProps, ownerState, slotState) {
12865
+ if (typeof componentProps === 'function') {
12866
+ return componentProps(ownerState, slotState);
12867
+ }
12868
+ return componentProps;
12869
+ }
12870
+
12871
+ function _objectWithoutPropertiesLoose(source, excluded) {
12872
+ if (source == null) return {};
12873
+ var target = {};
12874
+ var sourceKeys = Object.keys(source);
12875
+ var key, i;
12876
+ for (i = 0; i < sourceKeys.length; i++) {
12877
+ key = sourceKeys[i];
12878
+ if (excluded.indexOf(key) >= 0) continue;
12879
+ target[key] = source[key];
12880
+ }
12881
+ return target;
12882
+ }
12883
+
12884
+ /**
12885
+ * Removes event handlers from the given object.
12886
+ * A field is considered an event handler if it is a function with a name beginning with `on`.
12887
+ *
12888
+ * @param object Object to remove event handlers from.
12889
+ * @returns Object with event handlers removed.
12890
+ */
12891
+ function omitEventHandlers(object) {
12892
+ if (object === undefined) {
12893
+ return {};
12894
+ }
12895
+ const result = {};
12896
+ Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {
12897
+ result[prop] = object[prop];
12898
+ });
12899
+ return result;
12900
+ }
12901
+
12902
+ /**
12903
+ * Merges the slot component internal props (usually coming from a hook)
12904
+ * with the externally provided ones.
12905
+ *
12906
+ * The merge order is (the latter overrides the former):
12907
+ * 1. The internal props (specified as a getter function to work with get*Props hook result)
12908
+ * 2. Additional props (specified internally on a Base UI component)
12909
+ * 3. External props specified on the owner component. These should only be used on a root slot.
12910
+ * 4. External props specified in the `slotProps.*` prop.
12911
+ * 5. The `className` prop - combined from all the above.
12912
+ * @param parameters
12913
+ * @returns
12914
+ */
12915
+ function mergeSlotProps(parameters) {
12916
+ const {
12917
+ getSlotProps,
12918
+ additionalProps,
12919
+ externalSlotProps,
12920
+ externalForwardedProps,
12921
+ className
12922
+ } = parameters;
12923
+ if (!getSlotProps) {
12924
+ // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,
12925
+ // so we can simply merge all the props without having to worry about extracting event handlers.
12926
+ const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
12927
+ const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);
12928
+ const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);
12929
+ if (joinedClasses.length > 0) {
12930
+ props.className = joinedClasses;
12931
+ }
12932
+ if (Object.keys(mergedStyle).length > 0) {
12933
+ props.style = mergedStyle;
12934
+ }
12935
+ return {
12936
+ props,
12937
+ internalRef: undefined
12938
+ };
12939
+ }
12940
+
12941
+ // In this case, getSlotProps is responsible for calling the external event handlers.
12942
+ // We don't need to include them in the merged props because of this.
12943
+
12944
+ const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));
12945
+ const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);
12946
+ const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);
12947
+ const internalSlotProps = getSlotProps(eventHandlers);
12948
+
12949
+ // The order of classes is important here.
12950
+ // Emotion (that we use in libraries consuming Base UI) depends on this order
12951
+ // to properly override style. It requires the most important classes to be last
12952
+ // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.
12953
+ const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
12954
+ const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);
12955
+ const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);
12956
+ if (joinedClasses.length > 0) {
12957
+ props.className = joinedClasses;
12958
+ }
12959
+ if (Object.keys(mergedStyle).length > 0) {
12960
+ props.style = mergedStyle;
12961
+ }
12962
+ return {
12963
+ props,
12964
+ internalRef: internalSlotProps.ref
12965
+ };
12966
+ }
12967
+
12968
+ const _excluded$A = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
12969
+ /**
12970
+ * @ignore - do not document.
12971
+ * Builds the props to be passed into the slot of an unstyled component.
12972
+ * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.
12973
+ * If the slot component is not a host component, it also merges in the `ownerState`.
12974
+ *
12975
+ * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.
12976
+ */
12977
+ function useSlotProps(parameters) {
12978
+ var _parameters$additiona;
12979
+ const {
12980
+ elementType,
12981
+ externalSlotProps,
12982
+ ownerState,
12983
+ skipResolvingSlotProps = false
12984
+ } = parameters,
12985
+ rest = _objectWithoutPropertiesLoose(parameters, _excluded$A);
12986
+ const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);
12987
+ const {
12988
+ props: mergedProps,
12989
+ internalRef
12990
+ } = mergeSlotProps(_extends({}, rest, {
12991
+ externalSlotProps: resolvedComponentsProps
12992
+ }));
12993
+ const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);
12994
+ const props = appendOwnerState(elementType, _extends({}, mergedProps, {
12995
+ ref
12996
+ }), ownerState);
12997
+ return props;
12998
+ }
12999
+
12623
13000
  function getIconButtonUtilityClass(slot) {
12624
- return generateUtilityClass('MuiIconButton', slot);
13001
+ return generateUtilityClass$1('MuiIconButton', slot);
12625
13002
  }
12626
- const iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
13003
+ const iconButtonClasses = generateUtilityClasses$1('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
12627
13004
 
12628
- const _excluded$A = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
13005
+ const _excluded$z = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
12629
13006
  const useUtilityClasses$n = ownerState => {
12630
13007
  const {
12631
13008
  classes,
@@ -12713,7 +13090,7 @@
12713
13090
  * regarding the available icon options.
12714
13091
  */
12715
13092
  const IconButton = /*#__PURE__*/reactExports.forwardRef(function IconButton(inProps, ref) {
12716
- const props = useThemeProps({
13093
+ const props = useThemeProps$1({
12717
13094
  props: inProps,
12718
13095
  name: 'MuiIconButton'
12719
13096
  });
@@ -12726,7 +13103,7 @@
12726
13103
  disableFocusRipple = false,
12727
13104
  size = 'medium'
12728
13105
  } = props,
12729
- other = _objectWithoutPropertiesLoose$3(props, _excluded$A);
13106
+ other = _objectWithoutPropertiesLoose$3(props, _excluded$z);
12730
13107
  const ownerState = _extends$6({}, props, {
12731
13108
  edge,
12732
13109
  color,
@@ -12749,11 +13126,11 @@
12749
13126
  var IconButton$1 = IconButton;
12750
13127
 
12751
13128
  function getTypographyUtilityClass(slot) {
12752
- return generateUtilityClass('MuiTypography', slot);
13129
+ return generateUtilityClass$1('MuiTypography', slot);
12753
13130
  }
12754
- generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
13131
+ generateUtilityClasses$1('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
12755
13132
 
12756
- const _excluded$z = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
13133
+ const _excluded$y = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
12757
13134
  const useUtilityClasses$m = ownerState => {
12758
13135
  const {
12759
13136
  align,
@@ -12822,7 +13199,7 @@
12822
13199
  return colorTransformations[color] || color;
12823
13200
  };
12824
13201
  const Typography = /*#__PURE__*/reactExports.forwardRef(function Typography(inProps, ref) {
12825
- const themeProps = useThemeProps({
13202
+ const themeProps = useThemeProps$1({
12826
13203
  props: inProps,
12827
13204
  name: 'MuiTypography'
12828
13205
  });
@@ -12840,7 +13217,7 @@
12840
13217
  variant = 'body1',
12841
13218
  variantMapping = defaultVariantMapping
12842
13219
  } = props,
12843
- other = _objectWithoutPropertiesLoose$3(props, _excluded$z);
13220
+ other = _objectWithoutPropertiesLoose$3(props, _excluded$y);
12844
13221
  const ownerState = _extends$6({}, props, {
12845
13222
  align,
12846
13223
  color,
@@ -12863,232 +13240,6 @@
12863
13240
  });
12864
13241
  var Typography$1 = Typography;
12865
13242
 
12866
- function _extends() {
12867
- _extends = Object.assign ? Object.assign.bind() : function (target) {
12868
- for (var i = 1; i < arguments.length; i++) {
12869
- var source = arguments[i];
12870
- for (var key in source) {
12871
- if (Object.prototype.hasOwnProperty.call(source, key)) {
12872
- target[key] = source[key];
12873
- }
12874
- }
12875
- }
12876
- return target;
12877
- };
12878
- return _extends.apply(this, arguments);
12879
- }
12880
-
12881
- /**
12882
- * Determines if a given element is a DOM element name (i.e. not a React component).
12883
- */
12884
- function isHostComponent(element) {
12885
- return typeof element === 'string';
12886
- }
12887
-
12888
- /**
12889
- * Type of the ownerState based on the type of an element it applies to.
12890
- * This resolves to the provided OwnerState for React components and `undefined` for host components.
12891
- * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.
12892
- */
12893
-
12894
- /**
12895
- * Appends the ownerState object to the props, merging with the existing one if necessary.
12896
- *
12897
- * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.
12898
- * @param otherProps Props of the element.
12899
- * @param ownerState
12900
- */
12901
- function appendOwnerState(elementType, otherProps, ownerState) {
12902
- if (elementType === undefined || isHostComponent(elementType)) {
12903
- return otherProps;
12904
- }
12905
- return _extends({}, otherProps, {
12906
- ownerState: _extends({}, otherProps.ownerState, ownerState)
12907
- });
12908
- }
12909
-
12910
- const defaultContextValue = {
12911
- disableDefaultClasses: false
12912
- };
12913
- const ClassNameConfiguratorContext = /*#__PURE__*/reactExports.createContext(defaultContextValue);
12914
- /**
12915
- * @ignore - internal hook.
12916
- *
12917
- * Wraps the `generateUtilityClass` function and controls how the classes are generated.
12918
- * Currently it only affects whether the classes are applied or not.
12919
- *
12920
- * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.
12921
- */
12922
- function useClassNamesOverride(generateUtilityClass) {
12923
- const {
12924
- disableDefaultClasses
12925
- } = reactExports.useContext(ClassNameConfiguratorContext);
12926
- return slot => {
12927
- if (disableDefaultClasses) {
12928
- return '';
12929
- }
12930
- return generateUtilityClass(slot);
12931
- };
12932
- }
12933
-
12934
- /**
12935
- * Extracts event handlers from a given object.
12936
- * A prop is considered an event handler if it is a function and its name starts with `on`.
12937
- *
12938
- * @param object An object to extract event handlers from.
12939
- * @param excludeKeys An array of keys to exclude from the returned object.
12940
- */
12941
- function extractEventHandlers(object, excludeKeys = []) {
12942
- if (object === undefined) {
12943
- return {};
12944
- }
12945
- const result = {};
12946
- Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {
12947
- result[prop] = object[prop];
12948
- });
12949
- return result;
12950
- }
12951
-
12952
- /**
12953
- * If `componentProps` is a function, calls it with the provided `ownerState`.
12954
- * Otherwise, just returns `componentProps`.
12955
- */
12956
- function resolveComponentProps(componentProps, ownerState, slotState) {
12957
- if (typeof componentProps === 'function') {
12958
- return componentProps(ownerState, slotState);
12959
- }
12960
- return componentProps;
12961
- }
12962
-
12963
- function _objectWithoutPropertiesLoose(source, excluded) {
12964
- if (source == null) return {};
12965
- var target = {};
12966
- var sourceKeys = Object.keys(source);
12967
- var key, i;
12968
- for (i = 0; i < sourceKeys.length; i++) {
12969
- key = sourceKeys[i];
12970
- if (excluded.indexOf(key) >= 0) continue;
12971
- target[key] = source[key];
12972
- }
12973
- return target;
12974
- }
12975
-
12976
- /**
12977
- * Removes event handlers from the given object.
12978
- * A field is considered an event handler if it is a function with a name beginning with `on`.
12979
- *
12980
- * @param object Object to remove event handlers from.
12981
- * @returns Object with event handlers removed.
12982
- */
12983
- function omitEventHandlers(object) {
12984
- if (object === undefined) {
12985
- return {};
12986
- }
12987
- const result = {};
12988
- Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {
12989
- result[prop] = object[prop];
12990
- });
12991
- return result;
12992
- }
12993
-
12994
- /**
12995
- * Merges the slot component internal props (usually coming from a hook)
12996
- * with the externally provided ones.
12997
- *
12998
- * The merge order is (the latter overrides the former):
12999
- * 1. The internal props (specified as a getter function to work with get*Props hook result)
13000
- * 2. Additional props (specified internally on a Base UI component)
13001
- * 3. External props specified on the owner component. These should only be used on a root slot.
13002
- * 4. External props specified in the `slotProps.*` prop.
13003
- * 5. The `className` prop - combined from all the above.
13004
- * @param parameters
13005
- * @returns
13006
- */
13007
- function mergeSlotProps(parameters) {
13008
- const {
13009
- getSlotProps,
13010
- additionalProps,
13011
- externalSlotProps,
13012
- externalForwardedProps,
13013
- className
13014
- } = parameters;
13015
- if (!getSlotProps) {
13016
- // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,
13017
- // so we can simply merge all the props without having to worry about extracting event handlers.
13018
- const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
13019
- const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);
13020
- const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);
13021
- if (joinedClasses.length > 0) {
13022
- props.className = joinedClasses;
13023
- }
13024
- if (Object.keys(mergedStyle).length > 0) {
13025
- props.style = mergedStyle;
13026
- }
13027
- return {
13028
- props,
13029
- internalRef: undefined
13030
- };
13031
- }
13032
-
13033
- // In this case, getSlotProps is responsible for calling the external event handlers.
13034
- // We don't need to include them in the merged props because of this.
13035
-
13036
- const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));
13037
- const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);
13038
- const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);
13039
- const internalSlotProps = getSlotProps(eventHandlers);
13040
-
13041
- // The order of classes is important here.
13042
- // Emotion (that we use in libraries consuming Base UI) depends on this order
13043
- // to properly override style. It requires the most important classes to be last
13044
- // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.
13045
- const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
13046
- const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);
13047
- const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);
13048
- if (joinedClasses.length > 0) {
13049
- props.className = joinedClasses;
13050
- }
13051
- if (Object.keys(mergedStyle).length > 0) {
13052
- props.style = mergedStyle;
13053
- }
13054
- return {
13055
- props,
13056
- internalRef: internalSlotProps.ref
13057
- };
13058
- }
13059
-
13060
- const _excluded$y = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
13061
- /**
13062
- * @ignore - do not document.
13063
- * Builds the props to be passed into the slot of an unstyled component.
13064
- * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.
13065
- * If the slot component is not a host component, it also merges in the `ownerState`.
13066
- *
13067
- * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.
13068
- */
13069
- function useSlotProps(parameters) {
13070
- var _parameters$additiona;
13071
- const {
13072
- elementType,
13073
- externalSlotProps,
13074
- ownerState,
13075
- skipResolvingSlotProps = false
13076
- } = parameters,
13077
- rest = _objectWithoutPropertiesLoose(parameters, _excluded$y);
13078
- const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);
13079
- const {
13080
- props: mergedProps,
13081
- internalRef
13082
- } = mergeSlotProps(_extends({}, rest, {
13083
- externalSlotProps: resolvedComponentsProps
13084
- }));
13085
- const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);
13086
- const props = appendOwnerState(elementType, _extends({}, mergedProps, {
13087
- ref
13088
- }), ownerState);
13089
- return props;
13090
- }
13091
-
13092
13243
  /**
13093
13244
  *
13094
13245
  * Demos:
@@ -13127,6 +13278,26 @@
13127
13278
  };
13128
13279
  }
13129
13280
 
13281
+ const GLOBAL_CLASS_PREFIX = 'base';
13282
+ function buildStateClass(state) {
13283
+ return `${GLOBAL_CLASS_PREFIX}--${state}`;
13284
+ }
13285
+ function buildSlotClass(componentName, slot) {
13286
+ return `${GLOBAL_CLASS_PREFIX}-${componentName}-${slot}`;
13287
+ }
13288
+ function generateUtilityClass(componentName, slot) {
13289
+ const globalStateClass = globalStateClasses[slot];
13290
+ return globalStateClass ? buildStateClass(globalStateClass) : buildSlotClass(componentName, slot);
13291
+ }
13292
+
13293
+ function generateUtilityClasses(componentName, slots) {
13294
+ const result = {};
13295
+ slots.forEach(slot => {
13296
+ result[slot] = generateUtilityClass(componentName, slot);
13297
+ });
13298
+ return result;
13299
+ }
13300
+
13130
13301
  // Inspired by https://github.com/focus-trap/tabbable
13131
13302
  const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
13132
13303
  function getTabIndex(node) {
@@ -15244,10 +15415,11 @@
15244
15415
  });
15245
15416
  });
15246
15417
 
15418
+ const COMPONENT_NAME = 'Popper';
15247
15419
  function getPopperUtilityClass(slot) {
15248
- return generateUtilityClass('MuiPopper', slot);
15420
+ return generateUtilityClass(COMPONENT_NAME, slot);
15249
15421
  }
15250
- generateUtilityClasses('MuiPopper', ['root']);
15422
+ generateUtilityClasses(COMPONENT_NAME, ['root']);
15251
15423
 
15252
15424
  const _excluded$x = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
15253
15425
  _excluded2$3 = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
@@ -16115,7 +16287,7 @@
16115
16287
  const Popper = /*#__PURE__*/reactExports.forwardRef(function Popper(inProps, ref) {
16116
16288
  var _slots$root;
16117
16289
  const theme = useTheme$4();
16118
- const props = useThemeProps({
16290
+ const props = useThemeProps$1({
16119
16291
  props: inProps,
16120
16292
  name: 'MuiPopper'
16121
16293
  });
@@ -16218,9 +16390,9 @@
16218
16390
  }
16219
16391
 
16220
16392
  function getInputBaseUtilityClass(slot) {
16221
- return generateUtilityClass('MuiInputBase', slot);
16393
+ return generateUtilityClass$1('MuiInputBase', slot);
16222
16394
  }
16223
- const inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
16395
+ const inputBaseClasses = generateUtilityClasses$1('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
16224
16396
  var inputBaseClasses$1 = inputBaseClasses;
16225
16397
 
16226
16398
  const _excluded$u = ["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"];
@@ -16412,7 +16584,7 @@
16412
16584
  */
16413
16585
  const InputBase = /*#__PURE__*/reactExports.forwardRef(function InputBase(inProps, ref) {
16414
16586
  var _slotProps$input;
16415
- const props = useThemeProps({
16587
+ const props = useThemeProps$1({
16416
16588
  props: inProps,
16417
16589
  name: 'MuiInputBase'
16418
16590
  });
@@ -16660,9 +16832,9 @@
16660
16832
  var InputBase$1 = InputBase;
16661
16833
 
16662
16834
  function getOutlinedInputUtilityClass(slot) {
16663
- return generateUtilityClass('MuiOutlinedInput', slot);
16835
+ return generateUtilityClass$1('MuiOutlinedInput', slot);
16664
16836
  }
16665
- const outlinedInputClasses = _extends$6({}, inputBaseClasses$1, generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));
16837
+ const outlinedInputClasses = _extends$6({}, inputBaseClasses$1, generateUtilityClasses$1('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));
16666
16838
  var outlinedInputClasses$1 = outlinedInputClasses;
16667
16839
 
16668
16840
  const _excluded$t = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
@@ -16784,9 +16956,9 @@
16784
16956
  var Fade$1 = Fade;
16785
16957
 
16786
16958
  function getBackdropUtilityClass(slot) {
16787
- return generateUtilityClass('MuiBackdrop', slot);
16959
+ return generateUtilityClass$1('MuiBackdrop', slot);
16788
16960
  }
16789
- generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);
16961
+ generateUtilityClasses$1('MuiBackdrop', ['root', 'invisible']);
16790
16962
 
16791
16963
  const _excluded$s = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
16792
16964
  const useUtilityClasses$j = ownerState => {
@@ -16826,7 +16998,7 @@
16826
16998
  }));
16827
16999
  const Backdrop = /*#__PURE__*/reactExports.forwardRef(function Backdrop(inProps, ref) {
16828
17000
  var _slotProps$root, _ref, _slots$root;
16829
- const props = useThemeProps({
17001
+ const props = useThemeProps$1({
16830
17002
  props: inProps,
16831
17003
  name: 'MuiBackdrop'
16832
17004
  });
@@ -16868,10 +17040,15 @@
16868
17040
  });
16869
17041
  var Backdrop$1 = Backdrop;
16870
17042
 
17043
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
17044
+ function createUseThemeProps(name) {
17045
+ return useThemeProps$1;
17046
+ }
17047
+
16871
17048
  function getBadgeUtilityClass(slot) {
16872
- return generateUtilityClass('MuiBadge', slot);
17049
+ return generateUtilityClass$1('MuiBadge', slot);
16873
17050
  }
16874
- const badgeClasses = generateUtilityClasses('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft', 'invisible', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular',
17051
+ const badgeClasses = generateUtilityClasses$1('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft', 'invisible', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular',
16875
17052
  // TODO: v6 remove the overlap value from these class keys
16876
17053
  'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']);
16877
17054
  var badgeClasses$1 = badgeClasses;
@@ -16879,6 +17056,7 @@
16879
17056
  const _excluded$r = ["anchorOrigin", "className", "classes", "component", "components", "componentsProps", "children", "overlap", "color", "invisible", "max", "badgeContent", "slots", "slotProps", "showZero", "variant"];
16880
17057
  const RADIUS_STANDARD = 10;
16881
17058
  const RADIUS_DOT = 4;
17059
+ const useThemeProps = createUseThemeProps();
16882
17060
  const useUtilityClasses$i = ownerState => {
16883
17061
  const {
16884
17062
  color,
@@ -17175,7 +17353,7 @@
17175
17353
  });
17176
17354
  var Badge$1 = Badge;
17177
17355
 
17178
- const boxClasses = generateUtilityClasses('MuiBox', ['root']);
17356
+ const boxClasses = generateUtilityClasses$1('MuiBox', ['root']);
17179
17357
  var boxClasses$1 = boxClasses;
17180
17358
 
17181
17359
  const defaultTheme = createTheme();
@@ -17188,9 +17366,9 @@
17188
17366
  var Box$1 = Box;
17189
17367
 
17190
17368
  function getSwitchBaseUtilityClass(slot) {
17191
- return generateUtilityClass('PrivateSwitchBase', slot);
17369
+ return generateUtilityClass$1('PrivateSwitchBase', slot);
17192
17370
  }
17193
- generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
17371
+ generateUtilityClasses$1('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
17194
17372
 
17195
17373
  const _excluded$q = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
17196
17374
  const useUtilityClasses$h = ownerState => {
@@ -17356,9 +17534,9 @@
17356
17534
  }), 'IndeterminateCheckBox');
17357
17535
 
17358
17536
  function getCheckboxUtilityClass(slot) {
17359
- return generateUtilityClass('MuiCheckbox', slot);
17537
+ return generateUtilityClass$1('MuiCheckbox', slot);
17360
17538
  }
17361
- const checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);
17539
+ const checkboxClasses = generateUtilityClasses$1('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);
17362
17540
  var checkboxClasses$1 = checkboxClasses;
17363
17541
 
17364
17542
  const _excluded$p = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"];
@@ -17411,7 +17589,7 @@
17411
17589
  const defaultIndeterminateIcon = /*#__PURE__*/jsxRuntimeExports.jsx(IndeterminateCheckBoxIcon, {});
17412
17590
  const Checkbox = /*#__PURE__*/reactExports.forwardRef(function Checkbox(inProps, ref) {
17413
17591
  var _icon$props$fontSize, _indeterminateIcon$pr;
17414
- const props = useThemeProps({
17592
+ const props = useThemeProps$1({
17415
17593
  props: inProps,
17416
17594
  name: 'MuiCheckbox'
17417
17595
  });
@@ -17455,9 +17633,9 @@
17455
17633
  var Checkbox$1 = Checkbox;
17456
17634
 
17457
17635
  function getCircularProgressUtilityClass(slot) {
17458
- return generateUtilityClass('MuiCircularProgress', slot);
17636
+ return generateUtilityClass$1('MuiCircularProgress', slot);
17459
17637
  }
17460
- generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);
17638
+ generateUtilityClasses$1('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);
17461
17639
 
17462
17640
  const _excluded$o = ["className", "color", "disableShrink", "size", "style", "thickness", "value", "variant"];
17463
17641
  let _ = t => t,
@@ -17569,7 +17747,7 @@
17569
17747
  * attribute to `true` on that region until it has finished loading.
17570
17748
  */
17571
17749
  const CircularProgress = /*#__PURE__*/reactExports.forwardRef(function CircularProgress(inProps, ref) {
17572
- const props = useThemeProps({
17750
+ const props = useThemeProps$1({
17573
17751
  props: inProps,
17574
17752
  name: 'MuiCircularProgress'
17575
17753
  });
@@ -17633,9 +17811,9 @@
17633
17811
  var CircularProgress$1 = CircularProgress;
17634
17812
 
17635
17813
  function getModalUtilityClass(slot) {
17636
- return generateUtilityClass('MuiModal', slot);
17814
+ return generateUtilityClass$1('MuiModal', slot);
17637
17815
  }
17638
- generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);
17816
+ generateUtilityClasses$1('MuiModal', ['root', 'hidden', 'backdrop']);
17639
17817
 
17640
17818
  const _excluded$n = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"];
17641
17819
  const useUtilityClasses$e = ownerState => {
@@ -17697,7 +17875,7 @@
17697
17875
  */
17698
17876
  const Modal = /*#__PURE__*/reactExports.forwardRef(function Modal(inProps, ref) {
17699
17877
  var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;
17700
- const props = useThemeProps({
17878
+ const props = useThemeProps$1({
17701
17879
  name: 'MuiModal',
17702
17880
  props: inProps
17703
17881
  });
@@ -17823,9 +18001,9 @@
17823
18001
  var Modal$1 = Modal;
17824
18002
 
17825
18003
  function getDividerUtilityClass(slot) {
17826
- return generateUtilityClass('MuiDivider', slot);
18004
+ return generateUtilityClass$1('MuiDivider', slot);
17827
18005
  }
17828
- const dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);
18006
+ const dividerClasses = generateUtilityClasses$1('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);
17829
18007
  var dividerClasses$1 = dividerClasses;
17830
18008
 
17831
18009
  const _excluded$m = ["absolute", "children", "className", "component", "flexItem", "light", "orientation", "role", "textAlign", "variant"];
@@ -17954,7 +18132,7 @@
17954
18132
  paddingBottom: `calc(${theme.spacing(1)} * 1.2)`
17955
18133
  }));
17956
18134
  const Divider = /*#__PURE__*/reactExports.forwardRef(function Divider(inProps, ref) {
17957
- const props = useThemeProps({
18135
+ const props = useThemeProps$1({
17958
18136
  props: inProps,
17959
18137
  name: 'MuiDivider'
17960
18138
  });
@@ -18010,7 +18188,7 @@
18010
18188
  slot: 'Root',
18011
18189
  overridesResolver: (props, styles) => styles.root
18012
18190
  }),
18013
- useThemeProps: inProps => useThemeProps({
18191
+ useThemeProps: inProps => useThemeProps$1({
18014
18192
  props: inProps,
18015
18193
  name: 'MuiStack'
18016
18194
  })
@@ -18018,9 +18196,9 @@
18018
18196
  var Stack$1 = Stack;
18019
18197
 
18020
18198
  function getFormControlLabelUtilityClasses(slot) {
18021
- return generateUtilityClass('MuiFormControlLabel', slot);
18199
+ return generateUtilityClass$1('MuiFormControlLabel', slot);
18022
18200
  }
18023
- const formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);
18201
+ const formControlLabelClasses = generateUtilityClasses$1('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);
18024
18202
  var formControlLabelClasses$1 = formControlLabelClasses;
18025
18203
 
18026
18204
  const _excluded$l = ["checked", "className", "componentsProps", "control", "disabled", "disableTypography", "inputRef", "label", "labelPlacement", "name", "onChange", "required", "slotProps", "value"];
@@ -18102,7 +18280,7 @@
18102
18280
  */
18103
18281
  const FormControlLabel = /*#__PURE__*/reactExports.forwardRef(function FormControlLabel(inProps, ref) {
18104
18282
  var _ref, _slotProps$typography;
18105
- const props = useThemeProps({
18283
+ const props = useThemeProps$1({
18106
18284
  props: inProps,
18107
18285
  name: 'MuiFormControlLabel'
18108
18286
  });
@@ -18177,13 +18355,13 @@
18177
18355
  var GridContext$1 = GridContext;
18178
18356
 
18179
18357
  function getGridUtilityClass(slot) {
18180
- return generateUtilityClass('MuiGrid', slot);
18358
+ return generateUtilityClass$1('MuiGrid', slot);
18181
18359
  }
18182
18360
  const SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
18183
18361
  const DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];
18184
18362
  const WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];
18185
18363
  const GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
18186
- const gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',
18364
+ const gridClasses = generateUtilityClasses$1('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',
18187
18365
  // spacings
18188
18366
  ...SPACINGS.map(spacing => `spacing-xs-${spacing}`),
18189
18367
  // direction values
@@ -18532,7 +18710,7 @@
18532
18710
  return composeClasses(slots, getGridUtilityClass, classes);
18533
18711
  };
18534
18712
  const Grid = /*#__PURE__*/reactExports.forwardRef(function Grid(inProps, ref) {
18535
- const themeProps = useThemeProps({
18713
+ const themeProps = useThemeProps$1({
18536
18714
  props: inProps,
18537
18715
  name: 'MuiGrid'
18538
18716
  });
@@ -18639,7 +18817,7 @@
18639
18817
  TransitionComponent = Transition$1
18640
18818
  } = props,
18641
18819
  other = _objectWithoutPropertiesLoose$3(props, _excluded$j);
18642
- const timer = reactExports.useRef();
18820
+ const timer = useTimeout();
18643
18821
  const autoTimeout = reactExports.useRef();
18644
18822
  const theme = useTheme$1();
18645
18823
  const nodeRef = reactExports.useRef(null);
@@ -18728,18 +18906,13 @@
18728
18906
  const handleExited = normalizedTransitionCallback(onExited);
18729
18907
  const handleAddEndListener = next => {
18730
18908
  if (timeout === 'auto') {
18731
- timer.current = setTimeout(next, autoTimeout.current || 0);
18909
+ timer.start(autoTimeout.current || 0, next);
18732
18910
  }
18733
18911
  if (addEndListener) {
18734
18912
  // Old call signature before `react-transition-group` implemented `nodeRef`
18735
18913
  addEndListener(nodeRef.current, next);
18736
18914
  }
18737
18915
  };
18738
- reactExports.useEffect(() => {
18739
- return () => {
18740
- clearTimeout(timer.current);
18741
- };
18742
- }, []);
18743
18916
  return /*#__PURE__*/jsxRuntimeExports.jsx(TransitionComponent, _extends$6({
18744
18917
  appear: appear,
18745
18918
  in: inProp,
@@ -18769,9 +18942,9 @@
18769
18942
  var Grow$1 = Grow;
18770
18943
 
18771
18944
  function getIconUtilityClass(slot) {
18772
- return generateUtilityClass('MuiIcon', slot);
18945
+ return generateUtilityClass$1('MuiIcon', slot);
18773
18946
  }
18774
- generateUtilityClasses('MuiIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
18947
+ generateUtilityClasses$1('MuiIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
18775
18948
 
18776
18949
  const _excluded$i = ["baseClassName", "className", "color", "component", "fontSize"];
18777
18950
  const useUtilityClasses$a = ownerState => {
@@ -18829,7 +19002,7 @@
18829
19002
  }[ownerState.color]
18830
19003
  }));
18831
19004
  const Icon = /*#__PURE__*/reactExports.forwardRef(function Icon(inProps, ref) {
18832
- const props = useThemeProps({
19005
+ const props = useThemeProps$1({
18833
19006
  props: inProps,
18834
19007
  name: 'MuiIcon'
18835
19008
  });
@@ -18863,9 +19036,9 @@
18863
19036
  var Icon$1 = Icon;
18864
19037
 
18865
19038
  function getInputAdornmentUtilityClass(slot) {
18866
- return generateUtilityClass('MuiInputAdornment', slot);
19039
+ return generateUtilityClass$1('MuiInputAdornment', slot);
18867
19040
  }
18868
- const inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);
19041
+ const inputAdornmentClasses = generateUtilityClasses$1('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);
18869
19042
  var inputAdornmentClasses$1 = inputAdornmentClasses;
18870
19043
 
18871
19044
  var _span$1;
@@ -18921,7 +19094,7 @@
18921
19094
  pointerEvents: 'none'
18922
19095
  }));
18923
19096
  const InputAdornment = /*#__PURE__*/reactExports.forwardRef(function InputAdornment(inProps, ref) {
18924
- const props = useThemeProps({
19097
+ const props = useThemeProps$1({
18925
19098
  props: inProps,
18926
19099
  name: 'MuiInputAdornment'
18927
19100
  });
@@ -18978,9 +19151,9 @@
18978
19151
  var ListContext$1 = ListContext;
18979
19152
 
18980
19153
  function getListUtilityClass(slot) {
18981
- return generateUtilityClass('MuiList', slot);
19154
+ return generateUtilityClass$1('MuiList', slot);
18982
19155
  }
18983
- generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);
19156
+ generateUtilityClasses$1('MuiList', ['root', 'padding', 'dense', 'subheader']);
18984
19157
 
18985
19158
  const _excluded$g = ["children", "className", "component", "dense", "disablePadding", "subheader"];
18986
19159
  const useUtilityClasses$8 = ownerState => {
@@ -19018,7 +19191,7 @@
19018
19191
  paddingTop: 0
19019
19192
  }));
19020
19193
  const List = /*#__PURE__*/reactExports.forwardRef(function List(inProps, ref) {
19021
- const props = useThemeProps({
19194
+ const props = useThemeProps$1({
19022
19195
  props: inProps,
19023
19196
  name: 'MuiList'
19024
19197
  });
@@ -19055,18 +19228,18 @@
19055
19228
  var List$1 = List;
19056
19229
 
19057
19230
  function getListItemUtilityClass(slot) {
19058
- return generateUtilityClass('MuiListItem', slot);
19231
+ return generateUtilityClass$1('MuiListItem', slot);
19059
19232
  }
19060
- const listItemClasses = generateUtilityClasses('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']);
19233
+ const listItemClasses = generateUtilityClasses$1('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']);
19061
19234
  var listItemClasses$1 = listItemClasses;
19062
19235
 
19063
- const listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);
19236
+ const listItemButtonClasses = generateUtilityClasses$1('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);
19064
19237
  var listItemButtonClasses$1 = listItemButtonClasses;
19065
19238
 
19066
19239
  function getListItemSecondaryActionClassesUtilityClass(slot) {
19067
- return generateUtilityClass('MuiListItemSecondaryAction', slot);
19240
+ return generateUtilityClass$1('MuiListItemSecondaryAction', slot);
19068
19241
  }
19069
- generateUtilityClasses('MuiListItemSecondaryAction', ['root', 'disableGutters']);
19242
+ generateUtilityClasses$1('MuiListItemSecondaryAction', ['root', 'disableGutters']);
19070
19243
 
19071
19244
  const _excluded$f = ["className"];
19072
19245
  const useUtilityClasses$7 = ownerState => {
@@ -19103,7 +19276,7 @@
19103
19276
  * Must be used as the last child of ListItem to function properly.
19104
19277
  */
19105
19278
  const ListItemSecondaryAction = /*#__PURE__*/reactExports.forwardRef(function ListItemSecondaryAction(inProps, ref) {
19106
- const props = useThemeProps({
19279
+ const props = useThemeProps$1({
19107
19280
  props: inProps,
19108
19281
  name: 'MuiListItemSecondaryAction'
19109
19282
  });
@@ -19239,7 +19412,7 @@
19239
19412
  * Uses an additional container component if `ListItemSecondaryAction` is the last child.
19240
19413
  */
19241
19414
  const ListItem = /*#__PURE__*/reactExports.forwardRef(function ListItem(inProps, ref) {
19242
- const props = useThemeProps({
19415
+ const props = useThemeProps$1({
19243
19416
  props: inProps,
19244
19417
  name: 'MuiListItem'
19245
19418
  });
@@ -19361,9 +19534,9 @@
19361
19534
  var ListItem$1 = ListItem;
19362
19535
 
19363
19536
  function getListItemIconUtilityClass(slot) {
19364
- return generateUtilityClass('MuiListItemIcon', slot);
19537
+ return generateUtilityClass$1('MuiListItemIcon', slot);
19365
19538
  }
19366
- const listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);
19539
+ const listItemIconClasses = generateUtilityClasses$1('MuiListItemIcon', ['root', 'alignItemsFlexStart']);
19367
19540
  var listItemIconClasses$1 = listItemIconClasses;
19368
19541
 
19369
19542
  const _excluded$d = ["className"];
@@ -19402,7 +19575,7 @@
19402
19575
  * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.
19403
19576
  */
19404
19577
  const ListItemIcon = /*#__PURE__*/reactExports.forwardRef(function ListItemIcon(inProps, ref) {
19405
- const props = useThemeProps({
19578
+ const props = useThemeProps$1({
19406
19579
  props: inProps,
19407
19580
  name: 'MuiListItemIcon'
19408
19581
  });
@@ -19423,7 +19596,7 @@
19423
19596
  });
19424
19597
  var ListItemIcon$1 = ListItemIcon;
19425
19598
 
19426
- const listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);
19599
+ const listItemTextClasses = generateUtilityClasses$1('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);
19427
19600
  var listItemTextClasses$1 = listItemTextClasses;
19428
19601
 
19429
19602
  const _excluded$c = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
@@ -19647,9 +19820,9 @@
19647
19820
  var MenuList$1 = MenuList;
19648
19821
 
19649
19822
  function getPopoverUtilityClass(slot) {
19650
- return generateUtilityClass('MuiPopover', slot);
19823
+ return generateUtilityClass$1('MuiPopover', slot);
19651
19824
  }
19652
- generateUtilityClasses('MuiPopover', ['root', 'paper']);
19825
+ generateUtilityClasses$1('MuiPopover', ['root', 'paper']);
19653
19826
 
19654
19827
  const _excluded$b = ["onEntering"],
19655
19828
  _excluded2$1 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps", "disableScrollLock"],
@@ -19716,7 +19889,7 @@
19716
19889
  });
19717
19890
  const Popover = /*#__PURE__*/reactExports.forwardRef(function Popover(inProps, ref) {
19718
19891
  var _slotProps$paper, _slots$root, _slots$paper;
19719
- const props = useThemeProps({
19892
+ const props = useThemeProps$1({
19720
19893
  props: inProps,
19721
19894
  name: 'MuiPopover'
19722
19895
  });
@@ -19971,9 +20144,9 @@
19971
20144
  var Popover$1 = Popover;
19972
20145
 
19973
20146
  function getMenuItemUtilityClass(slot) {
19974
- return generateUtilityClass('MuiMenuItem', slot);
20147
+ return generateUtilityClass$1('MuiMenuItem', slot);
19975
20148
  }
19976
- const menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);
20149
+ const menuItemClasses = generateUtilityClasses$1('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);
19977
20150
  var menuItemClasses$1 = menuItemClasses;
19978
20151
 
19979
20152
  const _excluded$a = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"];
@@ -20083,7 +20256,7 @@
20083
20256
  }
20084
20257
  })));
20085
20258
  const MenuItem = /*#__PURE__*/reactExports.forwardRef(function MenuItem(inProps, ref) {
20086
- const props = useThemeProps({
20259
+ const props = useThemeProps$1({
20087
20260
  props: inProps,
20088
20261
  name: 'MuiMenuItem'
20089
20262
  });
@@ -20347,7 +20520,7 @@
20347
20520
  }));
20348
20521
  const OutlinedInput = /*#__PURE__*/reactExports.forwardRef(function OutlinedInput(inProps, ref) {
20349
20522
  var _ref, _slots$root, _ref2, _slots$input, _React$Fragment;
20350
- const props = useThemeProps({
20523
+ const props = useThemeProps$1({
20351
20524
  props: inProps,
20352
20525
  name: 'MuiOutlinedInput'
20353
20526
  });
@@ -20485,9 +20658,9 @@
20485
20658
  }
20486
20659
 
20487
20660
  function getRadioUtilityClass(slot) {
20488
- return generateUtilityClass('MuiRadio', slot);
20661
+ return generateUtilityClass$1('MuiRadio', slot);
20489
20662
  }
20490
- const radioClasses = generateUtilityClasses('MuiRadio', ['root', 'checked', 'disabled', 'colorPrimary', 'colorSecondary', 'sizeSmall']);
20663
+ const radioClasses = generateUtilityClasses$1('MuiRadio', ['root', 'checked', 'disabled', 'colorPrimary', 'colorSecondary', 'sizeSmall']);
20491
20664
 
20492
20665
  const _excluded$7 = ["checked", "checkedIcon", "color", "icon", "name", "onChange", "size", "className"];
20493
20666
  const useUtilityClasses$1 = ownerState => {
@@ -20547,7 +20720,7 @@
20547
20720
  const defaultIcon = /*#__PURE__*/jsxRuntimeExports.jsx(RadioButtonIcon, {});
20548
20721
  const Radio = /*#__PURE__*/reactExports.forwardRef(function Radio(inProps, ref) {
20549
20722
  var _defaultIcon$props$fo, _defaultCheckedIcon$p;
20550
- const props = useThemeProps({
20723
+ const props = useThemeProps$1({
20551
20724
  props: inProps,
20552
20725
  name: 'MuiRadio'
20553
20726
  });
@@ -20599,9 +20772,9 @@
20599
20772
  var Radio$1 = Radio;
20600
20773
 
20601
20774
  function getTooltipUtilityClass(slot) {
20602
- return generateUtilityClass('MuiTooltip', slot);
20775
+ return generateUtilityClass$1('MuiTooltip', slot);
20603
20776
  }
20604
- const tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);
20777
+ const tooltipClasses = generateUtilityClasses$1('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);
20605
20778
  var tooltipClasses$1 = tooltipClasses;
20606
20779
 
20607
20780
  const _excluded$6 = ["arrow", "children", "classes", "components", "componentsProps", "describeChild", "disableFocusListener", "disableHoverListener", "disableInteractive", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "followCursor", "id", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "open", "placement", "PopperComponent", "PopperProps", "slotProps", "slots", "title", "TransitionComponent", "TransitionProps"];
@@ -20776,7 +20949,7 @@
20776
20949
  }
20777
20950
  }));
20778
20951
  let hystersisOpen = false;
20779
- let hystersisTimer = null;
20952
+ const hystersisTimer = new Timeout();
20780
20953
  let cursorPosition = {
20781
20954
  x: 0,
20782
20955
  y: 0
@@ -20793,7 +20966,7 @@
20793
20966
  // TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.
20794
20967
  const Tooltip = /*#__PURE__*/reactExports.forwardRef(function Tooltip(inProps, ref) {
20795
20968
  var _ref, _slots$popper, _ref2, _ref3, _slots$transition, _ref4, _slots$tooltip, _ref5, _slots$arrow, _slotProps$popper, _ref6, _slotProps$popper2, _slotProps$transition, _slotProps$tooltip, _ref7, _slotProps$tooltip2, _slotProps$arrow, _ref8, _slotProps$arrow2;
20796
- const props = useThemeProps({
20969
+ const props = useThemeProps$1({
20797
20970
  props: inProps,
20798
20971
  name: 'MuiTooltip'
20799
20972
  });
@@ -20838,10 +21011,10 @@
20838
21011
  const [arrowRef, setArrowRef] = reactExports.useState(null);
20839
21012
  const ignoreNonTouchEvents = reactExports.useRef(false);
20840
21013
  const disableInteractive = disableInteractiveProp || followCursor;
20841
- const closeTimer = reactExports.useRef();
20842
- const enterTimer = reactExports.useRef();
20843
- const leaveTimer = reactExports.useRef();
20844
- const touchTimer = reactExports.useRef();
21014
+ const closeTimer = useTimeout();
21015
+ const enterTimer = useTimeout();
21016
+ const leaveTimer = useTimeout();
21017
+ const touchTimer = useTimeout();
20845
21018
  const [openState, setOpenState] = useControlled({
20846
21019
  controlled: openProp,
20847
21020
  default: false,
@@ -20851,23 +21024,16 @@
20851
21024
  let open = openState;
20852
21025
  const id = useId(idProp);
20853
21026
  const prevUserSelect = reactExports.useRef();
20854
- const stopTouchInteraction = reactExports.useCallback(() => {
21027
+ const stopTouchInteraction = useEventCallback(() => {
20855
21028
  if (prevUserSelect.current !== undefined) {
20856
21029
  document.body.style.WebkitUserSelect = prevUserSelect.current;
20857
21030
  prevUserSelect.current = undefined;
20858
21031
  }
20859
- clearTimeout(touchTimer.current);
20860
- }, []);
20861
- reactExports.useEffect(() => {
20862
- return () => {
20863
- clearTimeout(closeTimer.current);
20864
- clearTimeout(enterTimer.current);
20865
- clearTimeout(leaveTimer.current);
20866
- stopTouchInteraction();
20867
- };
20868
- }, [stopTouchInteraction]);
21032
+ touchTimer.clear();
21033
+ });
21034
+ reactExports.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);
20869
21035
  const handleOpen = event => {
20870
- clearTimeout(hystersisTimer);
21036
+ hystersisTimer.clear();
20871
21037
  hystersisOpen = true;
20872
21038
 
20873
21039
  // The mouseover event will trigger for every nested element in the tooltip.
@@ -20883,18 +21049,16 @@
20883
21049
  * @param {React.SyntheticEvent | Event} event
20884
21050
  */
20885
21051
  event => {
20886
- clearTimeout(hystersisTimer);
20887
- hystersisTimer = setTimeout(() => {
21052
+ hystersisTimer.start(800 + leaveDelay, () => {
20888
21053
  hystersisOpen = false;
20889
- }, 800 + leaveDelay);
21054
+ });
20890
21055
  setOpenState(false);
20891
21056
  if (onClose && open) {
20892
21057
  onClose(event);
20893
21058
  }
20894
- clearTimeout(closeTimer.current);
20895
- closeTimer.current = setTimeout(() => {
21059
+ closeTimer.start(theme.transitions.duration.shortest, () => {
20896
21060
  ignoreNonTouchEvents.current = false;
20897
- }, theme.transitions.duration.shortest);
21061
+ });
20898
21062
  });
20899
21063
  const handleEnter = event => {
20900
21064
  if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {
@@ -20907,22 +21071,21 @@
20907
21071
  if (childNode) {
20908
21072
  childNode.removeAttribute('title');
20909
21073
  }
20910
- clearTimeout(enterTimer.current);
20911
- clearTimeout(leaveTimer.current);
21074
+ enterTimer.clear();
21075
+ leaveTimer.clear();
20912
21076
  if (enterDelay || hystersisOpen && enterNextDelay) {
20913
- enterTimer.current = setTimeout(() => {
21077
+ enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {
20914
21078
  handleOpen(event);
20915
- }, hystersisOpen ? enterNextDelay : enterDelay);
21079
+ });
20916
21080
  } else {
20917
21081
  handleOpen(event);
20918
21082
  }
20919
21083
  };
20920
21084
  const handleLeave = event => {
20921
- clearTimeout(enterTimer.current);
20922
- clearTimeout(leaveTimer.current);
20923
- leaveTimer.current = setTimeout(() => {
21085
+ enterTimer.clear();
21086
+ leaveTimer.start(leaveDelay, () => {
20924
21087
  handleClose(event);
20925
- }, leaveDelay);
21088
+ });
20926
21089
  };
20927
21090
  const {
20928
21091
  isFocusVisibleRef,
@@ -20964,26 +21127,25 @@
20964
21127
  const handleMouseLeave = handleLeave;
20965
21128
  const handleTouchStart = event => {
20966
21129
  detectTouchStart(event);
20967
- clearTimeout(leaveTimer.current);
20968
- clearTimeout(closeTimer.current);
21130
+ leaveTimer.clear();
21131
+ closeTimer.clear();
20969
21132
  stopTouchInteraction();
20970
21133
  prevUserSelect.current = document.body.style.WebkitUserSelect;
20971
21134
  // Prevent iOS text selection on long-tap.
20972
21135
  document.body.style.WebkitUserSelect = 'none';
20973
- touchTimer.current = setTimeout(() => {
21136
+ touchTimer.start(enterTouchDelay, () => {
20974
21137
  document.body.style.WebkitUserSelect = prevUserSelect.current;
20975
21138
  handleEnter(event);
20976
- }, enterTouchDelay);
21139
+ });
20977
21140
  };
20978
21141
  const handleTouchEnd = event => {
20979
21142
  if (children.props.onTouchEnd) {
20980
21143
  children.props.onTouchEnd(event);
20981
21144
  }
20982
21145
  stopTouchInteraction();
20983
- clearTimeout(leaveTimer.current);
20984
- leaveTimer.current = setTimeout(() => {
21146
+ leaveTimer.start(leaveTouchDelay, () => {
20985
21147
  handleClose(event);
20986
- }, leaveTouchDelay);
21148
+ });
20987
21149
  };
20988
21150
  reactExports.useEffect(() => {
20989
21151
  if (!open) {
@@ -30847,16 +31009,15 @@
30847
31009
  onResize
30848
31010
  } = this.props;
30849
31011
  if (this._parentNode) {
30850
- var _style$paddingLeft, _style$paddingRight, _style$paddingTop, _style$paddingBottom;
30851
31012
  // Guard against AutoSizer component being removed from the DOM immediately after being added.
30852
31013
  // This can result in invalid style values which can result in NaN values if we don't handle them.
30853
31014
  // See issue #150 for more context.
30854
31015
 
30855
31016
  const style = window.getComputedStyle(this._parentNode) || {};
30856
- const paddingLeft = parseFloat((_style$paddingLeft = style.paddingLeft) !== null && _style$paddingLeft !== void 0 ? _style$paddingLeft : "0");
30857
- const paddingRight = parseFloat((_style$paddingRight = style.paddingRight) !== null && _style$paddingRight !== void 0 ? _style$paddingRight : "0");
30858
- const paddingTop = parseFloat((_style$paddingTop = style.paddingTop) !== null && _style$paddingTop !== void 0 ? _style$paddingTop : "0");
30859
- const paddingBottom = parseFloat((_style$paddingBottom = style.paddingBottom) !== null && _style$paddingBottom !== void 0 ? _style$paddingBottom : "0");
31017
+ const paddingLeft = parseFloat(style.paddingLeft || "0");
31018
+ const paddingRight = parseFloat(style.paddingRight || "0");
31019
+ const paddingTop = parseFloat(style.paddingTop || "0");
31020
+ const paddingBottom = parseFloat(style.paddingBottom || "0");
30860
31021
  const rect = this._parentNode.getBoundingClientRect();
30861
31022
  const scaledHeight = rect.height - paddingTop - paddingBottom;
30862
31023
  const scaledWidth = rect.width - paddingLeft - paddingRight;
@@ -35617,7 +35778,8 @@
35617
35778
  },
35618
35779
  accessibility: {
35619
35780
  setter: null
35620
- }
35781
+ },
35782
+ contraintsWarning: true
35621
35783
  };
35622
35784
  }
35623
35785
  function teardown(component) {
@@ -36437,8 +36599,11 @@
36437
36599
  */
36438
36600
  function useConstraints() {
36439
36601
  {
36440
- // eslint-disable-next-line no-console
36441
- console.warn('useContraints has been deprecated, please change to useInteractions instead. Note that interactions uses inverted values compared to contraints.');
36602
+ if (currentComponent.__hooks.contraintsWarning) {
36603
+ // eslint-disable-next-line no-console
36604
+ console.warn('useContraints has been deprecated, please change to useInteractions instead. Note that interactions uses inverted values compared to contraints.');
36605
+ currentComponent.__hooks.contraintsWarning = false;
36606
+ }
36442
36607
  }
36443
36608
  return useInternalContext('constraints');
36444
36609
  }