@addev-be/ui 0.20.1 → 0.20.3

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 (255) hide show
  1. package/assets/icons/table.svg +1 -1
  2. package/dist/Icons.d.ts +11 -1
  3. package/dist/Icons.js +22 -1
  4. package/dist/components/auth/LoginForm.js +1 -1
  5. package/dist/components/auth/PasswordRecoveryForm.js +1 -1
  6. package/dist/components/auth/PasswordResetForm.js +1 -1
  7. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  8. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
  9. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +1 -7
  10. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
  11. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +16 -21
  12. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +2 -0
  13. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +23 -0
  14. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +2 -0
  15. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +27 -0
  16. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +7 -0
  17. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +34 -0
  18. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +2 -0
  19. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +23 -0
  20. package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +2 -0
  21. package/dist/components/data/DataGrid/DataGridEditableCell/index.js +91 -0
  22. package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +3 -0
  23. package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +17 -0
  24. package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +11 -0
  25. package/dist/components/data/DataGrid/DataGridEditableCell/types.js +3 -0
  26. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +17 -1
  27. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +4 -3
  28. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +11 -12
  29. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +5 -4
  30. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +44 -40
  31. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +1 -1
  32. package/dist/components/data/DataGrid/DataGridFooter.js +5 -5
  33. package/dist/components/data/DataGrid/DataGridHeader.js +52 -8
  34. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
  35. package/dist/components/data/DataGrid/DataGridHeaderCell.js +11 -24
  36. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
  37. package/dist/components/data/DataGrid/DataGridRowTemplate.js +8 -9
  38. package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -1
  39. package/dist/components/data/DataGrid/constants.d.ts +6 -0
  40. package/dist/components/data/DataGrid/constants.js +9 -0
  41. package/dist/components/data/DataGrid/helpers/columns.d.ts +13 -12
  42. package/dist/components/data/DataGrid/helpers/columns.js +100 -130
  43. package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
  44. package/dist/components/data/DataGrid/hooks/index.js +8 -12
  45. package/dist/components/data/DataGrid/hooks/useDataGrid.js +73 -24
  46. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +9 -0
  47. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +91 -0
  48. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +25 -30
  49. package/dist/components/data/DataGrid/hooks/useRefreshModal.d.ts +5 -0
  50. package/dist/components/data/DataGrid/hooks/useRefreshModal.js +25 -0
  51. package/dist/components/data/DataGrid/index.d.ts +2 -2
  52. package/dist/components/data/DataGrid/index.js +17 -3
  53. package/dist/components/data/DataGrid/styles.d.ts +13 -8
  54. package/dist/components/data/DataGrid/styles.js +58 -30
  55. package/dist/components/data/DataGrid/types.d.ts +87 -17
  56. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -0
  57. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +19 -0
  58. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -17
  59. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +237 -84
  60. package/dist/components/data/SqlRequestDataGrid/index.d.ts +2 -2
  61. package/dist/components/data/SqlRequestDataGrid/index.js +92 -68
  62. package/dist/components/data/SqlRequestDataGrid/styles.d.ts +2 -0
  63. package/dist/components/data/SqlRequestDataGrid/styles.js +14 -0
  64. package/dist/components/data/SqlRequestDataGrid/types.d.ts +13 -3
  65. package/dist/components/data/SqlRequestDataGrid/types.js +1 -0
  66. package/dist/components/data/SqlRequestForeignList/index.d.ts +4 -0
  67. package/dist/components/data/SqlRequestForeignList/index.js +131 -0
  68. package/dist/components/data/SqlRequestForeignList/styles.d.ts +9 -0
  69. package/dist/components/data/SqlRequestForeignList/styles.js +22 -0
  70. package/dist/components/data/SqlRequestForeignList/types.d.ts +22 -0
  71. package/dist/components/data/SqlRequestForeignList/types.js +3 -0
  72. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +10 -0
  73. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +51 -0
  74. package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +4 -0
  75. package/dist/components/data/SqlRequestGrid/filters/styles.js +17 -0
  76. package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
  77. package/dist/components/data/SqlRequestGrid/index.js +139 -50
  78. package/dist/components/data/SqlRequestGrid/styles.d.ts +0 -12
  79. package/dist/components/data/SqlRequestGrid/styles.js +4 -20
  80. package/dist/components/data/SqlRequestGrid/types.d.ts +14 -4
  81. package/dist/components/data/VirtualScroller/index.d.ts +4 -3
  82. package/dist/components/data/VirtualScroller/index.js +15 -5
  83. package/dist/components/data/VirtualScroller/styles.d.ts +4 -2
  84. package/dist/components/data/VirtualScroller/styles.js +9 -6
  85. package/dist/components/data/index.d.ts +1 -2
  86. package/dist/components/data/index.js +1 -2
  87. package/dist/components/forms/AutoTextArea.d.ts +10 -0
  88. package/dist/components/forms/AutoTextArea.js +41 -0
  89. package/dist/components/forms/Button.d.ts +11 -4
  90. package/dist/components/forms/Button.js +15 -9
  91. package/dist/components/forms/Form/Checkbox.d.ts +3 -0
  92. package/dist/components/forms/Form/Checkbox.js +33 -0
  93. package/dist/components/forms/Form/FormGroup.d.ts +11 -0
  94. package/dist/components/forms/Form/FormGroup.js +10 -0
  95. package/dist/components/forms/Form/Input.d.ts +3 -0
  96. package/dist/components/forms/Form/Input.js +33 -0
  97. package/dist/components/forms/Form/Row.d.ts +9 -0
  98. package/dist/components/forms/Form/Row.js +10 -0
  99. package/dist/components/forms/Form/Select.d.ts +18 -0
  100. package/dist/components/forms/Form/Select.js +51 -0
  101. package/dist/components/forms/Form/TextArea.d.ts +4 -0
  102. package/dist/components/forms/Form/TextArea.js +34 -0
  103. package/dist/components/forms/Form/index.d.ts +81 -0
  104. package/dist/components/forms/Form/index.js +29 -0
  105. package/dist/components/forms/Form/styles.d.ts +19 -0
  106. package/dist/components/forms/Form/styles.js +49 -0
  107. package/dist/components/forms/IconButton.d.ts +2 -1
  108. package/dist/components/forms/IconButton.js +12 -12
  109. package/dist/components/forms/NumberInput.d.ts +9 -0
  110. package/dist/components/forms/NumberInput.js +40 -0
  111. package/dist/components/forms/Select.d.ts +5 -6
  112. package/dist/components/forms/Select.js +2 -5
  113. package/dist/components/forms/index.d.ts +4 -0
  114. package/dist/components/forms/index.js +4 -0
  115. package/dist/components/forms/styles.d.ts +17 -3
  116. package/dist/components/forms/styles.js +8 -7
  117. package/dist/components/layout/Columns.d.ts +6 -0
  118. package/dist/components/layout/Columns.js +23 -0
  119. package/dist/components/layout/Dropdown/index.d.ts +1 -0
  120. package/dist/components/layout/Dropdown/index.js +24 -3
  121. package/dist/components/layout/Flexbox.d.ts +11 -0
  122. package/dist/components/layout/Flexbox.js +26 -0
  123. package/dist/components/layout/Grid/index.d.ts +6 -0
  124. package/dist/components/layout/Grid/index.js +6 -0
  125. package/dist/components/layout/Grid/styles.d.ts +14 -0
  126. package/dist/components/layout/Grid/styles.js +29 -0
  127. package/dist/components/layout/Masonry/index.d.ts +3 -0
  128. package/dist/components/layout/Masonry/index.js +20 -0
  129. package/dist/components/layout/Masonry/styles.d.ts +5 -0
  130. package/dist/components/layout/Masonry/styles.js +17 -0
  131. package/dist/components/layout/Modal/styles.js +1 -1
  132. package/dist/components/layout/index.d.ts +5 -1
  133. package/dist/components/layout/index.js +5 -1
  134. package/dist/components/search/HighlightedText.js +9 -7
  135. package/dist/components/search/QuickSearchBar.d.ts +6 -2
  136. package/dist/components/search/QuickSearchBar.js +7 -7
  137. package/dist/components/search/styles.js +1 -1
  138. package/dist/components/search/types.d.ts +3 -0
  139. package/dist/components/ui/Avatar/index.d.ts +10 -0
  140. package/dist/components/ui/Avatar/index.js +52 -0
  141. package/dist/components/ui/Avatar/styles.d.ts +4 -0
  142. package/dist/components/ui/Avatar/styles.js +43 -0
  143. package/dist/components/ui/Card/styles.js +1 -1
  144. package/dist/components/ui/Ellipsis.d.ts +13 -0
  145. package/dist/components/ui/Ellipsis.js +28 -0
  146. package/dist/components/ui/Label.d.ts +9 -0
  147. package/dist/components/ui/Label.js +74 -0
  148. package/dist/components/ui/Tab/index.d.ts +3 -0
  149. package/dist/components/ui/Tab/index.js +12 -0
  150. package/dist/components/ui/Tab/styles.d.ts +6 -0
  151. package/dist/components/ui/Tab/styles.js +41 -0
  152. package/dist/components/ui/Tab/types.d.ts +13 -0
  153. package/dist/components/ui/Tabs/index.d.ts +2 -0
  154. package/dist/components/ui/Tabs/index.js +10 -0
  155. package/dist/components/ui/Tabs/styles.d.ts +0 -0
  156. package/dist/components/ui/Tabs/styles.js +1 -0
  157. package/dist/components/ui/Tabs/types.d.ts +8 -0
  158. package/dist/components/ui/Tabs/types.js +2 -0
  159. package/dist/components/ui/Tab/302/265/index.d.ts +2 -0
  160. package/dist/components/ui/Tab/302/265/index.js +10 -0
  161. package/dist/components/ui/Tab/302/265/styles.d.ts +0 -0
  162. package/dist/components/ui/Tab/302/265/styles.js +1 -0
  163. package/dist/components/ui/Tab/302/265/types.d.ts +8 -0
  164. package/dist/components/ui/Tab/302/265/types.js +2 -0
  165. package/dist/components/ui/ToastNotification.d.ts +14 -0
  166. package/dist/components/ui/ToastNotification.js +78 -0
  167. package/dist/components/ui/index.d.ts +4 -0
  168. package/dist/components/ui/index.js +4 -0
  169. package/dist/helpers/index.d.ts +2 -0
  170. package/dist/helpers/index.js +2 -0
  171. package/dist/helpers/numbers.d.ts +3 -0
  172. package/dist/helpers/numbers.js +33 -1
  173. package/dist/helpers/responsive.d.ts +37 -0
  174. package/dist/helpers/responsive.js +57 -0
  175. package/dist/helpers/styled/index.d.ts +1 -0
  176. package/dist/{components/data/AdvancedRequestDataGrid/helpers → helpers/styled}/index.js +1 -2
  177. package/dist/helpers/styled/space.d.ts +23 -0
  178. package/dist/helpers/styled/space.js +56 -0
  179. package/dist/hooks/index.d.ts +5 -0
  180. package/dist/hooks/index.js +5 -0
  181. package/dist/hooks/useContainerMediaQuery.d.ts +17 -0
  182. package/dist/hooks/useContainerMediaQuery.js +10 -0
  183. package/dist/hooks/useMediaQuery.d.ts +17 -0
  184. package/dist/hooks/useMediaQuery.js +11 -0
  185. package/dist/hooks/useMediaQueryForWidth.d.ts +17 -0
  186. package/dist/hooks/useMediaQueryForWidth.js +26 -0
  187. package/dist/hooks/useMutableState.d.ts +2 -0
  188. package/dist/hooks/useMutableState.js +16 -0
  189. package/dist/hooks/useShowArchived.d.ts +6 -0
  190. package/dist/hooks/useShowArchived.js +21 -0
  191. package/dist/index.d.ts +1 -0
  192. package/dist/index.js +1 -0
  193. package/dist/poppins-700.woff2 +0 -0
  194. package/dist/providers/AuthenticationProvider/index.d.ts +1 -0
  195. package/dist/providers/AuthenticationProvider/index.js +57 -15
  196. package/dist/providers/PortalsProvider/styles.js +1 -1
  197. package/dist/providers/ThemeProvider/defaultTheme.js +13 -0
  198. package/dist/providers/ThemeProvider/helpers.d.ts +8 -0
  199. package/dist/providers/ThemeProvider/helpers.js +53 -0
  200. package/dist/providers/ThemeProvider/types.d.ts +2 -1
  201. package/dist/providers/TrackingProvider/hooks.d.ts +1 -0
  202. package/dist/providers/TrackingProvider/hooks.js +15 -0
  203. package/dist/providers/TrackingProvider/index.d.ts +8 -0
  204. package/dist/providers/TrackingProvider/index.js +41 -0
  205. package/dist/providers/UiProviders/index.js +2 -1
  206. package/dist/providers/index.d.ts +2 -0
  207. package/dist/providers/index.js +2 -0
  208. package/dist/services/WebSocketService.d.ts +8 -0
  209. package/dist/services/WebSocketService.js +34 -2
  210. package/dist/services/globalSearch.d.ts +6 -2
  211. package/dist/services/hooks.d.ts +10 -0
  212. package/dist/services/hooks.js +89 -2
  213. package/dist/services/index.d.ts +7 -0
  214. package/dist/services/index.js +20 -0
  215. package/dist/services/requests/generic.d.ts +29 -0
  216. package/dist/services/requests/generic.js +29 -0
  217. package/dist/services/requests/tracking.d.ts +18 -0
  218. package/dist/services/requests/tracking.js +8 -0
  219. package/dist/services/smartQueries.d.ts +51 -0
  220. package/dist/services/smartQueries.js +10 -0
  221. package/dist/services/smartRequests.d.ts +0 -0
  222. package/dist/services/smartRequests.js +1 -0
  223. package/dist/services/types/generic.d.ts +44 -0
  224. package/dist/services/types/generic.js +79 -0
  225. package/dist/services/types/tracking.d.ts +24 -0
  226. package/dist/services/types/tracking.js +47 -0
  227. package/dist/services/updateSqlRequests.d.ts +24 -0
  228. package/dist/services/updateSqlRequests.js +7 -0
  229. package/package.json +2 -2
  230. package/src/components/data/DataGrid/DataGridHeader.tsx +8 -8
  231. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +1 -1
  232. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +1 -2
  233. package/src/components/data/SqlRequestGrid/index.tsx +1 -2
  234. package/src/components/layout/Columns.ts +8 -9
  235. package/src/components/ui/Avatar/styles.ts +61 -61
  236. package/src/components/ui/Label.tsx +90 -90
  237. package/src/components/ui/Tab/index.tsx +35 -0
  238. package/src/components/ui/Tab/styles.ts +64 -0
  239. package/src/components/ui/Tab/types.ts +17 -0
  240. package/src/components/ui/index.ts +1 -0
  241. package/src/helpers/styled/index.ts +1 -1
  242. package/src/helpers/styled/space.ts +55 -55
  243. package/src/providers/TrackingProvider/hooks.ts +14 -14
  244. package/tsconfig.tsbuildinfo +1 -1
  245. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  246. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
  247. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  248. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
  249. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  250. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  251. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  252. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  253. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  254. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  255. /package/dist/components/{data/AdvancedRequestDataGrid → ui/Tab}/types.js +0 -0
