@addev-be/ui 0.2.5 → 0.2.7

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 (166) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -0
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-down-big-small.svg +1 -0
  4. package/assets/icons/arrow-up-9-1.svg +1 -0
  5. package/assets/icons/arrow-up-big-small.svg +1 -0
  6. package/assets/icons/arrow-up-z-a.svg +1 -1
  7. package/assets/icons/check.svg +1 -1
  8. package/assets/icons/chevron-down.svg +1 -0
  9. package/assets/icons/down.svg +1 -1
  10. package/assets/icons/ellipsis.svg +1 -0
  11. package/assets/icons/filter-full.svg +1 -1
  12. package/assets/icons/filter.svg +1 -1
  13. package/assets/icons/hashtag.svg +1 -1
  14. package/assets/icons/image-slash.svg +1 -1
  15. package/assets/icons/left.svg +1 -1
  16. package/assets/icons/magnifier.svg +1 -1
  17. package/assets/icons/phone.svg +1 -1
  18. package/assets/icons/right.svg +1 -1
  19. package/assets/icons/sigma.svg +1 -0
  20. package/assets/icons/spinner-third.svg +1 -1
  21. package/assets/icons/table-columns.svg +1 -1
  22. package/assets/icons/table-footer-slash.svg +5 -0
  23. package/assets/icons/table-footer.svg +4 -0
  24. package/assets/icons/table.svg +1 -0
  25. package/assets/icons/tally.svg +1 -0
  26. package/assets/icons/up.svg +1 -1
  27. package/assets/icons/user-tie.svg +1 -1
  28. package/assets/icons/x-bar.svg +4 -0
  29. package/dist/Icons.d.ts +13 -1
  30. package/dist/Icons.js +25 -1
  31. package/dist/components/data/AdvancedRequestDataGrid/index.js +3 -3
  32. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +1 -2
  33. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +3 -5
  34. package/dist/components/data/DataGrid/DataGridCell.d.ts +1 -1
  35. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  36. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +2 -1
  37. package/dist/components/data/DataGrid/DataGridEditableCell.js +2 -7
  38. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +90 -10
  39. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +3 -9
  40. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +10 -37
  41. package/dist/components/data/DataGrid/DataGridFooter.d.ts +1 -1
  42. package/dist/components/data/DataGrid/DataGridFooter.js +35 -22
  43. package/dist/components/data/DataGrid/DataGridHeader.js +1 -3
  44. package/dist/components/data/DataGrid/DataGridHeaderCell.js +8 -23
  45. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +5 -5
  46. package/dist/components/data/DataGrid/FilterModalContent/index.js +11 -9
  47. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +8 -7
  48. package/dist/components/data/DataGrid/FilterValuesScroller.js +5 -6
  49. package/dist/components/data/DataGrid/helpers/columns.d.ts +1 -1
  50. package/dist/components/data/DataGrid/helpers/columns.js +72 -20
  51. package/dist/components/data/DataGrid/helpers/filters.d.ts +4 -3
  52. package/dist/components/data/DataGrid/helpers/filters.js +13 -5
  53. package/dist/components/data/DataGrid/hooks/useDataGrid.d.ts +1 -1
  54. package/dist/components/data/DataGrid/hooks/useDataGrid.js +60 -30
  55. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +2 -2
  56. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +41 -40
  57. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -1
  58. package/dist/components/data/DataGrid/index.d.ts +4 -2
  59. package/dist/components/data/DataGrid/index.js +38 -17
  60. package/dist/components/data/DataGrid/styles.d.ts +12 -5
  61. package/dist/components/data/DataGrid/styles.js +31 -18
  62. package/dist/components/data/DataGrid/types.d.ts +28 -16
  63. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +1 -1
  64. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +30 -19
  65. package/dist/components/data/SqlRequestDataGrid/index.js +125 -37
  66. package/dist/components/data/SqlRequestDataGrid/types.d.ts +1 -0
  67. package/dist/components/data/index.d.ts +2 -0
  68. package/dist/components/data/index.js +2 -0
  69. package/dist/components/ui/ContextMenu/index.d.ts +11 -0
  70. package/dist/components/ui/ContextMenu/index.js +58 -0
  71. package/dist/components/ui/ContextMenu/styles.d.ts +18 -0
  72. package/dist/components/ui/ContextMenu/styles.js +56 -0
  73. package/dist/helpers/dates.d.ts +2 -0
  74. package/dist/helpers/dates.js +13 -0
  75. package/dist/services/advancedRequests.d.ts +1 -1
  76. package/dist/services/sqlRequests.d.ts +9 -4
  77. package/dist/services/sqlRequests.js +1 -0
  78. package/package.json +1 -1
  79. package/src/Icons.tsx +104 -80
  80. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  81. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  82. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  83. package/src/components/data/AdvancedRequestDataGrid/index.tsx +267 -269
  84. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  85. package/src/components/data/DataGrid/DataGridCell.tsx +73 -73
  86. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  87. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -58
  88. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  89. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  90. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -54
  91. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  92. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +364 -190
  93. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +49 -100
  94. package/src/components/data/DataGrid/DataGridFooter.tsx +42 -64
  95. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -126
  96. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +132 -167
  97. package/src/components/data/DataGrid/FilterModalContent/index.tsx +124 -125
  98. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  99. package/src/components/data/DataGrid/FilterValuesScroller.tsx +133 -131
  100. package/src/components/data/DataGrid/VirtualScroller.tsx +46 -46
  101. package/src/components/data/DataGrid/helpers/columns.tsx +287 -196
  102. package/src/components/data/DataGrid/helpers/filters.ts +220 -207
  103. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  104. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  105. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +305 -264
  106. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +170 -165
  107. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  108. package/src/components/data/DataGrid/index.tsx +139 -132
  109. package/src/components/data/DataGrid/styles.ts +347 -326
  110. package/src/components/data/DataGrid/types.ts +260 -240
  111. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +259 -224
  112. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  113. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  114. package/src/components/data/SqlRequestDataGrid/index.tsx +347 -252
  115. package/src/components/data/SqlRequestDataGrid/types.ts +47 -47
  116. package/src/components/data/index.ts +8 -8
  117. package/src/components/forms/Button.tsx +99 -99
  118. package/src/components/forms/IconButton.tsx +56 -56
  119. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  120. package/src/components/forms/Select.tsx +40 -40
  121. package/src/components/forms/index.ts +5 -5
  122. package/src/components/forms/styles.ts +20 -20
  123. package/src/components/index.ts +3 -3
  124. package/src/components/layout/Dropdown/index.tsx +79 -79
  125. package/src/components/layout/Dropdown/styles.ts +44 -44
  126. package/src/components/layout/Loading/index.tsx +29 -29
  127. package/src/components/layout/Loading/styles.ts +29 -29
  128. package/src/components/layout/Modal/index.tsx +51 -51
  129. package/src/components/layout/Modal/styles.ts +110 -110
  130. package/src/components/layout/index.ts +3 -3
  131. package/src/components/ui/ContextMenu/index.tsx +73 -0
  132. package/src/components/ui/ContextMenu/styles.ts +115 -0
  133. package/src/config/index.ts +14 -14
  134. package/src/helpers/dates.ts +9 -9
  135. package/src/helpers/getScrollbarSize.ts +14 -14
  136. package/src/helpers/numbers.ts +20 -20
  137. package/src/hooks/index.ts +2 -2
  138. package/src/hooks/useElementSize.ts +24 -24
  139. package/src/hooks/useWindowSize.ts +20 -20
  140. package/src/index.ts +7 -7
  141. package/src/providers/PortalsProvider/index.tsx +54 -54
  142. package/src/providers/PortalsProvider/styles.ts +27 -27
  143. package/src/providers/SettingsProvider/index.tsx +70 -70
  144. package/src/providers/ThemeProvider/ThemeProvider.ts +55 -55
  145. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  146. package/src/providers/ThemeProvider/index.ts +3 -3
  147. package/src/providers/ThemeProvider/types.ts +123 -123
  148. package/src/providers/UiProviders/index.tsx +65 -65
  149. package/src/providers/UiProviders/styles.ts +10 -10
  150. package/src/providers/hooks.ts +8 -8
  151. package/src/providers/index.ts +5 -5
  152. package/src/services/HttpService.ts +80 -80
  153. package/src/services/WebSocketService.ts +147 -147
  154. package/src/services/advancedRequests.ts +101 -101
  155. package/src/services/base.ts +31 -31
  156. package/src/services/hooks.ts +23 -23
  157. package/src/services/index.ts +2 -2
  158. package/src/services/sqlRequests.ts +110 -99
  159. package/src/styles/animations.scss +30 -30
  160. package/src/styles/index.scss +42 -42
  161. package/src/typings.d.ts +6 -6
  162. package/tsconfig.tsbuildinfo +1 -1
  163. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  164. package/dist/components/data/DataGrid/helpers.js +0 -436
  165. package/dist/config/types.d.ts +0 -11
  166. package/dist/config/types.js +0 -2
