@addev-be/ui 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/Icons.d.ts +7 -1
  2. package/dist/Icons.js +13 -1
  3. package/dist/components/auth/LoginForm.d.ts +2 -0
  4. package/dist/components/auth/LoginForm.js +47 -0
  5. package/dist/components/auth/LoginPage.d.ts +2 -0
  6. package/dist/components/auth/LoginPage.js +9 -0
  7. package/dist/components/auth/PasswordRecoveryForm.d.ts +2 -0
  8. package/dist/components/auth/PasswordRecoveryForm.js +24 -0
  9. package/dist/components/auth/PasswordResetForm.d.ts +2 -0
  10. package/dist/components/auth/PasswordResetForm.js +56 -0
  11. package/dist/components/auth/index.d.ts +4 -0
  12. package/dist/components/auth/index.js +20 -0
  13. package/dist/components/auth/styles.d.ts +3 -0
  14. package/dist/components/auth/styles.js +16 -0
  15. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +1 -1
  16. package/dist/components/data/AdvancedRequestDataGrid/index.js +1 -1
  17. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.d.ts +13 -0
  18. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +71 -0
  19. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +9 -8
  20. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +9 -0
  21. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +12 -2
  22. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +3 -0
  23. package/dist/components/data/DataGrid/DataGridRowTemplate.js +71 -0
  24. package/dist/components/data/DataGrid/FilterModalContent/index.js +18 -9
  25. package/dist/components/data/DataGrid/helpers/columns.d.ts +2 -0
  26. package/dist/components/data/DataGrid/helpers/columns.js +21 -7
  27. package/dist/components/data/DataGrid/helpers/filters.d.ts +2 -1
  28. package/dist/components/data/DataGrid/helpers/filters.js +94 -14
  29. package/dist/components/data/DataGrid/hooks/useDataGrid.js +35 -40
  30. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +2 -2
  31. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +47 -55
  32. package/dist/components/data/DataGrid/index.d.ts +7 -3
  33. package/dist/components/data/DataGrid/index.js +16 -61
  34. package/dist/components/data/DataGrid/styles.d.ts +2 -19
  35. package/dist/components/data/DataGrid/styles.js +24 -47
  36. package/dist/components/data/DataGrid/types.d.ts +17 -7
  37. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +1 -0
  38. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +19 -8
  39. package/dist/components/data/SqlRequestDataGrid/index.d.ts +12 -1
  40. package/dist/components/data/SqlRequestDataGrid/index.js +37 -24
  41. package/dist/components/data/SqlRequestGrid/helpers/index.d.ts +1 -0
  42. package/dist/components/data/SqlRequestGrid/helpers/index.js +17 -0
  43. package/dist/components/data/SqlRequestGrid/helpers/sqlRequests.d.ts +3 -0
  44. package/dist/components/data/SqlRequestGrid/helpers/sqlRequests.js +18 -0
  45. package/dist/components/data/SqlRequestGrid/index.d.ts +4 -0
  46. package/dist/components/data/SqlRequestGrid/index.js +145 -0
  47. package/dist/components/data/SqlRequestGrid/styles.d.ts +16 -0
  48. package/dist/components/data/SqlRequestGrid/styles.js +33 -0
  49. package/dist/components/data/SqlRequestGrid/types.d.ts +30 -0
  50. package/dist/components/data/SqlRequestGrid/types.js +3 -0
  51. package/dist/components/data/VirtualScroller/hooks.d.ts +18 -0
  52. package/dist/components/data/VirtualScroller/hooks.js +50 -0
  53. package/dist/components/data/VirtualScroller/index.d.ts +14 -0
  54. package/dist/components/data/VirtualScroller/index.js +58 -0
  55. package/dist/components/data/VirtualScroller/styles.d.ts +16 -0
  56. package/dist/components/data/VirtualScroller/styles.js +39 -0
  57. package/dist/components/data/VirtualScroller/types.d.ts +6 -0
  58. package/dist/components/data/VirtualScroller/types.js +3 -0
  59. package/dist/components/data/index.d.ts +6 -1
  60. package/dist/components/data/index.js +6 -1
  61. package/dist/components/forms/Button.d.ts +1 -1
  62. package/dist/components/forms/IconButton.d.ts +2 -2
  63. package/dist/components/forms/VerticalLabel.d.ts +6 -0
  64. package/dist/components/forms/VerticalLabel.js +32 -0
  65. package/dist/components/forms/index.d.ts +1 -1
  66. package/dist/components/forms/index.js +1 -3
  67. package/dist/components/forms/styles.d.ts +6 -1
  68. package/dist/components/forms/styles.js +8 -3
  69. package/dist/components/index.d.ts +3 -0
  70. package/dist/components/index.js +3 -0
  71. package/dist/components/layout/Dropdown/index.js +3 -3
  72. package/dist/components/layout/Dropdown/styles.d.ts +5 -2
  73. package/dist/components/layout/Dropdown/styles.js +4 -1
  74. package/dist/components/layout/Modal/styles.d.ts +2 -0
  75. package/dist/components/layout/Modal/styles.js +12 -8
  76. package/dist/components/search/HighlightedText.d.ts +5 -0
  77. package/dist/components/search/HighlightedText.js +43 -0
  78. package/dist/components/search/QuickSearchBar.d.ts +6 -0
  79. package/dist/components/search/QuickSearchBar.js +69 -0
  80. package/dist/components/search/QuickSearchResults.d.ts +8 -0
  81. package/dist/components/search/QuickSearchResults.js +70 -0
  82. package/dist/components/search/index.d.ts +5 -0
  83. package/dist/components/search/index.js +25 -0
  84. package/dist/components/search/styles.d.ts +28 -0
  85. package/dist/components/search/styles.js +40 -0
  86. package/dist/components/search/types.d.ts +21 -0
  87. package/dist/components/search/types.js +2 -0
  88. package/dist/components/ui/Card/index.d.ts +8 -0
  89. package/dist/components/ui/Card/index.js +34 -0
  90. package/dist/components/ui/Card/styles.d.ts +9 -0
  91. package/dist/components/ui/Card/styles.js +21 -0
  92. package/dist/components/ui/ContextMenu/index.js +7 -2
  93. package/dist/components/ui/ContextMenu/styles.js +2 -2
  94. package/dist/components/ui/Message/index.d.ts +9 -0
  95. package/dist/components/ui/Message/index.js +53 -0
  96. package/dist/components/ui/Message/styles.d.ts +9 -0
  97. package/dist/components/ui/Message/styles.js +41 -0
  98. package/dist/components/ui/index.d.ts +3 -0
  99. package/dist/components/ui/index.js +19 -0
  100. package/dist/helpers/dates.d.ts +1 -0
  101. package/dist/helpers/dates.js +7 -1
  102. package/dist/helpers/index.d.ts +3 -0
  103. package/dist/helpers/index.js +19 -0
  104. package/dist/helpers/numbers.d.ts +1 -0
  105. package/dist/helpers/numbers.js +9 -1
  106. package/dist/helpers/text.d.ts +2 -0
  107. package/dist/helpers/text.js +18 -0
  108. package/dist/index.d.ts +1 -0
  109. package/dist/index.js +1 -0
  110. package/dist/providers/AuthenticationProvider/helpers.d.ts +1 -0
  111. package/dist/providers/AuthenticationProvider/helpers.js +6 -0
  112. package/dist/providers/AuthenticationProvider/index.d.ts +22 -0
  113. package/dist/providers/AuthenticationProvider/index.js +207 -0
  114. package/dist/providers/LoadingProvider/index.d.ts +7 -0
  115. package/dist/providers/LoadingProvider/index.js +26 -0
  116. package/dist/providers/ThemeProvider/ThemeProvider.js +1 -1
  117. package/dist/providers/ThemeProvider/index.d.ts +2 -1
  118. package/dist/providers/ThemeProvider/index.js +18 -1
  119. package/dist/providers/hooks.d.ts +3 -1
  120. package/dist/providers/hooks.js +9 -3
  121. package/dist/providers/index.d.ts +2 -1
  122. package/dist/providers/index.js +2 -1
  123. package/dist/services/HttpService.d.ts +1 -1
  124. package/dist/services/HttpService.js +12 -4
  125. package/dist/services/WebSocketService.d.ts +2 -3
  126. package/dist/services/WebSocketService.js +5 -16
  127. package/dist/services/base.d.ts +1 -6
  128. package/dist/services/base.js +0 -3
  129. package/dist/services/globalSearch.d.ts +13 -0
  130. package/dist/services/globalSearch.js +8 -0
  131. package/dist/services/hooks.d.ts +2 -1
  132. package/dist/services/hooks.js +14 -3
  133. package/dist/services/index.d.ts +9 -0
  134. package/dist/services/index.js +9 -0
  135. package/dist/services/requests/auth.d.ts +63 -0
  136. package/dist/services/requests/auth.js +28 -0
  137. package/dist/services/requests/userPermissions.d.ts +4 -0
  138. package/dist/services/requests/userPermissions.js +20 -0
  139. package/dist/services/requests/userProfiles.d.ts +40 -0
  140. package/dist/services/requests/userProfiles.js +20 -0
  141. package/dist/services/requests/users.d.ts +84 -0
  142. package/dist/services/requests/users.js +20 -0
  143. package/dist/services/sqlRequests.d.ts +1 -1
  144. package/dist/services/types/auth.d.ts +87 -0
  145. package/dist/services/types/auth.js +72 -0
  146. package/dist/services/types/base.d.ts +6 -0
  147. package/dist/services/types/base.js +31 -0
  148. package/dist/services/types/userProfiles.d.ts +64 -0
  149. package/dist/services/types/userProfiles.js +68 -0
  150. package/dist/services/types/users.d.ts +118 -0
  151. package/dist/services/types/users.js +83 -0
  152. package/package.json +1 -1
  153. package/src/components/data/DataGrid/index.tsx +2 -2
  154. package/src/components/data/DataGrid/types.ts +4 -4
  155. package/src/components/data/SqlRequestDataGrid/index.tsx +2 -2
  156. package/src/components/data/SqlRequestGrid/helpers/index.ts +0 -1
  157. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +1 -1
  158. package/src/services/types/users.ts +2 -0
  159. package/src/typings.d.ts +2 -2
  160. package/tsconfig.tsbuildinfo +1 -1
  161. package/src/services/requests/userPermissions.ts +0 -36
