@redsift/table 11.8.0-muiv5 → 11.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,16 @@
1
- import { b as _objectWithoutProperties, a as _extends, _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
1
+ import { a as _objectWithoutProperties, b as _extends, _ as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
2
  import React__default, { forwardRef, useRef, useState, useEffect, useMemo } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import { useTheme, ThemeProvider, RedsiftColorBlueN, RedsiftColorNeutralXDarkGrey, RedsiftColorNeutralWhite } from '@redsift/design-system';
5
5
  import { useGridApiRef, DataGridPro, gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector, gridFilteredSortedRowEntriesSelector, gridFilteredSortedRowIdsSelector } from '@mui/x-data-grid-pro';
6
- import { L as LicenseInfo, K as useControlledDatagridState, T as ThemeProvider$1, M as StyledDataGrid, f as customColumnTypes } from './useControlledDatagridState.js';
6
+ import { L as LicenseInfo, u as useControlledDatagridState, T as ThemeProvider$1, S as StyledDataGrid } from './useControlledDatagridState.js';
7
7
  import { T as Toolbar } from './Toolbar2.js';
8
8
  import { o as onServerSideSelectionStatusChange, S as ServerSideControlledPagination, C as ControlledPagination } from './ControlledPagination.js';
9
- import { g as createTheme } from './Portal.js';
9
+ import { e as createTheme } from './Portal.js';
10
10
  import { B as BaseButton, a as BaseCheckbox, c as BasePopper, b as BaseIcon } from './BasePopper.js';
11
11
  import { T as ToolbarWrapper } from './ToolbarWrapper2.js';
12
12
 
13
- const _excluded = ["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"];
13
+ const _excluded = ["apiRef", "autoHeight", "className", "slots", "slotProps", "filterModel", "columnVisibilityModel", "pinnedColumns", "sortModel", "paginationModel", "height", "hideToolbar", "initialState", "isRowSelectable", "license", "onFilterModelChange", "rowSelectionModel", "onPaginationModelChange", "onRowSelectionModelChange", "onColumnVisibilityModelChange", "onPinnedColumnsChange", "onSortModelChange", "pagination", "paginationPlacement", "paginationProps", "rows", "pageSizeOptions", "sx", "theme", "paginationMode", "rowCount"];
14
14
  const COMPONENT_NAME = 'DataGrid';
15
15
  const CLASSNAME = 'redsift-datagrid';
16
16
  const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
@@ -19,33 +19,30 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
19
19
  apiRef: propsApiRef,
20
20
  autoHeight,
21
21
  className,
22
- columnTypes: propsColumnTypes,
23
- components,
24
- componentsProps,
22
+ slots,
23
+ slotProps,
25
24
  filterModel: propsFilterModel,
26
25
  columnVisibilityModel: propsColumnVisibilityModel,
27
26
  pinnedColumns: propsPinnedColumns,
28
27
  sortModel: propsSortModel,
28
+ paginationModel: propsPaginationModel,
29
29
  height: propsHeight,
30
30
  hideToolbar,
31
31
  initialState,
32
32
  isRowSelectable,
33
33
  license = process.env.MUI_LICENSE_KEY,
34
34
  onFilterModelChange: propsOnFilterModelChange,
35
- onPageChange: propsOnPageChange,
36
- onPageSizeChange: propsOnPageSizeChange,
35
+ rowSelectionModel: propsRowSelectionModel,
36
+ onPaginationModelChange: propsOnPaginationModelChange,
37
+ onRowSelectionModelChange: propsOnRowSelectionModelChange,
37
38
  onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
38
39
  onPinnedColumnsChange: propsOnPinnedColumnsChange,
39
40
  onSortModelChange: propsOnSortModelChange,
40
- selectionModel: propsSelectionModel,
41
- onSelectionModelChange: propsOnSelectionModelChange,
42
- page: propsPage,
43
- pageSize: propsPageSize,
44
41
  pagination,
45
42
  paginationPlacement = 'both',
46
43
  paginationProps,
47
44
  rows,
48
- rowsPerPageOptions,
45
+ pageSizeOptions,
49
46
  sx,
50
47
  theme: propsTheme,
51
48
  paginationMode = 'client',
@@ -55,7 +52,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
55
52
  const theme = useTheme(propsTheme);
56
53
  const _apiRef = useGridApiRef();
57
54
  const apiRef = propsApiRef !== null && propsApiRef !== void 0 ? propsApiRef : _apiRef;
58
- const RenderedToolbar = components !== null && components !== void 0 && components.Toolbar ? components.Toolbar : Toolbar;
55
+ const RenderedToolbar = slots !== null && slots !== void 0 && slots.toolbar ? slots.toolbar : Toolbar;
59
56
  LicenseInfo.setLicenseKey(license);
60
57
  const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
61
58
  const {
@@ -63,56 +60,52 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
63
60
  filterModel,
64
61
  onColumnVisibilityModelChange,
65
62
  onFilterModelChange,
66
- onPageChange,
67
- onPageSizeChange,
63
+ onPaginationModelChange,
68
64
  onPinnedColumnsChange,
69
65
  onSortModelChange,
70
- page,
71
- pageSize,
66
+ paginationModel,
72
67
  pinnedColumns,
73
68
  sortModel
74
69
  } = useControlledDatagridState({
75
70
  initialState,
76
- rowsPerPageOptions,
71
+ pageSizeOptions,
77
72
  propsColumnVisibilityModel,
78
73
  propsFilterModel,
79
74
  propsOnColumnVisibilityModelChange,
80
75
  propsOnFilterModelChange,
81
76
  propsOnPinnedColumnsChange,
82
77
  propsOnSortModelChange,
83
- propsPage,
84
- propsPageSize,
78
+ propsPaginationModel,
85
79
  propsPinnedColumns,
86
80
  propsSortModel,
87
- propsOnPageChange,
88
- propsOnPageSizeChange
81
+ propsOnPaginationModelChange
89
82
  });
90
- const [selectionModel, setSelectionModel] = useState(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
83
+ const [rowSelectionModel, setRowSelectionModel] = useState(propsRowSelectionModel !== null && propsRowSelectionModel !== void 0 ? propsRowSelectionModel : []);
91
84
  useEffect(() => {
92
- setSelectionModel(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
93
- }, [propsSelectionModel]);
94
- const onSelectionModelChange = (selectionModel, details) => {
95
- if (propsOnSelectionModelChange) {
96
- propsOnSelectionModelChange(selectionModel, details);
85
+ setRowSelectionModel(propsRowSelectionModel !== null && propsRowSelectionModel !== void 0 ? propsRowSelectionModel : []);
86
+ }, [propsRowSelectionModel]);
87
+ const onRowSelectionModelChange = (selectionModel, details) => {
88
+ if (propsOnRowSelectionModelChange) {
89
+ propsOnRowSelectionModelChange(selectionModel, details);
97
90
  } else {
98
- setSelectionModel(selectionModel);
91
+ setRowSelectionModel(selectionModel);
99
92
  }
100
93
  };
101
94
  const selectionStatus = useRef({
102
95
  type: 'none',
103
96
  numberOfSelectedRows: 0,
104
97
  numberOfSelectedRowsInPage: 0,
105
- page,
106
- pageSize
98
+ page: paginationModel.page,
99
+ pageSize: paginationModel.pageSize
107
100
  });
108
101
 
109
102
  // in server-side pagination we want to update the selection status
110
103
  // every time we navigate between pages, resize our page or select something
111
104
  useEffect(() => {
112
105
  if (paginationMode == 'server') {
113
- onServerSideSelectionStatusChange(Array.isArray(selectionModel) ? selectionModel : [selectionModel], apiRef, selectionStatus, isRowSelectable, page, pageSize);
106
+ onServerSideSelectionStatusChange(Array.isArray(rowSelectionModel) ? rowSelectionModel : [rowSelectionModel], apiRef, selectionStatus, isRowSelectable, paginationModel.page, paginationModel.pageSize);
114
107
  }
115
- }, [selectionModel, page, pageSize]);
108
+ }, [rowSelectionModel, paginationModel.page, paginationModel.pageSize]);
116
109
  if (!Array.isArray(rows)) {
117
110
  return null;
118
111
  }
@@ -143,57 +136,54 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
143
136
  apiRef: apiRef,
144
137
  autoHeight: autoHeight,
145
138
  checkboxSelectionVisibleOnly: Boolean(pagination),
146
- columnTypes: _objectSpread2(_objectSpread2({}, customColumnTypes), propsColumnTypes),
147
- components: _objectSpread2(_objectSpread2({
148
- BaseButton,
149
- BaseCheckbox,
150
- // BaseTextField,
151
- BasePopper,
152
- ColumnFilteredIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
139
+ slots: _objectSpread2(_objectSpread2({
140
+ baseButton: BaseButton,
141
+ baseCheckbox: BaseCheckbox,
142
+ // baseTextField,
143
+ basePopper: BasePopper,
144
+ columnFilteredIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
153
145
  displayName: "ColumnFilteredIcon"
154
146
  })),
155
- ColumnSelectorIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
147
+ columnSelectorIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
156
148
  displayName: "ColumnSelectorIcon"
157
149
  })),
158
- ColumnSortedAscendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
150
+ columnSortedAscendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
159
151
  displayName: "ColumnSortedAscendingIcon"
160
152
  })),
