@addev-be/ui 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/Icons.d.ts +9 -1
  2. package/dist/Icons.js +17 -1
  3. package/dist/components/auth/LoginForm.js +2 -1
  4. package/dist/components/auth/PasswordRecoveryForm.js +1 -1
  5. package/dist/components/auth/PasswordResetForm.js +1 -1
  6. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +9 -8
  7. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +21 -72
  8. package/dist/components/data/AdvancedRequestDataGrid/index.js +2 -2
  9. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +1 -1
  10. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  11. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
  12. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +1 -7
  13. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
  14. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +16 -21
  15. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +2 -0
  16. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +23 -0
  17. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +2 -0
  18. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +27 -0
  19. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +5 -0
  20. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +32 -0
  21. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +2 -0
  22. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +23 -0
  23. package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +2 -0
  24. package/dist/components/data/DataGrid/DataGridEditableCell/index.js +91 -0
  25. package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +3 -0
  26. package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +17 -0
  27. package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +11 -0
  28. package/dist/components/data/DataGrid/DataGridEditableCell/types.js +3 -0
  29. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +17 -1
  30. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +4 -3
  31. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +11 -12
  32. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +5 -4
  33. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +44 -40
  34. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +1 -1
  35. package/dist/components/data/DataGrid/DataGridFooter.js +5 -5
  36. package/dist/components/data/DataGrid/DataGridHeader.js +40 -6
  37. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
  38. package/dist/components/data/DataGrid/DataGridHeaderCell.js +11 -23
  39. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
  40. package/dist/components/data/DataGrid/DataGridRowTemplate.js +8 -9
  41. package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -1
  42. package/dist/components/data/DataGrid/constants.d.ts +6 -0
  43. package/dist/components/data/DataGrid/constants.js +9 -0
  44. package/dist/components/data/DataGrid/helpers/columns.d.ts +13 -12
  45. package/dist/components/data/DataGrid/helpers/columns.js +100 -130
  46. package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
  47. package/dist/components/data/DataGrid/hooks/index.js +8 -12
  48. package/dist/components/data/DataGrid/hooks/useDataGrid.js +71 -23
  49. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +9 -0
  50. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +71 -0
  51. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +25 -30
  52. package/dist/components/data/DataGrid/index.js +16 -3
  53. package/dist/components/data/DataGrid/styles.d.ts +13 -8
  54. package/dist/components/data/DataGrid/styles.js +58 -30
  55. package/dist/components/data/DataGrid/types.d.ts +81 -15
  56. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +20 -0
  57. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +160 -0
  58. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +5 -0
  59. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +41 -0
  60. package/{src/components/data/SmartQueryDataGrid/helpers/index.ts → dist/components/data/SmartQueryDataGrid/helpers/index.d.ts} +2 -2
  61. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +18 -0
  62. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +3 -0
  63. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +15 -0
  64. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +9 -0
  65. package/dist/components/data/SmartQueryDataGrid/hooks.js +63 -0
  66. package/dist/components/data/SmartQueryDataGrid/index.d.ts +12 -0
  67. package/dist/components/data/SmartQueryDataGrid/index.js +242 -0
  68. package/dist/components/data/SmartQueryDataGrid/types.d.ts +22 -0
  69. package/dist/components/data/SmartQueryDataGrid/types.js +2 -0
  70. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -0
  71. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +19 -0
  72. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -17
  73. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +236 -84
  74. package/dist/components/data/SqlRequestDataGrid/index.js +77 -63
  75. package/dist/components/data/SqlRequestDataGrid/styles.d.ts +2 -0
  76. package/dist/components/data/SqlRequestDataGrid/styles.js +14 -0
  77. package/dist/components/data/SqlRequestDataGrid/types.d.ts +13 -3
  78. package/dist/components/data/SqlRequestDataGrid/types.js +1 -0
  79. package/dist/components/data/SqlRequestForeignList/index.d.ts +4 -0
  80. package/dist/components/data/SqlRequestForeignList/index.js +131 -0
  81. package/dist/components/data/SqlRequestForeignList/styles.d.ts +9 -0
  82. package/dist/components/data/SqlRequestForeignList/styles.js +22 -0
  83. package/dist/components/data/SqlRequestForeignList/types.d.ts +22 -0
  84. package/dist/components/data/SqlRequestForeignList/types.js +3 -0
  85. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +10 -0
  86. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +51 -0
  87. package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +4 -0
  88. package/dist/components/data/SqlRequestGrid/filters/styles.js +17 -0
  89. package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
  90. package/dist/components/data/SqlRequestGrid/index.js +139 -49
  91. package/dist/components/data/SqlRequestGrid/styles.d.ts +0 -12
  92. package/dist/components/data/SqlRequestGrid/styles.js +4 -20
  93. package/dist/components/data/SqlRequestGrid/types.d.ts +14 -4
  94. package/dist/components/data/VirtualScroller/index.d.ts +4 -3
  95. package/dist/components/data/VirtualScroller/index.js +15 -5
  96. package/dist/components/data/VirtualScroller/styles.d.ts +4 -2
  97. package/dist/components/data/VirtualScroller/styles.js +9 -6
  98. package/dist/components/data/index.d.ts +1 -2
  99. package/dist/components/data/index.js +1 -2
  100. package/dist/components/forms/AutoTextArea.d.ts +10 -0
  101. package/dist/components/forms/AutoTextArea.js +40 -0
  102. package/dist/components/forms/Button.d.ts +9 -2
  103. package/dist/components/forms/Button.js +13 -7
  104. package/dist/components/forms/Form/Checkbox.d.ts +3 -0
  105. package/dist/components/forms/Form/Checkbox.js +33 -0
  106. package/dist/components/forms/Form/FormGroup.d.ts +9 -0
  107. package/dist/components/forms/Form/FormGroup.js +10 -0
  108. package/dist/components/forms/Form/Input.d.ts +3 -0
  109. package/dist/components/forms/Form/Input.js +32 -0
  110. package/dist/components/forms/Form/InputWithLabel.d.ts +2 -0
  111. package/dist/components/forms/Form/InputWithLabel.js +10 -0
  112. package/dist/components/forms/Form/Select.d.ts +17 -0
  113. package/dist/components/forms/Form/Select.js +46 -0
  114. package/dist/components/forms/Form/TextArea.d.ts +4 -0
  115. package/dist/components/forms/Form/TextArea.js +33 -0
  116. package/dist/components/forms/Form/index.d.ts +66 -0
  117. package/dist/components/forms/Form/index.js +24 -0
  118. package/dist/components/forms/Form/styles.d.ts +14 -0
  119. package/dist/components/forms/Form/styles.js +47 -0
  120. package/dist/components/forms/Form/types.d.ts +7 -0
  121. package/dist/components/forms/Form/types.js +2 -0
  122. package/dist/components/forms/IconButton.d.ts +2 -1
  123. package/dist/components/forms/IconButton.js +12 -12
  124. package/dist/components/forms/Select.d.ts +5 -6
  125. package/dist/components/forms/Select.js +2 -5
  126. package/dist/components/forms/index.d.ts +3 -0
  127. package/dist/components/forms/index.js +3 -0
  128. package/dist/components/layout/Columns.d.ts +5 -0
  129. package/dist/components/layout/Columns.js +19 -0
  130. package/dist/components/layout/Dropdown/index.d.ts +1 -0
  131. package/dist/components/layout/Dropdown/index.js +24 -3
  132. package/dist/components/layout/Grid/index.d.ts +6 -0
  133. package/dist/components/layout/Grid/index.js +6 -0
  134. package/dist/components/layout/Grid/styles.d.ts +14 -0
  135. package/dist/components/layout/Grid/styles.js +29 -0
  136. package/dist/components/layout/Masonry/index.d.ts +3 -0
  137. package/dist/components/layout/Masonry/index.js +20 -0
  138. package/dist/components/layout/Masonry/styles.d.ts +5 -0
  139. package/dist/components/layout/Masonry/styles.js +17 -0
  140. package/dist/components/layout/index.d.ts +4 -1
  141. package/dist/components/layout/index.js +4 -1
  142. package/dist/components/search/QuickSearchBar.js +6 -0
  143. package/dist/components/ui/Avatar/index.d.ts +10 -0
  144. package/dist/components/ui/Avatar/index.js +52 -0
  145. package/dist/components/ui/Avatar/styles.d.ts +4 -0
  146. package/dist/components/ui/Avatar/styles.js +43 -0
  147. package/dist/components/ui/Card/styles.js +1 -1
  148. package/dist/components/ui/Ellipsis.d.ts +13 -0
  149. package/dist/components/ui/Ellipsis.js +28 -0
  150. package/dist/components/ui/Label.d.ts +9 -0
  151. package/dist/components/ui/Label.js +74 -0
  152. package/dist/components/ui/index.d.ts +3 -0
  153. package/dist/components/ui/index.js +3 -0
  154. package/dist/helpers/index.d.ts +1 -0
  155. package/dist/helpers/index.js +1 -0
  156. package/dist/helpers/numbers.d.ts +3 -0
  157. package/dist/helpers/numbers.js +33 -1
  158. package/dist/helpers/responsive.d.ts +37 -0
  159. package/dist/helpers/responsive.js +57 -0
  160. package/dist/hooks/index.d.ts +4 -0
  161. package/dist/hooks/index.js +4 -0
  162. package/dist/hooks/useContainerMediaQuery.d.ts +17 -0
  163. package/dist/hooks/useContainerMediaQuery.js +10 -0
  164. package/dist/hooks/useMediaQuery.d.ts +17 -0
  165. package/dist/hooks/useMediaQuery.js +11 -0
  166. package/dist/hooks/useMediaQueryForWidth.d.ts +17 -0
  167. package/dist/hooks/useMediaQueryForWidth.js +26 -0
  168. package/dist/hooks/useShowArchived.d.ts +6 -0
  169. package/dist/hooks/useShowArchived.js +21 -0
  170. package/dist/index.d.ts +1 -0
  171. package/dist/index.js +1 -0
  172. package/dist/providers/AuthenticationProvider/index.d.ts +1 -0
  173. package/dist/providers/AuthenticationProvider/index.js +32 -17
  174. package/dist/providers/PortalsProvider/styles.js +1 -1
  175. package/dist/providers/ThemeProvider/defaultTheme.js +13 -0
  176. package/dist/providers/ThemeProvider/helpers.d.ts +3 -0
  177. package/dist/providers/ThemeProvider/helpers.js +13 -0
  178. package/dist/providers/ThemeProvider/types.d.ts +2 -1
  179. package/dist/providers/TrackingProvider/hooks.d.ts +1 -0
  180. package/dist/providers/TrackingProvider/hooks.js +15 -0
  181. package/dist/providers/TrackingProvider/index.d.ts +8 -0
  182. package/dist/providers/TrackingProvider/index.js +41 -0
  183. package/dist/providers/UiProviders/index.js +2 -1
  184. package/dist/providers/index.d.ts +2 -0
  185. package/dist/providers/index.js +2 -0
  186. package/dist/services/advancedRequests.d.ts +1 -1
  187. package/dist/services/globalSearch.d.ts +2 -1
  188. package/dist/services/index.d.ts +7 -0
  189. package/dist/services/index.js +20 -0
  190. package/dist/services/requests/generic.d.ts +29 -0
  191. package/dist/services/requests/generic.js +29 -0
  192. package/dist/services/requests/tracking.d.ts +18 -0
  193. package/dist/services/requests/tracking.js +8 -0
  194. package/dist/services/smartQueries.d.ts +51 -0
  195. package/dist/services/smartQueries.js +10 -0
  196. package/dist/services/smartRequests.d.ts +0 -0
  197. package/dist/services/smartRequests.js +1 -0
  198. package/dist/services/sqlRequests.d.ts +1 -1
  199. package/dist/services/types/generic.d.ts +44 -0
  200. package/dist/services/types/generic.js +79 -0
  201. package/dist/services/types/tracking.d.ts +24 -0
  202. package/dist/services/types/tracking.js +47 -0
  203. package/dist/services/updateSqlRequests.d.ts +24 -0
  204. package/dist/services/updateSqlRequests.js +7 -0
  205. package/package.json +1 -1
  206. package/src/components/data/DataGrid/DataGridCell.tsx +2 -8
  207. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +1 -1
  208. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +1 -1
  209. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +2 -2
  210. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +4 -2
  211. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +5 -3
  212. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +1 -5
  213. package/src/components/data/DataGrid/FilterModalContent/index.tsx +2 -2
  214. package/src/components/data/DataGrid/helpers/columns.tsx +15 -13
  215. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +7 -8
  216. package/src/components/data/DataGrid/styles.ts +2 -0
  217. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +24 -22
  218. package/src/components/data/SqlRequestForeignList/styles.ts +2 -1
  219. package/src/components/data/index.ts +0 -7
  220. package/src/components/forms/Form/Input.tsx +7 -3
  221. package/src/components/forms/Form/InputWithLabel.tsx +3 -2
  222. package/src/components/forms/Form/Select.tsx +25 -19
  223. package/src/components/forms/Form/TextArea.tsx +9 -4
  224. package/src/components/forms/Form/styles.ts +70 -30
  225. package/src/components/forms/Form/types.ts +1 -0
  226. package/src/components/ui/Ellipsis.tsx +11 -9
  227. package/src/helpers/index.ts +1 -0
  228. package/src/helpers/responsive.ts +83 -0
  229. package/src/hooks/index.ts +3 -0
  230. package/src/hooks/useContainerMediaQuery.ts +7 -0
  231. package/src/hooks/useMediaQuery.ts +9 -0
  232. package/src/hooks/useMediaQueryForWidth.ts +35 -0
  233. package/src/typings.d.ts +9 -3
  234. package/tsconfig.tsbuildinfo +1 -1
  235. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +0 -93
  236. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +0 -262
  237. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +0 -2
  238. package/src/components/data/AdvancedRequestDataGrid/index.tsx +0 -267
  239. package/src/components/data/AdvancedRequestDataGrid/types.ts +0 -47
  240. package/src/components/data/SmartQueryDataGrid/helpers/columns.tsx +0 -333
  241. package/src/components/data/SmartQueryDataGrid/helpers/hooks.ts +0 -41
  242. package/src/components/data/SmartQueryDataGrid/helpers/smartQueries.ts +0 -17
  243. package/src/components/data/SmartQueryDataGrid/hooks.ts +0 -75
  244. package/src/components/data/SmartQueryDataGrid/index.tsx +0 -338
  245. package/src/components/data/SmartQueryDataGrid/types.ts +0 -45
