@helpdice/ui 1.5.5 → 1.5.8

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
@@ -26318,9 +26318,15 @@ var makeColgroup = function makeColgroup(width, columns) {
26318
26318
  };
26319
26319
  var TableHead = function TableHead(props) {
26320
26320
  var theme = useTheme();
26321
+ var _React$useState = React$1.useState({}),
26322
+ _React$useState2 = _slicedToArray(_React$useState, 2),
26323
+ filters = _React$useState2[0],
26324
+ setFilters = _React$useState2[1];
26321
26325
  var _ref = props,
26322
26326
  columns = _ref.columns,
26323
26327
  width = _ref.width,
26328
+ onFilters = _ref.onFilters,
26329
+ showFilters = _ref.showFilters,
26324
26330
  stickyHeader = _ref.stickyHeader;
26325
26331
  var isScalableWidth = React$1.useMemo(function () {
26326
26332
  return columns.find(function (item) {
@@ -26331,6 +26337,82 @@ var TableHead = function TableHead(props) {
26331
26337
  if (!isScalableWidth) return /*#__PURE__*/React$1.createElement("colgroup", null);
26332
26338
  return makeColgroup(width, columns);
26333
26339
  }, [isScalableWidth, width]);
26340
+ var handleFilterChange = function handleFilterChange(name, value) {
26341
+ setFilters(function (prevFilters) {
26342
+ var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
26343
+ return updatedFilters;
26344
+ });
26345
+ };
26346
+ var applyFilters = function applyFilters() {
26347
+ if (onFilters) {
26348
+ onFilters(filters);
26349
+ }
26350
+ };
26351
+ var generateFilterInputs = function generateFilterInputs() {
26352
+ return columns.map(function (col) {
26353
+ var _String, _filters$filterName;
26354
+ var Header = col.label,
26355
+ accessor = col.filter,
26356
+ options = col.options;
26357
+ var filterName = (_String = String(col === null || col === void 0 ? void 0 : col.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
26358
+ // const unq_accessor = _.uniqueId(filterName);
26359
+ // if (Header === 'actions') {
26360
+ // return (
26361
+ // <th style={{ margin: '3px' }} data-column={Header} key={unq_accessor}>
26362
+ // <Button onClick={applyFilters} auto px={0.6} scale={2 / 3}>Apply</Button>
26363
+ // </th>
26364
+ // )
26365
+ // }
26366
+ return /*#__PURE__*/React$1.createElement("th", {
26367
+ style: {
26368
+ padding: '3px'
26369
+ },
26370
+ "data-column": Header
26371
+ }, accessor === 'fixed' && /*#__PURE__*/React$1.createElement(Select
26372
+ // key={unq_accessor}
26373
+ // name={filterName}
26374
+ , {
26375
+ value: (_filters$filterName = filters[filterName]) !== null && _filters$filterName !== void 0 ? _filters$filterName : 'All',
26376
+ onChange: function onChange(newValue) {
26377
+ return handleFilterChange(filterName, newValue);
26378
+ }
26379
+ }, /*#__PURE__*/React$1.createElement(Select.Option, {
26380
+ value: "All"
26381
+ }, "All ", Header), options ? options.map(function (option) {
26382
+ return /*#__PURE__*/React$1.createElement(Select.Option, {
26383
+ value: option.value
26384
+ }, option.name);
26385
+ }) : null), accessor === 'date' && /*#__PURE__*/React$1.createElement(Input
26386
+ // id={`filter-date-${filterName}`}
26387
+ , {
26388
+ htmlType: "date"
26389
+ // name={filterName}
26390
+ ,
26391
+ value: filters[filterName],
26392
+ onChange: function onChange(e) {
26393
+ return handleFilterChange(filterName, e.target.value);
26394
+ }
26395
+ }), accessor === 'search' && /*#__PURE__*/React$1.createElement(Input
26396
+ // id={`filter-search-${filterName}`}
26397
+ , {
26398
+ htmlType: "text",
26399
+ autoComplete: "off"
26400
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
26401
+ // name={filterName}
26402
+ ,
26403
+ style: {
26404
+ height: 30,
26405
+ minWidth: 160
26406
+ },
26407
+ value: filters[filterName],
26408
+ onChange: function onChange(e) {
26409
+ return handleFilterChange(filterName, e.target.value);
26410
+ },
26411
+ placeholder: "Search...",
26412
+ fullWidth: true
26413
+ }));
26414
+ });
26415
+ };
26334
26416
  return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, colgroup, /*#__PURE__*/React$1.createElement("thead", {
26335
26417
  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
26418
  }, /*#__PURE__*/React$1.createElement("tr", {
@@ -26338,10 +26420,9 @@ var TableHead = function TableHead(props) {
26338
26420
  backgroundColor: '#fff'
26339
26421
  },
26340
26422
  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);
26423
+ }, columns.map(function (column, _index) {
26424
+ var _String2;
26425
+ var dataName = (_String2 = String(column === null || column === void 0 ? void 0 : column.label)) === null || _String2 === void 0 ? void 0 : _String2.replace(' ', '_').toLowerCase();
26345
26426
  return /*#__PURE__*/React$1.createElement("th", {
26346
26427
  style: _objectSpread2({
26347
26428
  // textAlign: `${column?.align} !important`,
@@ -26351,7 +26432,6 @@ var TableHead = function TableHead(props) {
26351
26432
  color: "".concat(column !== null && column !== void 0 && column.color ? column === null || column === void 0 ? void 0 : column.color : '#333'),
26352
26433
  whiteSpace: column !== null && column !== void 0 && column.noWrap ? 'nowrap' : 'normal'
26353
26434
  }, column === null || column === void 0 ? void 0 : column.style),
26354
- key: "table-th-".concat(column.prop.toString(), "-").concat(index),
26355
26435
  "data-column": dataName,
26356
26436
  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
26437
  }, /*#__PURE__*/React$1.createElement("div", {
@@ -26364,7 +26444,15 @@ var TableHead = function TableHead(props) {
26364
26444
  },
26365
26445
  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
26446
  }, column.text)));
26367
- }))), /*#__PURE__*/React$1.createElement(_JSXStyle, {
26447
+ })), showFilters && /*#__PURE__*/React$1.createElement("tr", {
26448
+ 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]]])
26449
+ }, generateFilterInputs(), /*#__PURE__*/React$1.createElement("th", {
26450
+ 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]]])
26451
+ }, /*#__PURE__*/React$1.createElement(Button, {
26452
+ onClick: function onClick() {
26453
+ return applyFilters();
26454
+ }
26455
+ }, "Apply")))), /*#__PURE__*/React$1.createElement(_JSXStyle, {
26368
26456
  id: "2156261549",
26369
26457
  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
26458
  }, "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;}")));