package/dist/Icons.d.ts CHANGED
@@ -9,6 +9,9 @@ import ArrowsRotateIcon from '../assets/icons/arrows-rotate.svg?react';
9
9
  import ArrowsUpDownIcon from '../assets/icons/arrows-up-down.svg?react';
10
10
  import CheckIcon from '../assets/icons/check.svg?react';
11
11
  import ChevronDownIcon from '../assets/icons/chevron-down.svg?react';
12
+ import CircleCheckIcon from '../assets/icons/circle-check.svg?react';
13
+ import CircleInfoIcon from '../assets/icons/circle-info.svg?react';
14
+ import CircleXMarkIcon from '../assets/icons/circle-xmark.svg?react';
12
15
  import CopyIcon from '../assets/icons/copy.svg?react';
13
16
  import DownIcon from '../assets/icons/down.svg?react';
14
17
  import EllipsisIcon from '../assets/icons/ellipsis.svg?react';
@@ -23,12 +26,15 @@ import PhoneIcon from '../assets/icons/phone.svg?react';
23
26
  import PlusIcon from '../assets/icons/plus.svg?react';
24
27
  import RightIcon from '../assets/icons/right.svg?react';
25
28
  import SigmaIcon from '../assets/icons/sigma.svg?react';
29
+ import SortCalendarAscendingIcon from '../assets/icons/sort-calendar-ascending.svg?react';
30
+ import SortCalendarDescendingIcon from '../assets/icons/sort-calendar-descending.svg?react';
26
31
  import SpinnerIcon from '../assets/icons/spinner-third.svg?react';
