@helpdice/ui 1.5.6 → 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", {
@@ -26339,9 +26421,8 @@ var TableHead = function TableHead(props) {
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
26423
  }, 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);
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`,
@@ -26363,7 +26444,15 @@ var TableHead = function TableHead(props) {
26363
26444
  },
26364
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]]])
26365
26446
  }, column.text)));
26366
- }))), /*#__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, {
26367
26456
  id: "2156261549",
26368
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]
26369
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;}")));
@@ -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,
@@ -44836,7 +44928,7 @@ var TableColumn = function TableColumn(columnProps) {
44836
44928
  };
44837
44929
  TableColumn.displayName = 'TableColumn';
44838
44930
 
44839
- 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"];
44840
44932
  function TableComponent(tableProps) {
44841
44933
  /* eslint-disable @typescript-eslint/no-unused-vars */
44842
44934
  var _ref = tableProps,
@@ -44862,9 +44954,11 @@ function TableComponent(tableProps) {
44862
44954
  onRow = _ref.onRow,
44863
44955
  onCell = _ref.onCell;
44864
44956
  _ref.onChange;
44865
- var onPageChange = _ref.onPageChange;
44866
- _ref.showFilters;
44867
- 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,
44868
44962
  stickyHeader = _ref$stickyHeader === void 0 ? false : _ref$stickyHeader,
44869
44963
  onSelected = _ref.onSelected,
44870
44964
  dataLength = _ref.dataLength,
@@ -44935,6 +45029,8 @@ function TableComponent(tableProps) {
44935
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 || "")
44936
45030
  }), /*#__PURE__*/React$1.createElement(TableHead, {
44937
45031
  stickyHeader: stickyHeader,
45032
+ onFilters: onFilters,
45033
+ showFilters: showFilters,
44938
45034
  columns: columns,
44939
45035
  width: width
44940
45036
  }), /*#__PURE__*/React$1.createElement(TableBody, {