@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 +170 -161
- package/dist/table/index.js +170 -161
- package/dist/table/table-types.d.ts +2 -0
- package/esm/table/table-body.js +1 -0
- package/esm/table/table-head.js +24 -15
- package/esm/table/table-types.d.ts +2 -0
- package/package.json +1 -1
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,
|
package/dist/table/index.js
CHANGED
|
@@ -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;
|
package/esm/table/table-body.js
CHANGED
package/esm/table/table-head.js
CHANGED
|
@@ -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:
|
|
66
|
-
name:
|
|
67
|
-
value: filters[
|
|
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:
|
|
77
|
-
}, /*#__PURE__*/React.createElement("
|
|
83
|
+
key: unq_accessor
|
|
84
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
78
85
|
type: "date",
|
|
79
|
-
name:
|
|
80
|
-
value: filters
|
|
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;
|