@redsift/table 12.5.6-muiv8-alpha.5 → 12.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,9 @@
1
1
  import styled, { css } from 'styled-components';
2
- import { useState, useEffect } from 'react';
2
+ import { b as _extends } from './_rollupPluginBabelHelpers.js';
3
+ import React__default, { useState, useEffect } from 'react';
4
+ import { B as BaseButton, a as BaseCheckbox, c as BaseIconButton, b as BaseIcon } from './BaseIconButton.js';
5
+ import { T as ToolbarWrapper } from './ToolbarWrapper2.js';
6
+ import { S as ServerSideControlledPagination, C as ControlledPagination } from './ServerSideControlledPagination.js';
3
7
 
4
8
  /**
5
9
  * Component style.
@@ -71,6 +75,96 @@ const StyledDataGrid = styled.div`
71
75
  }
72
76
  `;
73
77
 
78
+ /**
79
+ * Shared, referentially-stable default slots for `DataGrid` and `StatefulDataGrid`.
80
+ *
81
+ * MUI re-resolves a slot only when its COMPONENT identity changes, so a fresh inline function
82
+ * built on every render remounts that slot's whole subtree. For the toolbar that meant the
83
+ * quick-search input was torn down and rebuilt on every keystroke (focus lost); for pagination
84
+ * it remounted the pager/banner each render. Defining these once at module scope keeps the slot
85
+ * identities constant, so the grids RE-RENDER them (fresh data flows in via `slotProps`) instead
86
+ * of remounting them.
87
+ */
88
+
89
+ const gridIcon = displayName => {
90
+ const Icon = props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
91
+ displayName: displayName
92
+ }));
93
+ Icon.displayName = `GridIcon(${displayName})`;
94
+ return Icon;
95
+ };
96
+
97
+ /** Base components + icon slots common to every DS grid. Stable references (created once). */
98
+ const baseGridSlots = {
99
+ baseButton: BaseButton,
100
+ baseCheckbox: BaseCheckbox,
101
+ baseIconButton: BaseIconButton,
102
+ columnFilteredIcon: gridIcon('columnFilteredIcon'),
103
+ columnSelectorIcon: gridIcon('columnSelectorIcon'),
104
+ columnSortedAscendingIcon: gridIcon('columnSortedAscendingIcon'),
105
+ columnSortedDescendingIcon: gridIcon('columnSortedDescendingIcon'),
106
+ densityCompactIcon: gridIcon('densityCompactIcon'),
107
+ densityStandardIcon: gridIcon('densityStandardIcon'),
108
+ densityComfortableIcon: gridIcon('densityComfortableIcon'),
109
+ detailPanelCollapseIcon: gridIcon('detailPanelCollapseIcon'),
110
+ detailPanelExpandIcon: gridIcon('detailPanelExpandIcon'),
111
+ exportIcon: gridIcon('exportIcon'),
112
+ openFilterButtonIcon: gridIcon('openFilterButtonIcon')
113
+ };
114
+
115
+ /**
116
+ * Stable `toolbar` slot for the belowToolbar layout. Props (the resolved RenderedToolbar plus
117
+ * per-render pagination/banner data) arrive via `slotProps.toolbar`; this component only has to
118
+ * exist with a constant identity. Typed `any` so it is assignable to MUI's toolbar slot type.
119
+ */
120
+ const BelowToolbar = props => /*#__PURE__*/React__default.createElement(ToolbarWrapper, props);
121
+
122
+ /**
123
+ * Stable bottom-`pagination` slot. Per-render data arrives via `slotProps.pagination`. The body
124
+ * mirrors `ToolbarWrapper`'s own pagination block so server/client behaviour is identical; it is
125
+ * extracted here purely to give the slot a constant component identity.
126
+ */
127
+ const BottomPagination = props => {
128
+ const {
129
+ pagination,
130
+ paginationMode,
131
+ displaySelection,
132
+ displayRowsPerPage,
133
+ displayPagination,
134
+ selectionStatus,
135
+ paginationModel,
136
+ onPaginationModelChange,
137
+ apiRef,
138
+ isRowSelectable,
139
+ pageSizeOptions,
140
+ paginationProps,
141
+ rowCount
142
+ } = props;
143
+ if (!pagination) return null;
144
+ return paginationMode === 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, {
145
+ displaySelection: displaySelection,
146
+ displayRowsPerPage: displayRowsPerPage,
147
+ displayPagination: displayPagination,
148
+ selectionStatus: selectionStatus,
149
+ paginationModel: paginationModel,
150
+ onPaginationModelChange: onPaginationModelChange,
151
+ pageSizeOptions: pageSizeOptions,
152
+ paginationProps: paginationProps,
153
+ rowCount: rowCount
154
+ }) : /*#__PURE__*/React__default.createElement(ControlledPagination, {
155
+ displaySelection: displaySelection,
156
+ displayRowsPerPage: displayRowsPerPage,
157
+ displayPagination: displayPagination,
158
+ selectionStatus: selectionStatus,
159
+ apiRef: apiRef,
160
+ isRowSelectable: isRowSelectable,
161
+ paginationModel: paginationModel,
162
+ onPaginationModelChange: onPaginationModelChange,
163
+ pageSizeOptions: pageSizeOptions,
164
+ paginationProps: paginationProps
165
+ });
166
+ };
167
+
74
168
  const useControlledDatagridState = _ref => {
75
169
  var _ref2, _ref3, _propsPaginationModel, _initialState$paginat, _initialState$paginat2, _pageSizeOptions$, _ref4, _propsPaginationModel2, _initialState$paginat3, _initialState$paginat4;
76
170
  let {
@@ -166,5 +260,5 @@ const useControlledDatagridState = _ref => {
166
260
  };
167
261
  };
168
262
 
169
- export { StyledDataGrid as S, useControlledDatagridState as u };
263
+ export { BottomPagination as B, StyledDataGrid as S, BelowToolbar as a, baseGridSlots as b, useControlledDatagridState as u };
170
264
  //# sourceMappingURL=useControlledDatagridState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useControlledDatagridState.js","sources":["../../src/components/DataGrid/styles.ts","../../src/hooks/useControlledDatagridState.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledDataGridProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDataGrid = styled.div<StyledDataGridProps>`\n ${({ $height }) =>\n $height\n ? css`\n height: ${$height};\n `\n : ''}\n\n width: 100%;\n\n .MuiDataGrid-root {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n border: none;\n }\n\n .MuiDataGrid-row {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n font-size: var(--redsift-typography-datagrid-cell-font-size);\n font-weight: var(--redsift-typography-datagrid-cell-font-weight);\n }\n\n .MuiDataGrid-columnHeaderTitle {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n font-size: var(--redsift-typography-datagrid-header-font-size);\n font-weight: var(--redsift-typography-datagrid-header-font-weight);\n }\n\n .MuiDataGrid-columnHeaders {\n border-bottom-color: var(--redsift-color-primary-n);\n }\n\n .MuiDataGrid-columnSeparator {\n display: none;\n }\n\n .MuiTablePagination-root {\n .MuiTablePagination-selectLabel {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n }\n .MuiTablePagination-displayedRows {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiInputBase-root {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n }\n\n .Mui-checked {\n color: var(--redsift-color-primary-n);\n }\n\n .MuiDataGrid-rowCount {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiTablePagination-displayedRows {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiBadge-standard {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n`;\n","import {\n GridCallbackDetails,\n GridColumnVisibilityModel,\n GridFilterModel,\n GridPaginationModel,\n GridPinnedColumnFields,\n GridSortModel,\n} from '@mui/x-data-grid-premium';\nimport { useEffect, useState } from 'react';\nimport { DataGridProps } from '../components/DataGrid';\n\nexport interface UseControlledDatagridStateProps {\n initialState: DataGridProps['initialState'];\n pageSizeOptions: DataGridProps['pageSizeOptions'];\n propsColumnVisibilityModel: DataGridProps['columnVisibilityModel'];\n propsFilterModel: DataGridProps['filterModel'];\n propsOnColumnVisibilityModelChange: DataGridProps['onColumnVisibilityModelChange'];\n propsOnFilterModelChange: DataGridProps['onFilterModelChange'];\n propsOnPaginationModelChange: DataGridProps['onPaginationModelChange'];\n propsOnPinnedColumnsChange: DataGridProps['onPinnedColumnsChange'];\n propsOnSortModelChange: DataGridProps['onSortModelChange'];\n propsPaginationModel: DataGridProps['paginationModel'];\n propsPinnedColumns: DataGridProps['pinnedColumns'];\n propsSortModel: DataGridProps['sortModel'];\n}\n\nexport const useControlledDatagridState = ({\n initialState,\n pageSizeOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPaginationModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPaginationModel,\n propsPinnedColumns,\n propsSortModel,\n}: UseControlledDatagridStateProps) => {\n // Internal state is a fallback for uncontrolled usage only.\n const [internalFilterModel, setInternalFilterModel] = useState(propsFilterModel);\n useEffect(() => {\n setInternalFilterModel(propsFilterModel);\n }, [propsFilterModel]);\n\n // In controlled mode (propsFilterModel provided), use it directly to avoid\n // a one-frame delay from the useState + useEffect buffer.\n const filterModel = propsFilterModel ?? internalFilterModel;\n\n const onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnFilterModelChange) {\n propsOnFilterModelChange(model, details);\n } else {\n setInternalFilterModel(model);\n }\n };\n\n const [columnVisibilityModel, setColumnVisibilityModel] = useState(propsColumnVisibilityModel);\n useEffect(() => {\n setColumnVisibilityModel(propsColumnVisibilityModel);\n }, [propsColumnVisibilityModel]);\n\n const onColumnVisibilityModelChange = (model: GridColumnVisibilityModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnColumnVisibilityModelChange) {\n propsOnColumnVisibilityModelChange(model, details);\n } else {\n setColumnVisibilityModel(model);\n }\n };\n\n const [pinnedColumns, setPinnedColumns] = useState(propsPinnedColumns);\n useEffect(() => {\n setPinnedColumns(propsPinnedColumns);\n }, [propsPinnedColumns]);\n\n const onPinnedColumnsChange = (pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails) => {\n if (propsOnPinnedColumnsChange) {\n propsOnPinnedColumnsChange(pinnedColumns, details);\n } else {\n setPinnedColumns(pinnedColumns);\n }\n };\n\n const [sortModel, setSortModel] = useState(propsSortModel);\n useEffect(() => {\n setSortModel(propsSortModel);\n }, [propsSortModel]);\n\n const onSortModelChange = (model: GridSortModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnSortModelChange) {\n propsOnSortModelChange(model, details);\n } else {\n setSortModel(model);\n }\n };\n\n const [paginationModel, setPaginationModel] = useState({\n pageSize:\n propsPaginationModel?.pageSize ??\n initialState?.pagination?.paginationModel?.pageSize ??\n (typeof pageSizeOptions?.[0] === 'number' ? pageSizeOptions?.[0] : pageSizeOptions?.[0]?.value) ??\n 25,\n page: propsPaginationModel?.page ?? initialState?.pagination?.paginationModel?.page ?? 0,\n });\n\n const onPaginationModelChange = (model: GridPaginationModel, details: GridCallbackDetails) => {\n if (propsOnPaginationModelChange) {\n propsOnPaginationModelChange(model, details);\n } else {\n setPaginationModel(model);\n }\n };\n\n useEffect(() => {\n if (propsPaginationModel) {\n setPaginationModel(propsPaginationModel);\n }\n }, [propsPaginationModel]);\n\n return {\n filterModel,\n onFilterModelChange,\n columnVisibilityModel,\n onColumnVisibilityModelChange,\n pinnedColumns,\n onPinnedColumnsChange,\n sortModel,\n onSortModelChange,\n paginationModel,\n onPaginationModelChange,\n };\n};\n"],"names":["StyledDataGrid","styled","div","_ref","$height","css","useControlledDatagridState","_ref2","_ref3","_propsPaginationModel","_initialState$paginat","_initialState$paginat2","_pageSizeOptions$","_ref4","_propsPaginationModel2","_initialState$paginat3","_initialState$paginat4","initialState","pageSizeOptions","propsColumnVisibilityModel","propsFilterModel","propsOnColumnVisibilityModelChange","propsOnFilterModelChange","propsOnPaginationModelChange","propsOnPinnedColumnsChange","propsOnSortModelChange","propsPaginationModel","propsPinnedColumns","propsSortModel","internalFilterModel","setInternalFilterModel","useState","useEffect","filterModel","onFilterModelChange","model","details","columnVisibilityModel","setColumnVisibilityModel","onColumnVisibilityModelChange","pinnedColumns","setPinnedColumns","onPinnedColumnsChange","sortModel","setSortModel","onSortModelChange","paginationModel","setPaginationModel","pageSize","pagination","value","page","onPaginationModelChange"],"mappings":"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"}
1
+ {"version":3,"file":"useControlledDatagridState.js","sources":["../../src/components/DataGrid/styles.ts","../../src/components/DataGrid/defaultSlots.tsx","../../src/hooks/useControlledDatagridState.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledDataGridProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDataGrid = styled.div<StyledDataGridProps>`\n ${({ $height }) =>\n $height\n ? css`\n height: ${$height};\n `\n : ''}\n\n width: 100%;\n\n .MuiDataGrid-root {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n border: none;\n }\n\n .MuiDataGrid-row {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n font-size: var(--redsift-typography-datagrid-cell-font-size);\n font-weight: var(--redsift-typography-datagrid-cell-font-weight);\n }\n\n .MuiDataGrid-columnHeaderTitle {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n font-size: var(--redsift-typography-datagrid-header-font-size);\n font-weight: var(--redsift-typography-datagrid-header-font-weight);\n }\n\n .MuiDataGrid-columnHeaders {\n border-bottom-color: var(--redsift-color-primary-n);\n }\n\n .MuiDataGrid-columnSeparator {\n display: none;\n }\n\n .MuiTablePagination-root {\n .MuiTablePagination-selectLabel {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n }\n .MuiTablePagination-displayedRows {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiInputBase-root {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n }\n\n .Mui-checked {\n color: var(--redsift-color-primary-n);\n }\n\n .MuiDataGrid-rowCount {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiTablePagination-displayedRows {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiBadge-standard {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n`;\n","import React from 'react';\n\nimport { BaseIcon, BaseButton, BaseIconButton, BaseCheckbox } from '../BaseComponents';\nimport { ServerSideControlledPagination, ControlledPagination } from '../Pagination';\nimport { ToolbarWrapper, ToolbarWrapperProps } from '../ToolbarWrapper';\n\n/**\n * Shared, referentially-stable default slots for `DataGrid` and `StatefulDataGrid`.\n *\n * MUI re-resolves a slot only when its COMPONENT identity changes, so a fresh inline function\n * built on every render remounts that slot's whole subtree. For the toolbar that meant the\n * quick-search input was torn down and rebuilt on every keystroke (focus lost); for pagination\n * it remounted the pager/banner each render. Defining these once at module scope keeps the slot\n * identities constant, so the grids RE-RENDER them (fresh data flows in via `slotProps`) instead\n * of remounting them.\n */\n\nconst gridIcon = (displayName: string) => {\n const Icon = (props: any) => <BaseIcon {...props} displayName={displayName} />;\n Icon.displayName = `GridIcon(${displayName})`;\n return Icon;\n};\n\n/** Base components + icon slots common to every DS grid. Stable references (created once). */\nexport const baseGridSlots = {\n baseButton: BaseButton,\n baseCheckbox: BaseCheckbox,\n baseIconButton: BaseIconButton,\n columnFilteredIcon: gridIcon('columnFilteredIcon'),\n columnSelectorIcon: gridIcon('columnSelectorIcon'),\n columnSortedAscendingIcon: gridIcon('columnSortedAscendingIcon'),\n columnSortedDescendingIcon: gridIcon('columnSortedDescendingIcon'),\n densityCompactIcon: gridIcon('densityCompactIcon'),\n densityStandardIcon: gridIcon('densityStandardIcon'),\n densityComfortableIcon: gridIcon('densityComfortableIcon'),\n detailPanelCollapseIcon: gridIcon('detailPanelCollapseIcon'),\n detailPanelExpandIcon: gridIcon('detailPanelExpandIcon'),\n exportIcon: gridIcon('exportIcon'),\n openFilterButtonIcon: gridIcon('openFilterButtonIcon'),\n};\n\n/**\n * Stable `toolbar` slot for the belowToolbar layout. Props (the resolved RenderedToolbar plus\n * per-render pagination/banner data) arrive via `slotProps.toolbar`; this component only has to\n * exist with a constant identity. Typed `any` so it is assignable to MUI's toolbar slot type.\n */\nexport const BelowToolbar = (props: any) => <ToolbarWrapper {...props} />;\n\n/**\n * Stable bottom-`pagination` slot. Per-render data arrives via `slotProps.pagination`. The body\n * mirrors `ToolbarWrapper`'s own pagination block so server/client behaviour is identical; it is\n * extracted here purely to give the slot a constant component identity.\n */\nexport const BottomPagination = (props: any) => {\n const {\n pagination,\n paginationMode,\n displaySelection,\n displayRowsPerPage,\n displayPagination,\n selectionStatus,\n paginationModel,\n onPaginationModelChange,\n apiRef,\n isRowSelectable,\n pageSizeOptions,\n paginationProps,\n rowCount,\n } = props as Partial<ToolbarWrapperProps>;\n\n if (!pagination) return null;\n\n return paginationMode === 'server' ? (\n <ServerSideControlledPagination\n displaySelection={displaySelection}\n displayRowsPerPage={displayRowsPerPage}\n displayPagination={displayPagination}\n selectionStatus={selectionStatus!}\n paginationModel={paginationModel!}\n onPaginationModelChange={onPaginationModelChange as any}\n pageSizeOptions={pageSizeOptions as any as number[]}\n paginationProps={paginationProps}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n displaySelection={displaySelection}\n displayRowsPerPage={displayRowsPerPage}\n displayPagination={displayPagination}\n selectionStatus={selectionStatus!}\n apiRef={apiRef!}\n isRowSelectable={isRowSelectable}\n paginationModel={paginationModel!}\n onPaginationModelChange={onPaginationModelChange as any}\n pageSizeOptions={pageSizeOptions as any as number[]}\n paginationProps={paginationProps}\n />\n );\n};\n","import {\n GridCallbackDetails,\n GridColumnVisibilityModel,\n GridFilterModel,\n GridPaginationModel,\n GridPinnedColumnFields,\n GridSortModel,\n} from '@mui/x-data-grid-premium';\nimport { useEffect, useState } from 'react';\nimport { DataGridProps } from '../components/DataGrid';\n\nexport interface UseControlledDatagridStateProps {\n initialState: DataGridProps['initialState'];\n pageSizeOptions: DataGridProps['pageSizeOptions'];\n propsColumnVisibilityModel: DataGridProps['columnVisibilityModel'];\n propsFilterModel: DataGridProps['filterModel'];\n propsOnColumnVisibilityModelChange: DataGridProps['onColumnVisibilityModelChange'];\n propsOnFilterModelChange: DataGridProps['onFilterModelChange'];\n propsOnPaginationModelChange: DataGridProps['onPaginationModelChange'];\n propsOnPinnedColumnsChange: DataGridProps['onPinnedColumnsChange'];\n propsOnSortModelChange: DataGridProps['onSortModelChange'];\n propsPaginationModel: DataGridProps['paginationModel'];\n propsPinnedColumns: DataGridProps['pinnedColumns'];\n propsSortModel: DataGridProps['sortModel'];\n}\n\nexport const useControlledDatagridState = ({\n initialState,\n pageSizeOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPaginationModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPaginationModel,\n propsPinnedColumns,\n propsSortModel,\n}: UseControlledDatagridStateProps) => {\n // Internal state is a fallback for uncontrolled usage only.\n const [internalFilterModel, setInternalFilterModel] = useState(propsFilterModel);\n useEffect(() => {\n setInternalFilterModel(propsFilterModel);\n }, [propsFilterModel]);\n\n // In controlled mode (propsFilterModel provided), use it directly to avoid\n // a one-frame delay from the useState + useEffect buffer.\n const filterModel = propsFilterModel ?? internalFilterModel;\n\n const onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnFilterModelChange) {\n propsOnFilterModelChange(model, details);\n } else {\n setInternalFilterModel(model);\n }\n };\n\n const [columnVisibilityModel, setColumnVisibilityModel] = useState(propsColumnVisibilityModel);\n useEffect(() => {\n setColumnVisibilityModel(propsColumnVisibilityModel);\n }, [propsColumnVisibilityModel]);\n\n const onColumnVisibilityModelChange = (model: GridColumnVisibilityModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnColumnVisibilityModelChange) {\n propsOnColumnVisibilityModelChange(model, details);\n } else {\n setColumnVisibilityModel(model);\n }\n };\n\n const [pinnedColumns, setPinnedColumns] = useState(propsPinnedColumns);\n useEffect(() => {\n setPinnedColumns(propsPinnedColumns);\n }, [propsPinnedColumns]);\n\n const onPinnedColumnsChange = (pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails) => {\n if (propsOnPinnedColumnsChange) {\n propsOnPinnedColumnsChange(pinnedColumns, details);\n } else {\n setPinnedColumns(pinnedColumns);\n }\n };\n\n const [sortModel, setSortModel] = useState(propsSortModel);\n useEffect(() => {\n setSortModel(propsSortModel);\n }, [propsSortModel]);\n\n const onSortModelChange = (model: GridSortModel, details: GridCallbackDetails<'filter'>) => {\n if (propsOnSortModelChange) {\n propsOnSortModelChange(model, details);\n } else {\n setSortModel(model);\n }\n };\n\n const [paginationModel, setPaginationModel] = useState({\n pageSize:\n propsPaginationModel?.pageSize ??\n initialState?.pagination?.paginationModel?.pageSize ??\n (typeof pageSizeOptions?.[0] === 'number' ? pageSizeOptions?.[0] : pageSizeOptions?.[0]?.value) ??\n 25,\n page: propsPaginationModel?.page ?? initialState?.pagination?.paginationModel?.page ?? 0,\n });\n\n const onPaginationModelChange = (model: GridPaginationModel, details: GridCallbackDetails) => {\n if (propsOnPaginationModelChange) {\n propsOnPaginationModelChange(model, details);\n } else {\n setPaginationModel(model);\n }\n };\n\n useEffect(() => {\n if (propsPaginationModel) {\n setPaginationModel(propsPaginationModel);\n }\n }, [propsPaginationModel]);\n\n return {\n filterModel,\n onFilterModelChange,\n columnVisibilityModel,\n onColumnVisibilityModelChange,\n pinnedColumns,\n onPinnedColumnsChange,\n sortModel,\n onSortModelChange,\n paginationModel,\n onPaginationModelChange,\n };\n};\n"],"names":["StyledDataGrid","styled","div","_ref","$height","css","gridIcon","displayName","Icon","props","React","createElement","BaseIcon","_extends","baseGridSlots","baseButton","BaseButton","baseCheckbox","BaseCheckbox","baseIconButton","BaseIconButton","columnFilteredIcon","columnSelectorIcon","columnSortedAscendingIcon","columnSortedDescendingIcon","densityCompactIcon","densityStandardIcon","densityComfortableIcon","detailPanelCollapseIcon","detailPanelExpandIcon","exportIcon","openFilterButtonIcon","BelowToolbar","ToolbarWrapper","BottomPagination","pagination","paginationMode","displaySelection","displayRowsPerPage","displayPagination","selectionStatus","paginationModel","onPaginationModelChange","apiRef","isRowSelectable","pageSizeOptions","paginationProps","rowCount","ServerSideControlledPagination","ControlledPagination","useControlledDatagridState","_ref2","_ref3","_propsPaginationModel","_initialState$paginat","_initialState$paginat2","_pageSizeOptions$","_ref4","_propsPaginationModel2","_initialState$paginat3","_initialState$paginat4","initialState","propsColumnVisibilityModel","propsFilterModel","propsOnColumnVisibilityModelChange","propsOnFilterModelChange","propsOnPaginationModelChange","propsOnPinnedColumnsChange","propsOnSortModelChange","propsPaginationModel","propsPinnedColumns","propsSortModel","internalFilterModel","setInternalFilterModel","useState","useEffect","filterModel","onFilterModelChange","model","details","columnVisibilityModel","setColumnVisibilityModel","onColumnVisibilityModelChange","pinnedColumns","setPinnedColumns","onPinnedColumnsChange","sortModel","setSortModel","onSortModelChange","setPaginationModel","pageSize","value","page"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -923,6 +923,25 @@ declare const isOperatorValueValid: (field: string, operator: OperatorValue, col
923
923
  declare const isValueValid: (value: OperatorValue, field: string, columns: DataGridProps["columns"], operator: OperatorValue) => boolean;
924
924
  /** FILTERS */
925
925
  declare const getFilterModelFromString: (searchString: string, columns: DataGridProps["columns"]) => ExtendedGridFilterModel | "invalid";
926
+ /**
927
+ * Normalises a `date` / `dateTime` filter value to a canonical, URL-safe string
928
+ * before it is serialised into the URL.
929
+ *
930
+ * MUI's `GridFilterInputDate` commits filter values as JS `Date` objects. The
931
+ * generic `encodeValue` would stringify those via `String(value)`, producing a
932
+ * locale string (e.g. `"Thu Jun 25 2026 02:00:00 GMT+0200 (…)"`) that cannot
933
+ * survive the URL round-trip and is rejected by `isValueValid`, silently erasing
934
+ * the filter value (DS-90). We instead mirror MUI's own
935
+ * `convertFilterItemValueToInputValue` so the canonical string matches what the
936
+ * date input renders and round-trips losslessly:
937
+ * - `date` → `YYYY-MM-DD` (UTC, timezone-stable)
938
+ * - `dateTime` → `YYYY-MM-DDTHH:mm:ss` (local wall-clock, matching the
939
+ * datetime-local input)
940
+ * Non-date types, empty values, arrays of dates (e.g. `isBetween`) and
941
+ * unparseable values are handled so the existing string / number / list / rating
942
+ * paths are untouched and invalid values still fall through to `isValueValid`.
943
+ */
944
+ declare const normalizeDateValue: (value: unknown, type: string | undefined) => OperatorValue;
926
945
  declare const getSearchParamsFromFilterModel: (filterModel: ExtendedGridFilterModel) => URLSearchParams;
927
946
  /** SORT */
928
947
  declare const getSortingFromString: (searchString: string, columns: DataGridProps["columns"]) => GridSortModel | "invalid";
@@ -1403,4 +1422,4 @@ type ToolbarWrapperProps = {
1403
1422
  */
1404
1423
  declare const ToolbarWrapper: React$1.FC<ToolbarWrapperProps>;
1405
1424
 
1406
- export { AGGREGATION_MODEL_KEY, ARRAY_IS_EMPTY, ARRAY_IS_NOT_EMPTY, BaseButton, BaseCheckbox, BaseIcon, BaseIconButton, BaseTextField, CATEGORIES, COLUMN_ORDER_MODEL_KEY, CONTAINS_ANY_OF, Category, ColumnOptions, ColumnOrderModel, ColumnType, CompletionResponse, ControlledPagination, ControlledPaginationProps, DATE_IS_BETWEEN, DEFAULT_OPERATORS, DENSITY_MODEL_KEY, DETAIL_PANEL_TOGGLE_COL_DEF, DIMENSION_MODEL_KEY, DOES_NOT_CONTAIN, DOES_NOT_CONTAIN_ANY_OF, DOES_NOT_END_WITH, DOES_NOT_END_WITH_ANY_OF, DOES_NOT_EQUAL, DOES_NOT_HAVE, DOES_NOT_HAVE_ANY_OF, DOES_NOT_HAVE_ANY_OF_WITH_SELECT, DOES_NOT_HAVE_WITH_SELECT, DOES_NOT_START_WITH, DOES_NOT_START_WITH_ANY_OF, DataGrid, DataGridModel, DataGridProps, DateOperatorName, EMPTY_ROW_SELECTION_MODEL, ENDS_WITH_ANY_OF, FILTER_MODEL_KEY, FILTER_SEARCH_KEY, FilterConfig, FilterConfigColumn, GridDensityValue, GridToolbarFilterSemanticField, GridToolbarFilterSemanticFieldProps, HAS, HAS_ALL_OF, HAS_ALL_OF_WITH_SELECT, HAS_ANY_OF, HAS_ANY_OF_WITH_SELECT, HAS_ONLY, HAS_ONLY_WITH_SELECT, HAS_WITH_SELECT, IS, IS_ANY_OF, IS_ANY_OF_I, IS_ANY_OF_I_WITH_SELECT, IS_ANY_OF_WITH_SELECT, IS_BETWEEN, IS_NOT, IS_NOT_ANY_OF, IS_NOT_ANY_OF_WITH_SELECT, IS_NOT_WITH_SELECT, IS_WITH_SELECT, LegacyRowSelectionModel, MultiSelectOperatorName, NumberOperatorName, PAGINATION_MODEL_KEY, PINNED_COLUMNS, PIVOT_ACTIVE_KEY, PIVOT_MODEL_KEY, PinnedColumns, PivotModel, ROW_GROUPING_MODEL_KEY, ReactRouterV5History, RowSelectionModelInput, SORT_MODEL_KEY, STARTS_WITH_ANY_OF, SelectionStatus, ServerSideControlledPagination, ServerSideControlledPaginationProps, SingleSelectOperatorName, StatefulDataGrid, StatefulDataGridProps, StringOperatorName, StyledDataGridProps, TagsOperatorName, TextCell, Toolbar, ToolbarWrapper, ToolbarWrapperProps, UseLinkedFilterModelOptions, UseLinkedFilterModelReturn, VISIBILITY_MODEL_KEY, areFilterModelsEquivalent, areSearchStringsEqual, buildQueryParamsString, buildStorageKey, clearAllVersionStorage, clearPreviousVersionStorage, convertFromDisplayFormat, convertToDisplayFormat, createColumn, createReactRouterV5Adapter, createRowSelectionModel, customColumnTypes, decodeValue, encodeValue, fixServerSideHeaderCheckboxSelection, fromGridPivotModel, getAggregationFromString, getColumnOrderFromString, getColumnVisibilityFromString, getCompletion, getDecodedSearchFromUrl, getDensityFromString, getDensityModel, getFilterModelFromString, getFinalSearch, getGridDateOperatorsExtended, getGridNumericOperators, getGridStringArrayOperators, getGridStringArrayOperatorsWithSelect, getGridStringArrayOperatorsWithSelectOnStringArrayColumns, getGridStringOperators, getModelsParsedOrUpdateLocalStorage, getPaginationFromString, getPinnedColumnsFromString, getPivotActiveFromString, getPivotFromString, getRowGroupingFromString, getRsMultipleSelectColumnType, getRsMultipleSelectWithShortOperatorListColumnType, getRsNumberColumnType, getRsSingleSelectColumnType, getRsSingleSelectWithShortOperatorListColumnType, getRsStringColumnType, getSearchParamsFromAggregation, getSearchParamsFromColumnOrder, getSearchParamsFromColumnVisibility, getSearchParamsFromDensity, getSearchParamsFromFilterModel, getSearchParamsFromPagination, getSearchParamsFromPinnedColumns, getSearchParamsFromPivot, getSearchParamsFromPivotActive, getSearchParamsFromRowGrouping, getSearchParamsFromSorting, getSearchParamsFromTab, getSearchParamsFromVersion, getSelectableRowIdsInPage, getSelectedIds, getSelectionCount, getSortingFromString, isOperatorValueValid, isRowSelected, isValueValid, makeCaseInsensitive, muiIconToDSIcon, normalizeRowSelectionModel, numberOperatorDecoder, numberOperatorEncoder, onServerSideSelectionStatusChange, operatorList, resetColumnVisibility, resetStatefulDataGridState, updateUrl, urlSearchParamsToString, useLinkedFilterModel, wrapCaseInsensitive };
1425
+ export { AGGREGATION_MODEL_KEY, ARRAY_IS_EMPTY, ARRAY_IS_NOT_EMPTY, BaseButton, BaseCheckbox, BaseIcon, BaseIconButton, BaseTextField, CATEGORIES, COLUMN_ORDER_MODEL_KEY, CONTAINS_ANY_OF, Category, ColumnOptions, ColumnOrderModel, ColumnType, CompletionResponse, ControlledPagination, ControlledPaginationProps, DATE_IS_BETWEEN, DEFAULT_OPERATORS, DENSITY_MODEL_KEY, DETAIL_PANEL_TOGGLE_COL_DEF, DIMENSION_MODEL_KEY, DOES_NOT_CONTAIN, DOES_NOT_CONTAIN_ANY_OF, DOES_NOT_END_WITH, DOES_NOT_END_WITH_ANY_OF, DOES_NOT_EQUAL, DOES_NOT_HAVE, DOES_NOT_HAVE_ANY_OF, DOES_NOT_HAVE_ANY_OF_WITH_SELECT, DOES_NOT_HAVE_WITH_SELECT, DOES_NOT_START_WITH, DOES_NOT_START_WITH_ANY_OF, DataGrid, DataGridModel, DataGridProps, DateOperatorName, EMPTY_ROW_SELECTION_MODEL, ENDS_WITH_ANY_OF, FILTER_MODEL_KEY, FILTER_SEARCH_KEY, FilterConfig, FilterConfigColumn, GridDensityValue, GridToolbarFilterSemanticField, GridToolbarFilterSemanticFieldProps, HAS, HAS_ALL_OF, HAS_ALL_OF_WITH_SELECT, HAS_ANY_OF, HAS_ANY_OF_WITH_SELECT, HAS_ONLY, HAS_ONLY_WITH_SELECT, HAS_WITH_SELECT, IS, IS_ANY_OF, IS_ANY_OF_I, IS_ANY_OF_I_WITH_SELECT, IS_ANY_OF_WITH_SELECT, IS_BETWEEN, IS_NOT, IS_NOT_ANY_OF, IS_NOT_ANY_OF_WITH_SELECT, IS_NOT_WITH_SELECT, IS_WITH_SELECT, LegacyRowSelectionModel, MultiSelectOperatorName, NumberOperatorName, PAGINATION_MODEL_KEY, PINNED_COLUMNS, PIVOT_ACTIVE_KEY, PIVOT_MODEL_KEY, PinnedColumns, PivotModel, ROW_GROUPING_MODEL_KEY, ReactRouterV5History, RowSelectionModelInput, SORT_MODEL_KEY, STARTS_WITH_ANY_OF, SelectionStatus, ServerSideControlledPagination, ServerSideControlledPaginationProps, SingleSelectOperatorName, StatefulDataGrid, StatefulDataGridProps, StringOperatorName, StyledDataGridProps, TagsOperatorName, TextCell, Toolbar, ToolbarWrapper, ToolbarWrapperProps, UseLinkedFilterModelOptions, UseLinkedFilterModelReturn, VISIBILITY_MODEL_KEY, areFilterModelsEquivalent, areSearchStringsEqual, buildQueryParamsString, buildStorageKey, clearAllVersionStorage, clearPreviousVersionStorage, convertFromDisplayFormat, convertToDisplayFormat, createColumn, createReactRouterV5Adapter, createRowSelectionModel, customColumnTypes, decodeValue, encodeValue, fixServerSideHeaderCheckboxSelection, fromGridPivotModel, getAggregationFromString, getColumnOrderFromString, getColumnVisibilityFromString, getCompletion, getDecodedSearchFromUrl, getDensityFromString, getDensityModel, getFilterModelFromString, getFinalSearch, getGridDateOperatorsExtended, getGridNumericOperators, getGridStringArrayOperators, getGridStringArrayOperatorsWithSelect, getGridStringArrayOperatorsWithSelectOnStringArrayColumns, getGridStringOperators, getModelsParsedOrUpdateLocalStorage, getPaginationFromString, getPinnedColumnsFromString, getPivotActiveFromString, getPivotFromString, getRowGroupingFromString, getRsMultipleSelectColumnType, getRsMultipleSelectWithShortOperatorListColumnType, getRsNumberColumnType, getRsSingleSelectColumnType, getRsSingleSelectWithShortOperatorListColumnType, getRsStringColumnType, getSearchParamsFromAggregation, getSearchParamsFromColumnOrder, getSearchParamsFromColumnVisibility, getSearchParamsFromDensity, getSearchParamsFromFilterModel, getSearchParamsFromPagination, getSearchParamsFromPinnedColumns, getSearchParamsFromPivot, getSearchParamsFromPivotActive, getSearchParamsFromRowGrouping, getSearchParamsFromSorting, getSearchParamsFromTab, getSearchParamsFromVersion, getSelectableRowIdsInPage, getSelectedIds, getSelectionCount, getSortingFromString, isOperatorValueValid, isRowSelected, isValueValid, makeCaseInsensitive, muiIconToDSIcon, normalizeDateValue, normalizeRowSelectionModel, numberOperatorDecoder, numberOperatorEncoder, onServerSideSelectionStatusChange, operatorList, resetColumnVisibility, resetStatefulDataGridState, updateUrl, urlSearchParamsToString, useLinkedFilterModel, wrapCaseInsensitive };
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { o as operatorList, D as DOES_NOT_CONTAIN, a as DOES_NOT_EQUAL, b as DOES_NOT_START_WITH, c as DOES_NOT_END_WITH, I as IS_ANY_OF, d as IS_NOT_ANY_OF, C as CONTAINS_ANY_OF, e as DOES_NOT_CONTAIN_ANY_OF, S as STARTS_WITH_ANY_OF, f as DOES_NOT_START_WITH_ANY_OF, E as ENDS_WITH_ANY_OF, g as DOES_NOT_END_WITH_ANY_OF, h as IS_BETWEEN, i as IS_WITH_SELECT, j as IS_NOT_WITH_SELECT, k as IS_ANY_OF_WITH_SELECT, l as IS_NOT_ANY_OF_WITH_SELECT, A as ARRAY_IS_EMPTY, m as ARRAY_IS_NOT_EMPTY, H as HAS_WITH_SELECT, n as DOES_NOT_HAVE_WITH_SELECT, p as HAS_ANY_OF_WITH_SELECT, q as HAS_ALL_OF_WITH_SELECT, r as DOES_NOT_HAVE_ANY_OF_WITH_SELECT, s as HAS_ONLY_WITH_SELECT, t as HAS, u as DOES_NOT_HAVE, v as HAS_ANY_OF, w as HAS_ALL_OF, x as DOES_NOT_HAVE_ANY_OF, y as HAS_ONLY } from './_internal/StatefulDataGrid2.js';
2
- export { X as AGGREGATION_MODEL_KEY, A as ARRAY_IS_EMPTY, m as ARRAY_IS_NOT_EMPTY, _ as CATEGORIES, U as COLUMN_ORDER_MODEL_KEY, C as CONTAINS_ANY_OF, T as DENSITY_MODEL_KEY, Q as DIMENSION_MODEL_KEY, D as DOES_NOT_CONTAIN, e as DOES_NOT_CONTAIN_ANY_OF, c as DOES_NOT_END_WITH, g as DOES_NOT_END_WITH_ANY_OF, a as DOES_NOT_EQUAL, u as DOES_NOT_HAVE, x as DOES_NOT_HAVE_ANY_OF, r as DOES_NOT_HAVE_ANY_OF_WITH_SELECT, n as DOES_NOT_HAVE_WITH_SELECT, b as DOES_NOT_START_WITH, f as DOES_NOT_START_WITH_ANY_OF, E as ENDS_WITH_ANY_OF, M as FILTER_MODEL_KEY, R as FILTER_SEARCH_KEY, t as HAS, w as HAS_ALL_OF, q as HAS_ALL_OF_WITH_SELECT, v as HAS_ANY_OF, p as HAS_ANY_OF_WITH_SELECT, y as HAS_ONLY, s as HAS_ONLY_WITH_SELECT, H as HAS_WITH_SELECT, B as IS, I as IS_ANY_OF, k as IS_ANY_OF_WITH_SELECT, h as IS_BETWEEN, F as IS_NOT, d as IS_NOT_ANY_OF, l as IS_NOT_ANY_OF_WITH_SELECT, j as IS_NOT_WITH_SELECT, i as IS_WITH_SELECT, P as PAGINATION_MODEL_KEY, O as PINNED_COLUMNS, Z as PIVOT_ACTIVE_KEY, Y as PIVOT_MODEL_KEY, W as ROW_GROUPING_MODEL_KEY, N as SORT_MODEL_KEY, S as STARTS_WITH_ANY_OF, aK as StatefulDataGrid, V as VISIBILITY_MODEL_KEY, aJ as areFilterModelsEquivalent, a8 as areSearchStringsEqual, a7 as buildQueryParamsString, $ as buildStorageKey, a1 as clearAllVersionStorage, a0 as clearPreviousVersionStorage, a5 as convertFromDisplayFormat, a4 as convertToDisplayFormat, a9 as decodeValue, aa as encodeValue, aA as fromGridPivotModel, ay as getAggregationFromString, au as getColumnOrderFromString, am as getColumnVisibilityFromString, a6 as getDecodedSearchFromUrl, ar as getDensityFromString, at as getDensityModel, ag as getFilterModelFromString, aG as getFinalSearch, z as getGridNumericOperators, J as getGridStringArrayOperators, K as getGridStringArrayOperatorsWithSelect, L as getGridStringArrayOperatorsWithSelectOnStringArrayColumns, G as getGridStringOperators, aH as getModelsParsedOrUpdateLocalStorage, ak as getPaginationFromString, ao as getPinnedColumnsFromString, aD as getPivotActiveFromString, aB as getPivotFromString, aw as getRowGroupingFromString, az as getSearchParamsFromAggregation, av as getSearchParamsFromColumnOrder, an as getSearchParamsFromColumnVisibility, as as getSearchParamsFromDensity, ah as getSearchParamsFromFilterModel, al as getSearchParamsFromPagination, ap as getSearchParamsFromPinnedColumns, aC as getSearchParamsFromPivot, aE as getSearchParamsFromPivotActive, ax as getSearchParamsFromRowGrouping, aj as getSearchParamsFromSorting, aq as getSearchParamsFromTab, aF as getSearchParamsFromVersion, ai as getSortingFromString, ae as isOperatorValueValid, af as isValueValid, ad as numberOperatorDecoder, ac as numberOperatorEncoder, o as operatorList, a3 as resetColumnVisibility, a2 as resetStatefulDataGridState, aI as updateUrl, ab as urlSearchParamsToString } from './_internal/StatefulDataGrid2.js';
2
+ export { X as AGGREGATION_MODEL_KEY, A as ARRAY_IS_EMPTY, m as ARRAY_IS_NOT_EMPTY, _ as CATEGORIES, U as COLUMN_ORDER_MODEL_KEY, C as CONTAINS_ANY_OF, T as DENSITY_MODEL_KEY, Q as DIMENSION_MODEL_KEY, D as DOES_NOT_CONTAIN, e as DOES_NOT_CONTAIN_ANY_OF, c as DOES_NOT_END_WITH, g as DOES_NOT_END_WITH_ANY_OF, a as DOES_NOT_EQUAL, u as DOES_NOT_HAVE, x as DOES_NOT_HAVE_ANY_OF, r as DOES_NOT_HAVE_ANY_OF_WITH_SELECT, n as DOES_NOT_HAVE_WITH_SELECT, b as DOES_NOT_START_WITH, f as DOES_NOT_START_WITH_ANY_OF, E as ENDS_WITH_ANY_OF, M as FILTER_MODEL_KEY, R as FILTER_SEARCH_KEY, t as HAS, w as HAS_ALL_OF, q as HAS_ALL_OF_WITH_SELECT, v as HAS_ANY_OF, p as HAS_ANY_OF_WITH_SELECT, y as HAS_ONLY, s as HAS_ONLY_WITH_SELECT, H as HAS_WITH_SELECT, B as IS, I as IS_ANY_OF, k as IS_ANY_OF_WITH_SELECT, h as IS_BETWEEN, F as IS_NOT, d as IS_NOT_ANY_OF, l as IS_NOT_ANY_OF_WITH_SELECT, j as IS_NOT_WITH_SELECT, i as IS_WITH_SELECT, P as PAGINATION_MODEL_KEY, O as PINNED_COLUMNS, Z as PIVOT_ACTIVE_KEY, Y as PIVOT_MODEL_KEY, W as ROW_GROUPING_MODEL_KEY, N as SORT_MODEL_KEY, S as STARTS_WITH_ANY_OF, aL as StatefulDataGrid, V as VISIBILITY_MODEL_KEY, aK as areFilterModelsEquivalent, a8 as areSearchStringsEqual, a7 as buildQueryParamsString, $ as buildStorageKey, a1 as clearAllVersionStorage, a0 as clearPreviousVersionStorage, a5 as convertFromDisplayFormat, a4 as convertToDisplayFormat, a9 as decodeValue, aa as encodeValue, aB as fromGridPivotModel, az as getAggregationFromString, av as getColumnOrderFromString, an as getColumnVisibilityFromString, a6 as getDecodedSearchFromUrl, as as getDensityFromString, au as getDensityModel, ag as getFilterModelFromString, aH as getFinalSearch, z as getGridNumericOperators, J as getGridStringArrayOperators, K as getGridStringArrayOperatorsWithSelect, L as getGridStringArrayOperatorsWithSelectOnStringArrayColumns, G as getGridStringOperators, aI as getModelsParsedOrUpdateLocalStorage, al as getPaginationFromString, ap as getPinnedColumnsFromString, aE as getPivotActiveFromString, aC as getPivotFromString, ax as getRowGroupingFromString, aA as getSearchParamsFromAggregation, aw as getSearchParamsFromColumnOrder, ao as getSearchParamsFromColumnVisibility, at as getSearchParamsFromDensity, ai as getSearchParamsFromFilterModel, am as getSearchParamsFromPagination, aq as getSearchParamsFromPinnedColumns, aD as getSearchParamsFromPivot, aF as getSearchParamsFromPivotActive, ay as getSearchParamsFromRowGrouping, ak as getSearchParamsFromSorting, ar as getSearchParamsFromTab, aG as getSearchParamsFromVersion, aj as getSortingFromString, ae as isOperatorValueValid, af as isValueValid, ah as normalizeDateValue, ad as numberOperatorDecoder, ac as numberOperatorEncoder, o as operatorList, a3 as resetColumnVisibility, a2 as resetStatefulDataGridState, aJ as updateUrl, ab as urlSearchParamsToString } from './_internal/StatefulDataGrid2.js';
3
3
  import { GRID_DETAIL_PANEL_TOGGLE_COL_DEF, GridFilterInputMultipleValue, GridFilterInputMultipleSingleSelect, getGridDateOperators, getGridStringOperators, getGridNumericOperators } from '@mui/x-data-grid-premium';
4
4
  export { getGridBooleanOperators, getGridDateOperators, getGridSingleSelectOperators } from '@mui/x-data-grid-premium';
5
5
  import { _ as _objectSpread2 } from './_internal/_rollupPluginBabelHelpers.js';
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "test": "yarn test:unit && yarn test:storybook"
31
31
  },
32
32
  "types": "index.d.ts",
33
- "version": "12.5.6-muiv8-alpha.5",
33
+ "version": "12.5.6",
34
34
  "dependencies": {
35
35
  "@emotion/react": "^11.11.0",
36
36
  "@emotion/styled": "^11.11.0",
@@ -92,5 +92,5 @@
92
92
  "react-dom": ">=17",
93
93
  "styled-components": "6.1.19"
94
94
  },
95
- "gitHead": "431dfd178ea00772d91483ca4db5b980e1b04df5"
95
+ "gitHead": "4766a439a603d095b3d6e0abe2cd0b3a0d2b43c0"
96
96
  }