@commonsku/styles 1.17.3 → 1.17.5

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 CHANGED
@@ -2798,6 +2798,24 @@ function SlideInIcon(_a) {
2798
2798
  React__default.default.createElement("path", { d: "M3 20.99L21 20.99C22.1 20.99 23 20.09 23 18.99L23 15L21 15L21 19.01L3 19.01L3 4.97999L21 4.97999L21 8.99999L23 8.99999L23 4.98999C23 3.88999 22.1 3.00999 21 3.00999L3 3.00999C1.9 3.00999 1 3.88999 1 4.98999L1 18.99C1 20.1 1.9 20.99 3 20.99ZM13 7.99999L9 12L13 16L13 13L23 13L23 11L13 11L13 7.99999ZM3 20.99L21 20.99C22.1 20.99 23 20.09 23 18.99L23 15L21 15L21 19.01L3 19.01L3 4.97999L21 4.97999L21 8.99999L23 8.99999L23 4.98999C23 3.88999 22.1 3.00999 21 3.00999L3 3.00999C1.9 3.00999 1 3.88999 1 4.98999L1 18.99C1 20.1 1.9 20.99 3 20.99ZM13 7.99999L9 12L13 16L13 13L23 13L23 11L13 11L13 7.99999Z", fill: color }));
2799
2799
  }
2800
2800
 
2801
+ function TagIcon(_a) {
2802
+ var _b = _a.color, color = _b === void 0 ? teal.main : _b, _c = _a.size, size = _c === void 0 ? "medium" : _c; _a.altText; var props = __rest(_a, ["color", "size", "altText"]);
2803
+ return React__default.default.createElement(SVG$1, __assign({ size: size, "aria-labelledby": "TagIcon" }, props),
2804
+ React__default.default.createElement("path", { fill: color, d: "M17.13 5.84c-.36-.51-.96-.84-1.63-.84l-11 .01c-1.1 0-2 .89-2 1.99v10c0 1.1.9 1.99 2 1.99l11 .01c.67 0 1.27-.33 1.63-.84L21.5 12l-4.37-6.16ZM15.5 17h-11V7h11l3.55 5-3.55 5Z" }));
2805
+ }
2806
+
2807
+ function MergeIcon(_a) {
2808
+ var _b = _a.color, color = _b === void 0 ? teal.main : _b, _c = _a.size, size = _c === void 0 ? "medium" : _c; _a.altText; var props = __rest(_a, ["color", "size", "altText"]);
2809
+ return React__default.default.createElement(SVG$1, __assign({ size: size, "aria-labelledby": "MergeIcon" }, props),
2810
+ React__default.default.createElement("path", { fill: color, d: "m17 20.455 1.41-1.41-3.41-3.41-1.41 1.41 3.41 3.41ZM7.5 8.045H11v5.59l-5.41 5.41L7 20.455l6-6v-6.41h3.5l-4.5-4.5-4.5 4.5Z" }));
2811
+ }
2812
+
2813
+ function DesignIcon(_a) {
2814
+ var _b = _a.color, color = _b === void 0 ? teal.main : _b, _c = _a.size, size = _c === void 0 ? "medium" : _c; _a.altText; var props = __rest(_a, ["color", "size", "altText"]);
2815
+ return React__default.default.createElement(SVG$1, __assign({ size: size, "aria-labelledby": "DesignIcon" }, props),
2816
+ React__default.default.createElement("path", { fill: color, d: "m16.239 11.51 1.57-1.57-3.75-3.75-1.57 1.57-4.14-4.13c-.78-.78-2.05-.78-2.83 0l-1.9 1.9c-.78.78-.78 2.05 0 2.83l4.13 4.13-4.6 4.61c-.1.1-.15.22-.15.36v3.04c0 .28.22.5.5.5h3.04c.13 0 .26-.05.35-.15l4.62-4.62 4.13 4.13c1.32 1.32 2.76.07 2.83 0l1.9-1.9c.78-.78.78-2.05 0-2.83l-4.13-4.12Zm-7.06-.44-4.14-4.13 1.89-1.9 1.27 1.27-.47.49a.996.996 0 1 0 1.41 1.41l.48-.48 1.45 1.45-1.89 1.89Zm7.88 7.89-4.13-4.13 1.9-1.9 1.45 1.45-.48.48a.996.996 0 1 0 1.41 1.41l.48-.48 1.27 1.27-1.9 1.9ZM20.709 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34c-.47-.47-1.12-.29-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83Z" }));
2817
+ }
2818
+
2801
2819
  var avatarSizes = {
2802
2820
  tiny: {
2803
2821
  size: '24px',
@@ -6634,6 +6652,8 @@ var VirtualTable = function (props) {
6634
6652
  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
6653
  var rows = React.useMemo(function () { return tableData.rows; }, [tableData.rows]);
6636
6654
  var windowSize = useWindowSize();
6655
+ var _o = React.useState(false), scrolledToTop = _o[0], setScrolledToTop = _o[1];
6656
+ var _p = React.useState(false), scrolledToBottom = _p[0], setScrolledToBottom = _p[1];
6637
6657
  var headerRef = React.useRef(null);
6638
6658
  var footerRef = React.useRef(null);
6639
6659
  var rowsRef = React.useRef(null);
@@ -6722,17 +6742,35 @@ var VirtualTable = function (props) {
6722
6742
  ], (headerGroupProps.className || "").split(' '), true), (headerGroup.className || "").split(' '), true).filter(function (v) { return v; }).join(' ');
6723
6743
  return __assign(__assign({}, headerGroupProps), { style: headerStyles, className: headerClassNames });
6724
6744
  };