27
32
  import TableColumnsIcon from '../assets/icons/table-columns.svg?react';
28
33
  import TableFooterIcon from '../assets/icons/table-footer.svg?react';
29
34
  import TableFooterSlashIcon from '../assets/icons/table-footer-slash.svg?react';
30
35
  import TableIcon from '../assets/icons/table.svg?react';
31
36
  import TallyIcon from '../assets/icons/tally.svg?react';
37
+ import TriangleExclamationIcon from '../assets/icons/triangle-exclamation.svg?react';
32
38
  import UpIcon from '../assets/icons/up.svg?react';
33
39
  import UserTieIcon from '../assets/icons/user-tie.svg?react';
34
40
  import XBarIcon from '../assets/icons/x-bar.svg?react';
@@ -40,4 +46,4 @@ type AnimatedIconProps = {
40
46
  };
41
47
  export declare const AnimatedIcon: FC<AnimatedIconProps & IconFCProps>;
42
48
  export declare const LoadingIcon: FC<IconFCProps>;
43
- export { ArrowDownAZIcon, ArrowDown19Icon, ArrowDownBigSmallIcon, ArrowUpZAIcon, ArrowUpBigSmallIcon, ArrowUp91Icon, ArrowsRotateIcon, ArrowsUpDownIcon, CheckIcon, ChevronDownIcon, CopyIcon, DownIcon, EllipsisIcon, FilterFullIcon, FilterIcon, FilterSlashIcon, HashtagIcon, ImageSlashIcon, LeftIcon, MagnifierIcon, PhoneIcon, PlusIcon, RightIcon, SigmaIcon, SpinnerIcon, TableColumnsIcon, TableFooterIcon, TableFooterSlashIcon, TableIcon, TallyIcon, UpIcon, UserTieIcon, XBarIcon, };
49
+ export { ArrowDown19Icon, ArrowDownAZIcon, ArrowDownBigSmallIcon, ArrowsRotateIcon, ArrowsUpDownIcon, ArrowUp91Icon, ArrowUpBigSmallIcon, ArrowUpZAIcon, CheckIcon, ChevronDownIcon, CircleXMarkIcon, CopyIcon, DownIcon, EllipsisIcon, FilterFullIcon, FilterIcon, FilterSlashIcon, HashtagIcon, ImageSlashIcon, LeftIcon, MagnifierIcon, PhoneIcon, PlusIcon, RightIcon, SigmaIcon, SortCalendarAscendingIcon, SortCalendarDescendingIcon, SpinnerIcon, TableColumnsIcon, TableFooterIcon, TableFooterSlashIcon, TableIcon, TallyIcon, UpIcon, UserTieIcon, XBarIcon, CircleCheckIcon, CircleInfoIcon, TriangleExclamationIcon, };
package/dist/Icons.js CHANGED
@@ -25,7 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.XBarIcon = exports.UserTieIcon = exports.UpIcon = exports.TallyIcon = exports.TableIcon = exports.TableFooterSlashIcon = exports.TableFooterIcon = exports.TableColumnsIcon = exports.SpinnerIcon = exports.SigmaIcon = exports.RightIcon = exports.PlusIcon = exports.PhoneIcon = exports.MagnifierIcon = exports.LeftIcon = exports.ImageSlashIcon = exports.HashtagIcon = exports.FilterSlashIcon = exports.FilterIcon = exports.FilterFullIcon = exports.EllipsisIcon = exports.DownIcon = exports.CopyIcon = exports.ChevronDownIcon = exports.CheckIcon = exports.ArrowsUpDownIcon = exports.ArrowsRotateIcon = exports.ArrowUp91Icon = exports.ArrowUpBigSmallIcon = exports.ArrowUpZAIcon = exports.ArrowDownBigSmallIcon = exports.ArrowDown19Icon = exports.ArrowDownAZIcon = exports.LoadingIcon = exports.AnimatedIcon = void 0;
28
+ exports.TriangleExclamationIcon = exports.CircleInfoIcon = exports.CircleCheckIcon = exports.XBarIcon = exports.UserTieIcon = exports.UpIcon = exports.TallyIcon = exports.TableIcon = exports.TableFooterSlashIcon = exports.TableFooterIcon = exports.TableColumnsIcon = exports.SpinnerIcon = exports.SortCalendarDescendingIcon = exports.SortCalendarAscendingIcon = exports.SigmaIcon = exports.RightIcon = exports.PlusIcon = exports.PhoneIcon = exports.MagnifierIcon = exports.LeftIcon = exports.ImageSlashIcon = exports.HashtagIcon = exports.FilterSlashIcon = exports.FilterIcon = exports.FilterFullIcon = exports.EllipsisIcon = exports.DownIcon = exports.CopyIcon = exports.CircleXMarkIcon = exports.ChevronDownIcon = exports.CheckIcon = exports.ArrowUpZAIcon = exports.ArrowUpBigSmallIcon = exports.ArrowUp91Icon = exports.ArrowsUpDownIcon = exports.ArrowsRotateIcon = exports.ArrowDownBigSmallIcon = exports.ArrowDownAZIcon = exports.ArrowDown19Icon = exports.LoadingIcon = exports.AnimatedIcon = void 0;
29
29
  var jsx_runtime_1 = require("react/jsx-runtime");
30
30
  var react_1 = require("react");
31
31
  var arrow_down_1_9_svg_react_1 = __importDefault(require("../assets/icons/arrow-down-1-9.svg?react"));
