@addev-be/ui 2.5.20 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -1
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-up-z-a.svg +1 -1
  4. package/assets/icons/check.svg +1 -1
  5. package/assets/icons/circle-check.svg +1 -1
  6. package/assets/icons/down.svg +1 -1
  7. package/assets/icons/filter-full.svg +1 -1
  8. package/assets/icons/filter.svg +1 -1
  9. package/assets/icons/hashtag.svg +1 -1
  10. package/assets/icons/image-slash.svg +1 -1
  11. package/assets/icons/left.svg +1 -1
  12. package/assets/icons/magnifier.svg +1 -1
  13. package/assets/icons/phone.svg +1 -1
  14. package/assets/icons/right.svg +1 -1
  15. package/assets/icons/sort-calendar-ascending.svg +5 -5
  16. package/assets/icons/spinner-third.svg +1 -1
  17. package/assets/icons/table-columns.svg +1 -1
  18. package/assets/icons/table-footer-slash.svg +4 -4
  19. package/assets/icons/table-footer.svg +3 -3
  20. package/assets/icons/up.svg +1 -1
  21. package/assets/icons/user-tie.svg +1 -1
  22. package/assets/icons/x-bar.svg +3 -3
  23. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +9 -8
  24. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +21 -72
  25. package/dist/components/data/AdvancedRequestDataGrid/index.js +2 -2
  26. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +1 -1
  27. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +10 -0
  28. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +173 -0
  29. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +13 -0
  30. package/dist/components/data/DataGrid/FilterValuesScroller.js +73 -0
  31. package/dist/components/data/DataGrid/VirtualScroller.d.ts +11 -0
  32. package/dist/components/data/DataGrid/VirtualScroller.js +41 -0
  33. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +12 -0
  34. package/dist/components/data/DataGrid/helpers/advancedRequests.js +53 -0
  35. package/dist/components/data/DataGrid/helpers.d.ts +28 -0
  36. package/dist/components/data/DataGrid/helpers.js +436 -0
  37. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +20 -0
  38. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +160 -0
  39. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +5 -0
  40. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +41 -0
  41. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +2 -0
  42. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +18 -0
  43. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +3 -0
  44. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +15 -0
  45. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +9 -0
  46. package/dist/components/data/SmartQueryDataGrid/hooks.js +63 -0
  47. package/dist/components/data/SmartQueryDataGrid/index.d.ts +12 -0
  48. package/dist/components/data/SmartQueryDataGrid/index.js +242 -0
  49. package/dist/components/data/SmartQueryDataGrid/types.d.ts +22 -0
  50. package/dist/components/data/SmartQueryDataGrid/types.js +2 -0
  51. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -1
  52. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +2 -3
  53. package/dist/components/forms/BillitIdentifier/index.d.ts +6 -0
  54. package/dist/components/forms/BillitIdentifier/index.js +71 -0
  55. package/dist/components/forms/BillitIdentifier/styles.d.ts +2 -0
  56. package/dist/components/forms/BillitIdentifier/styles.js +15 -0
  57. package/dist/components/forms/Form/FormGroup.d.ts +1 -0
  58. package/dist/components/forms/Form/FormGroup.js +2 -2
  59. package/dist/components/forms/Form/InputWithLabel.d.ts +2 -0
  60. package/dist/components/forms/Form/InputWithLabel.js +10 -0
  61. package/dist/components/forms/Form/Row.js +1 -1
  62. package/dist/components/forms/Form/Select.d.ts +3 -1
  63. package/dist/components/forms/Form/Select.js +19 -10
  64. package/dist/components/forms/Form/index.d.ts +4 -1
  65. package/dist/components/forms/Form/styles.d.ts +5 -3
  66. package/dist/components/forms/Form/styles.js +19 -14
  67. package/dist/components/forms/Form/types.d.ts +7 -0
  68. package/dist/components/forms/Form/types.js +2 -0
  69. package/dist/components/forms/styles.js +1 -1
  70. package/dist/components/ui/Card/index.d.ts +2 -1
  71. package/dist/components/ui/Card/styles.d.ts +2 -1
  72. package/dist/components/ui/Card/styles.js +2 -1
  73. package/dist/components/ui/TabsView/TabsList.d.ts +1 -0
  74. package/dist/components/ui/TabsView/TabsList.js +4 -2
  75. package/dist/components/ui/TabsView/TabsView.d.ts +3 -1
  76. package/dist/components/ui/TabsView/TabsView.js +2 -2
  77. package/dist/components/ui/TabsView/styles.js +4 -4
  78. package/dist/config/types.d.ts +11 -0
  79. package/dist/config/types.js +2 -0
  80. package/dist/helpers/react.d.ts +2 -0
  81. package/dist/helpers/react.js +8 -0
  82. package/dist/index.d.ts +1 -0
  83. package/dist/index.js +1 -0
  84. package/dist/providers/ThemeProvider/defaultTheme.js +1 -0
  85. package/dist/providers/ThemeProvider/helpers.d.ts +1 -1
  86. package/dist/providers/ThemeProvider/index.js +1 -1
  87. package/dist/providers/ThemeProvider/types.d.ts +1 -1
  88. package/dist/services/index.js +17 -7
  89. package/dist/services/requests/userPermissions.d.ts +4 -0
  90. package/dist/services/requests/userPermissions.js +20 -0
  91. package/dist/services/sqlRequests.d.ts +1 -1
  92. package/eslint.config.js +3 -3
  93. package/package.json +2 -2
  94. package/src/Icons.tsx +138 -138
  95. package/src/components/auth/LoginForm.tsx +86 -86
  96. package/src/components/auth/LoginPage.tsx +32 -32
  97. package/src/components/auth/PasswordRecoveryForm.tsx +53 -53
  98. package/src/components/auth/PasswordResetForm.tsx +112 -112
  99. package/src/components/auth/styles.ts +14 -14
  100. package/src/components/data/DataGrid/DataGridCell.tsx +81 -81
  101. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  102. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  103. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  104. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  105. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +37 -37
  106. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +38 -38
  107. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +71 -71
  108. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +37 -37
  109. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  110. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  111. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +18 -18
  112. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +129 -129
  113. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  114. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +370 -370
  115. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  116. package/src/components/data/DataGrid/DataGridFooter.tsx +47 -47
  117. package/src/components/data/DataGrid/DataGridHeader.tsx +74 -74
  118. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +112 -112
  119. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +83 -83
  120. package/src/components/data/DataGrid/DataGridToolbar.tsx +134 -134
  121. package/src/components/data/DataGrid/FilterModalContent/index.tsx +137 -137
  122. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  123. package/src/components/data/DataGrid/constants.ts +6 -6
  124. package/src/components/data/DataGrid/helpers/columns.tsx +449 -449
  125. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  126. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  127. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  128. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +383 -383
  129. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  130. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  131. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  132. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  133. package/src/components/data/DataGrid/index.tsx +111 -111
  134. package/src/components/data/DataGrid/styles.ts +434 -434
  135. package/src/components/data/DataGrid/types.ts +380 -380
  136. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +526 -526
  137. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  138. package/src/components/data/SqlRequestDataGrid/helpers/rows.ts +24 -24
  139. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +17 -17
  140. package/src/components/data/SqlRequestDataGrid/index.tsx +417 -417
  141. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  142. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  143. package/src/components/data/SqlRequestForeignList/index.tsx +254 -254
  144. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  145. package/src/components/data/SqlRequestForeignList/types.ts +32 -32
  146. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +108 -108
  147. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  148. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  149. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  150. package/src/components/data/SqlRequestGrid/index.tsx +304 -304
  151. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  152. package/src/components/data/SqlRequestGrid/types.ts +73 -73
  153. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  154. package/src/components/data/VirtualScroller/index.tsx +89 -89
  155. package/src/components/data/VirtualScroller/styles.ts +57 -57
  156. package/src/components/data/VirtualScroller/types.ts +10 -10
  157. package/src/components/forms/AutoTextArea.tsx +48 -48
  158. package/src/components/forms/BillitIdentifier/index.tsx +78 -0
  159. package/src/components/forms/BillitIdentifier/styles.tsx +43 -0
  160. package/src/components/forms/Button.tsx +132 -132
  161. package/src/components/forms/Form/Checkbox.tsx +12 -12
  162. package/src/components/forms/Form/CustomSelect.tsx +86 -86
  163. package/src/components/forms/Form/FormGroup.tsx +33 -31
  164. package/src/components/forms/Form/Input.tsx +16 -16
  165. package/src/components/forms/Form/Row.tsx +28 -32
  166. package/src/components/forms/Form/Select.tsx +99 -82
  167. package/src/components/forms/Form/TextArea.tsx +17 -17
  168. package/src/components/forms/Form/index.tsx +48 -48
  169. package/src/components/forms/Form/styles.ts +148 -184
  170. package/src/components/forms/IconButton.tsx +61 -61
  171. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  172. package/src/components/forms/NumberInput.tsx +53 -53
  173. package/src/components/forms/Select.tsx +34 -34
  174. package/src/components/forms/VerticalLabel.tsx +20 -20
  175. package/src/components/forms/styles.ts +42 -42
  176. package/src/components/layout/Columns.ts +28 -28
  177. package/src/components/layout/Dropdown/index.tsx +113 -113
  178. package/src/components/layout/Dropdown/styles.ts +53 -53
  179. package/src/components/layout/Flexbox.ts +21 -21
  180. package/src/components/layout/Grid/index.tsx +8 -8
  181. package/src/components/layout/Grid/styles.ts +34 -34
  182. package/src/components/layout/Loading/index.tsx +29 -29
  183. package/src/components/layout/Loading/styles.ts +29 -29
  184. package/src/components/layout/Masonry/index.tsx +29 -29
  185. package/src/components/layout/Masonry/styles.ts +20 -20
  186. package/src/components/layout/Modal/index.tsx +51 -51
  187. package/src/components/layout/Modal/styles.ts +125 -125
  188. package/src/components/search/HighlightedText.tsx +41 -41
  189. package/src/components/search/QuickSearchBar.tsx +102 -102
  190. package/src/components/search/QuickSearchResults.tsx +86 -86
  191. package/src/components/search/styles.ts +96 -96
  192. package/src/components/search/types.ts +29 -29
  193. package/src/components/ui/Avatar/index.tsx +54 -54
  194. package/src/components/ui/Card/index.tsx +16 -14
  195. package/src/components/ui/Card/styles.ts +41 -37
  196. package/src/components/ui/ContextMenu/index.tsx +79 -79
  197. package/src/components/ui/ContextMenu/styles.ts +119 -119
  198. package/src/components/ui/Ellipsis.tsx +33 -33
  199. package/src/components/ui/Label.tsx +93 -93
  200. package/src/components/ui/Message/index.tsx +57 -57
  201. package/src/components/ui/Message/styles.ts +44 -44
  202. package/src/components/ui/TabsView/TabsList.tsx +49 -44
  203. package/src/components/ui/TabsView/TabsView.tsx +42 -38
  204. package/src/components/ui/TabsView/styles.ts +84 -76
  205. package/src/components/ui/TabsView/types.ts +15 -15
  206. package/src/config/index.ts +10 -10
  207. package/src/helpers/components.ts +9 -9
  208. package/src/helpers/dates.ts +17 -17
  209. package/src/helpers/getScrollbarSize.ts +14 -14
  210. package/src/helpers/numbers.ts +63 -63
  211. package/src/helpers/responsive.ts +83 -83
  212. package/src/helpers/styled/space.ts +114 -114
  213. package/src/helpers/styled/typography.ts +25 -25
  214. package/src/helpers/text.ts +13 -13
  215. package/src/helpers/types.ts +9 -9
  216. package/src/hooks/useContainerMediaQuery.ts +7 -7
  217. package/src/hooks/useElementSize.ts +24 -24
  218. package/src/hooks/useMediaQuery.ts +9 -9
  219. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  220. package/src/hooks/useMutableState.test.ts +410 -410
  221. package/src/hooks/useMutableState.ts +39 -39
  222. package/src/hooks/useShowArchived.ts +28 -28
  223. package/src/hooks/useWindowSize.ts +20 -20
  224. package/src/index.ts +103 -102
  225. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  226. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  227. package/src/providers/LoadingProvider/index.tsx +47 -47
  228. package/src/providers/PortalsProvider/index.tsx +54 -54
  229. package/src/providers/PortalsProvider/styles.ts +31 -31
  230. package/src/providers/SettingsProvider/index.tsx +70 -70
  231. package/src/providers/ThemeProvider/defaultTheme.ts +471 -470
  232. package/src/providers/ThemeProvider/helpers.ts +84 -84
  233. package/src/providers/ThemeProvider/index.ts +73 -66
  234. package/src/providers/ThemeProvider/types.ts +134 -134
  235. package/src/providers/ToastProvider/index.tsx +93 -93
  236. package/src/providers/TrackingProvider/index.tsx +71 -71
  237. package/src/providers/UiProviders/index.tsx +76 -76
  238. package/src/providers/UiProviders/styles.ts +10 -10
  239. package/src/providers/hooks.ts +14 -14
  240. package/src/services/HttpService.ts +92 -92
  241. package/src/services/WebSocketService.ts +155 -155
  242. package/src/services/advancedRequests.ts +102 -102
  243. package/src/services/base.ts +23 -23
  244. package/src/services/globalSearch.ts +32 -32
  245. package/src/services/hooks.ts +92 -92
  246. package/src/services/requests/auth.ts +44 -44
  247. package/src/services/requests/generic.ts +62 -62
  248. package/src/services/requests/printing.ts +12 -12
  249. package/src/services/requests/tracking.ts +12 -12
  250. package/src/services/requests/userProfiles.ts +35 -35
  251. package/src/services/requests/users.ts +28 -28
  252. package/src/services/smartQueries.ts +122 -122
  253. package/src/services/sqlRequests.ts +119 -113
  254. package/src/services/types/auth.ts +98 -98
  255. package/src/services/types/base.ts +10 -10
  256. package/src/services/types/generic.ts +82 -82
  257. package/src/services/types/printing.ts +10 -10
  258. package/src/services/types/tracking.ts +29 -29
  259. package/src/services/types/userProfiles.ts +79 -79
  260. package/src/services/types/users.ts +74 -74
  261. package/src/services/updateSqlRequests.ts +32 -32
  262. package/src/styles/animations.scss +30 -30
  263. package/src/styles/index.scss +42 -42
  264. package/src/types.ts +8 -8
  265. package/src/typings.d.ts +2 -2
  266. package/tsconfig.json +18 -18
  267. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,73 @@
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
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.FilterValuesScroller = void 0;
38
+ var jsx_runtime_1 = require("react/jsx-runtime");
39
+ /* eslint-disable @typescript-eslint/no-explicit-any */
40
+ var styles = __importStar(require("./styles"));
41
+ var lodash_1 = require("lodash");
42
+ var helpers_1 = require("./helpers");
43
+ var react_1 = require("react");
44
+ var hooks_1 = require("../../../hooks");
45
+ var CheckboxTemplate = function (_a) {
46
+ var selectedValues = _a.selectedValues, value = _a.value, index = _a.index, className = _a.className, style = _a.style, onToggle = _a.onToggle;
47
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, lodash_1.join)([
48
+ // 'absolute left-0 right-0 flex flex-row cursor-pointer hover:bg-gray-50',
49
+ className,
50
+ ], ' '), style: __assign(__assign({}, style), { paddingLeft: "".concat(value.level, "rem") }), title: value.title, onClick: function () { return onToggle === null || onToggle === void 0 ? void 0 : onToggle([value.value]); }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: selectedValues.includes(value.value), readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: value.displayValue || '(Vides)' })] }, index));
51
+ };
52
+ var FilterValuesScroller = function (_a) {
53
+ var values = _a.values, _b = _a.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_FILTER_ROW_HEIGHT : _b, onRangeChange = _a.onRangeChange, onToggle = _a.onToggle, _c = _a.formatter, formatter = _c === void 0 ? helpers_1.defaultRendererAndFormatter : _c, _d = _a.renderer, renderer = _d === void 0 ? helpers_1.defaultRendererAndFormatter : _d, _e = _a.selectedValues, selectedValues = _e === void 0 ? [] : _e, groups = _a.groups;
54
+ var scrollableRef = (0, react_1.useRef)(null);
55
+ var height = (0, hooks_1.useElementSize)(scrollableRef.current).height;
56
+ var tolerance = 20;
57
+ var _f = (0, react_1.useState)(0), scrollTop = _f[0], setScrollTop = _f[1];
58
+ var index = Math.floor(scrollTop / rowHeight);
59
+ var length = Math.ceil(height / rowHeight);
60
+ // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ var onScroll = (0, react_1.useCallback)((0, lodash_1.debounce)(function (e) {
62
+ var target = e.target;
63
+ setScrollTop(function () { return target.scrollTop; });
64
+ }, 50), []);
65
+ var checkboxes = (0, react_1.useMemo)(function () { return (0, helpers_1.getCheckboxes)(values, renderer, formatter, groups); }, [values, groups, renderer, formatter]);
66
+ var visibleCheckboxes = checkboxes.slice(Math.max(0, index - tolerance), index + length + 1 + tolerance);
67
+ var firstCheckboxTop = Math.max(0, index - tolerance) * rowHeight;
68
+ (0, react_1.useEffect)(function () {
69
+ onRangeChange === null || onRangeChange === void 0 ? void 0 : onRangeChange(index, length);
70
+ }, [index, length, onRangeChange]);
71
+ return ((0, jsx_runtime_1.jsx)(styles.FilterValuesScrollerContainer, { ref: scrollableRef, onScroll: onScroll, "$rowHeight": rowHeight, children: (0, jsx_runtime_1.jsx)("div", { style: { height: "".concat(values.length * rowHeight, "px") }, children: visibleCheckboxes.map(function (value, index) { return ((0, jsx_runtime_1.jsx)(CheckboxTemplate, { className: "checkbox", style: { top: firstCheckboxTop + index * rowHeight + 'px' }, selectedValues: selectedValues, value: value, index: index, onToggle: onToggle }, index)); }) }) }));
72
+ };
73
+ exports.FilterValuesScroller = FilterValuesScroller;
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataGridContext } from './types';
3
+ type VirtualScrollerProps<R> = {
4
+ showAllRows?: boolean;
5
+ rowTemplate: (row: R, index: number) => ReactNode;
6
+ hasFooter?: boolean;
7
+ context: DataGridContext<R>;
8
+ onRangeChange?: (startIndex: number, length: number) => void;
9
+ };
10
+ export declare const VirtualScroller: <R>(props: VirtualScrollerProps<R>) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.VirtualScroller = void 0;
27
+ var jsx_runtime_1 = require("react/jsx-runtime");
28
+ var styles = __importStar(require("./styles"));
29
+ var react_1 = require("react");
30
+ var VirtualScroller = function (props) {
31
+ var _a = (0, react_1.useContext)(props.context), _b = _a.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_ROW_HEIGHT : _b,
32
+ // headerRowHeight = styles.DEFAULT_HEADER_ROW_HEIGHT,
33
+ sortedRows = _a.sortedRows, index = _a.index, visibleRows = _a.visibleRows, gridTemplateColumns = _a.gridTemplateColumns;
34
+ var rowTemplate = props.rowTemplate;
35
+ var totalHeight = sortedRows.length * rowHeight;
36
+ var topPadding = Math.max(0, index - styles.VIRTUAL_SCROLL_TOLERANCE) * rowHeight;
37
+ // const headerAndFooterHeight =
38
+ // 2 * headerRowHeight + (hasFooter ? rowHeight : 0) + 2;
39
+ return ((0, jsx_runtime_1.jsx)(styles.VirtualScrollerContainer, { "$height": totalHeight, children: (0, jsx_runtime_1.jsx)(styles.VirtualScrollerRowsContainer, { "$gridTemplateColumns": gridTemplateColumns, "$topPadding": topPadding, "$rowHeight": rowHeight, children: visibleRows.map(rowTemplate) }) }));
40
+ };
41
+ exports.VirtualScroller = VirtualScroller;
@@ -0,0 +1,12 @@
1
+ import { AdvancedRequestDTO, ConditionDTO, OrderByDTO } from '../../../../services/advancedRequests';
2
+ import { DataGridColumns } from '../types';
3
+ export declare const getAdvancedRequestDto: <R>({ type, columns, conditions, orderBy, start, length, getTotal, addIdColumn, }: {
4
+ type: string;
5
+ columns: DataGridColumns<R>;
6
+ conditions?: ConditionDTO[];
7
+ orderBy?: OrderByDTO[];
8
+ start?: number;
9
+ length?: number;
10
+ getTotal?: boolean;
11
+ addIdColumn?: boolean;
12
+ }) => AdvancedRequestDTO;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
15
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
16
+ if (ar || !(i in from)) {
17
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
18
+ ar[i] = from[i];
19
+ }
20
+ }
21
+ return to.concat(ar || Array.prototype.slice.call(from));
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.getAdvancedRequestDto = void 0;
25
+ var getAdvancedRequestDto = function (_a) {
26
+ var type = _a.type, columns = _a.columns, _b = _a.conditions, conditions = _b === void 0 ? [] : _b, _c = _a.orderBy, orderBy = _c === void 0 ? [] : _c, _d = _a.start, start = _d === void 0 ? 0 : _d, _e = _a.length, length = _e === void 0 ? 100 : _e, _f = _a.getTotal, getTotal = _f === void 0 ? false : _f, _g = _a.addIdColumn, addIdColumn = _g === void 0 ? true : _g;
27
+ return ({
28
+ fields: __spreadArray(__spreadArray([], (Object.keys(columns).includes('Id') || addIdColumn === false
29
+ ? []
30
+ : [{ fieldName: 'Id' }]), true), Object.keys(columns).map(function (key) {
31
+ var _a, _b;
32
+ return columns[key].field
33
+ ? __assign(__assign({}, columns[key].field), { fieldName: (_b = (_a = columns[key].field) === null || _a === void 0 ? void 0 : _a.fieldName) !== null && _b !== void 0 ? _b : key, fieldAlias: key }) : {
34
+ fieldName: key,
35
+ fieldAlias: key,
36
+ };
37
+ }), true),
38
+ conditions: __spreadArray(__spreadArray([], conditions, true), [
39
+ {
40
+ field: {
41
+ fieldName: 'DeletedAt',
42
+ },
43
+ operator: 'isNull',
44
+ },
45
+ ], false),
46
+ orderBy: orderBy,
47
+ type: type,
48
+ start: start,
49
+ length: length,
50
+ getTotal: getTotal,
51
+ });
52
+ };
53
+ exports.getAdvancedRequestDto = getAdvancedRequestDto;
@@ -0,0 +1,28 @@
1
+ import { AdvancedRequestDTO, ConditionDTO, OrderByDTO } from '../../../services/advancedRequests';
2
+ import { DataGridColumn, DataGridColumns, DataGridFilter, DataGridFilterCheckbox, DataGridFilterDataType, DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterPredicates, DataGridFilterType, DataGridFilters, DataGridSettings } from './types';
3
+ 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[];
6
+ export declare const defaultFilterGetter: (row: any, columnKey: string) => any;
7
+ export declare const defaultFilterValues: {
8
+ [K in DataGridFilterType]: DataGridFilterDataType<K>;
9
+ };
10
+ export declare const defaultValueParsers: {
11
+ [K in DataGridFilterType]: (value: string) => DataGridFilterDataType<K>;
12
+ };
13
+ 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 isColumnVisible: <R>(obj: DataGridColumn<R, any> | DataGridSettings) => boolean;
16
+ export declare const convertFiltersToConditions: <R>(filters: DataGridFilters<R>) => ConditionDTO[];
17
+ export declare const getAdvancedRequestDto: <R>(type: string, columns: DataGridColumns<R>, conditions?: ConditionDTO[], orderBy?: OrderByDTO[], start?: number, length?: number, getTotal?: boolean) => AdvancedRequestDTO;
18
+ export declare const textColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
19
+ export declare const mailColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
20
+ export declare const phoneColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
21
+ export declare const dateColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
22
+ export declare const monthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
23
+ export declare const numberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
24
+ export declare const moneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
25
+ export declare const percentageColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
26
+ export declare const checkboxColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
27
+ export declare const colorColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R, DataGridFilterType>>) => DataGridColumns<R>;
28
+ export declare const getCheckboxes: <R extends string | number | null>(values: R[], formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup<R>[], level?: number) => DataGridFilterCheckbox<R>[];
@@ -0,0 +1,436 @@
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
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getCheckboxes = exports.colorColumn = exports.checkboxColumn = exports.percentageColumn = exports.moneyColumn = exports.numberColumn = exports.monthColumn = exports.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.getAdvancedRequestDto = exports.convertFiltersToConditions = exports.isColumnVisible = exports.getDateGroups = exports.groupDatesByYearAndMonth = exports.defaultValueParsers = exports.defaultFilterValues = exports.defaultFilterGetter = exports.applyFilter = exports.applyFilters = exports.filtersPredicates = void 0;
27
+ var jsx_runtime_1 = require("react/jsx-runtime");
28
+ var numbers_1 = require("../../../helpers/numbers");
29
+ var lodash_1 = __importDefault(require("lodash"));
30
+ var moment_1 = __importDefault(require("moment"));
31
+ /* eslint-disable @typescript-eslint/no-explicit-any */
32
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
33
+ var escapeRegExp = function (s) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); };
34
+ var textContainsPredicate = function () {
35
+ var filterValues = [];
36
+ for (var _i = 0; _i < arguments.length; _i++) {
37
+ filterValues[_i] = arguments[_i];
38
+ }
39
+ var regex = new RegExp("".concat(escapeRegExp(filterValues[0])), 'i');
40
+ return function (valueToVerify) { return regex.test(valueToVerify); };
41
+ };
42
+ var textNotContainsPredicate = function () {
43
+ var filterValues = [];
44
+ for (var _i = 0; _i < arguments.length; _i++) {
45
+ filterValues[_i] = arguments[_i];
46
+ }
47
+ var regex = new RegExp("".concat(escapeRegExp(filterValues[0])), 'i');
48
+ return function (valueToVerify) { return !regex.test(valueToVerify); };
49
+ };
50
+ var textEqualsPredicate = function () {
51
+ var filterValues = [];
52
+ for (var _i = 0; _i < arguments.length; _i++) {
53
+ filterValues[_i] = arguments[_i];
54
+ }
55
+ var regex = new RegExp("^".concat(escapeRegExp(filterValues[0]), "$"), 'i');
56
+ return function (valueToVerify) { return regex.test(valueToVerify); };
57
+ };
58
+ var textNotEqualsPredicate = function () {
59
+ var filterValues = [];
60
+ for (var _i = 0; _i < arguments.length; _i++) {
61
+ filterValues[_i] = arguments[_i];
62
+ }
63
+ var regex = new RegExp("^".concat(escapeRegExp(filterValues[0]), "$"), 'i');
64
+ return function (valueToVerify) { return !regex.test(valueToVerify); };
65
+ };
66
+ var textStartsWithPredicate = function () {
67
+ var filterValues = [];
68
+ for (var _i = 0; _i < arguments.length; _i++) {
69
+ filterValues[_i] = arguments[_i];
70
+ }
71
+ var regex = new RegExp("^".concat(escapeRegExp(filterValues[0])), 'i');
72
+ return function (valueToVerify) { return regex.test(valueToVerify); };
73
+ };
74
+ var textEndsWithPredicate = function () {
75
+ var filterValues = [];
76
+ for (var _i = 0; _i < arguments.length; _i++) {
77
+ filterValues[_i] = arguments[_i];
78
+ }
79
+ var regex = new RegExp("".concat(escapeRegExp(filterValues[0]), "$"), 'i');
80
+ return function (valueToVerify) { return regex.test(valueToVerify); };
81
+ };
82
+ var textInArrayPredicate = function () {
83
+ var filterValues = [];
84
+ for (var _i = 0; _i < arguments.length; _i++) {
85
+ filterValues[_i] = arguments[_i];
86
+ }
87
+ return function (valueToVerify) { return filterValues.includes(valueToVerify); };
88
+ };
89
+ var numberEqualsPredicate = function () {
90
+ var filterValues = [];
91
+ for (var _i = 0; _i < arguments.length; _i++) {
92
+ filterValues[_i] = arguments[_i];
93
+ }
94
+ return function (valueToVerify) {
95
+ return valueToVerify === filterValues[0];
96
+ };
97
+ };
98
+ var numberNotEqualsPredicate = function () {
99
+ var filterValues = [];
100
+ for (var _i = 0; _i < arguments.length; _i++) {
101
+ filterValues[_i] = arguments[_i];
102
+ }
103
+ return function (valueToVerify) {
104
+ return valueToVerify !== filterValues[0];
105
+ };
106
+ };
107
+ var numberLessThanPredicate = function () {
108
+ var filterValues = [];
109
+ for (var _i = 0; _i < arguments.length; _i++) {
110
+ filterValues[_i] = arguments[_i];
111
+ }
112
+ return function (valueToVerify) {
113
+ return valueToVerify < filterValues[0];
114
+ };
115
+ };
116
+ var numberLessThanOrEqualPredicate = function () {
117
+ var filterValues = [];
118
+ for (var _i = 0; _i < arguments.length; _i++) {
119
+ filterValues[_i] = arguments[_i];
120
+ }
121
+ return function (valueToVerify) {
122
+ return valueToVerify <= filterValues[0];
123
+ };
124
+ };
125
+ var numberGreaterThanPredicate = function () {
126
+ var filterValues = [];
127
+ for (var _i = 0; _i < arguments.length; _i++) {
128
+ filterValues[_i] = arguments[_i];
129
+ }
130
+ return function (valueToVerify) {
131
+ return valueToVerify > filterValues[0];
132
+ };
133
+ };
134
+ var numberGreaterThanOrEqualPredicate = function () {
135
+ var filterValues = [];
136
+ for (var _i = 0; _i < arguments.length; _i++) {
137
+ filterValues[_i] = arguments[_i];
138
+ }
139
+ return function (valueToVerify) {
140
+ return valueToVerify >= filterValues[0];
141
+ };
142
+ };
143
+ var numberInRangePredicate = function () {
144
+ var filterValues = [];
145
+ for (var _i = 0; _i < arguments.length; _i++) {
146
+ filterValues[_i] = arguments[_i];
147
+ }
148
+ return function (valueToVerify) {
149
+ return valueToVerify >= filterValues[0] && valueToVerify <= filterValues[1];
150
+ };
151
+ };
152
+ var numberInArrayPredicate = function () {
153
+ var filterValues = [];
154
+ for (var _i = 0; _i < arguments.length; _i++) {
155
+ filterValues[_i] = arguments[_i];
156
+ }
157
+ return function (valueToVerify) { return filterValues.includes(valueToVerify); };
158
+ };
159
+ exports.filtersPredicates = {
160
+ text: {
161
+ contains: textContainsPredicate,
162
+ notContains: textNotContainsPredicate,
163
+ equals: textEqualsPredicate,
164
+ notEquals: textNotEqualsPredicate,
165
+ startsWith: textStartsWithPredicate,
166
+ endsWith: textEndsWithPredicate,
167
+ inArray: textInArrayPredicate,
168
+ },
169
+ number: {
170
+ equals: numberEqualsPredicate,
171
+ notEquals: numberNotEqualsPredicate,
172
+ lessThan: numberLessThanPredicate,
173
+ lessThanOrEqual: numberLessThanOrEqualPredicate,
174
+ greaterThan: numberGreaterThanPredicate,
175
+ greaterThanOrEqual: numberGreaterThanOrEqualPredicate,
176
+ inRange: numberInRangePredicate,
177
+ inArray: numberInArrayPredicate,
178
+ },
179
+ };
180
+ var applyFilters = function (rows, filters) {
181
+ return filters.reduce(function (tempRows, filter) { return (0, exports.applyFilter)(tempRows, filter); }, rows);
182
+ };
183
+ exports.applyFilters = applyFilters;
184
+ var applyFilter = function (rows, filter) {
185
+ var predicateBuilder = exports.filtersPredicates[filter.type][filter.operator];
186
+ if (typeof predicateBuilder !== 'function')
187
+ return rows;
188
+ var predicate = predicateBuilder.apply(void 0, filter.values);
189
+ return rows.filter(function (row) { return predicate(filter.getter(row)); });
190
+ };
191
+ exports.applyFilter = applyFilter;
192
+ var defaultFilterGetter = function (row, columnKey) {
193
+ return row[columnKey];
194
+ };
195
+ exports.defaultFilterGetter = defaultFilterGetter;
196
+ exports.defaultFilterValues = {
197
+ text: '',
198
+ number: 0,
199
+ };
200
+ exports.defaultValueParsers = {
201
+ text: function (value) { return value; },
202
+ number: function (value) { return parseFloat(value); },
203
+ };
204
+ var groupDatesByYearAndMonth = function (dates) {
205
+ return dates.reduce(function (acc, date) {
206
+ var year = (0, moment_1.default)(date).format('YYYY');
207
+ if (!acc[year]) {
208
+ acc[year] = {};
209
+ }
210
+ var yearAndMonth = (0, moment_1.default)(date).format("YYYY-MM");
211
+ if (!acc[year][yearAndMonth]) {
212
+ acc[year][yearAndMonth] = [];
213
+ }
214
+ acc[year][yearAndMonth].push(date);
215
+ return acc;
216
+ }, {});
217
+ };
218
+ exports.groupDatesByYearAndMonth = groupDatesByYearAndMonth;
219
+ var getDateGroups = function (dates) {
220
+ var grouperDates = (0, exports.groupDatesByYearAndMonth)(dates);
221
+ return Object.entries(grouperDates).map(function (_a) {
222
+ var year = _a[0], months = _a[1];
223
+ return ({
224
+ name: year,
225
+ values: Object.values(months).flat(),
226
+ groups: Object.entries(months).map(function (_a) {
227
+ var month = _a[0], dates = _a[1];
228
+ return ({
229
+ name: month,
230
+ values: dates,
231
+ });
232
+ }),
233
+ });
234
+ });
235
+ };
236
+ exports.getDateGroups = getDateGroups;
237
+ var isColumnVisible = function (obj) {
238
+ return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1;
239
+ };
240
+ exports.isColumnVisible = isColumnVisible;
241
+ var convertFiltersToConditions = function (filters) {
242
+ return Object.entries(filters).map(function (_a) {
243
+ var columnKey = _a[0], filter = _a[1];
244
+ var condition = {
245
+ field: {
246
+ fieldName: columnKey,
247
+ },
248
+ operator: filter.operator,
249
+ value: ['inArray', 'inRange'].includes(filter.operator)
250
+ ? filter.values
251
+ : lodash_1.default.castArray(filter.values)[0],
252
+ };
253
+ return condition;
254
+ });
255
+ };
256
+ exports.convertFiltersToConditions = convertFiltersToConditions;
257
+ var getAdvancedRequestDto = function (type, columns, conditions, orderBy, start, length, getTotal) {
258
+ if (conditions === void 0) { conditions = []; }
259
+ if (orderBy === void 0) { orderBy = []; }
260
+ if (start === void 0) { start = 0; }
261
+ if (length === void 0) { length = 100; }
262
+ if (getTotal === void 0) { getTotal = false; }
263
+ return ({
264
+ fields: __spreadArray([
265
+ {
266
+ fieldName: 'Id',
267
+ },
268
+ {
269
+ fieldName: 'DbId',
270
+ }
271
+ ], Object.keys(columns).map(function (key) {
272
+ var _a, _b;
273
+ return columns[key].field
274
+ ? __assign(__assign({}, columns[key].field), { fieldName: (_b = (_a = columns[key].field) === null || _a === void 0 ? void 0 : _a.fieldName) !== null && _b !== void 0 ? _b : key, fieldAlias: key }) : {
275
+ fieldName: key,
276
+ fieldAlias: key,
277
+ };
278
+ }), true),
279
+ conditions: __spreadArray(__spreadArray([], conditions, true), [
280
+ {
281
+ field: {
282
+ fieldName: 'DeletedAt',
283
+ },
284
+ operator: 'isNull',
285
+ },
286
+ ], false),
287
+ orderBy: orderBy,
288
+ type: type,
289
+ start: start,
290
+ length: length,
291
+ getTotal: getTotal,
292
+ });
293
+ };
294
+ exports.getAdvancedRequestDto = getAdvancedRequestDto;
295
+ var textColumn = function (key, title, options) {
296
+ var _a;
297
+ return (_a = {},
298
+ _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: {
299
+ type: 'text',
300
+ operator: 'contains',
301
+ values: [''],
302
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
303
+ } }, options),
304
+ _a);
305
+ };
306
+ exports.textColumn = textColumn;
307
+ var mailColumn = function (key, title, options) {
308
+ var _a;
309
+ return (_a = {},
310
+ _a[key] = __assign({ name: title, render: function (col, row) {
311
+ var _a;
312
+ return ((0, jsx_runtime_1.jsx)("a", { className: "text-blue-500 hover:text-blue-700", href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
313
+ }, 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: {
314
+ type: 'text',
315
+ operator: 'contains',
316
+ values: [''],
317
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
318
+ } }, options),
319
+ _a);
320
+ };
321
+ exports.mailColumn = mailColumn;
322
+ var phoneColumn = function (key, title, options) {
323
+ var _a;
324
+ return (_a = {},
325
+ _a[key] = __assign({ name: title, render: function (col, row) {
326
+ var _a;
327
+ return ((0, jsx_runtime_1.jsx)("a", { className: "text-blue-500 hover:text-blue-700", href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
328
+ }, 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: {
329
+ type: 'text',
330
+ operator: 'contains',
331
+ values: [''],
332
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
333
+ } }, options),
334
+ _a);
335
+ };
336
+ exports.phoneColumn = phoneColumn;
337
+ var dateColumn = function (key, title, options) {
338
+ var _a;
339
+ return (_a = {},
340
+ _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: {
341
+ type: 'text',
342
+ operator: 'contains',
343
+ values: [''],
344
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
345
+ } }, options),
346
+ _a);
347
+ };
348
+ exports.dateColumn = dateColumn;
349
+ var monthColumn = function (key, title, options) {
350
+ var _a;
351
+ return (_a = {},
352
+ _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: {
353
+ type: 'text',
354
+ operator: 'contains',
355
+ values: [''],
356
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
357
+ } }, options),
358
+ _a);
359
+ };
360
+ exports.monthColumn = monthColumn;
361
+ var numberColumn = function (key, title, decimals, options) {
362
+ var _a;
363
+ if (decimals === void 0) { decimals = 2; }
364
+ return (_a = {},
365
+ _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: {
366
+ type: 'number',
367
+ operator: 'equals',
368
+ values: [0],
369
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
370
+ } }, options),
371
+ _a);
372
+ };
373
+ exports.numberColumn = numberColumn;
374
+ var moneyColumn = function (key, title, decimals, options) {
375
+ var _a;
376
+ if (decimals === void 0) { decimals = 2; }
377
+ return (_a = {},
378
+ _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: {
379
+ type: 'number',
380
+ operator: 'equals',
381
+ values: [0],
382
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
383
+ } }, options),
384
+ _a);
385
+ };
386
+ exports.moneyColumn = moneyColumn;
387
+ var percentageColumn = function (key, title, options) {
388
+ var _a;
389
+ return (_a = {},
390
+ _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: {
391
+ type: 'number',
392
+ operator: 'equals',
393
+ values: [0],
394
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
395
+ } }, options),
396
+ _a);
397
+ };
398
+ exports.percentageColumn = percentageColumn;
399
+ var checkboxColumn = function (key, title, options) {
400
+ var _a;
401
+ return (_a = {},
402
+ _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: {
403
+ type: 'number',
404
+ operator: 'equals',
405
+ values: [0],
406
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; },
407
+ } }, options),
408
+ _a);
409
+ };
410
+ exports.checkboxColumn = checkboxColumn;
411
+ var colorColumn = function (key, title, options) {
412
+ var _a;
413
+ return (_a = {},
414
+ _a[key] = __assign({ name: title, render: function (col, row) {
415
+ var _a;
416
+ return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
417
+ }, 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: {
418
+ type: 'text',
419
+ operator: 'contains',
420
+ values: [''],
421
+ getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; },
422
+ } }, options),
423
+ _a);
424
+ };
425
+ exports.colorColumn = colorColumn;
426
+ var getCheckboxes = function (values, formatter, groups, level) {
427
+ if (level === void 0) { level = 0; }
428
+ return __spreadArray(__spreadArray([], (groups !== null && groups !== void 0 ? groups : [])
429
+ .map(function (group) { var _a; return (0, exports.getCheckboxes)((_a = group.values) !== null && _a !== void 0 ? _a : [], formatter, group.groups, level + 1); })
430
+ .flat(), true), values.map(function (value) { return ({
431
+ displayValue: formatter(value),
432
+ values: [value],
433
+ level: level,
434
+ }); }), true);
435
+ };
436
+ exports.getCheckboxes = getCheckboxes;