@@ -44341,7 +44429,7 @@ function DataTable(_ref) {
44341
44429
  accessor = col.filter,
44342
44430
  options = col.options;
44343
44431
  var filterName = (_String4 = String(col === null || col === void 0 ? void 0 : col.name)) === null || _String4 === void 0 ? void 0 : _String4.replace(' ', '_').toLowerCase();
44344
- var unq_accessor = _.uniqueId(filterName);
44432
+ // const unq_accessor = _.uniqueId(filterName);
44345
44433
  // if (Header === 'actions') {
44346
44434
  // return (
44347
44435
  // <th style={{ margin: '3px' }} data-column={Header} key={unq_accessor}>
@@ -44353,10 +44441,10 @@ function DataTable(_ref) {
44353
44441
  style: {
44354
44442
  padding: '3px'
44355
44443
  },
44356
- "data-column": Header,
44357
- key: unq_accessor
44358
- }, accessor === 'fixed' && /*#__PURE__*/React$1.createElement(Select, {
44359
- key: filterName,
44444
+ "data-column": Header
44445
+ }, accessor === 'fixed' && /*#__PURE__*/React$1.createElement(Select
44446
+ // key={filterName}
44447
+ , {
44360
44448
  name: filterName,
44361
44449
  value: (_filterValues$filterN = filterValues[filterName]) !== null && _filterValues$filterN !== void 0 ? _filterValues$filterN : 'All',
44362
44450
  onChange: function onChange(newValue) {
@@ -44370,8 +44458,8 @@ function DataTable(_ref) {
44370
44458
  }, option.name);
44371
44459
  }) : null), accessor === 'date' && /*#__PURE__*/React$1.createElement(Input
44372
44460
  // id={`filter-date-${filterName}`}
44461
+ // key={filterName}
44373
44462
  , {
44374
- key: filterName,
44375
44463
  htmlType: "date",
44376
44464
  name: filterName,
44377
44465
  value: filterValues[filterName],
@@ -44380,8 +44468,8 @@ function DataTable(_ref) {
44380
44468
  }
44381
44469
  }), accessor === 'search' && /*#__PURE__*/React$1.createElement(Input
44382
44470
  // id={`filter-search-${filterName}`}
44471
+ // key={filterName}
44383
44472
  , {
44384
- key: filterName,
44385
44473
  htmlType: "text",
44386
44474
  autoComplete: "off"
44387
44475
  // ref={filterRefs.current[filterName]} // Dynamically set ref}
@@ -44401,14 +44489,15 @@ function DataTable(_ref) {
44401
44489
  });
44402
44490
  };
44403
44491
  var content = function content() {
44404
- return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, cols.map(function (option, index) {
44492
+ return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, cols.map(function (option, _index) {
44405
44493
  var _String5;
44406
- var colunqid = _.uniqueId("".concat(option.name, "-").concat(index));
44494
+ // const colunqid = _.uniqueId(`${option.name}-${index}`);
44407
44495
  var dataName = (_String5 = String(option.name)) === null || _String5 === void 0 ? void 0 : _String5.replace(' ', '_').toLowerCase();
44408
44496
  var isSelected = !hideColumn.includes(dataName);
44409
44497
  return /*#__PURE__*/React$1.createElement(Popover.Item, {
44410
- selected: isSelected,
44411
- key: colunqid,
44498
+ selected: isSelected
44499
+ // key={colunqid}
44500
+ ,
44412
44501
  onClick: function onClick(e) {
44413
44502
  return handleHideColumnClick(e, option.name);
44414
44503
  }
@@ -44508,18 +44597,18 @@ function DataTable(_ref) {
44508
44597
  scale: 2 / 3,
44509
44598
  px: 0.6,
44510
44599
  iconRight: /*#__PURE__*/React$1.createElement(Refresh$1, null)
44511
- })) : null, onFilters && filter ? /*#__PURE__*/React$1.createElement(Tooltip, {
44600
+ })) : null, onFilters && filter ? /*#__PURE__*/React$1.createElement(Popover, {
44601
+ hideArrow: true,
44602
+ disableItemsAutoClose: true,
44603
+ placement: "bottomEnd",
44604
+ child: filterContent
44605
+ }, /*#__PURE__*/React$1.createElement(Tooltip, {
44512
44606
  text: "Filters",
44513
44607
  placement: "bottomEnd",
44514
44608
  font: 0.8,
44515
44609
  px: 0.6,
44516
44610
  py: 0.4,
44517
44611
  type: "dark"
44518
- }, /*#__PURE__*/React$1.createElement(Popover, {
44519
- hideArrow: true,
44520
- disableItemsAutoClose: true,
44521
- placement: "bottomEnd",
44522
- child: filterContent
44523
44612
  }, /*#__PURE__*/React$1.createElement(Button, {
44524
44613
  htmlType: "button",
44525
44614
  onClick: handleShowFilter,
@@ -44593,6 +44682,9 @@ function DataTable(_ref) {
44593
44682
  _onPageChange(page, start, end);
44594
44683
  }
44595
44684
  },
44685
+ onFilters: function onFilters(filters) {
44686
+ console.log(filters);
44687
+ },
44596
44688
  onRow: onRowClick,
44597
44689
  rowDraggable: rowDraggable,
44598
44690
  showFilters: openFilter,
@@ -44604,12 +44696,11 @@ function DataTable(_ref) {
44604
44696
  borderCollapse: 'collapse',
44605
44697
  overflow: 'auto'
44606
44698
  }
44607
- }, COLUMNS.map(function (column, index) {
44699
+ }, COLUMNS.map(function (column) {
44608
44700
  return /*#__PURE__*/React$1.createElement(Table.Column, {
44609
44701
  style: column === null || column === void 0 ? void 0 : column.style,
44610
44702
  options: column === null || column === void 0 ? void 0 : column.options,
44611
44703
  fontSize: column === null || column === void 0 ? void 0 : column.fontSize,
44612
- key: "".concat(column.id, "-").concat(index),
44613
44704
  prop: column.id,
44614
44705
  label: column.name,
44615
44706
  filter: column === null || column === void 0 ? void 0 : column.filter,
@@ -44837,7 +44928,7 @@ var TableColumn = function TableColumn(columnProps) {
44837
44928
  };
44838
44929
  TableColumn.displayName = 'TableColumn';
44839
44930
 
44840
- 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"];
44931
+ 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"];
44841
44932
  function TableComponent(tableProps) {
44842
44933
  /* eslint-disable @typescript-eslint/no-unused-vars */
44843
44934
  var _ref = tableProps,
@@ -44863,9 +44954,11 @@ function TableComponent(tableProps) {
44863
44954
  onRow = _ref.onRow,
44864
44955
  onCell = _ref.onCell;
44865
44956
  _ref.onChange;
44866
- var onPageChange = _ref.onPageChange;
44867
- _ref.showFilters;
44868
- var _ref$stickyHeader = _ref.stickyHeader,
44957
+ var onFilters = _ref.onFilters,
44958
+ onPageChange = _ref.onPageChange,
44959
+ _ref$showFilters = _ref.showFilters,
44960
+ showFilters = _ref$showFilters === void 0 ? false : _ref$showFilters,
44961
+ _ref$stickyHeader = _ref.stickyHeader,
44869
44962
  stickyHeader = _ref$stickyHeader === void 0 ? false : _ref$stickyHeader,
44870
44963
  onSelected = _ref.onSelected,
44871
44964
  dataLength = _ref.dataLength,
@@ -44936,6 +45029,8 @@ function TableComponent(tableProps) {
44936
45029
  className: _JSXStyle.dynamic([["1971279331", [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 || "")
44937
45030
  }), /*#__PURE__*/React$1.createElement(TableHead, {
44938
45031
  stickyHeader: stickyHeader,
45032
+ onFilters: onFilters,
45033
+ showFilters: showFilters,
44939
45034
  columns: columns,
44940
45035
  width: width
44941
45036
  }), /*#__PURE__*/React$1.createElement(TableBody, {