@@ -48,29 +48,49 @@ var jsx_runtime_1 = require("react/jsx-runtime");
48
48
  var styles = __importStar(require("./styles"));
49
49
  var sqlRequests_1 = require("../../../services/sqlRequests");
50
50
  var react_1 = require("react");
51
- var VirtualScroller_1 = require("../VirtualScroller");
52
51
  var lodash_1 = require("lodash");
53
- var helpers_1 = require("../DataGrid/helpers");
52
+ var Icons_1 = require("../../../Icons");
53
+ var FiltersSidebar_1 = require("./filters/FiltersSidebar");
54
+ var forms_1 = require("../../forms");
55
+ var VirtualScroller_1 = require("../VirtualScroller");
56
+ var helpers_1 = require("./helpers");
57
+ var helpers_2 = require("../DataGrid/helpers");
58
+ var hooks_1 = require("../DataGrid/hooks");
54
59
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
55
- var SqlRequestGridInner = function (_a, ref) {
56
- var _b = _a.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_ROW_HEIGHT : _b, itemsPerRow = _a.itemsPerRow, itemTemplate = _a.itemTemplate, itemProps = _a.itemProps, gap = _a.gap, props = __rest(_a, ["rowHeight", "itemsPerRow", "itemTemplate", "itemProps", "gap"]);
60
+ var SqlRequestGridInner = function (allProps, ref) {
61
+ var _a;
62
+ var _b = allProps.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_ROW_HEIGHT : _b, itemsPerRow = allProps.itemsPerRow, itemTemplate = allProps.itemTemplate, itemProps = allProps.itemProps, gap = allProps.gap, props = __rest(allProps, ["rowHeight", "itemsPerRow", "itemTemplate", "itemProps", "gap"]);
57
63
  var currentRows = (0, react_1.useRef)([]);
58
64
  var _c = (0, react_1.useState)([]), rows = _c[0], setRows = _c[1];
59
65
  var _d = (0, react_1.useState)(0), start = _d[0], setStart = _d[1];
60
- var _e = (0, react_1.useState)(50), length = _e[0], setLength = _e[1];
66
+ var _e = (0, react_1.useState)(-1), length = _e[0], setLength = _e[1];
61
67
  var _f = (0, react_1.useState)(-1), count = _f[0], setCount = _f[1];
62
68
  var sqlRequest = (0, sqlRequests_1.useSqlRequestHandler)(props.type)[0];
63
- var _g = (0, react_1.useMemo)(function () {
69
+ var _g = (0, react_1.useState)({}), conditions = _g[0], setConditions = _g[1];
70
+ var _h = (0, react_1.useState)(Object.entries((_a = props.initialSorts) !== null && _a !== void 0 ? _a : {}).map(function (_a) {
71
+ var _b, _c, _d;
72
+ var columnKey = _a[0], direction = _a[1];
73
+ var field = props.fields.find(function (field) { return field.key === columnKey; });
74
+ return {
75
+ field: (_c = (_b = field === null || field === void 0 ? void 0 : field.field) === null || _b === void 0 ? void 0 : _b.fieldAlias) !== null && _c !== void 0 ? _c : columnKey,
76
+ type: (_d = field === null || field === void 0 ? void 0 : field.type) !== null && _d !== void 0 ? _d : 'text',
77
+ direction: direction.toUpperCase(),
78
+ };
79
+ })), orderBy = _h[0], setOrderBy = _h[1];
80
+ var _j = (0, react_1.useMemo)(function () {
64
81
  var _a, _b;
65
82
  return [
66
- __spreadArray(__spreadArray([], Object.keys(props.fields), true), ((_a = props.additionalFields) !== null && _a !== void 0 ? _a : []), true),
67
- __spreadArray(__spreadArray([], Object.keys(props.fields).filter(function (key) {
68
- return (0, helpers_1.isColumnVisible)(props.fields[key]);
69
- }), true), ((_b = props.additionalFields) !== null && _b !== void 0 ? _b : []), true),
83
+ __spreadArray(__spreadArray([], props.fields
84
+ .filter(function (field) { return !field.ignore; })
85
+ .map(function (field) { return field.key; }), true), ((_a = props.additionalFields) !== null && _a !== void 0 ? _a : []), true),
86
+ __spreadArray(__spreadArray([], props.fields
87
+ .filter(function (field) { return !field.ignore; })
88
+ .filter(helpers_2.isColumnVisible)
89
+ .map(function (field) { return field.key; }), true), ((_b = props.additionalFields) !== null && _b !== void 0 ? _b : []), true),
70
90
  ];
71
- }, [props.fields, props.additionalFields]), columnsKeys = _g[0], visibleColumnsKeys = _g[1];
91
+ }, [props.fields, props.additionalFields]), columnsKeys = _j[0], visibleColumnsKeys = _j[1];
72
92
  var columnTypes = (0, react_1.useMemo)(function () {
73
- return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.fields[key]) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
93
+ return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.fields.find(function (field) { return field.key === key; })) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
74
94
  }, [visibleColumnsKeys, props.fields]);