@@ -48,6 +48,12 @@ var check_svg_react_1 = __importDefault(require("../assets/icons/check.svg?react
48
48
  exports.CheckIcon = check_svg_react_1.default;
49
49
  var chevron_down_svg_react_1 = __importDefault(require("../assets/icons/chevron-down.svg?react"));
50
50
  exports.ChevronDownIcon = chevron_down_svg_react_1.default;
51
+ var circle_check_svg_react_1 = __importDefault(require("../assets/icons/circle-check.svg?react"));
52
+ exports.CircleCheckIcon = circle_check_svg_react_1.default;
53
+ var circle_info_svg_react_1 = __importDefault(require("../assets/icons/circle-info.svg?react"));
54
+ exports.CircleInfoIcon = circle_info_svg_react_1.default;
55
+ var circle_xmark_svg_react_1 = __importDefault(require("../assets/icons/circle-xmark.svg?react"));
56
+ exports.CircleXMarkIcon = circle_xmark_svg_react_1.default;
51
57
  var copy_svg_react_1 = __importDefault(require("../assets/icons/copy.svg?react"));
52
58
  exports.CopyIcon = copy_svg_react_1.default;
53
59
  var down_svg_react_1 = __importDefault(require("../assets/icons/down.svg?react"));
@@ -76,6 +82,10 @@ var right_svg_react_1 = __importDefault(require("../assets/icons/right.svg?react
76
82
  exports.RightIcon = right_svg_react_1.default;
77
83
  var sigma_svg_react_1 = __importDefault(require("../assets/icons/sigma.svg?react"));
78
84
  exports.SigmaIcon = sigma_svg_react_1.default;
85
+ var sort_calendar_ascending_svg_react_1 = __importDefault(require("../assets/icons/sort-calendar-ascending.svg?react"));
86
+ exports.SortCalendarAscendingIcon = sort_calendar_ascending_svg_react_1.default;
87
+ var sort_calendar_descending_svg_react_1 = __importDefault(require("../assets/icons/sort-calendar-descending.svg?react"));
88
+ exports.SortCalendarDescendingIcon = sort_calendar_descending_svg_react_1.default;
79
89
  var spinner_third_svg_react_1 = __importDefault(require("../assets/icons/spinner-third.svg?react"));
80
90
  exports.SpinnerIcon = spinner_third_svg_react_1.default;
81
91
  var table_columns_svg_react_1 = __importDefault(require("../assets/icons/table-columns.svg?react"));
@@ -88,6 +98,8 @@ var table_svg_react_1 = __importDefault(require("../assets/icons/table.svg?react
88
98
  exports.TableIcon = table_svg_react_1.default;
89
99
  var tally_svg_react_1 = __importDefault(require("../assets/icons/tally.svg?react"));
90
100
  exports.TallyIcon = tally_svg_react_1.default;
101
+ var triangle_exclamation_svg_react_1 = __importDefault(require("../assets/icons/triangle-exclamation.svg?react"));
102
+ exports.TriangleExclamationIcon = triangle_exclamation_svg_react_1.default;
91
103
  var up_svg_react_1 = __importDefault(require("../assets/icons/up.svg?react"));
92
104
  exports.UpIcon = up_svg_react_1.default;
93
105
  var user_tie_svg_react_1 = __importDefault(require("../assets/icons/user-tie.svg?react"));
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const LoginForm: FC;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoginForm = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var forms_1 = require("../forms");
6
+ var ui_1 = require("../ui");
7
+ var react_1 = require("react");
8
+ var react_router_dom_1 = require("react-router-dom");
9
+ var styles_1 = require("./styles");
10
+ var VerticalLabel_1 = require("../forms/VerticalLabel");
11
+ var providers_1 = require("../../providers");
12
+ var LoginForm = function () {
13
+ var _a = (0, react_1.useState)(localStorage.getItem('username') || ''), username = _a[0], setUsername = _a[1];
14
+ var _b = (0, react_1.useState)(''), password = _b[0], setPassword = _b[1];
15
+ var _c = (0, react_1.useState)(false), isLoading = _c[0], setIsLoading = _c[1];
16
+ var _d = (0, react_1.useState)(''), error = _d[0], setError = _d[1];
17
+ var usernameInputRef = (0, react_1.useRef)(null);
18
+ var passwordInputRef = (0, react_1.useRef)(null);
19
+ var login = (0, providers_1.useAuthentication)().login;
20
+ var onLoginClicked = (0, react_1.useCallback)(function () {
21
+ setError('');
22
+ setIsLoading(true);
23
+ login(username, password).then(function (success) {
24
+ setIsLoading(false);
25
+ if (success) {
26
+ (0, react_router_dom_1.redirect)('/');
27
+ }
28
+ else {
29
+ setError('Identifiants invalides');
30
+ }
31
+ });
32
+ }, [login, password, username]);
33
+ (0, react_1.useEffect)(function () {
34
+ if (usernameInputRef.current && passwordInputRef.current) {
35
+ var input = !username
36
+ ? usernameInputRef.current
37
+ : passwordInputRef.current;
38
+ input.select();
39
+ input.focus();
40
+ }
41
+ // eslint-disable-next-line react-hooks/exhaustive-deps
42
+ }, []);
43
+ if (isLoading)
44
+ return (0, jsx_runtime_1.jsx)("div", { children: "Chargement..." });
45
+ return ((0, jsx_runtime_1.jsx)(ui_1.Card, { children: (0, jsx_runtime_1.jsxs)(styles_1.FormContainer, { children: [(0, jsx_runtime_1.jsx)(VerticalLabel_1.StackedLabel, { label: "Adresse e-mail / Nom d'utilisateur", children: (0, jsx_runtime_1.jsx)(forms_1.Input, { ref: usernameInputRef, type: "email", autoComplete: "email", required: true, value: username, onChange: function (e) { return setUsername(e.target.value); } }) }), (0, jsx_runtime_1.jsx)(VerticalLabel_1.StackedLabel, { label: "Mot de passe", children: (0, jsx_runtime_1.jsx)(forms_1.Input, { ref: passwordInputRef, type: "password", autoComplete: "current-password", required: true, value: password, onChange: function (e) { return setPassword(e.target.value); } }) }), error && (0, jsx_runtime_1.jsx)(ui_1.Message, { type: "error", children: error }), (0, jsx_runtime_1.jsx)(forms_1.Button, { color: "primary", onClick: onLoginClicked, children: "Se connecter" }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { to: "/recover", children: "Mot de passe oubli\u00E9 ?" })] }) }));
46
+ };
47
+ exports.LoginForm = LoginForm;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const LoginPage: FC;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoginPage = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var react_router_dom_1 = require("react-router-dom");
6
+ var LoginPage = function () {
7
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row h-full w-full", children: [(0, jsx_runtime_1.jsx)("div", { className: "relative hidden w-0 flex-1 lg:block", children: (0, jsx_runtime_1.jsx)("img", { className: "absolute inset-0 h-full w-full object-cover", alt: "" }) }), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-1 flex-col justify-space-evenly overflow-y-auto px-4 py-12 sm:px-6 lg:flex-none lg:px-24 xl:px-36", children: (0, jsx_runtime_1.jsxs)("div", { className: "mx-auto w-full max-w-sm lg:max-w-96 lg:w-96 xl:max-w-[32rem] xl:w-[32rem]", children: [(0, jsx_runtime_1.jsxs)("div", { className: "text-center", children: [(0, jsx_runtime_1.jsx)("img", { className: "h-20 w-auto inline-block", src: "/logo192.png", alt: "Burotel" }), (0, jsx_runtime_1.jsx)("h2", { className: "mt-8 text-2xl font-bold leading-9 tracking-tight text-gray-900", children: "Connectez-vous" })] }), (0, jsx_runtime_1.jsx)("div", { className: "mt-10 sm:mx-auto sm:w-full sm:max-w-[640px]", children: (0, jsx_runtime_1.jsx)("div", { className: "bg-white px-6 py-12 shadow sm:rounded-lg sm:px-12", children: (0, jsx_runtime_1.jsx)(react_router_dom_1.Outlet, {}) }) })] }) })] }));
8
+ };
9
+ exports.LoginPage = LoginPage;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const PasswordRecoveryForm: FC;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PasswordRecoveryForm = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var forms_1 = require("../forms");
6
+ var react_1 = require("react");
7
+ var ui_1 = require("../ui");
8
+ var styles_1 = require("./styles");
9
+ var react_router_dom_1 = require("react-router-dom");
10
+ var Message_1 = require("../ui/Message");
11
+ var VerticalLabel_1 = require("../forms/VerticalLabel");
12
+ var providers_1 = require("../../providers");
13
+ var PasswordRecoveryForm = function () {
14
+ var _a = (0, react_1.useState)(''), email = _a[0], setEmail = _a[1];
15
+ var _b = (0, react_1.useState)(false), isSubmitted = _b[0], setIsSubmitted = _b[1];
16
+ var sendRecoveryKey = (0, providers_1.useAuthentication)().sendRecoveryKey;
17
+ var onSubmitClicked = (0, react_1.useCallback)(function () {
18
+ sendRecoveryKey(email).then(function () {
19
+ setIsSubmitted(true);
20
+ });
21
+ }, [email, sendRecoveryKey]);
22
+ return ((0, jsx_runtime_1.jsx)(ui_1.Card, { children: (0, jsx_runtime_1.jsx)(styles_1.FormContainer, { children: isSubmitted ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Message_1.Message, { type: "success", children: "Un e-mail de r\u00E9initialisation de mot de passe vous a \u00E9t\u00E9 envoy\u00E9." }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { to: "/", children: "Retour" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(VerticalLabel_1.StackedLabel, { label: "Adresse e-mail", children: (0, jsx_runtime_1.jsx)(forms_1.Input, { type: "email", autoComplete: "email", required: true, value: email, onChange: function (e) { return setEmail(e.target.value); } }) }), (0, jsx_runtime_1.jsx)(forms_1.Button, { color: "primary", onClick: onSubmitClicked, children: "Envoyer un lien de r\u00E9cup\u00E9ration" })] })) }) }));
23
+ };
24
+ exports.PasswordRecoveryForm = PasswordRecoveryForm;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const PasswordResetForm: FC;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PasswordResetForm = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var ui_1 = require("@addev-be/ui");
6
+ var react_1 = require("react");
7
+ var react_router_dom_1 = require("react-router-dom");
8
+ var styles_1 = require("./styles");
9
+ var Message_1 = require("../ui/Message");
10
+ var VerticalLabel_1 = require("../forms/VerticalLabel");
11
+ var PasswordResetForm = function () {
12
+ var key = (0, react_router_dom_1.useParams)().key;
13
+ var _a = (0, react_1.useState)(''), password1 = _a[0], setPassword1 = _a[1];
14
+ var _b = (0, react_1.useState)(''), password2 = _b[0], setPassword2 = _b[1];
15
+ var _c = (0, react_1.useState)(-1), keyStatus = _c[0], setKeyStatus = _c[1];
16
+ var _d = (0, react_1.useState)(-1), status = _d[0], setStatus = _d[1];
17
+ var _e = (0, react_1.useState)(''), error = _e[0], setError = _e[1];
18
+ var _f = (0, ui_1.useAuthentication)(), resetPassword = _f.resetPassword, checkRecoveryKey = _f.checkRecoveryKey;
19
+ (0, react_1.useEffect)(function () {
20
+ if (key) {
21
+ checkRecoveryKey(key).then(function (status) {
22
+ setKeyStatus(status);
23
+ });
24
+ }
25
+ }, [checkRecoveryKey, key]);
26
+ var onSubmitClicked = (0, react_1.useCallback)(function () {
27
+ if (key) {
28
+ if (password1 !== password2) {
29
+ setError('Les mots de passe ne sont pas identiques');
30
+ return;
31
+ }
32
+ resetPassword(key, password1).then(function (status) {
33
+ setStatus(status);
34
+ setError(status === 4
35
+ ? 'Le mot de passe est trop faible (min. 8 caractères requis)'
36
+ : '');
37
+ });
38
+ }
39
+ }, [key, password1, password2, resetPassword]);
40
+ var content = (0, react_1.useMemo)(function () {
41
+ if (keyStatus < 0) {
42
+ return (0, jsx_runtime_1.jsx)("p", { children: "Chargement..." });
43
+ }
44
+ if (keyStatus > 0) {
45
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(Message_1.Message, { type: "error", children: "La cl\u00E9 de r\u00E9cup\u00E9ration fournie est invalide ou expir\u00E9e" }) }));
46
+ }
47
+ switch (status) {
48
+ case 0:
49
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(Message_1.Message, { type: "success", children: "Votre mot de passe a \u00E9t\u00E9 r\u00E9initialis\u00E9 avec succ\u00E8s. Vous pouvez maintenant vous connecter." }) }));
50
+ default:
51
+ return null;
52
+ }
53
+ }, [keyStatus, status]);
54
+ return ((0, jsx_runtime_1.jsx)(ui_1.Card, { children: (0, jsx_runtime_1.jsxs)(styles_1.FormContainer, { children: [content !== null && content !== void 0 ? content : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(VerticalLabel_1.StackedLabel, { label: "Nouveau mot de passe", children: (0, jsx_runtime_1.jsx)(ui_1.Input, { type: "password", autoComplete: "current-password", required: true, value: password1, onChange: function (e) { return setPassword1(e.target.value); } }) }), (0, jsx_runtime_1.jsx)(VerticalLabel_1.StackedLabel, { label: "Confirmation du mot de passe", children: (0, jsx_runtime_1.jsx)(ui_1.Input, { type: "password", autoComplete: "current-password", required: true, value: password2, onChange: function (e) { return setPassword2(e.target.value); } }) }), error && ((0, jsx_runtime_1.jsx)(Message_1.Message, { className: "mt-4", type: "error", children: error })), (0, jsx_runtime_1.jsx)(ui_1.Button, { color: "primary", onClick: onSubmitClicked, children: "R\u00E9initialiser le mot de passe" })] })), (0, jsx_runtime_1.jsx)(react_router_dom_1.Link, { to: "/", children: "Retour" })] }) }));
55
+ };
56
+ exports.PasswordResetForm = PasswordResetForm;
@@ -0,0 +1,4 @@
1
+ export * from './LoginForm';
2
+ export * from './LoginPage';
3
+ export * from './PasswordRecoveryForm';
4
+ export * from './PasswordResetForm';
@@ -0,0 +1,20 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./LoginForm"), exports);
18
+ __exportStar(require("./LoginPage"), exports);
19
+ __exportStar(require("./PasswordRecoveryForm"), exports);
20
+ __exportStar(require("./PasswordResetForm"), exports);
@@ -0,0 +1,3 @@
1
+ export declare const FormContainer: 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").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, Omit<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "ref"> & {
2
+ ref?: ((instance: HTMLFormElement | 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<HTMLFormElement> | null | undefined;
3
+ }>, never>, never>> & string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FormContainer = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
12
+ exports.FormContainer = styled_components_1.default.form.attrs({
13
+ className: 'FormContainer',
14
+ onSubmit: function (e) { return e.preventDefault(); },
15
+ })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n\n & > a {\n text-align: center;\n }\n"], ["\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n\n & > a {\n text-align: center;\n }\n"])));
16
+ var templateObject_1;
@@ -106,7 +106,7 @@ exports.advancedPercentageColumn = advancedPercentageColumn;
106
106
  var advancedCheckboxColumn = function (key, title, options) {
107
107
  var _a;
108
108
  return (_a = {},
109
- _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: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; } }) }, options),
109
+ _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row[key], readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: row[key] ? ' Oui' : ' Non' })] })); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; } }) }, options),
110
110
  _a);
