@helpdice/ui 1.5.1 → 1.5.3

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
@@ -26300,6 +26300,124 @@ var SpinnerComponent = function SpinnerComponent(_ref) {
26300
26300
  SpinnerComponent.displayName = 'Spinner';
26301
26301
  var Spinner = withScale(SpinnerComponent);
26302
26302
 
26303
+ var makeColgroup = function makeColgroup(width, columns) {
26304
+ var unsetWidthCount = columns.filter(function (c) {
26305
+ return !c.width;
26306
+ }).length;
26307
+ var customWidthTotal = columns.reduce(function (pre, current) {
26308
+ return current.width ? pre + current.width : pre;
26309
+ }, 0);
26310
+ var averageWidth = (width - customWidthTotal) / unsetWidthCount;
26311
+ if (averageWidth <= 0) return /*#__PURE__*/React$1.createElement("colgroup", null);
26312
+ return /*#__PURE__*/React$1.createElement("colgroup", null, columns.map(function (column, index) {
26313
+ return /*#__PURE__*/React$1.createElement("col", {
26314
+ key: "colgroup-".concat(index),
26315
+ width: column.width || averageWidth
26316
+ });
26317
+ }));
26318
+ };
26319
+ var TableHead = function TableHead(props) {
26320
+ var theme = useTheme();
26321
+ var _ref = props,
26322
+ columns = _ref.columns,
26323
+ width = _ref.width,
26324
+ stickyHeader = _ref.stickyHeader;
26325
+ var isScalableWidth = React$1.useMemo(function () {
26326
+ return columns.find(function (item) {
26327
+ return !!item.width;
26328
+ });
26329
+ }, [columns]);
26330
+ var colgroup = React$1.useMemo(function () {
26331
+ if (!isScalableWidth) return /*#__PURE__*/React$1.createElement("colgroup", null);
26332
+ return makeColgroup(width, columns);
26333
+ }, [isScalableWidth, width]);
26334
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, colgroup, /*#__PURE__*/React$1.createElement("thead", {
26335
+ className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
26336
+ }, /*#__PURE__*/React$1.createElement("tr", {
26337
+ style: {
26338
+ backgroundColor: '#fff'
26339
+ },
26340
+ className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
26341
+ }, columns.map(function (column, index) {
26342
+ var _String;
26343
+ var dataName = (_String = String(column === null || column === void 0 ? void 0 : column.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
26344
+ console.log('Column Hide:', dataName);
26345
+ return /*#__PURE__*/React$1.createElement("th", {
26346
+ style: _objectSpread2({
26347
+ // textAlign: `${column?.align} !important`,
26348
+ // paddingLeft: '0.3rem',
26349
+ // paddingRight: '0.3rem',
26350
+ backgroundColor: '#fff',
26351
+ color: "".concat(column !== null && column !== void 0 && column.color ? column === null || column === void 0 ? void 0 : column.color : '#333'),
26352
+ whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
26353
+ }, column === null || column === void 0 ? void 0 : column.style),
26354
+ key: "table-th-".concat(column.prop.toString(), "-").concat(index),
26355
+ "data-column": dataName,
26356
+ className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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 || "")
26357
+ }, /*#__PURE__*/React$1.createElement("div", {
26358
+ className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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"
26359
+ }, column.label, /*#__PURE__*/React$1.createElement("br", {
26360
+ className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
26361
+ }), /*#__PURE__*/React$1.createElement("span", {
26362
+ style: {
26363
+ textAlign: 'center'
26364
+ },
26365
+ className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
26366
+ }, column.text)));
26367
+ }))), /*#__PURE__*/React$1.createElement(_JSXStyle, {
26368
+ id: "2156261549",
26369
+ dynamic: [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]
26370
+ }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;background-color:#fff;font-size:inherit;".concat(stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", ";}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;}")));
26371
+ };
26372
+ TableHead.displayName = 'TableHead';
26373
+
26374
+ var TableCell = function TableCell(_ref) {
26375
+ var columns = _ref.columns,
26376
+ row = _ref.row,
26377
+ rowIndex = _ref.rowIndex,
26378
+ emptyText = _ref.emptyText,
26379
+ onCellClick = _ref.onCellClick;
26380
+ /* eslint-disable react/jsx-no-useless-fragment */
26381
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, columns.map(function (column, index) {
26382
+ var _String;
26383
+ var currentRowValue = row[column.prop];
26384
+ var cellValue = currentRowValue || emptyText;
26385
+ var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
26386
+ var dataName = (_String = String(column === null || column === void 0 ? void 0 : column.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
26387
+ return /*#__PURE__*/React$1.createElement("td", {
26388
+ style: _objectSpread2({
26389
+ fontSize: "".concat(column === null || column === void 0 ? void 0 : column.fontSize),
26390
+ textAlign: "".concat(column === null || column === void 0 ? void 0 : column.align, " !important"),
26391
+ paddingLeft: '0.3rem',
26392
+ paddingRight: '0.3rem',
26393
+ color: "".concat(column === null || column === void 0 ? void 0 : column.color),
26394
+ boxSizing: 'border-box',
26395
+ whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
26396
+ }, currentRowValue === null || currentRowValue === void 0 ? void 0 : currentRowValue.style),
26397
+ "data-column": dataName,
26398
+ key: "row-td-".concat(index, "-").concat(column.prop.toString()),
26399
+ onClick: function onClick() {
26400
+ return onCellClick && onCellClick(currentRowValue, rowIndex, index);
26401
+ },
26402
+ className: column.className
26403
+ }, /*#__PURE__*/React$1.createElement("div", {
26404
+ className: "cell"
26405
+ }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
26406
+ }));
26407
+ /* eslint-enable */
26408
+ };
26409
+
26410
+ /* "use client" */
26411
+
26412
+ var defaultContext$2 = {
26413
+ columns: [],
26414
+ updateColumn: function updateColumn() {}
26415
+ };
26416
+ var TableContext = /*#__PURE__*/React$1.createContext(defaultContext$2);
26417
+ var useTableContext = function useTableContext() {
26418
+ return React$1.useContext(TableContext);
26419
+ };
26420
+
26303
26421
  var lodash$1 = {exports: {}};
26304
26422
 
26305
26423
  /**
@@ -43512,213 +43630,6 @@ function requireLodash () {
43512
43630
  var lodashExports = requireLodash();
43513
43631
  var _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
43514
43632
 
43515
- var makeColgroup = function makeColgroup(width, columns) {
43516
- var unsetWidthCount = columns.filter(function (c) {
43517
- return !c.width;
43518
- }).length;
43519
- var customWidthTotal = columns.reduce(function (pre, current) {
43520
- return current.width ? pre + current.width : pre;
43521
- }, 0);
43522
- var averageWidth = (width - customWidthTotal) / unsetWidthCount;
43523
- if (averageWidth <= 0) return /*#__PURE__*/React$1.createElement("colgroup", null);
43524
- return /*#__PURE__*/React$1.createElement("colgroup", null, columns.map(function (column, index) {
43525
- return /*#__PURE__*/React$1.createElement("col", {
43526
- key: "colgroup-".concat(index),
43527
- width: column.width || averageWidth
43528
- });
43529
- }));
43530
- };
43531
- var TableHead = function TableHead(props) {
43532
- var theme = useTheme();
43533
- var _React$useState = React$1.useState({}),
43534
- _React$useState2 = _slicedToArray(_React$useState, 2),
43535
- filters = _React$useState2[0],
43536
- setFilters = _React$useState2[1];
43537
- var _ref = props,
43538
- columns = _ref.columns,
43539
- width = _ref.width,
43540
- onFilters = _ref.onFilters,
43541
- showFilters = _ref.showFilters,
43542
- stickyHeader = _ref.stickyHeader;
43543
- var isScalableWidth = React$1.useMemo(function () {
43544
- return columns.find(function (item) {
43545
- return !!item.width;
43546
- });
43547
- }, [columns]);
43548
- var colgroup = React$1.useMemo(function () {
43549
- if (!isScalableWidth) return /*#__PURE__*/React$1.createElement("colgroup", null);
43550
- return makeColgroup(width, columns);
43551
- }, [isScalableWidth, width]);
43552
- var handleFilterChange = function handleFilterChange(name, value) {
43553
- setFilters(function (prevFilters) {
43554
- var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
43555
- if (onFilters) {
43556
- onFilters(updatedFilters);
43557
- }
43558
- return updatedFilters;
43559
- });
43560
- };
43561
-
43562
- // const applyFilters = () => {
43563
- // if (onFilters) {
43564
- // onFilters(filters);
43565
- // }
43566
- // }
43567
-
43568
- var generateFilterInputs = function generateFilterInputs() {
43569
- return columns.map(function (col) {
43570
- var _String, _filters$filterName;
43571
- var Header = col.label,
43572
- accessor = col.filter,
43573
- options = col.options;
43574
- var filterName = (_String = String(col === null || col === void 0 ? void 0 : col.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
43575
- var unq_accessor = _.uniqueId(filterName);
43576
- // if (Header === 'actions') {
43577
- // return (
43578
- // <th style={{ margin: '3px' }} data-column={Header} key={unq_accessor}>
43579
- // <Button onClick={applyFilters} auto px={0.6} scale={2 / 3}>Apply</Button>
43580
- // </th>
43581
- // )
43582
- // }
43583
- return /*#__PURE__*/React$1.createElement("th", {
43584
- style: {
43585
- padding: '3px'
43586
- },
43587
- "data-column": Header,
43588
- key: unq_accessor
43589
- }, accessor === 'fixed' && /*#__PURE__*/React$1.createElement(Select
43590
- // key={unq_accessor}
43591
- // name={filterName}
43592
- , {
43593
- value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== void 0 ? _filters$filterName : 'All',
43594
- onChange: function onChange(newValue) {
43595
- return handleFilterChange(filterName, newValue);
43596
- }
43597
- }, /*#__PURE__*/React$1.createElement(Select.Option, {
43598
- value: "All"
43599
- }, "All ", Header), options ? options.map(function (option) {
43600
- return /*#__PURE__*/React$1.createElement(Select.Option, {
43601
- value: option.value
43602
- }, option.name);
43603
- }) : null), accessor === 'date' && /*#__PURE__*/React$1.createElement(Input
43604
- // id={`filter-date-${filterName}`}
43605
- , {
43606
- htmlType: "date"
43607
- // name={filterName}
43608
- ,
43609
- value: filters[filterName],
43610
- onChange: function onChange(e) {
43611
- return handleFilterChange(filterName, e.target.value);
43612
- }
43613
- }), accessor === 'search' && /*#__PURE__*/React$1.createElement(Input
43614
- // id={`filter-search-${filterName}`}
43615
- , {
43616
- htmlType: "text",
43617
- autoComplete: "off"
43618
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
43619
- // name={filterName}
43620
- ,
43621
- style: {
43622
- height: 30,
43623
- minWidth: 160
43624
- },
43625
- value: filters[filterName],
43626
- onChange: function onChange(e) {
43627
- return handleFilterChange(filterName, e.target.value);
43628
- },
43629
- placeholder: "Search...",
43630
- fullWidth: true
43631
- }));
43632
- });
43633
- };
43634
- return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, colgroup, /*#__PURE__*/React$1.createElement("thead", {
43635
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
43636
- }, /*#__PURE__*/React$1.createElement("tr", {
43637
- style: {
43638
- backgroundColor: '#fff'
43639
- },
43640
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
43641
- }, columns.map(function (column, index) {
43642
- var _String2;
43643
- var dataName = (_String2 = String(column === null || column === void 0 ? void 0 : column.label)) === null || _String2 === void 0 ? void 0 : _String2.replace(' ', '_').toLowerCase();
43644
- return /*#__PURE__*/React$1.createElement("th", {
43645
- style: _objectSpread2({
43646
- // textAlign: `${column?.align} !important`,
43647
- // paddingLeft: '0.3rem',
43648
- // paddingRight: '0.3rem',
43649
- backgroundColor: '#fff',
43650
- color: "".concat(column !== null && column !== void 0 && column.color ? column === null || column === void 0 ? void 0 : column.color : '#333'),
43651
- whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
43652
- }, column === null || column === void 0 ? void 0 : column.style),
43653
- key: "table-th-".concat(column.prop.toString(), "-").concat(index),
43654
- "data-column": dataName,
43655
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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 || "")
43656
- }, /*#__PURE__*/React$1.createElement("div", {
43657
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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"
43658
- }, column.label, /*#__PURE__*/React$1.createElement("br", {
43659
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
43660
- }), /*#__PURE__*/React$1.createElement("span", {
43661
- style: {
43662
- textAlign: 'center'
43663
- },
43664
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
43665
- }, column.text)));
43666
- })), showFilters && /*#__PURE__*/React$1.createElement("tr", {
43667
- className: _JSXStyle.dynamic([["2156261549", [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]]])
43668
- }, generateFilterInputs())), /*#__PURE__*/React$1.createElement(_JSXStyle, {
43669
- id: "2156261549",
43670
- dynamic: [stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", 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]
43671
- }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;background-color:#fff;font-size:inherit;".concat(stickyHeader && "\n position: sticky;\n top: 0;\n z-index: 1;\n ", ";}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;}")));
43672
- };
43673
- TableHead.displayName = 'TableHead';
43674
-
43675
- var TableCell = function TableCell(_ref) {
43676
- var columns = _ref.columns,
43677
- row = _ref.row,
43678
- rowIndex = _ref.rowIndex,
43679
- emptyText = _ref.emptyText,
43680
- onCellClick = _ref.onCellClick;
43681
- /* eslint-disable react/jsx-no-useless-fragment */
43682
- return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, columns.map(function (column, index) {
43683
- var _String;
43684
- var currentRowValue = row[column.prop];
43685
- var cellValue = currentRowValue || emptyText;
43686
- var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
43687
- var dataName = (_String = String(column === null || column === void 0 ? void 0 : column.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
43688
- return /*#__PURE__*/React$1.createElement("td", {
43689
- style: _objectSpread2({
43690
- fontSize: "".concat(column === null || column === void 0 ? void 0 : column.fontSize),
43691
- textAlign: "".concat(column === null || column === void 0 ? void 0 : column.align, " !important"),
43692
- paddingLeft: '0.3rem',
43693
- paddingRight: '0.3rem',
43694
- color: "".concat(column === null || column === void 0 ? void 0 : column.color),
43695
- boxSizing: 'border-box',
43696
- whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
43697
- }, currentRowValue === null || currentRowValue === void 0 ? void 0 : currentRowValue.style),
43698
- "data-column": dataName,
43699
- key: "row-td-".concat(index, "-").concat(column.prop.toString()),
43700
- onClick: function onClick() {
43701
- return onCellClick && onCellClick(currentRowValue, rowIndex, index);
43702
- },
43703
- className: column.className
43704
- }, /*#__PURE__*/React$1.createElement("div", {
43705
- className: "cell"
43706
- }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
43707
- }));
43708
- /* eslint-enable */
43709
- };
43710
-
43711
- /* "use client" */
43712
-
43713
- var defaultContext$2 = {
43714
- columns: [],
43715
- updateColumn: function updateColumn() {}
43716
- };
43717
- var TableContext = /*#__PURE__*/React$1.createContext(defaultContext$2);
43718
- var useTableContext = function useTableContext() {
43719
- return React$1.useContext(TableContext);
43720
- };
43721
-
43722
43633
  function Empty() {
43723
43634
  return /*#__PURE__*/React$1.createElement("svg", {
43724
43635
  xmlns: "http://www.w3.org/2000/svg",
@@ -44293,7 +44204,7 @@ function DataTable(_ref) {
44293
44204
  window.history.back();
44294
44205
  } : _ref$onBack,
44295
44206
  onRefresh = _ref.onRefresh,
44296
- _onFilters = _ref.onFilters,
44207
+ onFilters = _ref.onFilters,
44297
44208
  onSelectedDelete = _ref.onSelectedDelete,
44298
44209
  onSelectedEdit = _ref.onSelectedEdit,
44299
44210
  onSelected = _ref.onSelected,
@@ -44327,31 +44238,30 @@ function DataTable(_ref) {
44327
44238
  _useState2 = _slicedToArray(_useState, 2),
44328
44239
  selected = _useState2[0],
44329
44240
  setSelected = _useState2[1];
44241
+ var _useState3 = React$1.useState({}),
44242
+ _useState4 = _slicedToArray(_useState3, 2),
44243
+ filters = _useState4[0],
44244
+ setFilters = _useState4[1];
44330
44245
  // const [table_filters] = useDebounce(filters, 500);
44331
44246
  // const open = Boolean(anchorEl);
44332
44247
  // const handleMenuOpen = (event: any) => {
44333
44248
  // setAnchorEl(event.currentTarget);
44334
44249
  // };
44335
- var _useState3 = React$1.useState([]),
44336
- _useState4 = _slicedToArray(_useState3, 2),
44337
- hideColumn = _useState4[0],
44338
- setHideColumn = _useState4[1];
44250
+ var _useState5 = React$1.useState([]),
44251
+ _useState6 = _slicedToArray(_useState5, 2),
44252
+ hideColumn = _useState6[0],
44253
+ setHideColumn = _useState6[1];
44339
44254
  // const handleMenuClose = () => {
44340
44255
  // setAnchorEl(null);
44341
44256
  // };
44342
44257
 
44343
- var _useState5 = React$1.useState(false),
44344
- _useState6 = _slicedToArray(_useState5, 2),
44345
- openFilter = _useState6[0],
44346
- setOpenFilter = _useState6[1];
44258
+ var _useState7 = React$1.useState(false),
44259
+ _useState8 = _slicedToArray(_useState7, 2),
44260
+ openFilter = _useState8[0],
44261
+ setOpenFilter = _useState8[1];
44347
44262
  function handleShowFilter() {
44348
44263
  return setOpenFilter(!openFilter);
44349
44264
  }
44350
- React$1.useEffect(function () {
44351
- if (selected.length > 0 && onSelected) {
44352
- onSelected(selected);
44353
- }
44354
- }, [selected]);
44355
44265
  React$1.useEffect(function () {
44356
44266
  cols.forEach(function (col) {
44357
44267
  var _String;
@@ -44423,11 +44333,83 @@ function DataTable(_ref) {
44423
44333
  var dataName = (_String3 = String(col === null || col === void 0 ? void 0 : col.name)) === null || _String3 === void 0 ? void 0 : _String3.replace(' ', '_').toLowerCase();
44424
44334
  return !hideColumn.includes(dataName);
44425
44335
  });
44336
+ var handleFilterChange = function handleFilterChange(name, value) {
44337
+ setFilters(function (prevFilters) {
44338
+ var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
44339
+ return updatedFilters;
44340
+ });
44341
+ };
44342
+ var generateFilterInputs = function generateFilterInputs() {
44343
+ return COLUMNS.map(function (col) {
44344
+ var _String4, _filters$filterName;
44345
+ var Header = col.name,
44346
+ accessor = col.filter,
44347
+ options = col.options;
44348
+ var filterName = (_String4 = String(col === null || col === void 0 ? void 0 : col.name)) === null || _String4 === void 0 ? void 0 : _String4.replace(' ', '_').toLowerCase();
44349
+ var unq_accessor = _.uniqueId(filterName);
44350
+ // if (Header === 'actions') {
44351
+ // return (
44352
+ // <th style={{ margin: '3px' }} data-column={Header} key={unq_accessor}>
44353
+ // <Button onClick={applyFilters} auto px={0.6} scale={2 / 3}>Apply</Button>
44354
+ // </th>
44355
+ // )
44356
+ // }
44357
+ return /*#__PURE__*/React$1.createElement("div", {
44358
+ style: {
44359
+ padding: '3px'
44360
+ },
44361
+ "data-column": Header,
44362
+ key: unq_accessor
44363
+ }, accessor === 'fixed' && /*#__PURE__*/React$1.createElement(Select
44364
+ // key={unq_accessor}
44365
+ // name={filterName}
44366
+ , {
44367
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== void 0 ? _filters$filterName : 'All',
44368
+ onChange: function onChange(newValue) {
44369
+ return handleFilterChange(filterName, newValue);
44370
+ }
44371
+ }, /*#__PURE__*/React$1.createElement(Select.Option, {
44372
+ value: "All"
44373
+ }, "All ", Header), options ? options.map(function (option) {
44374
+ return /*#__PURE__*/React$1.createElement(Select.Option, {
44375
+ value: option.value
44376
+ }, option.name);
44377
+ }) : null), accessor === 'date' && /*#__PURE__*/React$1.createElement(Input
44378
+ // id={`filter-date-${filterName}`}
44379
+ , {
44380
+ htmlType: "date"
44381
+ // name={filterName}
44382
+ ,
44383
+ value: filters[filterName],
44384
+ onChange: function onChange(e) {
44385
+ return handleFilterChange(filterName, e.target.value);
44386
+ }
44387
+ }), accessor === 'search' && /*#__PURE__*/React$1.createElement(Input
44388
+ // id={`filter-search-${filterName}`}
44389
+ , {
44390
+ htmlType: "text",
44391
+ autoComplete: "off"
44392
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
44393
+ // name={filterName}
44394
+ ,
44395
+ style: {
44396
+ height: 30,
44397
+ minWidth: 160
44398
+ },
44399
+ value: filters[filterName],
44400
+ onChange: function onChange(e) {
44401
+ return handleFilterChange(filterName, e.target.value);
44402
+ },
44403
+ placeholder: "Search...",
44404
+ fullWidth: true
44405
+ }));
44406
+ });
44407
+ };
44426
44408
  var content = function content() {
44427
44409
  return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, cols.map(function (option, index) {
44428
- var _String4;
44410
+ var _String5;
44429
44411
  var colunqid = _.uniqueId("".concat(option.name, "-").concat(index));
44430
- var dataName = (_String4 = String(option.name)) === null || _String4 === void 0 ? void 0 : _String4.replace(' ', '_').toLowerCase();
44412
+ var dataName = (_String5 = String(option.name)) === null || _String5 === void 0 ? void 0 : _String5.replace(' ', '_').toLowerCase();
44431
44413
  var isSelected = !hideColumn.includes(dataName);
44432
44414
  return /*#__PURE__*/React$1.createElement(Popover.Item, {
44433
44415
  selected: isSelected,
@@ -44474,7 +44456,7 @@ function DataTable(_ref) {
44474
44456
  },
44475
44457
  justify: "flex-end",
44476
44458
  alignContent: "center"
44477
- }, menu, !children && !readOnly ? /*#__PURE__*/React$1.createElement(React$1.Fragment, null, onSelected && onSelected, onSelectedEdit && selected.length === 1 ? /*#__PURE__*/React$1.createElement(Tooltip, {
44459
+ }, menu, !children && !readOnly ? /*#__PURE__*/React$1.createElement(React$1.Fragment, null, selected.length > 0 && onSelected ? onSelected(selected) : null, onSelectedEdit && selected.length === 1 ? /*#__PURE__*/React$1.createElement(Tooltip, {
44478
44460
  text: "Edit Selected",
44479
44461
  placement: "bottom",
44480
44462
  font: 0.8,
@@ -44522,7 +44504,7 @@ function DataTable(_ref) {
44522
44504
  scale: 2 / 3,
44523
44505
  px: 0.6,
44524
44506
  iconRight: /*#__PURE__*/React$1.createElement(Refresh$1, null)
44525
- })) : null, _onFilters && filter ? /*#__PURE__*/React$1.createElement(Tooltip, {
44507
+ })) : null, onFilters && filter ? /*#__PURE__*/React$1.createElement(Tooltip, {
44526
44508
  text: "Filters",
44527
44509
  placement: "bottomEnd",
44528
44510
  font: 0.8,
@@ -44564,15 +44546,22 @@ function DataTable(_ref) {
44564
44546
  display: 'flex',
44565
44547
  flexDirection: sideMenu ? 'row' : 'column'
44566
44548
  }
44567
- }, sideMenu && /*#__PURE__*/React$1.createElement(GridContainer, {
44549
+ }, sideMenu || openFilter ? /*#__PURE__*/React$1.createElement(GridContainer, {
44568
44550
  direction: "column",
44569
44551
  style: {
44570
44552
  width: '15rem',
44553
+ gap: 5,
44571
44554
  padding: '0.5rem 0.7rem',
44572
44555
  border: '1px solid #cfcfcf',
44573
44556
  borderRadius: '5px'
44574
44557
  }
44575
- }, sideMenu), /*#__PURE__*/React$1.createElement("div", {
44558
+ }, openFilter ? /*#__PURE__*/React$1.createElement(React$1.Fragment, null, generateFilterInputs(), /*#__PURE__*/React$1.createElement(Button, {
44559
+ onClick: function onClick() {
44560
+ if (onFilters) {
44561
+ onFilters(filters);
44562
+ }
44563
+ }
44564
+ }, "Apply")) : sideMenu) : null, /*#__PURE__*/React$1.createElement("div", {
44576
44565
  onDragOver: onDragOver,
44577
44566
  onDragEnter: onDragEnter,
44578
44567
  onDragLeave: onDragLeave,
@@ -44607,9 +44596,6 @@ function DataTable(_ref) {
44607
44596
  onSelected: function onSelected(selected) {
44608
44597
  return setSelected(selected);
44609
44598
  },
44610
- onFilters: function onFilters(filters) {
44611
- return _onFilters && _onFilters(filters);
44612
- },
44613
44599
  data: rows,
44614
44600
  style: {
44615
44601
  borderCollapse: 'collapse',
@@ -44848,7 +44834,7 @@ var TableColumn = function TableColumn(columnProps) {
44848
44834
  };
44849
44835
  TableColumn.displayName = 'TableColumn';
44850
44836
 
44851
- var _excluded$9 = ["children", "data", "initialData", "hover", "emptyText", "rowDraggable", "readOnly", "cursorPagination", "previousCursor", "nextCursor", "hasMore", "onNextPage", "onPreviousPage", "onRow", "onCell", "onChange", "onFilters", "onPageChange", "showFilters", "stickyHeader", "onSelected", "dataLength", "viewLength", "className", "rowClassName"];
44837
+ var _excluded$9 = ["children", "data", "initialData", "hover", "emptyText", "rowDraggable", "readOnly", "cursorPagination", "previousCursor", "nextCursor", "hasMore", "onNextPage", "onPreviousPage", "onRow", "onCell", "onChange", "onPageChange", "showFilters", "stickyHeader", "onSelected", "dataLength", "viewLength", "className", "rowClassName"];
44852
44838
  function TableComponent(tableProps) {
44853
44839
  /* eslint-disable @typescript-eslint/no-unused-vars */
44854
44840
  var _ref = tableProps,
@@ -44874,11 +44860,9 @@ function TableComponent(tableProps) {
44874
44860
  onRow = _ref.onRow,
44875
44861
  onCell = _ref.onCell;
44876
44862
  _ref.onChange;
44877
- var onFilters = _ref.onFilters,
44878
- onPageChange = _ref.onPageChange,
44879
- _ref$showFilters = _ref.showFilters,
44880
- showFilters = _ref$showFilters === void 0 ? false : _ref$showFilters,
44881
- _ref$stickyHeader = _ref.stickyHeader,
44863
+ var onPageChange = _ref.onPageChange;
44864
+ _ref.showFilters;
44865
+ var _ref$stickyHeader = _ref.stickyHeader,
44882
44866
  stickyHeader = _ref$stickyHeader === void 0 ? false : _ref$stickyHeader,
44883
44867
  onSelected = _ref.onSelected,
44884
44868
  dataLength = _ref.dataLength,
@@ -44941,15 +44925,6 @@ function TableComponent(tableProps) {
44941
44925
  endIndex: endIndex
44942
44926
  };
44943
44927
  };
44944
- var _useState5 = React$1.useState({}),
44945
- _useState6 = _slicedToArray(_useState5, 2),
44946
- filters = _useState6[0],
44947
- setFilters = _useState6[1];
44948
- React$1.useEffect(function () {
44949
- if (onFilters) {
44950
- onFilters(filters);
44951
- }
44952
- }, [filters]);
44953
44928
  return /*#__PURE__*/React$1.createElement(TableContext.Provider, {
44954
44929
  value: contextValue
44955
44930
  }, /*#__PURE__*/React$1.createElement("table", _extends({
@@ -44959,10 +44934,6 @@ function TableComponent(tableProps) {
44959
44934
  }), /*#__PURE__*/React$1.createElement(TableHead, {
44960
44935
  stickyHeader: stickyHeader,
44961
44936
  columns: columns,
44962
- onFilters: function onFilters(filters) {
44963
- return setFilters(filters);
44964
- },
44965
- showFilters: showFilters,
44966
44937
  width: width
44967
44938
  }), /*#__PURE__*/React$1.createElement(TableBody, {
44968
44939
  data: data,