@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
@@ -27,19 +27,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.ResizeBackdrop = exports.HeaderSelectionCell = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridFooterRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_FOOTER_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = void 0;
30
+ exports.ResizeBackdrop = exports.HeaderSelectionCell = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridFooterRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRowButtonsContainer = exports.DataGridToolsRow = exports.DataGridHeaderTitle = exports.DataGridCell = exports.dataGridCellCss = exports.DataGridHeaderTextContainer = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = void 0;
31
+ var constants_1 = require("./constants");
31
32
  var styled_components_1 = __importStar(require("styled-components"));
32
33
  var styles_1 = require("../VirtualScroller/styles");
33
- exports.TOOLBAR_HEIGHT = 40;
34
- exports.DEFAULT_HEADER_ROW_HEIGHT = 40;
35
- exports.DEFAULT_FOOTER_ROW_HEIGHT = 40;
36
- exports.DEFAULT_ROW_HEIGHT = 32;
37
34
  exports.DataGridResizeGrip = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n width: var(--space-1);\n height: 100%;\n\n ", "\n\n cursor: col-resize;\n display: none;\n"], ["\n position: absolute;\n top: 0;\n right: 0;\n width: var(--space-1);\n height: 100%;\n\n ", "\n\n cursor: col-resize;\n display: none;\n"])), function (_a) {
38
35
  var $headerColor = _a.$headerColor;
39
36
  return $headerColor
40
37
  ? (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __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_2 || (templateObject_2 = __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 "])));
41
38
  });
42
- exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __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) {
39
+ exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n flex-wrap: nowrap;\n font-weight: var(--font-bold);\n gap: var(--space-1);\n height: 100%;\n user-select: none;\n line-height: 1.5rem;\n padding: 0 0.75rem;\n position: relative;\n\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 align-items: center;\n display: flex;\n flex-wrap: nowrap;\n font-weight: var(--font-bold);\n gap: var(--space-1);\n height: 100%;\n user-select: none;\n line-height: 1.5rem;\n padding: 0 0.75rem;\n position: relative;\n\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) {
43
40
  var $isResizing = _a.$isResizing;
44
41
  return ($isResizing ? 1 : 0);
45
42
  }, function (_a) {
@@ -48,34 +45,62 @@ exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateOb
48
45
  ? (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __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_5 || (templateObject_5 = __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 "])));
49
46
  }, exports.DataGridResizeGrip);
50
47
  exports.DataGridHeaderCellContainer.displayName = 'DataGridHeaderCellContainer';
51
- exports.DataGridCell = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __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"])));
48
+ exports.DataGridHeaderTextContainer = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n flex: 1;\n line-height: 1rem;\n align-items: center;\n font-size: var(--text-md);\n max-height: 100%;\n"], ["\n display: flex;\n flex: 1;\n line-height: 1rem;\n align-items: center;\n font-size: var(--text-md);\n max-height: 100%;\n"])));
49
+ exports.dataGridCellCss = (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: ", ";\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n background-color: ", ";\n text-align: ", ";\n"], ["\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: ", ";\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n background-color: ", ";\n text-align: ", ";\n"])), function (_a) {
50
+ var $userSelect = _a.$userSelect;
51
+ return ($userSelect ? 'text' : 'none');
52
+ }, function (_a) {
53
+ var _b = _a.$color, $color = _b === void 0 ? 'neutral' : _b;
54
+ return "var(--color-".concat($color, "-50)");
55
+ }, function (_a) {
56
+ var _b = _a.$textAlign, $textAlign = _b === void 0 ? 'left' : _b;
57
+ return $textAlign;
58
+ });
59
+ exports.DataGridCell = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), exports.dataGridCellCss);
52
60
  exports.DataGridCell.displayName = 'DataGridCell';
