@addev-be/ui 0.2.2 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/assets/icons/arrow-down-a-z.svg +1 -1
  2. package/assets/icons/arrow-up-z-a.svg +1 -1
  3. package/assets/icons/check.svg +1 -1
  4. package/assets/icons/down.svg +1 -1
  5. package/assets/icons/filter-full.svg +1 -1
  6. package/assets/icons/filter.svg +1 -1
  7. package/assets/icons/hashtag.svg +1 -1
  8. package/assets/icons/image-slash.svg +1 -1
  9. package/assets/icons/left.svg +1 -1
  10. package/assets/icons/magnifier.svg +1 -1
  11. package/assets/icons/phone.svg +1 -1
  12. package/assets/icons/right.svg +1 -1
  13. package/assets/icons/spinner-third.svg +1 -1
  14. package/assets/icons/table-columns.svg +1 -1
  15. package/assets/icons/up.svg +1 -1
  16. package/assets/icons/user-tie.svg +1 -1
  17. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +14 -0
  18. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +76 -0
  19. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +22 -0
  20. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +156 -0
  21. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +2 -0
  22. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +18 -0
  23. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +2 -0
  24. package/dist/components/data/AdvancedRequestDataGrid/index.js +215 -0
  25. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +21 -0
  26. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +1 -2
  27. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +3 -5
  28. package/dist/components/data/DataGrid/DataGridCell.d.ts +1 -1
  29. package/dist/components/data/DataGrid/DataGridCell.js +6 -6
  30. package/dist/components/data/DataGrid/DataGridEditableCell.js +2 -7
  31. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +10 -8
  32. package/dist/components/data/DataGrid/DataGridFooter.js +4 -14
  33. package/dist/components/data/DataGrid/DataGridHeader.js +60 -12
  34. package/dist/components/data/DataGrid/DataGridHeaderCell.js +6 -5
  35. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +5 -5
  36. package/dist/components/data/DataGrid/FilterModalContent/index.js +11 -9
  37. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +8 -7
  38. package/dist/components/data/DataGrid/FilterValuesScroller.js +5 -6
  39. package/dist/components/data/DataGrid/VirtualScroller.js +1 -6
  40. package/dist/components/data/DataGrid/helpers/columns.d.ts +12 -13
  41. package/dist/components/data/DataGrid/helpers/columns.js +17 -71
  42. package/dist/components/data/DataGrid/helpers/filters.d.ts +8 -7
  43. package/dist/components/data/DataGrid/helpers/filters.js +26 -21
  44. package/dist/components/data/DataGrid/helpers/index.d.ts +1 -2
  45. package/dist/components/data/DataGrid/helpers/index.js +1 -2
  46. package/dist/components/data/DataGrid/hooks/index.d.ts +2 -2
  47. package/dist/components/data/DataGrid/hooks/index.js +4 -4
  48. package/dist/components/data/DataGrid/hooks/useDataGrid.js +27 -5
  49. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +0 -1
  50. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -1
  51. package/dist/components/data/DataGrid/index.js +27 -20
  52. package/dist/components/data/DataGrid/styles.d.ts +7 -2
  53. package/dist/components/data/DataGrid/styles.js +13 -10
  54. package/dist/components/data/DataGrid/types.d.ts +47 -54
  55. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -0
  56. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +112 -0
  57. package/dist/components/data/SqlRequestDataGrid/helpers/index.d.ts +2 -0
  58. package/dist/components/data/SqlRequestDataGrid/helpers/index.js +18 -0
  59. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.d.ts +3 -0
  60. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.js +18 -0
  61. package/dist/components/data/SqlRequestDataGrid/index.d.ts +2 -0
  62. package/dist/components/data/SqlRequestDataGrid/index.js +224 -0
  63. package/dist/components/data/SqlRequestDataGrid/types.d.ts +21 -0
  64. package/dist/components/data/SqlRequestDataGrid/types.js +2 -0
  65. package/dist/components/data/index.d.ts +7 -2
  66. package/dist/components/data/index.js +7 -2
  67. package/dist/components/forms/IconButton.js +1 -1
  68. package/dist/components/forms/IndeterminateCheckbox.js +1 -1
  69. package/dist/components/layout/Modal/index.js +1 -1
  70. package/dist/helpers/dates.d.ts +2 -0
  71. package/dist/helpers/dates.js +13 -0
  72. package/dist/providers/PortalsProvider/index.d.ts +1 -1
  73. package/dist/providers/PortalsProvider/index.js +1 -1
  74. package/dist/services/HttpService.d.ts +10 -0
  75. package/dist/services/HttpService.js +117 -0
  76. package/dist/services/advancedRequests.d.ts +3 -3
  77. package/dist/services/advancedRequests.js +2 -2
  78. package/dist/services/hooks.d.ts +2 -1
  79. package/dist/services/hooks.js +10 -3
  80. package/dist/services/sqlRequests.d.ts +40 -0
  81. package/dist/services/sqlRequests.js +10 -0
  82. package/package.json +1 -1
  83. package/src/Icons.tsx +80 -80
  84. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  85. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  86. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  87. package/src/components/data/AdvancedRequestDataGrid/index.tsx +269 -269
  88. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  89. package/src/components/data/DataGrid/DataGridCell.tsx +73 -75
  90. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  91. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +58 -58
  92. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  93. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  94. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -54
  95. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  96. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +200 -190
  97. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +100 -100
  98. package/src/components/data/DataGrid/DataGridFooter.tsx +44 -64
  99. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -128
  100. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +167 -166
  101. package/src/components/data/DataGrid/FilterModalContent/index.tsx +124 -125
  102. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  103. package/src/components/data/DataGrid/FilterValuesScroller.tsx +133 -131
  104. package/src/components/data/DataGrid/VirtualScroller.tsx +46 -46
  105. package/src/components/data/DataGrid/helpers/columns.tsx +196 -199
  106. package/src/components/data/DataGrid/helpers/filters.ts +220 -207
  107. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  108. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  109. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +264 -261
  110. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +165 -166
  111. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -49
  112. package/src/components/data/DataGrid/index.tsx +132 -133
  113. package/src/components/data/DataGrid/styles.ts +326 -299
  114. package/src/components/data/DataGrid/types.ts +241 -233
  115. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +224 -206
  116. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  117. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  118. package/src/components/data/SqlRequestDataGrid/index.tsx +252 -221
  119. package/src/components/data/SqlRequestDataGrid/types.ts +47 -46
  120. package/src/components/data/index.ts +8 -6
  121. package/src/components/forms/Button.tsx +99 -99
  122. package/src/components/forms/IconButton.tsx +56 -56
  123. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  124. package/src/components/forms/Select.tsx +40 -40
  125. package/src/components/forms/index.ts +5 -5
  126. package/src/components/forms/styles.ts +20 -20
  127. package/src/components/index.ts +3 -3
  128. package/src/components/layout/Dropdown/index.tsx +79 -79
  129. package/src/components/layout/Dropdown/styles.ts +44 -44
  130. package/src/components/layout/Loading/index.tsx +29 -29
  131. package/src/components/layout/Loading/styles.ts +29 -29
  132. package/src/components/layout/Modal/index.tsx +51 -51
  133. package/src/components/layout/Modal/styles.ts +110 -110
  134. package/src/components/layout/index.ts +3 -3
  135. package/src/config/index.ts +14 -14
  136. package/src/helpers/dates.ts +9 -0
  137. package/src/helpers/getScrollbarSize.ts +14 -14
  138. package/src/helpers/numbers.ts +20 -20
  139. package/src/hooks/index.ts +2 -2
  140. package/src/hooks/useElementSize.ts +24 -24
  141. package/src/hooks/useWindowSize.ts +20 -20
  142. package/src/index.ts +7 -7
  143. package/src/providers/PortalsProvider/index.tsx +54 -54
  144. package/src/providers/PortalsProvider/styles.ts +27 -27
  145. package/src/providers/SettingsProvider/index.tsx +70 -70
  146. package/src/providers/ThemeProvider/ThemeProvider.ts +55 -55
  147. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  148. package/src/providers/ThemeProvider/index.ts +3 -3
  149. package/src/providers/ThemeProvider/types.ts +123 -123
  150. package/src/providers/UiProviders/index.tsx +65 -65
  151. package/src/providers/UiProviders/styles.ts +10 -10
  152. package/src/providers/hooks.ts +8 -8
  153. package/src/providers/index.ts +5 -5
  154. package/src/services/HttpService.ts +80 -80
  155. package/src/services/WebSocketService.ts +147 -147
  156. package/src/services/advancedRequests.ts +101 -101
  157. package/src/services/base.ts +31 -31
  158. package/src/services/hooks.ts +23 -23
  159. package/src/services/index.ts +2 -2
  160. package/src/services/sqlRequests.ts +99 -98
  161. package/src/styles/animations.scss +30 -30
  162. package/src/styles/index.scss +42 -42
  163. package/src/typings.d.ts +6 -6
  164. package/tsconfig.tsbuildinfo +1 -1
  165. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  166. package/dist/components/data/DataGrid/helpers.js +0 -436
  167. package/dist/config/types.d.ts +0 -11
  168. /package/dist/{config → components/data/AdvancedRequestDataGrid}/types.js +0 -0
