@addev-be/ui 0.7.0 → 0.7.1

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 (161) hide show
  1. package/dist/Icons.d.ts +7 -1
  2. package/dist/Icons.js +13 -1
  3. package/dist/components/auth/LoginForm.d.ts +2 -0
  4. package/dist/components/auth/LoginForm.js +47 -0
  5. package/dist/components/auth/LoginPage.d.ts +2 -0
  6. package/dist/components/auth/LoginPage.js +9 -0
  7. package/dist/components/auth/PasswordRecoveryForm.d.ts +2 -0
  8. package/dist/components/auth/PasswordRecoveryForm.js +24 -0
  9. package/dist/components/auth/PasswordResetForm.d.ts +2 -0
  10. package/dist/components/auth/PasswordResetForm.js +56 -0
  11. package/dist/components/auth/index.d.ts +4 -0
  12. package/dist/components/auth/index.js +20 -0
  13. package/dist/components/auth/styles.d.ts +3 -0
  14. package/dist/components/auth/styles.js +16 -0
  15. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +1 -1
  16. package/dist/components/data/AdvancedRequestDataGrid/index.js +1 -1
  17. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.d.ts +13 -0
  18. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +71 -0
  19. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +9 -8
  20. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +9 -0
  21. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +12 -2
  22. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +3 -0
  23. package/dist/components/data/DataGrid/DataGridRowTemplate.js +71 -0
  24. package/dist/components/data/DataGrid/FilterModalContent/index.js +18 -9
  25. package/dist/components/data/DataGrid/helpers/columns.d.ts +2 -0
  26. package/dist/components/data/DataGrid/helpers/columns.js +21 -7
  27. package/dist/components/data/DataGrid/helpers/filters.d.ts +2 -1
  28. package/dist/components/data/DataGrid/helpers/filters.js +94 -14
  29. package/dist/components/data/DataGrid/hooks/useDataGrid.js +35 -40
  30. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +2 -2
  31. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +47 -55
  32. package/dist/components/data/DataGrid/index.d.ts +7 -3
  33. package/dist/components/data/DataGrid/index.js +16 -61
  34. package/dist/components/data/DataGrid/styles.d.ts +2 -19
  35. package/dist/components/data/DataGrid/styles.js +24 -47
  36. package/dist/components/data/DataGrid/types.d.ts +17 -7
  37. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +1 -0
  38. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +19 -8
  39. package/dist/components/data/SqlRequestDataGrid/index.d.ts +12 -1
  40. package/dist/components/data/SqlRequestDataGrid/index.js +37 -24
  41. package/dist/components/data/SqlRequestGrid/helpers/index.d.ts +1 -0
  42. package/dist/components/data/SqlRequestGrid/helpers/index.js +17 -0
  43. package/dist/components/data/SqlRequestGrid/helpers/sqlRequests.d.ts +3 -0
  44. package/dist/components/data/SqlRequestGrid/helpers/sqlRequests.js +18 -0
  45. package/dist/components/data/SqlRequestGrid/index.d.ts +4 -0
  46. package/dist/components/data/SqlRequestGrid/index.js +145 -0
  47. package/dist/components/data/SqlRequestGrid/styles.d.ts +16 -0
  48. package/dist/components/data/SqlRequestGrid/styles.js +33 -0
  49. package/dist/components/data/SqlRequestGrid/types.d.ts +30 -0
  50. package/dist/components/data/SqlRequestGrid/types.js +3 -0
  51. package/dist/components/data/VirtualScroller/hooks.d.ts +18 -0
  52. package/dist/components/data/VirtualScroller/hooks.js +50 -0
  53. package/dist/components/data/VirtualScroller/index.d.ts +14 -0
  54. package/dist/components/data/VirtualScroller/index.js +58 -0
  55. package/dist/components/data/VirtualScroller/styles.d.ts +16 -0
  56. package/dist/components/data/VirtualScroller/styles.js +39 -0
  57. package/dist/components/data/VirtualScroller/types.d.ts +6 -0
  58. package/dist/components/data/VirtualScroller/types.js +3 -0
  59. package/dist/components/data/index.d.ts +6 -1
  60. package/dist/components/data/index.js +6 -1
  61. package/dist/components/forms/Button.d.ts +1 -1
  62. package/dist/components/forms/IconButton.d.ts +2 -2
  63. package/dist/components/forms/VerticalLabel.d.ts +6 -0
  64. package/dist/components/forms/VerticalLabel.js +32 -0
  65. package/dist/components/forms/index.d.ts +1 -1
  66. package/dist/components/forms/index.js +1 -3
  67. package/dist/components/forms/styles.d.ts +6 -1
  68. package/dist/components/forms/styles.js +8 -3
  69. package/dist/components/index.d.ts +3 -0
  70. package/dist/components/index.js +3 -0
  71. package/dist/components/layout/Dropdown/index.js +3 -3
  72. package/dist/components/layout/Dropdown/styles.d.ts +5 -2
  73. package/dist/components/layout/Dropdown/styles.js +4 -1
  74. package/dist/components/layout/Modal/styles.d.ts +2 -0
  75. package/dist/components/layout/Modal/styles.js +12 -8
  76. package/dist/components/search/HighlightedText.d.ts +5 -0
  77. package/dist/components/search/HighlightedText.js +43 -0
  78. package/dist/components/search/QuickSearchBar.d.ts +6 -0
  79. package/dist/components/search/QuickSearchBar.js +69 -0
  80. package/dist/components/search/QuickSearchResults.d.ts +8 -0
  81. package/dist/components/search/QuickSearchResults.js +70 -0
  82. package/dist/components/search/index.d.ts +5 -0
  83. package/dist/components/search/index.js +25 -0
  84. package/dist/components/search/styles.d.ts +28 -0
  85. package/dist/components/search/styles.js +40 -0
  86. package/dist/components/search/types.d.ts +21 -0
  87. package/dist/components/search/types.js +2 -0
  88. package/dist/components/ui/Card/index.d.ts +8 -0
  89. package/dist/components/ui/Card/index.js +34 -0
  90. package/dist/components/ui/Card/styles.d.ts +9 -0
  91. package/dist/components/ui/Card/styles.js +21 -0
  92. package/dist/components/ui/ContextMenu/index.js +7 -2
  93. package/dist/components/ui/ContextMenu/styles.js +2 -2
  94. package/dist/components/ui/Message/index.d.ts +9 -0
  95. package/dist/components/ui/Message/index.js +53 -0
  96. package/dist/components/ui/Message/styles.d.ts +9 -0
  97. package/dist/components/ui/Message/styles.js +41 -0
  98. package/dist/components/ui/index.d.ts +3 -0
  99. package/dist/components/ui/index.js +19 -0
  100. package/dist/helpers/dates.d.ts +1 -0
  101. package/dist/helpers/dates.js +7 -1
  102. package/dist/helpers/index.d.ts +3 -0
  103. package/dist/helpers/index.js +19 -0
  104. package/dist/helpers/numbers.d.ts +1 -0
  105. package/dist/helpers/numbers.js +9 -1
  106. package/dist/helpers/text.d.ts +2 -0
  107. package/dist/helpers/text.js +18 -0
  108. package/dist/index.d.ts +1 -0
  109. package/dist/index.js +1 -0
  110. package/dist/providers/AuthenticationProvider/helpers.d.ts +1 -0
  111. package/dist/providers/AuthenticationProvider/helpers.js +6 -0
  112. package/dist/providers/AuthenticationProvider/index.d.ts +22 -0
  113. package/dist/providers/AuthenticationProvider/index.js +207 -0
  114. package/dist/providers/LoadingProvider/index.d.ts +7 -0
  115. package/dist/providers/LoadingProvider/index.js +26 -0
  116. package/dist/providers/ThemeProvider/ThemeProvider.js +1 -1
  117. package/dist/providers/ThemeProvider/index.d.ts +2 -1
  118. package/dist/providers/ThemeProvider/index.js +18 -1
  119. package/dist/providers/hooks.d.ts +3 -1
  120. package/dist/providers/hooks.js +9 -3
  121. package/dist/providers/index.d.ts +2 -1
  122. package/dist/providers/index.js +2 -1
  123. package/dist/services/HttpService.d.ts +1 -1
  124. package/dist/services/HttpService.js +12 -4
  125. package/dist/services/WebSocketService.d.ts +2 -3
  126. package/dist/services/WebSocketService.js +5 -16
  127. package/dist/services/base.d.ts +1 -6
  128. package/dist/services/base.js +0 -3
  129. package/dist/services/globalSearch.d.ts +13 -0
  130. package/dist/services/globalSearch.js +8 -0
  131. package/dist/services/hooks.d.ts +2 -1
  132. package/dist/services/hooks.js +14 -3
  133. package/dist/services/index.d.ts +9 -0
  134. package/dist/services/index.js +9 -0
  135. package/dist/services/requests/auth.d.ts +63 -0
  136. package/dist/services/requests/auth.js +28 -0
  137. package/dist/services/requests/userPermissions.d.ts +4 -0
  138. package/dist/services/requests/userPermissions.js +20 -0
  139. package/dist/services/requests/userProfiles.d.ts +40 -0
  140. package/dist/services/requests/userProfiles.js +20 -0
  141. package/dist/services/requests/users.d.ts +84 -0
  142. package/dist/services/requests/users.js +20 -0
  143. package/dist/services/sqlRequests.d.ts +1 -1
  144. package/dist/services/types/auth.d.ts +87 -0
  145. package/dist/services/types/auth.js +72 -0
  146. package/dist/services/types/base.d.ts +6 -0
  147. package/dist/services/types/base.js +31 -0
  148. package/dist/services/types/userProfiles.d.ts +64 -0
  149. package/dist/services/types/userProfiles.js +68 -0
  150. package/dist/services/types/users.d.ts +118 -0
  151. package/dist/services/types/users.js +83 -0
  152. package/package.json +1 -1
  153. package/src/components/data/DataGrid/index.tsx +2 -2
  154. package/src/components/data/DataGrid/types.ts +4 -4
  155. package/src/components/data/SqlRequestDataGrid/index.tsx +2 -2
  156. package/src/components/data/SqlRequestGrid/helpers/index.ts +0 -1
  157. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +1 -1
  158. package/src/services/types/users.ts +2 -0
  159. package/src/typings.d.ts +2 -2
  160. package/tsconfig.tsbuildinfo +1 -1
  161. package/src/services/requests/userPermissions.ts +0 -36
