@coveord/plasma-mantine 52.1.0 → 52.2.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 (191) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +28 -28
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/__tests__/Utils.js +9 -9
  5. package/dist/cjs/__tests__/Utils.js.map +1 -1
  6. package/dist/cjs/__tests__/VitestSetup.js +2 -2
  7. package/dist/cjs/__tests__/VitestSetup.js.map +1 -1
  8. package/dist/cjs/components/blank-slate/BlankSlate.js +3 -3
  9. package/dist/cjs/components/blank-slate/index.js +2 -2
  10. package/dist/cjs/components/blank-slate/index.js.map +1 -1
  11. package/dist/cjs/components/button/Button.js +15 -15
  12. package/dist/cjs/components/button/Button.js.map +1 -1
  13. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js +8 -8
  14. package/dist/cjs/components/button/index.js +2 -2
  15. package/dist/cjs/components/button/index.js.map +1 -1
  16. package/dist/cjs/components/code-editor/CodeEditor.js +30 -30
  17. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  18. package/dist/cjs/components/code-editor/index.js +2 -2
  19. package/dist/cjs/components/code-editor/index.js.map +1 -1
  20. package/dist/cjs/components/code-editor/languages/xml.js +4 -4
  21. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  22. package/dist/cjs/components/collection/Collection.js +25 -25
  23. package/dist/cjs/components/collection/Collection.js.map +1 -1
  24. package/dist/cjs/components/collection/CollectionItem.js +29 -29
  25. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  26. package/dist/cjs/components/collection/index.js +2 -2
  27. package/dist/cjs/components/collection/index.js.map +1 -1
  28. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +13 -13
  29. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  30. package/dist/cjs/components/copyToClipboard/index.js +2 -2
  31. package/dist/cjs/components/copyToClipboard/index.js.map +1 -1
  32. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +16 -16
  33. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  34. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +16 -16
  35. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  36. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +10 -10
  37. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  38. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +9 -9
  39. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  40. package/dist/cjs/components/date-range-picker/index.js +4 -4
  41. package/dist/cjs/components/date-range-picker/index.js.map +1 -1
  42. package/dist/cjs/components/header/Header.js +23 -23
  43. package/dist/cjs/components/header/Header.js.map +1 -1
  44. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
  45. package/dist/cjs/components/header/index.js +2 -2
  46. package/dist/cjs/components/header/index.js.map +1 -1
  47. package/dist/cjs/components/index.js +14 -14
  48. package/dist/cjs/components/index.js.map +1 -1
  49. package/dist/cjs/components/inline-confirm/InlineConfirm.js +12 -12
  50. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  51. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +5 -5
  52. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js +5 -5
  53. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +4 -4
  54. package/dist/cjs/components/inline-confirm/index.js +4 -4
  55. package/dist/cjs/components/inline-confirm/index.js.map +1 -1
  56. package/dist/cjs/components/inline-confirm/useInlineConfirm.js +2 -2
  57. package/dist/cjs/components/menu/Menu.js +7 -7
  58. package/dist/cjs/components/menu/index.js +2 -2
  59. package/dist/cjs/components/menu/index.js.map +1 -1
  60. package/dist/cjs/components/modal-wizard/ModalWizard.js +22 -22
  61. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  62. package/dist/cjs/components/modal-wizard/ModalWizardStep.js +2 -2
  63. package/dist/cjs/components/modal-wizard/index.js +2 -2
  64. package/dist/cjs/components/modal-wizard/index.js.map +1 -1
  65. package/dist/cjs/components/prompt/Prompt.js +18 -18
  66. package/dist/cjs/components/prompt/PromptFooter.js +7 -7
  67. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  68. package/dist/cjs/components/prompt/index.js +2 -2
  69. package/dist/cjs/components/prompt/index.js.map +1 -1
  70. package/dist/cjs/components/sticky-footer/StickyFooter.js +8 -8
  71. package/dist/cjs/components/sticky-footer/index.js +2 -2
  72. package/dist/cjs/components/sticky-footer/index.js.map +1 -1
  73. package/dist/cjs/components/table/Table.js +96 -86
  74. package/dist/cjs/components/table/Table.js.map +1 -1
  75. package/dist/cjs/components/table/Table.styles.js +30 -7
  76. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  77. package/dist/cjs/components/table/TableActions.js +15 -6
  78. package/dist/cjs/components/table/TableActions.js.map +1 -1
  79. package/dist/cjs/components/table/TableCollapsibleColumn.js +10 -10
  80. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  81. package/dist/cjs/components/table/TableConsumer.js +2 -2
  82. package/dist/cjs/components/table/TableDateRangePicker.js +51 -41
  83. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  84. package/dist/cjs/components/table/TableFilter.js +31 -25
  85. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  86. package/dist/cjs/components/table/TableFooter.js +6 -6
  87. package/dist/cjs/components/table/TableHeader.js +45 -45
  88. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  89. package/dist/cjs/components/table/TablePagination.js +8 -8
  90. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  91. package/dist/cjs/components/table/TablePerPage.js +9 -9
  92. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  93. package/dist/cjs/components/table/TablePredicate.js +31 -25
  94. package/dist/cjs/components/table/TablePredicate.js.map +1 -1
  95. package/dist/cjs/components/table/TableSelectableColumn.js +4 -4
  96. package/dist/cjs/components/table/Th.js +17 -17
  97. package/dist/cjs/components/table/index.js +4 -4
  98. package/dist/cjs/components/table/index.js.map +1 -1
  99. package/dist/cjs/components/table/useRowSelection.js +9 -9
  100. package/dist/cjs/components/table/useRowSelection.js.map +1 -1
  101. package/dist/cjs/form/FormProvider.js +4 -4
  102. package/dist/cjs/form/FormProvider.js.map +1 -1
  103. package/dist/cjs/form/index.js +3 -3
  104. package/dist/cjs/form/index.js.map +1 -1
  105. package/dist/cjs/form/useForm.js +4 -4
  106. package/dist/cjs/form/useForm.js.map +1 -1
  107. package/dist/cjs/hooks/index.js +3 -3
  108. package/dist/cjs/hooks/index.js.map +1 -1
  109. package/dist/cjs/hooks/useControlledList.js +5 -5
  110. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  111. package/dist/cjs/hooks/useParentHeight.js +2 -2
  112. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  113. package/dist/cjs/index.js +9 -9
  114. package/dist/cjs/index.js.map +1 -1
  115. package/dist/cjs/theme/PlasmaColors.js +30 -30
  116. package/dist/cjs/theme/Plasmantine.js +4 -4
  117. package/dist/cjs/theme/Theme.js +13 -13
  118. package/dist/cjs/theme/Theme.js.map +1 -1
  119. package/dist/cjs/theme/index.js +2 -2
  120. package/dist/cjs/theme/index.js.map +1 -1
  121. package/dist/cjs/utils/index.js +3 -3
  122. package/dist/cjs/utils/index.js.map +1 -1
  123. package/dist/cjs/utils/overrideComponent.js +2 -2
  124. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  125. package/dist/definitions/components/header/Header.d.ts.map +1 -1
  126. package/dist/definitions/components/table/Table.d.ts.map +1 -1
  127. package/dist/definitions/components/table/Table.styles.d.ts +7 -1
  128. package/dist/definitions/components/table/Table.styles.d.ts.map +1 -1
  129. package/dist/definitions/components/table/TableActions.d.ts.map +1 -1
  130. package/dist/definitions/components/table/TableDateRangePicker.d.ts.map +1 -1
  131. package/dist/definitions/components/table/TableFilter.d.ts.map +1 -1
  132. package/dist/definitions/components/table/TableHeader.d.ts +1 -0
  133. package/dist/definitions/components/table/TableHeader.d.ts.map +1 -1
  134. package/dist/definitions/components/table/TablePredicate.d.ts.map +1 -1
  135. package/dist/esm/__tests__/Utils.js +1 -1
  136. package/dist/esm/components/button/Button.js +6 -6
  137. package/dist/esm/components/button/ButtonWithDisabledTooltip.js +3 -3
  138. package/dist/esm/components/code-editor/CodeEditor.js +6 -6
  139. package/dist/esm/components/code-editor/languages/xml.js +2 -2
  140. package/dist/esm/components/collection/Collection.js +3 -3
  141. package/dist/esm/components/collection/CollectionItem.js +4 -4
  142. package/dist/esm/components/copyToClipboard/CopyToClipboard.js +2 -2
  143. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +2 -2
  144. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -2
  145. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +3 -3
  146. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +1 -1
  147. package/dist/esm/components/header/Header.js +11 -11
  148. package/dist/esm/components/header/Header.js.map +1 -1
  149. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
  150. package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
  151. package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -2
  152. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +2 -2
  153. package/dist/esm/components/menu/Menu.js +2 -2
  154. package/dist/esm/components/modal-wizard/ModalWizard.js +4 -4
  155. package/dist/esm/components/prompt/Prompt.js +3 -3
  156. package/dist/esm/components/prompt/PromptFooter.js +3 -3
  157. package/dist/esm/components/sticky-footer/StickyFooter.js +3 -3
  158. package/dist/esm/components/table/Table.js +27 -17
  159. package/dist/esm/components/table/Table.js.map +1 -1
  160. package/dist/esm/components/table/Table.styles.js +19 -4
  161. package/dist/esm/components/table/Table.styles.js.map +1 -1
  162. package/dist/esm/components/table/TableActions.js +13 -4
  163. package/dist/esm/components/table/TableActions.js.map +1 -1
  164. package/dist/esm/components/table/TableCollapsibleColumn.js +2 -2
  165. package/dist/esm/components/table/TableDateRangePicker.js +45 -35
  166. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  167. package/dist/esm/components/table/TableFilter.js +26 -20
  168. package/dist/esm/components/table/TableFilter.js.map +1 -1
  169. package/dist/esm/components/table/TableFooter.js +3 -3
  170. package/dist/esm/components/table/TableHeader.js +41 -41
  171. package/dist/esm/components/table/TableHeader.js.map +1 -1
  172. package/dist/esm/components/table/TablePagination.js +2 -2
  173. package/dist/esm/components/table/TablePerPage.js +2 -2
  174. package/dist/esm/components/table/TablePredicate.js +28 -22
  175. package/dist/esm/components/table/TablePredicate.js.map +1 -1
  176. package/dist/esm/components/table/useRowSelection.js +2 -2
  177. package/dist/esm/form/useForm.js +2 -2
  178. package/dist/esm/hooks/useControlledList.js +2 -2
  179. package/dist/esm/hooks/useParentHeight.js +1 -1
  180. package/dist/esm/theme/Theme.js +2 -2
  181. package/dist/esm/utils/overrideComponent.js +1 -1
  182. package/package.json +8 -8
  183. package/src/components/header/Header.tsx +5 -7
  184. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
  185. package/src/components/table/Table.styles.ts +21 -5
  186. package/src/components/table/Table.tsx +10 -4
  187. package/src/components/table/TableActions.tsx +9 -6
  188. package/src/components/table/TableDateRangePicker.tsx +23 -20
  189. package/src/components/table/TableFilter.tsx +21 -18
  190. package/src/components/table/TableHeader.tsx +35 -23
  191. package/src/components/table/TablePredicate.tsx +15 -12