@@ -14,82 +14,55 @@ 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.withGroupBy = 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.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.isColumnVisible = void 0;
18
18
  var jsx_runtime_1 = require("react/jsx-runtime");
19
19
  var numbers_1 = require("../../../../helpers/numbers");
20
- var lodash_1 = __importDefault(require("lodash"));
20
+ var filters_1 = require("./filters");
21
21
  var moment_1 = __importDefault(require("moment"));
22
- var isColumnVisible = function (obj) {
23
- return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1;
24
- };
22
+ var isColumnVisible = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1; };
25
23
  exports.isColumnVisible = isColumnVisible;
26
24
  var textColumn = function (key, title, options) {
27
25
  var _a;
28
26
  return (_a = {},
29
- _a[key] = __assign({ name: title, render: function (col, row) { var _a; return (_a = row[key]) !== 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 : ''; }, filter: {
30
- type: 'text',
31
- operator: 'contains',
32
- values: [''],
33
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
34
- } }, options),
27
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = row[key]) !== 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 : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
35
28
  _a);
36
29
  };
37
30
  exports.textColumn = textColumn;
38
31
  var mailColumn = function (key, title, options) {
39
32
  var _a;
40
33
  return (_a = {},
41
- _a[key] = __assign({ name: title, render: function (col, row) {
34
+ _a[key] = __assign({ name: title, render: function (row) {
42
35
  var _a;
43
36
  return ((0, jsx_runtime_1.jsx)("a", {
44
37
  // className="text-blue-500 hover:text-blue-700"
45
38
  href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
46
- }, 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: {
47
- type: 'text',
48
- operator: 'contains',
49
- values: [''],
50
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
51
- } }, options),
39
+ }, 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.textFilter)(key) }, options),
52
40
  _a);
53
41
  };
54
42
  exports.mailColumn = mailColumn;
55
43
  var phoneColumn = function (key, title, options) {
56
44
  var _a;
57
45
  return (_a = {},
58
- _a[key] = __assign({ name: title, render: function (col, row) {
46
+ _a[key] = __assign({ name: title, render: function (row) {
59
47
  var _a;
60
48
  return ((0, jsx_runtime_1.jsx)("a", {
61
49
  // className="text-blue-500 hover:text-blue-700"
62
50
  href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
63
- }, 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: {
64
- type: 'text',
65
- operator: 'contains',
66
- values: [''],
67
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
68
- } }, options),
51
+ }, 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.textFilter)(key) }, options),
69
52
  _a);
70
53
  };
71
54
  exports.phoneColumn = phoneColumn;
72
55
  var dateColumn = function (key, title, options) {
73
56
  var _a;
74
57
  return (_a = {},
75
- _a[key] = __assign({ name: title, render: function (col, 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 : ''; }, filter: {
76
- type: 'text',
77
- operator: 'contains',
78
- values: [''],
79
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
80
- } }, options),
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 : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
81
59
  _a);
82
60
  };
83
61
  exports.dateColumn = dateColumn;
84
62
  var monthColumn = function (key, title, options) {
85
63
  var _a;
86
64
  return (_a = {},
87
- _a[key] = __assign({ name: title, render: function (col, row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, 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: {
88
- type: 'text',
89
- operator: 'contains',
90
- values: [''],
91
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
92
- } }, options),
65
+ _a[key] = __assign({ name: title, render: function (row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, 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.textFilter)(key) }, options),
93
66
  _a);
94
67
  };
95
68
  exports.monthColumn = monthColumn;
@@ -97,11 +70,11 @@ var numberColumn = function (key, title, decimals, options) {
97
70
  var _a;
98
71
  if (decimals === void 0) { decimals = 2; }
99
72
  return (_a = {},
100
- _a[key] = __assign({ name: title, render: function (col, 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 : ''; }, filter: {
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 : ''; }, filter: {
101
74
  type: 'number',
102
75
  operator: 'equals',
103
76
  values: [0],
104
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
77
+ getter: function (value) { return value !== null && value !== void 0 ? value : 0; },
105
78
  } }, options),
106
79
  _a);
107
80
  };
@@ -110,58 +83,31 @@ var moneyColumn = function (key, title, decimals, options) {
110
83
  var _a;
111
84
  if (decimals === void 0) { decimals = 2; }
112
85
  return (_a = {},
113
- _a[key] = __assign({ name: title, render: function (col, 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: {
114
- type: 'number',
115
- operator: 'equals',
116
- values: [0],
117
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
118
- } }, options),
86
+ _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: (0, filters_1.numberFilter)(key) }, options),
119
87
  _a);
120
88
  };
121
89
  exports.moneyColumn = moneyColumn;
122
90
  var percentageColumn = function (key, title, options) {
123
91
  var _a;
124
92
  return (_a = {},
125
- _a[key] = __assign({ name: title, render: function (col, 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: {
126
- type: 'number',
127
- operator: 'equals',
128
- values: [0],
129
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
130
- } }, options),
93
+ _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) }, options),
131
94
  _a);
132
95
  };
133
96
  exports.percentageColumn = percentageColumn;
134
97
  var checkboxColumn = function (key, title, options) {
135
98
  var _a;
136
99
  return (_a = {},
137
- _a[key] = __assign({ name: title, render: function (col, 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: {
138
- type: 'number',
139
- operator: 'equals',
140
- values: [0],
141
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
142
- } }, options),
100
+ _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) }, options),
143
101
  _a);
144
102
  };
