@spscommerce/ds-react 6.21.0 → 6.22.0
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/lib/index.cjs.js +94 -94
- package/lib/index.es.js +59 -20
- package/package.json +9 -9
package/lib/index.es.js
CHANGED
|
@@ -25884,10 +25884,42 @@ const useColumnResizer = ({
|
|
|
25884
25884
|
const isResizeable = !!resizeable && !!resizeKey;
|
|
25885
25885
|
const initialColumnWidth = isResizeable ? resizeState == null ? void 0 : resizeState[resizeKey] : void 0;
|
|
25886
25886
|
React.useLayoutEffect(() => {
|
|
25887
|
+
var _a, _b;
|
|
25887
25888
|
let start = null;
|
|
25888
25889
|
let currentColumnWidth = initialColumnWidth;
|
|
25890
|
+
let resizerPosition = 0;
|
|
25889
25891
|
const table = findTableElementParent(tableHeaderRef.current);
|
|
25890
|
-
|
|
25892
|
+
const resizer = (_a = tableHeaderRef.current) == null ? void 0 : _a.querySelector(".sps-table__column-resizer");
|
|
25893
|
+
const resizerGuide = (_b = tableHeaderRef.current) == null ? void 0 : _b.querySelector(".sps-table__column-resizer-guide");
|
|
25894
|
+
function handleDragStart() {
|
|
25895
|
+
if (tableHeaderRef.current && start) {
|
|
25896
|
+
if (resizer) {
|
|
25897
|
+
resizer.style.backgroundColor = colors.blue200;
|
|
25898
|
+
}
|
|
25899
|
+
if (resizerGuide && table) {
|
|
25900
|
+
resizerGuide.style.height = `${table.getBoundingClientRect().height}px`;
|
|
25901
|
+
resizerGuide.style.display = "block";
|
|
25902
|
+
}
|
|
25903
|
+
if (table) {
|
|
25904
|
+
const tableHeaders = table.querySelectorAll("thead > tr > th");
|
|
25905
|
+
for (let i = 0; i < tableHeaders.length; i += 1) {
|
|
25906
|
+
const tableHeaderResizer = tableHeaders[i].querySelector(".sps-table__column-resizer");
|
|
25907
|
+
tableHeaders[i].style.cursor = "col-resize";
|
|
25908
|
+
if (tableHeaders[i] !== tableHeaderRef.current && tableHeaderResizer) {
|
|
25909
|
+
tableHeaders[i].classList.remove("sps-table__header--resizeable");
|
|
25910
|
+
tableHeaderResizer.style.display = "none";
|
|
25911
|
+
}
|
|
25912
|
+
}
|
|
25913
|
+
}
|
|
25914
|
+
}
|
|
25915
|
+
}
|
|
25916
|
+
function handleDragging() {
|
|
25917
|
+
if (tableHeaderRef.current && start && resizer && resizerGuide) {
|
|
25918
|
+
resizer.style.right = `${resizerPosition}px`;
|
|
25919
|
+
resizerGuide.style.right = `${resizerPosition}px`;
|
|
25920
|
+
}
|
|
25921
|
+
}
|
|
25922
|
+
function handleDragEnd() {
|
|
25891
25923
|
if (tableHeaderRef.current) {
|
|
25892
25924
|
const width = currentColumnWidth ? `${currentColumnWidth}px` : null;
|
|
25893
25925
|
tableHeaderRef.current.style.width = width;
|
|
@@ -25898,11 +25930,11 @@ const useColumnResizer = ({
|
|
|
25898
25930
|
tableHeaderBody.style.overflow = width ? "hidden" : null;
|
|
25899
25931
|
tableHeaderBody.style.textOverflow = width ? "ellipsis" : null;
|
|
25900
25932
|
}
|
|
25901
|
-
if (
|
|
25902
|
-
|
|
25903
|
-
|
|
25904
|
-
|
|
25905
|
-
|
|
25933
|
+
if (resizer && resizerGuide) {
|
|
25934
|
+
resizer.style.right = "0";
|
|
25935
|
+
resizer.style.backgroundColor = null;
|
|
25936
|
+
resizerGuide.style.right = "0";
|
|
25937
|
+
resizerGuide.style.display = "none";
|
|
25906
25938
|
}
|
|
25907
25939
|
if (!tableHeaderRef.current.classList.contains("sps-table__cell--pinned")) {
|
|
25908
25940
|
tableHeaderRef.current.style.position = "relative";
|
|
@@ -25911,6 +25943,12 @@ const useColumnResizer = ({
|
|
|
25911
25943
|
const tableHeaders = table.querySelectorAll("thead > tr > th");
|
|
25912
25944
|
for (let i = 0; i < tableHeaders.length; i += 1) {
|
|
25913
25945
|
const tableHeaderBody2 = tableHeaders[i].querySelector(".sps-table__header-cell-body");
|
|
25946
|
+
const tableHeaderResizer = tableHeaders[i].querySelector(".sps-table__column-resizer");
|
|
25947
|
+
tableHeaders[i].style.cursor = "default";
|
|
25948
|
+
if (tableHeaders[i] !== tableHeaderRef.current && tableHeaderResizer) {
|
|
25949
|
+
tableHeaders[i].classList.add("sps-table__header--resizeable");
|
|
25950
|
+
tableHeaderResizer.style.display = "block";
|
|
25951
|
+
}
|
|
25914
25952
|
if (tableHeaderBody2 && !tableHeaderBody2.title) {
|
|
25915
25953
|
tableHeaderBody2.title = tableHeaderBody2.textContent;
|
|
25916
25954
|
}
|
|
@@ -25933,19 +25971,21 @@ const useColumnResizer = ({
|
|
|
25933
25971
|
if (!tableHeaderRef.current) {
|
|
25934
25972
|
return;
|
|
25935
25973
|
}
|
|
25974
|
+
event.preventDefault();
|
|
25936
25975
|
start = event.clientX;
|
|
25937
25976
|
currentColumnWidth = tableHeaderRef.current.clientWidth;
|
|
25938
|
-
|
|
25977
|
+
handleDragStart();
|
|
25939
25978
|
};
|
|
25940
25979
|
const dragListener = (event) => {
|
|
25941
25980
|
if (!start || !tableHeaderRef.current) {
|
|
25942
25981
|
return;
|
|
25943
25982
|
}
|
|
25944
|
-
const delta = Math.max(Math.min(start - event.clientX,
|
|
25983
|
+
const delta = Math.max(Math.min(start - event.clientX, 40), -40);
|
|
25945
25984
|
if (delta !== 0) {
|
|
25946
25985
|
start = event.clientX;
|
|
25947
|
-
|
|
25948
|
-
|
|
25986
|
+
resizerPosition += delta;
|
|
25987
|
+
currentColumnWidth = Math.max(currentColumnWidth - delta, 40);
|
|
25988
|
+
handleDragging();
|
|
25949
25989
|
}
|
|
25950
25990
|
};
|
|
25951
25991
|
const dragEndListener = () => {
|
|
@@ -25953,16 +25993,13 @@ const useColumnResizer = ({
|
|
|
25953
25993
|
return;
|
|
25954
25994
|
}
|
|
25955
25995
|
start = null;
|
|
25956
|
-
|
|
25996
|
+
resizerPosition = 0;
|
|
25997
|
+
handleDragEnd();
|
|
25957
25998
|
setSingleResizeState(resizeKey, currentColumnWidth);
|
|
25958
|
-
const resizer = tableHeaderRef.current.querySelector(".sps-table__column-resizer");
|
|
25959
|
-
if (resizer) {
|
|
25960
|
-
resizer.style.backgroundColor = null;
|
|
25961
|
-
}
|
|
25962
25999
|
};
|
|
25963
26000
|
const doubleClickListener = () => {
|
|
25964
26001
|
currentColumnWidth = null;
|
|
25965
|
-
|
|
26002
|
+
handleDragEnd();
|
|
25966
26003
|
setSingleResizeState(resizeKey, currentColumnWidth);
|
|
25967
26004
|
};
|
|
25968
26005
|
if (isResizeable && resizerRef.current) {
|
|
@@ -25972,7 +26009,7 @@ const useColumnResizer = ({
|
|
|
25972
26009
|
window.addEventListener("mousemove", dragListener);
|
|
25973
26010
|
window.addEventListener("dragend", dragEndListener);
|
|
25974
26011
|
window.addEventListener("mouseup", dragEndListener);
|
|
25975
|
-
|
|
26012
|
+
handleDragEnd();
|
|
25976
26013
|
}
|
|
25977
26014
|
return () => {
|
|
25978
26015
|
if (resizerRef.current) {
|
|
@@ -26055,10 +26092,12 @@ function SpsTableHeader(_C) {
|
|
|
26055
26092
|
onClick: flipSort,
|
|
26056
26093
|
tabIndex: sortKey ? 0 : null,
|
|
26057
26094
|
onKeyDown: handleKeyEvent
|
|
26058
|
-
}, children), isResizeable && /* @__PURE__ */ React.createElement("span", {
|
|
26095
|
+
}, children), isResizeable && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", {
|
|
26059
26096
|
ref: resizerRef,
|
|
26060
26097
|
className: clsx("sps-table__column-resizer")
|
|
26061
|
-
})
|
|
26098
|
+
}), /* @__PURE__ */ React.createElement("span", {
|
|
26099
|
+
className: clsx("sps-table__column-resizer-guide")
|
|
26100
|
+
})));
|
|
26062
26101
|
}
|
|
26063
26102
|
Object.assign(SpsTableHeader, {
|
|
26064
26103
|
props: propsDoc$X,
|
|
@@ -38839,7 +38878,7 @@ function SpsMultiValueTextInput(_ma) {
|
|
|
38839
38878
|
"data-testid": `${testId}__multi-value-text-input`,
|
|
38840
38879
|
value: state.searchText,
|
|
38841
38880
|
className: "sps-text-input__input",
|
|
38842
|
-
placeholder: state.searchText.length === 0 ? placeholder : void 0,
|
|
38881
|
+
placeholder: state.searchText.length === 0 && value.length === 0 ? placeholder : void 0,
|
|
38843
38882
|
id: controlId,
|
|
38844
38883
|
onChange: handleChange,
|
|
38845
38884
|
onKeyDown: handleKeyDown,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spscommerce/ds-react",
|
|
3
3
|
"description": "SPS Design System React components",
|
|
4
|
-
"version": "6.
|
|
4
|
+
"version": "6.22.0",
|
|
5
5
|
"author": "SPS Commerce",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"repository": "https://github.com/spscommerce/design-system/tree/main/packages/@spscommerce/ds-react",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@react-stately/collections": "^3.3.3",
|
|
31
|
-
"@spscommerce/ds-colors": "6.
|
|
32
|
-
"@spscommerce/ds-illustrations": "6.
|
|
33
|
-
"@spscommerce/ds-shared": "6.
|
|
34
|
-
"@spscommerce/positioning": "6.
|
|
31
|
+
"@spscommerce/ds-colors": "6.22.0",
|
|
32
|
+
"@spscommerce/ds-illustrations": "6.22.0",
|
|
33
|
+
"@spscommerce/ds-shared": "6.22.0",
|
|
34
|
+
"@spscommerce/positioning": "6.22.0",
|
|
35
35
|
"@spscommerce/utils": "^6.11.3",
|
|
36
36
|
"moment": "^2.25.3",
|
|
37
37
|
"moment-timezone": "^0.5.28",
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@react-stately/collections": "^3.3.3",
|
|
43
|
-
"@spscommerce/ds-colors": "6.
|
|
44
|
-
"@spscommerce/ds-illustrations": "6.
|
|
45
|
-
"@spscommerce/ds-shared": "6.
|
|
46
|
-
"@spscommerce/positioning": "6.
|
|
43
|
+
"@spscommerce/ds-colors": "6.22.0",
|
|
44
|
+
"@spscommerce/ds-illustrations": "6.22.0",
|
|
45
|
+
"@spscommerce/ds-shared": "6.22.0",
|
|
46
|
+
"@spscommerce/positioning": "6.22.0",
|
|
47
47
|
"@spscommerce/utils": "^6.11.3",
|
|
48
48
|
"@testing-library/react": "^9.3.2",
|
|
49
49
|
"@types/prop-types": "^15.7.1",
|