@@ -1,15 +1,9 @@
1
- import { ThemeColor } from '../../../../providers/ThemeProvider/types';
2
- export declare const Menu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
- }>, never>, never>> & string;
5
- export declare const MenuItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
6
- ref?: ((instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLButtonElement> | null | undefined;
7
- }>, never>, {
8
- $color?: ThemeColor;
9
- }>> & string;
10
1
  export declare const InputContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
11
2
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
12
3
  }>, never>, never>> & string;
13
4
  export declare const CheckboxesContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
14
5
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
15
6
  }>, never>, never>> & string;
7
+ export declare const Separator: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
8
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
9
+ }>, never>, never>> & string;
@@ -3,46 +3,19 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
4
  return cooked;
5
5
  };
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || function (mod) {
23
- if (mod && mod.__esModule) return mod;
24
- var result = {};
25
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
- __setModuleDefault(result, mod);
27
- return result;
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
8
  };
29
9
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.CheckboxesContainer = exports.InputContainer = exports.MenuItem = exports.Menu = void 0;
31
- var styled_components_1 = __importStar(require("styled-components"));
32
- exports.Menu = styled_components_1.default.div.attrs({
33
- className: 'Menu',
34
- })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n inset: 0;\n color: var(--color-neutral-900);\n border-radius: var(--rounded-md);\n padding: var(--space-1) 0;\n box-shadow: var(--shadow-lg);\n background-color: var(--color-neutral-100);\n min-width: 20em;\n outline: 1px solid var(--color-neutral-200);\n display: flex;\n flex-direction: column;\n"], ["\n position: absolute;\n inset: 0;\n color: var(--color-neutral-900);\n border-radius: var(--rounded-md);\n padding: var(--space-1) 0;\n box-shadow: var(--shadow-lg);\n background-color: var(--color-neutral-100);\n min-width: 20em;\n outline: 1px solid var(--color-neutral-200);\n display: flex;\n flex-direction: column;\n"])));
35
- exports.MenuItem = styled_components_1.default.button.attrs({
36
- className: 'MenuItem',
37
- })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n width: 100%;\n font-family: var(--font-sans);\n font-weight: normal;\n text-align: left;\n padding: var(--space-1) var(--space-2);\n font-size: var(--text-base);\n line-height: var(--leading-6);\n border: none;\n cursor: pointer;\n\n ", "\n\n svg {\n fill: currentColor;\n width: var(--space-4);\n height: var(--space-4);\n margin-right: var(--space-2);\n }\n"], ["\n display: flex;\n align-items: center;\n width: 100%;\n font-family: var(--font-sans);\n font-weight: normal;\n text-align: left;\n padding: var(--space-1) var(--space-2);\n font-size: var(--text-base);\n line-height: var(--leading-6);\n border: none;\n cursor: pointer;\n\n ", "\n\n svg {\n fill: currentColor;\n width: var(--space-4);\n height: var(--space-4);\n margin-right: var(--space-2);\n }\n"])), function (_a) {
38
- var $color = _a.$color;
39
- return $color
40
- ? (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: var(--color-", "-600);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-", "-200);\n }\n "], ["\n color: var(--color-", "-600);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-", "-200);\n }\n "])), $color, $color) : (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: var(--color-neutral-900);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-neutral-200);\n }\n "], ["\n color: var(--color-neutral-900);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-neutral-200);\n }\n "])));
41
- });
10
+ exports.Separator = exports.CheckboxesContainer = exports.InputContainer = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
42
12
  exports.InputContainer = styled_components_1.default.div.attrs({
43
13
  className: 'InputContainer',
44
- })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: relative;\n border-radius: var(--rounded-md);\n padding: 0 var(--space-2);\n margin-top: var(--space-1);\n\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: var(--space-4);\n display: flex;\n align-items: center;\n fill: var(--color-neutral-400);\n width: var(--space-4);\n height: var(--space-4);\n }\n\n input {\n padding-left: var(--space-8);\n }\n"], ["\n position: relative;\n border-radius: var(--rounded-md);\n padding: 0 var(--space-2);\n margin-top: var(--space-1);\n\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: var(--space-4);\n display: flex;\n align-items: center;\n fill: var(--color-neutral-400);\n width: var(--space-4);\n height: var(--space-4);\n }\n\n input {\n padding-left: var(--space-8);\n }\n"])));
14
+ })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n border-radius: var(--rounded-md);\n padding: 0 var(--space-1);\n\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: var(--space-4);\n display: flex;\n align-items: center;\n fill: var(--color-neutral-400);\n width: var(--space-4);\n height: var(--space-4);\n }\n\n input {\n padding-left: var(--space-8);\n }\n"], ["\n position: relative;\n border-radius: var(--rounded-md);\n padding: 0 var(--space-1);\n\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: var(--space-4);\n display: flex;\n align-items: center;\n fill: var(--color-neutral-400);\n width: var(--space-4);\n height: var(--space-4);\n }\n\n input {\n padding-left: var(--space-8);\n }\n"])));
45
15
  exports.CheckboxesContainer = styled_components_1.default.div.attrs({
46
16
  className: 'CheckboxesContainer',
47
- })(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n font-weight: normal;\n user-select: none;\n padding: var(--space-2);\n margin: var(--space-2);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--rounded-md);\n box-shadow: var(--shadow-inner);\n background-color: var(--color-neutral-50);\n height: 20em;\n overflow-y: hidden;\n white-space: nowrap;\n"], ["\n font-weight: normal;\n user-select: none;\n padding: var(--space-2);\n margin: var(--space-2);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--rounded-md);\n box-shadow: var(--shadow-inner);\n background-color: var(--color-neutral-50);\n height: 20em;\n overflow-y: hidden;\n white-space: nowrap;\n"])));
48
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
17
+ })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-weight: normal;\n user-select: none;\n padding: var(--space-2);\n margin: var(--space-1);\n margin-bottom: 0;\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--rounded-md);\n box-shadow: var(--shadow-inner);\n background-color: var(--color-neutral-0);\n height: 20em;\n overflow-y: hidden;\n white-space: nowrap;\n"], ["\n font-weight: normal;\n user-select: none;\n padding: var(--space-2);\n margin: var(--space-1);\n margin-bottom: 0;\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--rounded-md);\n box-shadow: var(--shadow-inner);\n background-color: var(--color-neutral-0);\n height: 20em;\n overflow-y: hidden;\n white-space: nowrap;\n"])));
18
+ exports.Separator = styled_components_1.default.div.attrs({
19
+ className: 'Separator',
20
+ })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border-top: 1px solid var(--color-neutral-200);\n margin: var(--space-1) 0;\n"], ["\n border-top: 1px solid var(--color-neutral-200);\n margin: var(--space-1) 0;\n"])));
21
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -1,4 +1,4 @@
1
1
  import { DataGridContext } from './types';
