@helpdice/ui 1.1.5 → 1.1.7

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
@@ -24878,167 +24878,6 @@ var SpinnerComponent = function SpinnerComponent(_ref) {
24878
24878
  SpinnerComponent.displayName = 'Spinner';
24879
24879
  var Spinner = withScale(SpinnerComponent);
24880
24880
 
24881
- var makeColgroup = function makeColgroup(width, columns) {
24882
- var unsetWidthCount = columns.filter(function (c) {
24883
- return !c.width;
24884
- }).length;
24885
- var customWidthTotal = columns.reduce(function (pre, current) {
24886
- return current.width ? pre + current.width : pre;
24887
- }, 0);
24888
- var averageWidth = (width - customWidthTotal) / unsetWidthCount;
24889
- if (averageWidth <= 0) return /*#__PURE__*/React.createElement("colgroup", null);
24890
- return /*#__PURE__*/React.createElement("colgroup", null, columns.map(function (column, index) {
24891
- return /*#__PURE__*/React.createElement("col", {
24892
- key: "colgroup-".concat(index),
24893
- width: column.width || averageWidth
24894
- });
24895
- }));
24896
- };
24897
- var TableHead = function TableHead(props) {
24898
- var theme = useTheme();
24899
- var _React$useState = React.useState({}),
24900
- _React$useState2 = _slicedToArray(_React$useState, 2),
24901
- filters = _React$useState2[0],
24902
- setFilters = _React$useState2[1];
24903
- var _ref = props,
24904
- columns = _ref.columns,
24905
- width = _ref.width,
24906
- onFilters = _ref.onFilters;
24907
- var isScalableWidth = React.useMemo(function () {
24908
- return columns.find(function (item) {
24909
- return !!item.width;
24910
- });
24911
- }, [columns]);
24912
- var colgroup = React.useMemo(function () {
24913
- if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
24914
- return makeColgroup(width, columns);
24915
- }, [isScalableWidth, width]);
24916
- var handleFilterChange = function handleFilterChange(e) {
24917
- var _e$target = e.target,
24918
- name = _e$target.name,
24919
- value = _e$target.value;
24920
- setFilters(function (prevFilters) {
24921
- var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
24922
- // Call onFiltersChange to propagate filter changes to the parent
24923
- if (onFilters) {
24924
- onFilters(updatedFilters);
24925
- }
24926
- return updatedFilters;
24927
- });
24928
- };
24929
- var generateFilterInputs = function generateFilterInputs() {
24930
- return columns.map(function (col) {
24931
- var _String;
24932
- var Header = col.label,
24933
- accessor = col.filter;
24934
- var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
24935
- if (accessor === 'fixed') {
24936
- // Dropdown filter for categorical data (category, status)
24937
- return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
24938
- key: accessor,
24939
- name: accessor,
24940
- value: filters[accessor],
24941
- onChange: handleFilterChange
24942
- }, /*#__PURE__*/React.createElement("option", {
24943
- value: ""
24944
- }, "All ", Header)));
24945
- }
24946
- if (accessor === 'date') {
24947
- // Date filter
24948
- return /*#__PURE__*/React.createElement("th", {
24949
- key: accessor
24950
- }, /*#__PURE__*/React.createElement("label", null, Header, " (From):"), /*#__PURE__*/React.createElement("input", {
24951
- type: "date",
24952
- name: "startDate",
24953
- value: filters.startDate,
24954
- onChange: handleFilterChange
24955
- }), /*#__PURE__*/React.createElement("label", null, "To:"), /*#__PURE__*/React.createElement("input", {
24956
- type: "date",
24957
- name: "endDate",
24958
- value: filters.endDate,
24959
- onChange: handleFilterChange
24960
- }));
24961
- }
24962
-
24963
- // Text search filter for other fields (like name)
24964
- return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
24965
- id: "filter-search-".concat(filterName),
24966
- htmlType: "text"
24967
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
24968
- ,
24969
- name: filterName,
24970
- style: {
24971
- height: 30,
24972
- minWidth: 160
24973
- },
24974
- value: filters[filterName],
24975
- onChange: handleFilterChange,
24976
- placeholder: "Search...",
24977
- fullWidth: true
24978
- }));
24979
- });
24980
- };
24981
- return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
24982
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24983
- }, /*#__PURE__*/React.createElement("tr", {
24984
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24985
- }, columns.map(function (column, index) {
24986
- return /*#__PURE__*/React.createElement("th", {
24987
- key: "table-th-".concat(column.prop.toString(), "-").concat(index),
24988
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
24989
- }, /*#__PURE__*/React.createElement("div", {
24990
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
24991
- }, column.label));
24992
- })), /*#__PURE__*/React.createElement("tr", {
24993
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
24994
- }, generateFilterInputs())), /*#__PURE__*/React.createElement(_JSXStyle, {
24995
- id: "134865897",
24996
- dynamic: [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]
24997
- }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;font-size:inherit;}th.__jsx-style-dynamic-selector{padding:0 0.5em;font-size:calc(0.75 * var(--table-font-size));font-weight:normal;text-align:left;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;vertical-align:middle;min-height:calc(2.5 * var(--table-font-size));color:".concat(theme.palette.accents_5, ";background:").concat(theme.palette.accents_1, ";border-bottom:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-radius:0;}th.__jsx-style-dynamic-selector:nth-child(1){border-bottom:1px solid ").concat(theme.palette.border, ";border-left:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}th.__jsx-style-dynamic-selector:last-child{border-bottom:1px solid ").concat(theme.palette.border, ";border-right:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.thead-box.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:center;min-height:calc(2.5 * var(--table-font-size));text-transform:uppercase;}")));
24998
- };
24999
- TableHead.displayName = 'TableHead';
25000
-
25001
- var TableCell = function TableCell(_ref) {
25002
- var columns = _ref.columns,
25003
- row = _ref.row,
25004
- rowIndex = _ref.rowIndex,
25005
- emptyText = _ref.emptyText,
25006
- onCellClick = _ref.onCellClick;
25007
- /* eslint-disable react/jsx-no-useless-fragment */
25008
- return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(function (column, index) {
25009
- var currentRowValue = row[column.prop];
25010
- var cellValue = currentRowValue || emptyText;
25011
- var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
25012
- return /*#__PURE__*/React.createElement("td", {
25013
- style: _objectSpread2({
25014
- textAlign: "".concat(column === null || column === undefined ? undefined : column.align, " !important"),
25015
- p: 0,
25016
- color: "".concat(column === null || column === undefined ? undefined : column.color),
25017
- whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
25018
- }, currentRowValue === null || currentRowValue === undefined ? undefined : currentRowValue.style),
25019
- key: "row-td-".concat(index, "-").concat(column.prop.toString()),
25020
- onClick: function onClick() {
25021
- return onCellClick && onCellClick(currentRowValue, rowIndex, index);
25022
- },
25023
- className: column.className
25024
- }, /*#__PURE__*/React.createElement("div", {
25025
- className: "cell"
25026
- }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
25027
- }));
25028
- /* eslint-enable */
25029
- };
25030
-
25031
- /* "use client" */
25032
-
25033
- var defaultContext$2 = {
25034
- columns: [],
25035
- updateColumn: function updateColumn() {}
25036
- };
25037
- var TableContext = /*#__PURE__*/React.createContext(defaultContext$2);
25038
- var useTableContext = function useTableContext() {
25039
- return React.useContext(TableContext);
25040
- };
25041
-
25042
24881
  var lodash$1 = {exports: {}};
25043
24882
 
25044
24883
  /**
@@ -42251,6 +42090,175 @@ function requireLodash () {
42251
42090
  var lodashExports = requireLodash();
42252
42091
  var _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
42253
42092
 
42093
+ var makeColgroup = function makeColgroup(width, columns) {
42094
+ var unsetWidthCount = columns.filter(function (c) {
42095
+ return !c.width;
42096
+ }).length;
42097
+ var customWidthTotal = columns.reduce(function (pre, current) {
42098
+ return current.width ? pre + current.width : pre;
42099
+ }, 0);
42100
+ var averageWidth = (width - customWidthTotal) / unsetWidthCount;
42101
+ if (averageWidth <= 0) return /*#__PURE__*/React.createElement("colgroup", null);
42102
+ return /*#__PURE__*/React.createElement("colgroup", null, columns.map(function (column, index) {
42103
+ return /*#__PURE__*/React.createElement("col", {
42104
+ key: "colgroup-".concat(index),
42105
+ width: column.width || averageWidth
42106
+ });
42107
+ }));
42108
+ };
42109
+ var TableHead = function TableHead(props) {
42110
+ var theme = useTheme();
42111
+ var _React$useState = React.useState({}),
42112
+ _React$useState2 = _slicedToArray(_React$useState, 2),
42113
+ filters = _React$useState2[0],
42114
+ setFilters = _React$useState2[1];
42115
+ var _ref = props,
42116
+ columns = _ref.columns,
42117
+ width = _ref.width,
42118
+ onFilters = _ref.onFilters;
42119
+ var isScalableWidth = React.useMemo(function () {
42120
+ return columns.find(function (item) {
42121
+ return !!item.width;
42122
+ });
42123
+ }, [columns]);
42124
+ var colgroup = React.useMemo(function () {
42125
+ if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
42126
+ return makeColgroup(width, columns);
42127
+ }, [isScalableWidth, width]);
42128
+ var handleFilterChange = function handleFilterChange(e) {
42129
+ var _e$target = e.target,
42130
+ name = _e$target.name,
42131
+ value = _e$target.value;
42132
+ setFilters(function (prevFilters) {
42133
+ var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty$1({}, name, value));
42134
+ // Call onFiltersChange to propagate filter changes to the parent
42135
+ if (onFilters) {
42136
+ onFilters(updatedFilters);
42137
+ }
42138
+ return updatedFilters;
42139
+ });
42140
+ };
42141
+ var generateFilterInputs = function generateFilterInputs() {
42142
+ return columns.map(function (col) {
42143
+ var _String;
42144
+ var Header = col.label,
42145
+ accessor = col.filter,
42146
+ options = col.options;
42147
+ var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
42148
+ var unq_accessor = _.uniqueId(filterName);
42149
+ if (accessor === 'fixed') {
42150
+ // Dropdown filter for categorical data (category, status)
42151
+ return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
42152
+ key: unq_accessor,
42153
+ name: filterName,
42154
+ value: filters[filterName],
42155
+ onChange: handleFilterChange
42156
+ }, /*#__PURE__*/React.createElement("option", {
42157
+ value: ""
42158
+ }, "All ", Header), options ? options.map(function (option) {
42159
+ return /*#__PURE__*/React.createElement("option", {
42160
+ value: option.value
42161
+ }, option.name);
42162
+ }) : null));
42163
+ }
42164
+ if (accessor === 'date') {
42165
+ // Date filter
42166
+ return /*#__PURE__*/React.createElement("th", {
42167
+ key: unq_accessor
42168
+ }, /*#__PURE__*/React.createElement("input", {
42169
+ type: "date",
42170
+ name: filterName,
42171
+ value: filters[filterName],
42172
+ onChange: handleFilterChange
42173
+ }));
42174
+ }
42175
+
42176
+ // Text search filter for other fields (like name)
42177
+ return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
42178
+ id: "filter-search-".concat(filterName),
42179
+ htmlType: "text"
42180
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
42181
+ ,
42182
+ name: filterName,
42183
+ style: {
42184
+ height: 30,
42185
+ minWidth: 160
42186
+ },
42187
+ value: filters[filterName],
42188
+ onChange: handleFilterChange,
42189
+ placeholder: "Search...",
42190
+ fullWidth: true
42191
+ }));
42192
+ });
42193
+ };
42194
+ return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
42195
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42196
+ }, /*#__PURE__*/React.createElement("tr", {
42197
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42198
+ }, columns.map(function (column, index) {
42199
+ return /*#__PURE__*/React.createElement("th", {
42200
+ key: "table-th-".concat(column.prop.toString(), "-").concat(index),
42201
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
42202
+ }, /*#__PURE__*/React.createElement("div", {
42203
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
42204
+ }, column.label, /*#__PURE__*/React.createElement("br", {
42205
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42206
+ }), /*#__PURE__*/React.createElement("span", {
42207
+ style: {
42208
+ textAlign: 'center'
42209
+ },
42210
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42211
+ }, column.text)));
42212
+ })), /*#__PURE__*/React.createElement("tr", {
42213
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
42214
+ }, generateFilterInputs())), /*#__PURE__*/React.createElement(_JSXStyle, {
42215
+ id: "134865897",
42216
+ dynamic: [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]
42217
+ }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;font-size:inherit;}th.__jsx-style-dynamic-selector{padding:0 0.5em;font-size:calc(0.75 * var(--table-font-size));font-weight:normal;text-align:left;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;vertical-align:middle;min-height:calc(2.5 * var(--table-font-size));color:".concat(theme.palette.accents_5, ";background:").concat(theme.palette.accents_1, ";border-bottom:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-radius:0;}th.__jsx-style-dynamic-selector:nth-child(1){border-bottom:1px solid ").concat(theme.palette.border, ";border-left:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}th.__jsx-style-dynamic-selector:last-child{border-bottom:1px solid ").concat(theme.palette.border, ";border-right:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.thead-box.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:center;min-height:calc(2.5 * var(--table-font-size));text-transform:uppercase;}")));
42218
+ };
42219
+ TableHead.displayName = 'TableHead';
42220
+
42221
+ var TableCell = function TableCell(_ref) {
42222
+ var columns = _ref.columns,
42223
+ row = _ref.row,
42224
+ rowIndex = _ref.rowIndex,
42225
+ emptyText = _ref.emptyText,
42226
+ onCellClick = _ref.onCellClick;
42227
+ /* eslint-disable react/jsx-no-useless-fragment */
42228
+ return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(function (column, index) {
42229
+ var currentRowValue = row[column.prop];
42230
+ var cellValue = currentRowValue || emptyText;
42231
+ var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
42232
+ return /*#__PURE__*/React.createElement("td", {
42233
+ style: _objectSpread2({
42234
+ textAlign: "".concat(column === null || column === undefined ? undefined : column.align, " !important"),
42235
+ p: 0,
42236
+ color: "".concat(column === null || column === undefined ? undefined : column.color),
42237
+ whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
42238
+ }, currentRowValue === null || currentRowValue === undefined ? undefined : currentRowValue.style),
42239
+ key: "row-td-".concat(index, "-").concat(column.prop.toString()),
42240
+ onClick: function onClick() {
42241
+ return onCellClick && onCellClick(currentRowValue, rowIndex, index);
42242
+ },
42243
+ className: column.className
42244
+ }, /*#__PURE__*/React.createElement("div", {
42245
+ className: "cell"
42246
+ }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
42247
+ }));
42248
+ /* eslint-enable */
42249
+ };
42250
+
42251
+ /* "use client" */
42252
+
42253
+ var defaultContext$2 = {
42254
+ columns: [],
42255
+ updateColumn: function updateColumn() {}
42256
+ };
42257
+ var TableContext = /*#__PURE__*/React.createContext(defaultContext$2);
42258
+ var useTableContext = function useTableContext() {
42259
+ return React.useContext(TableContext);
42260
+ };
42261
+
42254
42262
  var TableBody = function TableBody(_ref) {
42255
42263
  var data = _ref.data,
42256
42264
  hover = _ref.hover,
@@ -42306,6 +42314,7 @@ var TableBody = function TableBody(_ref) {
42306
42314
  return col.id;
42307
42315
  }).includes(ky);
42308
42316
  });