161
- ColumnSortedDescendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
153
+ columnSortedDescendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
162
154
  displayName: "ColumnSortedDescendingIcon"
163
155
  })),
164
- DensityCompactIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
156
+ densityCompactIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
165
157
  displayName: "DensityCompactIcon"
166
158
  })),
167
- DensityStandardIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
159
+ densityStandardIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
168
160
  displayName: "DensityStandardIcon"
169
161
  })),
170
- DensityComfortableIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
162
+ densityComfortableIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
171
163
  displayName: "DensityComfortableIcon"
172
164
  })),
173
- DetailPanelCollapseIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
165
+ detailPanelCollapseIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
174
166
  displayName: "DetailPanelCollapseIcon"
175
167
  })),
176
- DetailPanelExpandIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
168
+ detailPanelExpandIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
177
169
  displayName: "DetailPanelExpandIcon"
178
170
  })),
179
- ExportIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
171
+ exportIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
180
172
  displayName: "ExportIcon"
181
173
  })),
182
- OpenFilterButtonIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({
174
+ openFilterButtonIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({
183
175
  displayName: "OpenFilterButtonIcon"
184
176
  }, props))
185
- }, components), {}, {
186
- Toolbar: ToolbarWrapper,
187
- Pagination: props => pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends({}, props, {
177
+ }, slots), {}, {
178
+ toolbar: ToolbarWrapper,
179
+ pagination: props => pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends({}, props, {
188
180
  displaySelection: false,
189
181
  displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
190
182
  displayPagination: ['bottom', 'both'].includes(paginationPlacement),
191
183
  selectionStatus: selectionStatus.current,
192
- page: page,
193
- onPageChange: onPageChange,
194
- pageSize: pageSize,
195
- onPageSizeChange: onPageSizeChange,
196
- rowsPerPageOptions: rowsPerPageOptions,
184
+ paginationModel: paginationModel,
185
+ onPaginationModelChange: onPaginationModelChange,
186
+ pageSizeOptions: pageSizeOptions,
197
187
  paginationProps: paginationProps,
198
188
  paginationMode: paginationMode,
199
189
  rowCount: rowCount
@@ -204,16 +194,14 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
204
194
  selectionStatus: selectionStatus.current,
205
195
  apiRef: apiRef,
206
196
  isRowSelectable: isRowSelectable,
207
- page: page,
208
- onPageChange: onPageChange,
209
- pageSize: pageSize,
210
- onPageSizeChange: onPageSizeChange,
211
- rowsPerPageOptions: rowsPerPageOptions,
197
+ paginationModel: paginationModel,
198
+ onPaginationModelChange: onPaginationModelChange,
199
+ pageSizeOptions: pageSizeOptions,
212
200
  paginationProps: paginationProps,
213
201
  paginationMode: paginationMode
214
202
  })) : null
215
203
  }),