53
- exports.DataGridToolsRow = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __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"])));
54
- exports.DataGridToolsRow.displayName = 'DataGridToolsRow';
55
- exports.DataGridContainer = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n box-sizing: border-box;\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"], ["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n box-sizing: border-box;\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"])), function (_a) {
56
- var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b, _c = _a.$withFooter, $withFooter = _c === void 0 ? false : _c;
57
- return "".concat(exports.TOOLBAR_HEIGHT, "px ").concat($headerRowHeight, "px auto ").concat($withFooter ? exports.DEFAULT_FOOTER_ROW_HEIGHT + 'px' : '');
58
- }, exports.DataGridToolsRow, exports.TOOLBAR_HEIGHT, exports.DataGridHeaderCellContainer, function (_a) {
59
- var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
61
+ exports.DataGridHeaderTitle = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n white-space: normal;\n font-weight: var(--font-bold);\n color: var(--color-neutral-900);\n height: auto;\n"], ["\n white-space: normal;\n font-weight: var(--font-bold);\n color: var(--color-neutral-900);\n height: auto;\n"])));
62
+ exports.DataGridToolsRow = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n z-index: 10;\n"], ["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n z-index: 10;\n"])));
63
+ exports.DataGridToolsRowButtonsContainer = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: inline-flex;\n gap: var(--space-1);\n align-items: center;\n padding: 0 var(--space-1);\n position: sticky;\n left: 0;\n"], ["\n display: inline-flex;\n gap: var(--space-1);\n align-items: center;\n padding: 0 var(--space-1);\n position: sticky;\n left: 0;\n"])));
64
+ exports.DataGridContainer = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n box-sizing: border-box;\n }\n\n ", "\n\n ", "\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"], ["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n box-sizing: border-box;\n }\n\n ", "\n\n ", "\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"])), function (_a) {
65
+ var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? constants_1.DEFAULT_HEADER_ROW_HEIGHT : _b, _c = _a.$withFooter, $withFooter = _c === void 0 ? false : _c;
66
+ return "".concat(constants_1.TOOLBAR_HEIGHT, "px ").concat($headerRowHeight, "px auto ").concat($withFooter ? constants_1.DEFAULT_FOOTER_ROW_HEIGHT + 'px' : '');
67
+ }, exports.DataGridToolsRow, constants_1.TOOLBAR_HEIGHT, exports.DataGridHeaderCellContainer, function (_a) {
68
+ var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? constants_1.DEFAULT_HEADER_ROW_HEIGHT : _b;
60
69
  return "".concat($headerRowHeight, "px");
61
70
  }, function (_a) {
62
- var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
71
+ var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? constants_1.DEFAULT_HEADER_ROW_HEIGHT : _b;
63
72
  return "".concat($headerRowHeight, "px");
64
73
  }, exports.DataGridCell, function (_a) {
65
- var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_ROW_HEIGHT : _b;
74
+ var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? constants_1.DEFAULT_ROW_HEIGHT : _b;
66
75
  return "".concat($rowHeight, "px");
67
76
  }, function (_a) {
68
- var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_ROW_HEIGHT : _b;
77
+ var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? constants_1.DEFAULT_ROW_HEIGHT : _b;
69
78
  return "".concat($rowHeight, "px");
70
- }, styles_1.VirtualScrollerContainer);
79
+ }, function (_a) {
80
+ var _b = _a.$fixedColumnWidths, $fixedColumnWidths = _b === void 0 ? [] : _b;
81
+ return $fixedColumnWidths.map(function (width, i) { return "\n ".concat(exports.DataGridHeaderCellContainer, ":nth-child(").concat(i + 1, ") {\n position: sticky;\n left: ").concat(i === 0
82
+ ? '0'
83
+ : "calc(".concat($fixedColumnWidths
84
+ .slice(0, i)
85
+ .map(function (w) { return (typeof w === 'number' ? "".concat(w, "px") : w); })
86
+ .join(' + '), ")"), ";\n background-color: var(--color-neutral-200);\n z-index: 1;\n }"); });
87
+ }, function (_a) {
88
+ var _b = _a.$fixedColumnWidths, $fixedColumnWidths = _b === void 0 ? [] : _b;
89
+ return $fixedColumnWidths.map(function (width, i) { return "\n ".concat(exports.DataGridCell, ":nth-child(").concat(i + 1, ") {\n position: sticky;\n left: ").concat(i === 0
90
+ ? '0'
91
+ : "calc(".concat($fixedColumnWidths
92
+ .slice(0, i)
93
+ .map(function (w) { return (typeof w === 'number' ? "".concat(w, "px") : w); })
94
+ .join(' + '), ")"), ";\n background-color: var(--color-neutral-50);\n z-index: 1;\n }"); });
95
+ }, styles_1.VirtualScrollerFiller);
71
96
  exports.DataGridContainer.displayName = 'DataGridContainer';