145
103
  exports.checkboxColumn = checkboxColumn;
146
104
  var colorColumn = function (key, title, options) {
147
105
  var _a;
148
106
  return (_a = {},
149
- _a[key] = __assign({ name: title, render: function (col, row) {
107
+ _a[key] = __assign({ name: title, render: function (row) {
150
108
  var _a;
151
109
  return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
152
- }, 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: {
153
- type: 'text',
154
- operator: 'contains',
155
- values: [''],
156
- getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
157
- } }, options),
110
+ }, 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.textFilter)(key) }, options),
158
111
  _a);
159
112
  };
160
113
  exports.colorColumn = colorColumn;
161
- var withGroupBy = function (columns) {
162
- return lodash_1.default.mapValues(columns, function (column, key) {
163
- var _a;
164
- return (__assign(__assign({}, column), { field: __assign(__assign({}, ((_a = column.field) !== null && _a !== void 0 ? _a : { fieldName: key })), { groupBy: true }) }));
165
- });
166
- };
167
- exports.withGroupBy = withGroupBy;
@@ -1,8 +1,7 @@
1
- import { DataGridFilter, DataGridFilterCheckbox, DataGridFilterDataType, DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterPredicates, DataGridFilterType, DataGridFilters } from '../types';
2
- import { ConditionDTO } from '../../../../services/advancedRequests';
1
+ import { DataGridFilter, DataGridFilterCheckbox, DataGridFilterDataType, DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterPredicates, DataGridFilterRenderer, DataGridFilterType, DataGridFilterValue } from '../types';
3
2
  export declare const filtersPredicates: DataGridFilterPredicates;