111
111
  };
112
112
  exports.advancedCheckboxColumn = advancedCheckboxColumn;
@@ -125,7 +125,7 @@ var AdvancedRequestDataGrid = function (_a) {
125
125
  fieldName: columnKey,
126
126
  },
127
127
  ],
128
- conditions: __spreadArray(__spreadArray([], ((_b = props.conditions) !== null && _b !== void 0 ? _b : []), true), Object.values(lodash_1.default.pickBy(conditions, function (condition, key) { return key !== columnKey; })), true).filter(function (condition) { return condition.field !== columnKey; }),
128
+ conditions: __spreadArray(__spreadArray([], ((_b = props.conditions) !== null && _b !== void 0 ? _b : []), true), Object.values(lodash_1.default.pickBy(conditions, function (_, key) { return key !== columnKey; })), true).filter(function (condition) { return condition.field !== columnKey; }),
129
129
  orderBy: [
130
130
  {
131
131
  field: (_g = (_e = (_c = props.columns[columnKey].filterField) !== null && _c !== void 0 ? _c : (_d = props.columns[columnKey].field) === null || _d === void 0 ? void 0 : _d.fieldAlias) !== null && _e !== void 0 ? _e : (_f = props.columns[columnKey].field) === null || _f === void 0 ? void 0 : _f.fieldName) !== null && _g !== void 0 ? _g : columnKey,
@@ -0,0 +1,13 @@
1
+ import { DataGridFilterFormatter, DataGridFilterGroup, DataGridFilterRenderer, DataGridFilterValue } from '../types';
2
+ type FilterValuesScrollerProps = {
3
+ values: DataGridFilterValue[];
4
+ rowHeight?: number;
5
+ formatter: DataGridFilterFormatter;
6
+ renderer: DataGridFilterRenderer;
7
+ onRangeChange?: (startIndex: number, length: number) => void;
8
+ onToggle?: (values: DataGridFilterValue[]) => void;
9
+ selectedValues?: DataGridFilterValue[];
10
+ groups?: DataGridFilterGroup[];
11
+ };
12
+ export declare const FilterValuesScroller: ({ values, rowHeight, onRangeChange, onToggle, formatter, renderer, selectedValues, groups, }: FilterValuesScrollerProps) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,71 @@
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 helpers_1 = require("../helpers");
42
+ var react_1 = require("react");
43
+ var lodash_1 = require("lodash");
44
+ var hooks_1 = require("../../../../hooks");
45
+ var CheckboxTemplate = function (_a) {
46
+ var selectedValues = _a.selectedValues, value = _a.value, index = _a.index, style = _a.style, onToggle = _a.onToggle;
47
+ var checked = (0, react_1.useMemo)(function () { return value.values.every(function (v) { return selectedValues.includes(v); }); }, [selectedValues, value.values]);
48
+ return ((0, jsx_runtime_1.jsxs)(styles.FilterValueContainer, { style: __assign(__assign({}, style), { paddingLeft: "".concat(value.level, "rem") }), title: value.title, onClick: function () { return onToggle === null || onToggle === void 0 ? void 0 : onToggle(value.values); }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: checked, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: value.displayValue || '(Vides)' })] }, index));
49
+ };
50
+ var FilterValuesScroller = function (_a) {
51
+ 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;
52
+ var scrollableRef = (0, react_1.useRef)(null);
53
+ var height = (0, hooks_1.useElementSize)(scrollableRef.current).height;
54
+ var tolerance = 20;
55
+ var _f = (0, react_1.useState)(0), scrollTop = _f[0], setScrollTop = _f[1];
56
+ var index = Math.floor(scrollTop / rowHeight);
57
+ var length = Math.ceil(height / rowHeight);
58
+ // eslint-disable-next-line react-hooks/exhaustive-deps
59
+ var onScroll = (0, react_1.useCallback)((0, lodash_1.debounce)(function (e) {
60
+ var target = e.target;
61
+ setScrollTop(function () { return target.scrollTop; });
62
+ }, 50), []);
63
+ var checkboxes = (0, react_1.useMemo)(function () { return (0, helpers_1.getCheckboxes)(values, '', renderer, formatter, groups); }, [values, groups, renderer, formatter]);
64
+ var visibleCheckboxes = checkboxes.slice(Math.max(0, index - tolerance), index + length + 1 + tolerance);
65
+ var firstCheckboxTop = Math.max(0, index - tolerance) * rowHeight;
66
+ (0, react_1.useEffect)(function () {
67
+ onRangeChange === null || onRangeChange === void 0 ? void 0 : onRangeChange(index, length);
68
+ }, [index, length, onRangeChange]);
69
+ return ((0, jsx_runtime_1.jsx)(styles.FilterValuesScrollerContainer, { ref: scrollableRef, onScroll: onScroll, "$rowHeight": rowHeight, children: (0, jsx_runtime_1.jsx)("div", { style: { height: "".concat(checkboxes.length * rowHeight, "px") }, children: visibleCheckboxes.map(function (value, index) { return ((0, jsx_runtime_1.jsx)(CheckboxTemplate, { style: { top: firstCheckboxTop + index * rowHeight + 'px' }, selectedValues: selectedValues, value: value, index: index, onToggle: onToggle }, index)); }) }) }));
70
+ };
71
+ exports.FilterValuesScroller = FilterValuesScroller;
@@ -64,21 +64,22 @@ var helpers_1 = require("../helpers");
64
64
  var lodash_1 = require("lodash");