2
2
  export declare const DataGridFooter: <R>({ context, }: {
3
3
  context: DataGridContext<R>;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,31 +1,44 @@
1
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.DataGridFooter = void 0;
4
27
  var jsx_runtime_1 = require("react/jsx-runtime");
5
- var getScrollbarSize_1 = require("../../../helpers/getScrollbarSize");
6
- var lodash_1 = require("lodash");
28
+ /* eslint-disable @typescript-eslint/no-explicit-any */
29
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
30
+ var styles = __importStar(require("./styles"));
7
31
  var hooks_1 = require("./hooks");
8
- var SCROLL_BAR_SIZE = (0, getScrollbarSize_1.getScrollBarSize)();
9
32
  var DataGridFooter = function (_a) {
10
33
  var context = _a.context;
11
- var _b = (0, hooks_1.useDataGridContext)(context), visibleColumns = _b.visibleColumns, rows = _b.rows, selectedRows = _b.selectedRows, sortedRows = _b.sortedRows, _c = _b.rowHeight, rowHeight = _c === void 0 ? 48 : _c, selectable = _b.selectable;
12
- return ((0, jsx_runtime_1.jsx)("tfoot", {
13
- // className="block border-t border-t-gray-300"
14
- style: {
15
- paddingRight: "".concat(SCROLL_BAR_SIZE[0], "px"),
16
- }, children: (0, jsx_runtime_1.jsxs)("tr", {
17
- // className="grid bg-gray-100"
18
- style: {
19
- height: "".concat(rowHeight, "px"),
20
- }, children: [!!selectable && ((0, jsx_runtime_1.jsx)("div", {}, "__select_checkbox__")), visibleColumns.map(function (_a) {
21
- var _b, _c;
22
- var key = _a[0], col = _a[1];
23
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, lodash_1.join)([
24
- // 'inline-block relative group px-3 py-0 text-left text-sm hover:bg-gray-50 leading-6',
25
- col.className,
26
- col.footerClassName,
27
- // '!overflow-visible',
28
- ], ' '), style: { width: ((_b = col.width) !== null && _b !== void 0 ? _b : 150) + 'px' }, children: (_c = col.footer) === null || _c === void 0 ? void 0 : _c.call(col, rows, sortedRows, selectedRows) }, key));
29
- })] }) }));
34
+ var _b = (0, hooks_1.useDataGridContext)(context), visibleColumns = _b.visibleColumns, rows = _b.rows, selectedRows = _b.selectedRows, sortedRows = _b.sortedRows, selectable = _b.selectable, _c = _b.footers, footers = _c === void 0 ? {} : _c, gridTemplateColumns = _b.gridTemplateColumns, footerFunctions = _b.footerFunctions;
35
+ if (!Object.keys(footers).length) {
36
+ return null;
37
+ }
38
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridFooterRow, { "$gridTemplateColumns": gridTemplateColumns, children: [!!selectable && (0, jsx_runtime_1.jsx)(styles.HeaderSelectionCell, {}), visibleColumns.map(function (_a) {
39
+ var _b, _c;
40
+ var key = _a[0], col = _a[1];
41
+ return ((0, jsx_runtime_1.jsx)(styles.DataGridHeaderCellContainer, { style: { width: ((_b = col.width) !== null && _b !== void 0 ? _b : 150) + 'px' }, children: (_c = footerFunctions === null || footerFunctions === void 0 ? void 0 : footerFunctions[key]) === null || _c === void 0 ? void 0 : _c.call(footerFunctions, rows, sortedRows, selectedRows) }, key));
42
+ })] }));
30
43
  };
