@addev-be/ui 0.2.5 → 0.2.6

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 (133) hide show
  1. package/assets/icons/arrow-down-a-z.svg +1 -1
  2. package/assets/icons/arrow-up-z-a.svg +1 -1
  3. package/assets/icons/check.svg +1 -1
  4. package/assets/icons/down.svg +1 -1
  5. package/assets/icons/filter-full.svg +1 -1
  6. package/assets/icons/filter.svg +1 -1
  7. package/assets/icons/hashtag.svg +1 -1
  8. package/assets/icons/image-slash.svg +1 -1
  9. package/assets/icons/left.svg +1 -1
  10. package/assets/icons/magnifier.svg +1 -1
  11. package/assets/icons/phone.svg +1 -1
  12. package/assets/icons/right.svg +1 -1
  13. package/assets/icons/spinner-third.svg +1 -1
  14. package/assets/icons/table-columns.svg +1 -1
  15. package/assets/icons/up.svg +1 -1
  16. package/assets/icons/user-tie.svg +1 -1
  17. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +1 -2
  18. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +3 -5
  19. package/dist/components/data/DataGrid/DataGridCell.d.ts +1 -1
  20. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  21. package/dist/components/data/DataGrid/DataGridEditableCell.js +2 -7
  22. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +10 -8
  23. package/dist/components/data/DataGrid/DataGridFooter.js +4 -14
  24. package/dist/components/data/DataGrid/DataGridHeader.js +1 -3
  25. package/dist/components/data/DataGrid/DataGridHeaderCell.js +6 -5
  26. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +5 -5
  27. package/dist/components/data/DataGrid/FilterModalContent/index.js +11 -9
  28. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +8 -7
  29. package/dist/components/data/DataGrid/FilterValuesScroller.js +5 -6
  30. package/dist/components/data/DataGrid/helpers/columns.js +1 -4
  31. package/dist/components/data/DataGrid/helpers/filters.d.ts +4 -3
  32. package/dist/components/data/DataGrid/helpers/filters.js +13 -5
  33. package/dist/components/data/DataGrid/hooks/useDataGrid.js +2 -2
  34. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +0 -1
  35. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -1
  36. package/dist/components/data/DataGrid/index.js +16 -5
  37. package/dist/components/data/DataGrid/styles.d.ts +4 -1
  38. package/dist/components/data/DataGrid/styles.js +11 -8
  39. package/dist/components/data/DataGrid/types.d.ts +20 -15
  40. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +7 -9
  41. package/dist/components/data/SqlRequestDataGrid/index.js +34 -18
  42. package/dist/components/data/SqlRequestDataGrid/types.d.ts +1 -0
  43. package/dist/components/data/index.d.ts +2 -0
  44. package/dist/components/data/index.js +2 -0
  45. package/dist/helpers/dates.d.ts +2 -0
  46. package/dist/helpers/dates.js +13 -0
  47. package/package.json +1 -1
  48. package/src/Icons.tsx +80 -80
  49. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  50. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  51. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  52. package/src/components/data/AdvancedRequestDataGrid/index.tsx +269 -269
  53. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  54. package/src/components/data/DataGrid/DataGridCell.tsx +73 -73
  55. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  56. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +58 -58
  57. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  58. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  59. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -54
  60. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  61. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +200 -190
  62. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +100 -100
  63. package/src/components/data/DataGrid/DataGridFooter.tsx +44 -64
  64. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -126
  65. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +167 -167
  66. package/src/components/data/DataGrid/FilterModalContent/index.tsx +124 -125
  67. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  68. package/src/components/data/DataGrid/FilterValuesScroller.tsx +133 -131
  69. package/src/components/data/DataGrid/VirtualScroller.tsx +46 -46
  70. package/src/components/data/DataGrid/helpers/columns.tsx +196 -196
  71. package/src/components/data/DataGrid/helpers/filters.ts +220 -207
  72. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  73. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  74. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +264 -264
  75. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +165 -165
  76. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  77. package/src/components/data/DataGrid/index.tsx +132 -132
  78. package/src/components/data/DataGrid/styles.ts +326 -326
  79. package/src/components/data/DataGrid/types.ts +241 -240
  80. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +224 -224
  81. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  82. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  83. package/src/components/data/SqlRequestDataGrid/index.tsx +252 -252
  84. package/src/components/data/SqlRequestDataGrid/types.ts +47 -47
  85. package/src/components/data/index.ts +8 -8
  86. package/src/components/forms/Button.tsx +99 -99
  87. package/src/components/forms/IconButton.tsx +56 -56
  88. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  89. package/src/components/forms/Select.tsx +40 -40
  90. package/src/components/forms/index.ts +5 -5
  91. package/src/components/forms/styles.ts +20 -20
  92. package/src/components/index.ts +3 -3
  93. package/src/components/layout/Dropdown/index.tsx +79 -79
  94. package/src/components/layout/Dropdown/styles.ts +44 -44
  95. package/src/components/layout/Loading/index.tsx +29 -29
  96. package/src/components/layout/Loading/styles.ts +29 -29
  97. package/src/components/layout/Modal/index.tsx +51 -51
  98. package/src/components/layout/Modal/styles.ts +110 -110
  99. package/src/components/layout/index.ts +3 -3
  100. package/src/config/index.ts +14 -14
  101. package/src/helpers/dates.ts +9 -9
  102. package/src/helpers/getScrollbarSize.ts +14 -14
  103. package/src/helpers/numbers.ts +20 -20
  104. package/src/hooks/index.ts +2 -2
  105. package/src/hooks/useElementSize.ts +24 -24
  106. package/src/hooks/useWindowSize.ts +20 -20
  107. package/src/index.ts +7 -7
  108. package/src/providers/PortalsProvider/index.tsx +54 -54
  109. package/src/providers/PortalsProvider/styles.ts +27 -27
  110. package/src/providers/SettingsProvider/index.tsx +70 -70
  111. package/src/providers/ThemeProvider/ThemeProvider.ts +55 -55
  112. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  113. package/src/providers/ThemeProvider/index.ts +3 -3
  114. package/src/providers/ThemeProvider/types.ts +123 -123
  115. package/src/providers/UiProviders/index.tsx +65 -65
  116. package/src/providers/UiProviders/styles.ts +10 -10
  117. package/src/providers/hooks.ts +8 -8
  118. package/src/providers/index.ts +5 -5
  119. package/src/services/HttpService.ts +80 -80
  120. package/src/services/WebSocketService.ts +147 -147
  121. package/src/services/advancedRequests.ts +101 -101
  122. package/src/services/base.ts +31 -31
  123. package/src/services/hooks.ts +23 -23
  124. package/src/services/index.ts +2 -2
  125. package/src/services/sqlRequests.ts +99 -99
  126. package/src/styles/animations.scss +30 -30
  127. package/src/styles/index.scss +42 -42
  128. package/src/typings.d.ts +6 -6
  129. package/tsconfig.tsbuildinfo +1 -1
  130. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  131. package/dist/components/data/DataGrid/helpers.js +0 -436
  132. package/dist/config/types.d.ts +0 -11
  133. package/dist/config/types.js +0 -2
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -62,17 +73,17 @@ var DataGrid = function (props) {
62
73
  }, [rowKeyGetter, selectedKeys, setSelectedKeys]);