75
95
  var loadRows = (0, react_1.useRef)((0, lodash_1.debounce)(function (columns, returnColumns, conditions, orderBy, start, length, getCount) {
76
96
  if (conditions === void 0) { conditions = []; }
@@ -78,51 +98,101 @@ var SqlRequestGridInner = function (_a, ref) {
78
98
  if (start === void 0) { start = 0; }
79
99
  if (length === void 0) { length = 100; }
80
100
  if (getCount === void 0) { getCount = false; }
81
- sqlRequest({
82
- columns: columns.includes('Id') ? columns : __spreadArray(__spreadArray([], columns, true), ['Id'], false),
83
- returnColumns: returnColumns.includes('Id')
84
- ? returnColumns
85
- : __spreadArray(__spreadArray([], returnColumns, true), ['Id'], false),
86
- columnTypes: columnTypes.includes('Id')
87
- ? columnTypes
88
- : __spreadArray(__spreadArray([], columnTypes, true), ['Id'], false),
89
- conditions: conditions,
90
- orderBy: orderBy,
91
- start: start,
92
- length: length,
93
- getCount: getCount,
94
- }).then(function (response) {
95
- var _a;
96
- var _b;
97
- if (getCount) {
98
- currentRows.current = Array(response.count).fill(null);
99
- if (getCount)
100
- setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
101
- }
102
- var parsedRows = props.parser
103
- ? response.data.map(props.parser)
104
- : response.data;
105
- (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
106
- setRows(__spreadArray([], currentRows.current, true));
107
- });
101
+ if (length > 0) {
102
+ sqlRequest({
103
+ columns: columns.includes('Id') ? columns : __spreadArray(__spreadArray([], columns, true), ['Id'], false),
104
+ returnColumns: returnColumns.includes('Id')
105
+ ? returnColumns
106
+ : __spreadArray(__spreadArray([], returnColumns, true), ['Id'], false),
107
+ columnTypes: columnTypes.includes('Id')
108
+ ? columnTypes
109
+ : __spreadArray(__spreadArray([], columnTypes, true), ['Id'], false),
110
+ conditions: conditions,
111
+ orderBy: orderBy,
112
+ start: start,
113
+ length: length,
114
+ getCount: getCount,
115
+ }).then(function (response) {
116
+ var _a;
117
+ var _b, _c;
118
+ if (getCount) {
119
+ currentRows.current = Array(response.count).fill(null);
120
+ if (getCount)
121
+ setCount((_b = response.count) !== null && _b !== void 0 ? _b : 0);
122
+ }
123
+ var data = (_c = response.data) !== null && _c !== void 0 ? _c : [];
124
+ var parsedRows = props.parser
125
+ ? data.map(props.parser)
126
+ : data;
127
+ (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
128
+ setRows(__spreadArray([], currentRows.current, true));
129
+ });
130
+ }
108
131
  }, 100, {
109
132
  leading: true,
110
133
  trailing: true,
111
134
  }));
135
+ var refresh = (0, react_1.useCallback)(function () {
136
+ setRows([]);
137
+ setStart(0);
138
+ setCount(-1);
139
+ }, []);
140
+ var onFiltersChanged = (0, react_1.useCallback)(function (filters) {
141
+ var newConditions = (0, helpers_1.convertSqlFiltersToConditions)(filters);
142
+ setConditions(newConditions);
143
+ refresh();
144
+ }, [refresh]);
145
+ var onSortsChanged = (0, react_1.useCallback)(function (sorts) {
146
+ refresh();
147
+ var newOrderBy = Object.entries(sorts).map(function (_a) {
148
+ var columnKey = _a[0], direction = _a[1];
149
+ return ({
150
+ field: columnKey,
151
+ direction: direction.toUpperCase(),
152
+ });
153
+ });
154
+ setOrderBy(newOrderBy);
155
+ }, [refresh]);
156
+ var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
157
+ var _a, _b, _c, _d, _e, _f, _g;
158
+ var field = props.fields.find(function (field) { return field.key === columnKey; });
159
+ if (!field)
160
+ return Promise.resolve([]);
161
+ return sqlRequest({
162
+ columns: columnsKeys,
163
+ returnColumns: [columnKey],
164
+ // columnTypes: [field.type ?? 'text'],
165
+ conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), Object.values((0, lodash_1.pickBy)(conditions, function (_, key) { return key !== columnKey; })), true).filter(function (condition) { return condition.field !== columnKey; }),
166
+ orderBy: [
167
+ {
168
+ field: (_f = (_d = (_b = field.filterField) !== null && _b !== void 0 ? _b : (_c = field.field) === null || _c === void 0 ? void 0 : _c.fieldAlias) !== null && _d !== void 0 ? _d : (_e = field.field) === null || _e === void 0 ? void 0 : _e.fieldName) !== null && _f !== void 0 ? _f : columnKey,
169
+ type: (_g = field.type) !== null && _g !== void 0 ? _g : 'text',
170
+ direction: 'ASC',
171
+ },
172
+ ],
173
+ getCount: false,
174
+ unique: true,
175
+ }).then(function (response) {
176
+ return response.data.map(function (row) { var _a, _b, _c; return (_c = (_b = (_a = field.filter) === null || _a === void 0 ? void 0 : _a.getter) === null || _b === void 0 ? void 0 : _b.call(_a, row)) !== null && _c !== void 0 ? _c : null; });
177
+ });
178
+ }, [columnsKeys, conditions, props.fields, props.conditions, sqlRequest]);
112
179
  (0, react_1.useEffect)(function () {
113
- if (!rows.length ||
180
+ var _a;
181
+ if ((!rows.length && count < 0) ||
114
182
  rows.slice(start, start + length).some(function (row) { return row === null; })) {
115
- loadRows.current(columnsKeys, visibleColumnsKeys, [], [], start, length, count < 0);
183
+ loadRows.current(columnsKeys, visibleColumnsKeys, __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), Object.values(conditions), true), orderBy, start, length, count < 0);
116
184
  }
117
185
  }, [
118
186
  props.fields,
119
187
  start,
120
188
  length,
121
189
  count,
122
- props.conditions,
190
+ conditions,
123
191
  columnsKeys,
124
192
  visibleColumnsKeys,
125
193
  rows,
194
+ orderBy,
195
+ props.conditions,
126
196
  ]);