4
- export declare const applyFilters: <R>(rows: R[], filters: DataGridFilter<R, DataGridFilterType>[]) => R[];
5
- export declare const applyFilter: <R, T extends DataGridFilterType>(rows: R[], filter: DataGridFilter<R, T>) => R[];
3
+ export declare const applyFilters: <R>(rows: R[], filters: DataGridFilter[]) => R[];
4
+ export declare const applyFilter: <R>(rows: R[], filter: DataGridFilter) => R[];
6
5
  export declare const defaultFilterGetter: (row: any, columnKey: string) => any;
7
6
  export declare const defaultFilterValues: {
8
7
  [K in DataGridFilterType]: DataGridFilterDataType<K>;
@@ -11,6 +10,8 @@ export declare const defaultValueParsers: {
11
10
  [K in DataGridFilterType]: (value: string) => DataGridFilterDataType<K>;
12
11
  };
13
12
  export declare const groupDatesByYearAndMonth: (dates: any[]) => Record<string, Record<string, any[]>>;
14
- export declare const getDateGroups: <R extends string | number | null>(dates: any[]) => DataGridFilterGroup<R>[];
15
- export declare const convertFiltersToConditions: <R>(filters: DataGridFilters<R>) => ConditionDTO[];
16
- export declare const getCheckboxes: <R extends string | number | null>(values: R[], formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup<R>[], level?: number) => DataGridFilterCheckbox<R>[];
13
+ export declare const getDateGroups: (dates: any[]) => DataGridFilterGroup[];
14
+ export declare const defaultRendererAndFormatter: (value: any) => string;
15
+ export declare const getCheckboxes: (values: DataGridFilterValue[], renderer: DataGridFilterRenderer, formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup[], level?: number) => DataGridFilterCheckbox[];
16
+ export declare const textFilter: (key: string) => DataGridFilter<"text">;
17
+ export declare const numberFilter: (key: string) => DataGridFilter<"number">;
@@ -13,8 +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.getCheckboxes = exports.convertFiltersToConditions = exports.getDateGroups = exports.groupDatesByYearAndMonth = exports.defaultValueParsers = exports.defaultFilterValues = exports.defaultFilterGetter = exports.applyFilter = exports.applyFilters = exports.filtersPredicates = void 0;
17
- var lodash_1 = __importDefault(require("lodash"));
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;
18
17
  var moment_1 = __importDefault(require("moment"));
19
18
  var escapeRegExp = function (s) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); };
20
19
  var textContainsPredicate = function () {
@@ -220,30 +219,36 @@ var getDateGroups = function (dates) {
220
219
  });
221
220
  };
222
221
  exports.getDateGroups = getDateGroups;