63
74
  var rowTemplate = (0, react_1.useCallback)(function (row, rowIndex) {
64
75
  var _a, _b;
65
- var _c = (_b = (_a = props.rowClassNameGetter) === null || _a === void 0 ? void 0 : _a.call(props, row)) !== null && _b !== void 0 ? _b : {
66
- className: '',
67
- style: undefined,
68
- }, className = _c.className, style = _c.style;
69
76
  if (!row) {
70
77
  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 (_, index) { return ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) }, "loading-".concat(rowIndex, "-").concat(index))); })] }, "loading-row-".concat(rowIndex)));
71
78
  }
72
79
  var key = rowKeyGetter(row);
80
+ var _c = (_b = (_a = props.rowClassNameGetter) === null || _a === void 0 ? void 0 : _a.call(props, row)) !== null && _b !== void 0 ? _b : {
81
+ className: '',
82
+ style: undefined,
83
+ }, className = _c.className, style = _c.style;
73
84
  return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell, { children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", value: key, checked: selectedKeys.includes(key), onChange: function (e) { return setRowSelection(row, e.target.checked); } }) }, "__select_checkbox__")), visibleColumns.map(function (_a, index) {
74
85
  var key = _a[0], col = _a[1];
75
- return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, { className: className, style: style, row: row, rowIndex: rowIndex, column: col, columnIndex: index, context: DataGridContext, columnKey: key }, "loading-".concat(rowIndex, "-").concat(index)));
86
+ return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, __assign({}, (index === 0 ? { className: className, style: style } : {}), { row: row, rowIndex: rowIndex, column: col, columnIndex: index, context: DataGridContext, columnKey: key }), "loading-".concat(rowIndex, "-").concat(index)));
76
87
  })] }, key));
77
88
  }, [
78
89
  DataGridContext,
@@ -20,7 +20,7 @@ export declare const DataGridResizeGrip: import("styled-components/dist/types").
20
20
  $headerColor?: ThemeColor;
21
21
  }>> & string;
22
22
  type DataGridHeaderCellContainerProps = {
23
- $isResizing: boolean;
23
+ $isResizing?: boolean;
24
24
  $headerColor?: ThemeColor;
25
25
  };
26
26
  export declare const DataGridHeaderCellContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, DataGridHeaderCellContainerProps>> & string;
@@ -46,6 +46,9 @@ export declare const LoadingCell: import("styled-components/dist/types").IStyled
46
46
  export declare const SelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, "ref"> & {
47
47
  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;
48
48
  }, never>> & string;