@@ -53,6 +53,13 @@ var react_1 = require("react");
53
53
  // import { Select } from '../../Select';
54
54
  // import clx from 'classnames';
55
55
  var filterOperators = {
56
+ date: {
57
+ after: 'Après',
58
+ before: 'Avant',
59
+ equals: 'Égal à',
60
+ notEquals: 'Différent de',
61
+ inRange: "Dans l'intervalle",
62
+ },
56
63
  number: {
57
64
  equals: 'Égal à',
58
65
  notEquals: 'Différent de',
@@ -94,15 +101,17 @@ var FilterModalContent = function (_a) {
94
101
  newValues[0] = String(e.target.value);
95
102
  onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
96
103
  }
97
- } })] }), operator === 'inRange' && ((0, jsx_runtime_1.jsxs)("label", { htmlFor: "filterValue2", children: [(0, jsx_runtime_1.jsx)("span", { children: "et" }), (0, jsx_runtime_1.jsx)("input", { name: "filterValue2", type: filter.type, value: (_c = values[1]) !== null && _c !== void 0 ? _c : '',
98
- // className="text-sm w-24"
99
- onChange: function (e) {
100
- var newValues = __spreadArray([], values, true);
101
- newValues[0] =
102
- type === 'number'
103
- ? Number(e.target.value)
104
- : String(e.target.value);
105
- onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
104
+ } })] }), operator === 'inRange' && ((0, jsx_runtime_1.jsxs)("label", { htmlFor: "filterValue2", children: [(0, jsx_runtime_1.jsx)("span", { children: "et" }), (0, jsx_runtime_1.jsx)(forms_1.Input, { name: "filterValue2", type: filter.type, value: (_c = values[1]) !== null && _c !== void 0 ? _c : '', onChange: function (e) {
105
+ if (type === 'number') {
106
+ var newValues = __spreadArray([], values, true);
107
+ newValues[1] = Number(e.target.value);
108
+ onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
109
+ }
110
+ else {
111
+ var newValues = __spreadArray([], values, true);
112
+ newValues[1] = String(e.target.value);
113
+ onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
114
+ }
106
115
  } })] }))] }));