127
197
  var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
128
198
  if (newStart !== start || newLength !== length) {
@@ -130,16 +200,36 @@ var SqlRequestGridInner = function (_a, ref) {
130
200
  setLength(newLength);
131
201
  }
132
202
  }, [length, start]);
133
- var refresh = (0, react_1.useCallback)(function () {
134
- setRows([]);
135
- setStart(0);
136
- setLength(50);
137
- setCount(-1);
138
- }, []);
139
203
  (0, react_1.useImperativeHandle)(ref, function () { return ({
140
204
  refresh: refresh,
141
205
  }); }, [refresh]);
142
- return ((0, jsx_runtime_1.jsx)(styles.SqlRequestGridContainer, { children: (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { gridTemplateColumns: "repeat(".concat(itemsPerRow, ", 1fr)"), items: rows, itemTemplate: itemTemplate, itemsPerRow: itemsPerRow, itemProps: itemProps, rowHeightInPx: rowHeight, onRangeChanged: onVisibleRowsChanged, gap: gap }) }));
206
+ var _k = (0, hooks_1.useDataGrid)({
207
+ columns: props.fields,
208
+ rows: rows,
209
+ onFiltersChanged: onFiltersChanged,
210
+ filterValuesLoader: loadFilterValues,
211
+ onSortsChanged: onSortsChanged,
212
+ onSelectionChange: function () { },
213
+ onSelectedRowsChanged: function () { },
214
+ selectable: false,
215
+ rowKey: function () { return ''; },
216
+ filter: false,
217
+ sort: false,
218
+ }), contextProps = _k[0], DataGridContext = _k[1];
219
+ var _l = (0, react_1.useState)(false), sidebarVisible = _l[0], setSidebarVisible = _l[1];
220
+ var onSidebarClose = (0, react_1.useCallback)(function () {
221
+ setSidebarVisible(false);
222
+ }, []);
223
+ var onClearFilters = (0, react_1.useCallback)(function () {
224
+ onFiltersChanged({});
225
+ setSidebarVisible(false);
226
+ }, [onFiltersChanged]);
227
+ return ((0, jsx_runtime_1.jsx)(DataGridContext.Provider, { value: contextProps, children: (0, jsx_runtime_1.jsxs)(styles.SqlRequestGridContainer, { children: [sidebarVisible ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(FiltersSidebar_1.FiltersSidebar, { props: allProps, context: DataGridContext, onClose: onSidebarClose, onClearFilters: onClearFilters }) })) : ((0, jsx_runtime_1.jsx)(forms_1.IconButton, { size: "large", onClick: function () { return setSidebarVisible(true); }, icon: Icons_1.FilterFullIcon, color: "primary", rounded: true, style: {
228
+ position: 'absolute',
229
+ bottom: 'var(--space-2)',
230
+ right: 'var(--space-2)',
231
+ zIndex: 1,
232
+ } })), (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { gridTemplateColumns: "repeat(".concat(itemsPerRow, ", 1fr)"), items: rows, itemTemplate: itemTemplate, itemsPerRow: itemsPerRow, itemProps: itemProps, rowHeightInPx: rowHeight, onRangeChanged: onVisibleRowsChanged, gap: gap })] }) }));
143
233
  };