49
+ export declare const HeaderSelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof DataGridHeaderCellContainerProps> & DataGridHeaderCellContainerProps, "ref"> & {
50
+ 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;
51
+ }, never>> & string;
49
52
  export declare const ResizeBackdrop: 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"> & {
50
53
  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;
51
54
  }>, never>, never>> & string;
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.FilterValuesScrollerContainer = exports.ResizeBackdrop = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.DEFAULT_FILTER_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = exports.VIRTUAL_SCROLL_TOLERANCE = void 0;
30
+ exports.FilterValuesScrollerContainer = exports.ResizeBackdrop = exports.HeaderSelectionCell = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.DEFAULT_FILTER_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = exports.VIRTUAL_SCROLL_TOLERANCE = void 0;
31
31
  var styled_components_1 = __importStar(require("styled-components"));
32
32
  exports.VIRTUAL_SCROLL_TOLERANCE = 20;
33
33
  exports.TOOLBAR_HEIGHT = 40;
@@ -56,16 +56,16 @@ exports.DataGridResizeGrip = styled_components_1.default.div(templateObject_7 ||
56
56
  return $headerColor
57
57
  ? (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background-color: var(--color-", "-400);\n &:hover,\n &.active {\n background-color: var(--color-", "-500);\n }\n "], ["\n background-color: var(--color-", "-400);\n &:hover,\n &.active {\n background-color: var(--color-", "-500);\n }\n "])), $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background-color: var(--color-neutral-400);\n &:hover,\n &.active {\n background-color: var(--color-neutral-500);\n }\n "], ["\n background-color: var(--color-neutral-400);\n &:hover,\n &.active {\n background-color: var(--color-neutral-500);\n }\n "])));
58
58
  });
59
- exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n }\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n }\n"])), function (_a) {
59
+ exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n font-weight: bold;\n }\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n font-weight: bold;\n }\n"])), function (_a) {
60
60
  var $isResizing = _a.$isResizing;
61
61
  return ($isResizing ? 1 : 0);
62
62
  }, function (_a) {
63
63
  var $headerColor = _a.$headerColor;
64
64
  return $headerColor
65
- ? (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n background-color: var(--color-", "-200);\n color: var(--color-", "-900);\n &:hover {\n background-color: var(--color-", "-300);\n }\n "], ["\n background-color: var(--color-", "-200);\n color: var(--color-", "-900);\n &:hover {\n background-color: var(--color-", "-300);\n }\n "])), $headerColor, $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "])));
65
+ ? (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n background-color: var(--color-", "-200);\n color: var(--color-", "-950);\n &:hover {\n background-color: var(--color-", "-300);\n }\n\n & > button {\n background-color: var(--color-", "-400);\n border-color: var(--color-", "-500);\n &:hover {\n background-color: var(--color-", "-500);\n border-color: var(--color-", "-600);\n }\n }\n & > button.danger {\n background-color: var(--color-red-400);\n border-color: var(--color-red-500);\n &:hover {\n background-color: var(--color-red-500);\n border-color: var(--color-red-600);\n }\n }\n "], ["\n background-color: var(--color-", "-200);\n color: var(--color-", "-950);\n &:hover {\n background-color: var(--color-", "-300);\n }\n\n & > button {\n background-color: var(--color-", "-400);\n border-color: var(--color-", "-500);\n &:hover {\n background-color: var(--color-", "-500);\n border-color: var(--color-", "-600);\n }\n }\n & > button.danger {\n background-color: var(--color-red-400);\n border-color: var(--color-red-500);\n &:hover {\n background-color: var(--color-red-500);\n border-color: var(--color-red-600);\n }\n }\n "])), $headerColor, $headerColor, $headerColor, $headerColor, $headerColor, $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-950);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-950);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "])));
66
66
  }, exports.DataGridResizeGrip);
67
67
  exports.DataGridHeaderCellContainer.displayName = 'DataGridHeaderCellContainer';
68
- exports.DataGridCell = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"], ["\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"])));
68
+ exports.DataGridCell = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n position: relative;\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"], ["\n position: relative;\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"])));
69
69
  exports.DataGridCell.displayName = 'DataGridCell';
70
70
  exports.DataGridToolsRow = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n gap: var(--space-1);\n padding: 0 var(--space-1);\n align-items: center;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 10;\n"], ["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n gap: var(--space-1);\n padding: 0 var(--space-1);\n align-items: center;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 10;\n"])));
71
71
  exports.DataGridToolsRow.displayName = 'DataGridToolsRow';