107
116
  };
108
117
  exports.FilterModalContent = FilterModalContent;
@@ -1,9 +1,11 @@
1
1
  import { DataGridColumn, DataGridColumns, DataGridSettings } from '../types';
2
2
  export declare const isColumnVisible: <R>(obj: DataGridColumn<R> | DataGridSettings) => boolean;
3
+ export declare const buildExcelFormat: (decimals?: number, suffix?: string) => string;
3
4
  export declare const textColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
4
5
  export declare const mailColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
5
6
  export declare const phoneColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
6
7
  export declare const dateColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
8
+ export declare const dateTimeColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
7
9
  export declare const monthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
8
10
  export declare const numberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
9
11
  export declare const moneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
@@ -14,13 +14,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.colorColumn = exports.checkboxColumn = exports.percentageColumn = exports.moneyColumn = exports.numberColumn = exports.monthColumn = exports.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.isColumnVisible = void 0;
17
+ exports.colorColumn = exports.checkboxColumn = exports.percentageColumn = exports.moneyColumn = exports.numberColumn = exports.monthColumn = exports.dateTimeColumn = exports.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.buildExcelFormat = exports.isColumnVisible = void 0;
18
18
  var jsx_runtime_1 = require("react/jsx-runtime");
19
- var numbers_1 = require("../../../../helpers/numbers");
20
19
  var filters_1 = require("./filters");
20
+ var numbers_1 = require("../../../../helpers/numbers");
21
21
  var moment_1 = __importDefault(require("moment"));
22
+ var lodash_1 = require("lodash");
22
23
  var isColumnVisible = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1; };
23
24
  exports.isColumnVisible = isColumnVisible;
