ninegrid2 6.699.0 → 6.701.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.
@@ -121131,38 +121131,35 @@ class nxSplitter extends HTMLElement {
121131
121131
  window.removeEventListener("mouseup", onUp);
121132
121132
  dragBar.remove();
121133
121133
 
121134
- const parentRect = parent.getBoundingClientRect();
121135
121134
  const splitterSize = this.#mode === "h" ? this.offsetWidth : this.offsetHeight;
121135
+ const parentSize = this.#mode === "h" ? parent.clientWidth : parent.clientHeight;
121136
121136
 
121137
121137
  const prev = this.previousElementSibling;
121138
121138
  const next = this.nextElementSibling;
121139
121139
  if (!prev || !next) return;
121140
121140
 
121141
121141
  const prevRect = prev.getBoundingClientRect();
121142
+ const nextOffset = this.#mode === "h" ? next.offsetLeft : next.offsetTop;
121142
121143
 
121143
- // 상대 위치 계산: prev 기준으로 얼마나 움직였는지
121144
+ // 📌 사용자의 드래그 위치 기준으로 prev 상대 거리 계산
121144
121145
  const delta = this.#mode === "h"
121145
121146
  ? e.clientX - prevRect.left
121146
121147
  : e.clientY - prevRect.top;
121147
121148
 
121148
- console.log(e.clientX, prevRect.left, delta);
121149
-
121149
+ // 📌 각 패널에 크기 반영
121150
121150
  if (this.#mode === "h") {
121151
121151
  prev.style.width = `${delta}px`;
121152
-
121153
- // next 너비는 전체 - prev의 offset - delta - splitter
121154
- next.style.width = `${parentRect.width - prevRect.left - delta - splitterSize}px`;
121152
+ next.style.width = `${parentSize - nextOffset - splitterSize}px`;
121155
121153
  } else {
121156
121154
  prev.style.height = `${delta}px`;
121157
- next.style.height = `${parentRect.height - prevRect.top - delta - splitterSize}px`;
121155
+ next.style.height = `${parentSize - nextOffset - splitterSize}px`;
121158
121156
  }
121159
-
121160
- console.log(e.clientX, prevRect.left, delta, prev.style.width);
121161
121157
  };
121162
121158
 
121163
121159
 
121164
121160
 
121165
121161
 
121162
+
121166
121163
  window.addEventListener("mousemove", onMove);
121167
121164
  window.addEventListener("mouseup", onUp);
121168
121165
  };
@@ -121127,38 +121127,35 @@ class nxSplitter extends HTMLElement {
121127
121127
  window.removeEventListener("mouseup", onUp);
121128
121128
  dragBar.remove();
121129
121129
 
121130
- const parentRect = parent.getBoundingClientRect();
121131
121130
  const splitterSize = this.#mode === "h" ? this.offsetWidth : this.offsetHeight;
121131
+ const parentSize = this.#mode === "h" ? parent.clientWidth : parent.clientHeight;
121132
121132
 
121133
121133
  const prev = this.previousElementSibling;
121134
121134
  const next = this.nextElementSibling;
121135
121135
  if (!prev || !next) return;
121136
121136
 
121137
121137
  const prevRect = prev.getBoundingClientRect();
121138
+ const nextOffset = this.#mode === "h" ? next.offsetLeft : next.offsetTop;
121138
121139
 
121139
- // 상대 위치 계산: prev 기준으로 얼마나 움직였는지
121140
+ // 📌 사용자의 드래그 위치 기준으로 prev 상대 거리 계산
121140
121141
  const delta = this.#mode === "h"
121141
121142
  ? e.clientX - prevRect.left
121142
121143
  : e.clientY - prevRect.top;
121143
121144
 
121144
- console.log(e.clientX, prevRect.left, delta);
121145
-
121145
+ // 📌 각 패널에 크기 반영
121146
121146
  if (this.#mode === "h") {
121147
121147
  prev.style.width = `${delta}px`;
121148
-
121149
- // next 너비는 전체 - prev의 offset - delta - splitter
121150
- next.style.width = `${parentRect.width - prevRect.left - delta - splitterSize}px`;
121148
+ next.style.width = `${parentSize - nextOffset - splitterSize}px`;
121151
121149
  } else {
121152
121150
  prev.style.height = `${delta}px`;
121153
- next.style.height = `${parentRect.height - prevRect.top - delta - splitterSize}px`;
121151
+ next.style.height = `${parentSize - nextOffset - splitterSize}px`;
121154
121152
  }
121155
-
121156
- console.log(e.clientX, prevRect.left, delta, prev.style.width);
121157
121153
  };
121158
121154
 
121159
121155
 
121160
121156
 
121161
121157
 