@@ -8,37 +8,37 @@ Object.defineProperty(exports, "Table", {
8
8
  return Table;
9
9
  }
10
10
  });
11
- var _defineProperty = require("@swc/helpers/lib/_define_property.js").default;
12
- var _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
13
- var _objectSpread = require("@swc/helpers/lib/_object_spread.js").default;
14
- var _objectSpreadProps = require("@swc/helpers/lib/_object_spread_props.js").default;
15
- var _objectWithoutProperties = require("@swc/helpers/lib/_object_without_properties.js").default;
16
- var _slicedToArray = require("@swc/helpers/lib/_sliced_to_array.js").default;
17
- var _jsxRuntime = require("react/jsx-runtime");
11
+ var _define_property = require("@swc/helpers/_/_define_property");
12
+ var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
13
+ var _object_spread = require("@swc/helpers/_/_object_spread");
14
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
15
+ var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
16
+ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
17
+ var _jsxruntime = require("react/jsx-runtime");
18
18
  var _core = require("@mantine/core");
19
19
  var _form = require("@mantine/form");
20
20
  var _hooks = require("@mantine/hooks");
21
- var _reactTable = require("@tanstack/react-table");
22
- var _lodashDebounce = /*#__PURE__*/ _interopRequireDefault(require("lodash.debounce"));
23
- var _lodashDefaultsdeep = /*#__PURE__*/ _interopRequireDefault(require("lodash.defaultsdeep"));
21
+ var _reacttable = require("@tanstack/react-table");
22
+ var _lodashdebounce = /*#__PURE__*/ _interop_require_default._(require("lodash.debounce"));
23
+ var _lodashdefaultsdeep = /*#__PURE__*/ _interop_require_default._(require("lodash.defaultsdeep"));
24
24
  var _react = require("react");