@@ -14,10 +14,16 @@ 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.dateTimeColumn = exports.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.buildExcelFormat = exports.isColumnVisible = void 0;
17
+ exports.colorColumn = exports.selectColumn = 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 react_1 = require("react");
19
20
  var filters_1 = require("./filters");
20
21
  var numbers_1 = require("../../../../helpers/numbers");
22
+ var CheckboxEditableCell_1 = require("../DataGridEditableCell/CheckboxEditableCell");
23
+ var DateEditableCell_1 = require("../DataGridEditableCell/DateEditableCell");
24
+ var NumberEditableCell_1 = require("../DataGridEditableCell/NumberEditableCell");
25
+ var Select_1 = require("../../../forms/Form/Select");
26
+ var TextEditableCell_1 = require("../DataGridEditableCell/TextEditableCell");
21
27
  var moment_1 = __importDefault(require("moment"));
22
28
  var lodash_1 = require("lodash");
23
29
  var isColumnVisible = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1; };
@@ -28,149 +34,113 @@ var buildExcelFormat = function (decimals, suffix) {
28
34
  return "#0".concat(decimals > 0 ? ".".concat((0, lodash_1.repeat)('0', decimals)) : '').concat(suffix);
29
35
  };
30
36
  exports.buildExcelFormat = buildExcelFormat;
