@redsift/table 11.0.0-muiv5-alpha.1 → 11.0.0-muiv5-alpha.3

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.
Files changed (4) hide show
  1. package/index.d.ts +127 -31
  2. package/index.js +1457 -996
  3. package/index.js.map +1 -1
  4. package/package.json +2 -2
package/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { GRID_DETAIL_PANEL_TOGGLE_COL_DEF, getGridNumericOperators as getGridNumericOperators$1, GridFilterInputValue, GridFilterInputMultipleValue, getGridStringOperators as getGridStringOperators$1, getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators, GridLinkOperator, GridToolbarContainer, GridToolbarFilterButton, GridToolbarColumnsButton, GridToolbarDensitySelector, GridToolbarExport, gridVisibleSortedRowIdsSelector, gridFilteredSortedRowEntriesSelector, gridFilteredSortedRowIdsSelector, GRID_CHECKBOX_SELECTION_COL_DEF, useGridApiRef, gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector, DataGridPro } from '@mui/x-data-grid-pro';
1
+ import { GRID_DETAIL_PANEL_TOGGLE_COL_DEF, getGridNumericOperators as getGridNumericOperators$1, GridFilterInputValue, GridFilterInputMultipleValue, getGridStringOperators as getGridStringOperators$1, getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators, GridLinkOperator, GridToolbarContainer, GridToolbarFilterButton, GridToolbarColumnsButton, GridToolbarDensitySelector, GridToolbarExport, gridVisibleSortedRowIdsSelector, gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector, gridFilteredSortedRowEntriesSelector, gridFilteredSortedRowIdsSelector, useGridApiRef, DataGridPro, GRID_CHECKBOX_SELECTION_COL_DEF } from '@mui/x-data-grid-pro';
2
2
  export { getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators } from '@mui/x-data-grid-pro';
3
3
  import * as React from 'react';
4
- import React__default, { Children, isValidElement, cloneElement, useLayoutEffect, useEffect, useRef, forwardRef, useContext, useState, useCallback, createElement, useMemo } from 'react';
5
- import { Icon, baseContainer, Theme, AppContainerContext, useTheme as useTheme$4, useId as useId$2, partitionComponents, isComponent, Flexbox, TextField as TextField$2, Button, Switch, Text, ButtonsColorPalette, IconButton as IconButton$2, Checkbox, LinkButton, ThemeProvider as ThemeProvider$4, RedsiftColorBlueN, RedsiftColorNeutralXDarkGrey, RedsiftColorNeutralWhite, Shield } from '@redsift/design-system';
4
+ import React__default, { Children, isValidElement, cloneElement, forwardRef, useLayoutEffect, useEffect, useRef, useContext, useState, useCallback, createElement, useMemo } from 'react';
5
+ import { Icon, ButtonsColorPalette, IconButton as IconButton$2, Button, Checkbox, TextField as TextField$2, baseContainer, Theme, AppContainerContext, useTheme as useTheme$4, useId as useId$2, partitionComponents, isComponent, Flexbox, Switch, Text, LinkButton, ThemeProvider as ThemeProvider$4, RedsiftColorBlueN, RedsiftColorNeutralXDarkGrey, RedsiftColorNeutralWhite, Shield } from '@redsift/design-system';
6
6
  import { mdiSync, mdiFilterVariant, mdiViewColumn, mdiChevronUp, mdiChevronDown, mdiViewHeadline, mdiViewSequential, mdiViewStream, mdiChevronRight, mdiTrayArrowDown } from '@redsift/icons';
7
7
  import emStyled from '@emotion/styled';
8
8
  import { Global, ThemeContext as ThemeContext$3, keyframes } from '@emotion/react';
@@ -3624,7 +3624,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
3624
3624
  return target;
3625
3625
  }
3626
3626
 