216
- componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
204
+ slotProps: _objectSpread2(_objectSpread2({}, slotProps), {}, {
217
205
  toolbar: _objectSpread2({
218
206
  hideToolbar,
219
207
  RenderedToolbar,
@@ -224,15 +212,13 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
224
212
  selectionStatus,
225
213
  apiRef,
226
214
  isRowSelectable,
227
- page,
228
- onPageChange,
229
- pageSize,
230
- onPageSizeChange,
231
- rowsPerPageOptions,
215
+ paginationModel,
216
+ onPaginationModelChange,
217
+ pageSizeOptions,
232
218
  paginationProps,
233
219
  paginationMode,
234
220
  rowCount
235
- }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbar)
221
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.toolbar)
236
222
  }),
237
223
  filterModel: filterModel,
238
224
  columnVisibilityModel: columnVisibilityModel,
@@ -248,13 +234,11 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
248
234
  paginationMode: paginationMode,
249
235
  keepNonExistentRowsSelected: paginationMode == 'server',
250
236
  rows: rows,
251
- rowsPerPageOptions: rowsPerPageOptions,
252
- page: page,
253
- onPageChange: onPageChange,
254
- pageSize: pageSize,
255
- onPageSizeChange: onPageSizeChange,
256
- selectionModel: selectionModel,
257
- onSelectionModelChange: (newSelectionModel, details) => {
237
+ pageSizeOptions: pageSizeOptions,
238
+ paginationModel: paginationModel,
239
+ onPaginationModelChange: onPaginationModelChange,
240
+ rowSelectionModel: rowSelectionModel,
241
+ onRowSelectionModelChange: (newSelectionModel, details) => {
258
242
  if (pagination && paginationMode != 'server') {
259
243
  const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
260
244
  let {
@@ -312,7 +296,7 @@ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
312
296
  };
313
297
  }
314
298
  }
315
- onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel, details);
299
+ onRowSelectionModelChange === null || onRowSelectionModelChange === void 0 ? void 0 : onRowSelectionModelChange(newSelectionModel, details);
316
300
  },