31
- var textColumn = function (key, title, options) {
32
- var _a;
33
- return (_a = {},
34
- _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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
35
- _a);
36
- };
37
+ var textColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', 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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), editComponent: TextEditableCell_1.TextEditableCell }, otherOptions)); };
37
38
  exports.textColumn = textColumn;
38
- var mailColumn = function (key, title, options) {
39
- var _a;
40
- return (_a = {},
41
- _a[key] = __assign({ name: title, render: function (row) {
42
- var _a;
43
- return ((0, jsx_runtime_1.jsx)("a", {
44
- // className="text-blue-500 hover:text-blue-700"
45
- 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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
47
- _a);
48
- };
39
+ var mailColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "mailto:".concat(row[key]), children: (_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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), editComponent: TextEditableCell_1.TextEditableCell }, otherOptions)); };
49
40
  exports.mailColumn = mailColumn;
50
- var phoneColumn = function (key, title, options) {
51
- var _a;
52
- return (_a = {},
53
- _a[key] = __assign({ name: title, render: function (row) {
54
- var _a;
55
- return ((0, jsx_runtime_1.jsx)("a", {
56
- // className="text-blue-500 hover:text-blue-700"
57
- href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
58
- }, 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),
59
- _a);
60
- };
41
+ var phoneColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "tel:".concat(row[key]), children: (_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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), editComponent: TextEditableCell_1.TextEditableCell }, otherOptions)); };
61
42
  exports.phoneColumn = phoneColumn;
62
- var dateColumn = function (key, title, options) {
63
- var _a;
64
- return (_a = {},
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),
66
- _a);
67
- };
43
+ var dateColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'date', name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
44
+ formatter: function () { return 'dd/mm/yyyy'; },
45
+ valueGetter: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY')) !== 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 : ''; }, 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 : ''; } }), editComponent: DateEditableCell_1.DateEditableCell }, otherOptions)); };
68
47
  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
- };
48
+ var dateTimeColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'date', name: title, 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 : ''; }, excelOptions: {
49
+ formatter: function () { return 'dd/mm/yyyy hh:mm:ss'; },
50
+ valueGetter: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; },
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 : ''; }, 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 : ''; } }), editComponent: DateEditableCell_1.DateEditableCell }, otherOptions)); };
75
52
  exports.dateTimeColumn = dateTimeColumn;
