@commonsku/styles 1.17.3 → 1.17.4
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.cjs +77 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.mjs +77 -9
- package/dist/index.mjs.map +1 -1
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/tables/SelectionTable.d.ts +8 -0
- package/dist/styles/tables/SelectionTable.d.ts.map +1 -0
- package/dist/styles/tables/VirtualTable.d.ts.map +1 -1
- package/dist/styles/tables/VirtualTableStyles.d.ts +1 -0
- package/dist/styles/tables/VirtualTableStyles.d.ts.map +1 -1
- package/dist/styles/tables/index.d.ts +1 -0
- package/dist/styles/tables/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -6634,6 +6634,8 @@ var VirtualTable = function (props) {
|
|
|
6634
6634
|
var _m = reactTable.useTable(__assign({ columns: columns, data: data, defaultColumn: defaultColumn, initialState: __assign({}, (defaultSort ? { sortBy: [defaultSort] } : {})), onUpdateData: onUpdateData }, useTableProps), reactTable.useFlexLayout, reactTable.useSortBy, reactTable.useExpanded), getTableProps = _m.getTableProps, getTableBodyProps = _m.getTableBodyProps, headerGroups = _m.headerGroups, footerGroups = _m.footerGroups, totalColumnsWidth = _m.totalColumnsWidth, prepareRow = _m.prepareRow, toggleAllRowsExpanded = _m.toggleAllRowsExpanded, tableData = __rest(_m, ["getTableProps", "getTableBodyProps", "headerGroups", "footerGroups", "totalColumnsWidth", "prepareRow", "toggleAllRowsExpanded"]);
|
|
6635
6635
|
var rows = React.useMemo(function () { return tableData.rows; }, [tableData.rows]);
|
|
6636
6636
|
var windowSize = useWindowSize();
|
|
6637
|
+
var _o = React.useState(false), scrolledToTop = _o[0], setScrolledToTop = _o[1];
|
|
6638
|
+
var _p = React.useState(false), scrolledToBottom = _p[0], setScrolledToBottom = _p[1];
|
|
6637
6639
|
var headerRef = React.useRef(null);
|
|
6638
6640
|
var footerRef = React.useRef(null);
|
|
6639
6641
|
var rowsRef = React.useRef(null);
|
|
@@ -6722,17 +6724,35 @@ var VirtualTable = function (props) {
|
|
|
6722
6724
|
], (headerGroupProps.className || "").split(' '), true), (headerGroup.className || "").split(' '), true).filter(function (v) { return v; }).join(' ');
|
|
6723
6725
|
return __assign(__assign({}, headerGroupProps), { style: headerStyles, className: headerClassNames });
|
|
6724
6726
|
};
|
|
6727
|
+
var handleScroll = React.useCallback(function (props) {
|
|
6728
|
+
if (onScroll != null) {
|
|
6729
|
+
onScroll(props);
|
|
6730
|
+
}
|
|
6731
|
+
var rows = rowsRef.current;
|
|
6732
|
+
if (rows != null) {
|
|
6733
|
+
setScrolledToTop(rows.scrollTop === 0);
|
|
6734
|
+
setScrolledToBottom(rows.scrollTop === rows.scrollHeight - rows.offsetHeight);
|
|
6735
|
+
}
|
|
6736
|
+
}, [onScroll]);
|
|
6725
6737
|
return (React__default.default.createElement("div", __assign({}, getTableProps(), { className: "table ".concat(className || '') }),
|
|
6726
6738
|
React__default.default.createElement("div", __assign({}, tableHeaderProps, { className: "thead ".concat(tableHeaderProps.className || ''), style: __assign(__assign({}, (tableHeaderProps.style || {})), (hideHeader ? { display: 'none' } : {})) }), headerGroups.map(function (headerGroup) { return (React__default.default.createElement("div", __assign({}, getHeaderGroupProps(headerGroup, false), { ref: headerRef, style: { width: tableWidth, } }), headerGroup.headers.map(function (column) { return (React__default.default.createElement("div", __assign({}, getHeaderProps(column, false), { className: "th", onClick: function () { return handleSort(column); } }),
|
|
6727
6739
|
column.render("Header"),
|
|
6728
|
-
React__default.default.createElement("span", null, column.
|
|
6740
|
+
React__default.default.createElement("span", null, column.canSort &&
|
|
6741
|
+
React__default.default.createElement(FilledChevronIcon, { direction: column.isSorted ? sortDirection(column) : 'updown', size: "medium", style: { verticalAlign: 'middle' } })))); }))); })),
|
|
6729
6742
|
React__default.default.createElement("div", __assign({ className: "tbody" }, getTableBodyProps()), rows.length === 0 && NoRowsFound ? React__default.default.createElement(NoRowsFound, null) :
|
|
6730
|
-
React__default.default.createElement(
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
6743
|
+
React__default.default.createElement("div", { className: "scroll-container" },
|
|
6744
|
+
!scrolledToTop &&
|
|
6745
|
+
React__default.default.createElement("div", { className: "scroll-decoration-top" },
|
|
6746
|
+
React__default.default.createElement(DoubleArrowIcon, { direction: "up" })),
|
|
6747
|
+
React__default.default.createElement(reactWindow.VariableSizeList, { useIsScrolling: true, className: "table-list-rows", height: height, itemCount: rows.length, itemSize: function (i) {
|
|
6748
|
+
if (itemSize) {
|
|
6749
|
+
return itemSize({ row: rows[i], index: i });
|
|
6750
|
+
}
|
|
6751
|
+
return (rows[i] && rows[i].isExpanded ? 300 : 50) + gutterSize;
|
|
6752
|
+
}, width: tableWidth, onScroll: handleScroll, ref: listRef, outerRef: rowsRef }, RenderRow),
|
|
6753
|
+
!scrolledToBottom &&
|
|
6754
|
+
React__default.default.createElement("div", { className: "scroll-decoration-bottom" },
|
|
6755
|
+
React__default.default.createElement(DoubleArrowIcon, { direction: "down" })))),
|
|
6736
6756
|
!hideFooter ? React__default.default.createElement("div", __assign({}, tableFooterProps, { className: "table-footer-wrapper ".concat(tableFooterProps.className || '') }), footerGroups.map(function (footerGroup) { return (React__default.default.createElement("div", __assign({}, getHeaderGroupProps(footerGroup, true), { className: "table-footer tr", ref: footerRef }), footerGroup.headers.map(function (column) { return (React__default.default.createElement("div", __assign({}, getHeaderProps(column, true)), column.render("Footer"))); }))); })) : null,
|
|
6737
6757
|
TableFooter ? React__default.default.createElement(TableFooter, __assign({}, customTableFooterProps)) : null));
|
|
6738
6758
|
};
|
|
@@ -6746,9 +6766,57 @@ function sortDirection(col) {
|
|
|
6746
6766
|
return "updown";
|
|
6747
6767
|
}
|
|
6748
6768
|
|
|
6749
|
-
var VirtualTableStyles = styled__default.default.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\npadding: 1rem;\n\n.table-list-rows {\n ", "\n}\n\n.table {\n display: inline-flex;\n flex-direction: column;\n ", "\n width: 100% !important;\n min-width: 100% !important;\n ", "\n\n .thead {\n padding-right: 15px;\n ", "\n\n .tr {\n overflow-x: hidden;\n min-width: 100%;\n }\n }\n\n .tbody {\n flex: 1 1 auto;\n height: 80vh;\n }\n\n .tr-group {\n display: flex;\n flex-direction: column;\n\n .tr, .tr-sub {\n width: 99%;\n }\n }\n\n .tr {\n display: flex;\n\n ", "\n }\n\n .tr.header {\n position: sticky;\n }\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n ", "\n }\n}"], ["\npadding: 1rem;\n\n.table-list-rows {\n ", "\n}\n\n.table {\n display: inline-flex;\n flex-direction: column;\n ", "\n width: 100% !important;\n min-width: 100% !important;\n ", "\n\n .thead {\n padding-right: 15px;\n ", "\n\n .tr {\n overflow-x: hidden;\n min-width: 100%;\n }\n }\n\n .tbody {\n flex: 1 1 auto;\n height: 80vh;\n }\n\n .tr-group {\n display: flex;\n flex-direction: column;\n\n .tr, .tr-sub {\n width: 99%;\n }\n }\n\n .tr {\n display: flex;\n\n ", "\n }\n\n .tr.header {\n position: sticky;\n }\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n ", "\n }\n}"])), function (p) { return p.rowClickable ? "\n .tr {\n cursor: pointer;\n }\n " : ''; }, function (p) { return p.bordered ? "\n border-spacing: 0;\n border: 1px solid black;\n " : ''; }, function (p) { return p.tableHeight ? "height: ".concat(p.tableHeight).concat(typeof p.tableHeight === 'number' ? 'px' : '', ";") : ''; }, function (p) { return p.bordered ? 'border-bottom: 1px solid #000;' : ''; }, function (p) { return p.bordered ? "\n :last-child {\n .td {\n border-bottom: 0;\n }\n }\n " : ''; }, function (p) { return p.bordered ? "\n border-bottom: 1px solid black;\n border-right: 1px solid black;\n :last-child {\n border-right: 0;\n }\n " : ''; });
|
|
6769
|
+
var VirtualTableStyles = styled__default.default.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\npadding: 1rem;\n\n.table-list-rows {\n ", "\n}\n\n.table {\n display: inline-flex;\n flex-direction: column;\n ", "\n width: 100% !important;\n min-width: 100% !important;\n ", "\n\n .thead {\n padding-right: 15px;\n ", "\n\n .tr {\n overflow-x: hidden;\n min-width: 100%;\n }\n }\n\n .tbody {\n flex: 1 1 auto;\n height: 80vh;\n }\n\n .tr-group {\n display: flex;\n flex-direction: column;\n\n .tr, .tr-sub {\n width: 99%;\n }\n }\n\n .tr {\n display: flex;\n\n ", "\n }\n\n .tr.header {\n position: sticky;\n }\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n ", "\n }\n}\n\n.scroll-container {\n position: relative;\n}\n\n.scroll-decoration-top, .scroll-decoration-bottom {\n", "\n}\n\n.scroll-decoration-top {\n background: linear-gradient(180deg, #DFEEF4 0%, rgba(166, 194, 198, 0.00) 100%);\n top: 0;\n}\n\n.scroll-decoration-bottom {\n background: linear-gradient(0deg, #DFEEF4 0%, rgba(166, 194, 198, 0.00) 100%);\n bottom: 0;\n}"], ["\npadding: 1rem;\n\n.table-list-rows {\n ", "\n}\n\n.table {\n display: inline-flex;\n flex-direction: column;\n ", "\n width: 100% !important;\n min-width: 100% !important;\n ", "\n\n .thead {\n padding-right: 15px;\n ", "\n\n .tr {\n overflow-x: hidden;\n min-width: 100%;\n }\n }\n\n .tbody {\n flex: 1 1 auto;\n height: 80vh;\n }\n\n .tr-group {\n display: flex;\n flex-direction: column;\n\n .tr, .tr-sub {\n width: 99%;\n }\n }\n\n .tr {\n display: flex;\n\n ", "\n }\n\n .tr.header {\n position: sticky;\n }\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n ", "\n }\n}\n\n.scroll-container {\n position: relative;\n}\n\n.scroll-decoration-top, .scroll-decoration-bottom {\n", "\n}\n\n.scroll-decoration-top {\n background: linear-gradient(180deg, #DFEEF4 0%, rgba(166, 194, 198, 0.00) 100%);\n top: 0;\n}\n\n.scroll-decoration-bottom {\n background: linear-gradient(0deg, #DFEEF4 0%, rgba(166, 194, 198, 0.00) 100%);\n bottom: 0;\n}"])), function (p) { return p.rowClickable ? "\n .tr {\n cursor: pointer;\n }\n " : ''; }, function (p) { return p.bordered ? "\n border-spacing: 0;\n border: 1px solid black;\n " : ''; }, function (p) { return p.tableHeight ? "height: ".concat(p.tableHeight).concat(typeof p.tableHeight === 'number' ? 'px' : '', ";") : ''; }, function (p) { return p.bordered ? 'border-bottom: 1px solid #000;' : ''; }, function (p) { return p.bordered ? "\n :last-child {\n .td {\n border-bottom: 0;\n }\n }\n " : ''; }, function (p) { return p.bordered ? "\n border-bottom: 1px solid black;\n border-right: 1px solid black;\n :last-child {\n border-right: 0;\n }\n " : ''; }, function (p) { return p.scrollDecoration ? "\n position: absolute;\n height: 48px;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000000000;\n pointer-events: none;\n" : "\n display: none;\n"; });
|
|
6750
6770
|
var templateObject_1$a;
|
|
6751
6771
|
|
|
6772
|
+
var SelectionTable = function (props) {
|
|
6773
|
+
var columns = props.columns, onSelectRow = props.onSelectRow;
|
|
6774
|
+
var _a = React.useState(props.data.map(function (row) { return (__assign({ selected: false }, row)); })), data = _a[0], setData = _a[1];
|
|
6775
|
+
var selectionState = React.useMemo(function () {
|
|
6776
|
+
return !data.some(function (row) { return row.selected === false; })
|
|
6777
|
+
? 'all'
|
|
6778
|
+
: data.some(function (row) { return row.selected === true; })
|
|
6779
|
+
? 'indeterminate'
|
|
6780
|
+
: 'none';
|
|
6781
|
+
}, [data]);
|
|
6782
|
+
var handleSelectHeader = React.useCallback(function () {
|
|
6783
|
+
switch (selectionState) {
|
|
6784
|
+
case 'none':
|
|
6785
|
+
setData(data.map(function (row) { return (__assign(__assign({}, row), { selected: true })); }));
|
|
6786
|
+
break;
|
|
6787
|
+
case 'all':
|
|
6788
|
+
case 'indeterminate':
|
|
6789
|
+
setData(data.map(function (row) { return (__assign(__assign({}, row), { selected: false })); }));
|
|
6790
|
+
break;
|
|
6791
|
+
}
|
|
6792
|
+
}, [data, selectionState]);
|
|
6793
|
+
var handleSelectRow = React.useCallback(function (rowIndex) {
|
|
6794
|
+
setData(function (prev) { return prev.map(function (row, index) {
|
|
6795
|
+
if (rowIndex !== index)
|
|
6796
|
+
return row;
|
|
6797
|
+
if (onSelectRow != null) {
|
|
6798
|
+
onSelectRow(row, rowIndex);
|
|
6799
|
+
}
|
|
6800
|
+
return __assign(__assign({}, row), { selected: rowIndex === index
|
|
6801
|
+
? !row.selected
|
|
6802
|
+
: row.selected });
|
|
6803
|
+
}); });
|
|
6804
|
+
}, [onSelectRow]);
|
|
6805
|
+
var selectionHeader = React.useMemo(function () { return (React__default.default.createElement(LabeledCheckbox, { label: "", checked: selectionState === 'all', indeterminate: selectionState === 'indeterminate', onChange: handleSelectHeader })); }, [selectionState, handleSelectHeader]);
|
|
6806
|
+
var selectionColumn = React.useMemo(function () { return ({
|
|
6807
|
+
Header: selectionHeader,
|
|
6808
|
+
accessor: 'selected',
|
|
6809
|
+
Cell: function (cellObj) {
|
|
6810
|
+
return (React__default.default.createElement(LabeledCheckbox, { label: "", checked: cellObj.row.original.selected, onChange: function () { return handleSelectRow(cellObj.row.index); } }));
|
|
6811
|
+
},
|
|
6812
|
+
sticky: 'left',
|
|
6813
|
+
noDrag: true,
|
|
6814
|
+
width: 40,
|
|
6815
|
+
disableSortBy: true,
|
|
6816
|
+
}); }, [handleSelectRow, selectionHeader]);
|
|
6817
|
+
return (React__default.default.createElement(VirtualTable, __assign({}, props, { columns: __spreadArray([selectionColumn], columns, true), data: data, minWidth: 40 })));
|
|
6818
|
+
};
|
|
6819
|
+
|
|
6752
6820
|
var psuedoSelectors = {
|
|
6753
6821
|
__after: '&:after',
|
|
6754
6822
|
__before: '&:before',
|
|
@@ -7979,6 +8047,7 @@ exports.SalesArrowIcon = SalesArrowIcon;
|
|
|
7979
8047
|
exports.SalesOrderCircleIcon = SalesOrderCircleIcon;
|
|
7980
8048
|
exports.SearchIcon = SearchIcon;
|
|
7981
8049
|
exports.Select = SKUSelect;
|
|
8050
|
+
exports.SelectionTable = SelectionTable;
|
|
7982
8051
|
exports.SharedStyles = SharedStyles;
|
|
7983
8052
|
exports.ShopIcon = ShopIcon;
|
|
7984
8053
|
exports.ShoppingCartIcon = ShoppingCartIcon;
|