223
- var convertFiltersToConditions = function (filters) {
224
- return Object.entries(filters).map(function (_a) {
225
- var columnKey = _a[0], filter = _a[1];
226
- var condition = {
227
- field: {
228
- fieldName: columnKey,
229
- },
230
- operator: filter.operator,
231
- value: ['inArray', 'inRange'].includes(filter.operator)
232
- ? filter.values
233
- : lodash_1.default.castArray(filter.values)[0],
234
- };
235
- return condition;
236
- });
222
+ var defaultRendererAndFormatter = function (value) {
223
+ return String(value !== null && value !== void 0 ? value : '').trim() || '(Vides)';
237
224
  };
238
- exports.convertFiltersToConditions = convertFiltersToConditions;
239
- var getCheckboxes = function (values, formatter, groups, level) {
225
+ exports.defaultRendererAndFormatter = defaultRendererAndFormatter;
226
+ var getCheckboxes = function (values, renderer, formatter, groups, level) {
240
227
  if (level === void 0) { level = 0; }
241
228
  return __spreadArray(__spreadArray([], (groups !== null && groups !== void 0 ? groups : [])
242
- .map(function (group) { var _a; return (0, exports.getCheckboxes)((_a = group.values) !== null && _a !== void 0 ? _a : [], formatter, group.groups, level + 1); })
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
+ })
243
233
  .flat(), true), values.map(function (value) { return ({
244
- displayValue: formatter(value),
245
- values: [value],
234
+ displayValue: renderer(value),
235
+ title: formatter(value),
236
+ value: value !== null && value !== void 0 ? value : '',
246
237
  level: level,
247
238
  }); }), true);
248
239
  };
249
240
  exports.getCheckboxes = getCheckboxes;
241
+ var textFilter = function (key) { return ({
242
+ type: 'text',
243
+ operator: 'contains',
244
+ values: [''],
245
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
246
+ }); };
247
+ exports.textFilter = textFilter;
248
+ var numberFilter = function (key) { return ({
249
+ type: 'number',
250
+ operator: 'equals',
251
+ values: [0],
252
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
253
+ }); };
254
+ exports.numberFilter = numberFilter;
@@ -1,3 +1,2 @@
1
- export * from './columns';
2
1
  export * from './filters';
3
- export * from './advancedRequests';
2
+ export * from './columns';
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./columns"), exports);
18
17
  __exportStar(require("./filters"), exports);
19
- __exportStar(require("./advancedRequests"), exports);
18
+ __exportStar(require("./columns"), exports);
@@ -3,5 +3,5 @@ export { useDataGridCopy } from './useDataGridCopy';
3
3
  export { useDataGridSettings } from './useDataGridSettings';
4
4
  export { useDataGrid } from './useDataGrid';
5
5
  export declare const useDataGridContext: <R>(context: DataGridContext<R>) => import("../types").DataGridContextProps<R>;
6
- export declare const useVisibleAndHiddenColumns: <R>(columns: DataGridColumns<R>) => import("lodash").Dictionary<import("../types").DataGridColumn<R, import("../types").DataGridFilterType | undefined>>[];
7
- export declare const useSortedColumns: <R>(columns: DataGridColumns<R>) => [string, import("../types").DataGridColumn<R, import("../types").DataGridFilterType | undefined>][];
6
+ export declare const useVisibleAndHiddenColumns: <R>(columns: DataGridColumns<R>) => import("lodash").Dictionary<import("../types").DataGridColumn<R>>[];
7
+ export declare const useSortedColumns: <R>(columns: DataGridColumns<R>) => [string, import("../types").DataGridColumn<R>][];
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useSortedColumns = exports.useVisibleAndHiddenColumns = exports.useDataGridContext = exports.useDataGrid = exports.useDataGridSettings = exports.useDataGridCopy = void 0;
4
4
  var react_1 = require("react");
5
- var helpers_1 = require("../helpers");
5
+ var columns_1 = require("../helpers/columns");
6
6
  var lodash_1 = require("lodash");
7
7
  var useDataGridCopy_1 = require("./useDataGridCopy");
8
8
  Object.defineProperty(exports, "useDataGridCopy", { enumerable: true, get: function () { return useDataGridCopy_1.useDataGridCopy; } });
@@ -16,8 +16,8 @@ var useDataGridContext = function (context) {
16
16
  exports.useDataGridContext = useDataGridContext;
17
17
  var useVisibleAndHiddenColumns = function (columns) {
18
18
  return (0, react_1.useMemo)(function () { return [
19
- (0, lodash_1.pickBy)(columns, function (col) { return (0, helpers_1.isColumnVisible)(col); }),
20
- (0, lodash_1.pickBy)(columns, function (col) { return !(0, helpers_1.isColumnVisible)(col); }),
19
+ (0, lodash_1.pickBy)(columns, function (col) { return (0, columns_1.isColumnVisible)(col); }),
20
+ (0, lodash_1.pickBy)(columns, function (col) { return !(0, columns_1.isColumnVisible)(col); }),
21
21
  ]; }, [columns]);
22
22
  };
23
23
  exports.useVisibleAndHiddenColumns = useVisibleAndHiddenColumns;
@@ -26,7 +26,7 @@ var useSortedColumns = function (columns) {
26
26
  return Object.entries(columns)
27
27
  .filter(function (_a) {
28
28
  var col = _a[1];
29
- return (0, helpers_1.isColumnVisible)(col);
29
+ return (0, columns_1.isColumnVisible)(col);
30
30
  })
31
31
  .sort(function (a, b) { var _a, _b; return ((_a = a[1].order) !== null && _a !== void 0 ? _a : 0) - ((_b = b[1].order) !== null && _b !== void 0 ? _b : 0); });
32
32
  }, [columns]);