76
- var monthColumn = function (key, title, options) {
77
- var _a;
78
- return (_a = {},
79
- _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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
80
- _a);
81
- };
53
+ var monthColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', 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 : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, otherOptions)); };
82
54
  exports.monthColumn = monthColumn;
83
- var numberColumn = function (key, title, decimals, options) {
84
- var _a;
55
+ var numberColumn = function (key, title, decimals, otherOptions) {
85
56
  if (decimals === void 0) { decimals = 2; }
86
- return (_a = {},
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: {
88
- sum: function (_, filteredRows) {
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);
90
- },
91
- average: function (_, filteredRows) {
92
- return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
93
- (filteredRows.length || 1), decimals);
94
- },
95
- count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
96
- max: function (_, filteredRows) {
97
- return (0, numbers_1.formatNumber)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
98
- },
99
- min: function (_, filteredRows) {
100
- return (0, numbers_1.formatNumber)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
101
- },
102
- }, filter: __assign(__assign({}, (0, filters_1.numberFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, numbers_1.formatNumber)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }) }, options),
103
- _a);
57
+ var column = __assign({ key: key, type: 'number', name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
58
+ formatter: function () { return (0, exports.buildExcelFormat)(decimals); },
59
+ valueGetter: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); },
60
+ }, 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: {
61
+ sum: function (_, filteredRows) {
62
+ 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);
63
+ },
64
+ average: function (_, filteredRows) {
65
+ return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
66
+ (filteredRows.length || 1), decimals);
67
+ },
68
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
69
+ max: function (_, filteredRows) {
70
+ return (0, numbers_1.formatNumber)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
71
+ },
72
+ min: function (_, filteredRows) {
73
+ return (0, numbers_1.formatNumber)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
74
+ },
75
+ }, filter: __assign(__assign({}, (0, filters_1.numberFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, numbers_1.formatNumber)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), editComponent: (0, react_1.forwardRef)(function (props, ref) { return ((0, jsx_runtime_1.jsx)(NumberEditableCell_1.NumberEditableCell, __assign({ ref: ref, decimals: column.decimals, currency: column.currency }, props))); }) }, otherOptions);
76
+ return column;
104
77
  };
105
78
  exports.numberColumn = numberColumn;