144
234
  exports.SqlRequestGridInner = SqlRequestGridInner;
145
235
  exports.SqlRequestGrid = (0, react_1.forwardRef)(exports.SqlRequestGridInner);
@@ -2,15 +2,3 @@ export declare const DEFAULT_ROW_HEIGHT = 200;
2
2
  export declare const SqlRequestGridContainer: 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
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
4
  }>, never>, never>> & string;
5
- export declare const TopPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
- export declare const BottomPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
- export declare const VirtualScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
8
- $height: number;
9
- }>> & string;
10
- export declare const VirtualScrollerRowsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<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
- 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
- }>, {
13
- $gridTemplateColumns: string;
14
- $topPadding: number;
15
- $rowHeight?: number;
16
- }>, never>> & string;
@@ -7,27 +7,11 @@ 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.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.SqlRequestGridContainer = exports.DEFAULT_ROW_HEIGHT = void 0;
10
+ exports.SqlRequestGridContainer = exports.DEFAULT_ROW_HEIGHT = void 0;
11
+ var styles_1 = require("../VirtualScroller/styles");
11
12
  var styled_components_1 = __importDefault(require("styled-components"));
12
13
  exports.DEFAULT_ROW_HEIGHT = 200;
13
14
  exports.SqlRequestGridContainer = styled_components_1.default.div.attrs({
14
15
  className: 'SqlRequestGridContainer',
15
- })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n width: 100%;\n overflow: auto;\n"], ["\n height: 100%;\n width: 100%;\n overflow: auto;\n"])));
16
- exports.TopPaddingRow = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
17
- exports.BottomPaddingRow = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
18
- exports.VirtualScrollerContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: relative;\n overflow: visible;\n height: ", ";\n"], ["\n position: relative;\n overflow: visible;\n height: ", ";\n"])), function (_a) {
19
- var $height = _a.$height;
20
- return "".concat($height, "px");
21
- });
22
- exports.VirtualScrollerRowsContainer = styled_components_1.default.div.attrs(function (_a) {
23
- var $gridTemplateColumns = _a.$gridTemplateColumns, $topPadding = _a.$topPadding, _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_ROW_HEIGHT : _b;
24
- var rowHeightValue = "".concat($rowHeight, "px");
25
- return {
26
- style: {
27
- top: "".concat($topPadding, "px"),
28
- gridTemplateColumns: $gridTemplateColumns,
29
- gridAutoRows: rowHeightValue,
30
- },
31
- };
32
- })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: grid;\n position: absolute;\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"], ["\n display: grid;\n position: absolute;\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"])), exports.TopPaddingRow, exports.BottomPaddingRow);
33
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
16
+ })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n width: 100%;\n overflow: auto;\n position: relative;\n\n ", " {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n"], ["\n height: 100%;\n width: 100%;\n overflow: auto;\n position: relative;\n\n ", " {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n"])), styles_1.VirtualScrollerContainer);
17
+ var templateObject_1;
@@ -1,17 +1,26 @@
1
1
  import { ConditionDTO, FieldDTO, OrderByDTO, SqlRequestRow } from '../../../services/sqlRequests';
2
- import { DataGridColumn, DataGridFilter, DataGridFilterType } from '../DataGrid/types';
2
+ import { DataGridCheckboxColumn, DataGridDateColumn, DataGridFilter, DataGridFilterType, DataGridNumberColumn, DataGridSort, DataGridTextColumn } from '../DataGrid/types';
3
3
  import { VirtualScrollerTemplateFC } from '../VirtualScroller/types';
4
4
  export type SqlRequestGridFilter<T extends DataGridFilterType = DataGridFilterType> = DataGridFilter<T> & {
5
5
  field?: FieldDTO;
6
6
  };
7
7
  export type SqlRequestGridFilters = Record<string, SqlRequestGridFilter>;
8
- export type SqlRequestGridColumn<R> = DataGridColumn<R> & {
8
+ export type SqlRequestGridCommonProps = {
9
9
  filter?: SqlRequestGridFilter;
10
10
  field?: FieldDTO;
11
11
  filterField?: string;
12
12
  sortField?: string;
13
+ ignore?: boolean;
13
14
  };
14
- export type SqlRequestGridColumns<R> = Record<string, SqlRequestGridColumn<R>>;
15
+ export type SqlRequestGridTextColumn<R> = DataGridTextColumn<R> & SqlRequestGridCommonProps;
16
+ export type SqlRequestGridNumberColumn<R> = DataGridNumberColumn<R> & SqlRequestGridCommonProps;
17
+ export type SqlRequestGridCheckboxColumn<R> = DataGridCheckboxColumn<R> & SqlRequestGridCommonProps;
18
+ export type SqlRequestGridDateColumn<R> = DataGridDateColumn<R> & SqlRequestGridCommonProps;
19
+ export type SqlRequestGridColumn<R> = SqlRequestGridTextColumn<R> | SqlRequestGridNumberColumn<R> | SqlRequestGridCheckboxColumn<R> | SqlRequestGridDateColumn<R>;
20
+ export type SqlRequestGridColumnWithFilter<R> = SqlRequestGridColumn<R> & {
21
+ filter: SqlRequestGridFilter;
22
+ };
23
+ export type SqlRequestGridColumns<R> = SqlRequestGridColumn<R>[];
15
24
  export type SqlRequestGridProps<R, P extends object = {}> = {
16
25
  itemTemplate: VirtualScrollerTemplateFC<R, P>;
17
26
  itemsPerRow?: number;
@@ -23,7 +32,8 @@ export type SqlRequestGridProps<R, P extends object = {}> = {
23
32
  orderBy?: OrderByDTO[];
24
33
  conditions?: ConditionDTO[];
25
34
  parser?: (row: SqlRequestRow<R>) => R;
26
- itemProps: P;
35
+ itemProps: P | ((item: R) => P);
36
+ initialSorts?: Record<string, DataGridSort>;
27
37
  };
28
38
  export type SqlRequestGridRefProps = {
29
39
  refresh: () => void;
@@ -3,12 +3,13 @@ type VirtualScrollerProps<R, P extends object> = {
3
3
  gridTemplateColumns: string;
4
4
  items: R[];
5
5
  itemTemplate: VirtualScrollerTemplateFC<R, P>;
6
- rowHeightInPx?: number;
6
+ rowHeightInPx: number;
7
7
  gap?: string;
8
8
  itemsPerRow?: number;
9
9
  tolerance?: number;
10
- itemProps: P;
10
+ itemProps: P | ((item: R, index: number) => P);
11
11
  onRangeChanged?: (index: number, length: number) => void;
12
+ integrated?: boolean;
12
13
  };
13
- export declare const VirtualScroller: <R, P extends object>({ gridTemplateColumns, items, rowHeightInPx, itemTemplate: ItemTemplate, itemProps, onRangeChanged, gap, itemsPerRow, tolerance, }: VirtualScrollerProps<R, P>) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const VirtualScroller: <R, P extends object>({ gridTemplateColumns, items, rowHeightInPx, itemTemplate: ItemTemplate, itemProps, onRangeChanged, gap, itemsPerRow, tolerance, integrated, }: VirtualScrollerProps<R, P>) => import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -41,18 +41,28 @@ var styles = __importStar(require("./styles"));
41
41
  var react_1 = require("react");
42
42
  var hooks_1 = require("./hooks");
43
43
  var VirtualScroller = function (_a) {
44
- var gridTemplateColumns = _a.gridTemplateColumns, items = _a.items, _b = _a.rowHeightInPx, rowHeightInPx = _b === void 0 ? styles.DEFAULT_ROW_HEIGHT : _b, ItemTemplate = _a.itemTemplate, itemProps = _a.itemProps, onRangeChanged = _a.onRangeChanged, gap = _a.gap, itemsPerRow = _a.itemsPerRow, tolerance = _a.tolerance;
45
- var _c = (0, react_1.useState)(null), scrollableElement = _c[0], setScrollableElement = _c[1];
46
- var _d = (0, hooks_1.useVirtualScrolling)({
44
+ var gridTemplateColumns = _a.gridTemplateColumns, items = _a.items, rowHeightInPx = _a.rowHeightInPx, ItemTemplate = _a.itemTemplate, itemProps = _a.itemProps, onRangeChanged = _a.onRangeChanged, gap = _a.gap, itemsPerRow = _a.itemsPerRow, tolerance = _a.tolerance, integrated = _a.integrated;
45
+ var _b = (0, react_1.useState)(null), scrollableElement = _b[0], setScrollableElement = _b[1];
46
+ var _c = (0, hooks_1.useVirtualScrolling)({
47
47
  scrollableElement: scrollableElement,
48
48
  rowHeightInPx: rowHeightInPx,
49
49
  items: items,
50
50
  itemsPerRow: itemsPerRow,
51
51
  tolerance: tolerance,
52
- }), indexWithTolerance = _d.indexWithTolerance, lengthWithTolerance = _d.lengthWithTolerance, visibleItems = _d.visibleItems, topPadding = _d.topPadding, totalHeight = _d.totalHeight;
52
+ }), indexWithTolerance = _c.indexWithTolerance, lengthWithTolerance = _c.lengthWithTolerance, visibleItems = _c.visibleItems, topPadding = _c.topPadding, totalHeight = _c.totalHeight;
53
53
  (0, react_1.useEffect)(function () {
54
54
  onRangeChanged === null || onRangeChanged === void 0 ? void 0 : onRangeChanged(indexWithTolerance, lengthWithTolerance);
55
55
  }, [indexWithTolerance, lengthWithTolerance, onRangeChanged]);
56
- return ((0, jsx_runtime_1.jsx)(styles.VirtualScrollerContainer, { "$height": totalHeight, ref: function (element) { var _a; return setScrollableElement((_a = element === null || element === void 0 ? void 0 : element.parentElement) !== null && _a !== void 0 ? _a : null); }, children: (0, jsx_runtime_1.jsx)(styles.VirtualScrollerItemsContainer, { "$gridTemplateColumns": gridTemplateColumns, "$topPadding": topPadding, "$itemHeight": rowHeightInPx, "$gap": gap, children: visibleItems.map(function (item, currentIndex) { return ((0, jsx_runtime_1.jsx)(ItemTemplate, __assign({ item: item, index: currentIndex }, itemProps), indexWithTolerance + currentIndex)); }) }) }));
56
+ return ((0, jsx_runtime_1.jsx)(styles.VirtualScrollerContainer, { "$integrated": integrated, children: (0, jsx_runtime_1.jsx)(styles.VirtualScrollerFiller, { "$height": totalHeight, ref: function (element) {
57
+ var _a, _b;
58
+ return setScrollableElement((_b = (integrated
59
+ ? (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement
60
+ : element === null || element === void 0 ? void 0 : element.parentElement)) !== null && _b !== void 0 ? _b : null);
61
+ }, children: (0, jsx_runtime_1.jsx)(styles.VirtualScrollerItemsContainer, { "$gridTemplateColumns": gridTemplateColumns, "$topPadding": topPadding, "$itemHeight": rowHeightInPx, "$gap": gap, children: visibleItems.map(function (item, currentIndex) {
62
+ var currentItemProps = typeof itemProps === 'function'
63
+ ? itemProps(item, indexWithTolerance + currentIndex)
64
+ : itemProps;
65
+ return ((0, jsx_runtime_1.jsx)(ItemTemplate, __assign({ item: item, index: currentIndex }, currentItemProps), indexWithTolerance + currentIndex));
66
+ }) }) }) }));
57
67
  };
58
68
  exports.VirtualScroller = VirtualScroller;
@@ -1,7 +1,9 @@
1
- export declare const DEFAULT_ROW_HEIGHT = 32;
2
1
  export declare const TopPaddingItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
2
  export declare const BottomPaddingItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
- export declare const VirtualScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<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
+ export declare const VirtualScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
4
+ $integrated?: boolean;
5
+ }>> & string;
6
+ export declare const VirtualScrollerFiller: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
7
  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;
6
8
  }>, {
7
9
  $height: number;
@@ -7,12 +7,15 @@ 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.VirtualScrollerItemsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingItem = exports.TopPaddingItem = exports.DEFAULT_ROW_HEIGHT = void 0;
10
+ exports.VirtualScrollerItemsContainer = exports.VirtualScrollerFiller = exports.VirtualScrollerContainer = exports.BottomPaddingItem = exports.TopPaddingItem = void 0;
11
11
  var styled_components_1 = __importDefault(require("styled-components"));
12
- exports.DEFAULT_ROW_HEIGHT = 32;
13
12
  exports.TopPaddingItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([""], [""])));
14
13
  exports.BottomPaddingItem = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
15
- exports.VirtualScrollerContainer = styled_components_1.default.div.attrs(function (_a) {
14
+ exports.VirtualScrollerContainer = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n overflow: auto;\n height: 100%;\n display: ", ";\n"], ["\n position: relative;\n overflow: auto;\n height: 100%;\n display: ", ";\n"])), function (_a) {
15
+ var $integrated = _a.$integrated;
16
+ return ($integrated ? 'contents' : 'block');
17
+ });
18
+ exports.VirtualScrollerFiller = styled_components_1.default.div.attrs(function (_a) {
16
19
  var $height = _a.$height;
17
20
  return ({
18
21
  className: 'VirtualScrollerFiller',
@@ -20,7 +23,7 @@ exports.VirtualScrollerContainer = styled_components_1.default.div.attrs(functio
20
23
  height: "".concat($height, "px"),
21
24
  },
22
25
  });
23
- })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n overflow: visible;\n"], ["\n position: relative;\n overflow: visible;\n"])));
26
+ })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: relative;\n overflow: visible;\n"], ["\n position: relative;\n overflow: visible;\n"])));
24
27
  exports.VirtualScrollerItemsContainer = styled_components_1.default.div.attrs(function (_a) {
25
28
  var $gridTemplateColumns = _a.$gridTemplateColumns, $topPadding = _a.$topPadding, $itemHeight = _a.$itemHeight;
26
29
  var itemHeightValue = "".concat($itemHeight, "px");
@@ -32,8 +35,8 @@ exports.VirtualScrollerItemsContainer = styled_components_1.default.div.attrs(fu
32
35
  gridAutoItems: itemHeightValue,
33
36
  },
34
37
  };
35
- })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: grid;\n position: absolute;\n min-width: 100%;\n grid-gap: ", ";\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"], ["\n display: grid;\n position: absolute;\n min-width: 100%;\n grid-gap: ", ";\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"])), function (_a) {
38
+ })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: grid;\n position: absolute;\n min-width: 100%;\n grid-gap: ", ";\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"], ["\n display: grid;\n position: absolute;\n min-width: 100%;\n grid-gap: ", ";\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"])), function (_a) {
36
39
  var $gap = _a.$gap;