65
65
  var react_1 = require("react");
66
66
  var ContextMenu_1 = require("../../../ui/ContextMenu");
67
- var FilterValuesScroller_1 = require("../FilterValuesScroller");
67
+ var FilterValuesScroller_1 = require("./FilterValuesScroller");
68
68
  var forms_1 = require("../../../forms");
69
69
  var hooks_1 = require("./hooks");
70
70
  var sortAsc = {
71
71
  number: ['Trier du plus petit au plus grand', Icons_1.ArrowDown19Icon],
72
72
  text: ['Trier de A à Z', Icons_1.ArrowDownAZIcon],
73
- // date: 'Trier du plus ancien au plus récent',
73
+ date: ['Trier du plus ancien au plus récent', Icons_1.SortCalendarAscendingIcon],
74
74
  };
75
75
  var sortDesc = {
76
76
  number: ['Trier du plus grand au plus petit', Icons_1.ArrowUp91Icon],
77
77
  text: ['Trier de Z à A', Icons_1.ArrowUpZAIcon],
78
- // date: 'Trier du plus récent au plus ancien',
78
+ date: ['Trier du plus récent au plus ancien', Icons_1.SortCalendarDescendingIcon],
79
79
  };
80
80
  var footerFunctionsTexts = {
81
81
  average: 'Moyenne',
82
+ avg: 'Moyenne',
82
83
  count: 'Nombre',
83
84
  max: 'Maximum',
84
85
  min: 'Minimum',
@@ -86,6 +87,7 @@ var footerFunctionsTexts = {
86
87
  };
87
88
  var footerFunctionsIcons = {
88
89
  average: Icons_1.XBarIcon,
90
+ avg: Icons_1.XBarIcon,
89
91
  count: Icons_1.TallyIcon,
90
92
  max: Icons_1.ArrowUpBigSmallIcon,
91
93
  min: Icons_1.ArrowDownBigSmallIcon,
@@ -165,11 +167,10 @@ var DataGridFilterMenu = function (_a) {
165
167
  }
166
168
  }, []);