106
- var moneyColumn = function (key, title, decimals, options) {
107
- var _a;
79
+ var moneyColumn = function (key, title, decimals, otherOptions) {
108
80
  if (decimals === void 0) { decimals = 2; }
109
- return (_a = {},
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: {
111
- sum: function (_, filteredRows) {
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);
113
- },
114
- average: function (_, filteredRows) {
115
- return (0, numbers_1.formatMoney)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
116
- (filteredRows.length || 1), decimals);
117
- },
118
- count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
119
- max: function (_, filteredRows) {
120
- return (0, numbers_1.formatMoney)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
121
- },
122
- min: function (_, filteredRows) {
123
- return (0, numbers_1.formatMoney)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
124
- },
125
- } }, options),
126
- _a);
81
+ var column = __assign({ key: key, type: 'number', name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
82
+ formatter: function () { return (0, exports.buildExcelFormat)(decimals, ' €'); },
83
+ valueGetter: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); },
84
+ }, 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: {
85
+ sum: function (_, filteredRows) {
86
+ 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);
87
+ },
88
+ average: function (_, filteredRows) {
89
+ return (0, numbers_1.formatMoney)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
90
+ (filteredRows.length || 1), decimals);
91
+ },
92
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
93
+ max: function (_, filteredRows) {
94
+ return (0, numbers_1.formatMoney)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
95
+ },
96
+ min: function (_, filteredRows) {
97
+ return (0, numbers_1.formatMoney)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
98
+ },
99
+ } }, otherOptions);
100
+ return column;
127
101
  };
128
102
  exports.moneyColumn = moneyColumn;
129
- var percentageColumn = function (key, title, decimals, options) {
130
- var _a;
103
+ var percentageColumn = function (key, title, decimals, otherOptions) {
131
104
  if (decimals === void 0) { decimals = 2; }
132
- return (_a = {},
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: {
134
- average: function (_, filteredRows) {
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) /
136
- (filteredRows.length || 1), decimals);
137
- },
138
- count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
139
- max: function (_, filteredRows) {
140
- return (0, numbers_1.formatNumber)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
141
- },
142
- min: function (_, filteredRows) {
143
- return (0, numbers_1.formatNumber)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
144
- },
145
- sum: function (_, filteredRows) {
146
- 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);
147
- },
148
- } }, options),
149
- _a);
105
+ var column = __assign({ key: key, type: 'number', name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
106
+ formatter: function () { return (0, exports.buildExcelFormat)(decimals, '%'); },
107
+ valueGetter: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); },
108
+ }, 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: {
109
+ average: function (_, filteredRows) {
110
+ return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
111
+ (filteredRows.length || 1), decimals);
112
+ },
113
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
114
+ max: function (_, filteredRows) {
115
+ return (0, numbers_1.formatNumber)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
116
+ },
117
+ min: function (_, filteredRows) {
118
+ return (0, numbers_1.formatNumber)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
119
+ },
120
+ sum: function (_, filteredRows) {
121
+ 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);
122
+ },
123
+ } }, otherOptions);
124
+ return column;
150
125
  };
151
126
  exports.percentageColumn = percentageColumn;
152
- var checkboxColumn = function (key, title, options) {
153
- var _a;
154
- return (_a = {},
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: {
156
- count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
157
- checked: function (_, filteredRows) {
158
- return "".concat(filteredRows.filter(function (row) { return !!row[key]; }).length, " coch\u00E9s");
159
- },
160
- unchecked: function (_, filteredRows) {
161
- return "".concat(filteredRows.filter(function (row) { return !row[key]; }).length, " d\u00E9coch\u00E9s");
162
- },
163
- } }, options),
164
- _a);
165
- };
127
+ var checkboxColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'checkbox', 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: {
128
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
129
+ checked: function (_, filteredRows) {
130
+ return "".concat(filteredRows.filter(function (row) { return !!row[key]; }).length, " coch\u00E9s");
131
+ },
132
+ unchecked: function (_, filteredRows) {
133
+ return "".concat(filteredRows.filter(function (row) { return !row[key]; }).length, " d\u00E9coch\u00E9s");
134
+ },
135
+ }, editComponent: CheckboxEditableCell_1.CheckboxEditableCell }, otherOptions)); };
166
136
  exports.checkboxColumn = checkboxColumn;
167
- var colorColumn = function (key, title, options) {
168
- var _a;
169
- return (_a = {},
170
- _a[key] = __assign({ name: title, render: function (row) {
171
- var _a;
172
- return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
173
- }, 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), footer: function (rows) { return "".concat(rows.length, " \u00E9l\u00E9ments"); } }, options),
174
- _a);
175
- };
137
+ var selectColumn = function (key, title, items, itemKey, itemLabel, otherOptions) { return (__assign({ key: key, type: 'select', name: title, render: function (row) { var _a; return (_a = itemLabel(row[key])) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : null; }, sortGetter: function (row) { var _a; return (_a = itemLabel(row[key])) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), items: items, itemKey: itemKey, itemLabel: itemLabel, editComponent: (0, react_1.forwardRef)(function (_a, ref) {
138
+ var value = _a.value, onChange = _a.onChange, onClose = _a.onClose;
139
+ return ((0, jsx_runtime_1.jsx)(Select_1.Select, { ref: ref, items: items, itemKey: itemKey, itemLabel: itemLabel, value: value, onChange: onChange, onBlur: function () { return onClose(true); } }));
140
+ }) }, otherOptions)); };
141
+ exports.selectColumn = selectColumn;
142
+ var colorColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'color', name: title, render: function (row) {
143
+ var _a;
144
+ return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
145
+ }, 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), footer: function (rows) { return "".concat(rows.length, " \u00E9l\u00E9ments"); } }, otherOptions)); };
176
146
  exports.colorColumn = colorColumn;