37
40
  return $gap;
38
41
  }, exports.TopPaddingItem, exports.BottomPaddingItem);
39
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
42
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -2,12 +2,11 @@ export * from './DataGrid';
2
2
  export * from './DataGrid/helpers';
3
3
  export * from './DataGrid/styles';
4
4
  export * from './DataGrid/types';
5
- export * from './AdvancedRequestDataGrid';
6
- export * from './AdvancedRequestDataGrid/helpers';
7
5
  export * from './SqlRequestDataGrid';
8
6
  export * from './SqlRequestDataGrid/helpers';
9
7
  export * from './SqlRequestDataGrid/types';
10
8
  export * from './SqlRequestGrid';
11
9
  export * from './SqlRequestGrid/types';
10
+ export * from './SqlRequestForeignList';
12
11
  export * from './VirtualScroller';
13
12
  export * from './VirtualScroller/types';
@@ -18,12 +18,11 @@ __exportStar(require("./DataGrid"), exports);
18
18
  __exportStar(require("./DataGrid/helpers"), exports);
19
19
  __exportStar(require("./DataGrid/styles"), exports);
20
20
  __exportStar(require("./DataGrid/types"), exports);
21
- __exportStar(require("./AdvancedRequestDataGrid"), exports);
22
- __exportStar(require("./AdvancedRequestDataGrid/helpers"), exports);
23
21
  __exportStar(require("./SqlRequestDataGrid"), exports);
