@redsift/table 11.5.0 → 11.6.0-muiv5-alpha.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.
Files changed (180) hide show
  1. package/_virtual/_commonjsHelpers.js +6 -0
  2. package/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/_virtual/_rollupPluginBabelHelpers.js +93 -0
  4. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  5. package/_virtual/index.js +4 -0
  6. package/_virtual/index.js.map +1 -0
  7. package/_virtual/index2.js +4 -0
  8. package/_virtual/index2.js.map +1 -0
  9. package/_virtual/index3.js +4 -0
  10. package/_virtual/index3.js.map +1 -0
  11. package/_virtual/jsx-runtime.js +4 -0
  12. package/_virtual/jsx-runtime.js.map +1 -0
  13. package/_virtual/react-is.development.js +4 -0
  14. package/_virtual/react-is.development.js.map +1 -0
  15. package/_virtual/react-is.development2.js +4 -0
  16. package/_virtual/react-is.development2.js.map +1 -0
  17. package/_virtual/react-is.production.min.js +4 -0
  18. package/_virtual/react-is.production.min.js.map +1 -0
  19. package/_virtual/react-is.production.min2.js +4 -0
  20. package/_virtual/react-is.production.min2.js.map +1 -0
  21. package/_virtual/react-jsx-runtime.development.js +4 -0
  22. package/_virtual/react-jsx-runtime.development.js.map +1 -0
  23. package/_virtual/react-jsx-runtime.production.min.js +4 -0
  24. package/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  25. package/components/BaseComponents/BaseButton.d.ts +5 -0
  26. package/components/BaseComponents/BaseButton.js +41 -0
  27. package/components/BaseComponents/BaseButton.js.map +1 -0
  28. package/components/BaseComponents/BaseCheckbox.d.ts +5 -0
  29. package/components/BaseComponents/BaseCheckbox.js +24 -0
  30. package/components/BaseComponents/BaseCheckbox.js.map +1 -0
  31. package/components/BaseComponents/BaseIcon.d.ts +7 -0
  32. package/components/BaseComponents/BaseIcon.js +33 -0
  33. package/components/BaseComponents/BaseIcon.js.map +1 -0
  34. package/components/BaseComponents/BasePopper.d.ts +5 -0
  35. package/components/BaseComponents/BasePopper.js +13 -0
  36. package/components/BaseComponents/BasePopper.js.map +1 -0
  37. package/components/BaseComponents/BaseTextField.d.ts +5 -0
  38. package/components/BaseComponents/BaseTextField.js +26 -0
  39. package/components/BaseComponents/BaseTextField.js.map +1 -0
  40. package/components/DataGrid/DataGrid.d.ts +6 -0
  41. package/components/DataGrid/DataGrid.js +340 -0
  42. package/components/DataGrid/DataGrid.js.map +1 -0
  43. package/components/DataGrid/styles.js +74 -0
  44. package/components/DataGrid/styles.js.map +1 -0
  45. package/components/DataGrid/types.d.ts +36 -0
  46. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.d.ts +15 -0
  47. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js +183 -0
  48. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js.map +1 -0
  49. package/components/GridToolbarFilterSemanticField/styles.js +20 -0
  50. package/components/GridToolbarFilterSemanticField/styles.js.map +1 -0
  51. package/components/GridToolbarFilterSemanticField/types.d.ts +39 -0
  52. package/components/Pagination/ControlledPagination.d.ts +21 -0
  53. package/components/Pagination/ControlledPagination.js +74 -0
  54. package/components/Pagination/ControlledPagination.js.map +1 -0
  55. package/components/Pagination/ServerSideControlledPagination.d.ts +23 -0
  56. package/components/Pagination/ServerSideControlledPagination.js +102 -0
  57. package/components/Pagination/ServerSideControlledPagination.js.map +1 -0
  58. package/components/StatefulDataGrid/StatefulDataGrid.d.ts +6 -0
  59. package/components/StatefulDataGrid/StatefulDataGrid.js +373 -0
  60. package/components/StatefulDataGrid/StatefulDataGrid.js.map +1 -0
  61. package/components/StatefulDataGrid/types.d.ts +16 -0
  62. package/components/TextCell/TextCell.d.ts +9 -0
  63. package/components/TextCell/TextCell.js +48 -0
  64. package/components/TextCell/TextCell.js.map +1 -0
  65. package/components/TextCell/styles.js +22 -0
  66. package/components/TextCell/styles.js.map +1 -0
  67. package/components/TextCell/types.d.ts +25 -0
  68. package/components/Toolbar/Toolbar.d.ts +20 -0
  69. package/components/Toolbar/Toolbar.js +72 -0
  70. package/components/Toolbar/Toolbar.js.map +1 -0
  71. package/components/Toolbar/styles.js +17 -0
  72. package/components/Toolbar/styles.js.map +1 -0
  73. package/components/Toolbar/types.d.ts +40 -0
  74. package/components/ToolbarWrapper/ToolbarWrapper.d.ts +25 -0
  75. package/components/ToolbarWrapper/ToolbarWrapper.js +60 -0
  76. package/components/ToolbarWrapper/ToolbarWrapper.js.map +1 -0
  77. package/hooks/useControlledDatagridState.js +109 -0
  78. package/hooks/useControlledDatagridState.js.map +1 -0
  79. package/hooks/useFetchState.js +34 -0
  80. package/hooks/useFetchState.js.map +1 -0
  81. package/hooks/useStatefulTable.d.ts +12 -0
  82. package/hooks/useStatefulTable.js +182 -0
  83. package/hooks/useStatefulTable.js.map +1 -0
  84. package/hooks/useTableStates.js +52 -0
  85. package/hooks/useTableStates.js.map +1 -0
  86. package/index.d.ts +40 -629
  87. package/index.js +36 -28267
  88. package/index.js.map +1 -1
  89. package/package.json +6 -6
  90. package/packages/design-system/src/components/theme/context.js +7 -0
  91. package/packages/design-system/src/components/theme/context.js.map +1 -0
  92. package/packages/popovers/src/components/tooltip/Tooltip.js +60 -0
  93. package/packages/popovers/src/components/tooltip/Tooltip.js.map +1 -0
  94. package/packages/popovers/src/components/tooltip/context.js +6 -0
  95. package/packages/popovers/src/components/tooltip/context.js.map +1 -0
  96. package/packages/popovers/src/components/tooltip/types.js +28 -0
  97. package/packages/popovers/src/components/tooltip/types.js.map +1 -0
  98. package/packages/popovers/src/components/tooltip/useTooltip.js +78 -0
  99. package/packages/popovers/src/components/tooltip/useTooltip.js.map +1 -0
  100. package/packages/popovers/src/components/tooltip/useTooltipContext.js +13 -0
  101. package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +1 -0
  102. package/packages/popovers/src/components/tooltip-content/TooltipContent.js +79 -0
  103. package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +1 -0
  104. package/packages/popovers/src/components/tooltip-content/styles.js +127 -0
  105. package/packages/popovers/src/components/tooltip-content/styles.js.map +1 -0
  106. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +47 -0
  107. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +1 -0
  108. package/utils/columnTypes/index.d.ts +78 -0
  109. package/utils/columnTypes/index.js +49 -0
  110. package/utils/columnTypes/index.js.map +1 -0
  111. package/utils/columns/detailPanelToggleColDef.d.ts +5 -0
  112. package/utils/columns/detailPanelToggleColDef.js +8 -0
  113. package/utils/columns/detailPanelToggleColDef.js.map +1 -0
  114. package/utils/fields/InputNumberInterval.js +85 -0
  115. package/utils/fields/InputNumberInterval.js.map +1 -0
  116. package/utils/gpt.d.ts +3 -0
  117. package/utils/gpt.js +33 -0
  118. package/utils/gpt.js.map +1 -0
  119. package/utils/localStorage.d.ts +17 -0
  120. package/utils/localStorage.js +59 -0
  121. package/utils/localStorage.js.map +1 -0
  122. package/utils/operators/index.d.ts +68 -0
  123. package/utils/operators/index.js +52 -0
  124. package/utils/operators/index.js.map +1 -0
  125. package/utils/operators/numeric/getGridNumericOperators.d.ts +5 -0
  126. package/utils/operators/numeric/getGridNumericOperators.js +7 -0
  127. package/utils/operators/numeric/getGridNumericOperators.js.map +1 -0
  128. package/utils/operators/numeric/isBetween.d.ts +10 -0
  129. package/utils/operators/numeric/isBetween.js +28 -0
  130. package/utils/operators/numeric/isBetween.js.map +1 -0
  131. package/utils/operators/string/doesNotContain.d.ts +10 -0
  132. package/utils/operators/string/doesNotContain.js +25 -0
  133. package/utils/operators/string/doesNotContain.js.map +1 -0
  134. package/utils/operators/string/doesNotEqual.d.ts +10 -0
  135. package/utils/operators/string/doesNotEqual.js +25 -0
  136. package/utils/operators/string/doesNotEqual.js.map +1 -0
  137. package/utils/operators/string/doesNotHave.d.ts +16 -0
  138. package/utils/operators/string/doesNotHave.js +24 -0
  139. package/utils/operators/string/doesNotHave.js.map +1 -0
  140. package/utils/operators/string/getGridStringOperators.d.ts +5 -0
  141. package/utils/operators/string/getGridStringOperators.js +9 -0
  142. package/utils/operators/string/getGridStringOperators.js.map +1 -0
  143. package/utils/operators/string/has.d.ts +16 -0
  144. package/utils/operators/string/has.js +24 -0
  145. package/utils/operators/string/has.js.map +1 -0
  146. package/utils/operators/string/hasOnly.d.ts +16 -0
  147. package/utils/operators/string/hasOnly.js +24 -0
  148. package/utils/operators/string/hasOnly.js.map +1 -0
  149. package/utils/operators/string/is.d.ts +16 -0
  150. package/utils/operators/string/is.js +26 -0
  151. package/utils/operators/string/is.js.map +1 -0
  152. package/utils/operators/string/isNot.d.ts +16 -0
  153. package/utils/operators/string/isNot.js +26 -0
  154. package/utils/operators/string/isNot.js.map +1 -0
  155. package/utils/operators/string-array/containsAnyOf.d.ts +16 -0
  156. package/utils/operators/string-array/containsAnyOf.js +56 -0
  157. package/utils/operators/string-array/containsAnyOf.js.map +1 -0
  158. package/utils/operators/string-array/doesNotHaveAnyOf.js +26 -0
  159. package/utils/operators/string-array/doesNotHaveAnyOf.js.map +1 -0
  160. package/utils/operators/string-array/endsWithAnyOf.d.ts +10 -0
  161. package/utils/operators/string-array/endsWithAnyOf.js +31 -0
  162. package/utils/operators/string-array/endsWithAnyOf.js.map +1 -0
  163. package/utils/operators/string-array/getGridStringArrayOperators.d.ts +7 -0
  164. package/utils/operators/string-array/getGridStringArrayOperators.js +19 -0
  165. package/utils/operators/string-array/getGridStringArrayOperators.js.map +1 -0
  166. package/utils/operators/string-array/hasAnyOf.d.ts +16 -0
  167. package/utils/operators/string-array/hasAnyOf.js +28 -0
  168. package/utils/operators/string-array/hasAnyOf.js.map +1 -0
  169. package/utils/operators/string-array/isAnyOf.d.ts +16 -0
  170. package/utils/operators/string-array/isAnyOf.js +32 -0
  171. package/utils/operators/string-array/isAnyOf.js.map +1 -0
  172. package/utils/operators/string-array/isNotAnyOf.d.ts +10 -0
  173. package/utils/operators/string-array/isNotAnyOf.js +28 -0
  174. package/utils/operators/string-array/isNotAnyOf.js.map +1 -0
  175. package/utils/operators/string-array/startsWithAnyOf.d.ts +10 -0
  176. package/utils/operators/string-array/startsWithAnyOf.js +31 -0
  177. package/utils/operators/string-array/startsWithAnyOf.js.map +1 -0
  178. package/utils/urlLocalStorageSync.d.ts +73 -0
  179. package/utils/urlLocalStorageSync.js +756 -0
  180. package/utils/urlLocalStorageSync.js.map +1 -0
