@helpdice/ui 1.5.1 → 1.5.2

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,123 @@ 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
+ return /*#__PURE__*/React$1.createElement("th", {
26345
+ style: _objectSpread2({
26346
+ // textAlign: `${column?.align} !important`,
26347
+ // paddingLeft: '0.3rem',
26348
+ // paddingRight: '0.3rem',
26349
+ backgroundColor: '#fff',
26350
+ color: "".concat(column !== null && column !== void 0 && column.color ? column === null || column === void 0 ? void 0 : column.color : '#333'),
26351
+ whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
26352
+ }, column === null || column === void 0 ? void 0 : column.style),
26353
+ key: "table-th-".concat(column.prop.toString(), "-").concat(index),
26354
+ "data-column": dataName,
26355
+ 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 || "")
26356
+ }, /*#__PURE__*/React$1.createElement("div", {
26357
+ 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"
26358
+ }, column.label, /*#__PURE__*/React$1.createElement("br", {
26359
+ 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]]])
26360
+ }), /*#__PURE__*/React$1.createElement("span", {
26361
+ style: {
26362
+ textAlign: 'center'
26363
+ },
26364
+ 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]]])
26365
+ }, column.text)));
26366
+ }))), /*#__PURE__*/React$1.createElement(_JSXStyle, {
26367
+ id: "2156261549",
26368
+ 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]
26369
+ }, "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;}")));
26370
+ };
26371
+ TableHead.displayName = 'TableHead';
26372
+
26373
+ var TableCell = function TableCell(_ref) {
26374
+ var columns = _ref.columns,
26375
+ row = _ref.row,
26376
+ rowIndex = _ref.rowIndex,
26377
+ emptyText = _ref.emptyText,
26378
+ onCellClick = _ref.onCellClick;
26379
+ /* eslint-disable react/jsx-no-useless-fragment */
26380
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, columns.map(function (column, index) {
26381
+ var _String;
26382
+ var currentRowValue = row[column.prop];
26383
+ var cellValue = currentRowValue || emptyText;
26384
+ var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
26385
+ var dataName = (_String = String(column === null || column === void 0 ? void 0 : column.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
26386
+ return /*#__PURE__*/React$1.createElement("td", {
26387
+ style: _objectSpread2({
26388
+ fontSize: "".concat(column === null || column === void 0 ? void 0 : column.fontSize),
26389
+ textAlign: "".concat(column === null || column === void 0 ? void 0 : column.align, " !important"),
26390
+ paddingLeft: '0.3rem',
26391
+ paddingRight: '0.3rem',
26392
+ color: "".concat(column === null || column === void 0 ? void 0 : column.color),
26393
+ boxSizing: 'border-box',
26394
+ whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
26395
+ }, currentRowValue === null || currentRowValue === void 0 ? void 0 : currentRowValue.style),
26396
+ "data-column": dataName,
26397
+ key: "row-td-".concat(index, "-").concat(column.prop.toString()),
26398
+ onClick: function onClick() {
26399
+ return onCellClick && onCellClick(currentRowValue, rowIndex, index);
26400
+ },
26401
+ className: column.className
26402
+ }, /*#__PURE__*/React$1.createElement("div", {
26403
+ className: "cell"
26404
+ }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
26405
+ }));
26406
+ /* eslint-enable */
26407
+ };
26408
+
26409
+ /* "use client" */
26410
+
26411
+ var defaultContext$2 = {
26412
+ columns: [],
26413
+ updateColumn: function updateColumn() {}
26414
+ };
26415
+ var TableContext = /*#__PURE__*/React$1.createContext(defaultContext$2);
26416
+ var useTableContext = function useTableContext() {
26417
+ return React$1.useContext(TableContext);
26418
+ };
26419
+
26303
26420
  var lodash$1 = {exports: {}};
26304
26421
 
26305
26422
  /**
@@ -43512,213 +43629,6 @@ function requireLodash () {
43512
43629
  var lodashExports = requireLodash();
43513
43630
  var _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
43514
43631
 
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
43632
  function Empty() {
43723
43633
  return /*#__PURE__*/React$1.createElement("svg", {
43724
43634
  xmlns: "http://www.w3.org/2000/svg",
@@ -44293,7 +44203,7 @@ function DataTable(_ref) {
44293
44203
  window.history.back();
44294
44204
  } : _ref$onBack,
44295
44205
  onRefresh = _ref.onRefresh,
44296
- _onFilters = _ref.onFilters,
44206
+ onFilters = _ref.onFilters,
44297
44207
  onSelectedDelete = _ref.onSelectedDelete,
44298
44208
  onSelectedEdit = _ref.onSelectedEdit,
44299
44209
  onSelected = _ref.onSelected,
@@ -44327,31 +44237,30 @@ function DataTable(_ref) {
44327
44237
  _useState2 = _slicedToArray(_useState, 2),
44328
44238
  selected = _useState2[0],
44329
44239
  setSelected = _useState2[1];
44240
+ var _useState3 = React$1.useState({}),
44241
+ _useState4 = _slicedToArray(_useState3, 2),
44242
+ filters = _useState4[0],
44243
+ setFilters = _useState4[1];
44330
44244
  // const [table_filters] = useDebounce(filters, 500);
44331
44245
  // const open = Boolean(anchorEl);
44332
44246
  // const handleMenuOpen = (event: any) => {
44333
44247
  // setAnchorEl(event.currentTarget);
44334
44248
  // };
44335
- var _useState3 = React$1.useState([]),
44336
- _useState4 = _slicedToArray(_useState3, 2),
44337
- hideColumn = _useState4[0],
44338
- setHideColumn = _useState4[1];
44249
+ var _useState5 = React$1.useState([]),
44250
+ _useState6 = _slicedToArray(_useState5, 2),
44251
+ hideColumn = _useState6[0],
44252
+ setHideColumn = _useState6[1];
44339
44253
  // const handleMenuClose = () => {
44340
44254
  // setAnchorEl(null);
44341
44255
  // };
44342
44256
 
44343
- var _useState5 = React$1.useState(false),
44344
- _useState6 = _slicedToArray(_useState5, 2),
44345
- openFilter = _useState6[0],
44346
- setOpenFilter = _useState6[1];
44257
+ var _useState7 = React$1.useState(false),
44258
+ _useState8 = _slicedToArray(_useState7, 2),
44259
+ openFilter = _useState8[0],
44260
+ setOpenFilter = _useState8[1];
44347
44261
  function handleShowFilter() {
44348
44262
  return setOpenFilter(!openFilter);
44349
44263
  }
44350
- React$1.useEffect(function () {
44351
- if (selected.length > 0 && onSelected) {
44352
- onSelected(selected);
44353
- }
44354
- }, [selected]);
44355
44264
  React$1.useEffect(function () {
44356
44265
  cols.forEach(function (col) {
44357
44266
  var _String;
@@ -44423,11 +44332,86 @@ function DataTable(_ref) {
44423
44332
  var dataName = (_String3 = String(col === null || col === void 0 ? void 0 : col.name)) === null || _String3 === void 0 ? void 0 : _String3.replace(' ', '_').toLowerCase();
44424
44333
  return !hideColumn.includes(dataName);
44425
44334
  });
44335
+ var handleFilterChange = function handleFilterChange(name, value) {
44336
+ setFilters(function (prevFilters) {
44337
+ var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
44338
+ if (onFilters) {
44339
+ onFilters(updatedFilters);
44340
+ }
44341
+ return updatedFilters;
44342
+ });
44343
+ };
44344
+ var generateFilterInputs = function generateFilterInputs() {
44345
+ return COLUMNS.map(function (col) {
44346
+ var _String4, _filters$filterName;
44347
+ var Header = col.label,
44348
+ accessor = col.filter,
44349
+ options = col.options;
44350
+ var filterName = (_String4 = String(col === null || col === void 0 ? void 0 : col.label)) === null || _String4 === void 0 ? void 0 : _String4.replace(' ', '_').toLowerCase();
44351
+ var unq_accessor = _.uniqueId(filterName);
44352
+ // if (Header === 'actions') {
44353
+ // return (
44354
+ // <th style={{ margin: '3px' }} data-column={Header} key={unq_accessor}>
44355
+ // <Button onClick={applyFilters} auto px={0.6} scale={2 / 3}>Apply</Button>
44356
+ // </th>
44357
+ // )
44358
+ // }
44359
+ return /*#__PURE__*/React$1.createElement("div", {
44360
+ style: {
44361
+ padding: '3px'
44362
+ },
44363
+ "data-column": Header,
44364
+ key: unq_accessor
44365
+ }, accessor === 'fixed' && /*#__PURE__*/React$1.createElement(Select
44366
+ // key={unq_accessor}
44367
+ // name={filterName}
44368
+ , {
44369
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== void 0 ? _filters$filterName : 'All',
44370
+ onChange: function onChange(newValue) {
44371
+ return handleFilterChange(filterName, newValue);
44372
+ }
44373
+ }, /*#__PURE__*/React$1.createElement(Select.Option, {
44374
+ value: "All"
44375
+ }, "All ", Header), options ? options.map(function (option) {
44376
+ return /*#__PURE__*/React$1.createElement(Select.Option, {
44377
+ value: option.value
44378
+ }, option.name);
44379
+ }) : null), accessor === 'date' && /*#__PURE__*/React$1.createElement(Input
44380
+ // id={`filter-date-${filterName}`}
44381
+ , {
44382
+ htmlType: "date"
44383
+ // name={filterName}
44384
+ ,
44385
+ value: filters[filterName],
44386
+ onChange: function onChange(e) {
44387
+ return handleFilterChange(filterName, e.target.value);
44388
+ }
44389
+ }), accessor === 'search' && /*#__PURE__*/React$1.createElement(Input
44390
+ // id={`filter-search-${filterName}`}
44391
+ , {
44392
+ htmlType: "text",
44393
+ autoComplete: "off"
44394
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
44395
+ // name={filterName}
44396
+ ,
44397
+ style: {
44398
+ height: 30,
44399
+ minWidth: 160
44400
+ },
44401
+ value: filters[filterName],
44402
+ onChange: function onChange(e) {
44403
+ return handleFilterChange(filterName, e.target.value);
44404
+ },
44405
+ placeholder: "Search...",
44406
+ fullWidth: true
44407
+ }));
44408
+ });
44409
+ };
44426
44410
  var content = function content() {
44427
44411
  return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, cols.map(function (option, index) {
44428
- var _String4;
44412
+ var _String5;
44429
44413
  var colunqid = _.uniqueId("".concat(option.name, "-").concat(index));
44430
- var dataName = (_String4 = String(option.name)) === null || _String4 === void 0 ? void 0 : _String4.replace(' ', '_').toLowerCase();
44414
+ var dataName = (_String5 = String(option.name)) === null || _String5 === void 0 ? void 0 : _String5.replace(' ', '_').toLowerCase();
44431
44415
  var isSelected = !hideColumn.includes(dataName);
44432
44416
  return /*#__PURE__*/React$1.createElement(Popover.Item, {
44433
44417
  selected: isSelected,
@@ -44474,7 +44458,7 @@ function DataTable(_ref) {
44474
44458
  },
44475
44459
  justify: "flex-end",
44476
44460
  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, {
44461
+ }, 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
44462
  text: "Edit Selected",
44479
44463
  placement: "bottom",
44480
44464
  font: 0.8,
@@ -44522,7 +44506,7 @@ function DataTable(_ref) {
44522
44506
  scale: 2 / 3,
44523
44507
  px: 0.6,
44524
44508
  iconRight: /*#__PURE__*/React$1.createElement(Refresh$1, null)
44525
- })) : null, _onFilters && filter ? /*#__PURE__*/React$1.createElement(Tooltip, {
44509
+ })) : null, onFilters && filter ? /*#__PURE__*/React$1.createElement(Tooltip, {
44526
44510
  text: "Filters",
44527
44511
  placement: "bottomEnd",
44528
44512
  font: 0.8,
@@ -44564,7 +44548,7 @@ function DataTable(_ref) {
44564
44548
  display: 'flex',
44565
44549
  flexDirection: sideMenu ? 'row' : 'column'
44566
44550
  }
44567
- }, sideMenu && /*#__PURE__*/React$1.createElement(GridContainer, {
44551
+ }, sideMenu || openFilter ? /*#__PURE__*/React$1.createElement(GridContainer, {
44568
44552
  direction: "column",
44569
44553
  style: {
44570
44554
  width: '15rem',
@@ -44572,7 +44556,7 @@ function DataTable(_ref) {
44572
44556
  border: '1px solid #cfcfcf',
44573
44557
  borderRadius: '5px'
44574
44558
  }
44575
- }, sideMenu), /*#__PURE__*/React$1.createElement("div", {
44559
+ }, openFilter ? generateFilterInputs() : sideMenu) : null, /*#__PURE__*/React$1.createElement("div", {
44576
44560
  onDragOver: onDragOver,
44577
44561
  onDragEnter: onDragEnter,
44578
44562
  onDragLeave: onDragLeave,
@@ -44607,9 +44591,6 @@ function DataTable(_ref) {
44607
44591
  onSelected: function onSelected(selected) {
44608
44592
  return setSelected(selected);
44609
44593
  },
44610
- onFilters: function onFilters(filters) {
44611
- return _onFilters && _onFilters(filters);
44612
- },
44613
44594
  data: rows,
44614
44595
  style: {
44615
44596
  borderCollapse: 'collapse',
@@ -44848,7 +44829,7 @@ var TableColumn = function TableColumn(columnProps) {
44848
44829
  };
44849
44830
  TableColumn.displayName = 'TableColumn';
44850
44831
 
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"];
44832
+ 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
44833
  function TableComponent(tableProps) {
44853
44834
  /* eslint-disable @typescript-eslint/no-unused-vars */
44854
44835
  var _ref = tableProps,
@@ -44874,11 +44855,9 @@ function TableComponent(tableProps) {
44874
44855
  onRow = _ref.onRow,
44875
44856
  onCell = _ref.onCell;
44876
44857
  _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,
44858
+ var onPageChange = _ref.onPageChange;
44859
+ _ref.showFilters;
44860
+ var _ref$stickyHeader = _ref.stickyHeader,
44882
44861
  stickyHeader = _ref$stickyHeader === void 0 ? false : _ref$stickyHeader,
44883
44862
  onSelected = _ref.onSelected,
44884
44863
  dataLength = _ref.dataLength,
@@ -44941,15 +44920,6 @@ function TableComponent(tableProps) {
44941
44920
  endIndex: endIndex
44942
44921
  };
44943
44922
  };
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
44923
  return /*#__PURE__*/React$1.createElement(TableContext.Provider, {
44954
44924
  value: contextValue
44955
44925
  }, /*#__PURE__*/React$1.createElement("table", _extends({
@@ -44959,10 +44929,6 @@ function TableComponent(tableProps) {
44959
44929
  }), /*#__PURE__*/React$1.createElement(TableHead, {
44960
44930
  stickyHeader: stickyHeader,
44961
44931
  columns: columns,
44962
- onFilters: function onFilters(filters) {
44963
- return setFilters(filters);
44964
- },
44965
- showFilters: showFilters,
44966
44932
  width: width
44967
44933
  }), /*#__PURE__*/React$1.createElement(TableBody, {
44968
44934
  data: data,