31
44
  exports.DataGridFooter = DataGridFooter;
@@ -111,9 +111,7 @@ var DataGridHeader = function (_a) {
111
111
  copyTable().then(function () { return setIsLoadingVisible(false); });
112
112
  }, [copyTable]);
113
113
  var toolsRow = ((0, jsx_runtime_1.jsxs)(styles.DataGridToolsRow, { children: [(0, jsx_runtime_1.jsx)(layout_1.Loading, { visible: isLoadingVisible }), refresh && ((0, jsx_runtime_1.jsxs)(forms_1.Button, { size: "small", onClick: refresh, children: [(0, jsx_runtime_1.jsx)(Icons_1.ArrowsRotateIcon, {}), "Rafra\u00EEchir"] })), (0, jsx_runtime_1.jsxs)(forms_1.Button, { color: "emerald", size: "small", onClick: runCopyTable, children: [(0, jsx_runtime_1.jsx)(Icons_1.CopyIcon, {}), "Copier la table"] }), (0, jsx_runtime_1.jsxs)(forms_1.Button, { size: "small", color: "danger", onClick: function () { return setFilters({}); }, children: [(0, jsx_runtime_1.jsx)(Icons_1.FilterSlashIcon, {}), "Supprimer les filtres"] }), name && ((0, jsx_runtime_1.jsxs)(forms_1.Button, { color: "info", size: "small", onClick: openModal, children: [(0, jsx_runtime_1.jsx)(Icons_1.TableColumnsIcon, {}), "Param\u00E8tres des colonnes"] }))] }));
114
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modal, toolsRow, (0, jsx_runtime_1.jsxs)(styles.DataGridHeaderRow, { "$gridTemplateColumns": gridTemplateColumns, "$headerColor": headerColor, children: [!!selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell
115
- // className="inline-flex items-center justify-center w-12 select-none"
116
- , { children: (0, jsx_runtime_1.jsx)(IndeterminateCheckbox_1.IndeterminateCheckbox, { checked: checkboxStatus, onChange: function () { return toggleAll(!checkboxStatus); } }) })), visibleColumns.map(function (_a, index) {
114
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modal, toolsRow, (0, jsx_runtime_1.jsxs)(styles.DataGridHeaderRow, { "$gridTemplateColumns": gridTemplateColumns, "$headerColor": headerColor, children: [!!selectable && ((0, jsx_runtime_1.jsx)(styles.HeaderSelectionCell, { "$headerColor": headerColor, onClick: function () { return toggleAll(!(checkboxStatus !== null && checkboxStatus !== void 0 ? checkboxStatus : true)); }, children: (0, jsx_runtime_1.jsx)(IndeterminateCheckbox_1.IndeterminateCheckbox, { checked: checkboxStatus, readOnly: true }) })), visibleColumns.map(function (_a, index) {
117
115
  var key = _a[0], col = _a[1];
118
116
  return ((0, jsx_runtime_1.jsx)(DataGridHeaderCell_1.DataGridHeaderCell, { columnKey: key, column: col, context: context, columnIndex: index, isFilterOpen: visibleFilter === key, onFilterButtonClicked: onFilterButtonClicked }, key));
119
117
  })] })] }));
@@ -28,38 +28,22 @@ var jsx_runtime_1 = require("react/jsx-runtime");
28
28
  /* eslint-disable @typescript-eslint/no-explicit-any */
29
29
  /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
30
30
  var styles = __importStar(require("./styles"));
31
- var Icons_1 = require("../../../Icons");
32
31
  var react_1 = require("react");
32
+ var Icons_1 = require("../../../Icons");
33
33
  var DataGridFilterMenu_1 = require("./DataGridFilterMenu");
34
34
  var layout_1 = require("../../layout");
35
35
  var IconButton_1 = require("../../forms/IconButton");
36
36
  var hooks_1 = require("./hooks");
37
37
  var providers_1 = require("../../../providers");