@@ -67,7 +67,7 @@ var lodash_1 = require("lodash");
67
67
  var useDataGridSettings_1 = require("./useDataGridSettings");
68
68
  var hooks_1 = require("../../../../hooks");
69
69
  var useDataGrid = function (props) {
70
- var rows = props.rows, onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, _a = props.rowHeight, rowHeight = _a === void 0 ? styles_1.DEFAULT_ROW_HEIGHT : _a, onVisibleRowsChange = props.onVisibleRowsChange;
70
+ var rows = props.rows, onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, _a = props.rowHeight, rowHeight = _a === void 0 ? styles_1.DEFAULT_ROW_HEIGHT : _a, onVisibleRowsChange = props.onVisibleRowsChange, onSelectionChange = props.onSelectionChange, selectable = props.selectable, initialSorts = props.initialSorts;
71
71
  var _b = (0, react_1.useState)(props.columns), columns = _b[0], setColumns = _b[1];
72
72
  var visibleColumns = (0, _1.useSortedColumns)(columns);
73
73
  /** SETTINGS */
@@ -78,12 +78,28 @@ var useDataGrid = function (props) {
78
78
  return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { width: width }), _a)));
79
79
  });
80
80
  }, [setSettings]);
81
+ var gridTemplateColumns = (0, react_1.useMemo)(function () {
82
+ return __spreadArray(__spreadArray([], (selectable ? ['var(--space-8)'] : []), true), visibleColumns.map(function (_a) {
83
+ var _b;
84
+ var col = _a[1];
85
+ return "".concat((_b = col.width) !== null && _b !== void 0 ? _b : 150, "px");
86
+ }), true).join(' ');
87
+ }, [selectable, visibleColumns]);
81
88
  // Update columns when settings change
82
89
  (0, react_1.useEffect)(function () {
83
90
  setColumns(function (prev) { return (0, lodash_1.merge)({}, prev, settings); });
84
91
  }, [settings]);
85
92
  /** ROWS SELECTION **/
86
- var _d = (0, react_1.useState)([]), selectedRows = _d[0], setSelectedRows = _d[1];
93
+ var rowKeyGetter = (0, react_1.useMemo)(function () {
94
+ return typeof props.rowKey === 'function'
95
+ ? props.rowKey
96
+ : function (row) { return String(row === null || row === void 0 ? void 0 : row[props.rowKey]); };
97
+ }, [props.rowKey]);
98
+ var _d = (0, react_1.useState)([]), selectedKeys = _d[0], setSelectedKeys = _d[1];
99
+ var selectedRows = (0, react_1.useMemo)(function () { return props.rows.filter(function (row) { return selectedKeys.includes(rowKeyGetter(row)); }); }, [props.rows, rowKeyGetter, selectedKeys]);
100
+ (0, react_1.useEffect)(function () {
101
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(selectedKeys);
102
+ }, [onSelectionChange, selectedKeys]);
87
103
  /** ROWS FILTERING **/
88
104
  var _e = (0, react_1.useState)({}), filters = _e[0], setFilters = _e[1];
89
105
  var _f = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _f[0], setFilteredRows = _f[1];