121158
+
121162
121159
  window.addEventListener("mousemove", onMove);
121163
121160
  window.addEventListener("mouseup", onUp);
121164
121161
  };
@@ -116,38 +116,35 @@ class nxSplitter extends HTMLElement {
116
116
  window.removeEventListener("mouseup", onUp);
117
117
  dragBar.remove();
118
118
 
119
- const parentRect = parent.getBoundingClientRect();
120
119
  const splitterSize = this.#mode === "h" ? this.offsetWidth : this.offsetHeight;
120
+ const parentSize = this.#mode === "h" ? parent.clientWidth : parent.clientHeight;
121
121
 
122
122
  const prev = this.previousElementSibling;
123
123
  const next = this.nextElementSibling;
124
124
  if (!prev || !next) return;
125
125
 
126
126
  const prevRect = prev.getBoundingClientRect();
127
+ const nextOffset = this.#mode === "h" ? next.offsetLeft : next.offsetTop;
127
128
 
128
- // 상대 위치 계산: prev 기준으로 얼마나 움직였는지
129
+ // 📌 사용자의 드래그 위치 기준으로 prev 상대 거리 계산
129
130
  const delta = this.#mode === "h"
130
131
  ? e.clientX - prevRect.left
131
132
  : e.clientY - prevRect.top;
132
133
 
133
- console.log(e.clientX, prevRect.left, delta);
134
-
134
+ // 📌 각 패널에 크기 반영
135
135
  if (this.#mode === "h") {
136
136
  prev.style.width = `${delta}px`;
137
-
138
- // next 너비는 전체 - prev의 offset - delta - splitter
139
- next.style.width = `${parentRect.width - prevRect.left - delta - splitterSize}px`;
137
+ next.style.width = `${parentSize - nextOffset - splitterSize}px`;
140
138
  } else {
141
139
  prev.style.height = `${delta}px`;
142
- next.style.height = `${parentRect.height - prevRect.top - delta - splitterSize}px`;
140
+ next.style.height = `${parentSize - nextOffset - splitterSize}px`;
143
141
  }
144
-
145
- console.log(e.clientX, prevRect.left, delta, prev.style.width);
146
142
  };
147
143
 
148
144
 
149
145
 
150
146
 
147
+
151
148
  window.addEventListener("mousemove", onMove);
152
149
  window.addEventListener("mouseup", onUp);
153
150
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ninegrid2",
3
3
  "type": "module",
4
- "version": "6.699.0",
4
+ "version": "6.701.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -116,38 +116,35 @@ class nxSplitter extends HTMLElement {
116
116
  window.removeEventListener("mouseup", onUp);
117
117
  dragBar.remove();
118
118
 
119
- const parentRect = parent.getBoundingClientRect();
120
119
  const splitterSize = this.#mode === "h" ? this.offsetWidth : this.offsetHeight;
120
+ const parentSize = this.#mode === "h" ? parent.clientWidth : parent.clientHeight;
121
121
 
122
122
  const prev = this.previousElementSibling;
123
123
  const next = this.nextElementSibling;
124
124
  if (!prev || !next) return;
125
125
 
126
126
  const prevRect = prev.getBoundingClientRect();
127
+ const nextOffset = this.#mode === "h" ? next.offsetLeft : next.offsetTop;
127
128
 
128
- // 상대 위치 계산: prev 기준으로 얼마나 움직였는지
129
+ // 📌 사용자의 드래그 위치 기준으로 prev 상대 거리 계산
129
130
  const delta = this.#mode === "h"
130
131
  ? e.clientX - prevRect.left
131
132
  : e.clientY - prevRect.top;
132
133
 
133
- console.log(e.clientX, prevRect.left, delta);
134
-
134
+ // 📌 각 패널에 크기 반영
135
135
  if (this.#mode === "h") {
136
136
  prev.style.width = `${delta}px`;
137
-
138
- // next 너비는 전체 - prev의 offset - delta - splitter
139
- next.style.width = `${parentRect.width - prevRect.left - delta - splitterSize}px`;
137
+ next.style.width = `${parentSize - nextOffset - splitterSize}px`;
140
138
  } else {
141
139
  prev.style.height = `${delta}px`;
142
- next.style.height = `${parentRect.height - prevRect.top - delta - splitterSize}px`;
140
+ next.style.height = `${parentSize - nextOffset - splitterSize}px`;
143
141
  }
144
-
145
- console.log(e.clientX, prevRect.left, delta, prev.style.width);
146
142
  };
147
143
 
148
144
 
149
145
 
150
146
 
147
+
151
148
  window.addEventListener("mousemove", onMove);
152
149
  window.addEventListener("mouseup", onUp);
153
150
  };