24
22
  __exportStar(require("./SqlRequestDataGrid/helpers"), exports);
25
23
  __exportStar(require("./SqlRequestDataGrid/types"), exports);
26
24
  __exportStar(require("./SqlRequestGrid"), exports);
27
25
  __exportStar(require("./SqlRequestGrid/types"), exports);
26
+ __exportStar(require("./SqlRequestForeignList"), exports);
28
27
  __exportStar(require("./VirtualScroller"), exports);
29
28
  __exportStar(require("./VirtualScroller/types"), exports);
@@ -0,0 +1,10 @@
1
+ import { DetailedHTMLProps, TextareaHTMLAttributes } from 'react';
2
+ type TextAreaProps = DetailedHTMLProps<TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>;
3
+ type AutoTextAreaProps = TextAreaProps & {
4
+ minRows?: number;
5
+ maxRows?: number;
6
+ canGrow?: boolean;
7
+ canShrink?: boolean;
8
+ };
9
+ export declare const AutoTextArea: ({ className, canGrow, canShrink, minRows, maxRows, value, ...props }: AutoTextAreaProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,40 @@
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 __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.AutoTextArea = void 0;
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var react_1 = require("react");
28
+ var AutoTextArea = function (_a) {
29
+ var className = _a.className, _b = _a.canGrow, canGrow = _b === void 0 ? true : _b, _c = _a.canShrink, canShrink = _c === void 0 ? true : _c, _d = _a.minRows, minRows = _d === void 0 ? 1 : _d, _e = _a.maxRows, maxRows = _e === void 0 ? 10 : _e, value = _a.value, props = __rest(_a, ["className", "canGrow", "canShrink", "minRows", "maxRows", "value"]);
30
+ var _f = (0, react_1.useState)(minRows), rows = _f[0], setRows = _f[1];
31
+ (0, react_1.useEffect)(function () {
32
+ var linesCount = String(value).split('\n').length;
33
+ var rowsCount = Math.min(maxRows, Math.max(minRows, linesCount));
34
+ if ((canGrow && rowsCount > rows) || (canShrink && rowsCount < rows)) {
35
+ setRows(rowsCount);
36
+ }
37
+ }, [canGrow, canShrink, maxRows, minRows, rows, value]);
38
+ return ((0, jsx_runtime_1.jsx)("textarea", __assign({}, props, { className: className, rows: rows, value: value })));
39
+ };
40
+ exports.AutoTextArea = AutoTextArea;
@@ -1,10 +1,17 @@
1
1
  import { IconFC } from '../../Icons';
2
2
  import { ThemeColor } from '../../providers/ThemeProvider/types';
3
- export declare const StyledButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, ButtonProps>> & string;
3
+ type StyledButtonProps = {
4
+ $color?: ThemeColor;
5
+ $rounded?: boolean;
6
+ $bordered?: boolean;
7
+ };
8
+ export declare const StyledButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, StyledButtonProps>> & string;
4
9
  export type ButtonProps = {
5
10
  color?: ThemeColor;
6
11
  size?: 'small' | 'medium' | 'large';
7
12
  icon?: IconFC;
8
13
  rounded?: boolean;
14
+ bordered?: boolean;
9
15
  };
10
- export declare const Button: (props: import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, keyof ButtonProps> & ButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").JSX.Element | null;
16
+ export declare const Button: (props: import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, keyof StyledButtonProps> & StyledButtonProps & ButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").JSX.Element | null;
17
+ export {};
@@ -56,15 +56,21 @@ var styled_components_1 = __importStar(require("styled-components"));
56
56
  exports.StyledButton = styled_components_1.default.button.withConfig({
57
57
  shouldForwardProp: function () { return true; },
58
58
  })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: inline-flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n box-shadow: var(--shadow-sm);\n /* font-weight: bold; */\n border-radius: var(--rounded-md);\n font-family: var(--font-sans);\n cursor: pointer;\n\n ", "\n\n ", "\n\n &.small {\n padding: var(--space-1) var(--space-1_5);\n font-size: var(--text-sm);\n height: var(--space-6);\n box-shadow: var(--shadow-sm);\n svg {\n margin-right: var(--space-1);\n width: var(--space-3);\n height: var(--space-3);\n }\n }\n &.medium {\n padding: var(--space-2) var(--space-3);\n font-size: var(--text-base);\n height: var(--space-8);\n box-shadow: var(--shadow-sm);\n svg {\n margin-right: var(--space-1);\n width: var(--space-4);\n height: var(--space-4);\n }\n }\n &.large {\n padding: var(--space-3) var(--space-4);\n font-size: var(--text-lg);\n height: var(--space-10);\n box-shadow: var(--shadow-sm);\n svg {\n margin-right: var(--space-1);\n width: var(--space-5);\n height: var(--space-5);\n }\n }\n"], ["\n display: inline-flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n box-shadow: var(--shadow-sm);\n /* font-weight: bold; */\n border-radius: var(--rounded-md);\n font-family: var(--font-sans);\n cursor: pointer;\n\n ", "\n\n ", "\n\n &.small {\n padding: var(--space-1) var(--space-1_5);\n font-size: var(--text-sm);\n height: var(--space-6);\n box-shadow: var(--shadow-sm);\n svg {\n margin-right: var(--space-1);\n width: var(--space-3);\n height: var(--space-3);\n }\n }\n &.medium {\n padding: var(--space-2) var(--space-3);\n font-size: var(--text-base);\n height: var(--space-8);\n box-shadow: var(--shadow-sm);\n svg {\n margin-right: var(--space-1);\n width: var(--space-4);\n height: var(--space-4);\n }\n }\n &.large {\n padding: var(--space-3) var(--space-4);\n font-size: var(--text-lg);\n height: var(--space-10);\n box-shadow: var(--shadow-sm);\n svg {\n margin-right: var(--space-1);\n width: var(--space-5);\n height: var(--space-5);\n }\n }\n"])), function (_a) {
59
- var color = _a.color;
60
- return color
61
- ? (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: var(--color-", "-400);\n border: 1px solid var(--color-", "-500);\n &:hover {\n background-color: var(--color-", "-300);\n border: 1px solid var(--color-", "-400);\n }\n color: var(--color-", "-950);\n svg {\n fill: var(--color-", "-950);\n }\n "], ["\n background-color: var(--color-", "-400);\n border: 1px solid var(--color-", "-500);\n &:hover {\n background-color: var(--color-", "-300);\n border: 1px solid var(--color-", "-400);\n }\n color: var(--color-", "-950);\n svg {\n fill: var(--color-", "-950);\n }\n "])), color, color, color, color, color, color) : (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: var(--color-neutral-100);\n border: 1px solid var(--color-neutral-300);\n &:hover {\n background-color: var(--color-neutral-200);\n border: 1px solid var(--color-neutral-400);\n }\n color: var(--color-neutral-900);\n svg {\n fill: var(--color-neutral-900);\n }\n "], ["\n background-color: var(--color-neutral-100);\n border: 1px solid var(--color-neutral-300);\n &:hover {\n background-color: var(--color-neutral-200);\n border: 1px solid var(--color-neutral-400);\n }\n color: var(--color-neutral-900);\n svg {\n fill: var(--color-neutral-900);\n }\n "])));
59
+ var $color = _a.$color, _b = _a.$bordered, $bordered = _b === void 0 ? true : _b;
60
+ return $color
61
+ ? (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: var(--color-", "-400);\n border: ", ";\n &:hover {\n background-color: var(--color-", "-300);\n border: ", ";\n }\n color: var(--color-", "-950);\n svg {\n fill: var(--color-", "-950);\n }\n "], ["\n background-color: var(--color-", "-400);\n border: ", ";\n &:hover {\n background-color: var(--color-", "-300);\n border: ", ";\n }\n color: var(--color-", "-950);\n svg {\n fill: var(--color-", "-950);\n }\n "])), $color, $bordered
62
+ ? "1px solid var(--color-".concat($color, "-500)")
63
+ : 'none', $color, $bordered
64
+ ? "1px solid var(--color-".concat($color, "-400)")
65
+ : 'none', $color, $color) : (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: var(--color-neutral-100);\n border: ", ";\n &:hover {\n background-color: var(--color-neutral-200);\n border: ", ";\n }\n color: var(--color-neutral-900);\n svg {\n fill: var(--color-neutral-900);\n }\n "], ["\n background-color: var(--color-neutral-100);\n border: ", ";\n &:hover {\n background-color: var(--color-neutral-200);\n border: ", ";\n }\n color: var(--color-neutral-900);\n svg {\n fill: var(--color-neutral-900);\n }\n "])), $bordered ? "1px solid var(--color-neutral-300)" : 'none', $bordered
66
+ ? "1px solid var(--color-neutral-400)"
67
+ : 'none');
62
68
  }, function (_a) {
63
- var rounded = _a.rounded;
64
- return rounded && 'border-radius: var(--rounded-full);';
69
+ var $rounded = _a.$rounded;
70
+ return $rounded && 'border-radius: var(--rounded-full);';
65
71
  });
