publ-echo 0.0.92 → 0.0.94

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.
@@ -47,25 +47,34 @@ var GridItem = function (_a) {
47
47
  if (!targetNode || isDragging || isResizing) {
48
48
  return;
49
49
  }
50
+ var prevPaddingL = parseFloat(getComputedStyle(targetNode).paddingLeft);
51
+ var prevPaddingR = parseFloat(getComputedStyle(targetNode).paddingRight);
52
+ var prevPaddingT = parseFloat(getComputedStyle(targetNode).paddingTop);
53
+ var prevPaddingB = parseFloat(getComputedStyle(targetNode).paddingBottom);
50
54
  // MutationObserver 콜백 함수
51
55
  var callback = function (mutationsList) {
52
56
  for (var _i = 0, mutationsList_1 = mutationsList; _i < mutationsList_1.length; _i++) {
53
57
  var mutation = mutationsList_1[_i];
54
58
  var isCharacterChanged = mutation.type === 'characterData';
55
59
  var keepWidth = true;
60
+ var hasPaddingChanged = false;
56
61
  var height = isCharacterChanged ? mutation.target.parentNode.clientHeight : mutation.target.clientHeight;
57
62
  var width = targetNode.clientWidth;
58
63
  if (!isCharacterChanged && mutation.target instanceof Element) {
59
- var styles_1 = getComputedStyle(mutation.target);
60
- var minWidth_1 = parseFloat(styles_1.minWidth);
61
- if (minWidth_1 > width) {
64
+ var styles = getComputedStyle(mutation.target);
65
+ var minWidth = parseFloat(styles.minWidth);
66
+ if (minWidth > width) {
62
67
  keepWidth = false;
63
68
  }
69
+ // NOTE: POC
70
+ var paddingL = parseFloat(styles.paddingLeft);
71
+ var paddingR = parseFloat(styles.paddingRight);
72
+ var paddingT = parseFloat(styles.paddingTop);
73
+ var paddingB = parseFloat(styles.paddingBottom);
74
+ if (prevPaddingL !== paddingL || prevPaddingR !== paddingR || prevPaddingT !== paddingT || prevPaddingB !== paddingB) {
75
+ hasPaddingChanged = true;
76
+ }
64
77
  }
65
- var styles = getComputedStyle(mutation.target);
66
- var minWidth = parseFloat(styles.minWidth);
67
- console.log('out loop - width', width);
68
- console.log('minwidth', styles.minWidth);
69
78
  var prevW = props.w;
70
79
  var prevH = props.h;
71
80
  var _a = calcWH(getPositionParams(), {
@@ -82,7 +91,7 @@ var GridItem = function (_a) {
82
91
  if (prevH === h_1 && prevW === w_1 && newX === x && newY === y) {
83
92
  return;
84
93
  }
85
- props.onFitToContent && props.onFitToContent(i, w_1, h_1, newX, newY);
94
+ props.onFitToContent && props.onFitToContent(i, w_1, h_1, newX, newY, { hasPaddingChanged: hasPaddingChanged });
86
95
  }
87
96
  };
88
97
  // MutationObserver 인스턴스 생성
@@ -75,7 +75,9 @@ export type GridItemProps = {
75
75
  onResize?: ResizeGridItemCallback<GridResizeEvent>;
76
76
  onResizeStart?: ResizeGridItemCallback<GridResizeEvent>;
77
77
  onResizeStop?: ResizeGridItemCallback<GridResizeEvent>;
78
- onFitToContent?: (i: string, w: number, h: number, x: number, y: number) => void;
78
+ onFitToContent?: (i: string, w: number, h: number, x: number, y: number, { hasPaddingChanged }: {
79
+ hasPaddingChanged: boolean;
80
+ }) => void;
79
81
  isHiddenVisibility?: boolean;
80
82
  customColWidth?: number;
81
83
  autoResize: boolean;
@@ -333,8 +333,9 @@ var ReactGridLayout = function (_a) {
333
333
  setOldLayout(undefined);
334
334
  onLayoutMaybeChanged(newLayout, oldLayout);
335
335
  };
336
- var onFitToContentHandler = function (i, w, h, x, y) {
337
- var _a = withLayoutItem(layout, i, function (l) {
336
+ var onFitToContentHandler = function (i, w, h, x, y, _a) {
337
+ var hasPaddingChanged = _a.hasPaddingChanged;
338
+ var _b = withLayoutItem(layout, i, function (l) {
338
339
  var hasCollisions;
339
340
  if (preventCollision && !allowOverlap) {
340
341
  var collisions = getAllCollisions(layout, __assign(__assign({}, l), { w: x, h: y })).filter(function (layoutItem) { return layoutItem.i !== l.i; });
@@ -362,7 +363,7 @@ var ReactGridLayout = function (_a) {
362
363
  l.minH = h;
363
364
  }
364
365
  return l;
365
- }), newLayout = _a[0], l = _a[1];
366
+ }), newLayout = _b[0], l = _b[1];
366
367
  if (!l)
367
368
  return;
368
369
  props.onFitToContent &&
@@ -370,6 +371,7 @@ var ReactGridLayout = function (_a) {
370
371
  layout: newLayout,
371
372
  prev: oldResizeItem,
372
373
  item: l,
374
+ hasPaddingChanged: hasPaddingChanged
373
375
  });
374
376
  setLayout(allowOverlap ? newLayout : compact(newLayout, compactType, cols));
375
377
  };
@@ -71,7 +71,7 @@ export type ReactGridLayoutProps = {
71
71
  innerRef?: RefObject<HTMLDivElement>;
72
72
  minNbRow?: number;
73
73
  customColWidth?: number;
74
- onFitToContent?: EventCallback;
74
+ onFitToContent?: OnFitContentCallBack;
75
75
  };
76
76
  export type DragOverEvent = MouseEvent & {
77
77
  nativeEvent: {
@@ -79,6 +79,15 @@ export type DragOverEvent = MouseEvent & {
79
79
  layerY: number;
80
80
  } & Event;
81
81
  };
82
+ export type OnFitContentCallBack = (properties: {
83
+ layout: Layout;
84
+ prev?: LayoutItem;
85
+ item?: LayoutItem;
86
+ placeholder?: LayoutItem;
87
+ e?: ResizeEventType;
88
+ node?: HTMLElement;
89
+ hasPaddingChanged: boolean;
90
+ }) => void;
82
91
  export type EventCallback = (properties: {
83
92
  layout: Layout;
84
93
  prev?: LayoutItem;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "publ-echo",
3
- "version": "0.0.92",
3
+ "version": "0.0.94",
4
4
  "private": false,
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.js",