38
38
  var DataGridHeaderCell = function (_a) {
39
- var _b, _c;
39
+ var _b;
40
40
  var columnKey = _a.columnKey, columnIndex = _a.columnIndex, column = _a.column, context = _a.context;
41
41
  var getElementScreenRect = (0, providers_1.useUi)().getElementScreenRect;
42
42
  var contextValue = (0, hooks_1.useDataGridContext)(context);
43
- var _d = contextValue.filters, filters = _d === void 0 ? {} : _d, _e = contextValue.sorts, sorts = _e === void 0 ? {} : _e, setSorts = contextValue.setSorts, setColumnWidth = contextValue.setColumnWidth, saveSettings = contextValue.saveSettings, headerColor = contextValue.headerColor;
43
+ var _c = contextValue.filters, filters = _c === void 0 ? {} : _c, setColumnWidth = contextValue.setColumnWidth, saveSettings = contextValue.saveSettings, headerColor = contextValue.headerColor;
44
44
  var filterButtonRef = (0, react_1.useRef)(null);
45
- /** SORTING */
46
- var SortIcon = sorts[columnKey]
47
- ? sorts[columnKey] === 'desc'
48
- ? Icons_1.ArrowUpZAIcon
49
- : Icons_1.ArrowDownAZIcon
50
- : Icons_1.ArrowsUpDownIcon;
51
- var onSortButtonClicked = (0, react_1.useCallback)(function (columnKey) {
52
- var _a, _b;
53
- var sort = sorts[columnKey];
54
- if (!sort || sort === 'desc') {
55
- setSorts((_a = {}, _a[columnKey] = 'asc', _a));
56
- }
57
- else {
58
- setSorts((_b = {}, _b[columnKey] = 'desc', _b));
59
- }
60
- }, [setSorts, sorts]);
61
45
  /** RESIZING */
62
- var _f = (0, react_1.useState)(false), isResizing = _f[0], setIsResizing = _f[1];
46
+ var _d = (0, react_1.useState)(false), isResizing = _d[0], setIsResizing = _d[1];
63
47
  var resizingOffset = (0, react_1.useRef)(0);
64
48
  var onResizeStart = (0, react_1.useCallback)(function (e) {
65
49
  resizingOffset.current = e.screenX - (column.width || 150);
@@ -75,7 +59,7 @@ var DataGridHeaderCell = function (_a) {
75
59
  setIsResizing(false);
76
60
  saveSettings();
77
61
  }, [saveSettings]);
78
- var _g = (0, react_1.useState)(false), isFilterDropdownVisible = _g[0], setIsFilterDropdownVisible = _g[1];
62
+ var _e = (0, react_1.useState)(false), isFilterDropdownVisible = _e[0], setIsFilterDropdownVisible = _e[1];
79
63
  var filterDropdown = (0, react_1.useMemo)(function () {
80
64
  if (!isFilterDropdownVisible || !filterButtonRef.current || !columnKey) {
81
65
  return null;
@@ -83,7 +67,7 @@ var DataGridHeaderCell = function (_a) {
83
67
  var filterButtonRect = getElementScreenRect(filterButtonRef.current);
84
68
  filterButtonRect.x += window.scrollX;
85
69
  filterButtonRect.y += window.scrollY;
86
- return ((0, jsx_runtime_1.jsx)(layout_1.Dropdown, { "$sourceRect": filterButtonRect, onClose: function () { return setIsFilterDropdownVisible(false); }, "$width": 320, "$height": [200, 320], "$autoPositionX": true, children: (0, jsx_runtime_1.jsx)(DataGridFilterMenu_1.DataGridFilterMenu, { columnKey: columnKey, columnIndex: columnIndex, context: context, onClose: function () { return setIsFilterDropdownVisible(false); } }) }));
70
+ return ((0, jsx_runtime_1.jsx)(layout_1.Dropdown, { "$sourceRect": filterButtonRect, onClose: function () { return setIsFilterDropdownVisible(false); }, "$width": 320, "$height": [250, 400], "$autoPositionX": true, children: (0, jsx_runtime_1.jsx)(DataGridFilterMenu_1.DataGridFilterMenu, { columnKey: columnKey, columnIndex: columnIndex, context: context, onClose: function () { return setIsFilterDropdownVisible(false); } }) }));
87
71
  }, [
88
72
  columnIndex,
89
73
  columnKey,
@@ -94,6 +78,7 @@ var DataGridHeaderCell = function (_a) {
94
78
  var onFilterButtonClicked = (0, react_1.useCallback)(function () {
95
79
  setIsFilterDropdownVisible(true);
96
80
  }, []);
97
- return ((0, jsx_runtime_1.jsxs)(styles.DataGridHeaderCellContainer, { "$headerColor": headerColor, "$isResizing": isResizing, children: [filterDropdown, (0, jsx_runtime_1.jsx)("span", { children: column.name }), !!column.sortGetter && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { color: headerColor, size: "small", icon: SortIcon, onClick: function () { return onSortButtonClicked === null || onSortButtonClicked === void 0 ? void 0 : onSortButtonClicked(columnKey); } })), !!column.filter && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { size: "small", ref: filterButtonRef, icon: ((_b = filters[columnKey]) === null || _b === void 0 ? void 0 : _b.values.length) > 0 ? Icons_1.FilterFullIcon : Icons_1.FilterIcon, color: ((_c = filters[columnKey]) === null || _c === void 0 ? void 0 : _c.values.length) > 0 ? 'danger' : headerColor, onClick: onFilterButtonClicked })), column.resizable !== false && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(styles.DataGridResizeGrip, { className: isResizing ? 'active' : '', "$headerColor": headerColor, onMouseDown: onResizeStart }), isResizing && ((0, jsx_runtime_1.jsx)(styles.ResizeBackdrop, { onMouseMove: onResizeMove, onMouseUp: onResizeEnd }))] }))] }));
81
+ var hasFilters = ((_b = filters[columnKey]) === null || _b === void 0 ? void 0 : _b.values.length) > 0;
82
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridHeaderCellContainer, { "$headerColor": headerColor, "$isResizing": isResizing, children: [filterDropdown, (0, jsx_runtime_1.jsx)("span", { children: column.name }), !!column.filter && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { size: "small", className: hasFilters ? 'danger' : '', ref: filterButtonRef, icon: Icons_1.ChevronDownIcon, color: hasFilters ? 'danger' : headerColor, onClick: onFilterButtonClicked })), column.resizable !== false && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(styles.DataGridResizeGrip, { className: isResizing ? 'active' : '', "$headerColor": headerColor, onMouseDown: onResizeStart }), isResizing && ((0, jsx_runtime_1.jsx)(styles.ResizeBackdrop, { onMouseMove: onResizeMove, onMouseUp: onResizeEnd }))] }))] }));
98
83
  };
99
84
  exports.DataGridHeaderCell = DataGridHeaderCell;