72
- var dataGridHeaderOrFooterRowCss = (0, styled_components_1.css)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n align-items: center;\n\n ", "\n"], ["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n align-items: center;\n\n ", "\n"])), function (_a) {
73
- var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
97
+ var dataGridHeaderOrFooterRowCss = (0, styled_components_1.css)(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n align-items: center;\n\n ", "\n"], ["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n align-items: center;\n\n ", "\n"])), function (_a) {
98
+ var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? constants_1.DEFAULT_HEADER_ROW_HEIGHT : _b;
74
99
  return "".concat($headerRowHeight, "px");
75
100
  }, function (_a) {
76
101
  var $headerColor = _a.$headerColor;
77
102
  return $headerColor
78
- ? (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "], ["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "])), $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "])));
103
+ ? (0, styled_components_1.css)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "], ["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "])), $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "])));
79
104
  });
80
105
  exports.DataGridHeaderRow = styled_components_1.default.div.attrs(function (_a) {
81
106
  var $gridTemplateColumns = _a.$gridTemplateColumns;
@@ -84,7 +109,7 @@ exports.DataGridHeaderRow = styled_components_1.default.div.attrs(function (_a)
84
109
  gridTemplateColumns: $gridTemplateColumns,
85
110
  },
86
111
  });
87
- })(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n ", "\n top: ", "px;\n"], ["\n ", "\n top: ", "px;\n"])), dataGridHeaderOrFooterRowCss, exports.TOOLBAR_HEIGHT);
112
+ })(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n ", "\n top: ", "px;\n"], ["\n ", "\n top: ", "px;\n"])), dataGridHeaderOrFooterRowCss, constants_1.TOOLBAR_HEIGHT);
88
113
  exports.DataGridHeaderRow.displayName = 'DataGridHeaderRow';
89
114
  exports.DataGridFooterRow = styled_components_1.default.div.attrs(function (_a) {
90
115
  var $gridTemplateColumns = _a.$gridTemplateColumns;
@@ -93,19 +118,22 @@ exports.DataGridFooterRow = styled_components_1.default.div.attrs(function (_a)
93
118
  gridTemplateColumns: $gridTemplateColumns,
94
119
  },
95
120
  });
96
- })(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n ", "\n bottom: 0;\n"], ["\n ", "\n bottom: 0;\n"])), dataGridHeaderOrFooterRowCss);
121
+ })(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n ", "\n bottom: 0;\n"], ["\n ", "\n bottom: 0;\n"])), dataGridHeaderOrFooterRowCss);
97
122
  exports.DataGridFooterRow.displayName = 'DataGridFooterRow';
98
- exports.DataGridRow = styled_components_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
123
+ exports.DataGridRow = styled_components_1.default.div(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n display: contents;\n\n ", "\n"], ["\n display: contents;\n\n ", "\n"])), function (_a) {
124
+ var $edited = _a.$edited;
125
+ return $edited && (0, styled_components_1.css)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n & > ", ", & > ", " {\n background-color: var(--color-warning-100);\n color: var(--color-warning-900);\n }\n "], ["\n & > ", ", & > ", " {\n background-color: var(--color-warning-100);\n color: var(--color-warning-900);\n }\n "])), exports.DataGridCell, exports.SelectionCell);
126
+ });
99
127
  exports.DataGridRow.displayName = 'DataGridRow';