@@ -106,16 +106,19 @@ exports.DataGridRow = styled_components_1.default.div(templateObject_17 || (temp
106
106
  exports.DataGridRow.displayName = 'DataGridRow';
107
107
  exports.LoadingCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n padding: var(--space-2);\n box-sizing: border-box;\n\n &.animate-pulse > div {\n background-color: var(--color-neutral-200);\n border-radius: var(--rounded-full);\n width: 100%;\n height: 100%;\n }\n"], ["\n padding: var(--space-2);\n box-sizing: border-box;\n\n &.animate-pulse > div {\n background-color: var(--color-neutral-200);\n border-radius: var(--rounded-full);\n width: 100%;\n height: 100%;\n }\n"])));
108
108
  exports.LoadingCell.displayName = 'LoadingCell';
109
- exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n /* inline-flex items-center justify-center w-12 select-none text-center whitespace-nowrap */\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-6);\n padding: 0 var(--space-1);\n\n & > input[type='checkbox'] {\n height: var(--space-6);\n width: var(--space-6);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-sky-600);\n }\n"], ["\n /* inline-flex items-center justify-center w-12 select-none text-center whitespace-nowrap */\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-6);\n padding: 0 var(--space-1);\n\n & > input[type='checkbox'] {\n height: var(--space-6);\n width: var(--space-6);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-sky-600);\n }\n"])));
109
+ var selectionCellStyle = (0, styled_components_1.css)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-8);\n padding: 0 var(--space-1);\n\n & > input[type='checkbox'] {\n height: var(--space-4);\n width: var(--space-4);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-primary-600);\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-8);\n padding: 0 var(--space-1);\n\n & > input[type='checkbox'] {\n height: var(--space-4);\n width: var(--space-4);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-primary-600);\n }\n"])));
110
+ exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
110
111
  exports.SelectionCell.displayName = 'SelectionCell';