@@ -1,7 +1,7 @@
1
- import { DataGridFilter, DataGridFilterType } from '../types';
2
- type FilterModalContentProps<R, T extends DataGridFilterType = DataGridFilterType> = {
3
- filter: DataGridFilter<R, T>;
4
- onFilterChanged: (filter: DataGridFilter<R, T>) => void;
1
+ import { DataGridFilter } from '../types';
2
+ type FilterModalContentProps = {
3
+ filter: DataGridFilter;
4
+ onFilterChanged: (filter: DataGridFilter) => void;
5
5
  };
6
- export declare const FilterModalContent: <R, T extends DataGridFilterType = keyof import("../types").DataGridFilterPredicates>({ filter, onFilterChanged, }: FilterModalContentProps<R, T>) => import("react/jsx-runtime").JSX.Element | null;
6
+ export declare const FilterModalContent: ({ filter, onFilterChanged, }: FilterModalContentProps) => import("react/jsx-runtime").JSX.Element | null;
7
7
  export {};
@@ -83,15 +83,17 @@ var FilterModalContent = function (_a) {
83
83
  var operator = filter.operator, type = filter.type, values = filter.values;
84
84
  return ((0, jsx_runtime_1.jsxs)(styles.FilterModalContentContainer, { children: [(0, jsx_runtime_1.jsxs)("label", { htmlFor: "filterOperator", children: [(0, jsx_runtime_1.jsx)("span", { children: "Op\u00E9rateur :" }), (0, jsx_runtime_1.jsx)(forms_1.Select, { name: "filterOperator", items: Object.entries(filterOperators[filter.type]), itemKey: 0, itemLabel: 1, value: String(operator), className: "text-sm", onChange: function (e) {
85
85
  return onFilterChanged(__assign(__assign({}, filter), { operator: e.target.value }));
86
- } })] }), (0, jsx_runtime_1.jsxs)("label", { htmlFor: "filterValue1", children: [(0, jsx_runtime_1.jsxs)("span", { children: [operator === 'inRange' ? 'Entre' : 'Valeur', " :"] }), (0, jsx_runtime_1.jsx)(forms_1.Input, { ref: value1Ref, name: "filterValue1", type: filter.type, value: (_b = values[0]) !== null && _b !== void 0 ? _b : '',
87
- // className={(type === 'number' ? 'w-24 ' : '') + 'text-sm'}
88
- onChange: function (e) {
89
- var newValues = __spreadArray([], values, true);
90
- newValues[0] =
91
- type === 'number'
92
- ? Number(e.target.value)
93
- : String(e.target.value);
94
- onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
86
+ } })] }), (0, jsx_runtime_1.jsxs)("label", { htmlFor: "filterValue1", children: [(0, jsx_runtime_1.jsxs)("span", { children: [operator === 'inRange' ? 'Entre' : 'Valeur', " :"] }), (0, jsx_runtime_1.jsx)(forms_1.Input, { ref: value1Ref, name: "filterValue1", type: filter.type, value: (_b = values[0]) !== null && _b !== void 0 ? _b : '', onChange: function (e) {
87
+ if (type === 'number') {
88
+ var newValues = __spreadArray([], values, true);
89
+ newValues[0] = Number(e.target.value);
90
+ onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
91
+ }
92
+ else {
93
+ var newValues = __spreadArray([], values, true);
94
+ newValues[0] = String(e.target.value);
95
+ onFilterChanged(__assign(__assign({}, filter), { values: newValues }));
96
+ }
95
97
  } })] }), operator === 'inRange' && ((0, jsx_runtime_1.jsxs)("label", { htmlFor: "filterValue2", children: [(0, jsx_runtime_1.jsx)("span", { children: "et" }), (0, jsx_runtime_1.jsx)("input", { name: "filterValue2", type: filter.type, value: (_c = values[1]) !== null && _c !== void 0 ? _c : '',
96
98
  // className="text-sm w-24"
97
99
  onChange: function (e) {
@@ -1,12 +1,13 @@
1
- import { DataGridFilterFormatter, DataGridFilterGroup } from './types';
2
- type FilterValuesScrollerProps<R extends string | number | null> = {
3
- values: R[];
1
+ import { DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterRenderer, DataGridFilterValue } from './types';
2
+ type FilterValuesScrollerProps = {
3
+ values: DataGridFilterValue[];
4
4
  rowHeight?: number;
5
5
  formatter: DataGridFilterFormatter;
6
+ renderer: DataGridFilterRenderer;
6
7
  onRangeChange?: (startIndex: number, length: number) => void;
7
- onToggle?: (values: R[]) => void;
8
- selectedValues?: R[];
9
- groups?: DataGridFilterGroup<R>[];
8
+ onToggle?: (values: DataGridFilterValue[]) => void;
9
+ selectedValues?: DataGridFilterValue[];
10
+ groups?: DataGridFilterGroup[];
10
11
  };
11
- export declare const FilterValuesScroller: <R extends string | number | null>({ values, rowHeight, onRangeChange, onToggle, formatter, selectedValues, groups, }: FilterValuesScrollerProps<R>) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const FilterValuesScroller: ({ values, rowHeight, onRangeChange, onToggle, formatter, renderer, selectedValues, groups, }: FilterValuesScrollerProps) => import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -39,23 +39,22 @@ var jsx_runtime_1 = require("react/jsx-runtime");
39
39
  /* eslint-disable @typescript-eslint/no-explicit-any */
40
40
  var styles = __importStar(require("./styles"));
41
41
  var lodash_1 = require("lodash");
42
- var react_1 = require("react");
43
42
  var helpers_1 = require("./helpers");
43
+ var react_1 = require("react");
44
44
  var hooks_1 = require("../../../hooks");
45
- var defaultFormatter = function (value) { return (value == null ? null : String(value)); };
46
45
  var CheckboxTemplate = function (_a) {
47
46
  var selectedValues = _a.selectedValues, value = _a.value, index = _a.index, className = _a.className, style = _a.style, onToggle = _a.onToggle;
48
47
  return ((0, jsx_runtime_1.jsxs)("div", { className: (0, lodash_1.join)([
49
48
  // 'absolute left-0 right-0 flex flex-row cursor-pointer hover:bg-gray-50',
50
49
  className,
51
- ], ' '), style: __assign(__assign({}, style), { paddingLeft: "".concat(value.level, "rem") }), title: value.displayValue || '(Vides)', onClick: function () { return onToggle === null || onToggle === void 0 ? void 0 : onToggle(value.values); }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: selectedValues.includes(value.values[0]), readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: value.displayValue || '(Vides)' })] }, index));
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));
52
51
  };
53
52
  var FilterValuesScroller = function (_a) {
54
- 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 ? defaultFormatter : _c, _d = _a.selectedValues, selectedValues = _d === void 0 ? [] : _d, groups = _a.groups;
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;
55
54
  var scrollableRef = (0, react_1.useRef)(null);
56
55
  var height = (0, hooks_1.useElementSize)(scrollableRef.current).height;
57
56
  var tolerance = 20;
58
- var _e = (0, react_1.useState)(0), scrollTop = _e[0], setScrollTop = _e[1];
57
+ var _f = (0, react_1.useState)(0), scrollTop = _f[0], setScrollTop = _f[1];
59
58
  var index = Math.floor(scrollTop / rowHeight);
60
59
  var length = Math.ceil(height / rowHeight);
61
60
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -63,7 +62,7 @@ var FilterValuesScroller = function (_a) {
63
62
  var target = e.target;
64
63
  setScrollTop(function () { return target.scrollTop; });
65
64
  }, 50), []);
66
- var checkboxes = (0, react_1.useMemo)(function () { return (0, helpers_1.getCheckboxes)(values, formatter !== null && formatter !== void 0 ? formatter : defaultFormatter, groups); }, [values, groups, formatter]);
65
+ var checkboxes = (0, react_1.useMemo)(function () { return (0, helpers_1.getCheckboxes)(values, renderer, formatter, groups); }, [values, groups, renderer, formatter]);
67
66
  var visibleCheckboxes = checkboxes.slice(Math.max(0, index - tolerance), index + length + 1 + tolerance);
68
67
  var firstCheckboxTop = Math.max(0, index - tolerance) * rowHeight;
69
68
  (0, react_1.useEffect)(function () {
@@ -7,6 +7,6 @@ export declare const dateColumn: <R extends Record<string, any>>(key: string, ti
7
7
  export declare const monthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
8
8
  export declare const numberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
9
9
  export declare const moneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
10
- export declare const percentageColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
10
+ export declare const percentageColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
11
11
  export declare const checkboxColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
12
12
  export declare const colorColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<DataGridColumn<R>>) => DataGridColumns<R>;
@@ -19,15 +19,18 @@ var jsx_runtime_1 = require("react/jsx-runtime");
19
19
  var numbers_1 = require("../../../../helpers/numbers");
20
20
  var filters_1 = require("./filters");
21
21
  var moment_1 = __importDefault(require("moment"));
22
- var isColumnVisible = function (obj) {
23
- console.log('isColumnVisible obj=', obj);
24
- return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1;
25
- };
22
+ var lodash_1 = require("lodash");
23
+ var isColumnVisible = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1; };
26
24
  exports.isColumnVisible = isColumnVisible;
25
+ var buildExcelFormat = function (decimals, suffix) {
26
+ if (decimals === void 0) { decimals = 2; }
27
+ if (suffix === void 0) { suffix = ''; }
28
+ return "#0".concat(decimals > 0 ? ".".concat((0, lodash_1.repeat)('0', decimals)) : '').concat(suffix);
29
+ };
27
30
  var textColumn = function (key, title, options) {
28
31
  var _a;
29
32
  return (_a = {},
30
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
33
+ _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),
31
34
  _a);
32
35
  };
33
36
  exports.textColumn = textColumn;
@@ -39,7 +42,7 @@ var mailColumn = function (key, title, options) {
39
42
  return ((0, jsx_runtime_1.jsx)("a", {
40
43
  // className="text-blue-500 hover:text-blue-700"
41
44
  href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
42
- }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
45
+ }, 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),
43
46
  _a);
44
47
  };
45
48
  exports.mailColumn = mailColumn;
@@ -51,21 +54,21 @@ var phoneColumn = function (key, title, options) {
51
54
  return ((0, jsx_runtime_1.jsx)("a", {
52
55
  // className="text-blue-500 hover:text-blue-700"
53
56
  href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
54
- }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
57
+ }, 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),
55
58
  _a);
56
59
  };
57
60
  exports.phoneColumn = phoneColumn;
58
61
  var dateColumn = function (key, title, options) {
59
62
  var _a;
60
63
  return (_a = {},
61
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
64
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
62
65
  _a);
63
66
  };
64
67
  exports.dateColumn = dateColumn;
65
68
  var monthColumn = function (key, title, options) {
66
69
  var _a;
67
70
  return (_a = {},
68
- _a[key] = __assign({ name: title, render: function (row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
71
+ _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),
69
72
  _a);
70
73
  };
71
74
  exports.monthColumn = monthColumn;
@@ -73,12 +76,22 @@ var numberColumn = function (key, title, decimals, options) {
73
76
  var _a;
74
77
  if (decimals === void 0) { decimals = 2; }
75
78
  return (_a = {},
76
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: {
77
- type: 'number',
78
- operator: 'equals',
79
- values: [0],
80
- getter: function (value) { return value !== null && value !== void 0 ? value : 0; },
81
- } }, options),
79
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: {
80
+ sum: function (_, filteredRows) {
81
+ 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);
82
+ },
83
+ average: function (_, filteredRows) {
84
+ return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
85
+ (filteredRows.length || 1), decimals);
86
+ },
87
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
88
+ max: function (_, filteredRows) {
89
+ 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);
90
+ },
91
+ min: function (_, filteredRows) {
92
+ 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);
93
+ },
94
+ }, 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),
82
95
  _a);
83
96
  };
84
97
  exports.numberColumn = numberColumn;
@@ -86,21 +99,60 @@ var moneyColumn = function (key, title, decimals, options) {
86
99
  var _a;
87
100
  if (decimals === void 0) { decimals = 2; }
88
101
  return (_a = {},
89
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#0.00'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key) }, options),
102
+ _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 buildExcelFormat(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: {
103
+ sum: function (_, filteredRows) {
104
+ 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);
105
+ },
106
+ average: function (_, filteredRows) {
107
+ return (0, numbers_1.formatMoney)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
108
+ (filteredRows.length || 1), decimals);
109
+ },
110
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
111
+ max: function (_, filteredRows) {
112
+ 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);
113
+ },
114
+ min: function (_, filteredRows) {
115
+ 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);
116
+ },
117
+ } }, options),
90
118
  _a);
