@ceed/cds 1.27.0 → 1.27.1

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
@@ -2322,7 +2322,7 @@ var StyledTd = (0, import_joy25.styled)("td")(({ theme }) => ({
2322
2322
  var MotionSortIcon = (0, import_framer_motion17.motion)(import_ArrowUpwardRounded.default);
2323
2323
  var DefaultLoadingOverlay = () => /* @__PURE__ */ import_react19.default.createElement(import_joy25.LinearProgress, { value: 8, variant: "plain" });
2324
2324
  var DefaultNoRowsOverlay = () => /* @__PURE__ */ import_react19.default.createElement(import_joy25.Typography, { level: "body-sm", textColor: "text.tertiary" }, "No rows");
2325
- var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ import_react19.default.createElement(
2325
+ var Resizer = (ref, targetRef = ref, onResizeStateChange) => /* @__PURE__ */ import_react19.default.createElement(
2326
2326
  Box_default,
2327
2327
  {
2328
2328
  sx: {
@@ -2337,6 +2337,7 @@ var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ import_react19.default.c
2337
2337
  onMouseDown: (e) => {
2338
2338
  const initialX = e.clientX;
2339
2339
  const initialWidth = ref.current?.getBoundingClientRect().width;
2340
+ onResizeStateChange?.(true);
2340
2341
  const onMouseMove = (e2) => {
2341
2342
  if (initialWidth && initialX) {
2342
2343
  ref.current.style.width = `${initialWidth + (e2.clientX - initialX)}px`;
@@ -2346,6 +2347,7 @@ var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ import_react19.default.c
2346
2347
  const onMouseUp = () => {
2347
2348
  document.removeEventListener("mousemove", onMouseMove);
2348
2349
  document.removeEventListener("mouseup", onMouseUp);
2350
+ requestAnimationFrame(() => onResizeStateChange?.(false));
2349
2351
  };
2350
2352
  document.addEventListener("mousemove", onMouseMove);
2351
2353
  document.addEventListener("mouseup", onMouseUp);
@@ -2933,7 +2935,7 @@ var TextEllipsis = ({ children, lineClamp }) => {
2933
2935
  ro.observe(element);
2934
2936
  return () => ro.disconnect();
2935
2937
  }, [children, lineClamp]);
2936
- return /* @__PURE__ */ import_react24.default.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top", onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ import_react24.default.createElement(EllipsisDiv, { ref: textRef, lineClamp }, children));
2938
+ return /* @__PURE__ */ import_react24.default.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top" }, /* @__PURE__ */ import_react24.default.createElement(EllipsisDiv, { ref: textRef, lineClamp }, children));
2937
2939
  };
2938
2940
  var CellTextEllipsis = ({ children }) => {
2939
2941
  const textRef = (0, import_react24.useRef)(null);
@@ -2996,7 +2998,13 @@ var HeadCell = (props) => {
2996
2998
  () => `${tableId}_header_${headerName ?? field}`.trim(),
2997
2999
  [tableId, headerName, field]
2998
3000
  );
2999
- const resizer = (0, import_react24.useMemo)(() => resizable ?? true ? Resizer(ref, colRef) : null, [resizable, ref, colRef]);
3001
+ const isResizingRef = (0, import_react24.useRef)(false);
3002
+ const resizer = (0, import_react24.useMemo)(
3003
+ () => resizable ?? true ? Resizer(ref, colRef, (isResizing) => {
3004
+ isResizingRef.current = isResizing;
3005
+ }) : null,
3006
+ [resizable, ref, colRef]
3007
+ );
3000
3008
  const style = (0, import_react24.useMemo)(
3001
3009
  () => ({
3002
3010
  width,
@@ -3070,7 +3078,11 @@ var HeadCell = (props) => {
3070
3078
  key: field,
3071
3079
  style,
3072
3080
  onClick: (0, import_react24.useCallback)(
3073
- (e) => sortable && onSortChange?.({ field, currentSort: sort, multiple: e.shiftKey }),
3081
+ (e) => {
3082
+ if (isResizingRef.current) return;
3083
+ if (!(e.target instanceof Element) || !e.currentTarget.contains(e.target)) return;
3084
+ sortable && onSortChange?.({ field, currentSort: sort, multiple: e.shiftKey });
3085
+ },
3074
3086
  [field, onSortChange, sort, sortable]
3075
3087
  ),
3076
3088
  onMouseEnter: () => setIsHovered(true),
package/dist/index.js CHANGED
@@ -2196,7 +2196,7 @@ var StyledTd = styled8("td")(({ theme }) => ({
2196
2196
  var MotionSortIcon = motion17(SortIcon);
2197
2197
  var DefaultLoadingOverlay = () => /* @__PURE__ */ React17.createElement(LinearProgress, { value: 8, variant: "plain" });
2198
2198
  var DefaultNoRowsOverlay = () => /* @__PURE__ */ React17.createElement(Typography3, { level: "body-sm", textColor: "text.tertiary" }, "No rows");
2199
- var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ React17.createElement(
2199
+ var Resizer = (ref, targetRef = ref, onResizeStateChange) => /* @__PURE__ */ React17.createElement(
2200
2200
  Box_default,
2201
2201
  {
2202
2202
  sx: {
@@ -2211,6 +2211,7 @@ var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ React17.createElement(
2211
2211
  onMouseDown: (e) => {
2212
2212
  const initialX = e.clientX;
2213
2213
  const initialWidth = ref.current?.getBoundingClientRect().width;
2214
+ onResizeStateChange?.(true);
2214
2215
  const onMouseMove = (e2) => {
2215
2216
  if (initialWidth && initialX) {
2216
2217
  ref.current.style.width = `${initialWidth + (e2.clientX - initialX)}px`;
@@ -2220,6 +2221,7 @@ var Resizer = (ref, targetRef = ref) => /* @__PURE__ */ React17.createElement(
2220
2221
  const onMouseUp = () => {
2221
2222
  document.removeEventListener("mousemove", onMouseMove);
2222
2223
  document.removeEventListener("mouseup", onMouseUp);
2224
+ requestAnimationFrame(() => onResizeStateChange?.(false));
2223
2225
  };
2224
2226
  document.addEventListener("mousemove", onMouseMove);
2225
2227
  document.addEventListener("mouseup", onMouseUp);
@@ -2816,7 +2818,7 @@ var TextEllipsis = ({ children, lineClamp }) => {
2816
2818
  ro.observe(element);
2817
2819
  return () => ro.disconnect();
2818
2820
  }, [children, lineClamp]);
2819
- return /* @__PURE__ */ React22.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top", onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ React22.createElement(EllipsisDiv, { ref: textRef, lineClamp }, children));
2821
+ return /* @__PURE__ */ React22.createElement(Tooltip_default, { title: showTooltip ? children : "", placement: "top" }, /* @__PURE__ */ React22.createElement(EllipsisDiv, { ref: textRef, lineClamp }, children));
2820
2822
  };
2821
2823
  var CellTextEllipsis = ({ children }) => {
2822
2824
  const textRef = useRef5(null);
@@ -2879,7 +2881,13 @@ var HeadCell = (props) => {
2879
2881
  () => `${tableId}_header_${headerName ?? field}`.trim(),
2880
2882
  [tableId, headerName, field]
2881
2883
  );
2882
- const resizer = useMemo8(() => resizable ?? true ? Resizer(ref, colRef) : null, [resizable, ref, colRef]);
2884
+ const isResizingRef = useRef5(false);
2885
+ const resizer = useMemo8(
2886
+ () => resizable ?? true ? Resizer(ref, colRef, (isResizing) => {
2887
+ isResizingRef.current = isResizing;
2888
+ }) : null,
2889
+ [resizable, ref, colRef]
2890
+ );
2883
2891
  const style = useMemo8(
2884
2892
  () => ({
2885
2893
  width,
@@ -2953,7 +2961,11 @@ var HeadCell = (props) => {
2953
2961
  key: field,
2954
2962
  style,
2955
2963
  onClick: useCallback9(
2956
- (e) => sortable && onSortChange?.({ field, currentSort: sort, multiple: e.shiftKey }),
2964
+ (e) => {
2965
+ if (isResizingRef.current) return;
2966
+ if (!(e.target instanceof Element) || !e.currentTarget.contains(e.target)) return;
2967
+ sortable && onSortChange?.({ field, currentSort: sort, multiple: e.shiftKey });
2968
+ },
2957
2969
  [field, onSortChange, sort, sortable]
2958
2970
  ),
2959
2971
  onMouseEnter: () => setIsHovered(true),