@@ -1,7 +1,7 @@
1
1
  import { DataGridColumns, DataGridContext } from '../types';
2
+ export { useDataGrid } from './useDataGrid';
2
3
  export { useDataGridCopy } from './useDataGridCopy';
3
4
  export { useDataGridSettings } from './useDataGridSettings';
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>>[];
7
- export declare const useSortedColumns: <R>(columns: DataGridColumns<R>) => [string, import("../types").DataGridColumn<R>][];
6
+ export declare const useVisibleAndHiddenColumns: <R>(columns: DataGridColumns<R>) => import("../types").DataGridColumn<R>[][];
7
+ export declare const useSortedColumns: <R>(columns: DataGridColumns<R>) => import("../types").DataGridColumn<R>[];
@@ -1,34 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSortedColumns = exports.useVisibleAndHiddenColumns = exports.useDataGridContext = exports.useDataGrid = exports.useDataGridSettings = exports.useDataGridCopy = void 0;
3
+ exports.useSortedColumns = exports.useVisibleAndHiddenColumns = exports.useDataGridContext = exports.useDataGridSettings = exports.useDataGridCopy = exports.useDataGrid = void 0;
4
4
  var react_1 = require("react");
5
5
  var columns_1 = require("../helpers/columns");
6
- var lodash_1 = require("lodash");
6
+ var useDataGrid_1 = require("./useDataGrid");
7
+ Object.defineProperty(exports, "useDataGrid", { enumerable: true, get: function () { return useDataGrid_1.useDataGrid; } });
7
8
  var useDataGridCopy_1 = require("./useDataGridCopy");
8
9
  Object.defineProperty(exports, "useDataGridCopy", { enumerable: true, get: function () { return useDataGridCopy_1.useDataGridCopy; } });
9
10
  var useDataGridSettings_1 = require("./useDataGridSettings");
10
11
  Object.defineProperty(exports, "useDataGridSettings", { enumerable: true, get: function () { return useDataGridSettings_1.useDataGridSettings; } });
11
- var useDataGrid_1 = require("./useDataGrid");
12
- Object.defineProperty(exports, "useDataGrid", { enumerable: true, get: function () { return useDataGrid_1.useDataGrid; } });
13
12
  var useDataGridContext = function (context) {
14
13
  return (0, react_1.useContext)(context);
15
14
  };
16
15
  exports.useDataGridContext = useDataGridContext;
17
16
  var useVisibleAndHiddenColumns = function (columns) {
18
17
  return (0, react_1.useMemo)(function () { return [
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); }),
18
+ columns.filter(columns_1.isColumnVisible),
19
+ columns.filter(function (col) { return !(0, columns_1.isColumnVisible)(col); }),
21
20
  ]; }, [columns]);
22
21
  };
23
22
  exports.useVisibleAndHiddenColumns = useVisibleAndHiddenColumns;
24
23
  var useSortedColumns = function (columns) {
25
24
  return (0, react_1.useMemo)(function () {
26
- return Object.entries(columns)
27
- .filter(function (_a) {
28
- var col = _a[1];
29
- return (0, columns_1.isColumnVisible)(col);
30
- })
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); });
25
+ return columns
26
+ .filter(columns_1.isColumnVisible)
27
+ .sort(function (a, b) { var _a, _b; return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0); });
32
28
  }, [columns]);
33
29
  };
34
30
  exports.useSortedColumns = useSortedColumns;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