25
- var _tableStyles = /*#__PURE__*/ _interopRequireDefault(require("./Table.styles"));
26
- var _tableActions = require("./TableActions");
27
- var _tableCollapsibleColumn = require("./TableCollapsibleColumn");
28
- var _tableContext = require("./TableContext");
29
- var _tableDateRangePicker = require("./TableDateRangePicker");
30
- var _tableFilter = require("./TableFilter");
31
- var _tableFooter = require("./TableFooter");
32
- var _tableHeader = require("./TableHeader");
33
- var _tablePagination = require("./TablePagination");
34
- var _tablePerPage = require("./TablePerPage");
35
- var _tablePredicate = require("./TablePredicate");
36
- var _tableConsumer = require("./TableConsumer");
37
- var _tableSelectableColumn = require("./TableSelectableColumn");
38
- var _th = require("./Th");
25
+ var _Tablestyles = /*#__PURE__*/ _interop_require_default._(require("./Table.styles"));
26
+ var _TableActions = require("./TableActions");
27
+ var _TableCollapsibleColumn = require("./TableCollapsibleColumn");
28
+ var _TableConsumer = require("./TableConsumer");
29
+ var _TableContext = require("./TableContext");
30
+ var _TableDateRangePicker = require("./TableDateRangePicker");
31
+ var _TableFilter = require("./TableFilter");
32
+ var _TableFooter = require("./TableFooter");
33
+ var _TableHeader = require("./TableHeader");
34
+ var _TablePagination = require("./TablePagination");
35
+ var _TablePerPage = require("./TablePerPage");
36
+ var _TablePredicate = require("./TablePredicate");
37
+ var _TableSelectableColumn = require("./TableSelectableColumn");
38
+ var _Th = require("./Th");
39
39
  var _useRowSelection = require("./useRowSelection");