42317
+ console.log(frow);
42309
42318
  var isRowSelected = selected.indexOf(row) !== -1;
42310
42319
  return /*#__PURE__*/React.createElement("tr", {
42311
42320
  draggable: rowDraggable,
@@ -1645,167 +1645,6 @@ var InputPassword = withScale(InputPasswordComponent);
1645
1645
  Input.Textarea = Textarea;
1646
1646
  Input.Password = InputPassword;
1647
1647
 
1648
- var makeColgroup = function makeColgroup(width, columns) {
1649
- var unsetWidthCount = columns.filter(function (c) {
1650
- return !c.width;
1651
- }).length;
1652
- var customWidthTotal = columns.reduce(function (pre, current) {
1653
- return current.width ? pre + current.width : pre;
1654
- }, 0);
1655
- var averageWidth = (width - customWidthTotal) / unsetWidthCount;
1656
- if (averageWidth <= 0) return /*#__PURE__*/React.createElement("colgroup", null);
1657
- return /*#__PURE__*/React.createElement("colgroup", null, columns.map(function (column, index) {
1658
- return /*#__PURE__*/React.createElement("col", {
1659
- key: "colgroup-".concat(index),
1660
- width: column.width || averageWidth
1661
- });
1662
- }));
1663
- };
1664
- var TableHead = function TableHead(props) {
1665
- var theme = useTheme();
1666
- var _React$useState = React.useState({}),
1667
- _React$useState2 = _slicedToArray(_React$useState, 2),
1668
- filters = _React$useState2[0],
1669
- setFilters = _React$useState2[1];
1670
- var _ref = props,
1671
- columns = _ref.columns,
1672
- width = _ref.width,
1673
- onFilters = _ref.onFilters;
1674
- var isScalableWidth = React.useMemo(function () {
1675
- return columns.find(function (item) {
1676
- return !!item.width;
1677
- });
1678
- }, [columns]);
1679
- var colgroup = React.useMemo(function () {
1680
- if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
1681
- return makeColgroup(width, columns);
1682
- }, [isScalableWidth, width]);
1683
- var handleFilterChange = function handleFilterChange(e) {
1684
- var _e$target = e.target,
1685
- name = _e$target.name,
1686
- value = _e$target.value;
1687
- setFilters(function (prevFilters) {
1688
- var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty({}, name, value));
1689
- // Call onFiltersChange to propagate filter changes to the parent
1690
- if (onFilters) {
1691
- onFilters(updatedFilters);
1692
- }
1693
- return updatedFilters;
1694
- });
1695
- };
1696
- var generateFilterInputs = function generateFilterInputs() {
1697
- return columns.map(function (col) {
1698
- var _String;
1699
- var Header = col.label,
1700
- accessor = col.filter;
1701
- var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
1702
- if (accessor === 'fixed') {
1703
- // Dropdown filter for categorical data (category, status)
1704
- return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
1705
- key: accessor,
1706
- name: accessor,
1707
- value: filters[accessor],
1708
- onChange: handleFilterChange
1709
- }, /*#__PURE__*/React.createElement("option", {
1710
- value: ""
1711
- }, "All ", Header)));
1712
- }
1713
- if (accessor === 'date') {
1714
- // Date filter
1715
- return /*#__PURE__*/React.createElement("th", {
1716
- key: accessor
1717
- }, /*#__PURE__*/React.createElement("label", null, Header, " (From):"), /*#__PURE__*/React.createElement("input", {
1718
- type: "date",
1719
- name: "startDate",
1720
- value: filters.startDate,
1721
- onChange: handleFilterChange
1722
- }), /*#__PURE__*/React.createElement("label", null, "To:"), /*#__PURE__*/React.createElement("input", {
1723
- type: "date",
1724
- name: "endDate",
1725
- value: filters.endDate,
1726
- onChange: handleFilterChange
1727
- }));
1728
- }
1729
-
1730
- // Text search filter for other fields (like name)
1731
- return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
1732
- id: "filter-search-".concat(filterName),
1733
- htmlType: "text"
1734
- // ref={filterRefs.current[filterName]} // Dynamically set ref}
1735
- ,
1736
- name: filterName,
1737
- style: {
1738
- height: 30,
1739
- minWidth: 160
1740
- },
1741
- value: filters[filterName],
1742
- onChange: handleFilterChange,
1743
- placeholder: "Search...",
1744
- fullWidth: true
1745
- }));
1746
- });
1747
- };
1748
- return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
1749
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
1750
- }, /*#__PURE__*/React.createElement("tr", {
1751
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
1752
- }, columns.map(function (column, index) {
1753
- return /*#__PURE__*/React.createElement("th", {
1754
- key: "table-th-".concat(column.prop.toString(), "-").concat(index),
1755
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
1756
- }, /*#__PURE__*/React.createElement("div", {
1757
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
1758
- }, column.label));
1759
- })), /*#__PURE__*/React.createElement("tr", {
1760
- className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
1761
- }, generateFilterInputs())), /*#__PURE__*/React.createElement(_JSXStyle, {
1762
- id: "134865897",
1763
- dynamic: [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]
1764
- }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;font-size:inherit;}th.__jsx-style-dynamic-selector{padding:0 0.5em;font-size:calc(0.75 * var(--table-font-size));font-weight:normal;text-align:left;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;vertical-align:middle;min-height:calc(2.5 * var(--table-font-size));color:".concat(theme.palette.accents_5, ";background:").concat(theme.palette.accents_1, ";border-bottom:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-radius:0;}th.__jsx-style-dynamic-selector:nth-child(1){border-bottom:1px solid ").concat(theme.palette.border, ";border-left:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}th.__jsx-style-dynamic-selector:last-child{border-bottom:1px solid ").concat(theme.palette.border, ";border-right:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.thead-box.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:center;min-height:calc(2.5 * var(--table-font-size));text-transform:uppercase;}")));
1765
- };
1766
- TableHead.displayName = 'TableHead';
1767
-
1768
- var TableCell = function TableCell(_ref) {
1769
- var columns = _ref.columns,
1770
- row = _ref.row,
1771
- rowIndex = _ref.rowIndex,
1772
- emptyText = _ref.emptyText,
1773
- onCellClick = _ref.onCellClick;
1774
- /* eslint-disable react/jsx-no-useless-fragment */
1775
- return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(function (column, index) {
1776
- var currentRowValue = row[column.prop];
1777
- var cellValue = currentRowValue || emptyText;
1778
- var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
1779
- return /*#__PURE__*/React.createElement("td", {
1780
- style: _objectSpread2({
1781
- textAlign: "".concat(column === null || column === undefined ? undefined : column.align, " !important"),
1782
- p: 0,
1783
- color: "".concat(column === null || column === undefined ? undefined : column.color),
1784
- whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
1785
- }, currentRowValue === null || currentRowValue === undefined ? undefined : currentRowValue.style),
1786
- key: "row-td-".concat(index, "-").concat(column.prop.toString()),
1787
- onClick: function onClick() {
1788
- return onCellClick && onCellClick(currentRowValue, rowIndex, index);
1789
- },
1790
- className: column.className
1791
- }, /*#__PURE__*/React.createElement("div", {
1792
- className: "cell"
1793
- }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
1794
- }));
1795
- /* eslint-enable */
1796
- };
1797
-
1798
- /* "use client" */
1799
-
1800
- var defaultContext = {
1801
- columns: [],
1802
- updateColumn: function updateColumn() {}
1803
- };
1804
- var TableContext = /*#__PURE__*/React.createContext(defaultContext);
1805
- var useTableContext = function useTableContext() {
1806
- return React.useContext(TableContext);
1807
- };
1808
-
1809
1648
  var lodash$1 = {exports: {}};
1810
1649
 
1811
1650
  /**
@@ -19018,6 +18857,175 @@ function requireLodash () {
19018
18857
  var lodashExports = requireLodash();
19019
18858
  var _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
19020
18859
 
18860
+ var makeColgroup = function makeColgroup(width, columns) {
18861
+ var unsetWidthCount = columns.filter(function (c) {
18862
+ return !c.width;
18863
+ }).length;
18864
+ var customWidthTotal = columns.reduce(function (pre, current) {
18865
+ return current.width ? pre + current.width : pre;
18866
+ }, 0);
18867
+ var averageWidth = (width - customWidthTotal) / unsetWidthCount;
18868
+ if (averageWidth <= 0) return /*#__PURE__*/React.createElement("colgroup", null);
18869
+ return /*#__PURE__*/React.createElement("colgroup", null, columns.map(function (column, index) {
18870
+ return /*#__PURE__*/React.createElement("col", {
18871
+ key: "colgroup-".concat(index),
18872
+ width: column.width || averageWidth
18873
+ });
18874
+ }));
18875
+ };
18876
+ var TableHead = function TableHead(props) {
18877
+ var theme = useTheme();
18878
+ var _React$useState = React.useState({}),
18879
+ _React$useState2 = _slicedToArray(_React$useState, 2),
18880
+ filters = _React$useState2[0],
18881
+ setFilters = _React$useState2[1];
18882
+ var _ref = props,
18883
+ columns = _ref.columns,
18884
+ width = _ref.width,
18885
+ onFilters = _ref.onFilters;
18886
+ var isScalableWidth = React.useMemo(function () {
18887
+ return columns.find(function (item) {
18888
+ return !!item.width;
18889
+ });
18890
+ }, [columns]);
18891
+ var colgroup = React.useMemo(function () {
18892
+ if (!isScalableWidth) return /*#__PURE__*/React.createElement("colgroup", null);
18893
+ return makeColgroup(width, columns);
18894
+ }, [isScalableWidth, width]);
18895
+ var handleFilterChange = function handleFilterChange(e) {
18896
+ var _e$target = e.target,
18897
+ name = _e$target.name,
18898
+ value = _e$target.value;
18899
+ setFilters(function (prevFilters) {
18900
+ var updatedFilters = _objectSpread2(_objectSpread2({}, prevFilters), {}, _defineProperty({}, name, value));
18901
+ // Call onFiltersChange to propagate filter changes to the parent
18902
+ if (onFilters) {
18903
+ onFilters(updatedFilters);
18904
+ }
18905
+ return updatedFilters;
18906
+ });
18907
+ };
18908
+ var generateFilterInputs = function generateFilterInputs() {
18909
+ return columns.map(function (col) {
18910
+ var _String;
18911
+ var Header = col.label,
18912
+ accessor = col.filter,
18913
+ options = col.options;
18914
+ var filterName = (_String = String(col === null || col === undefined ? undefined : col.label)) === null || _String === undefined ? undefined : _String.replace(' ', '_').toLowerCase();
18915
+ var unq_accessor = _.uniqueId(filterName);
18916
+ if (accessor === 'fixed') {
18917
+ // Dropdown filter for categorical data (category, status)
18918
+ return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
18919
+ key: unq_accessor,
18920
+ name: filterName,
18921
+ value: filters[filterName],
18922
+ onChange: handleFilterChange
18923
+ }, /*#__PURE__*/React.createElement("option", {
18924
+ value: ""
18925
+ }, "All ", Header), options ? options.map(function (option) {
18926
+ return /*#__PURE__*/React.createElement("option", {
18927
+ value: option.value
18928
+ }, option.name);
18929
+ }) : null));
18930
+ }
18931
+ if (accessor === 'date') {
18932
+ // Date filter
18933
+ return /*#__PURE__*/React.createElement("th", {
18934
+ key: unq_accessor
18935
+ }, /*#__PURE__*/React.createElement("input", {
18936
+ type: "date",
18937
+ name: filterName,
18938
+ value: filters[filterName],
18939
+ onChange: handleFilterChange
18940
+ }));
18941
+ }
18942
+
18943
+ // Text search filter for other fields (like name)
18944
+ return /*#__PURE__*/React.createElement("th", null, /*#__PURE__*/React.createElement(Input, {
18945
+ id: "filter-search-".concat(filterName),
18946
+ htmlType: "text"
18947
+ // ref={filterRefs.current[filterName]} // Dynamically set ref}
18948
+ ,
18949
+ name: filterName,
18950
+ style: {
18951
+ height: 30,
18952
+ minWidth: 160
18953
+ },
18954
+ value: filters[filterName],
18955
+ onChange: handleFilterChange,
18956
+ placeholder: "Search...",
18957
+ fullWidth: true
18958
+ }));
18959
+ });
18960
+ };
18961
+ return /*#__PURE__*/React.createElement(React.Fragment, null, colgroup, /*#__PURE__*/React.createElement("thead", {
18962
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
18963
+ }, /*#__PURE__*/React.createElement("tr", {
18964
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
18965
+ }, columns.map(function (column, index) {
18966
+ return /*#__PURE__*/React.createElement("th", {
18967
+ key: "table-th-".concat(column.prop.toString(), "-").concat(index),
18968
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
18969
+ }, /*#__PURE__*/React.createElement("div", {
18970
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
18971
+ }, column.label, /*#__PURE__*/React.createElement("br", {
18972
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
18973
+ }), /*#__PURE__*/React.createElement("span", {
18974
+ style: {
18975
+ textAlign: 'center'
18976
+ },
18977
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
18978
+ }, column.text)));
18979
+ })), /*#__PURE__*/React.createElement("tr", {
18980
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
18981
+ }, generateFilterInputs())), /*#__PURE__*/React.createElement(_JSXStyle, {
18982
+ id: "134865897",
18983
+ dynamic: [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]
18984
+ }, "thead.__jsx-style-dynamic-selector{border-collapse:separate;border-spacing:0;font-size:inherit;}th.__jsx-style-dynamic-selector{padding:0 0.5em;font-size:calc(0.75 * var(--table-font-size));font-weight:normal;text-align:left;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;vertical-align:middle;min-height:calc(2.5 * var(--table-font-size));color:".concat(theme.palette.accents_5, ";background:").concat(theme.palette.accents_1, ";border-bottom:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-radius:0;}th.__jsx-style-dynamic-selector:nth-child(1){border-bottom:1px solid ").concat(theme.palette.border, ";border-left:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}th.__jsx-style-dynamic-selector:last-child{border-bottom:1px solid ").concat(theme.palette.border, ";border-right:1px solid ").concat(theme.palette.border, ";border-top:1px solid ").concat(theme.palette.border, ";border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.thead-box.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:center;min-height:calc(2.5 * var(--table-font-size));text-transform:uppercase;}")));
18985
+ };
18986
+ TableHead.displayName = 'TableHead';
18987
+
18988
+ var TableCell = function TableCell(_ref) {
18989
+ var columns = _ref.columns,
18990
+ row = _ref.row,
18991
+ rowIndex = _ref.rowIndex,
18992
+ emptyText = _ref.emptyText,
18993
+ onCellClick = _ref.onCellClick;
18994
+ /* eslint-disable react/jsx-no-useless-fragment */
18995
+ return /*#__PURE__*/React.createElement(React.Fragment, null, columns.map(function (column, index) {
18996
+ var currentRowValue = row[column.prop];
18997
+ var cellValue = currentRowValue || emptyText;
18998
+ var shouldBeRenderElement = column.renderHandler(currentRowValue, row, rowIndex);
18999
+ return /*#__PURE__*/React.createElement("td", {
19000
+ style: _objectSpread2({
19001
+ textAlign: "".concat(column === null || column === undefined ? undefined : column.align, " !important"),
19002
+ p: 0,
19003
+ color: "".concat(column === null || column === undefined ? undefined : column.color),
19004
+ whiteSpace: column !== null && column !== undefined && column.noWrap ? 'nowrap' : 'normal'
19005
+ }, currentRowValue === null || currentRowValue === undefined ? undefined : currentRowValue.style),
19006
+ key: "row-td-".concat(index, "-").concat(column.prop.toString()),
19007
+ onClick: function onClick() {
19008
+ return onCellClick && onCellClick(currentRowValue, rowIndex, index);
19009
+ },
19010
+ className: column.className
19011
+ }, /*#__PURE__*/React.createElement("div", {
19012
+ className: "cell"
19013
+ }, shouldBeRenderElement ? shouldBeRenderElement : cellValue));
19014
+ }));
19015
+ /* eslint-enable */
19016
+ };
19017
+
19018
+ /* "use client" */
19019
+
19020
+ var defaultContext = {
19021
+ columns: [],
19022
+ updateColumn: function updateColumn() {}
19023
+ };
19024
+ var TableContext = /*#__PURE__*/React.createContext(defaultContext);
19025
+ var useTableContext = function useTableContext() {
19026
+ return React.useContext(TableContext);
19027
+ };
19028
+
19021
19029
  var TableBody = function TableBody(_ref) {
19022
19030
  var data = _ref.data,
19023
19031
  hover = _ref.hover,
@@ -19073,6 +19081,7 @@ var TableBody = function TableBody(_ref) {
19073
19081
  return col.id;
19074
19082
  }).includes(ky);