100
- exports.LoadingCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_16 || (templateObject_16 = __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"])));
128
+ exports.LoadingCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_21 || (templateObject_21 = __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"])));
101
129
  exports.LoadingCell.displayName = 'LoadingCell';
102
- var selectionCellStyle = (0, styled_components_1.css)(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-8);\n padding: 0 var(--space-1);\n cursor: pointer;\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 cursor: pointer;\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"])));
103
- exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
130
+ var selectionCellStyle = (0, styled_components_1.css)(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-8);\n padding: 0 var(--space-1);\n cursor: pointer;\n\n & > input[type='checkbox'] {\n height: var(--space-4);\n width: ", ";\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 cursor: pointer;\n\n & > input[type='checkbox'] {\n height: var(--space-4);\n width: ", ";\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-primary-600);\n }\n"])), constants_1.SELECTION_CELL_WIDTH);
131
+ exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
104
132
  exports.SelectionCell.displayName = 'SelectionCell';
105
- exports.HeaderSelectionCell = (0, styled_components_1.default)(exports.DataGridHeaderCellContainer)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
133
+ exports.HeaderSelectionCell = (0, styled_components_1.default)(exports.DataGridHeaderCellContainer)(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n ", "\n padding: 0;\n"], ["\n ", "\n padding: 0;\n"])), selectionCellStyle);
106
134
  exports.HeaderSelectionCell.displayName = 'HeaderSelectionCell';
107
135
  exports.ResizeBackdrop = styled_components_1.default.div.attrs({
108
136
  className: 'ResizeBackdrop',
109
- })(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"])));
137
+ })(templateObject_25 || (templateObject_25 = __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 z-index: 100;\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 z-index: 100;\n"])));
110
138
  exports.ResizeBackdrop.displayName = 'ResizeBackdrop';
111
- 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;
139
+ 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, templateObject_24, templateObject_25;
@@ -1,41 +1,84 @@
1
1
  import * as t from 'io-ts';
2
2
  import { CSSProperties, Context, Dispatch, FC, MouseEvent, MouseEventHandler, ReactNode, SetStateAction } from 'react';
3
- import { SettingsContextProps } from '../../../providers/SettingsProvider';
3
+ import { DataGridEditableCellFC } from './DataGridEditableCell/types';
4
4
  import { ThemeColor } from '../../../providers/ThemeProvider/types';
5
- export type DataGridCellFC = FC<{
5
+ export type DataGridCellFCProps = {
6
6
  onDoubleClick?: MouseEventHandler;
7
7
  style?: CSSProperties;
8
- }>;
8
+ $color?: ThemeColor;
9
+ $textAlign?: 'left' | 'right' | 'center';
10
+ $userSelect?: boolean;
11
+ };
12
+ export type DataGridCellFC = FC<DataGridCellFCProps>;
9
13
  export type DataGridFooterPredefinedFunction = 'average' | 'avg' | 'count' | 'max' | 'min' | 'sum';
10
14
  export type DataGridFooterFunction<R> = (allRows: R[], filteredRows: R[], selectedRows: R[]) => ReactNode;
11
- export type DataGridColumn<R> = {
15
+ type ExcelOptions = {
16
+ formatter?: (value: any) => string;
17
+ colorGetter?: (value: any) => string;
18
+ valueGetter?: (value: any) => string;
19
+ };
20
+ type CommonGridColumnProps<R, T> = {
21
+ key: string;
12
22
  component?: DataGridCellFC;
13
- editable?: boolean;
14
- excelFormatter?: (value: any) => string;
15
- excelBackgroundColor?: (value: any) => string;
16
- excelValue?: (value: any) => string;
23
+ color?: ThemeColor;
24
+ excelOptions?: ExcelOptions;
25
+ textAlign?: 'left' | 'right' | 'center';
17
26
  filter?: DataGridFilter;
18
27
  footer?: DataGridFooterFunction<R> | Record<string, DataGridFooterFunction<R> | null>;
19
- getter?: (row: R) => string | number;
20
- name: string;
28
+ name: ReactNode;
21
29
  order?: number;
22
- propertyName?: keyof R;
30
+ getter: (row: R) => T;
23
31
  render?: (row: R, column: DataGridColumn<R>) => ReactNode | string;
24
32
  resizable?: boolean;
25
33
  sortGetter?: (row: R) => string | number;
26
- type?: 'text' | 'number' | 'date';
27
34
  width?: number;
28
- settingsContext?: Context<SettingsContextProps>;
29
35
  };
30
- export type DataGridColumns<R> = Record<string, DataGridColumn<R>>;
36
+ export type EditableDataGridColumn<R, T> = CommonGridColumnProps<R, T> & {
37
+ editable?: boolean;
38
+ editComponent?: DataGridEditableCellFC<R, T>;
39
+ itemToPartialRow?: (row: R, value: T) => Partial<R>;
40
+ };
41
+ export type DataGridTextColumn<R> = EditableDataGridColumn<R, string> & {
42
+ type: 'text';
43
+ };
44
+ export type DataGridNumberColumn<R> = EditableDataGridColumn<R, number> & {
45
+ type: 'number';
46
+ decimals?: number;
47
+ currency?: string | ((row: R) => string);
48
+ };
49
+ export type DataGridDateColumn<R> = EditableDataGridColumn<R, string> & {
50
+ type: 'date';
51
+ };
52
+ export type DataGridCheckboxColumn<R> = EditableDataGridColumn<R, boolean> & {
53
+ type: 'checkbox';
54
+ };
55
+ export type DataGridSelectColumn<R, T = any> = EditableDataGridColumn<R, T | null> & {
56
+ type: 'select';
57
+ items: T[];
58
+ itemKey: (item: T) => string;
59
+ itemLabel: (item: T) => string;
60
+ };
61
+ export type DataGridForeignListColumn<R> = EditableDataGridColumn<R, string | null> & {
62
+ type: 'foreignList';
63
+ };
64
+ export type DataGridColorColumn<R> = EditableDataGridColumn<R, string> & {
65
+ type: 'color';
66
+ };
67
+ export type DataGridColumn<R> = DataGridTextColumn<R> | DataGridNumberColumn<R> | DataGridDateColumn<R> | DataGridCheckboxColumn<R> | DataGridSelectColumn<R> | DataGridForeignListColumn<R> | DataGridColorColumn<R>;
68
+ export type DataGridColumnWithFilter<R> = DataGridColumn<R> & {
69
+ filter: DataGridFilter;
70
+ };
71
+ export type DataGridColumns<R> = DataGridColumn<R>[];
31
72
  export type DataGridFilters = Record<string, DataGridFilter<DataGridFilterType>>;
32
73
  export type DataGridProps<R> = {
33
74
  name?: string;
34
75
  className?: string;
35
76
  rows: R[];
77
+ setRows?: Dispatch<SetStateAction<R[]>>;
36
78
  columns: DataGridColumns<R>;
37
79
  rowKey: keyof R | ((row: R) => string);
38
80
  selectable?: boolean;
81
+ userSelect?: boolean;
39
82
  editable?: boolean;
40
83
  onRowDoubleClick?: (row: R, e: MouseEvent) => void;
41
84
  onSelectionChange?: (keys: string[]) => void;
@@ -60,8 +103,13 @@ export type DataGridProps<R> = {
60
103
  loadCopyRows?: () => Promise<R[]>;
61
104
  refresh?: () => void;
62
105
  headerColor?: ThemeColor;
106
+ fixedColumnsCount?: number;
107
+ onRowEdited?: (row: R, columnKey: keyof R, value: any) => void;
108
+ onSaveClicked?: (addedRows: DataGridEditedRows<R>, editedRows: DataGridEditedRows<R>) => Promise<string[]>;
109
+ onAddClicked?: () => Promise<R>;
63
110
  };
64
111
  export type DataGridContextProps<R> = DataGridProps<R> & {
112
+ setRows: Dispatch<SetStateAction<R[]>>;
65
113
  editingCell?: [number, number];
66
114
  setEditingCell: Dispatch<SetStateAction<[number, number]>>;
67
115
  sortedRows: R[];
@@ -75,7 +123,7 @@ export type DataGridContextProps<R> = DataGridProps<R> & {
75
123
  footers?: Record<string, string>;
76
124
  setFooters: Dispatch<SetStateAction<Record<string, string>>>;
77
125
  footerFunctions?: Record<string, DataGridFooterFunction<R>>;
78
- visibleColumns: DataGridColumnKeyValuePair<R>[];
126
+ visibleColumns: DataGridColumns<R>;
79
127
  copyTable: (includeHeaders?: boolean, includeFooters?: boolean) => Promise<void>;
80
128
  setColumnWidth: (key: string, width: number) => void;
81
129
  saveSettings: (newSettings?: DataGridSettings) => void;
@@ -84,7 +132,17 @@ export type DataGridContextProps<R> = DataGridProps<R> & {
84
132
  length: number;
85
133
  rowKeyGetter: (row: R) => string;
86
134
  gridTemplateColumns: string;
135
+ resizingColumnKey: string | null;
136
+ startResizing: (e: MouseEvent, columnKey: string) => void;
137
+ moveResizing: (e: MouseEvent) => void;
138
+ endResizing: () => void;
87
139
  toggleSelection: (key: string) => void;
140
+ addedRows: DataGridEditedRows<R>;
141
+ updatedRows: DataGridEditedRows<R>;
142
+ editRow: (key: string, row: Partial<R>) => void;
143
+ addRow: (key: string, row: R) => void;
144
+ updateRow: (key: string, row: Partial<R>) => void;
145
+ clearChangedRows: (keys?: string[]) => void;
88
146
  };
89
147
  export type DataGridContext<R> = Context<DataGridContextProps<R>>;
90
148
  export declare const dataGridSettingCodec: t.PartialC<{
@@ -114,6 +172,11 @@ export type DataGridCellProps<R> = {
114
172
  context: DataGridContext<R>;
115
173
  className?: string;
116
174
  style?: CSSProperties;
175
+ userSelect?: boolean;
176
+ color?: ThemeColor;
177
+ };
178
+ export type EditableDataGridCellProps<R, T> = DataGridCellProps<R> & {
179
+ column: EditableDataGridColumn<R, T>;
117
180
  };
118
181
  export type DataGridHeaderCellProps<R> = {
119
182
  columnKey: string;
@@ -122,6 +185,7 @@ export type DataGridHeaderCellProps<R> = {
122
185
  context: DataGridContext<R>;
123
186
  onFilterButtonClicked?: (columnKey: string) => void;
124
187
  isFilterOpen?: boolean;
188
+ color?: ThemeColor;
125
189
  };
126
190
  export type DataGridSort = 'asc' | 'desc';
127
191
  export type DataGridFilterPredicate<T> = (valueToVerify: T) => boolean;
@@ -170,3 +234,5 @@ export type DataGridRefProps = {
170
234
  refresh: () => void;
171
235
  setSelectedKeys: (keys: string[]) => void;
172
236
  };
237
+ export type DataGridEditedRows<R> = Record<string, Partial<R>>;
238
+ export {};
@@ -0,0 +1,20 @@
1
+ import { ColumnDTO, ConditionDTO } from '../../../../services/smartQueries';
2
+ import { SmartQueryDataGridColumn, SmartQueryDataGridColumns } from '../types';
3
+ export declare const smartTextColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
4
+ /**
5
+ * Creates a column with a composed value from multiple fields,
6
+ * and filtered by a text filter on the first field
7
+ */
8
+ export declare const smartComposedColumn: <R extends Record<string, any>>(key: string, title: string, fields: string[], options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
9
+ export declare const smartMailColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
10
+ export declare const smartPhoneColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
11
+ export declare const smartDateColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
12
+ export declare const smartDateTimeColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
13
+ export declare const smartMonthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
14
+ export declare const smartNumberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
15
+ export declare const smartMoneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
16
+ export declare const smartPercentageColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
17
+ export declare const smartCheckboxColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
18
+ export declare const smartColorColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SmartQueryDataGridColumn<R>>) => SmartQueryDataGridColumns<R>;
19
+ export declare const getColumnsConditions: (columns: ColumnDTO[]) => ConditionDTO[];
20
+ export declare const getFooterColumn: (column: ColumnDTO) => ColumnDTO;
@@ -0,0 +1,160 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.getFooterColumn = exports.getColumnsConditions = exports.smartColorColumn = exports.smartCheckboxColumn = exports.smartPercentageColumn = exports.smartMoneyColumn = exports.smartNumberColumn = exports.smartMonthColumn = exports.smartDateTimeColumn = exports.smartDateColumn = exports.smartPhoneColumn = exports.smartMailColumn = exports.smartComposedColumn = exports.smartTextColumn = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var helpers_1 = require("../../DataGrid/helpers");
17
+ var dates_1 = require("../../../../helpers/dates");
18
+ var numbers_1 = require("../../../../helpers/numbers");
19
+ var smartTextColumn = function (key, title, options) {
20
+ var _a;
21
+ return (_a = {},
22
+ _a[key] = __assign(__assign({ name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options), { footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }),
23
+ _a);
24
+ };
25
+ exports.smartTextColumn = smartTextColumn;
26
+ /**
27
+ * Creates a column with a composed value from multiple fields,
28
+ * and filtered by a text filter on the first field
29
+ */
30
+ var smartComposedColumn = function (key, title, fields, options) {
31
+ var _a;
32
+ return (_a = {},
33
+ _a[key] = __assign({ field: {
34
+ fieldAlias: key,
35
+ operator: 'jsonObject',
36
+ operands: fields.flatMap(function (field) { return [
37
+ { constantValue: field },
38
+ { fieldName: field },
39
+ ]; }),
40
+ }, name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(fields[0])), { getter: function (value) { var _a; return (_a = value[fields[0]]) !== null && _a !== void 0 ? _a : 0; } }), filterField: fields[0], sortField: fields[0], footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
41
+ _a);
42
+ };
43
+ exports.smartComposedColumn = smartComposedColumn;
44
+ var smartMailColumn = function (key, title, options) {
45
+ var _a;
46
+ return (_a = {},
47
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
48
+ _a);
49
+ };
50
+ exports.smartMailColumn = smartMailColumn;
51
+ var smartPhoneColumn = function (key, title, options) {
52
+ var _a;
53
+ return (_a = {},
54
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
55
+ _a);
56
+ };
57
+ exports.smartPhoneColumn = smartPhoneColumn;
58
+ var smartDateColumn = function (key, title, options) {
59
+ var _a;
60
+ return (_a = {},
61
+ _a[key] = __assign({ name: title, type: 'date', 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 : ''; }, excelFormatter: function () { return 'dd/mm/yyyy'; }, excelValue: function (value) { return (0, dates_1.formatDate)(value, 'YYYY-MM-DD'); }, filter: __assign(__assign({}, (0, helpers_1.dateFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; }, formatter: function (value) { return (0, dates_1.formatDate)(value); }, renderer: function (value) { return (0, dates_1.formatDate)(value); } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
62
+ _a);
63
+ };
64
+ exports.smartDateColumn = smartDateColumn;
65
+ var smartDateTimeColumn = function (key, title, options) {
66
+ var _a;
67
+ return (_a = {},
68
+ _a[key] = __assign({ name: title, type: 'date', render: function (row) { return (0, dates_1.formatDateTime)(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 : ''; }, excelFormatter: function () { return 'dd/mm/yyyy hh:mm:ss'; }, excelValue: function (value) { return (0, dates_1.formatDateTime)(value, 'YYYY-MM-DD HH:mm:ss'); }, filter: __assign(__assign({}, (0, helpers_1.dateFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; }, formatter: function (value) { return (0, dates_1.formatDateTime)(value); }, renderer: function (value) { return (0, dates_1.formatDateTime)(value); } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
69
+ _a);
70
+ };
71
+ exports.smartDateTimeColumn = smartDateTimeColumn;
72
+ var smartMonthColumn = function (key, title, options) {
73
+ var _a;
74
+ return (_a = {},
75
+ _a[key] = __assign({ name: title, render: function (row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
76
+ _a);
77
+ };
78
+ exports.smartMonthColumn = smartMonthColumn;
79
+ var smartNumberColumn = function (key, title, decimals, options) {
80
+ var _a;
81
+ if (decimals === void 0) { decimals = 2; }
82
+ return (_a = {},
83
+ _a[key] = __assign({ name: title, type: 'number', render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, helpers_1.buildExcelFormat)(decimals); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; }, renderer: function (value) { var _a; return (_a = (0, numbers_1.formatNumber)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
84
+ sum: null,
85
+ avg: null,
86
+ count: null,
87
+ max: null,
88
+ min: null,
89
+ } }, options),
90
+ _a);
91
+ };
92
+ exports.smartNumberColumn = smartNumberColumn;
93
+ var smartMoneyColumn = function (key, title, decimals, options) {
94
+ var _a;
95
+ if (decimals === void 0) { decimals = 2; }
96
+ return (_a = {},
97
+ _a[key] = __assign({ name: title, type: 'number', render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, helpers_1.buildExcelFormat)(decimals, ' €'); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; }, renderer: function (value) { var _a; return (_a = (0, numbers_1.formatMoney)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
98
+ sum: null,
99
+ avg: null,
100
+ count: null,
101
+ max: null,
102
+ min: null,
103
+ } }, options),
104
+ _a);
105
+ };
106
+ exports.smartMoneyColumn = smartMoneyColumn;
107
+ var smartPercentageColumn = function (key, title, decimals, options) {
108
+ var _a;
109
+ if (decimals === void 0) { decimals = 2; }
110
+ return (_a = {},
111
+ _a[key] = __assign({ name: title, type: 'number', render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return (0, helpers_1.buildExcelFormat)(decimals, '%'); }, excelValue: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; }, renderer: function (value) { var _a; return (_a = (0, numbers_1.formatPercentage)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }) }, options),
112
+ _a);
113
+ };
114
+ exports.smartPercentageColumn = smartPercentageColumn;
115
+ var smartCheckboxColumn = function (key, title, options) {
116
+ var _a;
117
+ return (_a = {},
118
+ _a[key] = __assign({ name: title, render: function (row) {
119
+ var _a;
120
+ var value = !!+((_a = row[key]) !== null && _a !== void 0 ? _a : 0);
121
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: value, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: value ? ' Oui' : ' Non' })] }));
122
+ }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return +((_a = value[key]) !== null && _a !== void 0 ? _a : 0); } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
123
+ _a);
124
+ };
125
+ exports.smartCheckboxColumn = smartCheckboxColumn;
126
+ var smartColorColumn = function (key, title, options) {
127
+ var _a;
128
+ return (_a = {},
129
+ _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" })); }, excelValue: function () { return ''; }, excelBackgroundColor: function (value) { return value; }, 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: {
130
+ backgroundColor: value,
131
+ width: 'var(--space-16)',
132
+ height: '1em',
133
+ }, children: "\u00A0" })); } }) }, options),
134
+ _a);
135
+ };
136
+ exports.smartColorColumn = smartColorColumn;
137
+ var getColumnsConditions = function (columns) {
138
+ return columns
139
+ .filter(function (column) { return !!column.having; })
140
+ .map(function (column) {
141
+ var _a, _b, _c;
142
+ return ({
143
+ field: column.field,
144
+ operator: (_b = (_a = column.having) === null || _a === void 0 ? void 0 : _a.operator) !== null && _b !== void 0 ? _b : 'equals',
145
+ value: (_c = column.having) === null || _c === void 0 ? void 0 : _c.value,
146
+ });
147
+ });
148
+ };
149
+ exports.getColumnsConditions = getColumnsConditions;
150
+ var getFooterColumn = function (column) {
151
+ var _a;
152
+ return !column.footer
153
+ ? column
154
+ : __assign(__assign({}, column), { field: {
155
+ operator: column.footer,
156
+ operands: [{ fieldName: column.field.fieldName }],
157
+ fieldAlias: (_a = column.field.fieldAlias) !== null && _a !== void 0 ? _a : column.field.fieldName,
158
+ }, groupBy: true });
159
+ };
160
+ exports.getFooterColumn = getFooterColumn;
@@ -0,0 +1,5 @@
1
+ import { ColumnDTO, ConditionDTO } from '../../../../services/smartQueries';
2
+ import { SmartQueryDataGridColumns } from '../types';
3
+ import { SmartQueries } from '../../../../services';
4
+ export declare const useSmartColumnDTOs: <R>(columns: SmartQueryDataGridColumns<R>, conditions?: Record<string, ConditionDTO>, footers?: Record<string, SmartQueries.FooterFunction>, sorts?: Record<string, SmartQueries.OrderByDirection>) => ColumnDTO[];
5
+ export declare const useIdSmartColumnDTO: (smartColumns: SmartQueries.ColumnDTO[]) => ColumnDTO;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIdSmartColumnDTO = exports.useSmartColumnDTOs = void 0;
4
+ var react_1 = require("react");
5
+ var useSmartColumnDTOs = function (columns, conditions, footers, sorts) {
6
+ if (conditions === void 0) { conditions = {}; }
7
+ if (footers === void 0) { footers = {}; }
8
+ if (sorts === void 0) { sorts = {}; }
9
+ return (0, react_1.useMemo)(function () {
10
+ return Object.entries(columns).map(function (_a) {
11
+ var _b, _c, _d, _e, _f, _g;
12
+ var key = _a[0], col = _a[1];
13
+ return ({
14
+ key: key,
15
+ field: {
16
+ fieldName: (_c = (_b = col.field) === null || _b === void 0 ? void 0 : _b.fieldName) !== null && _c !== void 0 ? _c : key,
17
+ fieldAlias: (_e = (_d = col.field) === null || _d === void 0 ? void 0 : _d.fieldAlias) !== null && _e !== void 0 ? _e : key,
18
+ groupBy: (_g = (_f = col.field) === null || _f === void 0 ? void 0 : _f.groupBy) !== null && _g !== void 0 ? _g : false,
19
+ },
20
+ having: conditions[key],
21
+ footer: footers[key],
22
+ orderBy: sorts[key],
23
+ });
24
+ });
25
+ }, [columns, conditions, footers, sorts]);
26
+ };
27
+ exports.useSmartColumnDTOs = useSmartColumnDTOs;
28
+ var useIdSmartColumnDTO = function (smartColumns) {
29
+ return (0, react_1.useMemo)(function () {
30
+ var _a;
31
+ return (_a = smartColumns.find(function (col) { return col.field.fieldName === 'id'; })) !== null && _a !== void 0 ? _a : {
32
+ key: 'id',
33
+ field: {
34
+ fieldName: 'id',
35
+ fieldAlias: 'id',
36
+ groupBy: false,
37
+ },
38
+ };
39
+ }, [smartColumns]);
40
+ };
41
+ exports.useIdSmartColumnDTO = useIdSmartColumnDTO;
@@ -1,2 +1,2 @@
1
- export * from './smartQueries';
2
- export * from './columns';
1
+ export * from './smartQueries';
2
+ export * from './columns';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./smartQueries"), exports);
18
+ __exportStar(require("./columns"), exports);
@@ -0,0 +1,3 @@
1
+ import { ConditionDTO } from '../../../../services/smartQueries';
2
+ import { SmartQueryDataGridFilters } from '../types';
3
+ export declare const convertSmartFiltersToConditions: (filters: SmartQueryDataGridFilters) => Record<string, ConditionDTO>;