3627
- const _excluded$R = ["values", "unit", "step"];
3627
+ const _excluded$S = ["values", "unit", "step"];
3628
3628
  const sortBreakpointsValues = values => {
3629
3629
  const breakpointsAsArray = Object.keys(values).map(key => ({
3630
3630
  key,
@@ -3659,7 +3659,7 @@ function createBreakpoints(breakpoints) {
3659
3659
  unit = 'px',
3660
3660
  step = 5
3661
3661
  } = breakpoints,
3662
- other = _objectWithoutPropertiesLoose(breakpoints, _excluded$R);
3662
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded$S);
3663
3663
  const sortedValues = sortBreakpointsValues(values);
3664
3664
  const keys = Object.keys(sortedValues);
3665
3665
  function up(key) {
@@ -4688,7 +4688,7 @@ const styleFunctionSx = unstable_createStyleFunctionSx();
4688
4688
  styleFunctionSx.filterProps = ['sx'];
4689
4689
  var styleFunctionSx$1 = styleFunctionSx;
4690
4690
 
4691
- const _excluded$Q = ["breakpoints", "palette", "spacing", "shape"];
4691
+ const _excluded$R = ["breakpoints", "palette", "spacing", "shape"];
4692
4692
  function createTheme$1(options = {}, ...args) {
4693
4693
  const {
4694
4694
  breakpoints: breakpointsInput = {},
@@ -4696,7 +4696,7 @@ function createTheme$1(options = {}, ...args) {
4696
4696
  spacing: spacingInput,
4697
4697
  shape: shapeInput = {}
4698
4698
  } = options,
4699
- other = _objectWithoutPropertiesLoose(options, _excluded$Q);
4699
+ other = _objectWithoutPropertiesLoose(options, _excluded$R);
4700
4700
  const breakpoints = createBreakpoints(breakpointsInput);
4701
4701
  const spacing = createSpacing(spacingInput);
4702
4702
  let muiTheme = deepmerge({
@@ -4764,7 +4764,7 @@ process.env.NODE_ENV !== "production" ? GlobalStyles$1.propTypes /* remove-propt
4764
4764
  themeId: PropTypes.string
4765
4765
  } : void 0;
4766
4766
 
4767
- const _excluded$P = ["sx"];
4767
+ const _excluded$Q = ["sx"];
4768
4768
  const splitProps = props => {
4769
4769
  var _props$theme$unstable, _props$theme;
4770
4770
  const result = {
@@ -4785,7 +4785,7 @@ function extendSxProp(props) {
4785
4785
  const {
4786
4786
  sx: inSx
4787
4787
  } = props,
4788
- other = _objectWithoutPropertiesLoose(props, _excluded$P);
4788
+ other = _objectWithoutPropertiesLoose(props, _excluded$Q);
4789
4789
  const {
4790
4790
  systemProps,
4791
4791
  otherProps
@@ -4811,7 +4811,7 @@ function extendSxProp(props) {
4811
4811
 
4812
4812
  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}
4813
4813
 
4814
- const _excluded$O = ["className", "component"];
4814
+ const _excluded$P = ["className", "component"];
4815
4815
  function createBox(options = {}) {
4816
4816
  const {
4817
4817
  themeId,
@@ -4829,7 +4829,7 @@ function createBox(options = {}) {
4829
4829
  className,
4830
4830
  component = 'div'
4831
4831
  } = _extendSxProp,
4832
- other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$O);
4832
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$P);
4833
4833
  return /*#__PURE__*/jsxRuntimeExports.jsx(BoxRoot, _extends$1({
4834
4834
  as: component,
4835
4835
  ref: ref,
@@ -4840,7 +4840,7 @@ function createBox(options = {}) {
4840
4840
  return Box;
4841
4841
  }
4842
4842
 
4843
- const _excluded$N = ["variant"];
4843
+ const _excluded$O = ["variant"];
4844
4844
  function isEmpty$3(string) {
4845
4845
  return string.length === 0;
4846
4846
  }
@@ -4854,7 +4854,7 @@ function propsToClassKey(props) {
4854
4854
  const {
4855
4855
  variant
4856
4856
  } = props,
4857
- other = _objectWithoutPropertiesLoose(props, _excluded$N);
4857
+ other = _objectWithoutPropertiesLoose(props, _excluded$O);
4858
4858
  let classKey = variant || '';
4859
4859
  Object.keys(other).sort().forEach(key => {
4860
4860
  if (key === 'color') {
@@ -4866,7 +4866,7 @@ function propsToClassKey(props) {
4866
4866
  return classKey;
4867
4867
  }
4868
4868
 
4869
- const _excluded$M = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
4869
+ const _excluded$N = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
4870
4870
  function isEmpty$2(obj) {
4871
4871
  return Object.keys(obj).length === 0;
4872
4872
  }
@@ -4961,7 +4961,7 @@ function createStyled(input = {}) {
4961
4961
  skipSx: inputSkipSx,
4962
4962
  overridesResolver
4963
4963
  } = inputOptions,
4964
- options = _objectWithoutPropertiesLoose(inputOptions, _excluded$M);
4964
+ options = _objectWithoutPropertiesLoose(inputOptions, _excluded$N);
4965
4965
 
4966
4966
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
4967
4967
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver : componentSlot && componentSlot !== 'Root' || false;
@@ -5638,7 +5638,7 @@ const green = {
5638
5638
  };
5639
5639
  var green$1 = green;
5640
5640
 
5641
- const _excluded$L = ["mode", "contrastThreshold", "tonalOffset"];
5641
+ const _excluded$M = ["mode", "contrastThreshold", "tonalOffset"];
5642
5642
  const light = {
5643
5643
  // The colors used to style the text.
5644
5644
  text: {
@@ -5807,7 +5807,7 @@ function createPalette(palette) {
5807
5807
  contrastThreshold = 3,
5808
5808
  tonalOffset = 0.2
5809
5809
  } = palette,
5810
- other = _objectWithoutPropertiesLoose(palette, _excluded$L);
5810
+ other = _objectWithoutPropertiesLoose(palette, _excluded$M);
5811
5811
  const primary = palette.primary || getDefaultPrimary(mode);
5812
5812
  const secondary = palette.secondary || getDefaultSecondary(mode);
5813
5813
  const error = palette.error || getDefaultError(mode);
@@ -5931,7 +5931,7 @@ const theme2 = createTheme({ palette: {
5931
5931
  return paletteOutput;
5932
5932
  }
5933
5933
 
5934
- const _excluded$K = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
5934
+ const _excluded$L = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
5935
5935
  function round$2(value) {
5936
5936
  return Math.round(value * 1e5) / 1e5;
5937
5937
  }
@@ -5962,7 +5962,7 @@ function createTypography(palette, typography) {
5962
5962
  allVariants,
5963
5963
  pxToRem: pxToRem2
5964
5964
  } = _ref,
5965
- other = _objectWithoutPropertiesLoose(_ref, _excluded$K);
5965
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$L);
5966
5966
  if (process.env.NODE_ENV !== 'production') {
5967
5967
  if (typeof fontSize !== 'number') {
5968
5968
  console.error('MUI: `fontSize` is required to be a number.');
@@ -6029,7 +6029,7 @@ function createShadow(...px) {
6029
6029
  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)];
6030
6030
  var shadows$1 = shadows;
6031
6031
 
6032
- const _excluded$J = ["duration", "easing", "delay"];
6032
+ const _excluded$K = ["duration", "easing", "delay"];
6033
6033
  // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves
6034
6034
  // to learn the context in which each easing should be used.
6035
6035
  const easing = {
@@ -6080,7 +6080,7 @@ function createTransitions(inputTransitions) {
6080
6080
  easing: easingOption = mergedEasing.easeInOut,
6081
6081
  delay = 0
6082
6082
  } = options,
6083
- other = _objectWithoutPropertiesLoose(options, _excluded$J);
6083
+ other = _objectWithoutPropertiesLoose(options, _excluded$K);
6084
6084
  if (process.env.NODE_ENV !== 'production') {
6085
6085
  const isString = value => typeof value === 'string';
6086
6086
  // IE11 support, replace with Number.isNaN
@@ -6127,7 +6127,7 @@ const zIndex = {
6127
6127
  };
6128
6128
  var zIndex$1 = zIndex;
6129
6129
 
6130
- const _excluded$I = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
6130
+ const _excluded$J = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
6131
6131
  function createTheme(options = {}, ...args) {
6132
6132
  const {
6133
6133
  mixins: mixinsInput = {},
@@ -6135,7 +6135,7 @@ function createTheme(options = {}, ...args) {
6135
6135
  transitions: transitionsInput = {},
6136
6136
  typography: typographyInput = {}
6137
6137
  } = options,
6138
- other = _objectWithoutPropertiesLoose(options, _excluded$I);
6138
+ other = _objectWithoutPropertiesLoose(options, _excluded$J);
6139
6139
  if (options.vars) {
6140
6140
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`vars\` is a private field used for CSS variables support.
6141
6141
  Please use another name.` : formatMuiErrorMessage(18));
@@ -6226,12 +6226,12 @@ const styled = createStyled({
6226
6226
  });
6227
6227
  var styled$1 = styled;
6228
6228
 
6229
- const _excluded$H = ["theme"];
6229
+ const _excluded$I = ["theme"];
6230
6230
  function ThemeProvider$1(_ref) {
6231
6231
  let {
6232
6232
  theme: themeInput
6233
6233
  } = _ref,
6234
- props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
6234
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$I);
6235
6235
  const scopedTheme = themeInput[THEME_ID];
6236
6236
  return /*#__PURE__*/jsxRuntimeExports.jsx(ThemeProvider$2, _extends$1({}, props, {
6237
6237
  themeId: scopedTheme ? THEME_ID : undefined,
@@ -6455,7 +6455,7 @@ function mergeSlotProps(parameters) {
6455
6455
  };
6456
6456
  }
6457
6457
 
6458
- const _excluded$G = ["elementType", "externalSlotProps", "ownerState"];
6458
+ const _excluded$H = ["elementType", "externalSlotProps", "ownerState"];
6459
6459
  /**
6460
6460
  * @ignore - do not document.
6461
6461
  * Builds the props to be passed into the slot of an unstyled component.
@@ -6471,7 +6471,7 @@ function useSlotProps(parameters) {
6471
6471
  externalSlotProps,
6472
6472
  ownerState
6473
6473
  } = parameters,
6474
- rest = _objectWithoutPropertiesLoose(parameters, _excluded$G);
6474
+ rest = _objectWithoutPropertiesLoose(parameters, _excluded$H);
6475
6475
  const resolvedComponentsProps = resolveComponentProps(externalSlotProps, ownerState);
6476
6476
  const {
6477
6477
  props: mergedProps,
@@ -8687,8 +8687,8 @@ function getPopperUtilityClass(slot) {
8687
8687
  }
8688
8688
  generateUtilityClasses('MuiPopper', ['root']);
8689
8689
 
8690
- const _excluded$F = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
8691
- _excluded2$3 = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
8690
+ const _excluded$G = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
8691
+ _excluded2$2 = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
8692
8692
  function flipPlacement(placement, direction) {
8693
8693
  if (direction === 'ltr') {
8694
8694
  return placement;
@@ -8740,7 +8740,7 @@ const PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props
8740
8740
  // @ts-ignore internal logic
8741
8741
  // prevent from spreading to DOM, it can come from the parent component e.g. Select.
8742
8742
  } = props,
8743
- other = _objectWithoutPropertiesLoose(props, _excluded$F);
8743
+ other = _objectWithoutPropertiesLoose(props, _excluded$G);
8744
8744
  const tooltipRef = React.useRef(null);
8745
8745
  const ownRef = useForkRef(tooltipRef, forwardedRef);
8746
8746
  const popperRef = React.useRef(null);
@@ -8872,7 +8872,7 @@ const Popper$2 = /*#__PURE__*/React.forwardRef(function Popper(props, forwardedR
8872
8872
  slotProps = {},
8873
8873
  slots = {}
8874
8874
  } = props,
8875
- other = _objectWithoutPropertiesLoose(props, _excluded2$3);
8875
+ other = _objectWithoutPropertiesLoose(props, _excluded2$2);
8876
8876
  const [exited, setExited] = React.useState(true);
8877
8877
  const handleEnter = () => {
8878
8878
  setExited(false);
@@ -9267,7 +9267,7 @@ function getModalUtilityClass(slot) {
9267
9267
  }
9268
9268
  generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);
9269
9269
 
9270
- const _excluded$E = ["children", "closeAfterTransition", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
9270
+ const _excluded$F = ["children", "closeAfterTransition", "container", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onKeyDown", "open", "onTransitionEnter", "onTransitionExited", "slotProps", "slots"];
9271
9271
  const useUtilityClasses$o = ownerState => {
9272
9272
  const {
9273
9273
  open,
@@ -9336,7 +9336,7 @@ const Modal$2 = /*#__PURE__*/React.forwardRef(function Modal(props, forwardedRef
9336
9336
  slotProps = {},
9337
9337
  slots = {}
9338
9338
  } = props,
9339
- other = _objectWithoutPropertiesLoose(props, _excluded$E);
9339
+ other = _objectWithoutPropertiesLoose(props, _excluded$F);
9340
9340
  // TODO: `modal`` must change its type in this file to match the type of methods
9341
9341
  // provided by `ModalManager`
9342
9342
  const manager = managerProp;
@@ -9626,7 +9626,7 @@ process.env.NODE_ENV !== "production" ? Modal$2.propTypes /* remove-proptypes */
9626
9626
  } : void 0;
9627
9627
  var ModalUnstyled = Modal$2;
9628
9628
 
9629
- const _excluded$D = ["onChange", "maxRows", "minRows", "style", "value"];
9629
+ const _excluded$E = ["onChange", "maxRows", "minRows", "style", "value"];
9630
9630
  function getStyleValue(value) {
9631
9631
  return parseInt(value, 10) || 0;
9632
9632
  }
@@ -9668,7 +9668,7 @@ const TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize
9668
9668
  style,
9669
9669
  value
9670
9670
  } = props,
9671
- other = _objectWithoutPropertiesLoose(props, _excluded$D);
9671
+ other = _objectWithoutPropertiesLoose(props, _excluded$E);
9672
9672
  const {
9673
9673
  current: isControlled
9674
9674
  } = React.useRef(value != null);
@@ -9962,7 +9962,7 @@ function getInputBaseUtilityClass(slot) {
9962
9962
  const inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
9963
9963
  var inputBaseClasses$1 = inputBaseClasses;
9964
9964
 
9965
- const _excluded$C = ["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"];
9965
+ const _excluded$D = ["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"];
9966
9966
  const rootOverridesResolver = (props, styles) => {
9967
9967
  const {
9968
9968
  ownerState
@@ -10193,7 +10193,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
10193
10193
  type = 'text',
10194
10194
  value: valueProp
10195
10195
  } = props,
10196
- other = _objectWithoutPropertiesLoose(props, _excluded$C);
10196
+ other = _objectWithoutPropertiesLoose(props, _excluded$D);
10197
10197
  const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
10198
10198
  const {
10199
10199
  current: isControlled
@@ -10655,7 +10655,7 @@ function getInputUtilityClass(slot) {
10655
10655
  const inputClasses = _extends$1({}, inputBaseClasses$1, generateUtilityClasses('MuiInput', ['root', 'underline', 'input']));
10656
10656
  var inputClasses$1 = inputClasses;
10657
10657
 
10658
- const _excluded$B = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
10658
+ const _excluded$C = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
10659
10659
  const useUtilityClasses$m = ownerState => {
10660
10660
  const {
10661
10661
  classes,
@@ -10768,7 +10768,7 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {
10768
10768
  slots = {},
10769
10769
  type = 'text'
10770
10770
  } = props,
10771
- other = _objectWithoutPropertiesLoose(props, _excluded$B);
10771
+ other = _objectWithoutPropertiesLoose(props, _excluded$C);
10772
10772
  const classes = useUtilityClasses$m(props);
10773
10773
  const ownerState = {
10774
10774
  disableUnderline
@@ -10991,7 +10991,7 @@ function getFilledInputUtilityClass(slot) {
10991
10991
  const filledInputClasses = _extends$1({}, inputBaseClasses$1, generateUtilityClasses('MuiFilledInput', ['root', 'underline', 'input']));
10992
10992
  var filledInputClasses$1 = filledInputClasses;
10993
10993
 
10994
- const _excluded$A = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
10994
+ const _excluded$B = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
10995
10995
  const useUtilityClasses$l = ownerState => {
10996
10996
  const {
10997
10997
  classes,
@@ -11175,7 +11175,7 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
11175
11175
  slots = {},
11176
11176
  type = 'text'
11177
11177
  } = props,
11178
- other = _objectWithoutPropertiesLoose(props, _excluded$A);
11178
+ other = _objectWithoutPropertiesLoose(props, _excluded$B);
11179
11179
  const ownerState = _extends$1({}, props, {
11180
11180
  fullWidth,
11181
11181
  inputComponent,
@@ -11406,7 +11406,7 @@ FilledInput.muiName = 'Input';
11406
11406
  var FilledInput$1 = FilledInput;
11407
11407
 
11408
11408
  var _span$2;
11409
- const _excluded$z = ["children", "classes", "className", "label", "notched"];
11409
+ const _excluded$A = ["children", "classes", "className", "label", "notched"];
11410
11410
  const NotchedOutlineRoot$1 = styled$1('fieldset')({
11411
11411
  textAlign: 'left',
11412
11412
  position: 'absolute',
@@ -11479,7 +11479,7 @@ function NotchedOutline(props) {
11479
11479
  label,
11480
11480
  notched
11481
11481
  } = props,
11482
- other = _objectWithoutPropertiesLoose(props, _excluded$z);
11482
+ other = _objectWithoutPropertiesLoose(props, _excluded$A);
11483
11483
  const withLabel = label != null && label !== '';
11484
11484
  const ownerState = _extends$1({}, props, {
11485
11485
  notched,
@@ -11536,7 +11536,7 @@ function getOutlinedInputUtilityClass(slot) {
11536
11536
  const outlinedInputClasses = _extends$1({}, inputBaseClasses$1, generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));
11537
11537
  var outlinedInputClasses$1 = outlinedInputClasses;
11538
11538
 
11539
- const _excluded$y = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"];
11539
+ const _excluded$z = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"];
11540
11540
  const useUtilityClasses$k = ownerState => {
11541
11541
  const {
11542
11542
  classes
@@ -11655,7 +11655,7 @@ const OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inPro
11655
11655
  slots = {},
11656
11656
  type = 'text'
11657
11657
  } = props,
11658
- other = _objectWithoutPropertiesLoose(props, _excluded$y);
11658
+ other = _objectWithoutPropertiesLoose(props, _excluded$z);
11659
11659
  const classes = useUtilityClasses$k(props);
11660
11660
  const muiFormControl = useFormControl();
11661
11661
  const fcs = formControlState({
@@ -11876,7 +11876,7 @@ function getFormLabelUtilityClasses(slot) {
11876
11876
  const formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);
11877
11877
  var formLabelClasses$1 = formLabelClasses;
11878
11878
 
11879
- const _excluded$x = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
11879
+ const _excluded$y = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
11880
11880
  const useUtilityClasses$j = ownerState => {
11881
11881
  const {
11882
11882
  classes,
@@ -11941,7 +11941,7 @@ const FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref)
11941
11941
  className,
11942
11942
  component = 'label'
11943
11943
  } = props,
11944
- other = _objectWithoutPropertiesLoose(props, _excluded$x);
11944
+ other = _objectWithoutPropertiesLoose(props, _excluded$y);
11945
11945
  const muiFormControl = useFormControl();
11946
11946
  const fcs = formControlState({
11947
11947
  props,
@@ -12032,7 +12032,7 @@ function getInputLabelUtilityClasses(slot) {
12032
12032
  }
12033
12033
  generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);
12034
12034
 
12035
- const _excluded$w = ["disableAnimation", "margin", "shrink", "variant", "className"];
12035
+ const _excluded$x = ["disableAnimation", "margin", "shrink", "variant", "className"];
12036
12036
  const useUtilityClasses$i = ownerState => {
12037
12037
  const {
12038
12038
  classes,
@@ -12134,7 +12134,7 @@ const InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, re
12134
12134
  shrink: shrinkProp,
12135
12135
  className
12136
12136
  } = props,
12137
- other = _objectWithoutPropertiesLoose(props, _excluded$w);
12137
+ other = _objectWithoutPropertiesLoose(props, _excluded$x);
12138
12138
  const muiFormControl = useFormControl();
12139
12139
  let shrink = shrinkProp;
12140
12140
  if (typeof shrink === 'undefined' && muiFormControl) {
@@ -12237,7 +12237,7 @@ function getFormControlUtilityClasses(slot) {
12237
12237
  }
12238
12238
  generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);
12239
12239
 
12240
- const _excluded$v = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
12240
+ const _excluded$w = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
12241
12241
  const useUtilityClasses$h = ownerState => {
12242
12242
  const {
12243
12243
  classes,
@@ -12323,7 +12323,7 @@ const FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps,
12323
12323
  size = 'medium',
12324
12324
  variant = 'outlined'
12325
12325
  } = props,
12326
- other = _objectWithoutPropertiesLoose(props, _excluded$v);
12326
+ other = _objectWithoutPropertiesLoose(props, _excluded$w);
12327
12327
  const ownerState = _extends$1({}, props, {
12328
12328
  color,
12329
12329
  component,
@@ -12519,7 +12519,7 @@ const formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root
12519
12519
  var formHelperTextClasses$1 = formHelperTextClasses;
12520
12520
 
12521
12521
  var _span$1;
12522
- const _excluded$u = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
12522
+ const _excluded$v = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
12523
12523
  const useUtilityClasses$g = ownerState => {
12524
12524
  const {
12525
12525
  classes,
@@ -12578,7 +12578,7 @@ const FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inP
12578
12578
  className,
12579
12579
  component = 'p'
12580
12580
  } = props,
12581
- other = _objectWithoutPropertiesLoose(props, _excluded$u);
12581
+ other = _objectWithoutPropertiesLoose(props, _excluded$v);
12582
12582
  const muiFormControl = useFormControl();
12583
12583
  const fcs = formControlState({
12584
12584
  props,
@@ -12684,7 +12684,7 @@ function getListUtilityClass(slot) {
12684
12684
  }
12685
12685
  generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);
12686
12686
 
12687
- const _excluded$t = ["children", "className", "component", "dense", "disablePadding", "subheader"];
12687
+ const _excluded$u = ["children", "className", "component", "dense", "disablePadding", "subheader"];
12688
12688
  const useUtilityClasses$f = ownerState => {
12689
12689
  const {
12690
12690
  classes,
@@ -12732,7 +12732,7 @@ const List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {
12732
12732
  disablePadding = false,
12733
12733
  subheader
12734
12734
  } = props,
12735
- other = _objectWithoutPropertiesLoose(props, _excluded$t);
12735
+ other = _objectWithoutPropertiesLoose(props, _excluded$u);
12736
12736
  const context = React.useMemo(() => ({
12737
12737
  dense
12738
12738
  }), [dense]);
@@ -12799,7 +12799,7 @@ process.env.NODE_ENV !== "production" ? List.propTypes /* remove-proptypes */ =
12799
12799
  } : void 0;
12800
12800
  var List$1 = List;
12801
12801
 
12802
- const _excluded$s = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
12802
+ const _excluded$t = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
12803
12803
  function nextItem(list, item, disableListWrap) {
12804
12804
  if (list === item) {
12805
12805
  return list.firstChild;
@@ -12881,7 +12881,7 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
12881
12881
  onKeyDown,
12882
12882
  variant = 'selectedMenu'
12883
12883
  } = props,
12884
- other = _objectWithoutPropertiesLoose(props, _excluded$s);
12884
+ other = _objectWithoutPropertiesLoose(props, _excluded$t);
12885
12885
  const listRef = React.useRef(null);
12886
12886
  const textCriteriaRef = React.useRef({
12887
12887
  keys: [],
@@ -14071,7 +14071,7 @@ function getTransitionProps(props, options) {
14071
14071
  };
14072
14072
  }
14073
14073
 
14074
- const _excluded$r = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14074
+ const _excluded$s = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14075
14075
  function getScale$1(value) {
14076
14076
  return `scale(${value}, ${value ** 2})`;
14077
14077
  }
@@ -14115,7 +14115,7 @@ const Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {
14115
14115
  // eslint-disable-next-line react/prop-types
14116
14116
  TransitionComponent = Transition$1
14117
14117
  } = props,
14118
- other = _objectWithoutPropertiesLoose(props, _excluded$r);
14118
+ other = _objectWithoutPropertiesLoose(props, _excluded$s);
14119
14119
  const timer = React.useRef();
14120
14120
  const autoTimeout = React.useRef();
14121
14121
  const theme = useTheme();
@@ -14319,7 +14319,7 @@ process.env.NODE_ENV !== "production" ? Grow.propTypes /* remove-proptypes */ =
14319
14319
  Grow.muiSupportAuto = true;
14320
14320
  var Grow$1 = Grow;
14321
14321
 
14322
- const _excluded$q = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14322
+ const _excluded$r = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
14323
14323
  const styles = {
14324
14324
  entering: {
14325
14325
  opacity: 1
@@ -14356,7 +14356,7 @@ const Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {
14356
14356
  // eslint-disable-next-line react/prop-types
14357
14357
  TransitionComponent = Transition$1
14358
14358
  } = props,
14359
- other = _objectWithoutPropertiesLoose(props, _excluded$q);
14359
+ other = _objectWithoutPropertiesLoose(props, _excluded$r);
14360
14360
  const nodeRef = React.useRef(null);
14361
14361
  const handleRef = useForkRef(nodeRef, children.ref, ref);
14362
14362
  const normalizedTransitionCallback = callback => maybeIsAppearing => {
@@ -14517,7 +14517,7 @@ function getBackdropUtilityClass(slot) {
14517
14517
  }
14518
14518
  generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);
14519
14519
 
14520
- const _excluded$p = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14520
+ const _excluded$q = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
14521
14521
  const useUtilityClasses$e = ownerState => {
14522
14522
  const {
14523
14523
  classes,
@@ -14572,7 +14572,7 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
14572
14572
  TransitionComponent = Fade$1,
14573
14573
  transitionDuration
14574
14574
  } = props,
14575
- other = _objectWithoutPropertiesLoose(props, _excluded$p);
14575
+ other = _objectWithoutPropertiesLoose(props, _excluded$q);
14576
14576
  const ownerState = _extends$1({}, props, {
14577
14577
  component,
14578
14578
  invisible
@@ -14693,7 +14693,7 @@ process.env.NODE_ENV !== "production" ? Backdrop.propTypes /* remove-proptypes *
14693
14693
  } : void 0;
14694
14694
  var Backdrop$1 = Backdrop;
14695
14695
 
14696
- const _excluded$o = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "open", "slotProps", "slots", "theme"];
14696
+ const _excluded$p = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "open", "slotProps", "slots", "theme"];
14697
14697
  const ModalRoot = styled$1('div', {
14698
14698
  name: 'MuiModal',
14699
14699
  slot: 'Root',
@@ -14772,7 +14772,7 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
14772
14772
  // eslint-disable-next-line react/prop-types
14773
14773
  theme
14774
14774
  } = props,
14775
- other = _objectWithoutPropertiesLoose(props, _excluded$o);
14775
+ other = _objectWithoutPropertiesLoose(props, _excluded$p);
14776
14776
  const [exited, setExited] = React.useState(true);
14777
14777
  const commonProps = {
14778
14778
  container,
@@ -14996,7 +14996,7 @@ function getPaperUtilityClass(slot) {
14996
14996
  }
14997
14997
  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']);
14998
14998
 
14999
- const _excluded$n = ["className", "component", "elevation", "square", "variant"];
14999
+ const _excluded$o = ["className", "component", "elevation", "square", "variant"];
15000
15000
  const useUtilityClasses$d = ownerState => {
15001
15001
  const {
15002
15002
  square,
@@ -15051,7 +15051,7 @@ const Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {
15051
15051
  square = false,
15052
15052
  variant = 'elevation'
15053
15053
  } = props,
15054
- other = _objectWithoutPropertiesLoose(props, _excluded$n);
15054
+ other = _objectWithoutPropertiesLoose(props, _excluded$o);
15055
15055
  const ownerState = _extends$1({}, props, {
15056
15056
  component,
15057
15057
  elevation,
@@ -15132,8 +15132,8 @@ function getPopoverUtilityClass(slot) {
15132
15132
  }
15133
15133
  generateUtilityClasses('MuiPopover', ['root', 'paper']);
15134
15134
 
15135
- const _excluded$m = ["onEntering"],
15136
- _excluded2$2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"],
15135
+ const _excluded$n = ["onEntering"],
15136
+ _excluded2$1 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"],
15137
15137
  _excluded3 = ["slotProps"];
15138
15138
  function getOffsetTop(rect, vertical) {
15139
15139
  let offset = 0;
@@ -15229,8 +15229,8 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
15229
15229
  onEntering
15230
15230
  } = {}
15231
15231
  } = props,
15232
- TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$m),
15233
- other = _objectWithoutPropertiesLoose(props, _excluded2$2);
15232
+ TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$n),
15233
+ other = _objectWithoutPropertiesLoose(props, _excluded2$1);
15234
15234
  const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;
15235
15235
  const paperRef = React.useRef();
15236
15236
  const handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);
@@ -15635,8 +15635,8 @@ function getMenuUtilityClass(slot) {
15635
15635
  }
15636
15636
  generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);
15637
15637
 
15638
- const _excluded$l = ["onEntering"],
15639
- _excluded2$1 = ["autoFocus", "children", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant"];
15638
+ const _excluded$m = ["onEntering"],
15639
+ _excluded2 = ["autoFocus", "children", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant"];
15640
15640
  const RTL_ORIGIN = {
15641
15641
  vertical: 'top',
15642
15642
  horizontal: 'right'
@@ -15702,8 +15702,8 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
15702
15702
  } = {},
15703
15703
  variant = 'selectedMenu'
15704
15704
  } = props,
15705
- TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$l),
15706
- other = _objectWithoutPropertiesLoose(props, _excluded2$1);
15705
+ TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$m),
15706
+ other = _objectWithoutPropertiesLoose(props, _excluded2);
15707
15707
  const theme = useTheme();
15708
15708
  const isRtl = theme.direction === 'rtl';
15709
15709
  const ownerState = _extends$1({}, props, {
@@ -15892,7 +15892,7 @@ function getNativeSelectUtilityClasses(slot) {
15892
15892
  const nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);
15893
15893
  var nativeSelectClasses$1 = nativeSelectClasses;
15894
15894
 
15895
- const _excluded$k = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"];
15895
+ const _excluded$l = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"];
15896
15896
  const useUtilityClasses$a = ownerState => {
15897
15897
  const {
15898
15898
  classes,
@@ -16021,7 +16021,7 @@ const NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInp
16021
16021
  inputRef,
16022
16022
  variant = 'standard'
16023
16023
  } = props,
16024
- other = _objectWithoutPropertiesLoose(props, _excluded$k);
16024
+ other = _objectWithoutPropertiesLoose(props, _excluded$l);
16025
16025
  const ownerState = _extends$1({}, props, {
16026
16026
  disabled,
16027
16027
  variant,
@@ -16106,7 +16106,7 @@ const selectClasses = generateUtilityClasses('MuiSelect', ['select', 'multiple',
16106
16106
  var selectClasses$1 = selectClasses;
16107
16107
 
16108
16108
  var _span;
16109
- const _excluded$j = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
16109
+ const _excluded$k = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
16110
16110
  const SelectSelect = styled$1('div', {
16111
16111
  name: 'MuiSelect',
16112
16112
  slot: 'Select',
@@ -16228,7 +16228,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
16228
16228
  value: valueProp,
16229
16229
  variant = 'standard'
16230
16230
  } = props,
16231
- other = _objectWithoutPropertiesLoose(props, _excluded$j);
16231
+ other = _objectWithoutPropertiesLoose(props, _excluded$k);
16232
16232
  const [value, setValueState] = useControlled({
16233
16233
  controlled: valueProp,
16234
16234
  default: defaultValue,
@@ -16739,7 +16739,7 @@ function getSvgIconUtilityClass(slot) {
16739
16739
  }
16740
16740
  generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
16741
16741
 
16742
- const _excluded$i = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
16742
+ const _excluded$j = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
16743
16743
  const useUtilityClasses$8 = ownerState => {
16744
16744
  const {
16745
16745
  color,
@@ -16805,7 +16805,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
16805
16805
  titleAccess,
16806
16806
  viewBox = '0 0 24 24'
16807
16807
  } = props,
16808
- other = _objectWithoutPropertiesLoose(props, _excluded$i);
16808
+ other = _objectWithoutPropertiesLoose(props, _excluded$j);
16809
16809
  const ownerState = _extends$1({}, props, {
16810
16810
  color,
16811
16811
  component,
@@ -16931,7 +16931,7 @@ var ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/jsxRuntimeExports.jsx("path"
16931
16931
  d: "M7 10l5 5 5-5z"
16932
16932
  }), 'ArrowDropDown');
16933
16933
 
16934
- const _excluded$h = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"];
16934
+ const _excluded$i = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"];
16935
16935
  const useUtilityClasses$7 = ownerState => {
16936
16936
  const {
16937
16937
  classes
@@ -16975,7 +16975,7 @@ const Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {
16975
16975
  SelectDisplayProps,
16976
16976
  variant: variantProp = 'outlined'
16977
16977
  } = props,
16978
- other = _objectWithoutPropertiesLoose(props, _excluded$h);
16978
+ other = _objectWithoutPropertiesLoose(props, _excluded$i);
16979
16979
  const inputComponent = native ? NativeSelectInput$1 : SelectInput$1;
16980
16980
  const muiFormControl = useFormControl();
16981
16981
  const fcs = formControlState({
@@ -17198,7 +17198,7 @@ function getTextFieldUtilityClass(slot) {
17198
17198
  }
17199
17199
  generateUtilityClasses('MuiTextField', ['root']);
17200
17200
 
17201
- const _excluded$g = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
17201
+ const _excluded$h = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
17202
17202
  const variantComponent = {
17203
17203
  standard: Input$1,
17204
17204
  filled: FilledInput$1,
@@ -17291,7 +17291,7 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
17291
17291
  value,
17292
17292
  variant = 'outlined'
17293
17293
  } = props,
17294
- other = _objectWithoutPropertiesLoose(props, _excluded$g);
17294
+ other = _objectWithoutPropertiesLoose(props, _excluded$h);
17295
17295
  const ownerState = _extends$1({}, props, {
17296
17296
  autoFocus,
17297
17297
  color,
@@ -18084,7 +18084,7 @@ const listOperators = ['containsAnyOf', 'endsWithAnyOf', 'isAnyOf', 'isNotAnyOf'
18084
18084
  const isValueValid = (value, columnField, columns, operatorValue) => {
18085
18085
  var _column$type;
18086
18086
  // every field accepts undefined as value for default
18087
- if (value === undefined) {
18087
+ if (value === undefined || value === '') {
18088
18088
  return true;
18089
18089
  }
18090
18090
 
@@ -18128,6 +18128,8 @@ const isValueValid = (value, columnField, columns, operatorValue) => {
18128
18128
  return false;
18129
18129
  };
18130
18130
 
18131
+ /** FILTERS */
18132
+
18131
18133
  // example:
18132
18134
  // unicodeDomain[contains]=a&unicodeDomain[contains]=dsa&logicOperator=and&tab=ignored
18133
18135
  const getFilterModelFromString = (searchString, columns) => {
@@ -18140,7 +18142,7 @@ const getFilterModelFromString = (searchString, columns) => {
18140
18142
  let linkOperator = GridLinkOperator.And;
18141
18143
  const searchParams = new URLSearchParams();
18142
18144
  for (const [key, value] of new URLSearchParams(searchString)) {
18143
- if (key.startsWith('_') && !['_logicOperator', '_sortColumn', '_pinnedColumnsLeft', '_pinnedColumnsRight', '_columnVisibility'].includes(key)) {
18145
+ if (key.startsWith('_') && !['_logicOperator', '_sortColumn', '_pinnedColumnsLeft', '_pinnedColumnsRight', '_columnVisibility', '_pagination'].includes(key)) {
18144
18146
  searchParams.set(key, value);
18145
18147
  }
18146
18148
  if (key === '_logicOperator') {
@@ -18166,7 +18168,13 @@ const getFilterModelFromString = (searchString, columns) => {
18166
18168
  isInvalid = true;
18167
18169
  return;
18168
18170
  }
18169
- const operator = decodeValue(key.split('[')[1].split(']')[0]);
18171
+ const splitRight = key.split('[')[1].split(']')[0].split(',');
18172
+ const type = splitRight[1];
18173
+ if (type !== columnType) {
18174
+ isInvalid = true;
18175
+ return;
18176
+ }
18177
+ const operator = splitRight[0];
18170
18178
  // if the operator is not part of the valid operators invalidate the URL
18171
18179
  if (!isOperatorValueValid(field, operator, columns) || Array.isArray(operator)) {
18172
18180
  isInvalid = true;
@@ -18182,7 +18190,8 @@ const getFilterModelFromString = (searchString, columns) => {
18182
18190
  columnField: field,
18183
18191
  operatorValue: ['number', 'rsNumber'].includes(columnType) && Object.keys(numberOperatorDecoder).includes(operator) ? numberOperatorDecoder[operator] : operator,
18184
18192
  id,
18185
- value: listOperators.includes(operator) && decodedValue === '' ? [] : decodedValue
18193
+ value: listOperators.includes(operator) && decodedValue === '' ? [] : decodedValue,
18194
+ type
18186
18195
  });
18187
18196
  });
18188
18197
 
@@ -18207,12 +18216,13 @@ const getSearchParamsFromFilterModel = filterModel => {
18207
18216
  const {
18208
18217
  columnField,
18209
18218
  operatorValue,
18210
- value
18219
+ value,
18220
+ type
18211
18221
  } = item;
18212
18222
  if (Object.keys(numberOperatorEncoder).includes(operatorValue)) {
18213
- searchParams.set(`_${columnField}[${numberOperatorEncoder[operatorValue]}]`, encodeValue(value));
18223
+ searchParams.set(`_${columnField}[${numberOperatorEncoder[operatorValue]},${encodeValue(type)}]`, encodeValue(value));
18214
18224
  } else {
18215
- searchParams.set(`_${columnField}[${encodeValue(operatorValue)}]`, encodeValue(value));
18225
+ searchParams.set(`_${columnField}[${encodeValue(operatorValue)},${encodeValue(type)}]`, encodeValue(value));
18216
18226
  }
18217
18227
  });
18218
18228
  return searchParams;
@@ -18241,38 +18251,26 @@ const getFilterModel = (search, columns, localStorageFilters, setLocalStorageFil
18241
18251
  linkOperator: GridLinkOperator.And
18242
18252
  };
18243
18253
  };
18244
- const getSortingFromString = (notParsed, columns) => {
18245
- // If the string is empty return the default model
18246
- if (!notParsed) {
18254
+
18255
+ /** SORT */
18256
+
18257
+ const getSortingFromString = (searchString, columns) => {
18258
+ if (!searchString) {
18247
18259
  return null;
18248
18260
  }
18249
- // remove the initial ? if present
18250
- const parsed = notParsed[0] === '?' ? notParsed.slice(1) : notParsed;
18251
- for (const item of parsed.split('&')) {
18252
- const fieldURL = item.split('=')[0];
18253
- if (fieldURL !== '_sortColumn') {
18254
- continue;
18255
- }
18256
- const left = item.split(']')[0];
18257
- if (left.split('[').length < 2) {
18258
- continue;
18259
- }
18260
- const value = item.split('[')[1].split(']')[0];
18261
- if (value === '') {
18262
- return [];
18263
- }
18264
- const columnFields = columns.map(column => column.field);
18265
- const [column, order] = value.split(',');
18266
- if (columnFields.includes(column) && (order === 'asc' || order === 'desc')) {
18267
- return [{
18268
- field: column,
18269
- sort: order
18270
- }];
18271
- }
18272
- continue;
18261
+ const searchParams = new URLSearchParams(searchString);
18262
+ const value = searchParams.get('_sortColumn');
18263
+ if (value === '' || value === null || value === '[]') {
18264
+ return [];
18265
+ }
18266
+ const fields = columns.map(column => column.field);
18267
+ const [column, order] = value.slice(1, value.length - 1).split(',');
18268
+ if (fields.includes(column) && (order === 'asc' || order === 'desc')) {
18269
+ return [{
18270
+ field: column,
18271
+ sort: order
18272
+ }];
18273
18273
  }
18274
-
18275
- // No information was found about the sorting model in the URL
18276
18274
  return null;
18277
18275
  };
18278
18276
  const getSearchParamsFromSorting = sorting => {
@@ -18289,8 +18287,9 @@ const getSortModel = (search, columns, localStorageSorting, setLocalStorageSorti
18289
18287
  const sorting = getSortingFromString(search, columns);
18290
18288
  if (sorting) {
18291
18289
  const searchFromSortModel = getSearchParamsFromSorting(sorting);
18292
- if (searchFromSortModel.toString() !== localStorageSorting) {
18293
- setLocalStorageSorting(searchFromSortModel.toString());
18290
+ const searchString = urlSearchParamsToString(searchFromSortModel);
18291
+ if (searchString !== localStorageSorting) {
18292
+ setLocalStorageSorting(searchString);
18294
18293
  }
18295
18294
  return sorting;
18296
18295
  }
@@ -18300,6 +18299,76 @@ const getSortModel = (search, columns, localStorageSorting, setLocalStorageSorti
18300
18299
  }
18301
18300
  return [];
18302
18301
  };
18302
+
18303
+ /** PAGINATION */
18304
+
18305
+ const getPaginationFromString = searchString => {
18306
+ if (!searchString) {
18307
+ return {
18308
+ page: 0,
18309
+ pageSize: 25,
18310
+ direction: 'next'
18311
+ };
18312
+ }
18313
+ const searchParams = new URLSearchParams(searchString);
18314
+ const value = searchParams.get('_pagination');
18315
+ if (value === '' || value === null || value === '[]') {
18316
+ return {
18317
+ page: 0,
18318
+ pageSize: 25,
18319
+ direction: 'next'
18320
+ };
18321
+ }
18322
+ const pagination = value.slice(1, value.length - 1).split(',');
18323
+ const page = parseFloat(pagination[0]);
18324
+ const pageSize = parseFloat(pagination[1]);
18325
+ const direction = pagination[2];
18326
+ if (!Number.isNaN(page) && !Number.isNaN(pageSize) && direction && ['next', 'back'].includes(direction)) {
18327
+ return {
18328
+ page,
18329
+ pageSize,
18330
+ direction: direction
18331
+ };
18332
+ }
18333
+ return {
18334
+ page: 0,
18335
+ pageSize: 25,
18336
+ direction: 'next'
18337
+ };
18338
+ };
18339
+ const getSearchParamsFromPagination = pagination => {
18340
+ const searchParams = new URLSearchParams();
18341
+ searchParams.set('_pagination', `[${pagination.page},${pagination.pageSize},${pagination.direction}]`);
18342
+ return searchParams;
18343
+ };
18344
+
18345
+ // Rules:
18346
+ // - if we have something in the URL, use that info
18347
+ // - if we don't have that, use the localStorage and update the URL
18348
+ // - if we don't have that, return an empty PaginationModel
18349
+ const getPaginationModel = (search, localStoragePagination, setLocalStoragePagination) => {
18350
+ const pagination = getPaginationFromString(search);
18351
+ if (pagination) {
18352
+ const searchFromPaginationModel = getSearchParamsFromPagination(pagination);
18353
+ const searchString = urlSearchParamsToString(searchFromPaginationModel);
18354
+ if (searchString !== localStoragePagination) {
18355
+ setLocalStoragePagination(searchString);
18356
+ }
18357
+ return pagination;
18358
+ }
18359
+ const paginationModelFromLocalStorage = getPaginationFromString(localStoragePagination);
18360
+ if (paginationModelFromLocalStorage) {
18361
+ return paginationModelFromLocalStorage;
18362
+ }
18363
+ return {
18364
+ page: 0,
18365
+ pageSize: 25,
18366
+ direction: 'next'
18367
+ };
18368
+ };
18369
+
18370
+ /** COLUMN VISIBILITY */
18371
+
18303
18372
  const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
18304
18373
  const searchParams = new URLSearchParams();
18305
18374
  const columnFields = columns.map(column => column.field);
@@ -18489,12 +18558,14 @@ const getFinalSearch = _ref3 => {
18489
18558
  search,
18490
18559
  filterModel,
18491
18560
  sortModel,
18561
+ paginationModel,
18492
18562
  columnsVisibilityModel,
18493
18563
  pinnedColumnsModel,
18494
18564
  columns
18495
18565
  } = _ref3;
18496
18566
  const filterModelSearch = getSearchParamsFromFilterModel(filterModel);
18497
18567
  const sortModelSearch = getSearchParamsFromSorting(sortModel);
18568
+ const paginationModelSearch = getSearchParamsFromPagination(paginationModel);
18498
18569
  const columnVisibilityModelSearch = getSearchParamsFromColumnVisibility(columnsVisibilityModel, columns);
18499
18570
  const pinnedColumnsModelSearch = getSearchParamsFromPinnedColumns(pinnedColumnsModel);
18500
18571
  const tabSearch = getSearchParamsFromTab(search);
@@ -18504,7 +18575,7 @@ const getFinalSearch = _ref3 => {
18504
18575
  searchParams.set(key, value);
18505
18576
  }
18506
18577
  }
18507
- return new URLSearchParams([...searchParams, ...filterModelSearch, ...sortModelSearch, ...tabSearch, ...pinnedColumnsModelSearch, ...columnVisibilityModelSearch]);
18578
+ return new URLSearchParams([...searchParams, ...filterModelSearch, ...sortModelSearch, ...paginationModelSearch, ...tabSearch, ...pinnedColumnsModelSearch, ...columnVisibilityModelSearch]);
18508
18579
  };
18509
18580
  /** Return the state of the table given the URL and the local storage state */
18510
18581
  const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, localStorage) => {
@@ -18513,6 +18584,8 @@ const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, lo
18513
18584
  setLocalStorageFilters,
18514
18585
  localStorageSorting,
18515
18586
  setLocalStorageSorting,
18587
+ localStoragePagination,
18588
+ setLocalStoragePagination,
18516
18589
  localStorageColumnsVisibility,
18517
18590
  setLocalStorageColumnsVisibility,
18518
18591
  localStoragePinnedColumns,
@@ -18520,12 +18593,14 @@ const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, lo
18520
18593
  } = localStorage;
18521
18594
  const filterModel = getFilterModel(search, columns, localStorageFilters, setLocalStorageFilters);
18522
18595
  const sortModel = getSortModel(search, columns, localStorageSorting, setLocalStorageSorting);
18596
+ const paginationModel = getPaginationModel(search, localStoragePagination, setLocalStoragePagination);
18523
18597
  const columnVisibilityModel = getColumnsVisibility(search, columns, localStorageColumnsVisibility, setLocalStorageColumnsVisibility);
18524
18598
  const pinnedColumnsModel = getPinnedColumns(search, columns, localStoragePinnedColumns, setLocalStoragePinnedColumns);
18525
18599
  const finalSearch = getFinalSearch({
18526
18600
  search,
18527
18601
  filterModel,
18528
18602
  sortModel,
18603
+ paginationModel,
18529
18604
  columnsVisibilityModel: columnVisibilityModel,
18530
18605
  pinnedColumnsModel,
18531
18606
  columns
@@ -18537,6 +18612,7 @@ const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, lo
18537
18612
  return {
18538
18613
  filterModel,
18539
18614
  sortModel,
18615
+ paginationModel,
18540
18616
  columnVisibilityModel,
18541
18617
  pinnedColumnsModel
18542
18618
  };
@@ -18545,6 +18621,7 @@ const updateUrl = (_ref4, search, historyReplace, columns) => {
18545
18621
  let {
18546
18622
  filterModel,
18547
18623
  sortModel,
18624
+ paginationModel,
18548
18625
  columnsModel: columnsVisibilityModel,
18549
18626
  pinnedColumnsModel
18550
18627
  } = _ref4;
@@ -18552,6 +18629,7 @@ const updateUrl = (_ref4, search, historyReplace, columns) => {
18552
18629
  search,
18553
18630
  filterModel,
18554
18631
  sortModel,
18632
+ paginationModel,
18555
18633
  columnsVisibilityModel,
18556
18634
  pinnedColumnsModel,
18557
18635
  columns
@@ -18619,115 +18697,416 @@ const areFilterModelsEquivalent = (filterModel, filterModelToMatch) => {
18619
18697
  return true;
18620
18698
  };
18621
18699
 
18622
- // Store the license information in a global, so it can be shared
18623
- // when module duplication occurs. The duplication of the modules can happen
18624
- // if using multiple version of MUI X at the same time of the bundler
18625
- // decide to duplicate to improve the size of the chunks.
18626
- // eslint-disable-next-line no-underscore-dangle
18627
- ponyfillGlobal.__MUI_LICENSE_INFO__ = ponyfillGlobal.__MUI_LICENSE_INFO__ || {
18628
- key: undefined
18629
- };
18630
- class LicenseInfo {
18631
- static getLicenseInfo() {
18632
- // eslint-disable-next-line no-underscore-dangle
18633
- return ponyfillGlobal.__MUI_LICENSE_INFO__;
18634
- }
18635
- static getLicenseKey() {
18636
- return LicenseInfo.getLicenseInfo().key;
18637
- }
18638
- static setLicenseKey(key) {
18639
- const licenseInfo = LicenseInfo.getLicenseInfo();
18640
- licenseInfo.key = key;
18641
- }
18642
- }
18643
-
18644
- /**
18645
- * Component style.
18646
- */
18647
- const StyledDataGrid = styled$3.div`
18648
- ${_ref => {
18649
- let {
18650
- $height
18651
- } = _ref;
18652
- return $height ? css`
18653
- height: ${$height};
18654
- ` : '';
18655
- }}
18656
-
18657
- width: 100%;
18658
-
18659
- .MuiDataGrid-root {
18660
- font-family: var(--redsift-typography-datagrid-header-font-family);
18661
- border: none;
18700
+ const _excluded$g = ["children", "color", "onClick", "startIcon"];
18701
+ const BaseButton = /*#__PURE__*/forwardRef((props, ref) => {
18702
+ var _props$className;
18703
+ const {
18704
+ children,
18705
+ color: propsColor,
18706
+ onClick,
18707
+ startIcon
18708
+ } = props,
18709
+ forwardedProps = _objectWithoutProperties(props, _excluded$g);
18710
+ const color = Object.keys(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';
18711
+ if ((_props$className = props.className) !== null && _props$className !== void 0 && _props$className.includes('redsift-condensed')) {
18712
+ return /*#__PURE__*/React__default.createElement(IconButton$2, _extends$2({}, forwardedProps, {
18713
+ color: color,
18714
+ onClick: onClick,
18715
+ ref: ref,
18716
+ variant: "unstyled",
18717
+ isActive: props['aria-expanded'] === 'true',
18718
+ icon: typeof startIcon !== 'string' ? /*#__PURE__*/React__default.cloneElement(startIcon, {
18719
+ fontSize: 'medium'
18720
+ }) : startIcon,
18721
+ "aria-label": children,
18722
+ size: "medium"
18723
+ }));
18662
18724
  }
18725
+ return /*#__PURE__*/React__default.createElement(Button, _extends$2({}, forwardedProps, {
18726
+ color: color,
18727
+ onClick: onClick,
18728
+ ref: ref,
18729
+ variant: "unstyled",
18730
+ isActive: props['aria-expanded'] === 'true',
18731
+ leftIcon: startIcon
18732
+ }), children);
18733
+ });
18663
18734
 
18664
- .MuiDataGrid-row {
18665
- font-family: var(--redsift-typography-datagrid-cell-font-family);
18666
- font-size: var(--redsift-typography-datagrid-cell-font-size);
18667
- font-weight: var(--redsift-typography-datagrid-cell-font-weight);
18668
- }
18735
+ const _excluded$f = ["checked", "indeterminate", "disabled", "onChange"];
18736
+ const BaseCheckbox = /*#__PURE__*/forwardRef((props, ref) => {
18737
+ const {
18738
+ checked,
18739
+ indeterminate,
18740
+ disabled,
18741
+ onChange
18742
+ } = props,
18743
+ forwardedProps = _objectWithoutProperties(props, _excluded$f);
18744
+ return /*#__PURE__*/React__default.createElement(Checkbox, _extends$2({}, forwardedProps, forwardedProps.inputProps, {
18745
+ isSelected: checked && !indeterminate,
18746
+ isDisabled: disabled,
18747
+ isIndeterminate: indeterminate,
18748
+ ref: ref,
18749
+ onChange: (isChecked, value, name, event) => onChange(event)
18750
+ }));
18751
+ });
18669
18752
 
18670
- .MuiDataGrid-columnHeaderTitle {
18671
- font-family: var(--redsift-typography-datagrid-header-font-family);
18672
- font-size: var(--redsift-typography-datagrid-header-font-size);
18673
- font-weight: var(--redsift-typography-datagrid-header-font-weight);
18674
- }
18753
+ const _excluded$e = ["displayName"];
18754
+ const muiIconToDSIcon = {
18755
+ ColumnFilteredIcon: mdiFilterVariant,
18756
+ ColumnSelectorIcon: mdiViewColumn,
18757
+ ColumnSortedAscendingIcon: mdiChevronUp,
18758
+ ColumnSortedDescendingIcon: mdiChevronDown,
18759
+ DensityCompactIcon: mdiViewHeadline,
18760
+ DensityStandardIcon: mdiViewSequential,
18761
+ DensityComfortableIcon: mdiViewStream,
18762
+ DetailPanelCollapseIcon: mdiChevronDown,
18763
+ DetailPanelExpandIcon: mdiChevronRight,
18764
+ ExportIcon: mdiTrayArrowDown,
18765
+ OpenFilterButtonIcon: mdiFilterVariant
18766
+ };
18767
+ const BaseIcon = /*#__PURE__*/forwardRef((props, ref) => {
18768
+ const {
18769
+ displayName
18770
+ } = props,
18771
+ forwardedProps = _objectWithoutProperties(props, _excluded$e);
18772
+ return /*#__PURE__*/React__default.createElement(Icon, _extends$2({}, forwardedProps, forwardedProps.inputProps, {
18773
+ ref: ref,
18774
+ size: forwardedProps.fontSize,
18775
+ icon: muiIconToDSIcon[displayName]
18776
+ }));
18777
+ });
18675
18778
 
18676
- .MuiDataGrid-columnHeaders {
18677
- border-bottom-color: var(--redsift-color-primary-n);
18678
- }
18779
+ const _excluded$d = ["anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps"];
18780
+ const PopperRoot = styled$1(BasePopper$1, {
18781
+ name: 'MuiPopper',
18782
+ slot: 'Root',
18783
+ overridesResolver: (props, styles) => styles.root
18784
+ })({});
18679
18785
 
18680
- .MuiDataGrid-columnSeparator {
18681
- display: none;
18682
- }
18683
-
18684
- .MuiTablePagination-root {
18685
- .MuiTablePagination-selectLabel {
18686
- font-family: var(--redsift-typography-datagrid-header-font-family);
18687
- }
18688
- .MuiTablePagination-displayedRows {
18689
- font-family: var(--redsift-typography-datagrid-cell-font-family);
18690
- }
18786
+ /**
18787
+ *
18788
+ * Demos:
18789
+ *
18790
+ * - [Autocomplete](https://mui.com/material-ui/react-autocomplete/)
18791
+ * - [Menu](https://mui.com/material-ui/react-menu/)
18792
+ * - [Popper](https://mui.com/material-ui/react-popper/)
18793
+ *
18794
+ * API:
18795
+ *
18796
+ * - [Popper API](https://mui.com/material-ui/api/popper/)
18797
+ */
18798
+ const Popper = /*#__PURE__*/React.forwardRef(function Popper(inProps, ref) {
18799
+ var _slots$root;
18800
+ const theme = useTheme$3();
18801
+ const props = useThemeProps({
18802
+ props: inProps,
18803
+ name: 'MuiPopper'
18804
+ });
18805
+ const {
18806
+ anchorEl,
18807
+ component,
18808
+ components,
18809
+ componentsProps,
18810
+ container,
18811
+ disablePortal,
18812
+ keepMounted,
18813
+ modifiers,
18814
+ open,
18815
+ placement,
18816
+ popperOptions,
18817
+ popperRef,
18818
+ transition,
18819
+ slots,
18820
+ slotProps
18821
+ } = props,
18822
+ other = _objectWithoutPropertiesLoose(props, _excluded$d);
18823
+ const RootComponent = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components == null ? void 0 : components.Root;
18824
+ const otherProps = _extends$1({
18825
+ anchorEl,
18826
+ container,
18827
+ disablePortal,
18828
+ keepMounted,
18829
+ modifiers,
18830
+ open,
18831
+ placement,
18832
+ popperOptions,
18833
+ popperRef,
18834
+ transition
18835
+ }, other);
18836
+ return /*#__PURE__*/jsxRuntimeExports.jsx(PopperRoot, _extends$1({
18837
+ as: component,
18838
+ direction: theme == null ? void 0 : theme.direction,
18839
+ slots: {
18840
+ root: RootComponent
18841
+ },
18842
+ slotProps: slotProps != null ? slotProps : componentsProps
18843
+ }, otherProps, {
18844
+ ref: ref
18845
+ }));
18846
+ });
18847
+ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */ = {
18848
+ // ----------------------------- Warning --------------------------------
18849
+ // | These PropTypes are generated from the TypeScript type definitions |
18850
+ // | To update them edit TypeScript types and run "yarn proptypes" |
18851
+ // ----------------------------------------------------------------------
18852
+ /**
18853
+ * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
18854
+ * or a function that returns either.
18855
+ * It's used to set the position of the popper.
18856
+ * The return value will passed as the reference object of the Popper instance.
18857
+ */
18858
+ anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),
18859
+ /**
18860
+ * Popper render function or node.
18861
+ */
18862
+ children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),
18863
+ /**
18864
+ * The component used for the root node.
18865
+ * Either a string to use a HTML element or a component.
18866
+ */
18867
+ component: PropTypes.elementType,
18868
+ /**
18869
+ * The components used for each slot inside the Popper.
18870
+ * Either a string to use a HTML element or a component.
18871
+ * @default {}
18872
+ */
18873
+ components: PropTypes.shape({
18874
+ Root: PropTypes.elementType
18875
+ }),
18876
+ /**
18877
+ * The props used for each slot inside the Popper.
18878
+ * @default {}
18879
+ */
18880
+ componentsProps: PropTypes.shape({
18881
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
18882
+ }),
18883
+ /**
18884
+ * An HTML element or function that returns one.
18885
+ * The `container` will have the portal children appended to it.
18886
+ *
18887
+ * By default, it uses the body of the top-level document object,
18888
+ * so it's simply `document.body` most of the time.
18889
+ */
18890
+ container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),
18891
+ /**
18892
+ * The `children` will be under the DOM hierarchy of the parent component.
18893
+ * @default false
18894
+ */
18895
+ disablePortal: PropTypes.bool,
18896
+ /**
18897
+ * Always keep the children in the DOM.
18898
+ * This prop can be useful in SEO situation or
18899
+ * when you want to maximize the responsiveness of the Popper.
18900
+ * @default false
18901
+ */
18902
+ keepMounted: PropTypes.bool,
18903
+ /**
18904
+ * Popper.js is based on a "plugin-like" architecture,
18905
+ * most of its features are fully encapsulated "modifiers".
18906
+ *
18907
+ * A modifier is a function that is called each time Popper.js needs to
18908
+ * compute the position of the popper.
18909
+ * For this reason, modifiers should be very performant to avoid bottlenecks.
18910
+ * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
18911
+ */
18912
+ modifiers: PropTypes.arrayOf(PropTypes.shape({
18913
+ data: PropTypes.object,
18914
+ effect: PropTypes.func,
18915
+ enabled: PropTypes.bool,
18916
+ fn: PropTypes.func,
18917
+ name: PropTypes.any,
18918
+ options: PropTypes.object,
18919
+ phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
18920
+ requires: PropTypes.arrayOf(PropTypes.string),
18921
+ requiresIfExists: PropTypes.arrayOf(PropTypes.string)
18922
+ })),
18923
+ /**
18924
+ * If `true`, the component is shown.
18925
+ */
18926
+ open: PropTypes.bool.isRequired,
18927
+ /**
18928
+ * Popper placement.
18929
+ * @default 'bottom'
18930
+ */
18931
+ placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
18932
+ /**
18933
+ * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
18934
+ * @default {}
18935
+ */
18936
+ popperOptions: PropTypes.shape({
18937
+ modifiers: PropTypes.array,
18938
+ onFirstUpdate: PropTypes.func,
18939
+ placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
18940
+ strategy: PropTypes.oneOf(['absolute', 'fixed'])
18941
+ }),
18942
+ /**
18943
+ * A ref that points to the used popper instance.
18944
+ */
18945
+ popperRef: refType$1,
18946
+ /**
18947
+ * The props used for each slot inside the Popper.
18948
+ * @default {}
18949
+ */
18950
+ slotProps: PropTypes.shape({
18951
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
18952
+ }),
18953
+ /**
18954
+ * The components used for each slot inside the Popper.
18955
+ * Either a string to use a HTML element or a component.
18956
+ * @default {}
18957
+ */
18958
+ slots: PropTypes.shape({
18959
+ root: PropTypes.elementType
18960
+ }),
18961
+ /**
18962
+ * The system prop that allows defining system overrides as well as additional CSS styles.
18963
+ */
18964
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
18965
+ /**
18966
+ * Help supporting a react-transition-group/Transition component.
18967
+ * @default false
18968
+ */
18969
+ transition: PropTypes.bool
18970
+ } : void 0;
18971
+ var Popper$1 = Popper;
18691
18972
 
18692
- .MuiInputBase-root {
18693
- font-family: var(--redsift-typography-datagrid-cell-font-family);
18694
- }
18695
- }
18973
+ const BasePopper = /*#__PURE__*/forwardRef((props, ref) => {
18974
+ return /*#__PURE__*/React__default.createElement(Popper$1, _extends$2({}, props, {
18975
+ ref: ref,
18976
+ container: () => document.getElementById('redsift-app-container')
18977
+ }));
18978
+ });
18696
18979
 
18697
- .Mui-checked {
18698
- color: var(--redsift-color-primary-n);
18699
- }
18980
+ const BaseTextField = /*#__PURE__*/forwardRef((props, ref) => {
18981
+ const {
18982
+ label,
18983
+ id,
18984
+ value,
18985
+ onChange,
18986
+ placeholder
18987
+ } = props;
18988
+ return /*#__PURE__*/React__default.createElement(TextField$2, {
18989
+ marginTop: "6px",
18990
+ inputRef: ref,
18991
+ label: label,
18992
+ id: id,
18993
+ value: value,
18994
+ variant: "underline",
18995
+ onChange: (value, name, event) => onChange(event),
18996
+ autoFocus: true,
18997
+ placeholder: placeholder
18998
+ });
18999
+ });
18700
19000
 
18701
- .MuiDataGrid-rowCount {
18702
- font-family: var(--redsift-typography-datagrid-cell-font-family);
19001
+ // Store the license information in a global, so it can be shared
19002
+ // when module duplication occurs. The duplication of the modules can happen
19003
+ // if using multiple version of MUI X at the same time of the bundler
19004
+ // decide to duplicate to improve the size of the chunks.
19005
+ // eslint-disable-next-line no-underscore-dangle
19006
+ ponyfillGlobal.__MUI_LICENSE_INFO__ = ponyfillGlobal.__MUI_LICENSE_INFO__ || {
19007
+ key: undefined
19008
+ };
19009
+ class LicenseInfo {
19010
+ static getLicenseInfo() {
19011
+ // eslint-disable-next-line no-underscore-dangle
19012
+ return ponyfillGlobal.__MUI_LICENSE_INFO__;
18703
19013
  }
18704
-
18705
- .MuiTablePagination-displayedRows {
18706
- font-family: var(--redsift-typography-datagrid-cell-font-family);
19014
+ static getLicenseKey() {
19015
+ return LicenseInfo.getLicenseInfo().key;
18707
19016
  }
18708
-
18709
- .MuiBadge-standard {
18710
- font-family: var(--redsift-typography-datagrid-cell-font-family);
19017
+ static setLicenseKey(key) {
19018
+ const licenseInfo = LicenseInfo.getLicenseInfo();
19019
+ licenseInfo.key = key;
18711
19020
  }
18712
- `;
19021
+ }
18713
19022
 
18714
19023
  /**
18715
19024
  * Component style.
18716
19025
  */
18717
- const GridToolbarWrapper = styled$3.div`
18718
- .MuiButtonBase-root-JobBs.MuiButton-root {
18719
- svg {
18720
- path {
18721
- fill: var(--redsift-color-primary-n);
18722
- }
18723
- }
18724
- }
18725
- `;
18726
-
18727
- /*!
18728
- * tabbable 6.1.2
18729
- * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
18730
- */
19026
+ const StyledDataGrid = styled$3.div`
19027
+ ${_ref => {
19028
+ let {
19029
+ $height
19030
+ } = _ref;
19031
+ return $height ? css`
19032
+ height: ${$height};
19033
+ ` : '';
19034
+ }}
19035
+
19036
+ width: 100%;
19037
+
19038
+ .MuiDataGrid-root {
19039
+ font-family: var(--redsift-typography-datagrid-header-font-family);
19040
+ border: none;
19041
+ }
19042
+
19043
+ .MuiDataGrid-row {
19044
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
19045
+ font-size: var(--redsift-typography-datagrid-cell-font-size);
19046
+ font-weight: var(--redsift-typography-datagrid-cell-font-weight);
19047
+ }
19048
+
19049
+ .MuiDataGrid-columnHeaderTitle {
19050
+ font-family: var(--redsift-typography-datagrid-header-font-family);
19051
+ font-size: var(--redsift-typography-datagrid-header-font-size);
19052
+ font-weight: var(--redsift-typography-datagrid-header-font-weight);
19053
+ }
19054
+
19055
+ .MuiDataGrid-columnHeaders {
19056
+ border-bottom-color: var(--redsift-color-primary-n);
19057
+ }
19058
+
19059
+ .MuiDataGrid-columnSeparator {
19060
+ display: none;
19061
+ }
19062
+
19063
+ .MuiTablePagination-root {
19064
+ .MuiTablePagination-selectLabel {
19065
+ font-family: var(--redsift-typography-datagrid-header-font-family);
19066
+ }
19067
+ .MuiTablePagination-displayedRows {
19068
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
19069
+ }
19070
+
19071
+ .MuiInputBase-root {
19072
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
19073
+ }
19074
+ }
19075
+
19076
+ .Mui-checked {
19077
+ color: var(--redsift-color-primary-n);
19078
+ }
19079
+
19080
+ .MuiDataGrid-rowCount {
19081
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
19082
+ }
19083
+
19084
+ .MuiTablePagination-displayedRows {
19085
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
19086
+ }
19087
+
19088
+ .MuiBadge-standard {
19089
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
19090
+ }
19091
+ `;
19092
+
19093
+ /**
19094
+ * Component style.
19095
+ */
19096
+ const GridToolbarWrapper = styled$3.div`
19097
+ .MuiButtonBase-root-JobBs.MuiButton-root {
19098
+ svg {
19099
+ path {
19100
+ fill: var(--redsift-color-primary-n);
19101
+ }
19102
+ }
19103
+ }
19104
+ `;
19105
+
19106
+ /*!
19107
+ * tabbable 6.1.2
19108
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
19109
+ */
18731
19110
  // NOTE: separate `:not()` selectors has broader browser support than the newer
18732
19111
  // `:not([inert], [inert] *)` (Feb 2023)
18733
19112
  // CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes
@@ -22413,8 +22792,8 @@ const StyledTooltipContent = styled$3.div`
22413
22792
  }}
22414
22793
  `;
22415
22794
 
22416
- const COMPONENT_NAME$5 = 'TooltipContent';
22417
- const CLASSNAME$5 = 'redsift-tooltip-content';
22795
+ const COMPONENT_NAME$6 = 'TooltipContent';
22796
+ const CLASSNAME$6 = 'redsift-tooltip-content';
22418
22797
 
22419
22798
  /**
22420
22799
  * The TooltipContent component.
@@ -22479,11 +22858,11 @@ const TooltipContent = /*#__PURE__*/forwardRef((props, ref) => {
22479
22858
  className: `${TooltipContent.className}__inner`
22480
22859
  }, children)));
22481
22860
  });
22482
- TooltipContent.className = CLASSNAME$5;
22483
- TooltipContent.displayName = COMPONENT_NAME$5;
22861
+ TooltipContent.className = CLASSNAME$6;
22862
+ TooltipContent.displayName = COMPONENT_NAME$6;
22484
22863
 
22485
- const COMPONENT_NAME$4 = 'TooltipTrigger';
22486
- const CLASSNAME$4 = 'redsift-tooltip-trigger';
22864
+ const COMPONENT_NAME$5 = 'TooltipTrigger';
22865
+ const CLASSNAME$5 = 'redsift-tooltip-trigger';
22487
22866
 
22488
22867
  /**
22489
22868
  * The TooltipTrigger component.
@@ -22518,8 +22897,8 @@ const TooltipTrigger = /*#__PURE__*/forwardRef((props, ref) => {
22518
22897
  ref: triggerRef
22519
22898
  }, getReferenceProps(props)), children);
22520
22899
  });
22521
- TooltipTrigger.className = CLASSNAME$4;
22522
- TooltipTrigger.displayName = COMPONENT_NAME$4;
22900
+ TooltipTrigger.className = CLASSNAME$5;
22901
+ TooltipTrigger.displayName = COMPONENT_NAME$5;
22523
22902
 
22524
22903
  const TooltipContext = /*#__PURE__*/React__default.createContext(null);
22525
22904
 
@@ -22618,8 +22997,8 @@ function useTooltip(_ref) {
22618
22997
  const ThemeContext = /*#__PURE__*/React__default.createContext(null);
22619
22998
  const ThemeProvider = ThemeContext.Provider;
22620
22999
 
22621
- const COMPONENT_NAME$3 = 'Tooltip';
22622
- const CLASSNAME$3 = 'redsift-tooltip';
23000
+ const COMPONENT_NAME$4 = 'Tooltip';
23001
+ const CLASSNAME$4 = 'redsift-tooltip';
22623
23002
 
22624
23003
  /**
22625
23004
  * The Tooltip component.
@@ -22660,8 +23039,8 @@ const BaseTooltip = props => {
22660
23039
  value: tooltip
22661
23040
  }, trigger && isComponent('TooltipTrigger')(trigger) ? trigger : null, content && isComponent('TooltipContent')(content) ? content : null));
22662
23041
  };
22663
- BaseTooltip.className = CLASSNAME$3;
22664
- BaseTooltip.displayName = COMPONENT_NAME$3;
23042
+ BaseTooltip.className = CLASSNAME$4;
23043
+ BaseTooltip.displayName = COMPONENT_NAME$4;
22665
23044
  const Tooltip = Object.assign(BaseTooltip, {
22666
23045
  Trigger: TooltipTrigger,
22667
23046
  Content: TooltipContent
@@ -22691,9 +23070,9 @@ const StyledGridToolbarFilterSemanticField = styled$3.form`
22691
23070
  }
22692
23071
  `;
22693
23072
 
22694
- const _excluded$f = ["className", "nlpFilterConfig", "onFilterModelChange", "dateFormat", "defaultModel", "defaultFilter", "disablePower", "localeText"];
22695
- const COMPONENT_NAME$2 = 'GridToolbarFilterSemanticField';
22696
- const CLASSNAME$2 = 'redsift-datagrid-toolbar-nlp-filter-field';
23073
+ const _excluded$c = ["className", "nlpFilterConfig", "onFilterModelChange", "dateFormat", "defaultModel", "defaultFilter", "disablePower", "localeText"];
23074
+ const COMPONENT_NAME$3 = 'GridToolbarFilterSemanticField';
23075
+ const CLASSNAME$3 = 'redsift-datagrid-toolbar-nlp-filter-field';
22697
23076
  const DEFAULT_OPERATORS = {
22698
23077
  string: ['contains', 'equals', 'startsWith', 'endsWith', 'isEmpty', 'isNotEmpty', 'isAnyOf'],
22699
23078
  number: ['=', '!=', '>', '>=', '<', '<=', 'isEmpty', 'isNotEmpty', 'isAnyOf'],
@@ -22776,7 +23155,7 @@ const GridToolbarFilterSemanticField = /*#__PURE__*/forwardRef((props, ref) => {
22776
23155
  disablePower = false,
22777
23156
  localeText
22778
23157
  } = props,
22779
- forwardedProps = _objectWithoutProperties(props, _excluded$f);
23158
+ forwardedProps = _objectWithoutProperties(props, _excluded$c);
22780
23159
  const {
22781
23160
  textLabel,
22782
23161
  textPlaceholder,
@@ -22861,8 +23240,8 @@ const GridToolbarFilterSemanticField = /*#__PURE__*/forwardRef((props, ref) => {
22861
23240
  marginLeft: "8px"
22862
23241
  }, errorText));
22863
23242
  });
22864
- GridToolbarFilterSemanticField.className = CLASSNAME$2;
22865
- GridToolbarFilterSemanticField.displayName = COMPONENT_NAME$2;
23243
+ GridToolbarFilterSemanticField.className = CLASSNAME$3;
23244
+ GridToolbarFilterSemanticField.displayName = COMPONENT_NAME$3;
22866
23245
 
22867
23246
  /**
22868
23247
  * Temporary workaround for a type mismatch between react 17 and 18
@@ -22924,381 +23303,101 @@ const Toolbar$2 = props => {
22924
23303
  }, semanticFilterProps ? /*#__PURE__*/React__default.createElement(GridToolbarFilterSemanticField, semanticFilterProps) : null)));
22925
23304
  };
22926
23305
 
22927
- const _excluded$e = ["displayName"];
22928
- const muiIconToDSIcon = {
22929
- ColumnFilteredIcon: mdiFilterVariant,
22930
- ColumnSelectorIcon: mdiViewColumn,
22931
- ColumnSortedAscendingIcon: mdiChevronUp,
22932
- ColumnSortedDescendingIcon: mdiChevronDown,
22933
- DensityCompactIcon: mdiViewHeadline,
22934
- DensityStandardIcon: mdiViewSequential,
22935
- DensityComfortableIcon: mdiViewStream,
22936
- DetailPanelCollapseIcon: mdiChevronDown,
22937
- DetailPanelExpandIcon: mdiChevronRight,
22938
- ExportIcon: mdiTrayArrowDown,
22939
- OpenFilterButtonIcon: mdiFilterVariant
22940
- };
22941
- const BaseIcon = /*#__PURE__*/forwardRef((props, ref) => {
22942
- const {
22943
- displayName
22944
- } = props,
22945
- forwardedProps = _objectWithoutProperties(props, _excluded$e);
22946
- return /*#__PURE__*/React__default.createElement(Icon, _extends$2({}, forwardedProps, forwardedProps.inputProps, {
22947
- ref: ref,
22948
- size: forwardedProps.fontSize,
22949
- icon: muiIconToDSIcon[displayName]
22950
- }));
22951
- });
22952
-
22953
- const _excluded$d = ["children", "color", "onClick", "startIcon"];
22954
- const BaseButton = /*#__PURE__*/forwardRef((props, ref) => {
22955
- var _props$className;
23306
+ function Ripple(props) {
22956
23307
  const {
22957
- children,
22958
- color: propsColor,
22959
- onClick,
22960
- startIcon
22961
- } = props,
22962
- forwardedProps = _objectWithoutProperties(props, _excluded$d);
22963
- const color = Object.keys(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';
22964
- if ((_props$className = props.className) !== null && _props$className !== void 0 && _props$className.includes('redsift-condensed')) {
22965
- return /*#__PURE__*/React__default.createElement(IconButton$2, _extends$2({}, forwardedProps, {
22966
- color: color,
22967
- onClick: onClick,
22968
- ref: ref,
22969
- variant: "unstyled",
22970
- isActive: props['aria-expanded'] === 'true',
22971
- icon: typeof startIcon !== 'string' ? /*#__PURE__*/React__default.cloneElement(startIcon, {
22972
- fontSize: 'medium'
22973
- }) : startIcon,
22974
- "aria-label": children,
22975
- size: "medium"
22976
- }));
23308
+ className,
23309
+ classes,
23310
+ pulsate = false,
23311
+ rippleX,
23312
+ rippleY,
23313
+ rippleSize,
23314
+ in: inProp,
23315
+ onExited,
23316
+ timeout
23317
+ } = props;
23318
+ const [leaving, setLeaving] = React.useState(false);
23319
+ const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);
23320
+ const rippleStyles = {
23321
+ width: rippleSize,
23322
+ height: rippleSize,
23323
+ top: -(rippleSize / 2) + rippleY,
23324
+ left: -(rippleSize / 2) + rippleX
23325
+ };
23326
+ const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);
23327
+ if (!inProp && !leaving) {
23328
+ setLeaving(true);
22977
23329
  }
22978
- return /*#__PURE__*/React__default.createElement(Button, _extends$2({}, forwardedProps, {
22979
- color: color,
22980
- onClick: onClick,
22981
- ref: ref,
22982
- variant: "unstyled",
22983
- isActive: props['aria-expanded'] === 'true',
22984
- leftIcon: startIcon
22985
- }), children);
22986
- });
23330
+ React.useEffect(() => {
23331
+ if (!inProp && onExited != null) {
23332
+ // react-transition-group#onExited
23333
+ const timeoutId = setTimeout(onExited, timeout);
23334
+ return () => {
23335
+ clearTimeout(timeoutId);
23336
+ };
23337
+ }
23338
+ return undefined;
23339
+ }, [onExited, inProp, timeout]);
23340
+ return /*#__PURE__*/jsxRuntimeExports.jsx("span", {
23341
+ className: rippleClassName,
23342
+ style: rippleStyles,
23343
+ children: /*#__PURE__*/jsxRuntimeExports.jsx("span", {
23344
+ className: childClassName
23345
+ })
23346
+ });
23347
+ }
23348
+ process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
23349
+ /**
23350
+ * Override or extend the styles applied to the component.
23351
+ * See [CSS API](#css) below for more details.
23352
+ */
23353
+ classes: PropTypes.object.isRequired,
23354
+ className: PropTypes.string,
23355
+ /**
23356
+ * @ignore - injected from TransitionGroup
23357
+ */
23358
+ in: PropTypes.bool,
23359
+ /**
23360
+ * @ignore - injected from TransitionGroup
23361
+ */
23362
+ onExited: PropTypes.func,
23363
+ /**
23364
+ * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.
23365
+ */
23366
+ pulsate: PropTypes.bool,
23367
+ /**
23368
+ * Diameter of the ripple.
23369
+ */
23370
+ rippleSize: PropTypes.number,
23371
+ /**
23372
+ * Horizontal position of the ripple center.
23373
+ */
23374
+ rippleX: PropTypes.number,
23375
+ /**
23376
+ * Vertical position of the ripple center.
23377
+ */
23378
+ rippleY: PropTypes.number,
23379
+ /**
23380
+ * exit delay
23381
+ */
23382
+ timeout: PropTypes.number.isRequired
23383
+ } : void 0;
22987
23384
 
22988
- const _excluded$c = ["checked", "indeterminate", "disabled", "onChange"];
22989
- const BaseCheckbox = /*#__PURE__*/forwardRef((props, ref) => {
22990
- const {
22991
- checked,
22992
- indeterminate,
22993
- disabled,
22994
- onChange
22995
- } = props,
22996
- forwardedProps = _objectWithoutProperties(props, _excluded$c);
22997
- return /*#__PURE__*/React__default.createElement(Checkbox, _extends$2({}, forwardedProps, forwardedProps.inputProps, {
22998
- isSelected: checked && !indeterminate,
22999
- isDisabled: disabled,
23000
- isIndeterminate: indeterminate,
23001
- ref: ref,
23002
- onChange: (isChecked, value, name, event) => onChange(event)
23003
- }));
23004
- });
23385
+ const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
23386
+ var touchRippleClasses$1 = touchRippleClasses;
23005
23387
 
23006
- const _excluded$b = ["anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps"];
23007
- const PopperRoot = styled$1(BasePopper$1, {
23008
- name: 'MuiPopper',
23009
- slot: 'Root',
23010
- overridesResolver: (props, styles) => styles.root
23011
- })({});
23012
-
23013
- /**
23014
- *
23015
- * Demos:
23016
- *
23017
- * - [Autocomplete](https://mui.com/material-ui/react-autocomplete/)
23018
- * - [Menu](https://mui.com/material-ui/react-menu/)
23019
- * - [Popper](https://mui.com/material-ui/react-popper/)
23020
- *
23021
- * API:
23022
- *
23023
- * - [Popper API](https://mui.com/material-ui/api/popper/)
23024
- */
23025
- const Popper = /*#__PURE__*/React.forwardRef(function Popper(inProps, ref) {
23026
- var _slots$root;
23027
- const theme = useTheme$3();
23028
- const props = useThemeProps({
23029
- props: inProps,
23030
- name: 'MuiPopper'
23031
- });
23032
- const {
23033
- anchorEl,
23034
- component,
23035
- components,
23036
- componentsProps,
23037
- container,
23038
- disablePortal,
23039
- keepMounted,
23040
- modifiers,
23041
- open,
23042
- placement,
23043
- popperOptions,
23044
- popperRef,
23045
- transition,
23046
- slots,
23047
- slotProps
23048
- } = props,
23049
- other = _objectWithoutPropertiesLoose(props, _excluded$b);
23050
- const RootComponent = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components == null ? void 0 : components.Root;
23051
- const otherProps = _extends$1({
23052
- anchorEl,
23053
- container,
23054
- disablePortal,
23055
- keepMounted,
23056
- modifiers,
23057
- open,
23058
- placement,
23059
- popperOptions,
23060
- popperRef,
23061
- transition
23062
- }, other);
23063
- return /*#__PURE__*/jsxRuntimeExports.jsx(PopperRoot, _extends$1({
23064
- as: component,
23065
- direction: theme == null ? void 0 : theme.direction,
23066
- slots: {
23067
- root: RootComponent
23068
- },
23069
- slotProps: slotProps != null ? slotProps : componentsProps
23070
- }, otherProps, {
23071
- ref: ref
23072
- }));
23073
- });
23074
- process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */ = {
23075
- // ----------------------------- Warning --------------------------------
23076
- // | These PropTypes are generated from the TypeScript type definitions |
23077
- // | To update them edit TypeScript types and run "yarn proptypes" |
23078
- // ----------------------------------------------------------------------
23079
- /**
23080
- * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
23081
- * or a function that returns either.
23082
- * It's used to set the position of the popper.
23083
- * The return value will passed as the reference object of the Popper instance.
23084
- */
23085
- anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),
23086
- /**
23087
- * Popper render function or node.
23088
- */
23089
- children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),
23090
- /**
23091
- * The component used for the root node.
23092
- * Either a string to use a HTML element or a component.
23093
- */
23094
- component: PropTypes.elementType,
23095
- /**
23096
- * The components used for each slot inside the Popper.
23097
- * Either a string to use a HTML element or a component.
23098
- * @default {}
23099
- */
23100
- components: PropTypes.shape({
23101
- Root: PropTypes.elementType
23102
- }),
23103
- /**
23104
- * The props used for each slot inside the Popper.
23105
- * @default {}
23106
- */
23107
- componentsProps: PropTypes.shape({
23108
- root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
23109
- }),
23110
- /**
23111
- * An HTML element or function that returns one.
23112
- * The `container` will have the portal children appended to it.
23113
- *
23114
- * By default, it uses the body of the top-level document object,
23115
- * so it's simply `document.body` most of the time.
23116
- */
23117
- container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),
23118
- /**
23119
- * The `children` will be under the DOM hierarchy of the parent component.
23120
- * @default false
23121
- */
23122
- disablePortal: PropTypes.bool,
23123
- /**
23124
- * Always keep the children in the DOM.
23125
- * This prop can be useful in SEO situation or
23126
- * when you want to maximize the responsiveness of the Popper.
23127
- * @default false
23128
- */
23129
- keepMounted: PropTypes.bool,
23130
- /**
23131
- * Popper.js is based on a "plugin-like" architecture,
23132
- * most of its features are fully encapsulated "modifiers".
23133
- *
23134
- * A modifier is a function that is called each time Popper.js needs to
23135
- * compute the position of the popper.
23136
- * For this reason, modifiers should be very performant to avoid bottlenecks.
23137
- * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
23138
- */
23139
- modifiers: PropTypes.arrayOf(PropTypes.shape({
23140
- data: PropTypes.object,
23141
- effect: PropTypes.func,
23142
- enabled: PropTypes.bool,
23143
- fn: PropTypes.func,
23144
- name: PropTypes.any,
23145
- options: PropTypes.object,
23146
- phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
23147
- requires: PropTypes.arrayOf(PropTypes.string),
23148
- requiresIfExists: PropTypes.arrayOf(PropTypes.string)
23149
- })),
23150
- /**
23151
- * If `true`, the component is shown.
23152
- */
23153
- open: PropTypes.bool.isRequired,
23154
- /**
23155
- * Popper placement.
23156
- * @default 'bottom'
23157
- */
23158
- placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
23159
- /**
23160
- * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
23161
- * @default {}
23162
- */
23163
- popperOptions: PropTypes.shape({
23164
- modifiers: PropTypes.array,
23165
- onFirstUpdate: PropTypes.func,
23166
- placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
23167
- strategy: PropTypes.oneOf(['absolute', 'fixed'])
23168
- }),
23169
- /**
23170
- * A ref that points to the used popper instance.
23171
- */
23172
- popperRef: refType$1,
23173
- /**
23174
- * The props used for each slot inside the Popper.
23175
- * @default {}
23176
- */
23177
- slotProps: PropTypes.shape({
23178
- root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
23179
- }),
23180
- /**
23181
- * The components used for each slot inside the Popper.
23182
- * Either a string to use a HTML element or a component.
23183
- * @default {}
23184
- */
23185
- slots: PropTypes.shape({
23186
- root: PropTypes.elementType
23187
- }),
23188
- /**
23189
- * The system prop that allows defining system overrides as well as additional CSS styles.
23190
- */
23191
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
23192
- /**
23193
- * Help supporting a react-transition-group/Transition component.
23194
- * @default false
23195
- */
23196
- transition: PropTypes.bool
23197
- } : void 0;
23198
- var Popper$1 = Popper;
23199
-
23200
- const BasePopper = /*#__PURE__*/forwardRef((props, ref) => {
23201
- return /*#__PURE__*/React__default.createElement(Popper$1, _extends$2({}, props, {
23202
- ref: ref,
23203
- container: () => document.getElementById('redsift-app-container')
23204
- }));
23205
- });
23206
-
23207
- function Ripple(props) {
23208
- const {
23209
- className,
23210
- classes,
23211
- pulsate = false,
23212
- rippleX,
23213
- rippleY,
23214
- rippleSize,
23215
- in: inProp,
23216
- onExited,
23217
- timeout
23218
- } = props;
23219
- const [leaving, setLeaving] = React.useState(false);
23220
- const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);
23221
- const rippleStyles = {
23222
- width: rippleSize,
23223
- height: rippleSize,
23224
- top: -(rippleSize / 2) + rippleY,
23225
- left: -(rippleSize / 2) + rippleX
23226
- };
23227
- const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);
23228
- if (!inProp && !leaving) {
23229
- setLeaving(true);
23230
- }
23231
- React.useEffect(() => {
23232
- if (!inProp && onExited != null) {
23233
- // react-transition-group#onExited
23234
- const timeoutId = setTimeout(onExited, timeout);
23235
- return () => {
23236
- clearTimeout(timeoutId);
23237
- };
23238
- }
23239
- return undefined;
23240
- }, [onExited, inProp, timeout]);
23241
- return /*#__PURE__*/jsxRuntimeExports.jsx("span", {
23242
- className: rippleClassName,
23243
- style: rippleStyles,
23244
- children: /*#__PURE__*/jsxRuntimeExports.jsx("span", {
23245
- className: childClassName
23246
- })
23247
- });
23248
- }
23249
- process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
23250
- /**
23251
- * Override or extend the styles applied to the component.
23252
- * See [CSS API](#css) below for more details.
23253
- */
23254
- classes: PropTypes.object.isRequired,
23255
- className: PropTypes.string,
23256
- /**
23257
- * @ignore - injected from TransitionGroup
23258
- */
23259
- in: PropTypes.bool,
23260
- /**
23261
- * @ignore - injected from TransitionGroup
23262
- */
23263
- onExited: PropTypes.func,
23264
- /**
23265
- * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.
23266
- */
23267
- pulsate: PropTypes.bool,
23268
- /**
23269
- * Diameter of the ripple.
23270
- */
23271
- rippleSize: PropTypes.number,
23272
- /**
23273
- * Horizontal position of the ripple center.
23274
- */
23275
- rippleX: PropTypes.number,
23276
- /**
23277
- * Vertical position of the ripple center.
23278
- */
23279
- rippleY: PropTypes.number,
23280
- /**
23281
- * exit delay
23282
- */
23283
- timeout: PropTypes.number.isRequired
23284
- } : void 0;
23285
-
23286
- const touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
23287
- var touchRippleClasses$1 = touchRippleClasses;
23288
-
23289
- const _excluded$a = ["center", "classes", "className"];
23290
- let _ = t => t,
23291
- _t,
23292
- _t2,
23293
- _t3,
23294
- _t4;
23295
- const DURATION = 550;
23296
- const DELAY_RIPPLE = 80;
23297
- const enterKeyframe = keyframes(_t || (_t = _`
23298
- 0% {
23299
- transform: scale(0);
23300
- opacity: 0.1;
23301
- }
23388
+ const _excluded$b = ["center", "classes", "className"];
23389
+ let _ = t => t,
23390
+ _t,
23391
+ _t2,
23392
+ _t3,
23393
+ _t4;
23394
+ const DURATION = 550;
23395
+ const DELAY_RIPPLE = 80;
23396
+ const enterKeyframe = keyframes(_t || (_t = _`
23397
+ 0% {
23398
+ transform: scale(0);
23399
+ opacity: 0.1;
23400
+ }
23302
23401
 
23303
23402
  100% {
23304
23403
  transform: scale(1);
@@ -23415,7 +23514,7 @@ const TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps,
23415
23514
  classes = {},
23416
23515
  className
23417
23516
  } = props,
23418
- other = _objectWithoutPropertiesLoose(props, _excluded$a);
23517
+ other = _objectWithoutPropertiesLoose(props, _excluded$b);
23419
23518
  const [ripples, setRipples] = React.useState([]);
23420
23519
  const nextKey = React.useRef(0);
23421
23520
  const rippleCallback = React.useRef(null);
@@ -23616,7 +23715,7 @@ function getButtonBaseUtilityClass(slot) {
23616
23715
  const buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
23617
23716
  var buttonBaseClasses$1 = buttonBaseClasses;
23618
23717
 
23619
- const _excluded$9 = ["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"];
23718
+ const _excluded$a = ["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"];
23620
23719
  const useUtilityClasses$5 = ownerState => {
23621
23720
  const {
23622
23721
  disabled,
@@ -23718,7 +23817,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
23718
23817
  touchRippleRef,
23719
23818
  type
23720
23819
  } = props,
23721
- other = _objectWithoutPropertiesLoose(props, _excluded$9);
23820
+ other = _objectWithoutPropertiesLoose(props, _excluded$a);
23722
23821
  const buttonRef = React.useRef(null);
23723
23822
  const rippleRef = React.useRef(null);
23724
23823
  const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
@@ -24091,7 +24190,7 @@ function getMenuItemUtilityClass(slot) {
24091
24190
  const menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);
24092
24191
  var menuItemClasses$1 = menuItemClasses;
24093
24192
 
24094
- const _excluded$8 = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"];
24193
+ const _excluded$9 = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"];
24095
24194
  const overridesResolver = (props, styles) => {
24096
24195
  const {
24097
24196
  ownerState
@@ -24213,7 +24312,7 @@ const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {
24213
24312
  tabIndex: tabIndexProp,
24214
24313
  className
24215
24314
  } = props,
24216
- other = _objectWithoutPropertiesLoose(props, _excluded$8);
24315
+ other = _objectWithoutPropertiesLoose(props, _excluded$9);
24217
24316
  const context = React.useContext(ListContext$1);
24218
24317
  const childContext = React.useMemo(() => ({
24219
24318
  dense: dense || context.dense || false,
@@ -24356,7 +24455,7 @@ function getTableCellUtilityClass(slot) {
24356
24455
  const tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);
24357
24456
  var tableCellClasses$1 = tableCellClasses;
24358
24457
 
24359
- const _excluded$7 = ["align", "className", "component", "padding", "scope", "size", "sortDirection", "variant"];
24458
+ const _excluded$8 = ["align", "className", "component", "padding", "scope", "size", "sortDirection", "variant"];
24360
24459
  const useUtilityClasses$3 = ownerState => {
24361
24460
  const {
24362
24461
  classes,
@@ -24453,7 +24552,7 @@ const TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref)
24453
24552
  sortDirection,
24454
24553
  variant: variantProp
24455
24554
  } = props,
24456
- other = _objectWithoutPropertiesLoose(props, _excluded$7);
24555
+ other = _objectWithoutPropertiesLoose(props, _excluded$8);
24457
24556
  const table = React.useContext(TableContext$1);
24458
24557
  const tablelvl2 = React.useContext(Tablelvl2Context$1);
24459
24558
  const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';
@@ -24560,7 +24659,7 @@ function getToolbarUtilityClass(slot) {
24560
24659
  }
24561
24660
  generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);
24562
24661
 
24563
- const _excluded$6 = ["className", "component", "disableGutters", "variant"];
24662
+ const _excluded$7 = ["className", "component", "disableGutters", "variant"];
24564
24663
  const useUtilityClasses$2 = ownerState => {
24565
24664
  const {
24566
24665
  classes,
@@ -24612,7 +24711,7 @@ const Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {
24612
24711
  disableGutters = false,
24613
24712
  variant = 'regular'
24614
24713
  } = props,
24615
- other = _objectWithoutPropertiesLoose(props, _excluded$6);
24714
+ other = _objectWithoutPropertiesLoose(props, _excluded$7);
24616
24715
  const ownerState = _extends$1({}, props, {
24617
24716
  component,
24618
24717
  disableGutters,
@@ -24680,7 +24779,7 @@ function getIconButtonUtilityClass(slot) {
24680
24779
  const iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
24681
24780
  var iconButtonClasses$1 = iconButtonClasses;
24682
24781
 
24683
- const _excluded$5 = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
24782
+ const _excluded$6 = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
24684
24783
  const useUtilityClasses$1 = ownerState => {
24685
24784
  const {
24686
24785
  classes,
@@ -24781,7 +24880,7 @@ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, re
24781
24880
  disableFocusRipple = false,
24782
24881
  size = 'medium'
24783
24882
  } = props,
24784
- other = _objectWithoutPropertiesLoose(props, _excluded$5);
24883
+ other = _objectWithoutPropertiesLoose(props, _excluded$6);
24785
24884
  const ownerState = _extends$1({}, props, {
24786
24885
  edge,
24787
24886
  color,
@@ -24879,7 +24978,7 @@ var FirstPageIcon = createSvgIcon( /*#__PURE__*/jsxRuntimeExports.jsx("path", {
24879
24978
  }), 'FirstPage');
24880
24979
 
24881
24980
  var _LastPageIcon, _FirstPageIcon, _KeyboardArrowRight, _KeyboardArrowLeft, _KeyboardArrowLeft2, _KeyboardArrowRight2, _FirstPageIcon2, _LastPageIcon2;
24882
- const _excluded$4 = ["backIconButtonProps", "count", "getItemAriaLabel", "nextIconButtonProps", "onPageChange", "page", "rowsPerPage", "showFirstButton", "showLastButton"];
24981
+ const _excluded$5 = ["backIconButtonProps", "count", "getItemAriaLabel", "nextIconButtonProps", "onPageChange", "page", "rowsPerPage", "showFirstButton", "showLastButton"];
24883
24982
  const TablePaginationActions = /*#__PURE__*/React.forwardRef(function TablePaginationActions(props, ref) {
24884
24983
  const {
24885
24984
  backIconButtonProps,
@@ -24892,7 +24991,7 @@ const TablePaginationActions = /*#__PURE__*/React.forwardRef(function TablePagin
24892
24991
  showFirstButton,
24893
24992
  showLastButton
24894
24993
  } = props,
24895
- other = _objectWithoutPropertiesLoose(props, _excluded$4);
24994
+ other = _objectWithoutPropertiesLoose(props, _excluded$5);
24896
24995
  const theme = useTheme();
24897
24996
  const handleFirstPageButtonClick = event => {
24898
24997
  onPageChange(event, 0);
@@ -24996,7 +25095,7 @@ const tablePaginationClasses = generateUtilityClasses('MuiTablePagination', ['ro
24996
25095
  var tablePaginationClasses$1 = tablePaginationClasses;
24997
25096
 
24998
25097
  var _InputBase;
24999
- const _excluded$3 = ["ActionsComponent", "backIconButtonProps", "className", "colSpan", "component", "count", "getItemAriaLabel", "labelDisplayedRows", "labelRowsPerPage", "nextIconButtonProps", "onPageChange", "onRowsPerPageChange", "page", "rowsPerPage", "rowsPerPageOptions", "SelectProps", "showFirstButton", "showLastButton"];
25098
+ const _excluded$4 = ["ActionsComponent", "backIconButtonProps", "className", "colSpan", "component", "count", "getItemAriaLabel", "labelDisplayedRows", "labelRowsPerPage", "nextIconButtonProps", "onPageChange", "onRowsPerPageChange", "page", "rowsPerPage", "rowsPerPageOptions", "SelectProps", "showFirstButton", "showLastButton"];
25000
25099
  const TablePaginationRoot = styled$1(TableCell$1, {
25001
25100
  name: 'MuiTablePagination',
25002
25101
  slot: 'Root',
@@ -25143,7 +25242,7 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
25143
25242
  showFirstButton = false,
25144
25243
  showLastButton = false
25145
25244
  } = props,
25146
- other = _objectWithoutPropertiesLoose(props, _excluded$3);
25245
+ other = _objectWithoutPropertiesLoose(props, _excluded$4);
25147
25246
  const ownerState = props;
25148
25247
  const classes = useUtilityClasses(ownerState);
25149
25248
  const MenuItemComponent = SelectProps.native ? 'option' : TablePaginationMenuItem;
@@ -25362,7 +25461,62 @@ process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-prop
25362
25461
  } : void 0;
25363
25462
  var TablePagination$1 = TablePagination;
25364
25463
 
25365
- const ServerSideControlledPagination = _ref => {
25464
+ const onServerSideSelectionStatusChange = (newSelectionModel, apiRef, selectionStatus, isRowSelectable, page, pageSize) => {
25465
+ const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
25466
+ let {
25467
+ model
25468
+ } = _ref;
25469
+ return isRowSelectable({
25470
+ row: model
25471
+ });
25472
+ }).map(_ref2 => {
25473
+ let {
25474
+ id
25475
+ } = _ref2;
25476
+ return id;
25477
+ }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
25478
+ const numberOfSelectableRowsInPage = selectableRowsInPage.length;
25479
+ const numberOfSelectedRows = newSelectionModel.length;
25480
+ const selectedRowsInPage = selectableRowsInPage.filter(rowId => newSelectionModel.includes(rowId));
25481
+ const numberOfSelectedRowsInPage = selectedRowsInPage.length;
25482
+ const isSamePage = (selectionStatus === null || selectionStatus === void 0 ? void 0 : selectionStatus.current.page) == page;
25483
+ const isSamePageSize = (selectionStatus === null || selectionStatus === void 0 ? void 0 : selectionStatus.current.pageSize) == pageSize;
25484
+
25485
+ // if previous status is `page`,
25486
+ // if page and pageSize didn't change
25487
+ // and all the rows are selected, deselect all row
25488
+ if (selectionStatus.current.type === 'page' && isSamePage && isSamePageSize && numberOfSelectedRowsInPage === numberOfSelectableRowsInPage) {
25489
+ setTimeout(() => {
25490
+ apiRef.current.selectRows(selectedRowsInPage, false, false);
25491
+ }, 0);
25492
+ }
25493
+ if (numberOfSelectedRowsInPage === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage != 0) {
25494
+ selectionStatus.current = {
25495
+ type: 'page',
25496
+ numberOfSelectedRows,
25497
+ numberOfSelectedRowsInPage,
25498
+ page,
25499
+ pageSize
25500
+ };
25501
+ } else if (numberOfSelectedRows > 0) {
25502
+ selectionStatus.current = {
25503
+ type: 'other',
25504
+ numberOfSelectedRows,
25505
+ numberOfSelectedRowsInPage,
25506
+ page,
25507
+ pageSize
25508
+ };
25509
+ } else {
25510
+ selectionStatus.current = {
25511
+ type: 'none',
25512
+ numberOfSelectedRows,
25513
+ numberOfSelectedRowsInPage,
25514
+ page,
25515
+ pageSize
25516
+ };
25517
+ }
25518
+ };
25519
+ const ServerSideControlledPagination = _ref3 => {
25366
25520
  let {
25367
25521
  selectionStatus,
25368
25522
  displaySelection,
@@ -25375,7 +25529,7 @@ const ServerSideControlledPagination = _ref => {
25375
25529
  rowsPerPageOptions,
25376
25530
  paginationProps,
25377
25531
  rowCount
25378
- } = _ref;
25532
+ } = _ref3;
25379
25533
  const totalNumberOfRowsInTable = rowCount;
25380
25534
  const totalRowsLabel = `${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected`;
25381
25535
  const pageRowsLabel = `All ${selectionStatus.numberOfSelectedRowsInPage} selectable rows on this page are selected${selectionStatus.numberOfSelectedRows != selectionStatus.numberOfSelectedRowsInPage ? ` (${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected in total)` : ''}.`;
@@ -25446,79 +25600,495 @@ const ControlledPagination = _ref3 => {
25446
25600
  onClick: () => {
25447
25601
  apiRef.current.selectRows(numberOfSelectableRowsInTable ? selectableRowsInTable : apiRef.current.getAllRowIds());
25448
25602
  }
25449
- }, "Select all ", numberOfSelectableRowsInTable, numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : '', " rows in the table.")) : selectionStatus.type === 'table' ? /*#__PURE__*/React__default.createElement(Text, {
25450
- fontSize: "14px"
25451
- }, `All ${selectionStatus.numberOfSelectedRows}${numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : ''} rows in the table are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
25452
- onClick: () => {
25453
- apiRef.current.selectRows([], false, true);
25603
+ }, "Select all ", numberOfSelectableRowsInTable, numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : '', " rows in the table.")) : selectionStatus.type === 'table' ? /*#__PURE__*/React__default.createElement(Text, {
25604
+ fontSize: "14px"
25605
+ }, `All ${selectionStatus.numberOfSelectedRows}${numberOfFilteredRowsInTable !== numberOfSelectableRowsInTable ? ' selectable' : ''} rows in the table are selected. `, /*#__PURE__*/React__default.createElement(LinkButton, {
25606
+ onClick: () => {
25607
+ apiRef.current.selectRows([], false, true);
25608
+ }
25609
+ }, "Clear selection.")) : selectionStatus.type === 'other' ? /*#__PURE__*/React__default.createElement(Text, {
25610
+ fontSize: "14px"
25611
+ }, `${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected`) : /*#__PURE__*/React__default.createElement(Text, null)) : null, displayPagination ? /*#__PURE__*/React__default.createElement(TablePagination$1, _extends$2({
25612
+ component: "div",
25613
+ count: numberOfFilteredRowsInTable,
25614
+ page: page,
25615
+ onPageChange: (event, newPage) => onPageChange(newPage),
25616
+ rowsPerPage: pageSize,
25617
+ onRowsPerPageChange: event => {
25618
+ onPageSizeChange(parseInt(event.target.value, 10));
25619
+ },
25620
+ rowsPerPageOptions: displayRowsPerPage ? rowsPerPageOptions : []
25621
+ }, paginationProps)) : null);
25622
+ };
25623
+
25624
+ const _excluded$3 = ["hideToolbar", "RenderedToolbar", "filterModel", "onFilterModelChange", "pagination", "paginationPlacement", "selectionStatus", "apiRef", "isRowSelectable", "page", "onPageChange", "pageSize", "onPageSizeChange", "rowsPerPageOptions", "paginationProps", "paginationMode", "rowCount"];
25625
+ const ToolbarWrapper = _ref => {
25626
+ let {
25627
+ hideToolbar,
25628
+ RenderedToolbar,
25629
+ filterModel,
25630
+ onFilterModelChange,
25631
+ pagination,
25632
+ paginationPlacement,
25633
+ selectionStatus,
25634
+ apiRef,
25635
+ isRowSelectable,
25636
+ page,
25637
+ onPageChange,
25638
+ pageSize,
25639
+ onPageSizeChange,
25640
+ rowsPerPageOptions,
25641
+ paginationProps,
25642
+ paginationMode = 'client',
25643
+ rowCount
25644
+ } = _ref,
25645
+ forwardedProps = _objectWithoutProperties(_ref, _excluded$3);
25646
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !hideToolbar ? /*#__PURE__*/React__default.createElement(RenderedToolbar, _extends$2({}, forwardedProps, {
25647
+ filterModel: filterModel,
25648
+ onFilterModelChange: onFilterModelChange
25649
+ })) : null, pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, {
25650
+ displaySelection: true,
25651
+ displayRowsPerPage: false,
25652
+ displayPagination: ['top', 'both'].includes(paginationPlacement),
25653
+ selectionStatus: selectionStatus.current,
25654
+ page: page,
25655
+ onPageChange: onPageChange,
25656
+ pageSize: pageSize,
25657
+ onPageSizeChange: onPageSizeChange,
25658
+ rowsPerPageOptions: rowsPerPageOptions,
25659
+ paginationProps: paginationProps,
25660
+ rowCount: rowCount
25661
+ }) : /*#__PURE__*/React__default.createElement(ControlledPagination, {
25662
+ displaySelection: true,
25663
+ displayRowsPerPage: false,
25664
+ displayPagination: ['top', 'both'].includes(paginationPlacement),
25665
+ selectionStatus: selectionStatus.current,
25666
+ apiRef: apiRef,
25667
+ isRowSelectable: isRowSelectable,
25668
+ page: page,
25669
+ onPageChange: onPageChange,
25670
+ pageSize: pageSize,
25671
+ onPageSizeChange: onPageSizeChange,
25672
+ rowsPerPageOptions: rowsPerPageOptions,
25673
+ paginationProps: paginationProps
25674
+ }) : null);
25675
+ };
25676
+
25677
+ const useControlledDatagridState = _ref => {
25678
+ var _initialState$paginat, _initialState$paginat2;
25679
+ let {
25680
+ initialState,
25681
+ rowsPerPageOptions,
25682
+ propsColumnVisibilityModel,
25683
+ propsFilterModel,
25684
+ propsOnColumnVisibilityModelChange,
25685
+ propsOnFilterModelChange,
25686
+ propsOnPageChange,
25687
+ propsOnPageSizeChange,
25688
+ propsOnPinnedColumnsChange,
25689
+ propsOnSortModelChange,
25690
+ propsPage,
25691
+ propsPageSize,
25692
+ propsPinnedColumns,
25693
+ propsSortModel
25694
+ } = _ref;
25695
+ const [filterModel, setFilterModel] = useState(propsFilterModel);
25696
+ useEffect(() => {
25697
+ setFilterModel(propsFilterModel);
25698
+ }, [propsFilterModel]);
25699
+ const onFilterModelChange = (model, details) => {
25700
+ if (propsOnFilterModelChange) {
25701
+ propsOnFilterModelChange(model, details);
25702
+ } else {
25703
+ setFilterModel(model);
25704
+ }
25705
+ };
25706
+ const [columnVisibilityModel, setColumnVisibilityModel] = useState(propsColumnVisibilityModel);
25707
+ useEffect(() => {
25708
+ setColumnVisibilityModel(propsColumnVisibilityModel);
25709
+ }, [propsColumnVisibilityModel]);
25710
+ const onColumnVisibilityModelChange = (model, details) => {
25711
+ if (propsOnColumnVisibilityModelChange) {
25712
+ propsOnColumnVisibilityModelChange(model, details);
25713
+ } else {
25714
+ setColumnVisibilityModel(model);
25454
25715
  }
25455
- }, "Clear selection.")) : selectionStatus.type === 'other' ? /*#__PURE__*/React__default.createElement(Text, {
25456
- fontSize: "14px"
25457
- }, `${selectionStatus.numberOfSelectedRows} row${selectionStatus.numberOfSelectedRows > 1 ? 's' : ''} selected`) : /*#__PURE__*/React__default.createElement(Text, null)) : null, displayPagination ? /*#__PURE__*/React__default.createElement(TablePagination$1, _extends$2({
25458
- component: "div",
25459
- count: numberOfFilteredRowsInTable,
25460
- page: page,
25461
- onPageChange: (event, newPage) => onPageChange(newPage),
25462
- rowsPerPage: pageSize,
25463
- onRowsPerPageChange: event => {
25464
- onPageSizeChange(parseInt(event.target.value, 10));
25465
- },
25466
- rowsPerPageOptions: displayRowsPerPage ? rowsPerPageOptions : []
25467
- }, paginationProps)) : null);
25716
+ };
25717
+ const [pinnedColumns, setPinnedColumns] = useState(propsPinnedColumns);
25718
+ useEffect(() => {
25719
+ setPinnedColumns(propsPinnedColumns);
25720
+ }, [propsPinnedColumns]);
25721
+ const onPinnedColumnsChange = (model, details) => {
25722
+ if (propsOnPinnedColumnsChange) {
25723
+ propsOnPinnedColumnsChange(model, details);
25724
+ } else {
25725
+ setPinnedColumns(model);
25726
+ }
25727
+ };
25728
+ const [sortModel, setSortModel] = useState(propsSortModel);
25729
+ useEffect(() => {
25730
+ setSortModel(propsSortModel);
25731
+ }, [propsSortModel]);
25732
+ const onSortModelChange = (model, details) => {
25733
+ if (propsOnSortModelChange) {
25734
+ propsOnSortModelChange(model, details);
25735
+ } else {
25736
+ setSortModel(model);
25737
+ }
25738
+ };
25739
+ const [page, setPage] = useState((initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat = initialState.pagination) === null || _initialState$paginat === void 0 ? void 0 : _initialState$paginat.page) || propsPage || 0);
25740
+ const [pageSize, setPageSize] = useState((initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat2 = initialState.pagination) === null || _initialState$paginat2 === void 0 ? void 0 : _initialState$paginat2.pageSize) || propsPageSize || (rowsPerPageOptions === null || rowsPerPageOptions === void 0 ? void 0 : rowsPerPageOptions[0]) || 25);
25741
+ const onPageChange = page => {
25742
+ if (propsOnPageChange) {
25743
+ propsOnPageChange(page, undefined);
25744
+ } else {
25745
+ setPage(page);
25746
+ }
25747
+ };
25748
+ useEffect(() => {
25749
+ if (propsPage || propsPage === 0) {
25750
+ setPage(propsPage);
25751
+ }
25752
+ }, [propsPage]);
25753
+ const onPageSizeChange = pageSize => {
25754
+ onPageChange(0);
25755
+ if (propsOnPageSizeChange) {
25756
+ propsOnPageSizeChange(pageSize, undefined);
25757
+ } else {
25758
+ setPageSize(pageSize);
25759
+ }
25760
+ };
25761
+ useEffect(() => {
25762
+ if (propsPageSize) {
25763
+ setPageSize(propsPageSize);
25764
+ }
25765
+ }, [propsPageSize]);
25766
+ return {
25767
+ filterModel,
25768
+ onFilterModelChange,
25769
+ columnVisibilityModel,
25770
+ onColumnVisibilityModelChange,
25771
+ pinnedColumns,
25772
+ onPinnedColumnsChange,
25773
+ sortModel,
25774
+ onSortModelChange,
25775
+ page,
25776
+ pageSize,
25777
+ onPageChange,
25778
+ onPageSizeChange
25779
+ };
25468
25780
  };
25469
25781
 
25470
- const _excluded$2 = ["hideToolbar", "RenderedToolbar", "filterModel", "onFilterModelChange", "pagination", "paginationPlacement", "selectionStatus", "apiRef", "isRowSelectable", "page", "onPageChange", "pageSize", "onPageSizeChange", "rowsPerPageOptions", "paginationProps", "paginationMode", "rowCount"];
25471
- const ToolbarWrapper = _ref => {
25472
- let {
25782
+ const _excluded$2 = ["apiRef", "autoHeight", "className", "columnTypes", "components", "componentsProps", "filterModel", "columnVisibilityModel", "pinnedColumns", "sortModel", "height", "hideToolbar", "initialState", "isRowSelectable", "license", "onFilterModelChange", "onPageChange", "onPageSizeChange", "onColumnVisibilityModelChange", "onPinnedColumnsChange", "onSortModelChange", "selectionModel", "onSelectionModelChange", "page", "pageSize", "pagination", "paginationPlacement", "paginationProps", "rows", "rowsPerPageOptions", "sx", "theme", "paginationMode", "rowCount"];
25783
+ const COMPONENT_NAME$2 = 'DataGrid';
25784
+ const CLASSNAME$2 = 'redsift-datagrid';
25785
+ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
25786
+ const datagridRef = ref || useRef();
25787
+ const {
25788
+ apiRef: propsApiRef,
25789
+ autoHeight,
25790
+ className,
25791
+ columnTypes: propsColumnTypes,
25792
+ components,
25793
+ componentsProps,
25794
+ filterModel: propsFilterModel,
25795
+ columnVisibilityModel: propsColumnVisibilityModel,
25796
+ pinnedColumns: propsPinnedColumns,
25797
+ sortModel: propsSortModel,
25798
+ height: propsHeight,
25473
25799
  hideToolbar,
25474
- RenderedToolbar,
25475
- filterModel,
25476
- onFilterModelChange,
25477
- pagination,
25478
- paginationPlacement,
25479
- selectionStatus,
25480
- apiRef,
25800
+ initialState,
25481
25801
  isRowSelectable,
25482
- page,
25483
- onPageChange,
25484
- pageSize,
25485
- onPageSizeChange,
25486
- rowsPerPageOptions,
25802
+ license = process.env.MUI_LICENSE_KEY,
25803
+ onFilterModelChange: propsOnFilterModelChange,
25804
+ onPageChange: propsOnPageChange,
25805
+ onPageSizeChange: propsOnPageSizeChange,
25806
+ onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
25807
+ onPinnedColumnsChange: propsOnPinnedColumnsChange,
25808
+ onSortModelChange: propsOnSortModelChange,
25809
+ selectionModel: propsSelectionModel,
25810
+ onSelectionModelChange,
25811
+ page: propsPage,
25812
+ pageSize: propsPageSize,
25813
+ pagination,
25814
+ paginationPlacement = 'both',
25487
25815
  paginationProps,
25816
+ rows,
25817
+ rowsPerPageOptions,
25818
+ sx,
25819
+ theme: propsTheme,
25488
25820
  paginationMode = 'client',
25489
25821
  rowCount
25490
- } = _ref,
25491
- forwardedProps = _objectWithoutProperties(_ref, _excluded$2);
25492
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !hideToolbar ? /*#__PURE__*/React__default.createElement(RenderedToolbar, _extends$2({}, forwardedProps, {
25822
+ } = props,
25823
+ forwardedProps = _objectWithoutProperties(props, _excluded$2);
25824
+ const theme = useTheme$4(propsTheme);
25825
+ const _apiRef = useGridApiRef();
25826
+ const apiRef = propsApiRef !== null && propsApiRef !== void 0 ? propsApiRef : _apiRef;
25827
+ const RenderedToolbar = components !== null && components !== void 0 && components.Toolbar ? components.Toolbar : Toolbar$2;
25828
+ LicenseInfo.setLicenseKey(license);
25829
+ const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
25830
+ const {
25831
+ columnVisibilityModel,
25832
+ filterModel,
25833
+ onColumnVisibilityModelChange,
25834
+ onFilterModelChange,
25835
+ onPageChange,
25836
+ onPageSizeChange,
25837
+ onPinnedColumnsChange,
25838
+ onSortModelChange,
25839
+ page,
25840
+ pageSize,
25841
+ pinnedColumns,
25842
+ sortModel
25843
+ } = useControlledDatagridState({
25844
+ initialState,
25845
+ rowsPerPageOptions,
25846
+ propsColumnVisibilityModel,
25847
+ propsFilterModel,
25848
+ propsOnColumnVisibilityModelChange,
25849
+ propsOnFilterModelChange,
25850
+ propsOnPinnedColumnsChange,
25851
+ propsOnSortModelChange,
25852
+ propsPage,
25853
+ propsPageSize,
25854
+ propsPinnedColumns,
25855
+ propsSortModel,
25856
+ propsOnPageChange,
25857
+ propsOnPageSizeChange
25858
+ });
25859
+ const [selectionModel, setSelectionModel] = useState(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
25860
+ useEffect(() => {
25861
+ setSelectionModel(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
25862
+ }, [propsSelectionModel]);
25863
+ const selectionStatus = useRef({
25864
+ type: 'none',
25865
+ numberOfSelectedRows: 0,
25866
+ numberOfSelectedRowsInPage: 0,
25867
+ page,
25868
+ pageSize
25869
+ });
25870
+
25871
+ // in server-side pagination we want to update the selection status
25872
+ // every time we navigate between pages, resize our page or select something
25873
+ useEffect(() => {
25874
+ if (paginationMode == 'server') {
25875
+ onServerSideSelectionStatusChange(Array.isArray(selectionModel) ? selectionModel : [selectionModel], apiRef, selectionStatus, isRowSelectable, page, pageSize);
25876
+ }
25877
+ }, [selectionModel, page, pageSize]);
25878
+ if (!Array.isArray(rows)) {
25879
+ return null;
25880
+ }
25881
+ const muiTheme = useMemo(() => createTheme({
25882
+ palette: {
25883
+ mode: theme,
25884
+ primary: {
25885
+ main: RedsiftColorBlueN
25886
+ },
25887
+ background: {
25888
+ default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,
25889
+ paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite
25890
+ }
25891
+ }
25892
+ }), [theme]);
25893
+ return /*#__PURE__*/React__default.createElement(ThemeProvider$4, {
25894
+ value: {
25895
+ theme
25896
+ }
25897
+ }, /*#__PURE__*/React__default.createElement(ThemeProvider$1, {
25898
+ theme: muiTheme
25899
+ }, /*#__PURE__*/React__default.createElement(StyledDataGrid, {
25900
+ ref: datagridRef,
25901
+ className: classNames(DataGrid.className, className),
25902
+ $height: height
25903
+ }, /*#__PURE__*/React__default.createElement(DataGridPro, _extends$2({}, forwardedProps, {
25904
+ rowCount: rowCount,
25905
+ apiRef: apiRef,
25906
+ autoHeight: autoHeight,
25907
+ checkboxSelectionVisibleOnly: Boolean(pagination),
25908
+ columnTypes: _objectSpread2(_objectSpread2({}, customColumnTypes), propsColumnTypes),
25909
+ components: _objectSpread2(_objectSpread2({
25910
+ BaseButton,
25911
+ BaseCheckbox,
25912
+ // BaseTextField,
25913
+ BasePopper,
25914
+ ColumnFilteredIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25915
+ displayName: "ColumnFilteredIcon"
25916
+ })),
25917
+ ColumnSelectorIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25918
+ displayName: "ColumnSelectorIcon"
25919
+ })),
25920
+ ColumnSortedAscendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25921
+ displayName: "ColumnSortedAscendingIcon"
25922
+ })),
25923
+ ColumnSortedDescendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25924
+ displayName: "ColumnSortedDescendingIcon"
25925
+ })),
25926
+ DensityCompactIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25927
+ displayName: "DensityCompactIcon"
25928
+ })),
25929
+ DensityStandardIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25930
+ displayName: "DensityStandardIcon"
25931
+ })),
25932
+ DensityComfortableIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25933
+ displayName: "DensityComfortableIcon"
25934
+ })),
25935
+ DetailPanelCollapseIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25936
+ displayName: "DetailPanelCollapseIcon"
25937
+ })),
25938
+ DetailPanelExpandIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25939
+ displayName: "DetailPanelExpandIcon"
25940
+ })),
25941
+ ExportIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({}, props, {
25942
+ displayName: "ExportIcon"
25943
+ })),
25944
+ OpenFilterButtonIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends$2({
25945
+ displayName: "OpenFilterButtonIcon"
25946
+ }, props))
25947
+ }, components), {}, {
25948
+ Toolbar: ToolbarWrapper,
25949
+ Pagination: props => pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends$2({}, props, {
25950
+ displaySelection: false,
25951
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
25952
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
25953
+ selectionStatus: selectionStatus.current,
25954
+ page: page,
25955
+ onPageChange: onPageChange,
25956
+ pageSize: pageSize,
25957
+ onPageSizeChange: onPageSizeChange,
25958
+ rowsPerPageOptions: rowsPerPageOptions,
25959
+ paginationProps: paginationProps,
25960
+ paginationMode: paginationMode,
25961
+ rowCount: rowCount
25962
+ })) : /*#__PURE__*/React__default.createElement(ControlledPagination, _extends$2({}, props, {
25963
+ displaySelection: false,
25964
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
25965
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
25966
+ selectionStatus: selectionStatus.current,
25967
+ apiRef: apiRef,
25968
+ isRowSelectable: isRowSelectable,
25969
+ page: page,
25970
+ onPageChange: onPageChange,
25971
+ pageSize: pageSize,
25972
+ onPageSizeChange: onPageSizeChange,
25973
+ rowsPerPageOptions: rowsPerPageOptions,
25974
+ paginationProps: paginationProps,
25975
+ paginationMode: paginationMode
25976
+ })) : null
25977
+ }),
25978
+ componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
25979
+ toolbar: _objectSpread2({
25980
+ hideToolbar,
25981
+ RenderedToolbar,
25982
+ filterModel,
25983
+ onFilterModelChange,
25984
+ pagination,
25985
+ paginationPlacement,
25986
+ selectionStatus,
25987
+ apiRef,
25988
+ isRowSelectable,
25989
+ page,
25990
+ onPageChange,
25991
+ pageSize,
25992
+ onPageSizeChange,
25993
+ rowsPerPageOptions,
25994
+ paginationProps,
25995
+ paginationMode,
25996
+ rowCount
25997
+ }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbar)
25998
+ }),
25493
25999
  filterModel: filterModel,
25494
- onFilterModelChange: onFilterModelChange
25495
- })) : null, pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, {
25496
- displaySelection: true,
25497
- displayRowsPerPage: false,
25498
- displayPagination: ['top', 'both'].includes(paginationPlacement),
25499
- selectionStatus: selectionStatus.current,
25500
- page: page,
25501
- onPageChange: onPageChange,
25502
- pageSize: pageSize,
25503
- onPageSizeChange: onPageSizeChange,
25504
- rowsPerPageOptions: rowsPerPageOptions,
25505
- paginationProps: paginationProps,
25506
- rowCount: rowCount
25507
- }) : /*#__PURE__*/React__default.createElement(ControlledPagination, {
25508
- displaySelection: true,
25509
- displayRowsPerPage: false,
25510
- displayPagination: ['top', 'both'].includes(paginationPlacement),
25511
- selectionStatus: selectionStatus.current,
25512
- apiRef: apiRef,
26000
+ columnVisibilityModel: columnVisibilityModel,
26001
+ pinnedColumns: pinnedColumns,
26002
+ sortModel: sortModel,
26003
+ initialState: initialState,
25513
26004
  isRowSelectable: isRowSelectable,
26005
+ onFilterModelChange: onFilterModelChange,
26006
+ onColumnVisibilityModelChange: onColumnVisibilityModelChange,
26007
+ onPinnedColumnsChange: onPinnedColumnsChange,
26008
+ onSortModelChange: onSortModelChange,
26009
+ pagination: pagination,
26010
+ paginationMode: paginationMode,
26011
+ keepNonExistentRowsSelected: paginationMode == 'server',
26012
+ rows: rows,
26013
+ rowsPerPageOptions: rowsPerPageOptions,
25514
26014
  page: page,
25515
26015
  onPageChange: onPageChange,
25516
26016
  pageSize: pageSize,
25517
26017
  onPageSizeChange: onPageSizeChange,
25518
- rowsPerPageOptions: rowsPerPageOptions,
25519
- paginationProps: paginationProps
25520
- }) : null);
25521
- };
26018
+ selectionModel: selectionModel,
26019
+ onSelectionModelChange: (newSelectionModel, details) => {
26020
+ if (pagination && paginationMode != 'server') {
26021
+ const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
26022
+ let {
26023
+ model
26024
+ } = _ref;
26025
+ return isRowSelectable({
26026
+ row: model
26027
+ });
26028
+ }).map(_ref2 => {
26029
+ let {
26030
+ id
26031
+ } = _ref2;
26032
+ return id;
26033
+ }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
26034
+ const numberOfSelectableRowsInPage = selectableRowsInPage.length;
26035
+ const selectableRowsInTable = isRowSelectable ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref3 => {
26036
+ let {
26037
+ model
26038
+ } = _ref3;
26039
+ return isRowSelectable({
26040
+ row: model
26041
+ });
26042
+ }).map(_ref4 => {
26043
+ let {
26044
+ id
26045
+ } = _ref4;
26046
+ return id;
26047
+ }) : gridFilteredSortedRowIdsSelector(apiRef);
26048
+ const numberOfSelectableRowsInTable = selectableRowsInTable.length;
26049
+ const numberOfSelectedRows = newSelectionModel.length;
26050
+ if (selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage || selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable || selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage) {
26051
+ setTimeout(() => {
26052
+ apiRef.current.selectRows([], true, true);
26053
+ }, 0);
26054
+ }
26055
+ if (numberOfSelectedRows === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
26056
+ selectionStatus.current = {
26057
+ type: 'page',
26058
+ numberOfSelectedRows
26059
+ };
26060
+ } else if (numberOfSelectedRows === numberOfSelectableRowsInTable && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
26061
+ selectionStatus.current = {
26062
+ type: 'table',
26063
+ numberOfSelectedRows
26064
+ };
26065
+ } else if (numberOfSelectedRows > 0) {
26066
+ selectionStatus.current = {
26067
+ type: 'other',
26068
+ numberOfSelectedRows
26069
+ };
26070
+ } else {
26071
+ selectionStatus.current = {
26072
+ type: 'none',
26073
+ numberOfSelectedRows
26074
+ };
26075
+ }
26076
+ }
26077
+ onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel, details);
26078
+ },
26079
+ sx: _objectSpread2(_objectSpread2({}, sx), {}, {
26080
+ '.MuiDataGrid-columnHeaders': {
26081
+ flexDirection: 'column',
26082
+ alignItems: 'normal'
26083
+ },
26084
+ '.MuiDataGrid-selectedRowCount': {
26085
+ margin: 'none'
26086
+ }
26087
+ })
26088
+ })))));
26089
+ });
26090
+ DataGrid.className = CLASSNAME$2;
26091
+ DataGrid.displayName = COMPONENT_NAME$2;
25522
26092
 
25523
26093
  // Get and Set data from LocalStorage WITHOUT useState
25524
26094
 
@@ -25550,35 +26120,12 @@ const useFetchState = (defaultValue, key) => {
25550
26120
  return [parsedValue, updateValue];
25551
26121
  };
25552
26122
 
25553
- function useLocalStorage(key, defaultValue) {
25554
- const [value, setValue] = useState(() => {
25555
- let currentValue;
25556
- try {
25557
- currentValue = JSON.parse(localStorage.getItem(key) || String(defaultValue));
25558
- } catch (error) {
25559
- currentValue = defaultValue;
25560
- }
25561
- return currentValue;
25562
- });
25563
- useEffect(() => {
25564
- try {
25565
- localStorage.setItem(key, JSON.stringify(value));
25566
- } catch (e) {
25567
- console.error('local-storage: error setting item into local storage: ', e);
25568
- }
25569
- }, [value, key]);
25570
- return [value, setValue];
25571
- }
25572
-
25573
26123
  const useTableStates = (id, version, customDefaults) => {
25574
- const [paginationModel, setPaginationModel] = useLocalStorage(buildStorageKey({
26124
+ const [paginationModel, setPaginationModel] = useFetchState('', buildStorageKey({
25575
26125
  id,
25576
26126
  version,
25577
26127
  category: PAGINATION_MODEL_KEY
25578
- }), {
25579
- page: 0,
25580
- pageSize: 10
25581
- });
26128
+ }));
25582
26129
  const [sortModel, setSortModel] = useFetchState(customDefaults && customDefaults[SORT_MODEL_KEY] ? customDefaults[SORT_MODEL_KEY] : '', buildStorageKey({
25583
26130
  id,
25584
26131
  version,
@@ -25682,6 +26229,7 @@ const useStatefulTable = props => {
25682
26229
  const {
25683
26230
  filterModel: filterParsed,
25684
26231
  sortModel: sortModelParsed,
26232
+ paginationModel: paginationModelParsed,
25685
26233
  columnVisibilityModel: visibilityModel,
25686
26234
  pinnedColumnsModel
25687
26235
  } = getModelsParsedOrUpdateLocalStorage(search || '', propsColumns, historyReplace, {
@@ -25689,6 +26237,8 @@ const useStatefulTable = props => {
25689
26237
  setLocalStorageFilters,
25690
26238
  localStorageSorting: sortModel,
25691
26239
  setLocalStorageSorting: setSortModel,
26240
+ localStoragePagination: paginationModel,
26241
+ setLocalStoragePagination: setPaginationModel,
25692
26242
  localStorageColumnsVisibility: visibilityModelLocalStorage,
25693
26243
  setLocalStorageColumnsVisibility: setVisibilityModelLocalStorage,
25694
26244
  localStoragePinnedColumns: pinnedColumns,
@@ -25702,10 +26252,18 @@ const useStatefulTable = props => {
25702
26252
  apiRef,
25703
26253
  columns,
25704
26254
  onFilterModelChange: (model, details) => {
25705
- propsOnFilterModelChange === null || propsOnFilterModelChange === void 0 ? void 0 : propsOnFilterModelChange(model, details);
26255
+ const filterModel = _objectSpread2(_objectSpread2({}, model), {}, {
26256
+ items: model.items.map(item => {
26257
+ const column = apiRef.current.getColumn(item.columnField);
26258
+ item.type = column.type || 'string';
26259
+ return item;
26260
+ })
26261
+ });
26262
+ propsOnFilterModelChange === null || propsOnFilterModelChange === void 0 ? void 0 : propsOnFilterModelChange(filterModel, details);
25706
26263
  updateUrl({
25707
- filterModel: model,
26264
+ filterModel: filterModel,
25708
26265
  sortModel: sortModelParsed,
26266
+ paginationModel: paginationModelParsed,
25709
26267
  columnsModel: apiRef.current.state.columns.columnVisibilityModel,
25710
26268
  pinnedColumnsModel: pinnedColumnsModel
25711
26269
  }, search, historyReplace, columns);
@@ -25716,158 +26274,85 @@ const useStatefulTable = props => {
25716
26274
  updateUrl({
25717
26275
  filterModel: filterParsed,
25718
26276
  sortModel: model,
26277
+ paginationModel: paginationModelParsed,
25719
26278
  columnsModel: apiRef.current.state.columns.columnVisibilityModel,
25720
26279
  pinnedColumnsModel: pinnedColumnsModel
25721
26280
  }, search, historyReplace, columns);
25722
26281
  },
25723
26282
  sortModel: sortModelParsed,
25724
26283
  onPinnedColumnsChange: (pinnedColumns, details) => {
25725
- propsOnPinnedColumnsChange === null || propsOnPinnedColumnsChange === void 0 ? void 0 : propsOnPinnedColumnsChange(pinnedColumns, details);
25726
- updateUrl({
25727
- filterModel: filterParsed,
25728
- sortModel: sortModelParsed,
25729
- columnsModel: apiRef.current.state.columns.columnVisibilityModel,
25730
- pinnedColumnsModel: pinnedColumns
25731
- }, search, historyReplace, columns);
25732
- },
25733
- pinnedColumns: pinnedColumnsModel,
25734
- page: paginationModel.page,
25735
- pageSize: paginationModel.pageSize,
25736
- onPageChange: (page, details) => {
25737
- propsOnPageChange === null || propsOnPageChange === void 0 ? void 0 : propsOnPageChange(page, details);
25738
- setPaginationModel({
25739
- page,
25740
- pageSize: paginationModel.pageSize
25741
- });
25742
- },
25743
- onPageSizeChange: (pageSize, details) => {
25744
- propsOnPageSizeChange === null || propsOnPageSizeChange === void 0 ? void 0 : propsOnPageSizeChange(pageSize, details);
25745
- setPaginationModel({
25746
- page: paginationModel.page,
25747
- pageSize
25748
- });
25749
- },
25750
- columnVisibilityModel: visibilityModel,
25751
- onColumnVisibilityModelChange: (columnsVisibilityModel, details) => {
25752
- propsOnColumnVisibilityModelChange === null || propsOnColumnVisibilityModelChange === void 0 ? void 0 : propsOnColumnVisibilityModelChange(columnsVisibilityModel, details);
25753
- updateUrl({
25754
- filterModel: filterParsed,
25755
- sortModel: sortModelParsed,
25756
- columnsModel: columnsVisibilityModel,
25757
- pinnedColumnsModel: pinnedColumnsModel
25758
- }, search, historyReplace, columns);
25759
- },
25760
- onColumnWidthChange: (params, event, details) => {
25761
- propsOnColumnWidthChange === null || propsOnColumnWidthChange === void 0 ? void 0 : propsOnColumnWidthChange(params, event, details);
25762
- onColumnDimensionChange({
25763
- newWidth: params.width,
25764
- field: params.colDef.field
25765
- });
25766
- }
25767
- };
25768
- };
25769
-
25770
- const _excluded$1 = ["apiRef", "columns", "onColumnVisibilityModelChange", "onColumnWidthChange", "onFilterModelChange", "onPageChange", "onPageSizeChange", "onPinnedColumnsChange", "onSortModelChange", "pinnedCustomColumns", "rows", "useRouter"],
25771
- _excluded2 = ["apiRef", "autoHeight", "className", "columnTypes", "components", "componentsProps", "filterModel", "columnVisibilityModel", "pinnedColumns", "sortModel", "height", "hideToolbar", "initialState", "isRowSelectable", "isStateful", "license", "onFilterModelChange", "onPageChange", "onPageSizeChange", "onColumnVisibilityModelChange", "onPinnedColumnsChange", "onSortModelChange", "selectionModel", "onSelectionModelChange", "page", "pageSize", "pagination", "paginationPlacement", "paginationProps", "pinnedCustomColumns", "rows", "rowsPerPageOptions", "sx", "theme", "useRouter", "paginationMode", "rowCount"];
25772
- const COMPONENT_NAME$1 = 'DataGrid';
25773
- const CLASSNAME$1 = 'redsift-datagrid';
25774
- const onServerSideSelectionStatusChange = (newSelectionModel, apiRef, selectionStatus, isRowSelectable, page, pageSize) => {
25775
- const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
25776
- let {
25777
- model
25778
- } = _ref;
25779
- return isRowSelectable({
25780
- row: model
25781
- });
25782
- }).map(_ref2 => {
25783
- let {
25784
- id
25785
- } = _ref2;
25786
- return id;
25787
- }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
25788
- const numberOfSelectableRowsInPage = selectableRowsInPage.length;
25789
- const numberOfSelectedRows = newSelectionModel.length;
25790
- const selectedRowsInPage = selectableRowsInPage.filter(rowId => newSelectionModel.includes(rowId));
25791
- const numberOfSelectedRowsInPage = selectedRowsInPage.length;
25792
- const isSamePage = (selectionStatus === null || selectionStatus === void 0 ? void 0 : selectionStatus.current.page) == page;
25793
- const isSamePageSize = (selectionStatus === null || selectionStatus === void 0 ? void 0 : selectionStatus.current.pageSize) == pageSize;
25794
-
25795
- // if previous status is `page`,
25796
- // if page and pageSize didn't change
25797
- // and all the rows are selected, deselect all row
25798
- if (selectionStatus.current.type === 'page' && isSamePage && isSamePageSize && numberOfSelectedRowsInPage === numberOfSelectableRowsInPage) {
25799
- setTimeout(() => {
25800
- apiRef.current.selectRows(selectedRowsInPage, false, false);
25801
- }, 0);
25802
- }
25803
- if (numberOfSelectedRowsInPage === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage != 0) {
25804
- selectionStatus.current = {
25805
- type: 'page',
25806
- numberOfSelectedRows,
25807
- numberOfSelectedRowsInPage,
25808
- page,
25809
- pageSize
25810
- };
25811
- } else if (numberOfSelectedRows > 0) {
25812
- selectionStatus.current = {
25813
- type: 'other',
25814
- numberOfSelectedRows,
25815
- numberOfSelectedRowsInPage,
25816
- page,
25817
- pageSize
25818
- };
25819
- } else {
25820
- selectionStatus.current = {
25821
- type: 'none',
25822
- numberOfSelectedRows,
25823
- numberOfSelectedRowsInPage,
25824
- page,
25825
- pageSize
25826
- };
25827
- }
26284
+ propsOnPinnedColumnsChange === null || propsOnPinnedColumnsChange === void 0 ? void 0 : propsOnPinnedColumnsChange(pinnedColumns, details);
26285
+ updateUrl({
26286
+ filterModel: filterParsed,
26287
+ sortModel: sortModelParsed,
26288
+ paginationModel: paginationModelParsed,
26289
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
26290
+ pinnedColumnsModel: pinnedColumns
26291
+ }, search, historyReplace, columns);
26292
+ },
26293
+ pinnedColumns: pinnedColumnsModel,
26294
+ page: paginationModelParsed.page,
26295
+ pageSize: paginationModelParsed.pageSize,
26296
+ onPageChange: (page, details) => {
26297
+ const direction = paginationModelParsed.page < page ? 'next' : 'back';
26298
+ propsOnPageChange === null || propsOnPageChange === void 0 ? void 0 : propsOnPageChange(page, details);
26299
+ updateUrl({
26300
+ filterModel: filterParsed,
26301
+ sortModel: sortModelParsed,
26302
+ paginationModel: {
26303
+ page,
26304
+ pageSize: paginationModelParsed.pageSize,
26305
+ direction
26306
+ },
26307
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
26308
+ pinnedColumnsModel: pinnedColumnsModel
26309
+ }, search, historyReplace, columns);
26310
+ },
26311
+ onPageSizeChange: (pageSize, details) => {
26312
+ propsOnPageSizeChange === null || propsOnPageSizeChange === void 0 ? void 0 : propsOnPageSizeChange(pageSize, details);
26313
+ updateUrl({
26314
+ filterModel: filterParsed,
26315
+ sortModel: sortModelParsed,
26316
+ paginationModel: {
26317
+ page: paginationModelParsed.page,
26318
+ pageSize,
26319
+ direction: paginationModelParsed.direction
26320
+ },
26321
+ columnsModel: apiRef.current.state.columns.columnVisibilityModel,
26322
+ pinnedColumnsModel: pinnedColumnsModel
26323
+ }, search, historyReplace, columns);
26324
+ },
26325
+ columnVisibilityModel: visibilityModel,
26326
+ onColumnVisibilityModelChange: (columnsVisibilityModel, details) => {
26327
+ propsOnColumnVisibilityModelChange === null || propsOnColumnVisibilityModelChange === void 0 ? void 0 : propsOnColumnVisibilityModelChange(columnsVisibilityModel, details);
26328
+ updateUrl({
26329
+ filterModel: filterParsed,
26330
+ sortModel: sortModelParsed,
26331
+ paginationModel: paginationModelParsed,
26332
+ columnsModel: columnsVisibilityModel,
26333
+ pinnedColumnsModel: pinnedColumnsModel
26334
+ }, search, historyReplace, columns);
26335
+ },
26336
+ onColumnWidthChange: (params, event, details) => {
26337
+ propsOnColumnWidthChange === null || propsOnColumnWidthChange === void 0 ? void 0 : propsOnColumnWidthChange(params, event, details);
26338
+ onColumnDimensionChange({
26339
+ newWidth: params.width,
26340
+ field: params.colDef.field
26341
+ });
26342
+ }
26343
+ };
25828
26344
  };
26345
+
26346
+ const _excluded$1 = ["apiRef", "autoHeight", "className", "columns", "columnTypes", "components", "componentsProps", "filterModel", "columnVisibilityModel", "pinnedColumns", "sortModel", "page", "pageSize", "height", "hideToolbar", "initialState", "isRowSelectable", "license", "onFilterModelChange", "selectionModel", "onColumnWidthChange", "onPageChange", "onPageSizeChange", "onSelectionModelChange", "onColumnVisibilityModelChange", "onPinnedColumnsChange", "onSortModelChange", "pagination", "paginationPlacement", "paginationProps", "pinnedCustomColumns", "rows", "rowsPerPageOptions", "sx", "theme", "useRouter", "paginationMode", "rowCount"];
26347
+ const COMPONENT_NAME$1 = 'DataGrid';
26348
+ const CLASSNAME$1 = 'redsift-datagrid';
25829
26349
  const StatefulDataGrid = /*#__PURE__*/forwardRef((props, ref) => {
25830
- const {
25831
- // density = 'standard',
25832
- apiRef,
25833
- columns,
25834
- onColumnVisibilityModelChange,
25835
- onColumnWidthChange,
25836
- onFilterModelChange,
25837
- onPageChange,
25838
- onPageSizeChange,
25839
- onPinnedColumnsChange,
25840
- onSortModelChange,
25841
- pinnedCustomColumns,
25842
- rows,
25843
- useRouter
25844
- } = props,
25845
- forwardedProps = _objectWithoutProperties(props, _excluded$1);
25846
- const statefulTableProps = useStatefulTable({
25847
- apiRef: apiRef,
25848
- columns,
25849
- onFilterModelChange,
25850
- onPinnedColumnsChange,
25851
- onSortModelChange,
25852
- onPageChange,
25853
- onPageSizeChange,
25854
- onColumnVisibilityModelChange,
25855
- onColumnWidthChange,
25856
- pinnedCustomColumns,
25857
- useRouter: useRouter
25858
- });
25859
- return /*#__PURE__*/React__default.createElement(DataGridPro, _extends$2({
25860
- ref: ref,
25861
- rows: rows
25862
- }, forwardedProps, statefulTableProps));
25863
- });
25864
- const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
25865
- var _initialState$paginat, _initialState$paginat2;
25866
26350
  const datagridRef = ref || useRef();
25867
26351
  const {
25868
26352
  apiRef: propsApiRef,
25869
26353
  autoHeight,
25870
26354
  className,
26355
+ columns,
25871
26356
  columnTypes: propsColumnTypes,
25872
26357
  components,
25873
26358
  componentsProps,
@@ -25875,22 +26360,22 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
25875
26360
  columnVisibilityModel: propsColumnVisibilityModel,
25876
26361
  pinnedColumns: propsPinnedColumns,
25877
26362
  sortModel: propsSortModel,
26363
+ page: propsPage,
26364
+ pageSize: propsPageSize,
25878
26365
  height: propsHeight,
25879
26366
  hideToolbar,
25880
26367
  initialState,
25881
26368
  isRowSelectable,
25882
- isStateful: propsIsStateful,
25883
26369
  license = process.env.MUI_LICENSE_KEY,
25884
26370
  onFilterModelChange: propsOnFilterModelChange,
26371
+ selectionModel: propsSelectionModel,
26372
+ onColumnWidthChange: propsOnColumnWidthChange,
25885
26373
  onPageChange: propsOnPageChange,
25886
26374
  onPageSizeChange: propsOnPageSizeChange,
26375
+ onSelectionModelChange,
25887
26376
  onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
25888
26377
  onPinnedColumnsChange: propsOnPinnedColumnsChange,
25889
26378
  onSortModelChange: propsOnSortModelChange,
25890
- selectionModel: propsSelectionModel,
25891
- onSelectionModelChange,
25892
- page: propsPage,
25893
- pageSize: propsPageSize,
25894
26379
  pagination,
25895
26380
  paginationPlacement = 'both',
25896
26381
  paginationProps,
@@ -25903,95 +26388,74 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
25903
26388
  paginationMode = 'client',
25904
26389
  rowCount
25905
26390
  } = props,
25906
- forwardedProps = _objectWithoutProperties(props, _excluded2);
26391
+ forwardedProps = _objectWithoutProperties(props, _excluded$1);
25907
26392
  const theme = useTheme$4(propsTheme);
25908
26393
  const _apiRef = useGridApiRef();
25909
26394
  const apiRef = propsApiRef !== null && propsApiRef !== void 0 ? propsApiRef : _apiRef;
25910
26395
  const RenderedToolbar = components !== null && components !== void 0 && components.Toolbar ? components.Toolbar : Toolbar$2;
25911
26396
  LicenseInfo.setLicenseKey(license);
25912
26397
  const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
25913
- const [filterModel, setFilterModel] = useState(propsFilterModel);
25914
- useEffect(() => {
25915
- setFilterModel(propsFilterModel);
25916
- }, [propsFilterModel]);
25917
- const onFilterModelChange = (model, details) => {
25918
- if (propsOnFilterModelChange) {
25919
- propsOnFilterModelChange(model, details);
25920
- } else {
25921
- setFilterModel(model);
25922
- }
25923
- };
25924
- const [columnVisibilityModel, setColumnVisibilityModel] = useState(propsColumnVisibilityModel);
25925
- useEffect(() => {
25926
- setColumnVisibilityModel(propsColumnVisibilityModel);
25927
- }, [propsColumnVisibilityModel]);
25928
- const onColumnVisibilityModelChange = (model, details) => {
25929
- if (propsOnColumnVisibilityModelChange) {
25930
- propsOnColumnVisibilityModelChange(model, details);
25931
- } else {
25932
- setColumnVisibilityModel(model);
25933
- }
25934
- };
25935
- const [pinnedColumns, setPinnedColumns] = useState(propsPinnedColumns);
25936
- useEffect(() => {
25937
- setPinnedColumns(propsPinnedColumns);
25938
- }, [propsPinnedColumns]);
25939
- const onPinnedColumnsChange = (model, details) => {
25940
- if (propsOnPinnedColumnsChange) {
25941
- propsOnPinnedColumnsChange(model, details);
25942
- } else {
25943
- setPinnedColumns(model);
25944
- }
25945
- };
25946
- const [sortModel, setSortModel] = useState(propsSortModel);
25947
- useEffect(() => {
25948
- setSortModel(propsSortModel);
25949
- }, [propsSortModel]);
25950
- const onSortModelChange = (model, details) => {
25951
- if (propsOnSortModelChange) {
25952
- propsOnSortModelChange(model, details);
25953
- } else {
25954
- setSortModel(model);
25955
- }
25956
- };
26398
+ const {
26399
+ onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,
26400
+ onFilterModelChange: controlledOnFilterModelChange,
26401
+ onPageChange: controlledOnPageChange,
26402
+ onPageSizeChange: controlledOnPageSizeChange,
26403
+ onPinnedColumnsChange: controlledOnPinnedColumnsChange,
26404
+ onSortModelChange: controlledOnSortModelChange
26405
+ } = useControlledDatagridState({
26406
+ initialState,
26407
+ rowsPerPageOptions,
26408
+ propsColumnVisibilityModel,
26409
+ propsFilterModel,
26410
+ propsOnColumnVisibilityModelChange,
26411
+ propsOnFilterModelChange,
26412
+ propsOnPinnedColumnsChange,
26413
+ propsOnSortModelChange,
26414
+ propsPage,
26415
+ propsPageSize,
26416
+ propsPinnedColumns,
26417
+ propsSortModel,
26418
+ propsOnPageChange,
26419
+ propsOnPageSizeChange
26420
+ });
26421
+ const {
26422
+ columnVisibilityModel,
26423
+ filterModel,
26424
+ onColumnVisibilityModelChange,
26425
+ onFilterModelChange,
26426
+ onPageChange,
26427
+ onPageSizeChange,
26428
+ onPinnedColumnsChange,
26429
+ onSortModelChange,
26430
+ page,
26431
+ pageSize,
26432
+ pinnedColumns,
26433
+ sortModel,
26434
+ onColumnWidthChange
26435
+ } = useStatefulTable({
26436
+ apiRef: apiRef,
26437
+ columns,
26438
+ onColumnVisibilityModelChange: controlledOnColumnVisibilityModelChange,
26439
+ onColumnWidthChange: propsOnColumnWidthChange,
26440
+ onFilterModelChange: controlledOnFilterModelChange,
26441
+ onPageChange: controlledOnPageChange,
26442
+ onPageSizeChange: controlledOnPageSizeChange,
26443
+ onPinnedColumnsChange: controlledOnPinnedColumnsChange,
26444
+ onSortModelChange: controlledOnSortModelChange,
26445
+ pinnedCustomColumns,
26446
+ useRouter: useRouter
26447
+ });
25957
26448
  const [selectionModel, setSelectionModel] = useState(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
25958
26449
  useEffect(() => {
25959
26450
  setSelectionModel(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
25960
26451
  }, [propsSelectionModel]);
25961
- const [page, setPage] = React__default.useState((initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat = initialState.pagination) === null || _initialState$paginat === void 0 ? void 0 : _initialState$paginat.page) || propsPage || 0);
25962
- const [pageSize, setPageSize] = React__default.useState((initialState === null || initialState === void 0 ? void 0 : (_initialState$paginat2 = initialState.pagination) === null || _initialState$paginat2 === void 0 ? void 0 : _initialState$paginat2.pageSize) || propsPageSize || (rowsPerPageOptions === null || rowsPerPageOptions === void 0 ? void 0 : rowsPerPageOptions[0]) || 100);
25963
26452
  const selectionStatus = useRef({
25964
26453
  type: 'none',
25965
26454
  numberOfSelectedRows: 0,
25966
26455
  numberOfSelectedRowsInPage: 0,
25967
26456
  page,
25968
- pageSize
26457
+ pageSize: pageSize
25969
26458
  });
25970
- const onPageChange = page => {
25971
- if (propsOnPageChange) {
25972
- propsOnPageChange(page, undefined);
25973
- } else {
25974
- setPage(page);
25975
- }
25976
- };
25977
- useEffect(() => {
25978
- if (propsPage || propsPage === 0) {
25979
- setPage(propsPage);
25980
- }
25981
- }, [propsPage]);
25982
- const onPageSizeChange = pageSize => {
25983
- onPageChange(0);
25984
- if (propsOnPageSizeChange) {
25985
- propsOnPageSizeChange(pageSize, undefined);
25986
- } else {
25987
- setPageSize(pageSize);
25988
- }
25989
- };
25990
- useEffect(() => {
25991
- if (propsPageSize) {
25992
- setPageSize(propsPageSize);
25993
- }
25994
- }, [propsPageSize]);
25995
26459
 
25996
26460
  // in server-side pagination we want to update the selection status
25997
26461
  // every time we navigate between pages, resize our page or select something
@@ -26015,8 +26479,6 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26015
26479
  }
26016
26480
  }
26017
26481
  }), [theme]);
26018
- const isStateful = propsIsStateful && useRouter;
26019
- const RenderedDataGrid = isStateful ? StatefulDataGrid : DataGridPro;
26020
26482
  return /*#__PURE__*/React__default.createElement(ThemeProvider$4, {
26021
26483
  value: {
26022
26484
  theme
@@ -26025,14 +26487,32 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26025
26487
  theme: muiTheme
26026
26488
  }, /*#__PURE__*/React__default.createElement(StyledDataGrid, {
26027
26489
  ref: datagridRef,
26028
- className: classNames(DataGrid.className, className),
26490
+ className: classNames(StatefulDataGrid.className, className),
26029
26491
  $height: height
26030
- }, /*#__PURE__*/React__default.createElement(RenderedDataGrid, _extends$2({}, isStateful ? {
26031
- pinnedCustomColumns,
26032
- useRouter
26033
- } : {}, forwardedProps, {
26034
- rowCount: rowCount,
26492
+ }, /*#__PURE__*/React__default.createElement(DataGridPro, _extends$2({}, forwardedProps, {
26035
26493
  apiRef: apiRef,
26494
+ columns: columns,
26495
+ columnVisibilityModel: columnVisibilityModel,
26496
+ filterModel: filterModel,
26497
+ onColumnVisibilityModelChange: onColumnVisibilityModelChange,
26498
+ onFilterModelChange: onFilterModelChange,
26499
+ onPageChange: onPageChange,
26500
+ onPageSizeChange: onPageSizeChange,
26501
+ onPinnedColumnsChange: onPinnedColumnsChange,
26502
+ onSortModelChange: onSortModelChange,
26503
+ page: page,
26504
+ pageSize: pageSize,
26505
+ pinnedColumns: pinnedColumns,
26506
+ sortModel: sortModel,
26507
+ rowsPerPageOptions: rowsPerPageOptions,
26508
+ onColumnWidthChange: onColumnWidthChange,
26509
+ initialState: initialState,
26510
+ isRowSelectable: isRowSelectable,
26511
+ pagination: pagination,
26512
+ paginationMode: paginationMode,
26513
+ keepNonExistentRowsSelected: paginationMode == 'server',
26514
+ rows: rows,
26515
+ rowCount: rowCount,
26036
26516
  autoHeight: autoHeight,
26037
26517
  checkboxSelectionVisibleOnly: Boolean(pagination),
26038
26518
  columnTypes: _objectSpread2(_objectSpread2({}, customColumnTypes), propsColumnTypes),
@@ -26076,34 +26556,36 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26076
26556
  }, props))
26077
26557
  }, components), {}, {
26078
26558
  Toolbar: ToolbarWrapper,
26079
- Pagination: props => pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends$2({}, props, {
26080
- displaySelection: false,
26081
- displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
26082
- displayPagination: ['bottom', 'both'].includes(paginationPlacement),
26083
- selectionStatus: selectionStatus.current,
26084
- page: page,
26085
- onPageChange: onPageChange,
26086
- pageSize: pageSize,
26087
- onPageSizeChange: onPageSizeChange,
26088
- rowsPerPageOptions: rowsPerPageOptions,
26089
- paginationProps: paginationProps,
26090
- paginationMode: paginationMode,
26091
- rowCount: rowCount
26092
- })) : /*#__PURE__*/React__default.createElement(ControlledPagination, _extends$2({}, props, {
26093
- displaySelection: false,
26094
- displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
26095
- displayPagination: ['bottom', 'both'].includes(paginationPlacement),
26096
- selectionStatus: selectionStatus.current,
26097
- apiRef: apiRef,
26098
- isRowSelectable: isRowSelectable,
26099
- page: page,
26100
- onPageChange: onPageChange,
26101
- pageSize: pageSize,
26102
- onPageSizeChange: onPageSizeChange,
26103
- rowsPerPageOptions: rowsPerPageOptions,
26104
- paginationProps: paginationProps,
26105
- paginationMode: paginationMode
26106
- })) : null
26559
+ Pagination: props => {
26560
+ return pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends$2({}, props, {
26561
+ displaySelection: false,
26562
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
26563
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
26564
+ selectionStatus: selectionStatus.current,
26565
+ page: page,
26566
+ pageSize: pageSize,
26567
+ onPageChange: onPageChange,
26568
+ onPageSizeChange: onPageSizeChange,
26569
+ rowsPerPageOptions: rowsPerPageOptions,
26570
+ paginationProps: paginationProps,
26571
+ paginationMode: paginationMode,
26572
+ rowCount: rowCount
26573
+ })) : /*#__PURE__*/React__default.createElement(ControlledPagination, _extends$2({}, props, {
26574
+ displaySelection: false,
26575
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
26576
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
26577
+ selectionStatus: selectionStatus.current,
26578
+ apiRef: apiRef,
26579
+ isRowSelectable: isRowSelectable,
26580
+ page: page,
26581
+ pageSize: pageSize,
26582
+ onPageChange: onPageChange,
26583
+ onPageSizeChange: onPageSizeChange,
26584
+ rowsPerPageOptions: rowsPerPageOptions,
26585
+ paginationProps: paginationProps,
26586
+ paginationMode: paginationMode
26587
+ })) : null;
26588
+ }
26107
26589
  }),
26108
26590
  componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
26109
26591
  toolbar: _objectSpread2({
@@ -26117,8 +26599,8 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26117
26599
  apiRef,
26118
26600
  isRowSelectable,
26119
26601
  page,
26120
- onPageChange,
26121
26602
  pageSize,
26603
+ onPageChange,
26122
26604
  onPageSizeChange,
26123
26605
  rowsPerPageOptions,
26124
26606
  paginationProps,
@@ -26126,55 +26608,34 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26126
26608
  rowCount
26127
26609
  }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbar)
26128
26610
  }),
26129
- filterModel: filterModel,
26130
- columnVisibilityModel: columnVisibilityModel,
26131
- pinnedColumns: pinnedColumns,
26132
- sortModel: sortModel,
26133
- initialState: initialState,
26134
- isRowSelectable: isRowSelectable,
26135
- onFilterModelChange: onFilterModelChange,
26136
- onColumnVisibilityModelChange: onColumnVisibilityModelChange
26137
- // onColumnWidthChange={onColumnWidthChange}
26138
- ,
26139
- onPinnedColumnsChange: onPinnedColumnsChange,
26140
- onSortModelChange: onSortModelChange,
26141
- pagination: pagination,
26142
- paginationMode: paginationMode,
26143
- keepNonExistentRowsSelected: paginationMode == 'server',
26144
- rows: rows,
26145
- rowsPerPageOptions: rowsPerPageOptions,
26146
- page: page,
26147
- onPageChange: onPageChange,
26148
- pageSize: pageSize,
26149
- onPageSizeChange: onPageSizeChange,
26150
26611
  selectionModel: selectionModel,
26151
26612
  onSelectionModelChange: (newSelectionModel, details) => {
26152
26613
  if (pagination && paginationMode != 'server') {
26153
- const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref3 => {
26614
+ const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
26154
26615
  let {
26155
26616
  model
26156
- } = _ref3;
26617
+ } = _ref;
26157
26618
  return isRowSelectable({
26158
26619
  row: model
26159
26620
  });
26160
- }).map(_ref4 => {
26621
+ }).map(_ref2 => {
26161
26622
  let {
26162
26623
  id
26163
- } = _ref4;
26624
+ } = _ref2;
26164
26625
  return id;
26165
26626
  }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
26166
26627
  const numberOfSelectableRowsInPage = selectableRowsInPage.length;
26167
- const selectableRowsInTable = isRowSelectable ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref5 => {
26628
+ const selectableRowsInTable = isRowSelectable ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref3 => {
26168
26629
  let {
26169
26630
  model
26170
- } = _ref5;
26631
+ } = _ref3;
26171
26632
  return isRowSelectable({
26172
26633
  row: model
26173
26634
  });
26174
- }).map(_ref6 => {
26635
+ }).map(_ref4 => {
26175
26636
  let {
26176
26637
  id
26177
- } = _ref6;
26638
+ } = _ref4;
26178
26639
  return id;
26179
26640
  }) : gridFilteredSortedRowIdsSelector(apiRef);
26180
26641
  const numberOfSelectableRowsInTable = selectableRowsInTable.length;
@@ -26219,8 +26680,8 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
26219
26680
  })
26220
26681
  })))));
26221
26682
  });
26222
- DataGrid.className = CLASSNAME$1;
26223
- DataGrid.displayName = COMPONENT_NAME$1;
26683
+ StatefulDataGrid.className = CLASSNAME$1;
26684
+ StatefulDataGrid.displayName = COMPONENT_NAME$1;
26224
26685
 
26225
26686
  const StyledTextCell = styled$3.div`
26226
26687
  align-items: center;
@@ -26280,5 +26741,5 @@ const TextCell = /*#__PURE__*/forwardRef((props, ref) => {
26280
26741
  TextCell.className = CLASSNAME;
26281
26742
  TextCell.displayName = COMPONENT_NAME;
26282
26743
 
26283
- export { CATEGORIES, CONTAINS_ANY_OF, CONTAINS_ANY_OF_I, DEFAULT_OPERATORS, DETAIL_PANEL_TOGGLE_COL_DEF, DIMENSION_MODEL_KEY, DOES_NOT_CONTAIN, DOES_NOT_EQUAL, DataGrid, ENDS_WITH_ANY_OF, FILTER_MODEL_KEY, FILTER_SEARCH_KEY, GridToolbarFilterSemanticField, IS_ANY_OF, IS_BETWEEN, IS_NOT_ANY_OF, PAGINATION_MODEL_KEY, PINNED_COLUMNS, SORT_MODEL_KEY, STARTS_WITH_ANY_OF, TextCell, Toolbar$2 as Toolbar, VISIBILITY_MODEL_KEY, areFilterModelsEquivalent, buildStorageKey, clearPreviousVersionStorage, customColumnTypes, decodeValue, encodeValue, getColumnVisibilityFromString, getCompletion, getFilterModelFromString, getFinalSearch, getGridNumericOperators, getGridStringArrayOperators, getGridStringOperators, getModelsParsedOrUpdateLocalStorage, getPinnedColumnsFromString, getRsNumberColumnType, getRsStringColumnType, getSearchParamsFromColumnVisibility, getSearchParamsFromFilterModel, getSearchParamsFromPinnedColumns, getSearchParamsFromSorting, getSearchParamsFromTab, getSortingFromString, numberOperatorDecoder, numberOperatorEncoder, operatorList, updateUrl, urlSearchParamsToString };
26744
+ export { BaseButton, BaseCheckbox, BaseIcon, BasePopper, BaseTextField, CATEGORIES, CONTAINS_ANY_OF, CONTAINS_ANY_OF_I, ControlledPagination, DEFAULT_OPERATORS, DETAIL_PANEL_TOGGLE_COL_DEF, DIMENSION_MODEL_KEY, DOES_NOT_CONTAIN, DOES_NOT_EQUAL, DataGrid, ENDS_WITH_ANY_OF, FILTER_MODEL_KEY, FILTER_SEARCH_KEY, GridToolbarFilterSemanticField, IS_ANY_OF, IS_BETWEEN, IS_NOT_ANY_OF, PAGINATION_MODEL_KEY, PINNED_COLUMNS, SORT_MODEL_KEY, STARTS_WITH_ANY_OF, ServerSideControlledPagination, StatefulDataGrid, TextCell, Toolbar$2 as Toolbar, ToolbarWrapper, VISIBILITY_MODEL_KEY, areFilterModelsEquivalent, buildStorageKey, clearPreviousVersionStorage, customColumnTypes, decodeValue, encodeValue, getColumnVisibilityFromString, getCompletion, getFilterModelFromString, getFinalSearch, getGridNumericOperators, getGridStringArrayOperators, getGridStringOperators, getModelsParsedOrUpdateLocalStorage, getPaginationFromString, getPinnedColumnsFromString, getRsNumberColumnType, getRsStringColumnType, getSearchParamsFromColumnVisibility, getSearchParamsFromFilterModel, getSearchParamsFromPagination, getSearchParamsFromPinnedColumns, getSearchParamsFromSorting, getSearchParamsFromTab, getSortingFromString, muiIconToDSIcon, numberOperatorDecoder, numberOperatorEncoder, onServerSideSelectionStatusChange, operatorList, updateUrl, urlSearchParamsToString };
26284
26745
  //# sourceMappingURL=index.js.map