112
+ exports.HeaderSelectionCell = (0, styled_components_1.default)(exports.DataGridHeaderCellContainer)(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
113
+ exports.HeaderSelectionCell.displayName = 'HeaderSelectionCell';
111
114
  exports.ResizeBackdrop = styled_components_1.default.div.attrs({
112
115
  className: 'ResizeBackdrop',
113
- })(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"], ["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"])));
116
+ })(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"], ["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"])));
114
117
  exports.ResizeBackdrop.displayName = 'ResizeBackdrop';
115
118
  exports.FilterValuesScrollerContainer = styled_components_1.default.div.attrs({
116
119
  className: 'FilterValuesScrollerContainer',
117
- })(templateObject_21 || (templateObject_21 = __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 & .checkbox {\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 & .checkbox {\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"])), function (_a) {
120
+ })(templateObject_23 || (templateObject_23 = __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 & .checkbox {\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 & .checkbox {\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"])), function (_a) {
118
121
  var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_FILTER_ROW_HEIGHT : _b;
119
122
  return "".concat($rowHeight, "px");
120
123
  });
121
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21;
124
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23;
@@ -1,19 +1,19 @@
1
1
  import * as t from 'io-ts';
2
- import { CSSProperties, Context, Dispatch, MouseEvent, ReactNode, SetStateAction } from 'react';
2
+ import { CSSProperties, Context, Dispatch, FC, MouseEvent, MouseEventHandler, ReactNode, SetStateAction } from 'react';
3
3
  import { SettingsContextProps } from '../../../providers/SettingsProvider';
4
4
  import { ThemeColor } from '../../../providers/ThemeProvider/types';
5
- export type MysqlJsonObject = Record<string, string | number | null>;
5
+ export type DataGridCellFC = FC<{
6
+ onDoubleClick?: MouseEventHandler;
7
+ style?: CSSProperties;
8
+ }>;
6
9
  export type DataGridColumn<R> = {
7
- bodyClassName?: string;
8
- className?: string;
10
+ component?: DataGridCellFC;
9
11
  editable?: boolean;
10
12
  excelFormatter?: (value: any) => string;
11
13
  excelValue?: (value: any) => string;
12
14
  filter?: DataGridFilter;
13
15
  footer?: (allRows: R[], filteredRows: R[], selectedRows: R[]) => ReactNode;
14
- footerClassName?: string;
15
- getter?: (row: R) => string | number | MysqlJsonObject;
16
- headerClassName?: string;
16
+ getter?: (row: R) => string | number;
17
17
  name: string;
18
18
  order?: number;
19
19
  propertyName?: keyof R;
@@ -49,7 +49,8 @@ export type DataGridProps<R> = {
49
49
  rowHeight?: number;
50
50
  filter?: boolean;
51
51
  sort?: boolean;
52
- filterValuesLoader?: (columnKey: string) => Promise<(string | number | null | MysqlJsonObject)[]>;
52
+ initialSorts?: Record<string, DataGridSort>;
53
+ filterValuesLoader?: (columnKey: string) => Promise<(string | number | null)[]>;
53
54
  loadCopyRows?: () => Promise<R[]>;
54
55
  refresh?: () => void;
55
56
  headerColor?: ThemeColor;
@@ -129,22 +130,26 @@ export type DataGridFilterPredicates = {
129
130
  export type DataGridFilterType = keyof DataGridFilterPredicates;
130
131
  export type DataGridFilterDataType<T extends DataGridFilterType> = DataGridFilterPredicates[T] extends DataGridFilterOperators<string, infer U> ? U : never;
131
132
  export type DataGridFilterGetter<T extends DataGridFilterType> = (value: any) => DataGridFilterDataType<T> | null;
132
- export type DataGridFilterFormatter = (value: any) => string | null;
133
+ export type DataGridFilterRenderer = (value: any) => ReactNode;
134
+ export type DataGridFilterFormatter = (value: any) => string;
133
135
  export type DataGridFilterOperator<T extends DataGridFilterType> = DataGridFilterPredicates[T] extends DataGridFilterOperators<infer K, any> ? K : never;
134
136
  export type DataGridFilter<T extends string = DataGridFilterType> = T extends DataGridFilterType ? {
135
137
  type: T;
136
138
  operator: DataGridFilterOperator<T>;
137
139
  getter: DataGridFilterGetter<T>;
140
+ renderer?: DataGridFilterRenderer;
138
141
  formatter?: DataGridFilterFormatter;
139
142
  values: (DataGridFilterDataType<T> | null)[];
140
143
  } : never;
141
- export type DataGridFilterGroup<R> = {
144
+ export type DataGridFilterGroup = {
142
145
  name: string;
143
- values?: R[];
144
- groups?: DataGridFilterGroup<R>[];
146
+ values?: (string | number | null)[];
147
+ groups?: DataGridFilterGroup[];
145
148
  };
146
- export type DataGridFilterCheckbox<R extends string | number | null> = {
147
- displayValue: string | null;
148
- values: R[];
149
+ export type DataGridFilterValue = string | number | null;
150
+ export type DataGridFilterCheckbox = {
151
+ displayValue: ReactNode;
152
+ title: string;
153
+ value: DataGridFilterValue;
149
154
  level: number;
150
155
  };
@@ -10,15 +10,12 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
13
  Object.defineProperty(exports, "__esModule", { value: true });
17
14
  exports.sqlColorColumn = exports.sqlCheckboxColumn = exports.sqlPercentageColumn = exports.sqlMoneyColumn = exports.sqlNumberColumn = exports.sqlMonthColumn = exports.sqlDateColumn = exports.sqlPhoneColumn = exports.sqlMailColumn = exports.sqlComposedColumn = exports.sqlTextColumn = void 0;
18
15
  var jsx_runtime_1 = require("react/jsx-runtime");
19
16
  var numbers_1 = require("../../../../helpers/numbers");
20
17
  var helpers_1 = require("../../DataGrid/helpers");
21
- var moment_1 = __importDefault(require("moment"));
18
+ var dates_1 = require("../../../../helpers/dates");
22
19
  var sqlTextColumn = function (key, title, options) {
23
20
  var _a;
24
21
  return (_a = {},
@@ -61,7 +58,7 @@ exports.sqlPhoneColumn = sqlPhoneColumn;
61
58
  var sqlDateColumn = function (key, title, options) {
62
59
  var _a;
63
60
  return (_a = {},
64
- _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
61
+ _a[key] = __assign({ name: title, render: function (row) { return (0, dates_1.formatDate)(row[key]); }, 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.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
65
62
  _a);
66
63
  };
67
64
  exports.sqlDateColumn = sqlDateColumn;
@@ -105,10 +102,11 @@ exports.sqlCheckboxColumn = sqlCheckboxColumn;
105
102
  var sqlColorColumn = function (key, title, options) {
106
103
  var _a;
107
104
  return (_a = {},
108
- _a[key] = __assign({ name: title, render: function (row) {
109
- var _a;
110
- return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
111
- }, 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.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
105
+ _a[key] = __assign({ name: title, render: function (row) { return ((0, jsx_runtime_1.jsx)("div", { style: { position: 'absolute', inset: 0, backgroundColor: row[key] }, children: "\u00A0" })); }, 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.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; }, renderer: function (value) { return ((0, jsx_runtime_1.jsx)("div", { style: {
106
+ backgroundColor: value,
107
+ width: 'var(--space-16)',
108
+ height: '1em',
109
+ }, children: "\u00A0" })); } }) }, options),
112
110
  _a);
113
111
  };
114
112
  exports.sqlColorColumn = sqlColorColumn;
@@ -63,21 +63,32 @@ var DataGrid_1 = require("../DataGrid");
63
63
  var helpers_1 = require("./helpers");
64
64
  var helpers_2 = require("../DataGrid/helpers");
65
65
  var SqlRequestDataGrid = function (_a) {
66
+ var _b;
66
67
  var onSelectionChangeFromProps = _a.onSelectionChange, props = __rest(_a, ["onSelectionChange"]);
67
68
  var currentRows = (0, react_1.useRef)([]);
68
- var _b = (0, react_1.useState)([]), rows = _b[0], setRows = _b[1];
69
- var _c = (0, react_1.useState)(0), start = _c[0], setStart = _c[1];
70
- var _d = (0, react_1.useState)(50), length = _d[0], setLength = _d[1];
71
- var _e = (0, react_1.useState)(-1), total = _e[0], setTotal = _e[1];
72
- var _f = (0, sqlRequests_1.useSqlRequestHandler)(props.type), sqlRequest = _f[0], sqlIdRequest = _f[1];
73
- var _g = (0, react_1.useState)({}), conditions = _g[0], setConditions = _g[1];
74
- var _h = (0, react_1.useState)([]), orderBy = _h[0], setOrderBy = _h[1];
75
- var _j = (0, react_1.useMemo)(function () { return [
76
- Object.keys(props.columns),
77
- Object.keys(props.columns).filter(function (key) {
78
- return (0, helpers_2.isColumnVisible)(props.columns[key]);
79
- }),
80
- ]; }, [props.columns]), columnsKeys = _j[0], visibleColumnsKeys = _j[1];
69
+ var _c = (0, react_1.useState)([]), rows = _c[0], setRows = _c[1];
70
+ var _d = (0, react_1.useState)(0), start = _d[0], setStart = _d[1];
71
+ var _e = (0, react_1.useState)(50), length = _e[0], setLength = _e[1];
72
+ var _f = (0, react_1.useState)(-1), total = _f[0], setTotal = _f[1];
73
+ var _g = (0, sqlRequests_1.useSqlRequestHandler)(props.type), sqlRequest = _g[0], sqlIdRequest = _g[1];
74
+ var _h = (0, react_1.useState)({}), conditions = _h[0], setConditions = _h[1];
75
+ var _j = (0, react_1.useState)(Object.entries((_b = props.initialSorts) !== null && _b !== void 0 ? _b : {}).map(function (_a) {
76
+ var _b, _c;
77
+ var columnKey = _a[0], direction = _a[1];
78
+ return ({
79
+ field: (_c = (_b = props.columns[columnKey].field) === null || _b === void 0 ? void 0 : _b.fieldAlias) !== null && _c !== void 0 ? _c : columnKey,
80
+ direction: direction.toUpperCase(),
81
+ });
82
+ })), orderBy = _j[0], setOrderBy = _j[1];
83
+ var _k = (0, react_1.useMemo)(function () {
84
+ var _a, _b;
85
+ return [
86
+ __spreadArray(__spreadArray([], Object.keys(props.columns), true), ((_a = props.hiddenColumns) !== null && _a !== void 0 ? _a : []), true),
87
+ __spreadArray(__spreadArray([], Object.keys(props.columns).filter(function (key) {
88
+ return (0, helpers_2.isColumnVisible)(props.columns[key]);
89
+ }), true), ((_b = props.hiddenColumns) !== null && _b !== void 0 ? _b : []), true),
90
+ ];
91
+ }, [props.columns, props.hiddenColumns]), columnsKeys = _k[0], visibleColumnsKeys = _k[1];
81
92
  var refresh = (0, react_1.useCallback)(function () {
82
93
  setRows([]);
83
94
  setStart(0);
@@ -98,7 +109,6 @@ var SqlRequestDataGrid = function (_a) {
98
109
  direction: direction.toUpperCase(),
99
110
  });
100
111
  });
101
- console.log('newOrderBy=', newOrderBy);
102
112
  setOrderBy(newOrderBy);
103
113
  }, [refresh]);
104
114
  var loadRows = (0, react_1.useRef)((0, lodash_1.debounce)(function (columns, returnColumns, conditions, orderBy, start, length, getTotal) {
@@ -109,7 +119,9 @@ var SqlRequestDataGrid = function (_a) {
109
119
  if (getTotal === void 0) { getTotal = false; }
110
120
  sqlRequest({
111
121
  columns: columns.includes('Id') ? columns : __spreadArray(__spreadArray([], columns, true), ['Id'], false),
112
- returnColumns: returnColumns,
122
+ returnColumns: returnColumns.includes('Id')
123
+ ? returnColumns
124
+ : __spreadArray(__spreadArray([], returnColumns, true), ['Id'], false),
113
125
  conditions: conditions,
114
126
  orderBy: orderBy,
115
127
  start: start,
@@ -129,7 +141,10 @@ var SqlRequestDataGrid = function (_a) {
129
141
  (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
130
142
  setRows(__spreadArray([], currentRows.current, true));
131
143
  });
132
- }, 100));
144
+ }, 100, {
145
+ leading: true,
146
+ trailing: true,
147
+ }));
133
148
  var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
134
149
  var _a, _b, _c, _d, _e, _f;
135
150
  return sqlRequest({
@@ -187,13 +202,14 @@ var SqlRequestDataGrid = function (_a) {
187
202
  var loadAllIds = (0, react_1.useCallback)(function () {
188
203
  var _a, _b;
189
204
  return sqlIdRequest({
190
- columns: ['Id'],
205
+ columns: columnsKeys,
206
+ returnColumns: ['Id'],
191
207
  conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true),
192
208
  orderBy: orderBy,
193
209
  start: 0,
194
210
  length: total,
195
211
  }).then(function (response) { return response.data.map(function (row) { return row['Id']; }); });
196
- }, [conditions, orderBy, props.conditions, sqlIdRequest, total]);
212
+ }, [columnsKeys, conditions, orderBy, props.conditions, sqlIdRequest, total]);
197
213
  var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
198
214
  if (newStart !== start || newLength !== length) {
199
215
  setStart(newStart);
@@ -13,6 +13,7 @@ export type SqlRequestDataGridColumn<R> = DataGridColumn<R> & {
13
13
  export type SqlRequestDataGridColumns<R> = Record<string, SqlRequestDataGridColumn<R>>;
14
14
  export type SqlRequestDataGridProps<R> = Omit<DataGridProps<R>, 'rows' | 'columns'> & {
15
15
  columns: SqlRequestDataGridColumns<R>;
16
+ hiddenColumns?: string[];
16
17
  type: string;
17
18
  orderBy?: OrderByDTO[];
18
19
  conditions?: ConditionDTO[];
@@ -1,6 +1,8 @@
1
1
  export * from './DataGrid';
2
2
  export * from './DataGrid/helpers';
3
+ export * from './DataGrid/styles';
3
4
  export * from './AdvancedRequestDataGrid';
4
5
  export * from './SqlRequestDataGrid';
5
6
  export * from './SqlRequestDataGrid/helpers';
7
+ export * from './SqlRequestDataGrid/types';
6
8
  export * from './AdvancedRequestDataGrid/helpers';
@@ -16,7 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./DataGrid"), exports);
18
18
  __exportStar(require("./DataGrid/helpers"), exports);
19
+ __exportStar(require("./DataGrid/styles"), exports);
19
20
  __exportStar(require("./AdvancedRequestDataGrid"), exports);
20
21
  __exportStar(require("./SqlRequestDataGrid"), exports);
21
22
  __exportStar(require("./SqlRequestDataGrid/helpers"), exports);
23
+ __exportStar(require("./SqlRequestDataGrid/types"), exports);
22
24
  __exportStar(require("./AdvancedRequestDataGrid/helpers"), exports);
@@ -0,0 +1,2 @@
1
+ import moment from 'moment';
2
+ export declare const formatDate: (date: moment.MomentInput, format?: string) => string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatDate = void 0;
7
+ var moment_1 = __importDefault(require("moment"));
8
+ var formatDate = function (date, format) {
9
+ if (format === void 0) { format = 'DD/MM/YYYY'; }
10
+ var m = moment_1.default.utc(date);
11
+ return m.isValid() ? m.format(format) : '';
12
+ };
13
+ exports.formatDate = formatDate;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@addev-be/ui",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "watch": "tsc -b --watch",
package/src/Icons.tsx CHANGED
@@ -1,80 +1,80 @@
1
- import { FC, SVGProps, useEffect, useState } from 'react';
2
-
3
- import ArrowDownAZIcon from '../assets/icons/arrow-down-a-z.svg?react';
4
- import ArrowUpZAIcon from '../assets/icons/arrow-up-z-a.svg?react';
5
- import ArrowsRotateIcon from '../assets/icons/arrows-rotate.svg?react';
6
- import ArrowsUpDownIcon from '../assets/icons/arrows-up-down.svg?react';
7
- import CheckIcon from '../assets/icons/check.svg?react';
8
- import CopyIcon from '../assets/icons/copy.svg?react';
9
- import DownIcon from '../assets/icons/down.svg?react';
10
- import FilterFullIcon from '../assets/icons/filter-full.svg?react';
11
- import FilterIcon from '../assets/icons/filter.svg?react';
12
- import FilterSlashIcon from '../assets/icons/filter-slash.svg?react';
13
- import HashtagIcon from '../assets/icons/hashtag.svg?react';
14
- import ImageSlashIcon from '../assets/icons/image-slash.svg?react';
15
- import LeftIcon from '../assets/icons/left.svg?react';
16
- import MagnifierIcon from '../assets/icons/magnifier.svg?react';
17
- import PhoneIcon from '../assets/icons/phone.svg?react';
18
- import PlusIcon from '../assets/icons/plus.svg?react';
19
- import RightIcon from '../assets/icons/right.svg?react';
20
- import SpinnerIcon from '../assets/icons/spinner-third.svg?react';
21
- import TableColumnsIcon from '../assets/icons/table-columns.svg?react';
22
- import UpIcon from '../assets/icons/up.svg?react';
23
- import UserTieIcon from '../assets/icons/user-tie.svg?react';
24
-
25
- type IconFCProps = SVGProps<SVGSVGElement>;
26
- export type IconFC = FC<IconFCProps>;
27
-
28
- type AnimatedIconProps = {
29
- icons: FC[];
30
- speed?: number;
31
- };
32
-
33
- export const AnimatedIcon: FC<AnimatedIconProps & IconFCProps> = ({
34
- icons,
35
- speed = 150,
36
- ...props
37
- }) => {
38
- const [currentIcon, setCurrentIcon] = useState(0);
39
-
40
- useEffect(() => {
41
- const interval = setInterval(() => {
42
- setCurrentIcon((currentIcon) => (currentIcon + 1) % icons.length);
43
- }, speed);
44
-
45
- return () => {
46
- clearInterval(interval);
47
- };
48
- }, [icons.length, speed]);
49
-
50
- const Icon = icons[currentIcon];
51
- return <Icon {...props} />;
52
- };
53
-
54
- export const LoadingIcon: FC<IconFCProps> = ({ className, ...props }) => (
55
- <SpinnerIcon className={`animate-spin ${className}`} {...props} />
56
- );
57
-
58
- export {
59
- ArrowDownAZIcon,
60
- ArrowUpZAIcon,
61
- ArrowsRotateIcon,
62
- ArrowsUpDownIcon,
63
- CheckIcon,
64
- CopyIcon,
65
- DownIcon,
66
- FilterFullIcon,
67
- FilterIcon,
68
- FilterSlashIcon,
69
- HashtagIcon,
70
- ImageSlashIcon,
71
- LeftIcon,
72
- MagnifierIcon,
73
- PhoneIcon,
74
- PlusIcon,
75
- RightIcon,
76
- SpinnerIcon,
77
- TableColumnsIcon,
78
- UpIcon,
79
- UserTieIcon,
80
- };
1
+ import { FC, SVGProps, useEffect, useState } from 'react';
2
+
3
+ import ArrowDownAZIcon from '../assets/icons/arrow-down-a-z.svg?react';
4
+ import ArrowUpZAIcon from '../assets/icons/arrow-up-z-a.svg?react';
5
+ import ArrowsRotateIcon from '../assets/icons/arrows-rotate.svg?react';
6
+ import ArrowsUpDownIcon from '../assets/icons/arrows-up-down.svg?react';
7
+ import CheckIcon from '../assets/icons/check.svg?react';
8
+ import CopyIcon from '../assets/icons/copy.svg?react';
9
+ import DownIcon from '../assets/icons/down.svg?react';
10
+ import FilterFullIcon from '../assets/icons/filter-full.svg?react';
11
+ import FilterIcon from '../assets/icons/filter.svg?react';
12
+ import FilterSlashIcon from '../assets/icons/filter-slash.svg?react';
13
+ import HashtagIcon from '../assets/icons/hashtag.svg?react';
14
+ import ImageSlashIcon from '../assets/icons/image-slash.svg?react';
15
+ import LeftIcon from '../assets/icons/left.svg?react';
16
+ import MagnifierIcon from '../assets/icons/magnifier.svg?react';
17
+ import PhoneIcon from '../assets/icons/phone.svg?react';
18
+ import PlusIcon from '../assets/icons/plus.svg?react';
19
+ import RightIcon from '../assets/icons/right.svg?react';
20
+ import SpinnerIcon from '../assets/icons/spinner-third.svg?react';
21
+ import TableColumnsIcon from '../assets/icons/table-columns.svg?react';
22
+ import UpIcon from '../assets/icons/up.svg?react';
23
+ import UserTieIcon from '../assets/icons/user-tie.svg?react';
24
+
25
+ type IconFCProps = SVGProps<SVGSVGElement>;
26
+ export type IconFC = FC<IconFCProps>;
27
+
28
+ type AnimatedIconProps = {
29
+ icons: FC[];
30
+ speed?: number;
31
+ };
32
+
33
+ export const AnimatedIcon: FC<AnimatedIconProps & IconFCProps> = ({
34
+ icons,
35
+ speed = 150,
36
+ ...props
37
+ }) => {
38
+ const [currentIcon, setCurrentIcon] = useState(0);
39
+
40
+ useEffect(() => {
41
+ const interval = setInterval(() => {
42
+ setCurrentIcon((currentIcon) => (currentIcon + 1) % icons.length);
43
+ }, speed);
44
+
45
+ return () => {
46
+ clearInterval(interval);
47
+ };
48
+ }, [icons.length, speed]);
49
+
50
+ const Icon = icons[currentIcon];
51
+ return <Icon {...props} />;
52
+ };
53
+
54
+ export const LoadingIcon: FC<IconFCProps> = ({ className, ...props }) => (
55
+ <SpinnerIcon className={`animate-spin ${className}`} {...props} />
56
+ );
57
+
58
+ export {
59
+ ArrowDownAZIcon,
60
+ ArrowUpZAIcon,
61
+ ArrowsRotateIcon,
62
+ ArrowsUpDownIcon,
63
+ CheckIcon,
64
+ CopyIcon,
65
+ DownIcon,
66
+ FilterFullIcon,
67
+ FilterIcon,
68
+ FilterSlashIcon,
69
+ HashtagIcon,
70
+ ImageSlashIcon,
71
+ LeftIcon,
72
+ MagnifierIcon,
73
+ PhoneIcon,
74
+ PlusIcon,
75
+ RightIcon,
76
+ SpinnerIcon,
77
+ TableColumnsIcon,
78
+ UpIcon,
79
+ UserTieIcon,
80
+ };