91
119
  };
92
120
  exports.moneyColumn = moneyColumn;
93
- var percentageColumn = function (key, title, options) {
121
+ var percentageColumn = function (key, title, decimals, options) {
94
122
  var _a;
123
+ if (decimals === void 0) { decimals = 2; }
95
124
  return (_a = {},
96
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#0.00'; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key) }, options),
125
+ _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 buildExcelFormat(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: {
126
+ average: function (_, filteredRows) {
127
+ return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
128
+ (filteredRows.length || 1), decimals);
129
+ },
130
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
131
+ max: function (_, filteredRows) {
132
+ 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);
133
+ },
134
+ min: function (_, filteredRows) {
135
+ 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);
136
+ },
137
+ sum: function (_, filteredRows) {
138
+ 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);
139
+ },
140
+ } }, options),
97
141
  _a);
98
142
  };
99
143
  exports.percentageColumn = percentageColumn;
100
144
  var checkboxColumn = function (key, title, options) {
101
145
  var _a;
102
146
  return (_a = {},
103
- _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row[key] }), (0, jsx_runtime_1.jsx)("span", { children: row[key] ? ' Oui' : ' Non' })] })); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key) }, options),
147
+ _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row[key] }), (0, jsx_runtime_1.jsx)("span", { children: row[key] ? ' Oui' : ' Non' })] })); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
148
+ count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
149
+ checked: function (_, filteredRows) {
150
+ return "".concat(filteredRows.filter(function (row) { return !!row[key]; }).length, " coch\u00E9s");
151
+ },
152
+ unchecked: function (_, filteredRows) {
153
+ return "".concat(filteredRows.filter(function (row) { return !row[key]; }).length, " d\u00E9coch\u00E9s");
154
+ },
155
+ } }, options),
104
156
  _a);