167
169
  var checkboxesComponent = (0, react_1.useMemo)(function () {
168
- if (column.type === 'date') {
169
- var groups = (0, helpers_1.getDateGroups)(filteredAvailableValues);
170
- return ((0, jsx_runtime_1.jsx)(FilterValuesScroller_1.FilterValuesScroller, { values: filteredAvailableValues, selectedValues: selectedValues, onToggle: toggleValues, formatter: formatter, renderer: renderer, groups: groups }));
171
- }
172
- return ((0, jsx_runtime_1.jsx)(FilterValuesScroller_1.FilterValuesScroller, { values: filteredAvailableValues, selectedValues: selectedValues, onToggle: toggleValues, formatter: formatter, renderer: renderer }));
170
+ var groups = column.type === 'date'
171
+ ? (0, helpers_1.getDateGroups)(filteredAvailableValues)
172
+ : undefined;
173
+ return ((0, jsx_runtime_1.jsx)(FilterValuesScroller_1.FilterValuesScroller, { values: filteredAvailableValues, selectedValues: selectedValues, onToggle: toggleValues, formatter: formatter, renderer: renderer, groups: groups }));
173
174
  }, [
174
175
  column.type,
175
176
  filteredAvailableValues,
@@ -1,3 +1,4 @@
1
+ export declare const DEFAULT_FILTER_ROW_HEIGHT = 24;
1
2
  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"> & {
2
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;
3
4
  }>, never>, never>> & string;
@@ -7,3 +8,11 @@ export declare const CheckboxesContainer: import("styled-components/dist/types")
7
8
  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
9
  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
10
  }>, never>, never>> & string;