6745
+ var handleScroll = React.useCallback(function (props) {
6746
+ if (onScroll != null) {
6747
+ onScroll(props);
6748
+ }
6749
+ var rows = rowsRef.current;
6750
+ if (rows != null) {
6751
+ setScrolledToTop(rows.scrollTop === 0);
6752
+ setScrolledToBottom(rows.scrollTop === rows.scrollHeight - rows.offsetHeight);
6753
+ }
6754
+ }, [onScroll]);
6725
6755
  return (React__default.default.createElement("div", __assign({}, getTableProps(), { className: "table ".concat(className || '') }),
6726
6756
  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
6757
  column.render("Header"),
6728
- React__default.default.createElement("span", null, column.isSorted ? React__default.default.createElement(FilledChevronIcon, { direction: sortDirection(column), size: "medium", style: { verticalAlign: 'middle' } }) : null))); }))); })),
6758
+ React__default.default.createElement("span", null, column.canSort &&
6759
+ React__default.default.createElement(FilledChevronIcon, { direction: column.isSorted ? sortDirection(column) : 'updown', size: "medium", style: { verticalAlign: 'middle' } })))); }))); })),
6729
6760
  React__default.default.createElement("div", __assign({ className: "tbody" }, getTableBodyProps()), rows.length === 0 && NoRowsFound ? React__default.default.createElement(NoRowsFound, null) :
6730
- React__default.default.createElement(reactWindow.VariableSizeList, { useIsScrolling: true, className: "table-list-rows", height: height, itemCount: rows.length, itemSize: function (i) {
6731
- if (itemSize) {
6732
- return itemSize({ row: rows[i], index: i });
6733
- }
6734
- return (rows[i] && rows[i].isExpanded ? 300 : 50) + gutterSize;
6735
- }, width: tableWidth, onScroll: onScroll, ref: listRef, outerRef: rowsRef }, RenderRow)),
6761
+ React__default.default.createElement("div", { className: "scroll-container" },
6762
+ !scrolledToTop &&
6763
+ React__default.default.createElement("div", { className: "scroll-decoration-top" },
6764
+ React__default.default.createElement(DoubleArrowIcon, { direction: "up" })),
6765
+ React__default.default.createElement(reactWindow.VariableSizeList, { useIsScrolling: true, className: "table-list-rows", height: height, itemCount: rows.length, itemSize: function (i) {
6766
+ if (itemSize) {
6767
+ return itemSize({ row: rows[i], index: i });
6768
+ }
6769
+ return (rows[i] && rows[i].isExpanded ? 300 : 50) + gutterSize;
6770
+ }, width: tableWidth, onScroll: handleScroll, ref: listRef, outerRef: rowsRef }, RenderRow),
6771
+ !scrolledToBottom &&
6772
+ React__default.default.createElement("div", { className: "scroll-decoration-bottom" },
6773
+ React__default.default.createElement(DoubleArrowIcon, { direction: "down" })))),
6736
6774
  !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
6775
  TableFooter ? React__default.default.createElement(TableFooter, __assign({}, customTableFooterProps)) : null));
6738
6776
  };
@@ -6746,9 +6784,57 @@ function sortDirection(col) {
6746
6784
  return "updown";
6747
6785
  }
6748
6786
 
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 " : ''; });
6787
+ 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
6788
  var templateObject_1$a;
6751
6789
 