@@ -102,7 +118,7 @@ var useDataGrid = function (props) {
102
118
  /** CELL EDITING */
103
119
  var _g = (0, react_1.useState)([-1, -1]), editingCell = _g[0], setEditingCell = _g[1];
104
120
  /** ROWS SORTING **/
105
- var _h = (0, react_1.useState)({}), sorts = _h[0], setSorts = _h[1];
121
+ var _h = (0, react_1.useState)(initialSorts !== null && initialSorts !== void 0 ? initialSorts : {}), sorts = _h[0], setSorts = _h[1];
106
122
  var _j = (0, react_1.useState)(rows), sortedRows = _j[0], setSortedRows = _j[1];
107
123
  (0, react_1.useEffect)(function () {
108
124
  var sortedRows = __spreadArray([], filteredRows, true);
@@ -148,7 +164,7 @@ var useDataGrid = function (props) {
148
164
  }, [indexWithTolerance, lengthWithTolerance, onVisibleRowsChange]);
149
165
  /** COPYING */
150
166
  var copyTable = (0, _1.useDataGridCopy)(sortedRows, columns, loadCopyRows).copyTable;
151
- var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, setSelectedRows: setSelectedRows, 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 })); }, [
167
+ var contextValue = (0, react_1.useMemo)(function () { return (__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 })); }, [
152
168
  columns,
153
169
  copyTable,
154
170
  editingCell,
@@ -157,7 +173,9 @@ var useDataGrid = function (props) {
157
173
  length,
158
174
  onScroll,
159
175
  props,
176
+ rowKeyGetter,
160
177
  saveSettings,
178
+ selectedKeys,
161
179
  selectedRows,
162
180
  setColumnWidth,
163
181
  setSettings,
@@ -166,6 +184,7 @@ var useDataGrid = function (props) {
166
184
  sorts,
167
185
  visibleColumns,
168
186
  visibleRows,
187
+ gridTemplateColumns,
169
188
  ]);
170
189
  var context = (0, react_1.useMemo)(function () {
171
190
  return (0, react_1.createContext)({
@@ -173,9 +192,11 @@ var useDataGrid = function (props) {
173
192
  columns: {},
174
193
  visibleColumns: [],
175
194
  rowKey: '',
195
+ rowKeyGetter: function () { return ''; },
176
196
  sortedRows: [],
177
197
  selectedRows: [],
178
- setSelectedRows: function () { },
198
+ selectedKeys: [],
199
+ setSelectedKeys: function () { },
179
200
  setSorts: function () { },
180
201
  setFilters: function () { },
181
202
  editingCell: [-1, -1],
@@ -192,6 +213,7 @@ var useDataGrid = function (props) {
192
213
  onScroll: function () { },
193
214
  index: 0,
194
215
  length: 0,
216
+ gridTemplateColumns: '',
195
217
  });
196
218
  }, []);
197
219
  return (0, react_1.useMemo)(function () { return [contextValue, context]; }, [context, contextValue]);
@@ -73,7 +73,6 @@ var useDataGridCopy = function (rows, columns, loadCopyRows) {
73
73
  ? "mso-number-format: '" + col.excelFormatter(col) + "';"
74
74
  : '', "\n white-space: nowrap;\n \">\n ").concat(generateCellText(col, value), "\n </td>"); }, [generateCellText]);
75
75
  var generateCopyHtml = (0, react_1.useCallback)(function (rowsToCopy, includeHeaders, includeFooters) {
76
- console.log('generateCopyHtml', rowsToCopy, columns);
77
76
  return "\n <table>\n ".concat(includeHeaders ? generateHeadersHtml() : '', "\n ").concat((rowsToCopy || [])
78
77
  .map(function (row) {
79
78
  return "<tr>\n ".concat(Object.values(columns !== null && columns !== void 0 ? columns : {})
@@ -11,7 +11,6 @@ var useDataGridSettings = function (name) {
11
11
  if (name) {
12
12
  var settingName = "user.datagrid.settings.".concat(name);
13
13
  var gridSettingsJson = (settings === null || settings === void 0 ? void 0 : settings[settingName]) || '{}';
14
- console.log('read datagrid settings for', settingName, gridSettingsJson);
15
14
  var gridSettings = {};
16
15
  try {
17
16
  gridSettings = JSON.parse(gridSettingsJson);
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -35,54 +46,50 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
46
  exports.DataGrid = void 0;
36
47
  var jsx_runtime_1 = require("react/jsx-runtime");
37
48
  var styles = __importStar(require("./styles"));
38
- var react_1 = require("react");
39
49
  var DataGridCell_1 = require("./DataGridCell");
40
50
  var DataGridFooter_1 = require("./DataGridFooter");
41
51
  var DataGridHeader_1 = require("./DataGridHeader");
42
52
  var VirtualScroller_1 = require("./VirtualScroller");
53
+ var react_1 = require("react");
43
54
  var hooks_1 = require("./hooks");
44
55
  /* eslint-disable @typescript-eslint/no-explicit-any */
45
56
  /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
46
57
  var DataGrid = function (props) {
47
58
  var className = props.className,
48
59
  // onRowDoubleClick,
49
- onSelectionChange = props.onSelectionChange, onVisibleRowsChange = props.onVisibleRowsChange, rowKey = props.rowKey;
60
+ onVisibleRowsChange = props.onVisibleRowsChange;
50
61
  var _a = (0, hooks_1.useDataGrid)(props), contextProps = _a[0], DataGridContext = _a[1];
51
- var selectedRows = contextProps.selectedRows, setSelectedRows = contextProps.setSelectedRows, columns = contextProps.columns, visibleColumns = contextProps.visibleColumns, _b = contextProps.rowHeight, rowHeight = _b === void 0 ? 32 : _b, _c = contextProps.headerRowHeight, headerRowHeight = _c === void 0 ? 40 : _c, scrollableRef = contextProps.scrollableRef, onScroll = contextProps.onScroll;
62
+ var selectedKeys = contextProps.selectedKeys, setSelectedKeys = contextProps.setSelectedKeys, columns = contextProps.columns, visibleColumns = contextProps.visibleColumns, _b = contextProps.rowHeight, rowHeight = _b === void 0 ? 32 : _b, _c = contextProps.headerRowHeight, headerRowHeight = _c === void 0 ? 40 : _c, scrollableRef = contextProps.scrollableRef, onScroll = contextProps.onScroll, rowKeyGetter = contextProps.rowKeyGetter;
52
63
  var hasFooter = Object.values(columns).some(function (col) { return col.footer; });
53
64
  var setRowSelection = (0, react_1.useCallback)(function (row, selected) {
65
+ var key = rowKeyGetter(row);
54
66
  if (selected) {
55
- if (!selectedRows.includes(row))
56
- setSelectedRows(__spreadArray(__spreadArray([], selectedRows, true), [row], false));
67
+ if (!selectedKeys.includes(key))
68
+ setSelectedKeys(__spreadArray(__spreadArray([], selectedKeys, true), [key], false));
57
69
  }
58
70
  else {
59
- setSelectedRows(selectedRows.filter(function (p) { return p !== row; }));
71
+ setSelectedKeys(selectedKeys.filter(function (p) { return p !== key; }));
60
72
  }
61
- }, [selectedRows, setSelectedRows]);
62
- (0, react_1.useEffect)(function () {
63
- onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(selectedRows);
64
- }, [onSelectionChange, selectedRows]);
73
+ }, [rowKeyGetter, selectedKeys, setSelectedKeys]);
65
74
  var rowTemplate = (0, react_1.useCallback)(function (row, rowIndex) {
66
75
  var _a, _b;
76
+ if (!row) {
77
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) })), visibleColumns.map(function (_, index) { return ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) }, "loading-".concat(rowIndex, "-").concat(index))); })] }, "loading-row-".concat(rowIndex)));
78
+ }
79
+ var key = rowKeyGetter(row);
67
80
  var _c = (_b = (_a = props.rowClassNameGetter) === null || _a === void 0 ? void 0 : _a.call(props, row)) !== null && _b !== void 0 ? _b : {
68
81
  className: '',
69
82
  style: undefined,
70
83
  }, className = _c.className, style = _c.style;