11
+ export declare const FilterValueContainer: 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"> & {
12
+ 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;
13
+ }>, never>, never>> & string;
14
+ export declare const FilterValuesScrollerContainer: 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").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
15
+ 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;
16
+ }>, never>, {
17
+ $rowHeight?: number;
18
+ }>> & string;
@@ -7,8 +7,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Separator = exports.CheckboxesContainer = exports.InputContainer = void 0;
10
+ exports.FilterValuesScrollerContainer = exports.FilterValueContainer = exports.Separator = exports.CheckboxesContainer = exports.InputContainer = exports.DEFAULT_FILTER_ROW_HEIGHT = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
+ exports.DEFAULT_FILTER_ROW_HEIGHT = 24;
12
13
  exports.InputContainer = styled_components_1.default.div.attrs({
13
14
  className: 'InputContainer',
14
15
  })(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"])));
@@ -18,4 +19,13 @@ exports.CheckboxesContainer = styled_components_1.default.div.attrs({
18
19
  exports.Separator = styled_components_1.default.div.attrs({
19
20
  className: 'Separator',
20
21
  })(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;
22
+ exports.FilterValueContainer = styled_components_1.default.div.attrs({
23
+ className: 'FilterValueContainer',
24
+ })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: var(--color-neutral-50);\n }\n"], ["\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: var(--color-neutral-50);\n }\n"])));
25
+ exports.FilterValuesScrollerContainer = styled_components_1.default.div.attrs({
26
+ className: 'FilterValuesScrollerContainer',
27
+ })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & ", " {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"], ["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & ", " {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"])), exports.FilterValueContainer, function (_a) {
28
+ var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_FILTER_ROW_HEIGHT : _b;
29
+ return "".concat($rowHeight, "px");
30
+ });
31
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,3 @@
1
+ import { DataGridRowTemplateProps } from './types';
2
+ import { VirtualScrollerTemplateProps } from '../VirtualScroller/types';
3
+ export declare const DataGridRowTemplate: <R>({ item, index, context, }: VirtualScrollerTemplateProps<R, DataGridRowTemplateProps<R>>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,71 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.DataGridRowTemplate = void 0;
49
+ var jsx_runtime_1 = require("react/jsx-runtime");
50
+ var styles = __importStar(require("./styles"));
51
+ var DataGridCell_1 = require("./DataGridCell");
52
+ var react_1 = require("react");
53
+ var DataGridRowTemplate = function (_a) {
54
+ var _b, _c;
55
+ var item = _a.item, index = _a.index, context = _a.context;
56
+ var _d = (0, react_1.useContext)(context), visibleColumns = _d.visibleColumns, rowKeyGetter = _d.rowKeyGetter, toggleSelection = _d.toggleSelection, props = __rest(_d, ["visibleColumns", "rowKeyGetter", "toggleSelection"]);
57
+ if (!item) {
58
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) })), visibleColumns.map(function (_, colIndex) { return ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) }, "loading-".concat(index, "-").concat(colIndex))); })] }, "loading-row-".concat(index)));
59
+ }
60
+ var key = rowKeyGetter(item);
61
+ var selected = props.selectedKeys.includes(key);
62
+ var _e = (_c = (_b = props.rowClassNameGetter) === null || _b === void 0 ? void 0 : _b.call(props, item)) !== null && _c !== void 0 ? _c : {
63
+ className: '',
64
+ style: undefined,
65
+ }, className = _e.className, style = _e.style;
66
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell, { onClick: function () { return toggleSelection(key); }, children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", value: key, checked: selected, readOnly: true }) }, "__select_checkbox__")), visibleColumns.map(function (_a, index) {
67
+ var key = _a[0], col = _a[1];
68
+ return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, __assign({}, (index === 0 ? { className: className, style: style } : {}), { row: item, rowIndex: index, column: col, columnIndex: index, context: context, columnKey: key }), "loading-".concat(index, "-").concat(index)));
69
+ })] }, key));
70
+ };
71
+ exports.DataGridRowTemplate = DataGridRowTemplate;