@helpdice/ui 1.2.8 → 1.3.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.
package/dist/index.js CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactDom = require('react-dom');
5
- var Select$1 = require('components/select');
6
- var Input$1 = require('components/input');
7
5
  var require$$0 = require('react-is');
8
6
  var isEqual = require('react-fast-compare');
9
7
 
@@ -24880,113 +24878,6 @@ var SpinnerComponent = function SpinnerComponent(_ref) {
24880
24878
  SpinnerComponent.displayName = 'Spinner';
24881
24879
  var Spinner = withScale(SpinnerComponent);
24882
24880
 
24883
- var makeColgroup = function makeColgroup(width, columns) {
24884
- var unsetWidthCount = columns.filter(function (c) {
24885
- return !c.width;
24886
- }).length;
24887
- var customWidthTotal = columns.reduce(function (pre, current) {
24888
- return current.width ? pre + current.width : pre;
24889
- }, 0);
24890
- var averageWidth = (width - customWidthTotal) / unsetWidthCount;
24891
- if (averageWidth <= 0) return /*#__PURE__*/React.createElement("colgroup", null);
24892
- return /*#__PURE__*/React.createElement("colgroup", null, columns.map(function (column, index) {
24893
- return /*#__PURE__*/React.createElement("col", {
24894
- key: "colgroup-".concat(index),
24895
- width: column.width || averageWidth
24896
- });
24897
- }));
24898
- };
24899
- var TableHead = function TableHead(props) {
24900
- var theme = useTheme();
24901
- var _ref = props,
24902
- columns = _ref.columns,
24903
- width = _ref.width;
24904
- var isScalableWidth = React.useMemo(function () {
24905
- return columns.find(function (item) {
24906
- return !!item.width;
24907
- });
24908
- }, [columns]);
24909
- var colgroup = React.useMemo(function () {
24910
- if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
24911
- return makeColgroup(width, columns);
24912
- }, [isScalableWidth, width]);
24913
- return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
24914
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24915
- }, /*#__PURE__*/React.createElement("tr", {
24916
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24917
- }, columns.map(function (column, index) {
24918
- return /*#__PURE__*/React.createElement("th", {
24919
- style: {
24920
- // textAlign: `${column?.align} !important`,
24921
- // paddingLeft: '0.3rem',
24922
- // paddingRight: '0.3rem',
24923
- // color: `${column?.color}`,
24924
- whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
24925
- },
24926
- key: "table-th-".concat(column.prop.toString(), "-").concat(index),
24927
- "data-column": column.label,
24928
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
24929
- }, /*#__PURE__*/React.createElement("div", {
24930
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
24931
- }, column.label, /*#__PURE__*/React.createElement("br", {
24932
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24933
- }), /*#__PURE__*/React.createElement("span", {
24934
- style: {
24935
- textAlign: 'center'
24936
- },
24937
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24938
- }, column.text)));
24939
- }))), /*#__PURE__*/React.createElement(_JSXStyle, {
24940
- id: "134865897",
24941
- dynamic: [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]
24942
- }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;font-size:inherit;}th.__jsx-style-dynamic-selector{padding:0 0.5em;font-size:calc(0.75 * var(--table-font-size));font-weight:normal;text-align:left;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;vertical-align:middle;min-height:calc(2.5 * var(--table-font-size));color:".concat(theme.palette.accents_5, ";background:").concat(theme.palette.accents_1, ";border-bottom:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-radius:0;}th.__jsx-style-dynamic-selector:nth-child(1){border-bottom:1px solid ").concat(theme.palette.border, ";border-left:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}th.__jsx-style-dynamic-selector:last-child{border-bottom:1px solid ").concat(theme.palette.border, ";border-right:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.thead-box.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:center;min-height:calc(2.5 * var(--table-font-size));text-transform:uppercase;}")));
24943
- };
24944
- TableHead.displayName = 'TableHead';
24945
-
24946
- var TableCell = function TableCell(_ref) {
24947
- var columns = _ref.columns,
24948
- row = _ref.row,
24949
- rowIndex = _ref.rowIndex,
24950
- emptyText = _ref.emptyText,
24951
- onCellClick = _ref.onCellClick;
24952
- /* eslint-disable react/jsx-no-useless-fragment */
24953
- return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(function (column, index) {
24954
- var currentRowValue = row[column.prop];
24955
- var cellValue = currentRowValue || emptyText;
24956
- var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
24957
- return /*#__PURE__*/React.createElement("td", {
24958
- style: _objectSpread2({
24959
- fontSize: "".concat(column === null || column === undefined ? undefined : column.fontSize),
24960
- textAlign: "".concat(column === null || column === undefined ? undefined : column.align, " !important"),
24961
- paddingLeft: '0.3rem',
24962
- paddingRight: '0.3rem',
24963
- color: "".concat(column === null || column === undefined ? undefined : column.color),
24964
- whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
24965
- }, currentRowValue === null || currentRowValue === undefined ? undefined : currentRowValue.style),
24966
- "data-column": column.label,
24967
- key: "row-td-".concat(index, "-").concat(column.prop.toString()),
24968
- onClick: function onClick() {
24969
- return onCellClick && onCellClick(currentRowValue, rowIndex, index);
24970
- },
24971
- className: column.className
24972
- }, /*#__PURE__*/React.createElement("div", {
24973
- className: "cell"
24974
- }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
24975
- }));
24976
- /* eslint-enable */
24977
- };
24978
-
24979
- /* "use client" */
24980
-
24981
- var defaultContext$2 = {
24982
- columns: [],
24983
- updateColumn: function updateColumn() {}
24984
- };
24985
- var TableContext = /*#__PURE__*/React.createContext(defaultContext$2);
24986
- var useTableContext = function useTableContext() {
24987
- return React.useContext(TableContext);
24988
- };
24989
-
24990
24881
  var lodash$1 = {exports: {}};
24991
24882
 
24992
24883
  /**
@@ -42199,6 +42090,196 @@ function requireLodash () {
42199
42090
  var lodashExports = requireLodash();
42200
42091
  var _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
42201
42092
 
42093
+ var makeColgroup = function makeColgroup(width, columns) {
42094
+ var unsetWidthCount = columns.filter(function (c) {
42095
+ return !c.width;
42096
+ }).length;
42097
+ var customWidthTotal = columns.reduce(function (pre, current) {
42098
+ return current.width ? pre + current.width : pre;
42099
+ }, 0);
42100
+ var averageWidth = (width - customWidthTotal) / unsetWidthCount;
42101
+ if (averageWidth <= 0) return /*#__PURE__*/React.createElement("colgroup", null);
42102
+ return /*#__PURE__*/React.createElement("colgroup", null, columns.map(function (column, index) {
42103
+ return /*#__PURE__*/React.createElement("col", {
42104
+ key: "colgroup-".concat(index),
42105
+ width: column.width || averageWidth
42106
+ });
42107
+ }));
42108
+ };
42109
+ var TableHead = function TableHead(props) {
42110
+ var theme = useTheme();
42111
+ var _React$useState = React.useState({}),
42112
+ _React$useState2 = _slicedToArray(_React$useState, 2),
42113
+ filters = _React$useState2[0],
42114
+ setFilters = _React$useState2[1];
42115
+ var _ref = props,
42116
+ columns = _ref.columns,
42117
+ width = _ref.width,
42118
+ onFilters = _ref.onFilters,
42119
+ showFilters = _ref.showFilters;
42120
+ var isScalableWidth = React.useMemo(function () {
42121
+ return columns.find(function (item) {
42122
+ return !!item.width;
42123
+ });
42124
+ }, [columns]);
42125
+ var colgroup = React.useMemo(function () {
42126
+ if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
42127
+ return makeColgroup(width, columns);
42128
+ }, [isScalableWidth, width]);
42129
+ var handleFilterChange = function handleFilterChange(name, value) {
42130
+ setFilters(function (prevFilters) {
42131
+ var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
42132
+ return updatedFilters;
42133
+ });
42134
+ };
42135
+ var applyFilters = function applyFilters() {
42136
+ if (onFilters) {
42137
+ onFilters(filters);
42138
+ }
42139
+ };
42140
+ var generateFilterInputs = function generateFilterInputs() {
42141
+ return columns.map(function (col) {
42142
+ var _String, _filters$filterName;
42143
+ var Header = col.label,
42144
+ accessor = col.filter,
42145
+ options = col.options;
42146
+ var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
42147
+ var unq_accessor = _.uniqueId(filterName);
42148
+ return /*#__PURE__*/React.createElement("th", {
42149
+ style: {
42150
+ margin: '3px'
42151
+ },
42152
+ "data-column": Header,
42153
+ key: unq_accessor
42154
+ }, accessor === 'fixed' && /*#__PURE__*/React.createElement(Select, {
42155
+ key: unq_accessor,
42156
+ name: filterName,
42157
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== undefined ? _filters$filterName : 'All',
42158
+ onChange: function onChange(newValue) {
42159
+ return handleFilterChange(filterName, newValue);
42160
+ }
42161
+ }, /*#__PURE__*/React.createElement(Select.Option, {
42162
+ value: "All"
42163
+ }, "All ", Header), options ? options.map(function (option) {
42164
+ return /*#__PURE__*/React.createElement(Select.Option, {
42165
+ value: option.value
42166
+ }, option.name);
42167
+ }) : null), accessor === 'date' && /*#__PURE__*/React.createElement(Input, {
42168
+ id: "filter-date-".concat(filterName),
42169
+ htmlType: "date",
42170
+ name: filterName,
42171
+ value: filters[filterName],
42172
+ onChange: function onChange(e) {
42173
+ return handleFilterChange(filterName, e.target.value);
42174
+ }
42175
+ }), accessor === 'search' && /*#__PURE__*/React.createElement(Input, {
42176
+ id: "filter-search-".concat(filterName),
42177
+ htmlType: "text",
42178
+ autoComplete: "off"
42179
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
42180
+ ,
42181
+ name: filterName,
42182
+ style: {
42183
+ height: 30,
42184
+ minWidth: 160
42185
+ },
42186
+ value: filters[filterName],
42187
+ onChange: function onChange(e) {
42188
+ return handleFilterChange(filterName, e.target.value);
42189
+ },
42190
+ placeholder: "Search...",
42191
+ fullWidth: true
42192
+ }));
42193
+ });
42194
+ };
42195
+ return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
42196
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42197
+ }, /*#__PURE__*/React.createElement("tr", {
42198
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42199
+ }, columns.map(function (column, index) {
42200
+ return /*#__PURE__*/React.createElement("th", {
42201
+ style: {
42202
+ // textAlign: `${column?.align} !important`,
42203
+ // paddingLeft: '0.3rem',
42204
+ // paddingRight: '0.3rem',
42205
+ // color: `${column?.color}`,
42206
+ whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
42207
+ },
42208
+ key: "table-th-".concat(column.prop.toString(), "-").concat(index),
42209
+ "data-column": column.label,
42210
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
42211
+ }, /*#__PURE__*/React.createElement("div", {
42212
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
42213
+ }, column.label, /*#__PURE__*/React.createElement("br", {
42214
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42215
+ }), /*#__PURE__*/React.createElement("span", {
42216
+ style: {
42217
+ textAlign: 'center'
42218
+ },
42219
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42220
+ }, column.text)));
42221
+ }), /*#__PURE__*/React.createElement("th", {
42222
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42223
+ })), showFilters && /*#__PURE__*/React.createElement("tr", {
42224
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42225
+ }, generateFilterInputs(), /*#__PURE__*/React.createElement("th", {
42226
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42227
+ }, /*#__PURE__*/React.createElement(Button, {
42228
+ onClick: applyFilters,
42229
+ auto: true,
42230
+ px: 0.6,
42231
+ scale: 2 / 3
42232
+ }, "Apply")))), /*#__PURE__*/React.createElement(_JSXStyle, {
42233
+ id: "134865897",
42234
+ dynamic: [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]
42235
+ }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;font-size:inherit;}th.__jsx-style-dynamic-selector{padding:0 0.5em;font-size:calc(0.75 * var(--table-font-size));font-weight:normal;text-align:left;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;vertical-align:middle;min-height:calc(2.5 * var(--table-font-size));color:".concat(theme.palette.accents_5, ";background:").concat(theme.palette.accents_1, ";border-bottom:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-radius:0;}th.__jsx-style-dynamic-selector:nth-child(1){border-bottom:1px solid ").concat(theme.palette.border, ";border-left:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}th.__jsx-style-dynamic-selector:last-child{border-bottom:1px solid ").concat(theme.palette.border, ";border-right:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.thead-box.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:center;min-height:calc(2.5 * var(--table-font-size));text-transform:uppercase;}")));
42236
+ };
42237
+ TableHead.displayName = 'TableHead';
42238
+
42239
+ var TableCell = function TableCell(_ref) {
42240
+ var columns = _ref.columns,
42241
+ row = _ref.row,
42242
+ rowIndex = _ref.rowIndex,
42243
+ emptyText = _ref.emptyText,
42244
+ onCellClick = _ref.onCellClick;
42245
+ /* eslint-disable react/jsx-no-useless-fragment */
42246
+ return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(function (column, index) {
42247
+ var currentRowValue = row[column.prop];
42248
+ var cellValue = currentRowValue || emptyText;
42249
+ var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
42250
+ return /*#__PURE__*/React.createElement("td", {
42251
+ style: _objectSpread2({
42252
+ fontSize: "".concat(column === null || column === undefined ? undefined : column.fontSize),
42253
+ textAlign: "".concat(column === null || column === undefined ? undefined : column.align, " !important"),
42254
+ paddingLeft: '0.3rem',
42255
+ paddingRight: '0.3rem',
42256
+ color: "".concat(column === null || column === undefined ? undefined : column.color),
42257
+ whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
42258
+ }, currentRowValue === null || currentRowValue === undefined ? undefined : currentRowValue.style),
42259
+ "data-column": column.label,
42260
+ key: "row-td-".concat(index, "-").concat(column.prop.toString()),
42261
+ onClick: function onClick() {
42262
+ return onCellClick && onCellClick(currentRowValue, rowIndex, index);
42263
+ },
42264
+ className: column.className
42265
+ }, /*#__PURE__*/React.createElement("div", {
42266
+ className: "cell"
42267
+ }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
42268
+ }));
42269
+ /* eslint-enable */
42270
+ };
42271
+
42272
+ /* "use client" */
42273
+
42274
+ var defaultContext$2 = {
42275
+ columns: [],
42276
+ updateColumn: function updateColumn() {}
42277
+ };
42278
+ var TableContext = /*#__PURE__*/React.createContext(defaultContext$2);
42279
+ var useTableContext = function useTableContext() {
42280
+ return React.useContext(TableContext);
42281
+ };
42282
+
42202
42283
  var TableBody = function TableBody(_ref) {
42203
42284
  var data = _ref.data,
42204
42285
  emptyText = _ref.emptyText,
@@ -42453,10 +42534,6 @@ function TableComponent(tableProps) {
42453
42534
  updateColumn: updateColumn
42454
42535
  };
42455
42536
  }, [columns]);