@@ -0,0 +1,340 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef, useState, useEffect, useMemo } from 'react';
3
+ import classNames from 'classnames';
4
+ import { useTheme, ThemeProvider, RedsiftColorBlueN, RedsiftColorNeutralXDarkGrey, RedsiftColorNeutralWhite } from '@redsift/design-system';
5
+ import { useGridApiRef, DataGridPro, gridPaginatedVisibleSortedGridRowEntriesSelector, gridPaginatedVisibleSortedGridRowIdsSelector, gridFilteredSortedRowEntriesSelector, gridFilteredSortedRowIdsSelector } from '@mui/x-data-grid-pro';
6
+ import { StyledDataGrid } from './styles.js';
7
+ import { customColumnTypes } from '../../utils/columnTypes/index.js';
8
+ import { useControlledDatagridState } from '../../hooks/useControlledDatagridState.js';
9
+ import { Toolbar } from '../Toolbar/Toolbar.js';
10
+ import { LicenseInfo } from '../../node_modules/@mui/x-license-pro/utils/licenseInfo.js';
11
+ import { onServerSideSelectionStatusChange, ServerSideControlledPagination } from '../Pagination/ServerSideControlledPagination.js';
12
+ import createTheme from '../../node_modules/@mui/material/styles/createTheme.js';
13
+ import ThemeProvider$1 from '../../node_modules/@mui/material/styles/ThemeProvider.js';
14
+ import { BaseButton } from '../BaseComponents/BaseButton.js';
15
+ import { BaseCheckbox } from '../BaseComponents/BaseCheckbox.js';
16
+ import { BasePopper } from '../BaseComponents/BasePopper.js';
17
+ import { BaseIcon } from '../BaseComponents/BaseIcon.js';
18
+ import { ToolbarWrapper } from '../ToolbarWrapper/ToolbarWrapper.js';
19
+ import { ControlledPagination } from '../Pagination/ControlledPagination.js';
20
+
21
+ 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"];
22
+ const COMPONENT_NAME = 'DataGrid';
23
+ const CLASSNAME = 'redsift-datagrid';
24
+ const DataGrid = /*#__PURE__*/forwardRef((props, ref) => {
25
+ const datagridRef = ref || useRef();
26
+ const {
27
+ apiRef: propsApiRef,
28
+ autoHeight,
29
+ className,
30
+ columnTypes: propsColumnTypes,
31
+ components,
32
+ componentsProps,
33
+ filterModel: propsFilterModel,
34
+ columnVisibilityModel: propsColumnVisibilityModel,
35
+ pinnedColumns: propsPinnedColumns,
36
+ sortModel: propsSortModel,
37
+ height: propsHeight,
38
+ hideToolbar,
39
+ initialState,
40
+ isRowSelectable,
41
+ license = process.env.MUI_LICENSE_KEY,
42
+ onFilterModelChange: propsOnFilterModelChange,
43
+ onPageChange: propsOnPageChange,
44
+ onPageSizeChange: propsOnPageSizeChange,
45
+ onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,
46
+ onPinnedColumnsChange: propsOnPinnedColumnsChange,
47
+ onSortModelChange: propsOnSortModelChange,
48
+ selectionModel: propsSelectionModel,
49
+ onSelectionModelChange: propsOnSelectionModelChange,
50
+ page: propsPage,
51
+ pageSize: propsPageSize,
52
+ pagination,
53
+ paginationPlacement = 'both',
54
+ paginationProps,
55
+ rows,
56
+ rowsPerPageOptions,
57
+ sx,
58
+ theme: propsTheme,
59
+ paginationMode = 'client',
60
+ rowCount
61
+ } = props,
62
+ forwardedProps = _objectWithoutProperties(props, _excluded);
63
+ const theme = useTheme(propsTheme);
64
+ const _apiRef = useGridApiRef();
65
+ const apiRef = propsApiRef !== null && propsApiRef !== void 0 ? propsApiRef : _apiRef;
66
+ const RenderedToolbar = components !== null && components !== void 0 && components.Toolbar ? components.Toolbar : Toolbar;
67
+ LicenseInfo.setLicenseKey(license);
68
+ const height = propsHeight !== null && propsHeight !== void 0 ? propsHeight : autoHeight ? undefined : '500px';
69
+ const {
70
+ columnVisibilityModel,
71
+ filterModel,
72
+ onColumnVisibilityModelChange,
73
+ onFilterModelChange,
74
+ onPageChange,
75
+ onPageSizeChange,
76
+ onPinnedColumnsChange,
77
+ onSortModelChange,
78
+ page,
79
+ pageSize,
80
+ pinnedColumns,
81
+ sortModel
82
+ } = useControlledDatagridState({
83
+ initialState,
84
+ rowsPerPageOptions,
85
+ propsColumnVisibilityModel,
86
+ propsFilterModel,
87
+ propsOnColumnVisibilityModelChange,
88
+ propsOnFilterModelChange,
89
+ propsOnPinnedColumnsChange,
90
+ propsOnSortModelChange,
91
+ propsPage,
92
+ propsPageSize,
93
+ propsPinnedColumns,
94
+ propsSortModel,
95
+ propsOnPageChange,
96
+ propsOnPageSizeChange
97
+ });
98
+ const [selectionModel, setSelectionModel] = useState(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
99
+ useEffect(() => {
100
+ setSelectionModel(propsSelectionModel !== null && propsSelectionModel !== void 0 ? propsSelectionModel : []);
101
+ }, [propsSelectionModel]);
102
+ const onSelectionModelChange = (selectionModel, details) => {
103
+ if (propsOnSelectionModelChange) {
104
+ propsOnSelectionModelChange(selectionModel, details);
105
+ } else {
106
+ setSelectionModel(selectionModel);
107
+ }
108
+ };
109
+ const selectionStatus = useRef({
110
+ type: 'none',
111
+ numberOfSelectedRows: 0,
112
+ numberOfSelectedRowsInPage: 0,
113
+ page,
114
+ pageSize
115
+ });
116
+
117
+ // in server-side pagination we want to update the selection status
118
+ // every time we navigate between pages, resize our page or select something
119
+ useEffect(() => {
120
+ if (paginationMode == 'server') {
121
+ onServerSideSelectionStatusChange(Array.isArray(selectionModel) ? selectionModel : [selectionModel], apiRef, selectionStatus, isRowSelectable, page, pageSize);
122
+ }
123
+ }, [selectionModel, page, pageSize]);
124
+ if (!Array.isArray(rows)) {
125
+ return null;
126
+ }
127
+ const muiTheme = useMemo(() => createTheme({
128
+ palette: {
129
+ mode: theme,
130
+ primary: {
131
+ main: RedsiftColorBlueN
132
+ },
133
+ background: {
134
+ default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,
135
+ paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite
136
+ }
137
+ }
138
+ }), [theme]);
139
+ return /*#__PURE__*/React__default.createElement(ThemeProvider, {
140
+ value: {
141
+ theme
142
+ }
143
+ }, /*#__PURE__*/React__default.createElement(ThemeProvider$1, {
144
+ theme: muiTheme
145
+ }, /*#__PURE__*/React__default.createElement(StyledDataGrid, {
146
+ ref: datagridRef,
147
+ className: classNames(DataGrid.className, className),
148
+ $height: height
149
+ }, /*#__PURE__*/React__default.createElement(DataGridPro, _extends({}, forwardedProps, {
150
+ rowCount: rowCount,
151
+ apiRef: apiRef,
152
+ autoHeight: autoHeight,
153
+ checkboxSelectionVisibleOnly: Boolean(pagination),
154
+ columnTypes: _objectSpread2(_objectSpread2({}, customColumnTypes), propsColumnTypes),
155
+ components: _objectSpread2(_objectSpread2({
156
+ BaseButton,
157
+ BaseCheckbox,
158
+ // BaseTextField,
159
+ BasePopper,
160
+ ColumnFilteredIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
161
+ displayName: "ColumnFilteredIcon"
162
+ })),
163
+ ColumnSelectorIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
164
+ displayName: "ColumnSelectorIcon"
165
+ })),
166
+ ColumnSortedAscendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
167
+ displayName: "ColumnSortedAscendingIcon"
168
+ })),
169
+ ColumnSortedDescendingIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
170
+ displayName: "ColumnSortedDescendingIcon"
171
+ })),
172
+ DensityCompactIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
173
+ displayName: "DensityCompactIcon"
174
+ })),
175
+ DensityStandardIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
176
+ displayName: "DensityStandardIcon"
177
+ })),
178
+ DensityComfortableIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
179
+ displayName: "DensityComfortableIcon"
180
+ })),
181
+ DetailPanelCollapseIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
182
+ displayName: "DetailPanelCollapseIcon"
183
+ })),
184
+ DetailPanelExpandIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
185
+ displayName: "DetailPanelExpandIcon"
186
+ })),
187
+ ExportIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({}, props, {
188
+ displayName: "ExportIcon"
189
+ })),
190
+ OpenFilterButtonIcon: props => /*#__PURE__*/React__default.createElement(BaseIcon, _extends({
191
+ displayName: "OpenFilterButtonIcon"
192
+ }, props))
193
+ }, components), {}, {
194
+ Toolbar: ToolbarWrapper,
195
+ Pagination: props => pagination ? paginationMode == 'server' ? /*#__PURE__*/React__default.createElement(ServerSideControlledPagination, _extends({}, props, {
196
+ displaySelection: false,
197
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
198
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
199
+ selectionStatus: selectionStatus.current,
200
+ page: page,
201
+ onPageChange: onPageChange,
202
+ pageSize: pageSize,
203
+ onPageSizeChange: onPageSizeChange,
204
+ rowsPerPageOptions: rowsPerPageOptions,
205
+ paginationProps: paginationProps,
206
+ paginationMode: paginationMode,
207
+ rowCount: rowCount
208
+ })) : /*#__PURE__*/React__default.createElement(ControlledPagination, _extends({}, props, {
209
+ displaySelection: false,
210
+ displayRowsPerPage: ['bottom', 'both'].includes(paginationPlacement),
211
+ displayPagination: ['bottom', 'both'].includes(paginationPlacement),
212
+ selectionStatus: selectionStatus.current,
213
+ apiRef: apiRef,
214
+ isRowSelectable: isRowSelectable,
215
+ page: page,
216
+ onPageChange: onPageChange,
217
+ pageSize: pageSize,
218
+ onPageSizeChange: onPageSizeChange,
219
+ rowsPerPageOptions: rowsPerPageOptions,
220
+ paginationProps: paginationProps,
221
+ paginationMode: paginationMode
222
+ })) : null
223
+ }),
224
+ componentsProps: _objectSpread2(_objectSpread2({}, componentsProps), {}, {
225
+ toolbar: _objectSpread2({
226
+ hideToolbar,
227
+ RenderedToolbar,
228
+ filterModel,
229
+ onFilterModelChange,
230
+ pagination,
231
+ paginationPlacement,
232
+ selectionStatus,
233
+ apiRef,
234
+ isRowSelectable,
235
+ page,
236
+ onPageChange,
237
+ pageSize,
238
+ onPageSizeChange,
239
+ rowsPerPageOptions,
240
+ paginationProps,
241
+ paginationMode,
242
+ rowCount
243
+ }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbar)
244
+ }),
245
+ filterModel: filterModel,
246
+ columnVisibilityModel: columnVisibilityModel,
247
+ pinnedColumns: pinnedColumns,
248
+ sortModel: sortModel,
249
+ initialState: initialState,
250
+ isRowSelectable: isRowSelectable,
251
+ onFilterModelChange: onFilterModelChange,
252
+ onColumnVisibilityModelChange: onColumnVisibilityModelChange,
253
+ onPinnedColumnsChange: onPinnedColumnsChange,
254
+ onSortModelChange: onSortModelChange,
255
+ pagination: pagination,
256
+ paginationMode: paginationMode,
257
+ keepNonExistentRowsSelected: paginationMode == 'server',
258
+ rows: rows,
259
+ rowsPerPageOptions: rowsPerPageOptions,
260
+ page: page,
261
+ onPageChange: onPageChange,
262
+ pageSize: pageSize,
263
+ onPageSizeChange: onPageSizeChange,
264
+ selectionModel: selectionModel,
265
+ onSelectionModelChange: (newSelectionModel, details) => {
266
+ if (pagination && paginationMode != 'server') {
267
+ const selectableRowsInPage = isRowSelectable ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef).filter(_ref => {
268
+ let {
269
+ model
270
+ } = _ref;
271
+ return isRowSelectable({
272
+ row: model
273
+ });
274
+ }).map(_ref2 => {
275
+ let {
276
+ id
277
+ } = _ref2;
278
+ return id;
279
+ }) : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);
280
+ const numberOfSelectableRowsInPage = selectableRowsInPage.length;
281
+ const selectableRowsInTable = isRowSelectable ? gridFilteredSortedRowEntriesSelector(apiRef).filter(_ref3 => {
282
+ let {
283
+ model
284
+ } = _ref3;
285
+ return isRowSelectable({
286
+ row: model
287
+ });
288
+ }).map(_ref4 => {
289
+ let {
290
+ id
291
+ } = _ref4;
292
+ return id;
293
+ }) : gridFilteredSortedRowIdsSelector(apiRef);
294
+ const numberOfSelectableRowsInTable = selectableRowsInTable.length;
295
+ const numberOfSelectedRows = newSelectionModel.length;
296
+ if (selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage || selectionStatus.current.type === 'table' && numberOfSelectedRows === numberOfSelectableRowsInTable || selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage) {
297
+ setTimeout(() => {
298
+ apiRef.current.selectRows([], true, true);
299
+ }, 0);
300
+ }
301
+ if (numberOfSelectedRows === numberOfSelectableRowsInPage && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
302
+ selectionStatus.current = {
303
+ type: 'page',
304
+ numberOfSelectedRows
305
+ };
306
+ } else if (numberOfSelectedRows === numberOfSelectableRowsInTable && numberOfSelectableRowsInPage < numberOfSelectableRowsInTable) {
307
+ selectionStatus.current = {
308
+ type: 'table',
309
+ numberOfSelectedRows
310
+ };
311
+ } else if (numberOfSelectedRows > 0) {
312
+ selectionStatus.current = {
313
+ type: 'other',
314
+ numberOfSelectedRows
315
+ };
316
+ } else {
317
+ selectionStatus.current = {
318
+ type: 'none',
319
+ numberOfSelectedRows
320
+ };
321
+ }
322
+ }
323
+ onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel, details);
324
+ },
325
+ sx: _objectSpread2(_objectSpread2({}, sx), {}, {
326
+ '.MuiDataGrid-columnHeaders': {
327
+ flexDirection: 'column',
328
+ alignItems: 'normal'
329
+ },
330
+ '.MuiDataGrid-selectedRowCount': {
331
+ margin: 'none'
332
+ }
333
+ })
334
+ })))));
335
+ });
336
+ DataGrid.className = CLASSNAME;
337
+ DataGrid.displayName = COMPONENT_NAME;
338
+
339
+ export { DataGrid };
340
+ //# sourceMappingURL=DataGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.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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"}
@@ -0,0 +1,74 @@
1
+ import styled, { css } from 'styled-components';
2
+
3
+ /**
4
+ * Component style.
5
+ */
6
+ const StyledDataGrid = styled.div`
7
+ ${_ref => {
8
+ let {
9
+ $height
10
+ } = _ref;
11
+ return $height ? css`
12
+ height: ${$height};
13
+ ` : '';
14
+ }}
15
+
16
+ width: 100%;
17
+
18
+ .MuiDataGrid-root {
19
+ font-family: var(--redsift-typography-datagrid-header-font-family);
20
+ border: none;
21
+ }
22
+
23
+ .MuiDataGrid-row {
24
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
25
+ font-size: var(--redsift-typography-datagrid-cell-font-size);
26
+ font-weight: var(--redsift-typography-datagrid-cell-font-weight);
27
+ }
28
+
29
+ .MuiDataGrid-columnHeaderTitle {
30
+ font-family: var(--redsift-typography-datagrid-header-font-family);
31
+ font-size: var(--redsift-typography-datagrid-header-font-size);
32
+ font-weight: var(--redsift-typography-datagrid-header-font-weight);
33
+ }
34
+
35
+ .MuiDataGrid-columnHeaders {
36
+ border-bottom-color: var(--redsift-color-primary-n);
37
+ }
38
+
39
+ .MuiDataGrid-columnSeparator {
40
+ display: none;
41
+ }
42
+
43
+ .MuiTablePagination-root {
44
+ .MuiTablePagination-selectLabel {
45
+ font-family: var(--redsift-typography-datagrid-header-font-family);
46
+ }
47
+ .MuiTablePagination-displayedRows {
48
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
49
+ }
50
+
51
+ .MuiInputBase-root {
52
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
53
+ }
54
+ }
55
+
56
+ .Mui-checked {
57
+ color: var(--redsift-color-primary-n);
58
+ }
59
+
60
+ .MuiDataGrid-rowCount {
61
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
62
+ }
63
+
64
+ .MuiTablePagination-displayedRows {
65
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
66
+ }
67
+
68
+ .MuiBadge-standard {
69
+ font-family: var(--redsift-typography-datagrid-cell-font-family);
70
+ }
71
+ `;
72
+
73
+ export { StyledDataGrid };
74
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/DataGrid/styles.ts"],"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"],"names":["StyledDataGrid","styled","div","_ref","$height","css"],"mappings":";;AAGA;AACA;AACA;AACaA,MAAAA,cAAc,GAAGC,MAAM,CAACC,GAAyB,CAAA;AAC9D,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,OAAAA;AAAQ,GAAC,GAAAD,IAAA,CAAA;EAAA,OACZC,OAAO,GACHC,GAAI,CAAA;AACZ,kBAAA,EAAoBD,OAAQ,CAAA;AAC5B,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -0,0 +1,36 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataGridProProps } from '@mui/x-data-grid-pro';
3
+ export { GridAlignment, GridColDef, GridColumns, GridFilterItem, GridFilterModel, GridSelectionModel } from '@mui/x-data-grid-pro';
4
+ import { TablePaginationProps } from '@mui/material';
5
+ import { Theme } from '@redsift/design-system';
6
+
7
+ interface DataGridProps extends Partial<Pick<DataGridProProps, 'rows'>>, Omit<DataGridProProps, 'rows'> {
8
+ /** License key for MUI Datagrid Pro. */
9
+ license?: string;
10
+ /** Height. A default one is set to prevent rendering all rows. */
11
+ height?: string;
12
+ /** Toolbar. A default one is provided but every button from this default Toolbar can be customized and the entire Toolbar can be replaced. */
13
+ toolbar?: ReactNode;
14
+ /** Whether the Toolbar is displayed or not. */
15
+ hideToolbar?: boolean;
16
+ /** Indicates how to display pagination. */
17
+ paginationPlacement?: 'top' | 'bottom' | 'both' | 'none';
18
+ /** Props to forward to the pagination component. */
19
+ paginationProps?: Omit<TablePaginationProps, 'component' | 'count' | 'page' | 'onPageChange' | 'rowsPerPage' | 'onRowsPerPageChange' | 'rowsPerPageOptions' | 'paginationMode'>;
20
+ /** Theme. */
21
+ theme?: Theme;
22
+ }
23
+ type SelectionStatus = {
24
+ type: 'page' | 'table' | 'other' | 'none';
25
+ numberOfSelectedRows: number;
26
+ numberOfSelectedRowsInPage?: number;
27
+ page?: number;
28
+ pageSize?: number;
29
+ };
30
+
31
+ type StyledDataGridProps = {
32
+ $height?: string;
33
+ $theme?: DataGridProps['theme'];
34
+ };
35
+
36
+ export { DataGridProps, SelectionStatus, StyledDataGridProps };
@@ -0,0 +1,15 @@
1
+ import { Comp } from '@redsift/design-system';
2
+ import { GridToolbarFilterSemanticFieldProps } from './types.js';
3
+
4
+ declare const DEFAULT_OPERATORS: {
5
+ string: string[];
6
+ number: string[];
7
+ boolean: string[];
8
+ date: string[];
9
+ };
10
+ /**
11
+ * The GridToolbarFilterSemanticField component.
12
+ */
13
+ declare const GridToolbarFilterSemanticField: Comp<GridToolbarFilterSemanticFieldProps, HTMLFormElement>;
14
+
15
+ export { DEFAULT_OPERATORS, GridToolbarFilterSemanticField };