3
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
3
  var __assign = (this && this.__assign) || function () {
5
4
  __assign = Object.assign || function(t) {
@@ -59,18 +58,24 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
59
58
  };
60
59
  Object.defineProperty(exports, "__esModule", { value: true });
61
60
  exports.useDataGrid = void 0;
61
+ var constants_1 = require("../constants");
62
62
  var react_1 = require("react");
63
63
  var _1 = require(".");
64
64
  var helpers_1 = require("../helpers");
65
- var lodash_1 = require("lodash");
65
+ var useDataGridChangedRows_1 = require("./useDataGridChangedRows");
66
66
  var useDataGridSettings_1 = require("./useDataGridSettings");
67
67
  var useDataGrid = function (props, override) {
68
- var _a;
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];
68
+ var _a, _b, _c, _d;
69
+ var onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, onSelectionChange = props.onSelectionChange, onSelectedRowsChanged = props.onSelectedRowsChanged, selectable = props.selectable, initialSorts = props.initialSorts;
70
+ var _e = (0, react_1.useState)(props.columns), columns = _e[0], setColumns = _e[1];
71
71
  var visibleColumns = (0, _1.useSortedColumns)(columns);
72
+ var _f = (0, react_1.useState)((_a = override === null || override === void 0 ? void 0 : override.rows) !== null && _a !== void 0 ? _a : props.rows), innerRows = _f[0], setInnerRows = _f[1];
73
+ var _g = [
74
+ (_b = override === null || override === void 0 ? void 0 : override.rows) !== null && _b !== void 0 ? _b : innerRows,
75
+ (_c = override === null || override === void 0 ? void 0 : override.setRows) !== null && _c !== void 0 ? _c : setInnerRows,
76
+ ], rows = _g[0], setRows = _g[1];
72
77
  /** SETTINGS */
73
- var _c = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _c.settings, setSettings = _c.setSettings, saveSettings = _c.saveSettings;
78
+ var _h = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _h.settings, setSettings = _h.setSettings, saveSettings = _h.saveSettings;
74
79
  var setColumnWidth = (0, react_1.useCallback)(function (key, width) {
75
80
  setSettings(function (prev) {
76
81
  var _a;
@@ -78,15 +83,11 @@ var useDataGrid = function (props, override) {
78
83
  });
79
84
  }, [setSettings]);
80
85
  var gridTemplateColumns = (0, react_1.useMemo)(function () {
81
- return __spreadArray(__spreadArray([], (selectable ? ['var(--space-8)'] : []), true), visibleColumns.map(function (_a) {
82
- var _b;
83
- var col = _a[1];
84
- return "".concat((_b = col.width) !== null && _b !== void 0 ? _b : 150, "px");
85
- }), true).join(' ');
86
+ return __spreadArray(__spreadArray([], (selectable ? [constants_1.SELECTION_CELL_WIDTH] : []), true), visibleColumns.map(function (col) { var _a; return "".concat((_a = col.width) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_COLUMN_WIDTH, "px"); }), true).join(' ');
86
87
  }, [selectable, visibleColumns]);
87
88
  // Update columns when settings change
88
89
  (0, react_1.useEffect)(function () {
89
- setColumns(function (prev) { return (0, lodash_1.merge)({}, prev, settings); });
90
+ setColumns(function (prev) { return prev.map(function (col) { return (__assign(__assign({}, col), settings[col.key])); }); });
90
91
  }, [settings]);
91
92
  /** ROWS SELECTION **/
92
93
  var rowKeyGetter = (0, react_1.useMemo)(function () {
@@ -94,7 +95,7 @@ var useDataGrid = function (props, override) {
94
95
  ? props.rowKey
95
96
  : function (row) { return String(row === null || row === void 0 ? void 0 : row[props.rowKey]); };
96
97
  }, [props.rowKey]);
97
- var _d = (0, react_1.useState)([]), selectedKeys = _d[0], setSelectedKeys = _d[1];
98
+ var _j = (0, react_1.useState)([]), selectedKeys = _j[0], setSelectedKeys = _j[1];
98
99
  var selectedRows = (0, react_1.useMemo)(function () { return props.rows.filter(function (row) { return selectedKeys.includes(rowKeyGetter(row)); }); }, [props.rows, rowKeyGetter, selectedKeys]);
99
100
  (0, react_1.useEffect)(function () {
100
101
  onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(selectedKeys);
@@ -111,8 +112,8 @@ var useDataGrid = function (props, override) {
111
112
  }
112
113
  }, [selectedKeys, setSelectedKeys]);
113
114
  /** ROWS FILTERING **/
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];
115
+ var _k = (0, react_1.useState)({}), filters = _k[0], setFilters = _k[1];
116
+ var _l = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _l[0], setFilteredRows = _l[1];
116
117
  (0, react_1.useEffect)(function () {
117
118
  onFiltersChanged === null || onFiltersChanged === void 0 ? void 0 : onFiltersChanged(filters);
118
119
  }, [filters, onFiltersChanged]);
@@ -126,17 +127,21 @@ var useDataGrid = function (props, override) {
126
127
  setFilteredRows(filteredRows !== null && filteredRows !== void 0 ? filteredRows : []);
127
128
  }, [filters, props.filter, rows]);
128
129
  /** CELL EDITING */
129
- var _g = (0, react_1.useState)([-1, -1]), editingCell = _g[0], setEditingCell = _g[1];
130
+ var _m = (0, react_1.useState)([-1, -1]), editingCell = _m[0], setEditingCell = _m[1];
131
+ var onRowAdded = (0, react_1.useCallback)(function (row) {
132
+ setRows(function (prev) { return __spreadArray([row], prev, true); });
133
+ }, [setRows]);
134
+ var _o = (0, useDataGridChangedRows_1.useDataGridChangedRows)(rowKeyGetter, onRowAdded), addedRows = _o.addedRows, updatedRows = _o.updatedRows, editRow = _o.editRow, addRow = _o.addRow, addRows = _o.addRows, updateRow = _o.updateRow, clearChangedRows = _o.clearChangedRows;
130
135
  /** ROWS SORTING **/
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];
136
+ var _p = (0, react_1.useState)(initialSorts !== null && initialSorts !== void 0 ? initialSorts : {}), sorts = _p[0], setSorts = _p[1];
137
+ var _q = (0, react_1.useState)(rows), sortedRows = _q[0], setSortedRows = _q[1];
133
138
  (0, react_1.useEffect)(function () {
134
139
  var sortedRows = __spreadArray([], filteredRows, true);
135
140
  if (props.sort !== false) {
136
141
  Object.entries(sorts).forEach(function (_a) {
137
142
  var sortKey = _a[0], sort = _a[1];
138
143
  // Get the sort column and make sure it exists and is sortable
139
- var sortColumn = columns[sortKey];
144
+ var sortColumn = columns.find(function (col) { return col.key === sortKey; });
140
145
  if (!sortColumn || typeof sortColumn.sortGetter !== 'function')
141
146
  return;
142
147
  // Sort the rows using the sortGetter function of the column
@@ -157,12 +162,33 @@ var useDataGrid = function (props, override) {
157
162
  }, [sorts, onSortsChanged]);
158
163
  /** VIRTUAL SCROLLING */
159
164
  var scrollableRef = (0, react_1.useRef)(null);
165
+ /** RESIZING */
166
+ var _r = (0, react_1.useState)(null), resizingColumnKey = _r[0], setResizingColumnKey = _r[1];
167
+ var resizingOffset = (0, react_1.useRef)(0);
168
+ var startResizing = (0, react_1.useCallback)(function (e, columnKey) {
169
+ var resizingColumn = columns.find(function (col) { return col.key === columnKey; });
170
+ if (resizingColumn) {
171
+ resizingOffset.current =
172
+ e.screenX - ((resizingColumn === null || resizingColumn === void 0 ? void 0 : resizingColumn.width) || constants_1.DEFAULT_COLUMN_WIDTH);
173
+ setResizingColumnKey(columnKey);
174
+ }
175
+ }, [columns]);
176
+ var moveResizing = (0, react_1.useCallback)(function (e) {
177
+ if (resizingColumnKey) {
178
+ var newWidth = Math.max(86, e.screenX - resizingOffset.current);
179
+ setColumnWidth(resizingColumnKey, newWidth);
180
+ }
181
+ }, [resizingColumnKey, setColumnWidth]);
182
+ var endResizing = (0, react_1.useCallback)(function () {
183
+ setResizingColumnKey(null);
184
+ saveSettings();
185
+ }, [saveSettings]);
160
186
  /** FOOTERS */
161
- var _k = (0, react_1.useState)((_a = props.initialFooters) !== null && _a !== void 0 ? _a : {}), footers = _k[0], setFooters = _k[1];
187
+ var _s = (0, react_1.useState)((_d = props.initialFooters) !== null && _d !== void 0 ? _d : {}), footers = _s[0], setFooters = _s[1];
162
188
  var footerFunctions = (0, react_1.useMemo)(function () {
163
189
  return Object.entries(footers).reduce(function (acc, _a) {
164
190
  var columnKey = _a[0], footerKey = _a[1];
165
- var column = columns[columnKey];
191
+ var column = columns.find(function (col) { return col.key === columnKey; });
166
192
  if (!column) {
167
193
  return acc;
168
194
  }
@@ -184,7 +210,7 @@ var useDataGrid = function (props, override) {
184
210
  footerFunctions: footerFunctions,
185
211
  loadCopyRows: loadCopyRows,
186
212
  }).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)); }, [
213
+ 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, resizingColumnKey: resizingColumnKey, startResizing: startResizing, moveResizing: moveResizing, endResizing: endResizing, addedRows: addedRows, updatedRows: updatedRows, editRow: editRow, addRow: addRow, addRows: addRows, updateRow: updateRow, clearChangedRows: clearChangedRows, setRows: setRows }), override)); }, [
188
214
  props,
189
215
  columns,
190
216
  visibleColumns,
@@ -199,18 +225,29 @@ var useDataGrid = function (props, override) {
199
225
  settings,
200
226
  setSettings,
201
227
  saveSettings,
202
- scrollableRef,
203
228
  rowKeyGetter,
204
229
  gridTemplateColumns,
205
230
  footers,
206
231
  footerFunctions,
207
232
  toggleSelection,
233
+ resizingColumnKey,
234
+ startResizing,
235
+ moveResizing,
236
+ endResizing,
237
+ addedRows,
238
+ updatedRows,
239
+ editRow,
240
+ addRow,
241
+ addRows,
242
+ updateRow,
243
+ clearChangedRows,
244
+ setRows,
208
245
  override,
209
246
  ]);