317
301
  sx: _objectSpread2(_objectSpread2({}, sx), {}, {
318
302
  '.MuiDataGrid-columnHeaders': {
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid2.js","sources":["../../src/components/DataGrid/DataGrid.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider as MuiThemeProvider, createTheme } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { LicenseInfo } from '@mui/x-license-pro';\nimport {\n Comp,\n RedsiftColorBlueN,\n RedsiftColorNeutralWhite,\n RedsiftColorNeutralXDarkGrey,\n ThemeProvider,\n useTheme,\n} from '@redsift/design-system';\nimport {\n DataGridPro,\n GridCallbackDetails,\n gridFilteredSortedRowEntriesSelector,\n gridFilteredSortedRowIdsSelector,\n gridPaginatedVisibleSortedGridRowEntriesSelector,\n gridPaginatedVisibleSortedGridRowIdsSelector,\n GridRowParams,\n GridSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro';\n\nimport { StyledDataGrid } from './styles';\nimport { DataGridProps, SelectionStatus } from './types';\nimport { Toolbar as DefaultToolbar } from '../Toolbar';\nimport { BaseIcon, BaseButton, BaseCheckbox, BasePopper } from '../BaseComponents';\nimport { ToolbarWrapper } from '../ToolbarWrapper';\nimport { onServerSideSelectionStatusChange, ServerSideControlledPagination, ControlledPagination } from '../Pagination';\nimport { customColumnTypes } from '../../utils/columnTypes';\nimport { useControlledDatagridState } from '../../hooks/useControlledDatagridState';\n\nconst COMPONENT_NAME = 'DataGrid';\nconst CLASSNAME = 'redsift-datagrid';\n\nexport const DataGrid: Comp<DataGridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const datagridRef = ref || useRef<HTMLDivElement>();\n\n const {\n apiRef: propsApiRef,\n autoHeight,\n className,\n columnTypes: propsColumnTypes,\n components,\n componentsProps,\n filterModel: propsFilterModel,\n columnVisibilityModel: propsColumnVisibilityModel,\n pinnedColumns: propsPinnedColumns,\n sortModel: propsSortModel,\n height: propsHeight,\n hideToolbar,\n initialState,\n isRowSelectable,\n license = process.env.MUI_LICENSE_KEY,\n onFilterModelChange: propsOnFilterModelChange,\n onPageChange: propsOnPageChange,\n onPageSizeChange: propsOnPageSizeChange,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n selectionModel: propsSelectionModel,\n onSelectionModelChange: propsOnSelectionModelChange,\n page: propsPage,\n pageSize: propsPageSize,\n pagination,\n paginationPlacement = 'both',\n paginationProps,\n rows,\n rowsPerPageOptions,\n sx,\n theme: propsTheme,\n paginationMode = 'client',\n rowCount,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const _apiRef = useGridApiRef();\n const apiRef = propsApiRef ?? _apiRef;\n const RenderedToolbar = components?.Toolbar ? components.Toolbar : DefaultToolbar;\n\n LicenseInfo.setLicenseKey(license!);\n\n const height = propsHeight ?? (autoHeight ? undefined : '500px');\n\n const {\n columnVisibilityModel,\n filterModel,\n onColumnVisibilityModelChange,\n onFilterModelChange,\n onPageChange,\n onPageSizeChange,\n onPinnedColumnsChange,\n onSortModelChange,\n page,\n pageSize,\n pinnedColumns,\n sortModel,\n } = useControlledDatagridState({\n initialState,\n rowsPerPageOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPage,\n propsPageSize,\n propsPinnedColumns,\n propsSortModel,\n propsOnPageChange,\n propsOnPageSizeChange,\n });\n\n const [selectionModel, setSelectionModel] = useState(propsSelectionModel ?? []);\n useEffect(() => {\n setSelectionModel(propsSelectionModel ?? []);\n }, [propsSelectionModel]);\n\n const onSelectionModelChange = (selectionModel: GridSelectionModel, details: GridCallbackDetails) => {\n if (propsOnSelectionModelChange) {\n propsOnSelectionModelChange(selectionModel, details);\n } else {\n setSelectionModel(selectionModel);\n }\n };\n\n const selectionStatus = useRef<SelectionStatus>({\n type: 'none',\n numberOfSelectedRows: 0,\n numberOfSelectedRowsInPage: 0,\n page,\n pageSize,\n });\n\n // in server-side pagination we want to update the selection status\n // every time we navigate between pages, resize our page or select something\n useEffect(() => {\n if (paginationMode == 'server') {\n onServerSideSelectionStatusChange(\n Array.isArray(selectionModel) ? selectionModel : [selectionModel],\n apiRef,\n selectionStatus,\n isRowSelectable,\n page,\n pageSize\n );\n }\n }, [selectionModel, page, pageSize]);\n\n if (!Array.isArray(rows)) {\n return null;\n }\n\n const muiTheme = useMemo(\n () =>\n createTheme({\n palette: {\n mode: theme,\n primary: { main: RedsiftColorBlueN },\n background: {\n default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n },\n },\n }),\n [theme]\n );\n\n return (\n <ThemeProvider value={{ theme }}>\n <MuiThemeProvider theme={muiTheme}>\n {/* <pre>{JSON.stringify(selectionStatus, null, 2)}</pre> */}\n <StyledDataGrid\n ref={datagridRef as RefObject<HTMLDivElement>}\n className={classNames(DataGrid.className, className)}\n $height={height}\n >\n <DataGridPro\n {...forwardedProps}\n rowCount={rowCount!}\n apiRef={apiRef}\n autoHeight={autoHeight}\n checkboxSelectionVisibleOnly={Boolean(pagination)}\n columnTypes={{ ...customColumnTypes, ...propsColumnTypes }}\n components={{\n BaseButton,\n BaseCheckbox,\n // BaseTextField,\n BasePopper,\n ColumnFilteredIcon: (props) => <BaseIcon {...props} displayName=\"ColumnFilteredIcon\" />,\n ColumnSelectorIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSelectorIcon\" />,\n ColumnSortedAscendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedAscendingIcon\" />,\n ColumnSortedDescendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedDescendingIcon\" />,\n DensityCompactIcon: (props) => <BaseIcon {...props} displayName=\"DensityCompactIcon\" />,\n DensityStandardIcon: (props) => <BaseIcon {...props} displayName=\"DensityStandardIcon\" />,\n DensityComfortableIcon: (props) => <BaseIcon {...props} displayName=\"DensityComfortableIcon\" />,\n DetailPanelCollapseIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelCollapseIcon\" />,\n DetailPanelExpandIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelExpandIcon\" />,\n ExportIcon: (props) => <BaseIcon {...props} displayName=\"ExportIcon\" />,\n OpenFilterButtonIcon: (props) => <BaseIcon displayName=\"OpenFilterButtonIcon\" {...props} />,\n ...components,\n Toolbar: ToolbarWrapper,\n Pagination: (props) =>\n pagination ? (\n paginationMode == 'server' ? (\n <ServerSideControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n page={page}\n onPageChange={onPageChange}\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n apiRef={apiRef}\n isRowSelectable={isRowSelectable}\n page={page}\n onPageChange={onPageChange}\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n />\n )\n ) : null,\n }}\n componentsProps={{\n ...componentsProps,\n toolbar: {\n hideToolbar,\n RenderedToolbar,\n filterModel,\n onFilterModelChange,\n pagination,\n paginationPlacement,\n selectionStatus,\n apiRef,\n isRowSelectable,\n page,\n onPageChange,\n pageSize,\n onPageSizeChange,\n rowsPerPageOptions,\n paginationProps,\n paginationMode,\n rowCount,\n ...componentsProps?.toolbar,\n },\n }}\n filterModel={filterModel}\n columnVisibilityModel={columnVisibilityModel}\n pinnedColumns={pinnedColumns}\n sortModel={sortModel}\n initialState={initialState}\n isRowSelectable={isRowSelectable}\n onFilterModelChange={onFilterModelChange}\n onColumnVisibilityModelChange={onColumnVisibilityModelChange}\n onPinnedColumnsChange={onPinnedColumnsChange}\n onSortModelChange={onSortModelChange}\n pagination={pagination}\n paginationMode={paginationMode}\n keepNonExistentRowsSelected={paginationMode == 'server'}\n rows={rows}\n rowsPerPageOptions={rowsPerPageOptions}\n page={page}\n onPageChange={onPageChange}\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n selectionModel={selectionModel}\n onSelectionModelChange={(newSelectionModel, details) => {\n if (pagination && paginationMode != 'server') {\n const selectableRowsInPage = isRowSelectable\n ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);\n const numberOfSelectableRowsInPage = selectableRowsInPage.length;\n\n const selectableRowsInTable = isRowSelectable\n ? gridFilteredSortedRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridFilteredSortedRowIdsSelector(apiRef);\n const numberOfSelectableRowsInTable = selectableRowsInTable.length;\n\n const numberOfSelectedRows = newSelectionModel.length;\n\n if (\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage) ||\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable) ||\n (selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage)\n ) {\n setTimeout(() => {\n apiRef.current.selectRows([], true, true);\n }, 0);\n }\n\n if (\n numberOfSelectedRows === numberOfSelectableRowsInPage &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'page',\n numberOfSelectedRows,\n };\n } else if (\n numberOfSelectedRows === numberOfSelectableRowsInTable &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'table',\n numberOfSelectedRows,\n };\n } else if (numberOfSelectedRows > 0) {\n selectionStatus.current = {\n type: 'other',\n numberOfSelectedRows,\n };\n } else {\n selectionStatus.current = {\n type: 'none',\n numberOfSelectedRows,\n };\n }\n }\n onSelectionModelChange?.(newSelectionModel, details);\n }}\n sx={{\n ...sx,\n '.MuiDataGrid-columnHeaders': {\n flexDirection: 'column',\n alignItems: 'normal',\n },\n '.MuiDataGrid-selectedRowCount': {\n margin: 'none',\n },\n }}\n />\n </StyledDataGrid>\n </MuiThemeProvider>\n </ThemeProvider>\n );\n});\nDataGrid.className = CLASSNAME;\nDataGrid.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","DataGrid","forwardRef","props","ref","datagridRef","useRef","apiRef","propsApiRef","autoHeight","className","columnTypes","propsColumnTypes","components","componentsProps","filterModel","propsFilterModel","columnVisibilityModel","propsColumnVisibilityModel","pinnedColumns","propsPinnedColumns","sortModel","propsSortModel","height","propsHeight","hideToolbar","initialState","isRowSelectable","license","process","env","MUI_LICENSE_KEY","onFilterModelChange","propsOnFilterModelChange","onPageChange","propsOnPageChange","onPageSizeChange","propsOnPageSizeChange","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","selectionModel","propsSelectionModel","onSelectionModelChange","propsOnSelectionModelChange","page","propsPage","pageSize","propsPageSize","pagination","paginationPlacement","paginationProps","rows","rowsPerPageOptions","sx","theme","propsTheme","paginationMode","rowCount","forwardedProps","_objectWithoutProperties","_excluded","useTheme","_apiRef","useGridApiRef","RenderedToolbar","Toolbar","DefaultToolbar","LicenseInfo","setLicenseKey","undefined","useControlledDatagridState","setSelectionModel","useState","useEffect","details","selectionStatus","type","numberOfSelectedRows","numberOfSelectedRowsInPage","onServerSideSelectionStatusChange","Array","isArray","muiTheme","useMemo","createTheme","palette","mode","primary","main","RedsiftColorBlueN","background","default","RedsiftColorNeutralXDarkGrey","RedsiftColorNeutralWhite","paper","React","createElement","ThemeProvider","value","MuiThemeProvider","StyledDataGrid","classNames","$height","DataGridPro","_extends","checkboxSelectionVisibleOnly","Boolean","_objectSpread","customColumnTypes","BaseButton","BaseCheckbox","BasePopper","ColumnFilteredIcon","BaseIcon","displayName","ColumnSelectorIcon","ColumnSortedAscendingIcon","ColumnSortedDescendingIcon","DensityCompactIcon","DensityStandardIcon","DensityComfortableIcon","DetailPanelCollapseIcon","DetailPanelExpandIcon","ExportIcon","OpenFilterButtonIcon","ToolbarWrapper","Pagination","ServerSideControlledPagination","displaySelection","displayRowsPerPage","includes","displayPagination","current","ControlledPagination","toolbar","keepNonExistentRowsSelected","newSelectionModel","selectableRowsInPage","gridPaginatedVisibleSortedGridRowEntriesSelector","filter","_ref","model","row","map","_ref2","id","gridPaginatedVisibleSortedGridRowIdsSelector","numberOfSelectableRowsInPage","length","selectableRowsInTable","gridFilteredSortedRowEntriesSelector","_ref3","_ref4","gridFilteredSortedRowIdsSelector","numberOfSelectableRowsInTable","setTimeout","selectRows","flexDirection","alignItems","margin"],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid2.js","sources":["../../src/components/DataGrid/DataGrid.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider as MuiThemeProvider, createTheme } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { LicenseInfo } from '@mui/x-license-pro';\nimport {\n Comp,\n RedsiftColorBlueN,\n RedsiftColorNeutralWhite,\n RedsiftColorNeutralXDarkGrey,\n ThemeProvider,\n useTheme,\n} from '@redsift/design-system';\nimport {\n DataGridPro,\n GridCallbackDetails,\n gridFilteredSortedRowEntriesSelector,\n gridFilteredSortedRowIdsSelector,\n gridPaginatedVisibleSortedGridRowEntriesSelector,\n gridPaginatedVisibleSortedGridRowIdsSelector,\n GridRowParams,\n GridRowSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro';\n\nimport { StyledDataGrid } from './styles';\nimport { DataGridProps, SelectionStatus } from './types';\nimport { Toolbar as DefaultToolbar } from '../Toolbar';\nimport { BaseIcon, BaseButton, BaseCheckbox, BasePopper } from '../BaseComponents';\nimport { ToolbarWrapper } from '../ToolbarWrapper';\nimport { onServerSideSelectionStatusChange, ServerSideControlledPagination, ControlledPagination } from '../Pagination';\nimport { useControlledDatagridState } from '../../hooks/useControlledDatagridState';\n\nconst COMPONENT_NAME = 'DataGrid';\nconst CLASSNAME = 'redsift-datagrid';\n\nexport const DataGrid: Comp<DataGridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const datagridRef = ref || useRef<HTMLDivElement>();\n\n const {\n apiRef: propsApiRef,\n autoHeight,\n className,\n slots,\n slotProps,\n filterModel: propsFilterModel,\n columnVisibilityModel: propsColumnVisibilityModel,\n pinnedColumns: propsPinnedColumns,\n sortModel: propsSortModel,\n paginationModel: propsPaginationModel,\n height: propsHeight,\n hideToolbar,\n initialState,\n isRowSelectable,\n license = process.env.MUI_LICENSE_KEY,\n onFilterModelChange: propsOnFilterModelChange,\n rowSelectionModel: propsRowSelectionModel,\n onPaginationModelChange: propsOnPaginationModelChange,\n onRowSelectionModelChange: propsOnRowSelectionModelChange,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n pagination,\n paginationPlacement = 'both',\n paginationProps,\n rows,\n pageSizeOptions,\n sx,\n theme: propsTheme,\n paginationMode = 'client',\n rowCount,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const _apiRef = useGridApiRef();\n const apiRef = propsApiRef ?? _apiRef;\n const RenderedToolbar = slots?.toolbar ? slots.toolbar : DefaultToolbar;\n\n LicenseInfo.setLicenseKey(license!);\n\n const height = propsHeight ?? (autoHeight ? undefined : '500px');\n\n const {\n columnVisibilityModel,\n filterModel,\n onColumnVisibilityModelChange,\n onFilterModelChange,\n onPaginationModelChange,\n onPinnedColumnsChange,\n onSortModelChange,\n paginationModel,\n pinnedColumns,\n sortModel,\n } = useControlledDatagridState({\n initialState,\n pageSizeOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPaginationModel,\n propsPinnedColumns,\n propsSortModel,\n propsOnPaginationModelChange,\n });\n\n const [rowSelectionModel, setRowSelectionModel] = useState(propsRowSelectionModel ?? []);\n useEffect(() => {\n setRowSelectionModel(propsRowSelectionModel ?? []);\n }, [propsRowSelectionModel]);\n\n const onRowSelectionModelChange = (selectionModel: GridRowSelectionModel, details: GridCallbackDetails) => {\n if (propsOnRowSelectionModelChange) {\n propsOnRowSelectionModelChange(selectionModel, details);\n } else {\n setRowSelectionModel(selectionModel);\n }\n };\n\n const selectionStatus = useRef<SelectionStatus>({\n type: 'none',\n numberOfSelectedRows: 0,\n numberOfSelectedRowsInPage: 0,\n page: paginationModel.page,\n pageSize: paginationModel.pageSize,\n });\n\n // in server-side pagination we want to update the selection status\n // every time we navigate between pages, resize our page or select something\n useEffect(() => {\n if (paginationMode == 'server') {\n onServerSideSelectionStatusChange(\n Array.isArray(rowSelectionModel) ? rowSelectionModel : [rowSelectionModel],\n apiRef,\n selectionStatus,\n isRowSelectable,\n paginationModel.page,\n paginationModel.pageSize\n );\n }\n }, [rowSelectionModel, paginationModel.page, paginationModel.pageSize]);\n\n if (!Array.isArray(rows)) {\n return null;\n }\n\n const muiTheme = useMemo(\n () =>\n createTheme({\n palette: {\n mode: theme,\n primary: { main: RedsiftColorBlueN },\n background: {\n default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n },\n },\n }),\n [theme]\n );\n\n return (\n <ThemeProvider value={{ theme }}>\n <MuiThemeProvider theme={muiTheme}>\n {/* <pre>{JSON.stringify(selectionStatus, null, 2)}</pre> */}\n <StyledDataGrid\n ref={datagridRef as RefObject<HTMLDivElement>}\n className={classNames(DataGrid.className, className)}\n $height={height}\n >\n <DataGridPro\n {...forwardedProps}\n rowCount={rowCount!}\n apiRef={apiRef}\n autoHeight={autoHeight}\n checkboxSelectionVisibleOnly={Boolean(pagination)}\n slots={{\n baseButton: BaseButton,\n baseCheckbox: BaseCheckbox,\n // baseTextField,\n basePopper: BasePopper,\n columnFilteredIcon: (props) => <BaseIcon {...props} displayName=\"ColumnFilteredIcon\" />,\n columnSelectorIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSelectorIcon\" />,\n columnSortedAscendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedAscendingIcon\" />,\n columnSortedDescendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedDescendingIcon\" />,\n densityCompactIcon: (props) => <BaseIcon {...props} displayName=\"DensityCompactIcon\" />,\n densityStandardIcon: (props) => <BaseIcon {...props} displayName=\"DensityStandardIcon\" />,\n densityComfortableIcon: (props) => <BaseIcon {...props} displayName=\"DensityComfortableIcon\" />,\n detailPanelCollapseIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelCollapseIcon\" />,\n detailPanelExpandIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelExpandIcon\" />,\n exportIcon: (props) => <BaseIcon {...props} displayName=\"ExportIcon\" />,\n openFilterButtonIcon: (props) => <BaseIcon displayName=\"OpenFilterButtonIcon\" {...props} />,\n ...slots,\n toolbar: ToolbarWrapper,\n pagination: (props) =>\n pagination ? (\n paginationMode == 'server' ? (\n <ServerSideControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n paginationModel={paginationModel}\n onPaginationModelChange={onPaginationModelChange}\n pageSizeOptions={pageSizeOptions as any as number[]}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n apiRef={apiRef}\n isRowSelectable={isRowSelectable}\n paginationModel={paginationModel}\n onPaginationModelChange={onPaginationModelChange}\n pageSizeOptions={pageSizeOptions as any as number[]}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n />\n )\n ) : null,\n }}\n slotProps={{\n ...slotProps,\n toolbar: {\n hideToolbar,\n RenderedToolbar,\n filterModel,\n onFilterModelChange,\n pagination,\n paginationPlacement,\n selectionStatus,\n apiRef,\n isRowSelectable,\n paginationModel,\n onPaginationModelChange,\n pageSizeOptions,\n paginationProps,\n paginationMode,\n rowCount,\n ...slotProps?.toolbar,\n },\n }}\n filterModel={filterModel}\n columnVisibilityModel={columnVisibilityModel}\n pinnedColumns={pinnedColumns}\n sortModel={sortModel}\n initialState={initialState}\n isRowSelectable={isRowSelectable}\n onFilterModelChange={onFilterModelChange}\n onColumnVisibilityModelChange={onColumnVisibilityModelChange}\n onPinnedColumnsChange={onPinnedColumnsChange}\n onSortModelChange={onSortModelChange}\n pagination={pagination}\n paginationMode={paginationMode}\n keepNonExistentRowsSelected={paginationMode == 'server'}\n rows={rows}\n pageSizeOptions={pageSizeOptions}\n paginationModel={paginationModel}\n onPaginationModelChange={onPaginationModelChange}\n rowSelectionModel={rowSelectionModel}\n onRowSelectionModelChange={(newSelectionModel, details) => {\n if (pagination && paginationMode != 'server') {\n const selectableRowsInPage = isRowSelectable\n ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);\n const numberOfSelectableRowsInPage = selectableRowsInPage.length;\n\n const selectableRowsInTable = isRowSelectable\n ? gridFilteredSortedRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridFilteredSortedRowIdsSelector(apiRef);\n const numberOfSelectableRowsInTable = selectableRowsInTable.length;\n\n const numberOfSelectedRows = newSelectionModel.length;\n\n if (\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage) ||\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable) ||\n (selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage)\n ) {\n setTimeout(() => {\n apiRef.current.selectRows([], true, true);\n }, 0);\n }\n\n if (\n numberOfSelectedRows === numberOfSelectableRowsInPage &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'page',\n numberOfSelectedRows,\n };\n } else if (\n numberOfSelectedRows === numberOfSelectableRowsInTable &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'table',\n numberOfSelectedRows,\n };\n } else if (numberOfSelectedRows > 0) {\n selectionStatus.current = {\n type: 'other',\n numberOfSelectedRows,\n };\n } else {\n selectionStatus.current = {\n type: 'none',\n numberOfSelectedRows,\n };\n }\n }\n onRowSelectionModelChange?.(newSelectionModel, details);\n }}\n sx={{\n ...sx,\n '.MuiDataGrid-columnHeaders': {\n flexDirection: 'column',\n alignItems: 'normal',\n },\n '.MuiDataGrid-selectedRowCount': {\n margin: 'none',\n },\n }}\n />\n </StyledDataGrid>\n </MuiThemeProvider>\n </ThemeProvider>\n );\n});\nDataGrid.className = CLASSNAME;\nDataGrid.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","DataGrid","forwardRef","props","ref","datagridRef","useRef","apiRef","propsApiRef","autoHeight","className","slots","slotProps","filterModel","propsFilterModel","columnVisibilityModel","propsColumnVisibilityModel","pinnedColumns","propsPinnedColumns","sortModel","propsSortModel","paginationModel","propsPaginationModel","height","propsHeight","hideToolbar","initialState","isRowSelectable","license","process","env","MUI_LICENSE_KEY","onFilterModelChange","propsOnFilterModelChange","rowSelectionModel","propsRowSelectionModel","onPaginationModelChange","propsOnPaginationModelChange","onRowSelectionModelChange","propsOnRowSelectionModelChange","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","pagination","paginationPlacement","paginationProps","rows","pageSizeOptions","sx","theme","propsTheme","paginationMode","rowCount","forwardedProps","_objectWithoutProperties","_excluded","useTheme","_apiRef","useGridApiRef","RenderedToolbar","toolbar","DefaultToolbar","LicenseInfo","setLicenseKey","undefined","useControlledDatagridState","setRowSelectionModel","useState","useEffect","selectionModel","details","selectionStatus","type","numberOfSelectedRows","numberOfSelectedRowsInPage","page","pageSize","onServerSideSelectionStatusChange","Array","isArray","muiTheme","useMemo","createTheme","palette","mode","primary","main","RedsiftColorBlueN","background","default","RedsiftColorNeutralXDarkGrey","RedsiftColorNeutralWhite","paper","React","createElement","ThemeProvider","value","MuiThemeProvider","StyledDataGrid","classNames","$height","DataGridPro","_extends","checkboxSelectionVisibleOnly","Boolean","_objectSpread","baseButton","BaseButton","baseCheckbox","BaseCheckbox","basePopper","BasePopper","columnFilteredIcon","BaseIcon","displayName","columnSelectorIcon","columnSortedAscendingIcon","columnSortedDescendingIcon","densityCompactIcon","densityStandardIcon","densityComfortableIcon","detailPanelCollapseIcon","detailPanelExpandIcon","exportIcon","openFilterButtonIcon","ToolbarWrapper","ServerSideControlledPagination","displaySelection","displayRowsPerPage","includes","displayPagination","current","ControlledPagination","keepNonExistentRowsSelected","newSelectionModel","selectableRowsInPage","gridPaginatedVisibleSortedGridRowEntriesSelector","filter","_ref","model","row","map","_ref2","id","gridPaginatedVisibleSortedGridRowIdsSelector","numberOfSelectableRowsInPage","length","selectableRowsInTable","gridFilteredSortedRowEntriesSelector","_ref3","_ref4","gridFilteredSortedRowIdsSelector","numberOfSelectableRowsInTable","setTimeout","selectRows","flexDirection","alignItems","margin"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as _extends, _ as _objectSpread2, b as _objectWithoutProperties } from './_rollupPluginBabelHelpers.js';
1
+ import { b as _extends, _ as _objectSpread2, a as _objectWithoutProperties } from './_rollupPluginBabelHelpers.js';
2
2
  import * as React from 'react';
3
3
  import React__default, { useLayoutEffect, useEffect, useRef, forwardRef, useContext, useState, useCallback } from 'react';
4
4
  import classNames from 'classnames';
@@ -9,7 +9,7 @@ import * as ReactDOM from 'react-dom';
9
9
 
10
10
  const API_URL = 'https://api.openai.com/v1/chat/completions';
11
11
  async function getCompletion(text, role, openai_api_key) {
12
- let model = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'gpt-3.5-turbo-0613';
12
+ let model = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'gpt-3.5-turbo-1106';
13
13
  try {
14
14
  const messages = [{
15
15
  role: 'system',
@@ -5435,16 +5435,16 @@ const getRole = (config, dateFormat) => {
5435
5435
  }).join('\n');
5436
5436
  return `The AI assistant parses user input to generate a JSON object that will be used as a row filter for a data table MUI Data Grid.
5437
5437
  The filter supports mulitple conditions using only two logical operator "and", "or". It only allows "and" between all conditions or "or" between all conditions. It can't mix the two types.
5438
- The AI assistant extracts information from the user input and generates a JSON object with exactly the two keys "linkOperator" and "items":
5439
- - "linkOperator": the logical operator, only "and" or "or" are allowed. If there is only one condition in the "items", use "and".
5440
- - "items": a list of conditions, each is an object with exactly the three keys "columnField", "operatorValue" and "value":
5441
- - "columnField": the column name, must be one of ${columns}
5438
+ The AI assistant extracts information from the user input and generates a JSON object with exactly the two keys "logicOperator" and "items":
5439
+ - "logicOperator": the logical operator, only "and" or "or" are allowed. If there is only one condition in the "items", use "and".
5440
+ - "items": a list of conditions, each is an object with exactly the three keys "field", "operator" and "value":
5441
+ - "field": the column name, must be one of ${columns}
5442
5442
  - "value":
5443
- - this can be skipped if the "operatorValue" is either "isEmpty" or "isNotEmpty"
5444
- - a list of multiple values if the "operatorValue" ends with "AnyOf"
5443
+ - this can be skipped if the "operator" is either "isEmpty" or "isNotEmpty"
5444
+ - a list of multiple values if the "operator" ends with "AnyOf"
5445
5445
  - otherwise, it's a single value represented as a string: "true" instead of true, "false" instead of false, "0.6" instead of 0.6.
5446
5446
  For "date" data type, use ${dateFormat}. If relative date is input, convert to the actual date given today is ${today}.
5447
- - "operatorValue": the comparison operator, accepted values depend on the data type of the column
5447
+ - "operator": the comparison operator, accepted values depend on the data type of the column
5448
5448
  ${operators}
5449
5449
 
5450
5450
  Below is the datatype in square bracket, constraints on the data range if any, followed by the description of each column used in the data table:
@@ -5481,10 +5481,10 @@ const GridToolbarFilterSemanticField = /*#__PURE__*/forwardRef((props, ref) => {
5481
5481
  nlpFilterConfig,
5482
5482
  onFilterModelChange,
5483
5483
  dateFormat = 'yyyy-mm-dd',
5484
- defaultModel = 'gpt-4-0613',
5484
+ defaultModel = 'gpt-4-1106-preview',
5485
5485
  defaultFilter = {
5486
5486
  items: [],
5487
- linkOperator: 'and'
5487
+ logicOperator: 'and'
5488
5488
  },
5489
5489
  disablePower = false,
5490
5490
  localeText
@@ -5562,7 +5562,7 @@ const GridToolbarFilterSemanticField = /*#__PURE__*/forwardRef((props, ref) => {
5562
5562
  value: prompt
5563
5563
  }), /*#__PURE__*/React__default.createElement(Button, {
5564
5564
  variant: "primary",
5565
- "aira-label": buttonAriaLabel,
5565
+ "aria-label": buttonAriaLabel,
5566
5566
  type: "submit",
5567
5567
  isLoading: isLoading
5568
5568
  }, buttonText)), !disablePower && /*#__PURE__*/React__default.createElement(Tooltip, null, /*#__PURE__*/React__default.createElement(Tooltip.Trigger, null, /*#__PURE__*/React__default.createElement(Switch, {