19075
19083
  });
19084
+ console.log(frow);
19076
19085
  var isRowSelected = selected.indexOf(row) !== -1;
19077
19086
  return /*#__PURE__*/React.createElement("tr", {
19078
19087
  draggable: rowDraggable,
@@ -4,12 +4,14 @@ export type TableColumnRender<Item extends TableDataItemBase> = (value: Item[key
4
4
  export type TableAbstractColumn<TableDataItem> = {
5
5
  prop: keyof TableDataItem;
6
6
  label: React.ReactNode | string;
7
+ text?: React.ReactNode | string;
7
8
  filter?: string;
8
9
  className: string;
9
10
  width?: number;
10
11
  align?: string;
11
12
  color?: string;
12
13
  noWrap?: boolean;
14
+ options?: any[];
13
15
  renderHandler: TableColumnRender<TableDataItemBase>;
14
16
  };
15
17
  export type TableOnRowClick<TableDataItem> = (rowData: TableDataItem, rowIndex: number) => void;
@@ -80,6 +80,7 @@ var TableBody = function TableBody(_ref) {
80
80
  return col.id;
81
81
  }).includes(ky);
82
82
  });
83
+ console.log(frow);
83
84
  var isRowSelected = selected.indexOf(row) !== -1;
84
85
  return /*#__PURE__*/React.createElement("tr", {
85
86
  draggable: rowDraggable,
@@ -5,6 +5,7 @@ import _JSXStyle from "../styled-jsx.es.js";
5
5
  import React, { useMemo } from 'react';
6
6
  import useTheme from '../use-theme';
7
7
  import Input from '../input';
8
+ import _ from 'lodash';
8
9
  var makeColgroup = function makeColgroup(width, columns) {
9
10
  var unsetWidthCount = columns.filter(function (c) {
10
11
  return !c.width;
@@ -57,32 +58,33 @@ var TableHead = function TableHead(props) {
57
58
  return columns.map(function (col) {
58
59
  var _String;
59
60
  var Header = col.label,
60
- accessor = col.filter;
61
+ accessor = col.filter,
62
+ options = col.options;
61
63
  var filterName = (_String = String(col === null || col === void 0 ? void 0 : col.label)) === null || _String === void 0 ? void 0 : _String.replace(' ', '_').toLowerCase();
64
+ var unq_accessor = _.uniqueId(filterName);
62
65
  if (accessor === 'fixed') {
63
66
  // Dropdown filter for categorical data (category, status)
64
67
  return /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("select", {
65
- key: accessor,
66
- name: accessor,
67
- value: filters[accessor],
68
+ key: unq_accessor,
69
+ name: filterName,
70
+ value: filters[filterName],
68
71
  onChange: handleFilterChange
69
72
  }, /*#__PURE__*/React.createElement("option", {
70
73
  value: ""
71
- }, "All ", Header)));
74
+ }, "All ", Header), options ? options.map(function (option) {
75
+ return /*#__PURE__*/React.createElement("option", {
76
+ value: option.value
77
+ }, option.name);
78
+ }) : null));
72
79
  }
73
80
  if (accessor === 'date') {
74
81
  // Date filter
75
82
  return /*#__PURE__*/React.createElement("th", {
76
- key: accessor
77
- }, /*#__PURE__*/React.createElement("label", null, Header, " (From):"), /*#__PURE__*/React.createElement("input", {
83
+ key: unq_accessor
84
+ }, /*#__PURE__*/React.createElement("input", {
78
85
  type: "date",
79
- name: "startDate",
80
- value: filters.startDate,
81
- onChange: handleFilterChange
82
- }), /*#__PURE__*/React.createElement("label", null, "To:"), /*#__PURE__*/React.createElement("input", {
83
- type: "date",
84
- name: "endDate",
85
- value: filters.endDate,
86
+ name: filterName,
87
+ value: filters[filterName],
86
88
  onChange: handleFilterChange
87
89
  }));
88
90
  }
@@ -115,7 +117,14 @@ var TableHead = function TableHead(props) {
115
117
  className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + (column.className || "")
116
118
  }, /*#__PURE__*/React.createElement("div", {
117
119
  className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]]) + " " + "thead-box"
118
- }, column.label));
120
+ }, column.label, /*#__PURE__*/React.createElement("br", {
121
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
122
+ }), /*#__PURE__*/React.createElement("span", {
123
+ style: {
124
+ textAlign: 'center'
125
+ },
126
+ className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
127
+ }, column.text)));
119
128
  })), /*#__PURE__*/React.createElement("tr", {
120
129
  className: _JSXStyle.dynamic([["134865897", [theme.palette.accents_5, theme.palette.accents_1, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius, theme.palette.border, theme.palette.border, theme.palette.border, theme.layout.radius, theme.layout.radius]]])
121
130
  }, generateFilterInputs())), /*#__PURE__*/React.createElement(_JSXStyle, {
@@ -4,12 +4,14 @@ export type TableColumnRender<Item extends TableDataItemBase> = (value: Item[key
4
4
  export type TableAbstractColumn<TableDataItem> = {
5
5
  prop: keyof TableDataItem;
6
6
  label: React.ReactNode | string;
7
+ text?: React.ReactNode | string;
7
8
  filter?: string;
8
9
  className: string;
9
10
  width?: number;
10
11
  align?: string;
11
12
  color?: string;
12
13
  noWrap?: boolean;
14
+ options?: any[];
13
15
  renderHandler: TableColumnRender<TableDataItemBase>;
14
16
  };
15
17
  export type TableOnRowClick<TableDataItem> = (rowData: TableDataItem, rowIndex: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helpdice/ui",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "main": "dist/index.js",
5
5
  "types": "esm/index.d.ts",
6
6
  "unpkg": "dist/index.min.js",