66
72
  exports.Button = (0, react_1.forwardRef)(function (_a, ref) {
67
- var children = _a.children, _b = _a.size, size = _b === void 0 ? 'medium' : _b, Icon = _a.icon, className = _a.className, props = __rest(_a, ["children", "size", "icon", "className"]);
68
- return ((0, jsx_runtime_1.jsxs)(exports.StyledButton, __assign({ ref: ref, className: "".concat(size, " ").concat(className) }, props, { children: [Icon && (0, jsx_runtime_1.jsx)(Icon, {}), children] })));
73
+ var children = _a.children, _b = _a.size, size = _b === void 0 ? 'medium' : _b, Icon = _a.icon, className = _a.className, _c = _a.rounded, rounded = _c === void 0 ? false : _c, _d = _a.color, color = _d === void 0 ? 'neutral' : _d, _e = _a.bordered, bordered = _e === void 0 ? true : _e, props = __rest(_a, ["children", "size", "icon", "className", "rounded", "color", "bordered"]);
74
+ return ((0, jsx_runtime_1.jsxs)(exports.StyledButton, __assign({ ref: ref, className: "".concat(size, " ").concat(className), "$color": color, "$rounded": rounded, "$bordered": bordered }, props, { children: [Icon && (0, jsx_runtime_1.jsx)(Icon, {}), children] })));
69
75
  });
70
76
  var templateObject_1, templateObject_2, templateObject_3;
@@ -0,0 +1,3 @@
1
+ import { FC, InputHTMLAttributes } from 'react';
2
+ import { InputContainerProps } from './types';
3
+ export declare const Checkbox: FC<InputContainerProps & InputHTMLAttributes<HTMLInputElement>>;