105
157
  };
106
158
  exports.checkboxColumn = checkboxColumn;
@@ -110,7 +162,7 @@ var colorColumn = function (key, title, options) {
110
162
  _a[key] = __assign({ name: title, render: function (row) {
111
163
  var _a;
112
164
  return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
113
- }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key) }, options),
165
+ }, 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),
114
166
  _a);
115
167
  };
116
168
  exports.colorColumn = colorColumn;
@@ -1,4 +1,4 @@
1
- import { DataGridFilter, DataGridFilterCheckbox, DataGridFilterDataType, DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterPredicates, DataGridFilterType } from '../types';
1
+ import { DataGridFilter, DataGridFilterCheckbox, DataGridFilterDataType, DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterPredicates, DataGridFilterRenderer, DataGridFilterType, DataGridFilterValue } from '../types';
2
2
  export declare const filtersPredicates: DataGridFilterPredicates;
3
3
  export declare const applyFilters: <R>(rows: R[], filters: DataGridFilter[]) => R[];
4
4
  export declare const applyFilter: <R>(rows: R[], filter: DataGridFilter) => R[];
@@ -10,7 +10,8 @@ export declare const defaultValueParsers: {
10
10
  [K in DataGridFilterType]: (value: string) => DataGridFilterDataType<K>;
11
11
  };
12
12
  export declare const groupDatesByYearAndMonth: (dates: any[]) => Record<string, Record<string, any[]>>;
13
- export declare const getDateGroups: <R extends string | number | null>(dates: any[]) => DataGridFilterGroup<R>[];
14
- export declare const getCheckboxes: <R extends string | number | null>(values: R[], formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup<R>[], level?: number) => DataGridFilterCheckbox<R>[];
13
+ export declare const getDateGroups: (dates: any[]) => DataGridFilterGroup[];
14
+ export declare const defaultRendererAndFormatter: (value: any) => string;
15
+ export declare const getCheckboxes: (values: DataGridFilterValue[], renderer: DataGridFilterRenderer, formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup[], level?: number) => DataGridFilterCheckbox[];
15
16
  export declare const textFilter: (key: string) => DataGridFilter<"text">;
16
17
  export declare const numberFilter: (key: string) => DataGridFilter<"number">;
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.numberFilter = exports.textFilter = exports.getCheckboxes = exports.getDateGroups = exports.groupDatesByYearAndMonth = exports.defaultValueParsers = exports.defaultFilterValues = exports.defaultFilterGetter = exports.applyFilter = exports.applyFilters = exports.filtersPredicates = void 0;
16
+ exports.numberFilter = exports.textFilter = exports.getCheckboxes = exports.defaultRendererAndFormatter = exports.getDateGroups = exports.groupDatesByYearAndMonth = exports.defaultValueParsers = exports.defaultFilterValues = exports.defaultFilterGetter = exports.applyFilter = exports.applyFilters = exports.filtersPredicates = void 0;
17
17
  var moment_1 = __importDefault(require("moment"));
18
18
  var escapeRegExp = function (s) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); };
19
19
  var textContainsPredicate = function () {
@@ -219,13 +219,21 @@ var getDateGroups = function (dates) {
219
219
  });
220
220
  };
221
221
  exports.getDateGroups = getDateGroups;
222
- var getCheckboxes = function (values, formatter, groups, level) {
222
+ var defaultRendererAndFormatter = function (value) {
223
+ return String(value !== null && value !== void 0 ? value : '').trim() || '(Vides)';
224
+ };
225
+ exports.defaultRendererAndFormatter = defaultRendererAndFormatter;
226
+ var getCheckboxes = function (values, renderer, formatter, groups, level) {
223
227
  if (level === void 0) { level = 0; }
224
228
  return __spreadArray(__spreadArray([], (groups !== null && groups !== void 0 ? groups : [])
225
- .map(function (group) { var _a; return (0, exports.getCheckboxes)((_a = group.values) !== null && _a !== void 0 ? _a : [], formatter, group.groups, level + 1); })
229
+ .map(function (group) {
230
+ var _a;
231
+ return (0, exports.getCheckboxes)((_a = group.values) !== null && _a !== void 0 ? _a : [], renderer, formatter, group.groups, level + 1);
232
+ })
226
233
  .flat(), true), values.map(function (value) { return ({
227
- displayValue: formatter(value),
228
- values: [value],
234
+ displayValue: renderer(value),
235
+ title: formatter(value),
236
+ value: value !== null && value !== void 0 ? value : '',
229
237
  level: level,
230
238
  }); }), true);
231
239
  };