210
247
  var context = (0, react_1.useMemo)(function () {
211
248
  return (0, react_1.createContext)({
212
249
  rows: [],
213
- columns: {},
250
+ columns: [],
214
251
  visibleColumns: [],
215
252
  rowKey: '',
216
253
  rowKeyGetter: function () { return ''; },
@@ -234,6 +271,18 @@ var useDataGrid = function (props, override) {
234
271
  footers: {},
235
272
  setFooters: function () { },
236
273
  toggleSelection: function () { },
274
+ resizingColumnKey: null,
275
+ startResizing: function () { },
276
+ moveResizing: function () { },
277
+ endResizing: function () { },
278
+ addedRows: [],
279
+ updatedRows: [],
280
+ setRows: function () { },
281
+ editRow: function () { },
282
+ addRow: function () { },
283
+ addRows: function () { },
284
+ updateRow: function () { },
285
+ clearChangedRows: function () { },
237
286
  });
238
287
  }, []);
239
288
  return (0, react_1.useMemo)(function () { return [contextValue, context]; }, [context, contextValue]);
@@ -0,0 +1,9 @@
1
+ export declare const useDataGridChangedRows: <R>(rowKeyGetter: (row: Partial<R>) => string, onRowAdded: (row: R) => void) => {
2
+ addedRows: Partial<R>[];
3
+ updatedRows: Partial<R>[];
4
+ editRow: (row: Partial<R>) => void;
5
+ addRow: (row: Partial<R>) => void;
6
+ addRows: (rows: R[]) => void;
7
+ updateRow: (row: Partial<R>) => void;
8
+ clearChangedRows: (keys?: string[]) => void;
9
+ };