25
+ var buildExcelFormat = function (decimals, suffix) {
26
+ if (decimals === void 0) { decimals = 2; }
27
+ if (suffix === void 0) { suffix = ''; }
28
+ return "#0".concat(decimals > 0 ? ".".concat((0, lodash_1.repeat)('0', decimals)) : '').concat(suffix);
29
+ };
30
+ exports.buildExcelFormat = buildExcelFormat;
24
31
  var textColumn = function (key, title, options) {
25
32
  var _a;
26
33
  return (_a = {},
@@ -55,10 +62,17 @@ exports.phoneColumn = phoneColumn;
55
62
  var dateColumn = function (key, title, options) {
56
63
  var _a;
57
64
  return (_a = {},
58
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
65
+ _a[key] = __assign({ name: title, type: 'date', render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return 'dd/mm/yyyy'; }, excelValue: function (date) { var _a; return (_a = (0, moment_1.default)(date).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: __assign(__assign({}, (0, filters_1.dateFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; } }) }, options),
59
66
  _a);
60
67
  };
61
68
  exports.dateColumn = dateColumn;
69
+ var dateTimeColumn = function (key, title, options) {
70
+ var _a;
71
+ return (_a = {},
72
+ _a[key] = __assign({ name: title, type: 'date', render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return 'dd/mm/yyyy hh:mm:ss'; }, excelValue: function (date) { var _a; return (_a = (0, moment_1.default)(date).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: __assign(__assign({}, (0, filters_1.dateFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; } }) }, options),
73
+ _a);
74
+ };
75
+ exports.dateTimeColumn = dateTimeColumn;
62
76
  var monthColumn = function (key, title, options) {
63
77
  var _a;
64
78
  return (_a = {},
@@ -70,7 +84,7 @@ var numberColumn = function (key, title, decimals, options) {
70
84
  var _a;
71
85
  if (decimals === void 0) { decimals = 2; }
72
86
  return (_a = {},
73
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: {
87
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, exports.buildExcelFormat)(decimals); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: {
74
88
  sum: function (_, filteredRows) {
75
89
  return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0), decimals);
76
90
  },
@@ -93,7 +107,7 @@ var moneyColumn = function (key, title, decimals, options) {
93
107
  var _a;
94
108
  if (decimals === void 0) { decimals = 2; }
95
109
  return (_a = {},
96
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#0.00'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, filters_1.numberFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, numbers_1.formatMoney)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
110
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, exports.buildExcelFormat)(decimals, ' €'); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, filters_1.numberFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, numbers_1.formatMoney)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
97
111
  sum: function (_, filteredRows) {
98
112
  return (0, numbers_1.formatMoney)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0), decimals);
99
113
  },
@@ -116,7 +130,7 @@ var percentageColumn = function (key, title, decimals, options) {
116
130
  var _a;
117
131
  if (decimals === void 0) { decimals = 2; }
118
132
  return (_a = {},
119
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#0.00'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
133
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, exports.buildExcelFormat)(decimals, '%'); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
120
134
  average: function (_, filteredRows) {
121
135
  return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
122
136
  (filteredRows.length || 1), decimals);
@@ -138,7 +152,7 @@ exports.percentageColumn = percentageColumn;
138
152
  var checkboxColumn = function (key, title, options) {
139
153
  var _a;
140
154
  return (_a = {},
141
- _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row[key] }), (0, jsx_runtime_1.jsx)("span", { children: row[key] ? ' Oui' : ' Non' })] })); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
155
+ _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row[key], readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: row[key] ? ' Oui' : ' Non' })] })); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
142
156
  count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
143
157
  checked: function (_, filteredRows) {
144
158
  return "".concat(filteredRows.filter(function (row) { return !!row[key]; }).length, " coch\u00E9s");
@@ -12,6 +12,7 @@ export declare const defaultValueParsers: {
12
12
  export declare const groupDatesByYearAndMonth: (dates: any[]) => Record<string, Record<string, any[]>>;
13
13
  export declare const getDateGroups: (dates: any[]) => DataGridFilterGroup[];
14
14
  export declare const defaultRendererAndFormatter: (value: any) => string;
15
- export declare const getCheckboxes: (values: DataGridFilterValue[], renderer: DataGridFilterRenderer, formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup[], level?: number) => DataGridFilterCheckbox[];
15
+ export declare const getCheckboxes: (values: DataGridFilterValue[], displayValue: DataGridFilterValue, renderer: DataGridFilterRenderer, formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup[], level?: number) => DataGridFilterCheckbox[];
16
+ export declare const dateFilter: (key: string) => DataGridFilter<"date">;
16
17
  export declare const textFilter: (key: string) => DataGridFilter<"text">;
17
18
  export declare const numberFilter: (key: string) => DataGridFilter<"number">;
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.numberFilter = exports.textFilter = exports.getCheckboxes = exports.defaultRendererAndFormatter = exports.getDateGroups = exports.groupDatesByYearAndMonth = exports.defaultValueParsers = exports.defaultFilterValues = exports.defaultFilterGetter = exports.applyFilter = exports.applyFilters = exports.filtersPredicates = void 0;
16
+ exports.numberFilter = exports.textFilter = exports.dateFilter = exports.getCheckboxes = exports.defaultRendererAndFormatter = exports.getDateGroups = exports.groupDatesByYearAndMonth = exports.defaultValueParsers = exports.defaultFilterValues = exports.defaultFilterGetter = exports.applyFilter = exports.applyFilters = exports.filtersPredicates = void 0;
17
17
  var moment_1 = __importDefault(require("moment"));
18
18
  var escapeRegExp = function (s) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); };