71
- if (!row) {
72
- return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) })), visibleColumns.map(function (_, index) { return ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) }, "loading-".concat(rowIndex, "-").concat(index))); })] }, "loading-row-".concat(rowIndex)));
73
- }
74
- var key = String(typeof rowKey === 'function' ? rowKey(row) : row[rowKey]);
75
- return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell, { children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox",
76
- // className="h-4 w-4 rounded border-gray-300 text-green-600 focus:ring-green-600"
77
- value: key, checked: selectedRows.includes(row), onChange: function (e) { return setRowSelection(row, e.target.checked); } }) }, "__select_checkbox__")), visibleColumns.map(function (_a, index) {
84
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell, { children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", value: key, checked: selectedKeys.includes(key), onChange: function (e) { return setRowSelection(row, e.target.checked); } }) }, "__select_checkbox__")), visibleColumns.map(function (_a, index) {
78
85
  var key = _a[0], col = _a[1];
79
- return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, { className: className, style: style, row: row, rowIndex: rowIndex, column: col, columnIndex: index, context: DataGridContext, columnKey: key }, "loading-".concat(rowIndex, "-").concat(index)));
86
+ return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, __assign({}, (index === 0 ? { className: className, style: style } : {}), { row: row, rowIndex: rowIndex, column: col, columnIndex: index, context: DataGridContext, columnKey: key }), "loading-".concat(rowIndex, "-").concat(index)));
80
87
  })] }, key));
81
88
  }, [
82
89
  DataGridContext,
83
90
  props,
84
- rowKey,
85
- selectedRows,
91
+ rowKeyGetter,
92
+ selectedKeys,
86
93
  setRowSelection,
87
94
  visibleColumns,
88
95
  ]);
@@ -20,7 +20,7 @@ export declare const DataGridResizeGrip: import("styled-components/dist/types").
20
20
  $headerColor?: ThemeColor;
21
21
  }>> & string;
22
22
  type DataGridHeaderCellContainerProps = {
23
- $isResizing: boolean;
23
+ $isResizing?: boolean;
24
24
  $headerColor?: ThemeColor;
25
25
  };
26
26
  export declare const DataGridHeaderCellContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, DataGridHeaderCellContainerProps>> & string;
@@ -43,7 +43,12 @@ export declare const DataGridRow: import("styled-components/dist/types").IStyled
43
43
  export declare const LoadingCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, "ref"> & {
44
44
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
45
45
  }, never>> & string;
46
- export declare const SelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
46
+ export declare const SelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, "ref"> & {
47
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
48
+ }, never>> & string;
49
+ export declare const HeaderSelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof DataGridHeaderCellContainerProps> & DataGridHeaderCellContainerProps, "ref"> & {
50
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
51
+ }, never>> & string;
47
52
  export declare const ResizeBackdrop: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
48
53
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
49
54
  }>, never>, never>> & string;