42456
- var _React$useState = React.useState({}),
42457
- _React$useState2 = _slicedToArray(_React$useState, 2),
42458
- filters = _React$useState2[0],
42459
- setFilters = _React$useState2[1];
42460
42537
  React.useEffect(function () {
42461
42538
  if (typeof customData === 'undefined') return;
42462
42539
  setData(customData);
@@ -42464,82 +42541,16 @@ function TableComponent(tableProps) {
42464
42541
  useResize(function () {
42465
42542
  return updateShape();
42466
42543
  });
42467
- var handleFilterChange = function handleFilterChange(name, value) {
42468
- setFilters(function (prevFilters) {
42469
- var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
42470
- // Call onFiltersChange to propagate filter changes to the parent
42471
- if (onFilters) {
42472
- onFilters(updatedFilters);
42473
- }
42474
- return updatedFilters;
42475
- });
42476
- };
42477
- var generateFilterInputs = function generateFilterInputs() {
42478
- return columns.map(function (col) {
42479
- var _String, _filters$filterName;
42480
- var Header = col.label,
42481
- accessor = col.filter,
42482
- options = col.options;
42483
- var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
42484
- var unq_accessor = _.uniqueId(filterName);
42485
- return /*#__PURE__*/React.createElement("div", {
42486
- style: {
42487
- margin: '3px'
42488
- },
42489
- "data-column": Header,
42490
- key: unq_accessor
42491
- }, accessor === 'fixed' && /*#__PURE__*/React.createElement(Select$1, {
42492
- key: unq_accessor,
42493
- name: filterName,
42494
- value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== undefined ? _filters$filterName : 'All',
42495
- onChange: function onChange(newValue) {
42496
- return handleFilterChange(filterName, newValue);
42497
- }
42498
- }, /*#__PURE__*/React.createElement(Select$1.Option, {
42499
- value: "All"
42500
- }, "All ", Header), options ? options.map(function (option) {
42501
- return /*#__PURE__*/React.createElement(Select$1.Option, {
42502
- value: option.value
42503
- }, option.name);
42504
- }) : null), accessor === 'date' && /*#__PURE__*/React.createElement(Input$1, {
42505
- id: "filter-date-".concat(filterName),
42506
- htmlType: "date",
42507
- name: filterName,
42508
- value: filters[filterName],
42509
- onChange: function onChange(e) {
42510
- return handleFilterChange(filterName, e.target.value);
42511
- }
42512
- }), accessor === 'search' && /*#__PURE__*/React.createElement(Input$1, {
42513
- id: "filter-search-".concat(filterName),
42514
- htmlType: "text",
42515
- autoComplete: "off",
42516
- name: filterName,
42517
- style: {
42518
- height: 30,
42519
- minWidth: 160
42520
- },
42521
- value: filters[filterName],
42522
- onChange: function onChange(e) {
42523
- return handleFilterChange(filterName, e.target.value);
42524
- },
42525
- placeholder: "Search...",
42526
- fullWidth: true
42527
- }));
42528
- });
42529
- };
42530
42544
  return /*#__PURE__*/React.createElement(TableContext.Provider, {
42531
42545
  value: contextValue
42532
- }, showFilters && /*#__PURE__*/React.createElement("div", {
42533
- style: {
42534
- display: 'flex',
42535
- gap: 6
42536
- }
42537
- }, generateFilterInputs()), /*#__PURE__*/React.createElement("table", _extends({
42546
+ }, /*#__PURE__*/React.createElement("table", _extends({
42538
42547
  ref: ref
42539
42548
  }, props, {
42540
42549
  className: _JSXStyle.dynamic([["2132340556", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, 'auto'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0)]]]) + " " + (props && props.className != null && props.className || className || "")
42541
42550
  }), /*#__PURE__*/React.createElement(TableHead, {
42542
42551
  columns: columns,
42552
+ onFilters: onFilters,
42553
+ showFilters: showFilters,
42543
42554
  width: width
42544
42555
  }), /*#__PURE__*/React.createElement(TableBody, {
42545
42556
  data: data,