19
19
  var textContainsPredicate = function () {
@@ -141,7 +141,67 @@ var numberInArrayPredicate = function () {
141
141
  }
142
142
  return function (valueToVerify) { return filterValues.includes(valueToVerify); };
143
143
  };
144
+ var dateBeforePredicate = function () {
145
+ var filterValues = [];
146
+ for (var _i = 0; _i < arguments.length; _i++) {
147
+ filterValues[_i] = arguments[_i];
148
+ }
149
+ var limitDate = (0, moment_1.default)(filterValues[0]);
150
+ return function (valueToVerify) { return (0, moment_1.default)(valueToVerify).isBefore(limitDate); };
151
+ };
152
+ var dateAfterPredicate = function () {
153
+ var filterValues = [];
154
+ for (var _i = 0; _i < arguments.length; _i++) {
155
+ filterValues[_i] = arguments[_i];
156
+ }
157
+ var limitDate = (0, moment_1.default)(filterValues[0]);
158
+ return function (valueToVerify) { return (0, moment_1.default)(valueToVerify).isAfter(limitDate); };
159
+ };
160
+ var dateEqualsPredicate = function () {
161
+ var filterValues = [];
162
+ for (var _i = 0; _i < arguments.length; _i++) {
163
+ filterValues[_i] = arguments[_i];
164
+ }
165
+ var date = (0, moment_1.default)(filterValues[0]);
166
+ return function (valueToVerify) { return (0, moment_1.default)(valueToVerify).isSame(date); };
167
+ };
168
+ var dateNotEqualsPredicate = function () {
169
+ var filterValues = [];
170
+ for (var _i = 0; _i < arguments.length; _i++) {
171
+ filterValues[_i] = arguments[_i];
172
+ }
173
+ var date = (0, moment_1.default)(filterValues[0]);
174
+ return function (valueToVerify) { return !(0, moment_1.default)(valueToVerify).isSame(date); };
175
+ };
176
+ var dateInRangePredicate = function () {
177
+ var filterValues = [];
178
+ for (var _i = 0; _i < arguments.length; _i++) {
179
+ filterValues[_i] = arguments[_i];
180
+ }
181
+ var date1 = (0, moment_1.default)(filterValues[0]);
182
+ var date2 = (0, moment_1.default)(filterValues[1]);
183
+ var startDate = date1.isBefore(date2) ? date1 : date2;
184
+ var endDate = date1.isBefore(date2) ? date2 : date1;
185
+ return function (valueToVerify) {
186
+ return (0, moment_1.default)(valueToVerify).isBetween(startDate, endDate, 'days', '[]');
187
+ };
188
+ };
189
+ var dateInArrayPredicate = function () {
190
+ var filterValues = [];
191
+ for (var _i = 0; _i < arguments.length; _i++) {
192
+ filterValues[_i] = arguments[_i];
193
+ }
194
+ return function (valueToVerify) { return filterValues.includes(valueToVerify); };
195
+ };
144
196
  exports.filtersPredicates = {
197
+ date: {
198
+ before: dateBeforePredicate,
199
+ after: dateAfterPredicate,
200
+ equals: dateEqualsPredicate,
201
+ notEquals: dateNotEqualsPredicate,
202
+ inRange: dateInRangePredicate,
203
+ inArray: dateInArrayPredicate,
204
+ },
145
205
  text: {
146
206
  contains: textContainsPredicate,
147
207
  notContains: textNotContainsPredicate,
@@ -179,10 +239,12 @@ var defaultFilterGetter = function (row, columnKey) {
179
239
  };
180
240
  exports.defaultFilterGetter = defaultFilterGetter;
181
241
  exports.defaultFilterValues = {
242
+ date: '',
182
243
  text: '',
183
244
  number: 0,
184
245
  };
185
246
  exports.defaultValueParsers = {
247
+ date: function (value) { return (0, moment_1.default)(value).format('YYYY-MM-DD'); },
186
248
  text: function (value) { return value; },
187
249
  number: function (value) { return parseFloat(value); },
188
250
  };
@@ -192,7 +254,7 @@ var groupDatesByYearAndMonth = function (dates) {
192
254
  if (!acc[year]) {
193
255
  acc[year] = {};
194
256
  }
195
- var yearAndMonth = (0, moment_1.default)(date).format("YYYY-MM");
257
+ var yearAndMonth = (0, moment_1.default)(date).format("MM/YYYY");
196
258
  if (!acc[year][yearAndMonth]) {
197
259
  acc[year][yearAndMonth] = [];
198
260
  }
@@ -207,10 +269,12 @@ var getDateGroups = function (dates) {
207
269
  var year = _a[0], months = _a[1];
208
270
  return ({
209
271
  name: year,
272
+ displayValue: year,
210
273
  values: Object.values(months).flat(),
211
274
  groups: Object.entries(months).map(function (_a) {
212
275
  var month = _a[0], dates = _a[1];
213
276
  return ({
277
+ displayValue: month,
214
278
  name: month,
215
279
  values: dates,
216
280
  });
@@ -223,21 +287,37 @@ var defaultRendererAndFormatter = function (value) {
223
287
  return String(value !== null && value !== void 0 ? value : '').trim() || '(Vides)';
224
288
  };
225
289
  exports.defaultRendererAndFormatter = defaultRendererAndFormatter;
226
- var getCheckboxes = function (values, renderer, formatter, groups, level) {
290
+ var getCheckboxes = function (values, displayValue, renderer, formatter, groups, level) {
227
291
  if (level === void 0) { level = 0; }
228
- return __spreadArray(__spreadArray([], (groups !== null && groups !== void 0 ? groups : [])
229
- .map(function (group) {
230
- var _a;
231
- return (0, exports.getCheckboxes)((_a = group.values) !== null && _a !== void 0 ? _a : [], renderer, formatter, group.groups, level + 1);
232
- })
233
- .flat(), true), values.map(function (value) { return ({
234
- displayValue: renderer(value),
235
- title: formatter(value),
236
- value: value !== null && value !== void 0 ? value : '',
237
- level: level,
238
- }); }), true);
292
+ return groups
293
+ ? groups
294
+ .map(function (group) {
295
+ var _a, _b;
296
+ return __spreadArray([
297
+ {
298
+ displayValue: group.displayValue,
299
+ title: formatter(group.displayValue),
300
+ values: (_a = group.values) !== null && _a !== void 0 ? _a : [],
301
+ level: level,
302
+ }
303
+ ], (0, exports.getCheckboxes)((_b = group.values) !== null && _b !== void 0 ? _b : [], group.displayValue, renderer, formatter, group.groups, level + 1), true);
304
+ })
305
+ .flat()
306
+ : values.map(function (value) { return ({
307
+ displayValue: renderer(value),
308
+ title: formatter(value),
309
+ values: [value !== null && value !== void 0 ? value : ''],
310
+ level: level,
311
+ }); });
239
312
  };
240
313
  exports.getCheckboxes = getCheckboxes;
314
+ var dateFilter = function (key) { return ({
315
+ type: 'date',
316
+ operator: 'before',
317
+ values: [''],
318
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
319
+ }); };
320
+ exports.dateFilter = dateFilter;
241
321
  var textFilter = function (key) { return ({
242
322
  type: 'text',
243
323
  operator: 'contains',
@@ -59,20 +59,18 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
59
59
  };
60
60
  Object.defineProperty(exports, "__esModule", { value: true });
61
61
  exports.useDataGrid = void 0;
62
- var styles_1 = require("../styles");
63
62
  var react_1 = require("react");
64
63
  var _1 = require(".");
65
64
  var helpers_1 = require("../helpers");
66
65
  var lodash_1 = require("lodash");
67
66
  var useDataGridSettings_1 = require("./useDataGridSettings");
68
- var hooks_1 = require("../../../../hooks");
69
67
  var useDataGrid = function (props, override) {
70
68
  var _a;
71
- var rows = props.rows, onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, _b = props.rowHeight, rowHeight = _b === void 0 ? styles_1.DEFAULT_ROW_HEIGHT : _b, onVisibleRowsChange = props.onVisibleRowsChange, onSelectionChange = props.onSelectionChange, selectable = props.selectable, initialSorts = props.initialSorts;
72
- var _c = (0, react_1.useState)(props.columns), columns = _c[0], setColumns = _c[1];
69
+ var rows = props.rows, onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, onSelectionChange = props.onSelectionChange, onSelectedRowsChanged = props.onSelectedRowsChanged, selectable = props.selectable, initialSorts = props.initialSorts;
70
+ var _b = (0, react_1.useState)(props.columns), columns = _b[0], setColumns = _b[1];
73
71
  var visibleColumns = (0, _1.useSortedColumns)(columns);
74
72
  /** SETTINGS */
75
- var _d = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _d.settings, setSettings = _d.setSettings, saveSettings = _d.saveSettings;
73
+ var _c = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _c.settings, setSettings = _c.setSettings, saveSettings = _c.saveSettings;
76
74
  var setColumnWidth = (0, react_1.useCallback)(function (key, width) {
77
75
  setSettings(function (prev) {
78
76
  var _a;
@@ -80,7 +78,7 @@ var useDataGrid = function (props, override) {
80
78
  });
81
79
  }, [setSettings]);
82
80
  var gridTemplateColumns = (0, react_1.useMemo)(function () {
83
- return __spreadArray(__spreadArray([], (selectable ? ['var(--space-10)'] : []), true), visibleColumns.map(function (_a) {
81
+ return __spreadArray(__spreadArray([], (selectable ? ['var(--space-8)'] : []), true), visibleColumns.map(function (_a) {
84
82
  var _b;
85
83
  var col = _a[1];
86
84
  return "".concat((_b = col.width) !== null && _b !== void 0 ? _b : 150, "px");
@@ -96,14 +94,25 @@ var useDataGrid = function (props, override) {
96
94
  ? props.rowKey
97
95
  : function (row) { return String(row === null || row === void 0 ? void 0 : row[props.rowKey]); };
98
96
  }, [props.rowKey]);
99
- var _e = (0, react_1.useState)([]), selectedKeys = _e[0], setSelectedKeys = _e[1];
97
+ var _d = (0, react_1.useState)([]), selectedKeys = _d[0], setSelectedKeys = _d[1];
100
98
  var selectedRows = (0, react_1.useMemo)(function () { return props.rows.filter(function (row) { return selectedKeys.includes(rowKeyGetter(row)); }); }, [props.rows, rowKeyGetter, selectedKeys]);
101
99
  (0, react_1.useEffect)(function () {
102
100
  onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(selectedKeys);
103
101
  }, [onSelectionChange, selectedKeys]);
102
+ (0, react_1.useEffect)(function () {
103
+ onSelectedRowsChanged === null || onSelectedRowsChanged === void 0 ? void 0 : onSelectedRowsChanged(selectedRows);
104
+ }, [onSelectedRowsChanged, selectedRows]);
105
+ var toggleSelection = (0, react_1.useCallback)(function (key) {
106
+ if (selectedKeys.includes(key)) {
107
+ setSelectedKeys(selectedKeys.filter(function (p) { return p !== key; }));
108
+ }
109
+ else {
110
+ setSelectedKeys(__spreadArray(__spreadArray([], selectedKeys, true), [key], false));
111
+ }
112
+ }, [selectedKeys, setSelectedKeys]);
104
113
  /** ROWS FILTERING **/
105
- var _f = (0, react_1.useState)({}), filters = _f[0], setFilters = _f[1];
106
- var _g = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _g[0], setFilteredRows = _g[1];
114
+ var _e = (0, react_1.useState)({}), filters = _e[0], setFilters = _e[1];
115
+ var _f = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _f[0], setFilteredRows = _f[1];
107
116
  (0, react_1.useEffect)(function () {
108
117
  onFiltersChanged === null || onFiltersChanged === void 0 ? void 0 : onFiltersChanged(filters);
109
118
  }, [filters, onFiltersChanged]);
@@ -117,10 +126,10 @@ var useDataGrid = function (props, override) {
117
126
  setFilteredRows(filteredRows !== null && filteredRows !== void 0 ? filteredRows : []);
118
127
  }, [filters, props.filter, rows]);
119
128
  /** CELL EDITING */
120
- var _h = (0, react_1.useState)([-1, -1]), editingCell = _h[0], setEditingCell = _h[1];
129
+ var _g = (0, react_1.useState)([-1, -1]), editingCell = _g[0], setEditingCell = _g[1];
121
130
  /** ROWS SORTING **/
122
- var _j = (0, react_1.useState)(initialSorts !== null && initialSorts !== void 0 ? initialSorts : {}), sorts = _j[0], setSorts = _j[1];
123
- var _k = (0, react_1.useState)(rows), sortedRows = _k[0], setSortedRows = _k[1];
131
+ var _h = (0, react_1.useState)(initialSorts !== null && initialSorts !== void 0 ? initialSorts : {}), sorts = _h[0], setSorts = _h[1];
132
+ var _j = (0, react_1.useState)(rows), sortedRows = _j[0], setSortedRows = _j[1];
124
133
  (0, react_1.useEffect)(function () {
125
134
  var sortedRows = __spreadArray([], filteredRows, true);
126
135
  if (props.sort !== false) {
@@ -148,25 +157,8 @@ var useDataGrid = function (props, override) {
148
157
  }, [sorts, onSortsChanged]);
149
158
  /** VIRTUAL SCROLLING */
150
159
  var scrollableRef = (0, react_1.useRef)(null);
151
- var height = (0, hooks_1.useElementSize)(scrollableRef.current).height;
152
- var _l = (0, react_1.useState)(0), scrollTop = _l[0], setScrollTop = _l[1];
153
- var _m =
154
- // props.showAllRows ? [0, sortedRows.length] :
155
- [Math.floor(scrollTop / rowHeight), Math.ceil(height / rowHeight)], index = _m[0], length = _m[1];
156
- var onScroll = (0, react_1.useCallback)(function (e) {
157
- var target = e.target;
158
- setScrollTop(target.scrollTop);
159
- }, []);
160
- var indexWithTolerance = Math.max(0, index - styles_1.VIRTUAL_SCROLL_TOLERANCE);
161
- var lengthWithTolerance = length + 2 * styles_1.VIRTUAL_SCROLL_TOLERANCE;
162
- var visibleRows = sortedRows.slice(indexWithTolerance, indexWithTolerance + lengthWithTolerance);
163
- (0, react_1.useEffect)(function () {
164
- onVisibleRowsChange === null || onVisibleRowsChange === void 0 ? void 0 : onVisibleRowsChange(indexWithTolerance, lengthWithTolerance);
165
- }, [indexWithTolerance, lengthWithTolerance, onVisibleRowsChange]);
166
- /** COPYING */
167
- var copyTable = (0, _1.useDataGridCopy)(sortedRows, columns, loadCopyRows).copyTable;
168
160
  /** FOOTERS */
169
- var _o = (0, react_1.useState)((_a = props.initialFooters) !== null && _a !== void 0 ? _a : {}), footers = _o[0], setFooters = _o[1];
161
+ var _k = (0, react_1.useState)((_a = props.initialFooters) !== null && _a !== void 0 ? _a : {}), footers = _k[0], setFooters = _k[1];
170
162
  var footerFunctions = (0, react_1.useMemo)(function () {
171
163
  return Object.entries(footers).reduce(function (acc, _a) {
172
164
  var columnKey = _a[0], footerKey = _a[1];
@@ -178,13 +170,21 @@ var useDataGrid = function (props, override) {
178
170
  acc[columnKey] = column.footer;
179
171
  }
180
172
  else if (typeof column.footer === 'object' &&
181
- typeof column.footer[footerKey] === 'function') {
173
+ typeof column.footer[footerKey] === 'function' &&
174
+ column.footer[footerKey] !== null) {
182
175
  acc[columnKey] = column.footer[footerKey];
183
176
  }
184
177
  return acc;
185
178
  }, {});
186
179
  }, [columns, footers]);
187
- var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, selectedKeys: selectedKeys, setSelectedKeys: setSelectedKeys, sorts: sorts, setSorts: setSorts, filters: filters, setFilters: setFilters, editingCell: editingCell, setEditingCell: setEditingCell, copyTable: copyTable, setColumnWidth: setColumnWidth, settings: settings, setSettings: setSettings, saveSettings: saveSettings, visibleRows: visibleRows, scrollableRef: scrollableRef, onScroll: onScroll, index: index, length: length, rowKeyGetter: rowKeyGetter, gridTemplateColumns: gridTemplateColumns, footers: footers, setFooters: setFooters, footerFunctions: footerFunctions }), override)); }, [
180
+ /** COPYING */
181
+ var copyTable = (0, _1.useDataGridCopy)({
182
+ rows: rows,
183
+ visibleColumns: visibleColumns,
184
+ footerFunctions: footerFunctions,
185
+ loadCopyRows: loadCopyRows,
186
+ }).copyTable;
187
+ var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, selectedKeys: selectedKeys, setSelectedKeys: setSelectedKeys, sorts: sorts, setSorts: setSorts, filters: filters, setFilters: setFilters, editingCell: editingCell, setEditingCell: setEditingCell, copyTable: copyTable, setColumnWidth: setColumnWidth, settings: settings, setSettings: setSettings, saveSettings: saveSettings, scrollableRef: scrollableRef, length: length, rowKeyGetter: rowKeyGetter, gridTemplateColumns: gridTemplateColumns, footers: footers, setFooters: setFooters, footerFunctions: footerFunctions, toggleSelection: toggleSelection }), override)); }, [
188
188
  props,
189
189
  columns,
190
190
  visibleColumns,
@@ -199,14 +199,12 @@ var useDataGrid = function (props, override) {
199
199
  settings,
200
200
  setSettings,
201
201
  saveSettings,
202
- visibleRows,
203
- onScroll,
204
- index,
205
- length,
202
+ scrollableRef,
206
203
  rowKeyGetter,
207
204
  gridTemplateColumns,
208
205
  footers,
209
206
  footerFunctions,
207
+ toggleSelection,
210
208
  override,
211
209
  ]);
212
210
  var context = (0, react_1.useMemo)(function () {
@@ -231,14 +229,11 @@ var useDataGrid = function (props, override) {
231
229
  saveSettings: function () { },
232
230
  settings: {},
233
231
  setSettings: function () { },
234
- visibleRows: [],
235
- scrollableRef: { current: null },
236
- onScroll: function () { },
237
- index: 0,
238
232
  length: 0,
239
233
  gridTemplateColumns: '',
240
234
  footers: {},
241
235
  setFooters: function () { },
236
+ toggleSelection: function () { },
242
237
  });
243
238
  }, []);
244
239
  return (0, react_1.useMemo)(function () { return [contextValue, context]; }, [context, contextValue]);
@@ -1,4 +1,4 @@
1
- import { DataGridColumns } from '../types';
2
- export declare const useDataGridCopy: <R>(rows: R[], columns: DataGridColumns<R>, loadCopyRows?: () => Promise<R[]>) => {
1
+ import { DataGridContextProps } from '../types';
2
+ export declare const useDataGridCopy: <R>({ rows, visibleColumns, loadCopyRows, footerFunctions, }: Pick<DataGridContextProps<R>, "rows" | "visibleColumns" | "loadCopyRows" | "footerFunctions">) => {
3
3
  copyTable: (includeHeaders?: boolean, includeFooters?: boolean) => Promise<void>;
4
4
  };