40
40
  var LoadingSkeleton = function(props) {
41
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Skeleton, _objectSpreadProps(_objectSpread({
41
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Skeleton, _object_spread_props._(_object_spread._({
42
42
  style: {
43
43
  display: "inline-block"
44
44
  }
@@ -54,15 +54,15 @@ var Table = function(param) {
54
54
  var _form_values, _form_values_dateRange, _form_values_dateRange1;
55
55
  var convertedChildren = _react.Children.toArray(children);
56
56
  var header = convertedChildren.find(function(child) {
57
- return child.type === _tableHeader.TableHeader;
57
+ return child.type === _TableHeader.TableHeader;
58
58
  });
59
59
  var footer = convertedChildren.find(function(child) {
60
- return child.type === _tableFooter.TableFooter;
60
+ return child.type === _TableFooter.TableFooter;
61
61
  });
62
62
  var consumer = convertedChildren.find(function(child) {
63
- return child.type === _tableConsumer.TableConsumer;
63
+ return child.type === _TableConsumer.TableConsumer;
64
64
  });
65
- var predicates = initialState.predicates, dateRange = initialState.dateRange, initialStateWithoutForm = _objectWithoutProperties(initialState, [
65
+ var predicates = initialState.predicates, dateRange = initialState.dateRange, initialStateWithoutForm = _object_without_properties._(initialState, [
66
66
  "predicates",
67
67
  "dateRange"
68
68
  ]);
@@ -76,22 +76,21 @@ var Table = function(param) {
76
76
  ]
77
77
  }
78
78
  });
79
- var _useStyles = (0, _tableStyles.default)({
80
- hasHeader: !!header,
79
+ var _useStyles = (0, _Tablestyles.default)({
81
80
  multiRowSelectionEnabled: multiRowSelectionEnabled
82
81
  }), cx = _useStyles.cx, classes = _useStyles.classes;
83
82
  var _ref;
84
- var table = (0, _reactTable.useReactTable)(_objectSpread({
85
- initialState: (0, _lodashDefaultsdeep.default)(initialStateWithoutForm, {
83
+ var table = (0, _reacttable.useReactTable)(_object_spread._({
84
+ initialState: (0, _lodashdefaultsdeep.default)(initialStateWithoutForm, {
86
85
  pagination: {
87
- pageSize: _tablePerPage.TablePerPage.DEFAULT_SIZE
86
+ pageSize: _TablePerPage.TablePerPage.DEFAULT_SIZE
88
87
  }
89
88
  }),
90
89
  data: data,
91
90
  columns: multiRowSelectionEnabled ? [
92
- _tableSelectableColumn.TableSelectableColumn
91
+ _TableSelectableColumn.TableSelectableColumn
93
92
  ].concat(columns) : columns,
94
- getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
93
+ getCoreRowModel: (0, _reacttable.getCoreRowModel)(),
95
94
  manualPagination: (options === null || options === void 0 ? void 0 : options.getPaginationRowModel) === undefined,
96
95
  enableMultiRowSelection: !!multiRowSelectionEnabled,
97
96
  getRowId: getRowId,
@@ -100,9 +99,9 @@ var Table = function(param) {
100
99
  },
101
100
  enableRowSelection: !loading
102
101
  }, options));
103
- var _useState = _slicedToArray((0, _react.useState)(table.initialState), 2), state = _useState[0], setState = _useState[1];
102
+ var _useState = _sliced_to_array._((0, _react.useState)(table.initialState), 2), state = _useState[0], setState = _useState[1];
104
103
  table.setOptions(function(prev) {
105
- return _objectSpreadProps(_objectSpread({}, prev), {
104
+ return _object_spread_props._(_object_spread._({}, prev), {
106
105
  state: state,
107
106
  onStateChange: setState
108
107
  });
@@ -115,11 +114,11 @@ var Table = function(param) {
115
114
  var isFiltered = !!state.globalFilter || Object.keys((_form_values_predicates = (_form_values = form.values) === null || _form_values === void 0 ? void 0 : _form_values.predicates) !== null && _form_values_predicates !== void 0 ? _form_values_predicates : {}).some(function(predicate) {
116
115
  return !!form.values.predicates[predicate];
117
116
  }) || !!((_form_values_dateRange = form.values.dateRange) === null || _form_values_dateRange === void 0 ? void 0 : _form_values_dateRange[0]) || !!((_form_values_dateRange1 = form.values.dateRange) === null || _form_values_dateRange1 === void 0 ? void 0 : _form_values_dateRange1[1]);
118
- var triggerChange = (0, _lodashDebounce.default)(function() {
119
- return onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread({}, state, form.values));
117
+ var triggerChange = (0, _lodashdebounce.default)(function() {
118
+ return onChange === null || onChange === void 0 ? void 0 : onChange(_object_spread._({}, state, form.values));
120
119
  }, 500);
121
120
  (0, _react.useEffect)(function() {
122
- onMount === null || onMount === void 0 ? void 0 : onMount(_objectSpread({}, state, form.values));
121
+ onMount === null || onMount === void 0 ? void 0 : onMount(_object_spread._({}, state, form.values));
123
122
  return function() {
124
123
  triggerChange.cancel();
125
124
  };
@@ -139,60 +138,60 @@ var Table = function(param) {
139
138
  var _initialState_predicates;
140
139
  form.setFieldValue("predicates", (_initialState_predicates = initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {});
141
140
  setState(function(prevState) {
142
- return _objectSpreadProps(_objectSpread({}, prevState), {
141
+ return _object_spread_props._(_object_spread._({}, prevState), {
143
142
  globalFilter: ""
144
143
  });
145
144
  });
146
145
  }, []);
147
146
  if (!data) {
148
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Center, {
147
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Center, {
149
148
  sx: {
150
149
  flexGrow: 1
151
150
  },
152
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Loader, {})
151
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Loader, {})
153
152
  });
154
153
  }
155
154
  var rows = table.getRowModel().rows.map(function(row) {
156
155
  var _getExpandChildren;
157
156
  var rowChildren = (_getExpandChildren = getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original)) !== null && _getExpandChildren !== void 0 ? _getExpandChildren : null;
158
157
  var isSelected = !!row.getIsSelected();
159
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_react.Fragment, {
158
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {
160
159
  children: [
161
- /*#__PURE__*/ (0, _jsxRuntime.jsx)("tr", {
160
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
162
161
  onClick: function() {
163
162
  return row.toggleSelected();
164
163
  },
165
164
  onDoubleClick: function() {
166
165
  return doubleClickAction === null || doubleClickAction === void 0 ? void 0 : doubleClickAction(row.original);
167
166
  },
168
- className: cx(classes.row, _defineProperty({}, classes.rowSelected, isSelected)),
167
+ className: cx(classes.row, _define_property._({}, classes.rowSelected, isSelected)),
169
168
  "aria-selected": isSelected,
170
169
  children: row.getVisibleCells().map(function(cell) {
171
170
  var size = cell.column.getSize();
172
- var width = size !== _reactTable.defaultColumnSizing.size ? size : undefined;
173
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)("td", {
171
+ var width = size !== _reacttable.defaultColumnSizing.size ? size : undefined;
172
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
174
173
  style: {
175
174
  width: width
176
175
  },
177
- className: cx(_defineProperty({}, classes.rowCollapsibleButtonCell, cell.column.id === _tableCollapsibleColumn.TableCollapsibleColumn.id)),
178
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(LoadingSkeleton, {
176
+ className: cx(_define_property._({}, classes.rowCollapsibleButtonCell, cell.column.id === _TableCollapsibleColumn.TableCollapsibleColumn.id)),
177
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingSkeleton, {
179
178
  visible: loading,
180
- children: (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())
179
+ children: (0, _reacttable.flexRender)(cell.column.columnDef.cell, cell.getContext())
181
180
  })
182
181
  }, cell.id);
183
182
  })
184
183
  }),
185
- rowChildren ? /*#__PURE__*/ (0, _jsxRuntime.jsx)("tr", {
186
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)("td", {
184
+ rowChildren ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
185
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
187
186
  colSpan: table.getAllColumns().length,
188
187
  style: {
189
188
  padding: 0,
190
189
  borderTop: row.getIsExpanded() ? undefined : "none",
191
190
  borderBottom: row.getIsExpanded() ? undefined : "none"
192
191
  },
193
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Collapse, {
192
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Collapse, {
194
193
  in: row.getIsExpanded(),
195
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Box, {
194
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
196
195
  px: "sm",
197
196
  py: "xs",
198
197
  children: rowChildren
@@ -203,9 +202,9 @@ var Table = function(param) {
203
202
  ]
204
203
  }, row.id);
205
204
  });
206
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Box, {
205
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
207
206
  ref: outsideClickRef,
208
- children: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_tableContext.TableContext.Provider, {
207
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_TableContext.TableContext.Provider, {
209
208
  value: {
210
209
  onChange: triggerChange,
211
210
  state: state,
@@ -222,32 +221,43 @@ var Table = function(param) {
222
221
  },
223
222
  children: [
224
223
  consumer,
225
- !rows.length && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
224
+ !rows.length && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
226
225
  children: [
227
- header,
228
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_core.Table, {
226
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Table, {
229
227
  className: classes.table,
230
228
  horizontalSpacing: "sm",
231
229
  verticalSpacing: "xs",
232
230
  pb: "sm",
233
231
  children: [
234
- /*#__PURE__*/ (0, _jsxRuntime.jsx)("thead", {
232
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("thead", {
235
233
  className: classes.header,
236
- children: table.getHeaderGroups().map(function(headerGroup) {
237
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)("tr", {
238
- children: headerGroup.headers.map(function(columnHeader) {
239
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_th.Th, {
240
- header: columnHeader
241
- }, columnHeader.id);
234
+ children: [
235
+ !!header ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
236
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("th", {
237
+ style: {
238
+ padding: 0
239
+ },
240
+ colSpan: table.getAllColumns().length,
241
+ children: header
242
242
  })
243
- }, headerGroup.id);
244
- })
243
+ }) : null,
244
+ table.getHeaderGroups().map(function(headerGroup) {
245
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
246
+ className: classes.headerColumns,
247
+ children: headerGroup.headers.map(function(columnHeader) {
248
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Th.Th, {
249
+ header: columnHeader
250
+ }, columnHeader.id);
251
+ })
252
+ }, headerGroup.id);
253
+ })
254
+ ]
245
255
  }),
246
- /*#__PURE__*/ (0, _jsxRuntime.jsx)("tbody", {
247
- children: rows.length ? rows : /*#__PURE__*/ (0, _jsxRuntime.jsx)("tr", {
248
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)("td", {
256
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("tbody", {
257
+ children: rows.length ? rows : /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
258
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
249
259
  colSpan: table.getAllColumns().length,
250
- children: /*#__PURE__*/ (0, _jsxRuntime.jsx)(LoadingSkeleton, {
260
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingSkeleton, {
251
261
  visible: loading,
252
262
  children: noDataChildren
253
263
  })
@@ -263,17 +273,17 @@ var Table = function(param) {
263
273
  })
264
274
  });
265
275
  };
266
- Table.Actions = _tableActions.TableActions;
267
- Table.Filter = _tableFilter.TableFilter;
268
- Table.Footer = _tableFooter.TableFooter;
269
- Table.Header = _tableHeader.TableHeader;
270
- Table.Pagination = _tablePagination.TablePagination;
271
- Table.Predicate = _tablePredicate.TablePredicate;
272
- Table.PerPage = _tablePerPage.TablePerPage;
273
- Table.Predicate = _tablePredicate.TablePredicate;
274
- Table.CollapsibleColumn = _tableCollapsibleColumn.TableCollapsibleColumn;
275
- Table.AccordionColumn = _tableCollapsibleColumn.TableAccordionColumn;
276
- Table.DateRangePicker = _tableDateRangePicker.TableDateRangePicker;
277
- Table.Consumer = _tableConsumer.TableConsumer;
276
+ Table.Actions = _TableActions.TableActions;
277
+ Table.Filter = _TableFilter.TableFilter;
278
+ Table.Footer = _TableFooter.TableFooter;
279
+ Table.Header = _TableHeader.TableHeader;
280
+ Table.Pagination = _TablePagination.TablePagination;
281
+ Table.Predicate = _TablePredicate.TablePredicate;
282
+ Table.PerPage = _TablePerPage.TablePerPage;
283
+ Table.Predicate = _TablePredicate.TablePredicate;
284
+ Table.CollapsibleColumn = _TableCollapsibleColumn.TableCollapsibleColumn;
285
+ Table.AccordionColumn = _TableCollapsibleColumn.TableAccordionColumn;
286
+ Table.DateRangePicker = _TableDateRangePicker.TableDateRangePicker;
287
+ Table.Consumer = _TableConsumer.TableConsumer;
278
288
 
279
289
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Collapse, Loader, Skeleton, SkeletonProps, Table as MantineTable} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n flexRender,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, FC, Fragment, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableConsumer} from './TableConsumer';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {Th} from './Th';\nimport {useRowSelection} from './useRowSelection';\n\nconst LoadingSkeleton: FC<SkeletonProps> = (props) => (\n <Skeleton style={{display: 'inline-block'}} {...props} sx={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n onRowSelectionChange,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},\n });\n const {cx, classes} = useStyles({hasHeader: !!header, multiRowSelectionEnabled});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n ...options,\n });\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [state.globalFilter, state.pagination, state.sorting, form.values]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => row.toggleSelected()}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {[classes.rowSelected]: isSelected})}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx({\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n >\n <LoadingSkeleton visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </LoadingSkeleton>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n borderTop: row.getIsExpanded() ? undefined : 'none',\n borderBottom: row.getIsExpanded() ? undefined : 'none',\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n }}\n >\n {consumer}\n {!rows.length && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n {header}\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {rows.length ? (\n rows\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <LoadingSkeleton visible={loading}>{noDataChildren}</LoadingSkeleton>\n </td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\n"],"names":["Table","LoadingSkeleton","props","Skeleton","style","display","sx","visible","borderRadius","undefined","children","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","onMount","onChange","loading","doubleClickAction","multiRowSelectionEnabled","onRowSelectionChange","options","form","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","useStyles","hasHeader","cx","classes","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","globalFilter","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","clearFilters","useCallback","setFieldValue","prevState","Center","flexGrow","Loader","rows","getRowModel","map","rowChildren","isSelected","getIsSelected","Fragment","tr","onClick","toggleSelected","onDoubleClick","className","rowSelected","aria-selected","getVisibleCells","cell","size","column","getSize","width","defaultColumnSizing","td","rowCollapsibleButtonCell","id","TableCollapsibleColumn","flexRender","columnDef","getContext","colSpan","getAllColumns","length","padding","borderTop","getIsExpanded","borderBottom","Collapse","in","Box","px","py","ref","TableContext","Provider","value","containerRef","getPageCount","MantineTable","horizontalSpacing","verticalSpacing","pb","thead","getHeaderGroups","headerGroup","headers","columnHeader","Th","tbody","Actions","TableActions","Filter","TableFilter","Footer","Header","Pagination","TablePagination","Predicate","TablePredicate","PerPage","CollapsibleColumn","AccordionColumn","TableAccordionColumn","DateRangePicker","TableDateRangePicker","Consumer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Collapse, Loader, Skeleton, SkeletonProps, Table as MantineTable} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n flexRender,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, FC, Fragment, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {Th} from './Th';\nimport {useRowSelection} from './useRowSelection';\n\nconst LoadingSkeleton: FC<SkeletonProps> = (props) => (\n <Skeleton style={{display: 'inline-block'}} {...props} sx={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n onRowSelectionChange,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},\n });\n const {cx, classes} = useStyles({multiRowSelectionEnabled});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n ...options,\n });\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [state.globalFilter, state.pagination, state.sorting, form.values]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => row.toggleSelected()}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {[classes.rowSelected]: isSelected})}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx({\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n >\n <LoadingSkeleton visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </LoadingSkeleton>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n borderTop: row.getIsExpanded() ? undefined : 'none',\n borderBottom: row.getIsExpanded() ? undefined : 'none',\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n }}\n >\n {consumer}\n {!rows.length && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {rows.length ? (\n rows\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <LoadingSkeleton visible={loading}>{noDataChildren}</LoadingSkeleton>\n </td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\n"],"names":["Table","LoadingSkeleton","props","Skeleton","style","display","sx","visible","borderRadius","undefined","children","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","onMount","onChange","loading","doubleClickAction","multiRowSelectionEnabled","onRowSelectionChange","options","form","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","useStyles","cx","classes","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","globalFilter","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","clearFilters","useCallback","setFieldValue","prevState","Center","flexGrow","Loader","rows","getRowModel","map","rowChildren","isSelected","getIsSelected","Fragment","tr","onClick","toggleSelected","onDoubleClick","className","rowSelected","aria-selected","getVisibleCells","cell","size","column","getSize","width","defaultColumnSizing","td","rowCollapsibleButtonCell","id","TableCollapsibleColumn","flexRender","columnDef","getContext","colSpan","getAllColumns","length","padding","borderTop","getIsExpanded","borderBottom","Collapse","in","Box","px","py","ref","TableContext","Provider","value","containerRef","getPageCount","MantineTable","horizontalSpacing","verticalSpacing","pb","thead","th","getHeaderGroups","headerGroup","headerColumns","headers","columnHeader","Th","tbody","Actions","TableActions","Filter","TableFilter","Footer","Header","Pagination","TablePagination","Predicate","TablePredicate","PerPage","CollapsibleColumn","AccordionColumn","TableAccordionColumn","DateRangePicker","TableDateRangePicker","Consumer"],"mappings":"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"}
@@ -2,20 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ TableComponentsOrder: function() {
13
+ return TableComponentsOrder;
14
+ },
15
+ default: function() {
8
16
  return _default;
9
17
  }
10
18
  });
11
19
  var _core = require("@mantine/core");
12
20
  var useStyles = (0, _core.createStyles)(function(theme, param) {
13
- var hasHeader = param.hasHeader, multiRowSelectionEnabled = param.multiRowSelectionEnabled;
21
+ var multiRowSelectionEnabled = param.multiRowSelectionEnabled;
14
22
  var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors[theme.primaryColor][0];
15
23
  return {
16
24
  table: {
17
25
  width: "100%",
18
- "& td:first-of-type, th:first-of-type > *": {
26
+ "& thead tr th": {
27
+ borderBottom: "none"
28
+ },
29
+ "& td:first-of-type": {
19
30
  paddingLeft: theme.spacing.xl
20
31
  },
21
32
  "& tbody td": {
@@ -24,7 +35,7 @@ var useStyles = (0, _core.createStyles)(function(theme, param) {
24
35
  },
25
36
  header: {
26
37
  position: "sticky",
27
- top: hasHeader ? 69 : 0,
38
+ top: 0,
28
39
  backgroundColor: theme.colorScheme === "dark" ? theme.black : theme.white,
29
40
  transition: "box-shadow 150ms ease",
30
41
  zIndex: 1,
@@ -34,7 +45,12 @@ var useStyles = (0, _core.createStyles)(function(theme, param) {
34
45
  left: 0,
35
46
  right: 0,
36
47
  bottom: 0,
37
- borderBottom: "1px solid ".concat(theme.colors.gray[2])
48
+ borderBottom: "1px solid ".concat(theme.colors.gray[3])
49
+ }
50
+ },
51
+ headerColumns: {
52
+ "& th:first-of-type > *": {
53
+ paddingLeft: theme.spacing.xl
38
54
  }
39
55
  },
40
56
  rowSelected: {
@@ -51,6 +67,13 @@ var useStyles = (0, _core.createStyles)(function(theme, param) {
51
67
  }
52
68
  };
53
69
  });
70
+ var TableComponentsOrder = {
71
+ MultiSelectInfo: 5,
72
+ Actions: 4,
73
+ Predicate: 3,
74
+ Filter: 2,
75
+ DateRangePicker: 1
76
+ };
54
77
  var _default = useStyles;
55
78
 
56
79
  //# sourceMappingURL=Table.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\ninterface TableStylesParams {\n hasHeader: boolean;\n multiRowSelectionEnabled: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, multiRowSelectionEnabled}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2)\n : theme.colors[theme.primaryColor][0];\n return {\n table: {\n width: '100%',\n '& td:first-of-type, th:first-of-type > *': {\n paddingLeft: theme.spacing.xl,\n },\n '& tbody td': {\n verticalAlign: 'top',\n },\n },\n\n header: {\n position: 'sticky',\n top: hasHeader ? 69 : 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.black : theme.white,\n transition: 'box-shadow 150ms ease',\n zIndex: 1,\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderBottom: `1px solid ${theme.colors.gray[2]}`,\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n },\n };\n});\n\nexport default useStyles;\n"],"names":["useStyles","createStyles","theme","hasHeader","multiRowSelectionEnabled","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","table","width","paddingLeft","spacing","xl","verticalAlign","header","position","top","backgroundColor","black","white","transition","zIndex","content","left","right","bottom","borderBottom","gray","rowSelected","undefined","rowCollapsibleButtonCell","textAlign","padding","xs","sm","row"],"mappings":";;;;+BAyDA;;;eAAA;;;oBAzD2B;AAO3B,IAAMA,YAAYC,IAAAA,kBAAY,EAA4B,SAACC,cAAiD;QAAzCC,kBAAAA,WAAWC,iCAAAA;IAC1E,IAAMC,qBACFH,MAAMI,WAAW,KAAK,SAChBJ,MAAMK,EAAE,CAACC,IAAI,CAACN,MAAMO,MAAM,CAACP,MAAMQ,YAAY,CAAC,CAAC,EAAE,EAAE,OACnDR,MAAMO,MAAM,CAACP,MAAMQ,YAAY,CAAC,CAAC,EAAE;IAC7C,OAAO;QACHC,OAAO;YACHC,OAAO;YACP,4CAA4C;gBACxCC,aAAaX,MAAMY,OAAO,CAACC,EAAE;YACjC;YACA,cAAc;gBACVC,eAAe;YACnB;QACJ;QAEAC,QAAQ;YACJC,UAAU;YACVC,KAAKhB,YAAY,KAAK,CAAC;YACvBiB,iBAAiBlB,MAAMI,WAAW,KAAK,SAASJ,MAAMmB,KAAK,GAAGnB,MAAMoB,KAAK;YACzEC,YAAY;YACZC,QAAQ;YAER,YAAY;gBACRC,SAAS;gBACTP,UAAU;gBACVQ,MAAM;gBACNC,OAAO;gBACPC,QAAQ;gBACRC,cAAc,AAAC,aAAiC,OAArB3B,MAAMO,MAAM,CAACqB,IAAI,CAAC,EAAE;YACnD;QACJ;QAEAC,aAAa;YACTX,iBAAiBhB,2BAA2B4B,YAAY3B,kBAAkB;QAC9E;QAEA4B,0BAA0B;YACtBC,WAAW;YACXC,SAAS,AAAC,QAA8BjC,OAAvBA,MAAMY,OAAO,CAACsB,EAAE,EAAC,QAAuB,OAAjBlC,MAAMY,OAAO,CAACuB,EAAE,EAAC;QAC7D;QAEAC,KAAK;YACD,WAAW;gBACPlB,iBAAiBf;YACrB;QACJ;IACJ;AACJ;IAEA,WAAeL"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\ninterface TableStylesParams {\n multiRowSelectionEnabled: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2)\n : theme.colors[theme.primaryColor][0];\n return {\n table: {\n width: '100%',\n '& thead tr th': {\n borderBottom: 'none',\n },\n '& td:first-of-type': {\n paddingLeft: theme.spacing.xl,\n },\n '& tbody td': {\n verticalAlign: 'top',\n },\n },\n\n header: {\n position: 'sticky',\n top: 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.black : theme.white,\n transition: 'box-shadow 150ms ease',\n zIndex: 1,\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n },\n\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: theme.spacing.xl,\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n },\n };\n});\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 5,\n Actions: 4,\n Predicate: 3,\n Filter: 2,\n DateRangePicker: 1,\n};\n\nexport default useStyles;\n"],"names":["TableComponentsOrder","useStyles","createStyles","theme","multiRowSelectionEnabled","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","table","width","borderBottom","paddingLeft","spacing","xl","verticalAlign","header","position","top","backgroundColor","black","white","transition","zIndex","content","left","right","bottom","gray","headerColumns","rowSelected","undefined","rowCollapsibleButtonCell","textAlign","padding","xs","sm","row","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker"],"mappings":";;;;;;;;;;;IAiEaA,oBAAoB;eAApBA;;IAQb,OAAyB;eAAzB;;;oBAzE2B;AAM3B,IAAMC,YAAYC,IAAAA,kBAAY,EAA4B,SAACC,cAAsC;QAA9BC,iCAAAA;IAC/D,IAAMC,qBACFF,MAAMG,WAAW,KAAK,SAChBH,MAAMI,EAAE,CAACC,IAAI,CAACL,MAAMM,MAAM,CAACN,MAAMO,YAAY,CAAC,CAAC,EAAE,EAAE,OACnDP,MAAMM,MAAM,CAACN,MAAMO,YAAY,CAAC,CAAC,EAAE;IAC7C,OAAO;QACHC,OAAO;YACHC,OAAO;YACP,iBAAiB;gBACbC,cAAc;YAClB;YACA,sBAAsB;gBAClBC,aAAaX,MAAMY,OAAO,CAACC,EAAE;YACjC;YACA,cAAc;gBACVC,eAAe;YACnB;QACJ;QAEAC,QAAQ;YACJC,UAAU;YACVC,KAAK;YACLC,iBAAiBlB,MAAMG,WAAW,KAAK,SAASH,MAAMmB,KAAK,GAAGnB,MAAMoB,KAAK;YACzEC,YAAY;YACZC,QAAQ;YAER,YAAY;gBACRC,SAAS;gBACTP,UAAU;gBACVQ,MAAM;gBACNC,OAAO;gBACPC,QAAQ;gBACRhB,cAAc,AAAC,aAAiC,OAArBV,MAAMM,MAAM,CAACqB,IAAI,CAAC,EAAE;YACnD;QACJ;QAEAC,eAAe;YACX,0BAA0B;gBACtBjB,aAAaX,MAAMY,OAAO,CAACC,EAAE;YACjC;QACJ;QAEAgB,aAAa;YACTX,iBAAiBjB,2BAA2B6B,YAAY5B,kBAAkB;QAC9E;QAEA6B,0BAA0B;YACtBC,WAAW;YACXC,SAAS,AAAC,QAA8BjC,OAAvBA,MAAMY,OAAO,CAACsB,EAAE,EAAC,QAAuB,OAAjBlC,MAAMY,OAAO,CAACuB,EAAE,EAAC;QAC7D;QAEAC,KAAK;YACD,WAAW;gBACPlB,iBAAiBhB;YACrB;QACJ;IACJ;AACJ;AAEO,IAAML,uBAAuB;IAChCwC,iBAAiB;IACjBC,SAAS;IACTC,WAAW;IACXC,QAAQ;IACRC,iBAAiB;AACrB;IAEA,WAAe3C"}
@@ -8,19 +8,28 @@ Object.defineProperty(exports, "TableActions", {
8
8
  return TableActions;
9
9
  }
10
10
  });
11
- var _jsxRuntime = require("react/jsx-runtime");
11
+ var _jsxruntime = require("react/jsx-runtime");
12
12
  var _core = require("@mantine/core");
13
- var _tableContext = require("./TableContext");
13
+ var _Tablestyles = require("./Table.styles");
14
+ var _TableContext = require("./TableContext");
14
15
  var TableActions = function(param) {
15
16
  var children = param.children;
16
- var _useTable = (0, _tableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled;
17
+ var _useTable = (0, _TableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled;
17
18
  var selectedRows = getSelectedRows();
18
19
  if (selectedRows.length <= 0) {
19
20
  return null;
20
21
  }
21
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.Group, {
22
- spacing: "xs",
23
- children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
22
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, {
23
+ span: "content",
24
+ order: _Tablestyles.TableComponentsOrder.Actions,
25
+ py: "sm",
26
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, {
27
+ spacing: "xs",
28
+ style: {
29
+ display: "inline-flex"
30
+ },
31
+ children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
32
+ })
24
33
  });
25
34
  };
26
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {ReactElement, ReactNode} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TableActionsProps<T> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\nexport const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement => {\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Group spacing=\"xs\">\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n );\n};\n"],"names":["TableActions","children","useTable","getSelectedRows","multiRowSelectionEnabled","selectedRows","length","Group","spacing"],"mappings":";;;;+BA4BaA;;;eAAAA;;;;oBA5BO;4BAGG;AAyBhB,IAAMA,eAAe,gBAAwD;QAAlDC,iBAAAA;IAC9B,IAAoDC,YAAAA,IAAAA,sBAAQ,KAArDC,kBAA6CD,UAA7CC,iBAAiBC,2BAA4BF,UAA5BE;IACxB,IAAMC,eAAeF;IAErB,IAAIE,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO,IAAI;IACf,CAAC;IAED,qBACI,qBAACC,WAAK;QAACC,SAAQ;kBACVJ,2BACK,AAACH,SAAsCI,gBACvC,AAACJ,SAAqCI,YAAY,CAAC,EAAE,CAAC;;AAGxE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {Grid, Group} from '@mantine/core';\nimport {ReactElement, ReactNode} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\ninterface TableActionsProps<T> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\nexport const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement => {\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} py=\"sm\">\n <Group spacing=\"xs\" style={{display: 'inline-flex'}}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["TableActions","children","useTable","getSelectedRows","multiRowSelectionEnabled","selectedRows","length","Grid","Col","span","order","TableComponentsOrder","Actions","py","Group","spacing","style","display"],"mappings":";;;;+BA6BaA;;;eAAAA;;;;oBA7Ba;2BAES;4BAEZ;AAyBhB,IAAMA,eAAe,gBAAwD;QAAlDC,iBAAAA;IAC9B,IAAoDC,YAAAA,IAAAA,sBAAQ,KAArDC,kBAA6CD,UAA7CC,iBAAiBC,2BAA4BF,UAA5BE;IACxB,IAAMC,eAAeF;IAErB,IAAIE,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO,IAAI;IACf,CAAC;IAED,qBACI,qBAACC,UAAI,CAACC,GAAG;QAACC,MAAK;QAAUC,OAAOC,iCAAoB,CAACC,OAAO;QAAEC,IAAG;kBAC7D,cAAA,qBAACC,WAAK;YAACC,SAAQ;YAAKC,OAAO;gBAACC,SAAS;YAAa;sBAC7Cb,2BACK,AAACH,SAAsCI,gBACvC,AAACJ,SAAqCI,YAAY,CAAC,EAAE,CAAC;;;AAI5E"}
@@ -16,10 +16,10 @@ _export(exports, {
16
16
  return TableAccordionColumn;
17
17
  }
18
18
  });
19
- var _objectSpread = require("@swc/helpers/lib/_object_spread.js").default;
20
- var _objectSpreadProps = require("@swc/helpers/lib/_object_spread_props.js").default;
21
- var _jsxRuntime = require("react/jsx-runtime");
22
- var _plasmaReactIcons = require("@coveord/plasma-react-icons");
19
+ var _object_spread = require("@swc/helpers/_/_object_spread");
20
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
21
+ var _jsxruntime = require("react/jsx-runtime");
22
+ var _plasmareacticons = require("@coveord/plasma-react-icons");
23
23
  var _core = require("@mantine/core");
24
24
  var defaultProps = {
25
25
  id: "collapsible",
@@ -27,14 +27,14 @@ var defaultProps = {
27
27
  header: "",
28
28
  size: 62
29
29
  };
30
- var TableCollapsibleColumn = _objectSpreadProps(_objectSpread({}, defaultProps), {
30
+ var TableCollapsibleColumn = _object_spread_props._(_object_spread._({}, defaultProps), {
31
31
  cell: function(info) {
32
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(CollapsibleIcon, {
32
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(CollapsibleIcon, {
33
33
  info: info
34
34
  });
35
35
  }
36
36
  });
37
- var TableAccordionColumn = _objectSpreadProps(_objectSpread({}, defaultProps), {
37
+ var TableAccordionColumn = _object_spread_props._(_object_spread._({}, defaultProps), {
38
38
  cell: function(info) {
39
39
  var onToggle = function() {
40
40
  // close all other rows when the current row not is expanded
@@ -42,7 +42,7 @@ var TableAccordionColumn = _objectSpreadProps(_objectSpread({}, defaultProps), {
42
42
  info.table.toggleAllRowsExpanded(false);
43
43
  }
44
44
  };
45
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(CollapsibleIcon, {
45
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(CollapsibleIcon, {
46
46
  onToggle: onToggle,
47
47
  info: info
48
48
  });
@@ -56,11 +56,11 @@ var CollapsibleIcon = function(param) {
56
56
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(e);
57
57
  handler();
58
58
  };
59
- return info.row.getCanExpand() ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_core.ActionIcon, {
59
+ return info.row.getCanExpand() ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.ActionIcon, {
60
60
  onClick: onClick,
61
61
  variant: "subtle",
62
62
  radius: "sm",
63
- children: info.row.getIsExpanded() ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plasmaReactIcons.ArrowHeadUpSize24Px, {}) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_plasmaReactIcons.ArrowHeadDownSize24Px, {})
63
+ children: info.row.getIsExpanded() ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.ArrowHeadUpSize24Px, {}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.ArrowHeadDownSize24Px, {})
64
64
  }) : null;
65
65
  };
66
66