6790
+ var SelectionTable = function (props) {
6791
+ var columns = props.columns, onSelectRow = props.onSelectRow;
6792
+ var _a = React.useState(props.data.map(function (row) { return (__assign({ selected: false }, row)); })), data = _a[0], setData = _a[1];
6793
+ var selectionState = React.useMemo(function () {
6794
+ return !data.some(function (row) { return row.selected === false; })
6795
+ ? 'all'
6796
+ : data.some(function (row) { return row.selected === true; })
6797
+ ? 'indeterminate'
6798
+ : 'none';
6799
+ }, [data]);
6800
+ var handleSelectHeader = React.useCallback(function () {
6801
+ switch (selectionState) {
6802
+ case 'none':
6803
+ setData(data.map(function (row) { return (__assign(__assign({}, row), { selected: true })); }));
6804
+ break;
6805
+ case 'all':
6806
+ case 'indeterminate':
6807
+ setData(data.map(function (row) { return (__assign(__assign({}, row), { selected: false })); }));
6808
+ break;
6809
+ }
6810
+ }, [data, selectionState]);
6811
+ var handleSelectRow = React.useCallback(function (rowIndex) {
6812
+ setData(function (prev) { return prev.map(function (row, index) {
6813
+ if (rowIndex !== index)
6814
+ return row;
6815
+ if (onSelectRow != null) {
6816
+ onSelectRow(row, rowIndex);
6817
+ }
6818
+ return __assign(__assign({}, row), { selected: rowIndex === index
6819
+ ? !row.selected
6820
+ : row.selected });
6821
+ }); });
6822
+ }, [onSelectRow]);
6823
+ var selectionHeader = React.useMemo(function () { return (React__default.default.createElement(LabeledCheckbox, { label: "", checked: selectionState === 'all', indeterminate: selectionState === 'indeterminate', onChange: handleSelectHeader })); }, [selectionState, handleSelectHeader]);
6824
+ var selectionColumn = React.useMemo(function () { return ({
6825
+ Header: selectionHeader,
6826
+ accessor: 'selected',
6827
+ Cell: function (cellObj) {
6828
+ return (React__default.default.createElement(LabeledCheckbox, { label: "", checked: cellObj.row.original.selected, onChange: function () { return handleSelectRow(cellObj.row.index); } }));
6829
+ },
6830
+ sticky: 'left',
6831
+ noDrag: true,
6832
+ width: 40,
6833
+ disableSortBy: true,
6834
+ }); }, [handleSelectRow, selectionHeader]);
6835
+ return (React__default.default.createElement(VirtualTable, __assign({}, props, { columns: __spreadArray([selectionColumn], columns, true), data: data, minWidth: 40 })));
6836
+ };
6837
+
6752
6838
  var psuedoSelectors = {
6753
6839
  __after: '&:after',
6754
6840
  __before: '&:before',
@@ -7856,6 +7942,7 @@ exports.DaysBodyWrapper = DaysBodyWrapper;
7856
7942
  exports.DefaultCalendarFooter = DefaultCalendarFooter;
7857
7943
  exports.DefaultCalendarHeader = DefaultCalendarHeader;
7858
7944
  exports.DefaultStar = DefaultStar;
7945
+ exports.DesignIcon = DesignIcon;
7859
7946
  exports.DollarIcon = DollarIcon;
7860
7947
  exports.DoneButton = DoneButton;
7861
7948
  exports.Dot = Dot;
@@ -7938,6 +8025,7 @@ exports.MagicIcon = MagicIcon;
7938
8025
  exports.MailIcon = MailIcon;
7939
8026
  exports.MarketingStatusIcon = MarketingStatusIcon;
7940
8027
  exports.MenuIcon = MenuIcon;
8028
+ exports.MergeIcon = MergeIcon;
7941
8029
  exports.MultiProgress = MultiProgress;
7942
8030
  exports.NavConnectIcon = NavConnectIcon;
7943
8031
  exports.NavFinanceIcon = NavFinanceIcon;
@@ -7979,6 +8067,7 @@ exports.SalesArrowIcon = SalesArrowIcon;
7979
8067
  exports.SalesOrderCircleIcon = SalesOrderCircleIcon;
7980
8068
  exports.SearchIcon = SearchIcon;
7981
8069
  exports.Select = SKUSelect;
8070
+ exports.SelectionTable = SelectionTable;
7982
8071
  exports.SharedStyles = SharedStyles;
7983
8072
  exports.ShopIcon = ShopIcon;
7984
8073
  exports.ShoppingCartIcon = ShoppingCartIcon;
@@ -8015,6 +8104,7 @@ exports.TabBar = TabBar;
8015
8104
  exports.Table = Table;
8016
8105
  exports.TableIcon = TableIcon;
8017
8106
  exports.Tabs = Tabs;
8107
+ exports.TagIcon = TagIcon;
8018
8108
  exports.TargetIcon = TargetIcon;
8019
8109
  exports.Task = Task;
8020
8110
  exports.TaskBody = TaskBody;